1(function(_,g,S){g.behaviors.menuController={attach:function(y,k){S("menuController","body",y).forEach(function(o){const c=o.querySelectorAll(".main-nav .main-menu__link.has-submenu"),d=o.querySelectorAll(".main-nav [data-submenu]"),p=o.querySelector(".openMobileNav"),L=o.querySelector(".mobile-menu__close-btn"),l=o.querySelector(".mobile-menu"),i=o.querySelectorAll(".mobile-menu .main-menu__link.has-submenu"),f=o.querySelectorAll(".mobile-menu [data-submenu]"),q=o.querySelectorAll(".language-dropdown"),x=o.querySelectorAll(".c-submenu__item-title");function C(e){return e.closest("[data-submenu]")!==null}function m(e,t,n=null){e.forEach(a=>{a.classList.remove("open")}),t.forEach(a=>{a!==n&&(a.classList.remove("active"),a.setAttribute("aria-expanded","false"))})}function E(e,t,n,a){let u=null,r=!1;n.forEach(s=>{s.dataset.submenu===e&&!s.classList.contains("open")&&(r=!0)}),n.forEach(s=>{s.classList.remove("open")}),a.forEach(s=>{s.classList.remove("active"),s.setAttribute("aria-expanded","false")}),r&&n.forEach(s=>{s.dataset.submenu===e&&(u=s.dataset.submenu,s.classList.add("open"),t.setAttribute("aria-expanded","true"))}),I(u,a)}function I(e,t){e&&t.forEach(n=>{n.dataset.submenutarget===e?(n.classList.add("active"),n.setAttribute("aria-expanded","true")):(n.classList.remove("active"),n.setAttribute("aria-expanded","false"))})}function b(e,t,n){e.preventDefault();const a=e.currentTarget.dataset.submenutarget;a&&E(a,e.currentTarget,t,n)}function v(e){return function(t){t.keyCode===13&&e(t)}}function M(e){e.preventDefault();const t=document.activeElement;let n,a,u;if(t.classList.contains("has-submenu")){const r=t.dataset.submenutarget;if(!r)return;n=o.querySelector(`[data-submenu="${r}"]`),(!n||!n.classList.contains("open"))&&(E(r,t,t.closest(".mobile-menu")?f:d,t.closest(".mobile-menu")?i:c),n=o.querySelector(`[data-submenu="${r}"]`)),e.keyCode===40&&n&&(a=n.querySelectorAll('a, button, [tabindex="0"]'),a.length>0&&a[0].focus());return}if(n=t.closest("[data-submenu]"),!!n&&(a=Array.from(n.querySelectorAll('a, button, [tabindex="0"]')),u=a.indexOf(t),u!==-1))if(e.keyCode===38)if(u>0)a[u-1].focus();else{const r=n.dataset.submenu,s=o.querySelector(`[data-submenutarget="${r}"]`);s&&s.focus()}else e.keyCode===40&&u<a.length-1&&a[u+1].focus()}c.forEach(e=>{e.hasAttribute("aria-expanded")||e.setAttribute("aria-expanded","false"),e.addEventListener("focus",()=>{m(d,c,e)})}
1),i.forEach(e=>{e.hasAttribute("aria-expanded")||e.setAttribute("aria-expanded","false"),e.addEventListener("focus",()=>{m(f,i,e)})}),y.addEventListener("keydown",function(e){e.keyCode===27&&(m(d,c),m(f,i),q.forEach(t=>{t.classList.remove("open")}),l&&(l.classList.remove("open"),document.body.classList.remove("mobile-menu-open"))),(e.keyCode===38||e.keyCode===40)&&(document.activeElement.classList.contains("has-submenu")||C(document.activeElement))&&M(e)}),c.forEach(e=>{e.addEventListener("click",t=>b(t,d,c)),e.addEventListener("keydown",v(t=>b(t,d,c)))}),d.forEach(e=>{e.addEventListener("mouseleave",t=>w(t,e))}),i.forEach(e=>{e.addEventListener("click",t=>b(t,f,i)),e.addEventListener("keydown",v(t=>b(t,f,i)))}),x.forEach(e=>{e.addEventListener("click",()=>{m(f,i)})}),p&&l&&(p.addEventListener("click",h),p.addEventListener("keydown",v(h))),L&&l&&(L.addEventListener("click",A),L.addEventListener("keydown",v(A)));function w(e,t){if(e.preventDefault(),t.classList.contains("open")){t.classList.remove("open");const n=t.dataset.submenu,a=o.querySelector(`[data-submenutarget="${n}"]`);a&&a.setAttribute("aria-expanded","false")}}function h(e){e.preventDefault(),l.classList.add("open"),document.body.classList.add("mobile-menu-open")}function A(e){e.preventDefault(),l.classList.remove("open"),document.body.classList.remove("mobile-menu-open")}})}}})(jQuery,Drupal,once);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.