/** * Portal 9 Style Template — header nav behavior */ (function () { const header = document.querySelector(".site-header"); const menuToggle = document.querySelector(".menu-toggle"); const navMain = document.querySelector(".nav-main"); if (header) { window.addEventListener( "scroll", () => { header.classList.toggle("site-header--scrolled", window.scrollY > 40); }, { passive: true } ); } function setNavOpen(open) { if (!navMain || !menuToggle) return; navMain.classList.toggle("nav-open", open); menuToggle.setAttribute("aria-expanded", open ? "true" : "false"); document.body.classList.toggle("nav-scroll-lock", open); } if (menuToggle && navMain) { menuToggle.addEventListener("click", () => { setNavOpen(!navMain.classList.contains("nav-open")); }); navMain.querySelectorAll("a").forEach((link) => { link.addEventListener("click", () => { if (window.innerWidth <= 768) setNavOpen(false); }); }); } document.querySelectorAll(".nav-item--dropdown > .nav-dropdown-trigger").forEach((trigger) => { const parent = trigger.closest(".nav-item--dropdown"); trigger.addEventListener("click", (e) => { if (window.innerWidth <= 768) { e.preventDefault(); const open = parent.classList.toggle("is-open"); trigger.setAttribute("aria-expanded", open); } }); }); document.addEventListener("click", (e) => { if (!e.target.closest(".nav-item--dropdown")) { document.querySelectorAll(".nav-item--dropdown.is-open").forEach((el) => { el.classList.remove("is-open"); const t = el.querySelector(".nav-dropdown-trigger"); if (t) t.setAttribute("aria-expanded", "false"); }); } }); })();