(function($,window,document,undefined){var pluginName='jquery-focusable';var focusableElementsList=['a[href]','button:not([disabled])','area[href]','input:not([disabled])','select:not([disabled])','textarea:not([disabled])','iframe','object','embed','*[tabindex]','*[contenteditable]'];var focusableElementsSelector=focusableElementsList.join();var defaults={findNegativeTabindex:true,findPositiveTabindex:true};$.fn.focusable=function focusable(options){var opts=$.extend({},defaults,options);return $(this).first().find(focusableElementsSelector).filter(function(){return opts.findNegativeTabindex||($(this).attr('tabindex')!=='-1');}).filter(function(){return opts.findPositiveTabindex||($(this).attr('tabindex')>0===false);});};}(jQuery,window,document));(function($,window,document,undefined){var pluginName='jquery-keyboard-trap';var trapTemplate='
';var $topTrap=$(trapTemplate);var $outerTrapBefore=$(trapTemplate);var $innerTrapBefore=$(trapTemplate);var $innerTrapAfter=$(trapTemplate);var $outerTrapAfter=$(trapTemplate);var $botTrap=$(trapTemplate);var $trap;var $firstTabElement;var $lastTabElement;function setFocusToFirstFocusableElement(){$firstTabElement.focus();}
function setFocusToLastFocusableElement(){$lastTabElement.focus();}
$topTrap.on('focus',setFocusToFirstFocusableElement);$outerTrapBefore.on('focus',setFocusToFirstFocusableElement);$innerTrapBefore.on('focus',setFocusToLastFocusableElement);$innerTrapAfter.on('focus',setFocusToFirstFocusableElement);$outerTrapAfter.on('focus',setFocusToLastFocusableElement);$botTrap.on('focus',setFocusToLastFocusableElement);$.trapKeyboard=function trapKeyboard(el){var $focusable;$.untrapKeyboard();$trap=$(el);$focusable=$trap.focusable();$firstTabElement=$focusable.first();$lastTabElement=$focusable.last();$('body').prepend($topTrap);$outerTrapBefore.insertBefore($trap);$trap.prepend($innerTrapBefore);$trap.append($innerTrapAfter);$outerTrapAfter.insertAfter($trap);$('body').append($botTrap);$trap.addClass('keyboard-trap--active');$trap.trigger('keyboardTrap');return $trap;};$.untrapKeyboard=function untrapKeyboard(){if($trap!==undefined){$topTrap.detach();$outerTrapBefore.detach();$innerTrapBefore.detach();$innerTrapAfter.detach();$outerTrapAfter.detach();$botTrap.detach();$trap.off('focusExit');$trap.removeClass('keyboard-trap--active');$trap.trigger('keyboardUntrap');}
return $trap;};}(jQuery,window,document));(function($,window,document,undefined){var pluginName='jquery-screenreader-trap';var $mainEl;var $trappedEl;var $modifiedElements;$.trapScreenreader=function trapScreenReader(el){$mainEl=$('main, [role=main]');$.untrapScreenreader();$mainEl.attr('role','presentation');$trappedEl=$(el);var $siblings=$trappedEl.siblings(':not(script, [aria-hidden=true])');var $parents=$trappedEl.parents(':not(html, body)');var $parentsSiblings=$trappedEl.parents(':not(html, body)').siblings(':not(script, [aria-hidden=true])');$trappedEl.attr('aria-hidden','false');$siblings.attr('aria-hidden','true');$parents.attr('aria-hidden','false');$parentsSiblings.attr('aria-hidden','true');$modifiedElements=$trappedEl.add($siblings).add($parents).add($parentsSiblings);$trappedEl.trigger('screenreaderTrap');};$.untrapScreenreader=function untrapScreenReader(){if($trappedEl){$modifiedElements.removeAttr('aria-hidden');$trappedEl.trigger('screenreaderUntrap');$mainEl.attr('role','main');$trappedEl=null;}};}(jQuery,window,document));