({navbar:document.getElementById("masthead"),headerInner:null,mobileToggle:null,primaryMenu:null,menuItems:[],init(){this.navbar&&(this.headerInner=this.navbar.querySelector(".header-inner"),this.mobileToggle=this.navbar.querySelector(".mobile-menu-toggle"),this.primaryMenu=this.navbar.querySelector(".spotlight-main-navigation .primary-menu"),this.menuItems=this.navbar.querySelectorAll(".spotlight-main-navigation .primary-menu > .menu-item-has-children"),this.addSubmenuToggleButtons(),this.setAriaAttributes(),this.focusPrimaryMenu(),this.events())},events(){null!==this.mobileToggle&&this.mobileToggle.addEventListener("click",()=>this.toggleMobileMenu()),this.menuItems.forEach(e=>{const t=e.querySelector(":scope > .submenu-toggle");t&&t.addEventListener("click",()=>{window.innerWidth<=1240&&this.toggleSubmenu(e)})}),document.addEventListener("click",e=>{this.navbar.contains(e.target)||this.closeAllSubmenus()}),document.addEventListener("keydown",e=>{"Escape"===e.key&&(this.closeAllSubmenus(),this.closeMobileMenu())}),this.navbar.querySelectorAll(".mega-menu-links > .menu-item[data-mega-index]").forEach(e=>{e.addEventListener("mouseenter",()=>this.updateMegaMenuImage(e)),e.addEventListener("focusin",()=>this.updateMegaMenuImage(e))})},toggleMobileMenu(){const e=this.headerInner.classList.toggle("menu-open");this.mobileToggle.setAttribute("aria-expanded",e?"true":"false"),document.body.classList.toggle("frozen",e)},closeMobileMenu(){this.headerInner.classList.contains("menu-open")&&this.mobileToggle&&(this.headerInner.classList.remove("menu-open"),this.mobileToggle.setAttribute("aria-expanded","false"),document.body.classList.remove("frozen"))},updateMegaMenuImage(e){const t=e.closest(".mega-menu-panel");if(!t)return;const s=e.getAttribute("data-mega-index");t.querySelectorAll(".mega-menu-img-slide").forEach(e=>{e.classList.toggle("is-active",e.getAttribute("data-mega-index")===s)})},addSubmenuToggleButtons(){this.menuItems.forEach((e,t)=>{const s=e.querySelector(":scope > a"),n=e.querySelector(":scope > .sub-menu")||e.querySelector(":scope > .mega-menu-panel");if(!s||!n||e.querySelector(":scope > .submenu-toggle"))return;n.id||(n.id=`${e.id||`menu-item-${t}`}-panel`);const i=document.createElement("button");i.type="button",i.className="submenu-toggle",i.setAttribute("aria-controls",n.id),i.setAttribute("aria-expanded","false"),i.setAttribute("aria-label",`Toggle ${s.textContent.trim()} submenu`),s.insertAdjacentElement("afterend",i)})},openSubmenu(e){e.classList.add("submenu-open");const t=e.querySelector(":scope > .submenu-toggle");t&&t.setAttribute("aria-expanded","true")},closeSubmenu(e){e.classList.remove("submenu-open");const t=e.querySelector(":scope > .submenu-toggle");t&&t.setAttribute("aria-expanded","false")},toggleSubmenu(e){const t=e.classList.contains("submenu-open");this.menuItems.forEach(t=>{t!==e&&this.closeSubmenu(t)}),t?this.closeSubmenu(e):this.openSubmenu(e)},closeAllSubmenus(){this.menuItems.forEach(e=>{this.closeSubmenu(e)}),this.clearFocusedMenuItems()},focusPrimaryMenu(){this.primaryMenu&&(this.primaryMenu.addEventListener("focusin",e=>{const t=e.target.closest("a");t&&this.primaryMenu.contains(t)&&this.setFocusedMenuItems(t)}),this.primaryMenu.addEventListener("focusout",()=>{window.requestAnimationFrame(()=>{const e=document.activeElement?.closest("a");e&&this.primaryMenu.contains(e)?this.setFocusedMenuItems(e):this.clearFocusedMenuItems()})}),this.primaryMenu.querySelectorAll(".menu-item").forEach(e=>{e.addEventListener("mouseenter",()=>{window.innerWidth>1240&&this.clearFocusedMenuItems()})}))},setFocusedMenuItems(e){if(!this.primaryMenu)return;this.clearFocusedMenuItems();let t=e.parentElement;for(;t&&t!==this.primaryMenu;)"LI"===t.tagName&&t.classList.add("focus"),t=t.parentElement},clearFocusedMenuItems(){this.primaryMenu&&this.primaryMenu.querySelectorAll(".focus").forEach(e=>{e.classList.remove("focus")})},setAriaAttributes(){this.menuItems.forEach(e=>{const t=e.querySelector(":scope > a"),s=e.querySelector(":scope > .submenu-toggle");t&&(t.setAttribute("aria-haspopup","true"),t.removeAttribute("aria-expanded")),s&&(s.setAttribute("aria-haspopup","true"),s.setAttribute("aria-expanded","false"))})}}).init();