PageSourceSearch

https://vu.nl/assets/js/webcomponents/header.js?v=e53c7939

js vu.nl collected 2026-10-01 07:46:01 UTC 48,807 bytes, 12 lines download raw bytes

1const headerTemplate=document.createElement("template");headerTemplate.innerHTML='\n    <div id="touch-layer"></div>\n    <header>\n        <slot name="logo"></slot>\n        <nav id="menu-bar">\n            <ul>\n                <slot name="links"></slot>\n            </ul>\n        </nav>\n        <nav id="buttons">\n            <slot name="buttons"></slot>\n        </nav>\n        <nav id="menu" style="display: none;">\n            <slot name="menu"></slot>\n        </nav>\n    </header>\n';const headerEventBus=new EventTarget,headerState={menuOpen:!1,loginMenuOpen:!1,activeSection:"-1"};class Header extends HTMLElement{constructor(){var e,t;super(),this.touchLayer=null,this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerTemplate.content.cloneNode(!0)),this.touchLayer=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#touch-layer"))||null}loadStyles(){var e;const t=document.createElement("style");t.textContent="header{position:sticky;top:0;z-index:900;background:#fff;height:calc(50/var(--base-font-size,16)*1rem);display:flex;justify-content:space-between;align-items:center;gap:calc(20/var(--base-font-size,16)*1rem);padding-block:calc(15/var(--base-font-size,16)*1rem);padding-inline:calc(175/var(--base-font-size,16)*1rem);box-shadow:0 0 calc(60/var(--base-font-size,16)*1rem) 0 rgba(0,0,0,.1)}@media(max-width:1599px){header{padding-inline:calc(20/var(--base-font-size,16)*1rem)}}@media(max-width:767px){header{height:calc(40/var(--base-font-size,16)*1rem)}}@media(max-width:1251px){header #menu-bar{display:none}}header #menu-bar ul{display:flex;gap:calc(30/var(--base-font-size,16)*1rem);list-style:none}header #buttons{display:flex;gap:calc(15/var(--base-font-size,16)*1rem)}@media(max-width:767px){header #buttons{gap:calc(2.5/var(--base-font-size,16)*1rem)}}@media(min-width:1252px){header #buttons ::slotted(vu-header-button[data-action=toggle-vu-menu]){display:none !important}}#menu{position:absolute;top:calc(80/var(--base-font-size,16)*1rem);width:calc(100% - 175/var(--base-font-size,16)*1rem - 175/var(--base-font-size,16)*1rem);box-shadow:0 0 calc(60/var(--base-font-size,16)*1rem) 0 rgba(0,0,0,.1);padding:0;margin:0}@media(max-width:1599px){#menu{margin-left:calc(20/var(--base-font-size,16)*1rem*-1);width:100%}}@media(max-width:1023px){#menu{top:0;height:100vh;width:100vw}}#touch-layer{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:850;background:rgba(0,0,0,0);display:none}",null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}connectedCallback(){var e;headerEventBus.addEventListener("toggle-vu-menu",this.toggleMenu.bind(this)),headerEventBus.addEventListener("menu-section-clicked",this.handleSectionClick.bind(this)),null===(e=this.touchLayer)||void 0===e||e.addEventListener("click",this.handleTouchLayerInteraction.bind(this))}disconnectedCallback(){var e;headerEventBus.removeEventListener("toggle-vu-menu",this.toggleMenu.bind(this)),headerEventBus.removeEventListener("menu-section-clicked",this.handleSectionClick.bind(this)),null===(e=this.touchLayer)||void 0===e||e.removeEventListener("click",this.handleTouchLayerInteraction.bind(this))}toggleMenu(){var e;headerState.menuOpen||"-1"!==headerState.activeSection||(headerState.activeSection="0",headerEventBus.dispatchEvent(new CustomEvent("menu-section-changed",{detail:{index:"0"}})));const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#menu");t&&(t.style.display="none"===t.style.display?"block":"none",headerState.menuOpen="block"===t.style.display,headerState.menuOpen?this.touchLayer.style.display="block":(this.touchLayer.style.display="none",headerState.activeSection="-1",headerEventBus.dispatchEvent(new CustomEvent("menu-section-changed",{detail:{index:"-1"}}))))}handleSectionClick(e){headerState.menuOpen?headerState.activeSection===e.detail.index?this.toggleMenu():(headerState.activeSection=e.detail.index,headerEventBus.dispatchEvent(new CustomEvent("menu-section-changed",{detail:{index:e.detail.index}}))):(headerState.activeSection=e.detail.index,headerEventBus.dispatchEvent(new CustomEvent("menu-section-changed",{detail:{index:e.detail.index}})),this.toggleMenu())}handleTouchLayerInteraction(){if(headerState.menuOpen){const e=new CustomEvent("toggle-vu-menu",{bubbles:!0,composed:!0});headerEventBus.dispatchEvent(e)}}}window.customElements.define("vu-header",Header);
2const headerButtonTemplate=document.createElement("template");headerButtonTemplate.innerHTML='\n    <div>\n        <button part="link">\n            <slot></slot>\n        </button>\n        <slot name="extended-content"></slot>\n    </div>\n';class HeaderButton extends HTMLElement{constructor(){var e;super(),this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerButtonTemplate.content.cloneNode(!0))}loadStyles(){var e;const t=document.createElement("style");t.textContent="div{display:flex;flex-direction:column}a,button{display:flex;justify-content:center;align-items:center;height:calc(50/var(--base-font-size,16)*1rem);
2width:calc(50/var(--base-font-size,16)*1rem);background-color:#f2efed;color:#333;text-decoration:none;border:none;font-size:calc(18/var(--base-font-size,16)*1rem);font-weight:400;cursor:pointer;white-space:nowrap}@media(max-width:767px){a,button{height:calc(40/var(--base-font-size,16)*1rem);width:calc(37.5/var(--base-font-size,16)*1rem)}}a.rounded-full,button.rounded-full{border-radius:50%}:host(.colored) [part=link]{color:#fff;background-color:var(--brand-color,#0077b3)}",null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}connectedCallback(){var e;this.updateAttributes();const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("button, a");null==t||t.addEventListener("click",this.handleClick.bind(this))}disconnectedCallback(){var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("button, a");null==t||t.removeEventListener("click",this.handleClick.bind(this))}static get observedAttributes(){return["href","data-action","rounded"]}attributeChangedCallback(e,t,o){t!==o&&this.updateAttributes()}updateAttributes(){var e,t,o;const n=this.getAttribute("href"),a=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("div"),i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("button, a"),d=null==i?void 0:i.querySelector("slot:not([name])");if(n){const e=document.createElement("a");e.href=n,e.setAttribute("part","link"),d&&e.appendChild(d),a&&a.replaceChild(e,i)}else{const e=document.createElement("button");e.setAttribute("part","link"),d&&e.appendChild(d),a&&a.replaceChild(e,i)}const r=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelector("button, a");if(r&&(this.hasAttribute("rounded")?r.classList.add("rounded-full"):r.classList.remove("rounded-full")),r){const e=this.getAttribute("data-action");e&&r.setAttribute("data-action",e)}}handleClick(e){const t=this.getAttribute("data-action");if(t)switch(t){case"toggle-vu-menu":window.dataLayer&&window.dataLayer.push({event:"header_click",header_section:"header hamburger",menu_interaction:"open"});const e=new CustomEvent("toggle-vu-menu",{bubbles:!0,composed:!0});headerEventBus.dispatchEvent(e);break;case"toggle-vu-login-menu":const o=new CustomEvent("toggle-vu-login-menu",{bubbles:!0,composed:!0});headerEventBus.dispatchEvent(o);break;case"click_header_search":window.dataLayer&&window.dataLayer.push({event:"click_header_search"});break;case"language_switch":window.dataLayer&&window.dataLayer.push({event:"language_switch",click_text:this.innerText});break;default:console.log(`Action ${t} not recognized.`)}}}window.customElements.define("vu-header-button",HeaderButton);
3const headerItemTemplate=document.createElement("template");headerItemTemplate.innerHTML="\n    <vu-header-section-item>\n        <slot></slot>\n    </vu-header-section-item>\n";class HeaderItem extends HTMLElement{constructor(){var e;super(),this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerItemTemplate.content.cloneNode(!0))}loadStyles(){var e;const t=document.createElement("style");t.textContent="",null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}connectedCallback(){var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("vu-header-section-item");t&&(t.setAttribute("data-index",this.getAttribute("data-index")||""),t.addEventListener("click",this.handleClick.bind(this)));const n=this.getAttribute("data-index"),a=this.innerText,d=new CustomEvent("data-available",{detail:{index:n,title:a},bubbles:!0,composed:!0});setTimeout((()=>{headerEventBus.dispatchEvent(d)}),0)}handleClick(e){if(window.dataLayer){const e=this.innerText.trim().toLowerCase();window.dataLayer.push({event:"header_click",header_section:"header item",menu_interaction:headerState.menuOpen?"open":"close",click_text:e})}}}window.customElements.define("vu-header-item",HeaderItem);
4const headerLoggedInAsBannerTemplate=document.createElement("template");headerLoggedInAsBannerTemplate.innerHTML='\n    <div id="login-as-wrapper">\n        <div class="login-as-banner-pointer" aria-hidden="true"></div>\n        <nav class="login-as-banner">\n            <a id="login-as-link">\n                <slot name="login-as-title"></slot>\n            </a>\n        </nav>\n    </div>\n';class HeaderLoggedInAsBanner extends HTMLElement{constructor(){var e;super(),this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerLoggedInAsBannerTemplate.content.cloneNode(!0))}loadStyles(){var e;const a=document.createElement("style");
4a.textContent=".login-as-banner{color:#fff;background-color:#cc4100;width:calc(335/var(--base-font-size,16)*1rem);padding-left:calc(15/var(--base-font-size,16)*1rem);padding-top:calc(15/var(--base-font-size,16)*1rem);padding-bottom:calc(15/var(--base-font-size,16)*1rem);position:absolute;box-shadow:0 0 calc(60/var(--base-font-size,16)*1rem) 0 rgba(0,0,0,.1);text-align:left;display:flex;align-items:center;transform:translate(calc(-1 * 205 / var(--base-font-size,16) * 1rem),calc(20 / var(--base-font-size,16) * 1rem))}.login-as-banner-pointer{position:absolute;border-width:0 calc(10/var(--base-font-size,16)*1rem) calc(10/var(--base-font-size,16)*1rem) calc(10/var(--base-font-size,16)*1rem);border-style:solid;border-color:#cc4100 transparent;filter:drop-shadow(0 calc(9 / var(--base-font-size, 16) * 1rem * -1) calc(5 / var(--base-font-size, 16) * 1rem) rgba(0, 0, 0, .1));transform:translate(calc(15 / var(--base-font-size,16) * 1rem),calc(10 / var(--base-font-size,16) * 1rem))}@media(max-width:1251px){.login-as-banner-pointer{transform:translate(calc(10 / var(--base-font-size,16) * 1rem),calc(10 / var(--base-font-size,16) * 1rem))}}#login-as-link{display:block;width:100%;height:100%;text-decoration:none;color:inherit}",null===(e=this.shadowRoot)||void 0===e||e.appendChild(a)}connectedCallback(){this.updateHref()}static get observedAttributes(){return["href"]}attributeChangedCallback(e,a,n){"href"===e&&a!==n&&this.updateHref()}updateHref(){var e;const a=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#login-as-link");a&&(a.href=this.getAttribute("href")||"#")}}window.customElements.define("vu-header-logged-in-as-banner",HeaderLoggedInAsBanner);
5const headerLoggedInMenuTemplate=document.createElement("template");headerLoggedInMenuTemplate.innerHTML='\n    <div id="login-menu-wrapper" style="display: none">\n        <div class="menu-pointer" aria-hidden="true"></div>\n        <nav class="login-menu" id="login-menu">\n            <div class="title-container">\n                <div class="title">\n                    <slot name="title"></slot>\n                    <slot name="user-info"></slot>\n                    <a id="logged-in-as-link">\n                        <slot name="logged-in-as"></slot>\n                    </a>\n                </div>\n                <div id="close-bar">\n                    <button id="close-button">\n                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">\x3c!--!Font Awesome Pro 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--\x3e<path d="M324.5 411.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 256 347.1 123.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4 59.6 100.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256 36.9 388.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 278.6 324.5 411.1z"/></svg>\n                    </button>\n                </div>\n            </div>\n            <div class="items">\n                <slot></slot>\n            </div>\n        </nav>\n    </div>\n';class HeaderLoggedInMenu extends HTMLElement{constructor(){var e,t,n,o;super(),this.closeButton=null,this.touchLayer=null,this.loggedInAsLink=null,this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerLoggedInMenuTemplate.content.cloneNode(!0)),this.closeButton=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#close-button"))||null,this.loggedInAsLink=(null===(n=this.shadowRoot)||void 0===n?void 0:n.querySelector("#logged-in-as-link"))||null;var i=document.querySelector("vu-header")||null;this.touchLayer=(null===(o=null==i?void 0:i.shadowRoot)||void 0===o?void 0:o.querySelector("#touch-layer"))||null}loadStyles(){var e;const t=document.createElement("style");t.textContent='.login-menu{color:#333;background-color:#f2efed;padding-left:calc(30/var(--base-font-size,16)*1rem);padding-bottom:calc(30/var(--base-font-size,16)*1rem);position:absolute;box-shadow:0 0 calc(60/var(--base-font-size,16)*1rem) 0 rgba(0,0,0,.1);z-index:1;justify-content:center;transform:translate(calc(-205 / var(--base-font-size,16) * 1rem),calc(20 / var(--base-font-size,16) * 1rem));overflow:hidden}.login-menu #close-bar{display:none;justify-content:flex-end}@media(max-width:1251px){.login-menu #close-bar{display:flex}}.login-menu #close-bar button{background-color:#fff;border:none;height:calc(30/var(--base-font-size,16)*1rem);
5width:calc(30/var(--base-font-size,16)*1rem);display:flex;justify-content:center;align-items:center;cursor:pointer}.login-menu #close-bar button svg{fill:var(--brand-color,#0073ad);width:calc(24/var(--base-font-size,16)*1rem);height:calc(24/var(--base-font-size,16)*1rem)}.menu-pointer{position:absolute;border-width:0 calc(10/var(--base-font-size,16)*1rem) calc(10/var(--base-font-size,16)*1rem) calc(10/var(--base-font-size,16)*1rem);border-style:solid;border-color:#f2efed transparent;filter:drop-shadow(0 calc(-9 / var(--base-font-size, 16) * 1rem) calc(5 / var(--base-font-size, 16) * 1rem) rgba(0, 0, 0, .1));transform:translate(calc(15 / var(--base-font-size,16) * 1rem),calc(10 / var(--base-font-size,16) * 1rem));z-index:2}.items{display:flex;flex-direction:column;margin-right:calc(30/var(--base-font-size,16)*1rem)}.title{font-weight:500;font-size:calc(20/var(--base-font-size,16)*1rem);padding-top:calc(30/var(--base-font-size,16)*1rem);padding-bottom:calc(15/var(--base-font-size,16)*1rem);border-bottom:calc(1/var(--base-font-size,16)*1rem) solid #d8d3d0}.title-container{display:block}@media(max-width:1251px){.title-container{display:flex;flex-direction:row}}.login-menu{width:calc(370/var(--base-font-size,16)*1rem);padding-right:calc(30/var(--base-font-size,16)*1rem)}@media(max-width:1251px){.login-menu{width:calc(270/var(--base-font-size,16)*1rem)}}@media(max-width:1251px){.login-menu #close-bar{margin-right:0;position:absolute;top:0;right:0}}@media(max-width:1251px){.menu-pointer{transform:translate(calc(10 / var(--base-font-size,16) * 1rem),calc(10 / var(--base-font-size,16) * 1rem))}}.items{width:100%}@media(max-width:1251px){.items{padding-right:0;box-sizing:border-box}}.title{margin-right:0;padding-bottom:0;width:100%;box-sizing:border-box}@media(max-width:1251px){.title{margin-right:calc(-30/var(--base-font-size,16)*1rem)}}::slotted([slot=user-info]){font-size:calc(16/var(--base-font-size,16)*1rem) !important;font-weight:300 !important}@media(max-width:1251px){::slotted([slot=user-info]){display:flex !important;flex-direction:column !important}}::slotted([slot=logged-in-as]){display:block !important;font-size:calc(18/var(--base-font-size,16)*1rem) !important;font-weight:400 !important;position:relative !important;background-color:#cc4100 !important;color:#fff !important;padding:calc(15/var(--base-font-size,16)*1rem) calc(20/var(--base-font-size,16)*1rem) !important;margin-bottom:calc(15/var(--base-font-size,16)*1rem) !important}::slotted([slot=logged-in-as])::before{content:"" !important;position:absolute !important;top:calc(-10/var(--base-font-size,16)*1rem) !important;left:calc(30/var(--base-font-size,16)*1rem) !important;border-width:0 calc(10/var(--base-font-size,16)*1rem) calc(10/var(--base-font-size,16)*1rem) calc(10/var(--base-font-size,16)*1rem) !important;border-style:solid !important;border-color:transparent transparent #cc4100 transparent !important}#logged-in-as-link{display:block;text-decoration:none;color:inherit;cursor:pointer;margin-top:calc(15/var(--base-font-size,16)*1rem);width:100%;max-width:100%;box-sizing:border-box}',null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}connectedCallback(){var e,t;null===(e=this.closeButton)||void 0===e||e.addEventListener("click",this.handleCloseButtonClick.bind(this)),window.addEventListener("keydown",this.handleEscapeKey.bind(this)),this.addEventListener("mouseleave",this.handleMouseLeave.bind(this)),this.addEventListener("mouseenter",this.handleMouseEnter.bind(this)),document.addEventListener("click",this.handleOutsideMouseClick.bind(this)),null===(t=this.touchLayer)||void 0===t||t.addEventListener("click",this.handleTouchLayerInteraction.bind(this)),this.updateLoggedInAsHref(),headerEventBus.addEventListener("toggle-vu-login-menu",this.toggleLoginMenu.bind(this))}disconnectedCallback(){var e,t;null===(e=this.closeButton)||void 0===e||e.removeEventListener("click",this.handleCloseButtonClick.bind(this)),window.removeEventListener("keydown",this.handleEscapeKey.bind(this)),this.removeEventListener("mouseleave",this.handleMouseLeave.bind(this)),this.removeEventListener("mouseenter",this.handleMouseEnter.bind(this)),document.removeEventListener("click",this.handleOutsideMouseClick.bind(this)),null===(t=this.touchLayer)||void 0===t||t.removeEventListener("click",this.handleTouchLayerInteraction.bind(this)),headerEventBus.removeEventListener("toggle-vu-login-menu",this.toggleLoginMenu.bind(this))}static get observedAttributes(){return["href"]}attributeChangedCallback(e,t,n){"href"===e&&t!==n&&this.updateLoggedInAsHref()}
5updateLoggedInAsHref(){if(this.loggedInAsLink){const e=this.getAttribute("href");e&&""!==e.trim()?(this.loggedInAsLink.href=e.trim(),this.loggedInAsLink.style.display="inline-block"):(this.loggedInAsLink.removeAttribute("href"),this.loggedInAsLink.style.display="none")}}toggleLoginMenu(e){var t;const n=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#login-menu-wrapper"),o=document.querySelector("vu-header-logged-in-as-banner");n&&(n.style.display="none"===n.style.display?"block":"none",headerState.loginMenuOpen="block"===n.style.display),o&&(o.style.display=headerState.loginMenuOpen?"none":"block"),headerState.loginMenuOpen?this.touchLayer&&(this.touchLayer.style.display="block"):this.touchLayer&&(this.touchLayer.style.display="none")}handleCloseButtonClick(){this.dispatchToggleLoginMenuEvent()}handleEscapeKey(e){headerState.loginMenuOpen&&"Escape"===e.key&&this.dispatchToggleLoginMenuEvent()}handleMouseEnter(e){this.loginMenuCloseTimeoutId&&(clearTimeout(this.loginMenuCloseTimeoutId),this.loginMenuCloseTimeoutId=void 0)}handleMouseLeave(e){this.loginMenuCloseTimeoutId=window.setTimeout((()=>{this.loginMenuCloseTimeoutId=void 0,headerState.loginMenuOpen&&this.dispatchToggleLoginMenuEvent()}),1500)}handleOutsideMouseClick(e){const t=document.querySelector("vu-header");if(t&&t.contains(e.target))return clearTimeout(this.loginMenuCloseTimeoutId),void(this.loginMenuCloseTimeoutId=void 0);this.loginMenuCloseTimeoutId&&headerState.loginMenuOpen&&(clearTimeout(this.loginMenuCloseTimeoutId),this.loginMenuCloseTimeoutId=void 0,this.dispatchToggleLoginMenuEvent())}handleTouchLayerInteraction(){headerState.loginMenuOpen&&this.dispatchToggleLoginMenuEvent()}dispatchToggleLoginMenuEvent(){headerEventBus.dispatchEvent(new CustomEvent("toggle-vu-login-menu",{bubbles:!0,composed:!0}))}}window.customElements.define("vu-header-logged-in-menu",HeaderLoggedInMenu);
6const headerLoginMenuTemplate=document.createElement("template");headerLoginMenuTemplate.innerHTML='\n    <div id="login-menu-wrapper" style="display: none">\n        <div class="menu-pointer" aria-hidden="true"></div>\n        <nav class="login-menu" id="login-menu">\n\n            <div class="title-container">\n                <div class="title">\n                    <slot name="title"></slot>\n                </div>\n                <div id="close-bar">\n                    <button id="close-button">\n                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">\x3c!--!Font Awesome Pro 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--\x3e<path d="M324.5 411.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 256 347.1 123.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4 59.6 100.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256 36.9 388.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 278.6 324.5 411.1z"/></svg>\n                    </button>\n                </div>\n            </div>\n\n            <div class="items">\n                <slot></slot>\n            </div>\n        </nav>\n    </div>\n';class HeaderLoginMenu extends HTMLElement{constructor(){var e,t,n;super(),this.closeButton=null,this.touchLayer=null,this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerLoginMenuTemplate.content.cloneNode(!0)),this.closeButton=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#close-button"))||null;var o=document.querySelector("vu-header")||null;this.touchLayer=(null===(n=o.shadowRoot)||void 0===n?void 0:n.querySelector("#touch-layer"))||null}loadStyles(){var e;const t=document.createElement("style");t.textContent=".login-menu{color:#333;background-color:#f2efed;padding-left:calc(30/var(--base-font-size,16)*1rem);padding-bottom:calc(30/var(--base-font-size,16)*1rem);position:absolute;box-shadow:0 0 calc(60/var(--base-font-size,16)*1rem) 0 rgba(0,0,0,.1);z-index:1;justify-content:center;transform:translate(calc(-205 / var(--base-font-size,16) * 1rem),calc(20 / var(--base-font-size,16) * 1rem));overflow:hidden}.login-menu #close-bar{display:none;justify-content:flex-end}@media(max-width:1251px){.login-menu #close-bar{display:flex}}.login-menu #close-bar button{background-color:#fff;border:none;height:calc(30/var(--base-font-size,16)*1rem);
6width:calc(30/var(--base-font-size,16)*1rem);display:flex;justify-content:center;align-items:center;cursor:pointer}.login-menu #close-bar button svg{fill:var(--brand-color,#0073ad);width:calc(24/var(--base-font-size,16)*1rem);height:calc(24/var(--base-font-size,16)*1rem)}.menu-pointer{position:absolute;border-width:0 calc(10/var(--base-font-size,16)*1rem) calc(10/var(--base-font-size,16)*1rem) calc(10/var(--base-font-size,16)*1rem);border-style:solid;border-color:#f2efed transparent;filter:drop-shadow(0 calc(-9 / var(--base-font-size, 16) * 1rem) calc(5 / var(--base-font-size, 16) * 1rem) rgba(0, 0, 0, .1));transform:translate(calc(15 / var(--base-font-size,16) * 1rem),calc(10 / var(--base-font-size,16) * 1rem));z-index:2}.items{display:flex;flex-direction:column;margin-right:calc(30/var(--base-font-size,16)*1rem)}.title{font-weight:500;font-size:calc(20/var(--base-font-size,16)*1rem);padding-top:calc(30/var(--base-font-size,16)*1rem);padding-bottom:calc(15/var(--base-font-size,16)*1rem);border-bottom:calc(1/var(--base-font-size,16)*1rem) solid #d8d3d0}.title-container{display:block}@media(max-width:1251px){.title-container{display:flex;flex-direction:row}}.login-menu{width:calc(270/var(--base-font-size,16)*1rem)}@media(max-width:1251px){.login-menu #close-bar{display:flex}}.title{margin-right:calc(30/var(--base-font-size,16)*1rem);width:calc(240/var(--base-font-size,16)*1rem)}@media(max-width:1251px){.title{margin-right:0}}",null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}connectedCallback(){var e,t;null===(e=this.closeButton)||void 0===e||e.addEventListener("click",this.handleCloseButtonClick.bind(this)),window.addEventListener("keydown",this.handleEscapeKey.bind(this)),this.addEventListener("mouseleave",this.handleMouseLeave.bind(this)),this.addEventListener("mouseenter",this.handleMouseEnter.bind(this)),document.addEventListener("click",this.handleOutsideMouseClick.bind(this)),null===(t=this.touchLayer)||void 0===t||t.addEventListener("click",this.handleTouchLayerInteraction.bind(this)),headerEventBus.addEventListener("toggle-vu-login-menu",this.toggleLoginMenu.bind(this))}disconnectedCallback(){var e,t;null===(e=this.closeButton)||void 0===e||e.removeEventListener("click",this.handleCloseButtonClick.bind(this)),window.removeEventListener("keydown",this.handleEscapeKey.bind(this)),this.removeEventListener("mouseleave",this.handleMouseLeave.bind(this)),this.removeEventListener("mouseenter",this.handleMouseEnter.bind(this)),document.removeEventListener("click",this.handleOutsideMouseClick.bind(this)),null===(t=this.touchLayer)||void 0===t||t.removeEventListener("click",this.handleTouchLayerInteraction.bind(this)),headerEventBus.addEventListener("toggle-vu-login-menu",this.toggleLoginMenu.bind(this))}toggleLoginMenu(e){var t;const n=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#login-menu-wrapper");n&&(n.style.display="none"===n.style.display?"block":"none",headerState.loginMenuOpen="block"===n.style.display),headerState.loginMenuOpen?this.touchLayer.style.display="block":this.touchLayer.style.display="none"}handleCloseButtonClick(){headerEventBus.dispatchEvent(new CustomEvent("toggle-vu-login-menu",{bubbles:!0,composed:!0}))}handleEscapeKey(e){headerState.loginMenuOpen&&"Escape"===e.key&&headerEventBus.dispatchEvent(new CustomEvent("toggle-vu-login-menu",{bubbles:!0,composed:!0}))}handleMouseEnter(e){this.loginMenuCloseTimeoutId&&(clearTimeout(this.loginMenuCloseTimeoutId),this.loginMenuCloseTimeoutId=void 0)}handleMouseLeave(e){this.loginMenuCloseTimeoutId=window.setTimeout((()=>{this.loginMenuCloseTimeoutId=void 0,headerState.loginMenuOpen&&headerEventBus.dispatchEvent(new CustomEvent("toggle-vu-login-menu",{bubbles:!0,composed:!0}))}),1500)}handleOutsideMouseClick(e){const t=document.querySelector("vu-header");if(t&&t.contains(e.target))return clearTimeout(this.loginMenuCloseTimeoutId),void(this.loginMenuCloseTimeoutId=void 0);this.loginMenuCloseTimeoutId&&headerState.loginMenuOpen&&(clearTimeout(this.loginMenuCloseTimeoutId),this.loginMenuCloseTimeoutId=void 0,headerEventBus.dispatchEvent(new CustomEvent("toggle-vu-login-menu",{bubbles:!0,composed:!0})))}handleTouchLayerInteraction(){if(headerState.loginMenuOpen){const e=new CustomEvent("toggle-vu-login-menu",{bubbles:!0,composed:!0});headerEventBus.dispatchEvent(e)}}}window.customElements.define("vu-header-login-menu",HeaderLoginMenu);
7const headerLoginMenuItemTemplate=document.createElement("template");headerLoginMenuItemTemplate.innerHTML='\n    <div>\n        <a href="#"><slot></slot></a>\n    </div>\n';class HeaderLoginMenuItem extends HTMLElement{constructor(){var e,t;super(),this.anchorElement=null,this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerLoginMenuItemTemplate.content.cloneNode(!0)),this.anchorElement=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("a"))||null}loadStyles(){var e;const t=document.createElement("style");t.textContent="a:hover{background-color:#fff}a{color:#333;text-decoration:none;font-size:calc(18/var(--base-font-size,16)*1rem);font-weight:400;line-height:calc(30/var(--base-font-size,16)*1rem);border-bottom:calc(1/var(--base-font-size,16)*1rem) solid #d8d3d0;padding-bottom:calc(15/var(--base-font-size,16)*1rem);padding-left:calc(15/var(--base-font-size,16)*1rem);padding-top:calc(15/var(--base-font-size,16)*1rem);display:block}:host-context(vu-header-logged-in-menu) a{width:calc(100% - 15/var(--base-font-size,16)*1rem)}",null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}static get observedAttributes(){return["href"]}attributeChangedCallback(e,t,n){t!==n&&"href"===e&&(this.href=n)}get href(){return this.getAttribute("href")}set href(e){e?(this.setAttribute("href",e),this.updateHref(e)):this.removeAttribute("href")}updateHref(e){this.anchorElement&&(this.anchorElement.href=e)}}window.customElements.define("vu-header-login-menu-item",HeaderLoginMenuItem);
8const headerLogoTemplate=document.createElement("template");headerLogoTemplate.innerHTML='\n    <a href="">\n        <img src="" alt="">\n    </a>\n';class HeaderLogo extends HTMLElement{static get observedAttributes(){return["src","alt","href"]}constructor(){var t;super(),this.attachShadow({mode:"open"}),this.loadStyles(),null===(t=this.shadowRoot)||void 0===t||t.appendChild(headerLogoTemplate.content.cloneNode(!0))}connectedCallback(){var t;this.updateAttributes();const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("a");e&&e.addEventListener("click",this.trackClick.bind(this))}attributeChangedCallback(t,e,a){e!==a&&this.updateAttributes()}loadStyles(){var t;const e=document.createElement("style");e.textContent="a{padding:calc(2.5/var(--base-font-size,16)*1rem);
8height:calc(40/var(--base-font-size,16)*1rem);display:block}img{height:100%;width:auto;max-width:100%;object-fit:contain}",null===(t=this.shadowRoot)||void 0===t||t.appendChild(e)}updateAttributes(){var t,e;const a=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("img"),o=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("a");a&&(a.src=this.getAttribute("src")||"",a.alt=this.getAttribute("alt")||""),o&&(o.href=this.getAttribute("href")||"")}trackClick(t){window.dataLayer&&window.dataLayer.push({event:"click_header_logo"})}}window.customElements.define("vu-header-logo",HeaderLogo);
9const headerMenuTemplate=document.createElement("template");headerMenuTemplate.innerHTML='\n    <nav>\n        <div id="close-bar">\n            <button id="close-button">\n                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">\x3c!--!Font Awesome Pro 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--\x3e<path d="M324.5 411.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 256 347.1 123.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4 59.6 100.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256 36.9 388.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 278.6 324.5 411.1z"/></svg>\n            </button>\n        </div>\n\n        <div id="section-bar">\n        </div>\n\n        <div id="sections">\n            <slot></slot>\n        </div>\n    </nav>\n';class HeaderMenu extends HTMLElement{constructor(){var e,t;super(),this.closeButton=null,this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerMenuTemplate.content.cloneNode(!0)),this.closeButton=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#close-button"))||null}loadStyles(){var e;const t=document.createElement("style");t.textContent="nav{color:#fff;background-color:var(--brand-color,#0077b3);padding:0;padding-bottom:calc(30/var(--base-font-size,16)*1rem);margin:0;width:100%;min-height:calc(375/var(--base-font-size,16)*1rem)}nav *{margin:0}@media(max-width:1023px){nav{height:100vh;overflow-y:scroll;overscroll-behavior:none}}@media(min-width:1252px){nav{min-height:calc(320/var(--base-font-size,16)*1rem)}}nav #close-bar{display:none;justify-content:flex-end}@media(max-width:1251px){nav #close-bar{display:flex}}@media(max-width:1023px){nav #close-bar{position:fixed;top:0;right:0}}nav #close-bar button{background-color:#fff;border:none;height:calc(50/var(--base-font-size,16)*1rem);width:calc(50/var(--base-font-size,16)*1rem);display:flex;justify-content:center;align-items:center;cursor:pointer}nav #close-bar button svg{fill:var(--brand-color,#0077b3);width:calc(24/var(--base-font-size,16)*1rem);height:calc(24/var(--base-font-size,16)*1rem)}@media(max-width:767px){nav #close-bar button{height:calc(40/var(--base-font-size,16)*1rem);width:calc(40/var(--base-font-size,16)*1rem)}}nav #section-bar{display:none}@media(min-width:1024px)and (max-width:1251px){nav #section-bar{display:flex;gap:calc(30/var(--base-font-size,16)*1rem);padding-inline:calc(20/var(--base-font-size,16)*1rem)}}nav #sections{display:flex;flex-direction:column;gap:calc(30/var(--base-font-size,16)*1rem);padding-top:calc(15/var(--base-font-size,16)*1rem)}@media(max-width:1023px){nav #sections{padding-bottom:calc(30/var(--base-font-size,16)*1rem)}}@media(min-width:1024px){nav #sections ::slotted(vu-header-menu-section:not([open])){display:none !important}}",null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}connectedCallback(){var e;headerEventBus.addEventListener("data-available",this.handleDataAvailable.bind(this)),null===(e=this.closeButton)||void 0===e||e.addEventListener("click",this.handleCloseButtonClick.bind(this)),window.addEventListener("keydown",this.handleEscapeKey.bind(this)),this.addEventListener("mouseleave",this.handleMouseLeave.bind(this)),this.addEventListener("mouseenter",this.handleMouseEnter.bind(this))}disconnectedCallback(){var e;headerEventBus.removeEventListener("data-available",this.handleDataAvailable.bind(this)),null===(e=this.closeButton)||void 0===e||e.removeEventListener("click",this.handleCloseButtonClick.bind(this)),window.removeEventListener("keydown",this.handleEscapeKey.bind(this)),this.removeEventListener("mouseleave",this.handleMouseLeave.bind(this)),this.removeEventListener("mouseenter",this.handleMouseEnter.bind(this))}handleDataAvailable(e){var t;const n=document.createElement("vu-header-section-item");n.setAttribute("data-index",e.detail.index),n.innerText=e.detail.title;const a=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#section-bar");a&&a.appendChild(n);const i=null==a?void 0:a.lastElementChild;i&&i.addEventListener("click",(()=>{window.dataLayer&&window.dataLayer.push({event:"header_click",header_section:"header item",menu_interaction:headerState.menuOpen?"open":"close",click_text:e.detail.title.trim().toLowerCase()}),headerEventBus.dispatchEvent(new CustomEvent("menu-section-changed",{detail:{index:e.detail.index}}))}))}handleCloseButtonClick(){window.dataLayer&&window.dataLayer.push({event:"header_click",header_section:"header hamburger",menu_interaction:"close"}),headerEventBus.dispatchEvent(new CustomEvent("toggle-vu-menu",{bubbles:!0,composed:!0}))}handleEscapeKey(e){headerState.menuOpen&&"Escape"===e.key&&headerEventBus.dispatchEvent(new CustomEvent("toggle-vu-menu",{bubbles:!0,composed:!0}))}handleMouseEnter(e){this.menuCloseTimeoutId&&(clearTimeout(this.menuCloseTimeoutId),this.menuCloseTimeoutId=void 0)}handleMouseLeave(e){this.menuCloseTimeoutId=window.setTimeout((()=>{this.menuCloseTimeoutId=void 0,headerState.menuOpen&&headerEventBus.dispatchEvent(new CustomEvent("toggle-vu-menu",{bubbles:!0,composed:!0}))}),1500)}}window.customElements.define("vu-header-menu",HeaderMenu);
10const headerMenuItemTemplate=document.createElement("template");headerMenuItemTemplate.innerHTML='\n    <div>\n        <a href="#">\n            <slot></slot>\n        </a>\n    </div>\n';class HeaderMenuItem extends HTMLElement{constructor(){var e,t;super(),this.anchorElement=null,this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerMenuItemTemplate.content.cloneNode(!0)),this.anchorElement=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("a"))||null}loadStyles(){var e;const t=document.createElement("style");t.textContent="a{color:#fff;text-decoration:none;line-height:calc(36/var(--base-font-size,16)*1rem);display:flex;flex-direction:column;gap:calc(15/var(--base-font-size,16)*1rem);
10width:calc(265/var(--base-font-size,16)*1rem)}@media(max-width:1251px){a{width:calc(231/var(--base-font-size,16)*1rem)}}@media(max-width:1023px){a{width:100%}}@media(max-width:767px){a{line-height:calc(27/var(--base-font-size,16)*1rem)}}a img{width:calc(265/var(--base-font-size,16)*1rem);height:calc(180/var(--base-font-size,16)*1rem);object-fit:cover}@media(max-width:1251px){a img{width:calc(231/var(--base-font-size,16)*1rem);height:calc(155/var(--base-font-size,16)*1rem)}}@media(max-width:1023px){a img{display:none}}a:hover{text-decoration:underline}",null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}connectedCallback(){var e;null===(e=this.anchorElement)||void 0===e||e.addEventListener("click",this.handleClick.bind(this))}handleClick(e){var t,i,a,r;const n=(null===(t=this.textContent)||void 0===t?void 0:t.trim().toLowerCase())||"";window.dataLayer&&window.dataLayer.push({event:"header_click",header_section:(null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector("img"))?"header menu item":"header menu list",menu_interaction:"click",click_text:n,click_url:(null===(a=this.href)||void 0===a?void 0:a.startsWith("/"))?`${window.location.origin}${this.href.toLowerCase()}`:null===(r=this.href)||void 0===r?void 0:r.toLowerCase()})}static get observedAttributes(){return["href","src"]}attributeChangedCallback(e,t,i){t!==i&&("href"===e?this.href=i:"src"===e&&(this.src=i))}get href(){return this.getAttribute("href")}set href(e){e?(this.setAttribute("href",e),this.updateHref(e)):this.removeAttribute("href")}get src(){return this.getAttribute("src")}set src(e){e?(this.setAttribute("src",e),this.updateSrc(e)):this.removeAttribute("src")}updateHref(e){this.anchorElement&&(this.anchorElement.href=e)}updateSrc(e){if(this.anchorElement){const t=this.anchorElement.querySelector("img");if(t)t.src=e;else{const t=document.createElement("img");t.src=e,this.anchorElement.insertBefore(t,this.anchorElement.firstChild)}}}}window.customElements.define("vu-header-menu-item",HeaderMenuItem);
11const headerMenuSectionTemplate=document.createElement("template");headerMenuSectionTemplate.innerHTML='\n    <details>\n        <summary>\n            <span>\n                <slot name="title"></slot>\n                <svg class="chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n                    <path d="M267.3 395.3c-6.2 6.2-16.4 6.2-22.6 0l-192-192c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L256 361.4 436.7 180.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-192 192z"/>\n                </svg>\n            </span>\n        </summary>\n        <ul>\n            <slot name="highlighted"></slot>\n            <div class="main">\n                <slot></slot>\n            </div>\n        </ul>\n        <hr>\n        <a id="more-link" href="#">\n            <span id="more-text">\n            </span>\n            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">\n                <path d="M440.6 273.4c4.7-4.5 7.4-10.8 7.4-17.4s-2.7-12.8-7.4-17.4l-176-168c-9.6-9.2-24.8-8.8-33.9 .8s-8.8 24.8 .8 33.9L364.1 232 24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l340.1 0L231.4 406.6c-9.6 9.2-9.9 24.3-.8 33.9s24.3 9.9 33.9 .8l176-168z"/>\n            </svg>\n        </a>\n    </details>\n';class HeaderMenuSection extends HTMLElement{constructor(){var e;super(),this.detailsElement=null,this.summaryElement=null,this.moreLinkElement=null,this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerMenuSectionTemplate.content.cloneNode(!0))}loadStyles(){var e;const t=document.createElement("style");t.textContent="@media(min-width:1024px){details:not([open]){display:none}details[open] summary{display:none}}details{padding-inline:calc(30/var(--base-font-size,16)*1rem)}@media(max-width:1251px){details{padding-inline:calc(20/var(--base-font-size,16)*1rem)}}details ul{list-style:none;display:flex;gap:calc(20/var(--base-font-size,16)*1rem);padding-inline-start:0;margin-block:calc(15/var(--base-font-size,16)*1rem)}@media(min-width:1252px){details ul{gap:calc(40/var(--base-font-size,16)*1rem)}}@media(max-width:1023px){details ul{flex-direction:column}}@media(max-width:767px){details ul{gap:calc(15/var(--base-font-size,16)*1rem)}}details .highlighted{display:flex;flex-direction:row}details ::slotted([slot=highlighted]){display:flex !important;gap:calc(30/var(--base-font-size,16)*1rem) !important}@media(max-width:1251px){details ::slotted([slot=highlighted]){gap:calc(20/var(--base-font-size,16)*1rem) !important}}@media(min-width:1024px){details ::slotted([slot=highlighted]){font-size:calc(24/var(--base-font-size,16)*1rem) !important}}@media(max-width:1023px){details ::slotted([slot=highlighted]){flex-direction:column !important}}@media(max-width:767px){details ::slotted([slot=highlighted]){gap:calc(15/var(--base-font-size,16)*1rem) !important}}details .main{display:flex;flex-direction:column;gap:calc(15/var(--base-font-size,16)*1rem)}@media(max-width:1251px){details .main{gap:calc(15/var(--base-font-size,16)*1rem)}}@media(max-width:1023px){details .main{gap:calc(20/var(--base-font-size,16)*1rem)}}@media(max-width:767px){details .main{gap:calc(15/var(--base-font-size,16)*1rem)}}details a{color:#fff;text-decoration:none;display:flex;gap:calc(15/var(--base-font-size,16)*1rem);align-items:center}details a svg{height:calc(18/var(--base-font-size,16)*1rem);
11width:calc(18/var(--base-font-size,16)*1rem);fill:#fff}details a:hover{text-decoration:underline}details summary{font-size:calc(24/var(--base-font-size,16)*1rem);font-weight:700;line-height:calc(36/var(--base-font-size,16)*1rem);list-style:none;display:flex;align-items:center;gap:calc(10/var(--base-font-size,16)*1rem)}details summary span{border-bottom:calc(1/var(--base-font-size,16)*1rem) transparent solid}details summary span:hover{cursor:pointer;border-bottom:calc(1/var(--base-font-size,16)*1rem) solid}details summary::-webkit-details-marker{display:none}summary .chevron{width:1em;height:1em;fill:currentColor;transition:transform .3s ease-in-out}details[open] summary span{border-bottom:calc(1/var(--base-font-size,16)*1rem) solid}details[open] summary .chevron{transform:rotate(-180deg)}hr{border:none;border-top:calc(1/var(--base-font-size,16)*1rem) solid #fff;width:100%;margin-block-start:calc(10/var(--base-font-size,16)*1rem);margin-block-end:calc(15/var(--base-font-size,16)*1rem)}@media(max-width:1023px){hr{margin-block-start:calc(10/var(--base-font-size,16)*1rem)}}@media(max-width:767px){hr{margin-block-start:calc(15/var(--base-font-size,16)*1rem)}}",null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}connectedCallback(){var e,t,i;this.detailsElement=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("details"),this.summaryElement=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("summary"),this.moreLinkElement=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector("#more-link");const a=this.getAttribute("data-index");this.summaryElement&&this.summaryElement.addEventListener("click",this.handleSummaryClick.bind(this)),this.moreLinkElement&&this.moreLinkElement.addEventListener("click",(()=>{var e,t,i;window.dataLayer&&window.dataLayer.push({event:"header_click",header_section:"header menu more text",menu_interaction:"click",click_text:null===(e=this.label)||void 0===e?void 0:e.trim().toLowerCase(),click_url:(null===(t=this.href)||void 0===t?void 0:t.startsWith("/"))?`${window.location.origin}${this.href.toLowerCase()}`:null===(i=this.href)||void 0===i?void 0:i.toLowerCase()})})),this.detailsElement&&this.detailsElement.addEventListener("toggle",(()=>{var e,t;(null===(e=this.detailsElement)||void 0===e?void 0:e.open)?this.setAttribute("open",""):this.removeAttribute("open"),(null===(t=this.detailsElement)||void 0===t?void 0:t.open)&&(headerEventBus.dispatchEvent(new CustomEvent("menu-section-changed",{detail:{index:a}})),headerState.activeSection=a)})),headerEventBus.addEventListener("menu-section-changed",(e=>{var t,i;a!==e.detail.index&&(null===(t=this.detailsElement)||void 0===t?void 0:t.open)?this.detailsElement.open=!1:a!==e.detail.index||(null===(i=this.detailsElement)||void 0===i?void 0:i.open)||this.detailsElement&&(this.detailsElement.open=!0)})),headerEventBus.addEventListener("data-available",(e=>{var t;if(this.getAttribute("data-index")===e.detail.index){((null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelectorAll('slot[name="title"]'))||[]).forEach((t=>{t.textContent=e.detail.title}))}}))}handleSummaryClick(e){var t;window.dataLayer&&this.detailsElement&&window.dataLayer.push({event:"header_click",header_section:"header item",menu_interaction:this.detailsElement.open?"close":"open",click_text:null===(t=this.summaryElement)||void 0===t?void 0:t.innerText.trim().toLowerCase()})}static get observedAttributes(){return["open","label","href"]}attributeChangedCallback(e,t,i){if(t!==i){if("open"===e&&this.detailsElement){const e=this.hasAttribute("open");this.detailsElement.open=e}"label"===e&&(this.label=i),"href"===e&&(this.href=i)}}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}get label(){return this.getAttribute("label")}set label(e){e?(this.setAttribute("label",e),this.updateLabel(e)):this.removeAttribute("label")}get href(){return this.getAttribute("href")}set href(e){e?(this.setAttribute("href",e),this.updateHref(e)):this.removeAttribute("href")}updateLabel(e){var t;const i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("#more-text");i&&(i.textContent=e)}updateHref(e){var t;const i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("a");i&&(i.href=e)}}window.customElements.define("vu-header-menu-section",HeaderMenuSection);
12const headerSectionItemTemplate=document.createElement("template");headerSectionItemTemplate.innerHTML='\n    <li tabindex="0">\n        <slot></slot>\n        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\x3c!--!Font Awesome Pro 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--\x3e<path d="M267.3 395.3c-6.2 6.2-16.4 6.2-22.6 0l-192-192c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L256 361.4 436.7 180.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-192 192z"/></svg>\n    </li>\n';class HeaderSectionItem extends HTMLElement{constructor(){var e,t;super(),this.dataIndex=-1,this.liElement=null,this.attachShadow({mode:"open"}),this.loadStyles(),null===(e=this.shadowRoot)||void 0===e||e.appendChild(headerSectionItemTemplate.content.cloneNode(!0)),this.liElement=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("li"))||null}loadStyles(){var e;const t=document.createElement("style");t.textContent="li{font-weight:700;font-size:calc(18/var(--base-font-size,16)*1rem);display:flex;gap:calc(10/var(--base-font-size,16)*1rem);align-items:center;box-sizing:border-box;
12cursor:pointer;border-bottom:calc(1/var(--base-font-size,16)*1rem) transparent solid}li svg{height:calc(18/var(--base-font-size,16)*1rem);width:calc(18/var(--base-font-size,16)*1rem);transition:transform .3s ease-in-out}@media(min-width:1024px)and (max-width:1251px){li{font-size:calc(24/var(--base-font-size,16)*1rem)}li svg{fill:#fff}}li:hover{border-bottom:calc(1/var(--base-font-size,16)*1rem) solid}.active{border-bottom:calc(1/var(--base-font-size,16)*1rem) solid}.active svg{transform:rotate(-180deg)}",null===(e=this.shadowRoot)||void 0===e||e.appendChild(t)}connectedCallback(){var e,t;this.dataIndex=parseInt(this.getAttribute("data-index")||"-1"),null===(e=this.liElement)||void 0===e||e.addEventListener("click",this.handleSectionClick.bind(this)),null===(t=this.liElement)||void 0===t||t.addEventListener("keydown",this.handleSectionEnter.bind(this)),headerEventBus.addEventListener("menu-section-changed",this.handleMenuSectionChanged.bind(this))}handleSectionClick(e){headerEventBus.dispatchEvent(new CustomEvent("menu-section-clicked",{detail:{index:this.getAttribute("data-index")}}))}handleSectionEnter(e){this.liElement&&"Enter"===e.key&&(e.preventDefault(),this.liElement.click())}handleMenuSectionChanged(e){this.liElement&&(parseInt(e.detail.index)===this.dataIndex?this.liElement.classList.add("active"):this.liElement.classList.remove("active"))}}window.customElements.define("vu-header-section-item",HeaderSectionItem);

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.