"use strict";var basho=basho||{};function bashoDomReady(e){if("function"==typeof e)return"interactive"===document.readyState||"complete"===document.readyState?e():void document.addEventListener("DOMContentLoaded",e,!1)}basho.offcanvasNavigation={init:function(){var e=document.getElementById("offcanvas-navigation");e&&(this.shown(e),this.hidden(e),this.keepFocusInModal(e))},shown:function(e){UIkit.util.on(e,"shown",function(){e.querySelector("ul > li:first-of-type a").focus()})},hidden:function(e){UIkit.util.on(e,"hidden",function(){document.getElementById("offcanvas-navigation-toggle").focus()})},keepFocusInModal:function(d){var r=document;r.addEventListener("keydown",function(e){var t,n,o,a,i,s=r.activeElement;s&&r.body.classList.contains("uk-offcanvas-container")&&(t=d.querySelector(".uk-offcanvas-close"),n=d.querySelector("ul.offcanvas-navigation > li:first-of-type a"),o=d.querySelector("ul.offcanvas-navigation > li:last-of-type a"),a="Tab"===e.code,i=e.shiftKey,"Enter"===e.code&&s.parentNode.classList.contains("uk-parent")&&setTimeout(function(){s.parentNode.querySelector("a").focus()},250),!i&&a&&s.isSameNode(o)&&(e.preventDefault(),t.focus()),i&&a&&s.isSameNode(n)&&(e.preventDefault(),t.focus()),i&&a&&s.isSameNode(t)&&(e.preventDefault(),o.focus()))})}},basho.mainNavigation={init:function(){var e=document.getElementById("main-navigation");e&&this.handleKeyboardNavigation(e)},handleKeyboardNavigation:function(d){var r=document;r.addEventListener("keydown",function(e){var t,n,o,a,i,s=r.activeElement;s&&d.contains(s)&&(t=9===e.keyCode,n=e.shiftKey,o="ArrowDown"===e.code,a="ArrowUp"===e.code,i="Enter"===e.code,!n&&t&&s.parentNode.classList.contains("menu-item-has-children")&&!s.classList.contains("uk-open")&&(e.preventDefault(),UIkit.dropdown(s.nextElementSibling).show()),i&&s.parentNode.classList.contains("menu-item-has-children")&&(e.preventDefault(),window.location.href=s.href),!n&&o&&s.parentNode.classList.contains("menu-item-has-children")&&!s.classList.contains("uk-open")&&(e.preventDefault(),setTimeout(function(){s.nextElementSibling.querySelector(".uk-nav > li a").focus()},150),UIkit.dropdown(s.nextElementSibling).show()),!n&&t&&s.parentNode.classList.contains("menu-item-has-children")&&!s.classList.contains("uk-open")&&(e.preventDefault(),setTimeout(function(){s.nextElementSibling.querySelector(".uk-nav > li a").focus()},150),UIkit.dropdown(s.nextElementSibling).show()),!n&&t&&s.parentNode==s.parentNode.parentNode.lastElementChild&&s.parentNode.parentNode.classList.contains("sub-menu")&&(e.preventDefault(),setTimeout(function(){s.parentNode.parentNode.parentNode.parentNode.nextElementSibling.querySelector("a").focus()},150),UIkit.dropdown(s.parentNode.parentNode.parentNode).hide(!1)),!n&&a&&s.parentNode==s.parentNode.parentNode.firstElementChild&&s.parentNode.parentNode.classList.contains("sub-menu")&&(e.preventDefault(),setTimeout(function(){s.parentNode.parentNode.parentNode.parentNode.querySelector("a").focus()},150),UIkit.dropdown(s.parentNode.parentNode.parentNode).hide(!1)),n&&t&&s.parentNode==s.parentNode.parentNode.firstElementChild&&s.parentNode.parentNode.classList.contains("sub-menu")&&(e.preventDefault(),setTimeout(function(){s.parentNode.parentNode.parentNode.parentNode.querySelector("a").focus()},150),UIkit.dropdown(s.parentNode.parentNode.parentNode).hide(!1)))})}},basho.searchModal={init:function(){this.shown(),this.hidden(),this.keepFocusInModal()},shown:function(){UIkit.util.on("#search-modal","shown",function(){this.querySelector('input[type="search"]').focus()})},hidden:function(){UIkit.util.on("#search-modal","hidden",function(){document.getElementById("search-modal-toggle").focus()})},keepFocusInModal:function(){var r=document;r.addEventListener("keydown",function(e){var t,n,o,a,i,s,d=r.activeElement;d&&r.documentElement.classList.contains("uk-modal-page")&&(n=(t=r.getElementById("search-modal")).querySelector('input[type="search"]'),o=t.querySelector(".uk-modal-close-full"),a=t.querySelector('input[type="submit"]'),i=9===e.keyCode,!(s=e.shiftKey)&&i&&d.isSameNode(a)&&(e.preventDefault(),o.focus()),s&&i&&d.isSameNode(n)&&(e.preventDefault(),o.focus()),s&&i&&d.isSameNode(o)&&(e.preventDefault(),a.focus()))})}},bashoDomReady(function(){basho.offcanvasNavigation.init(),basho.mainNavigation.init(),basho.searchModal.init()});