(()=>{"use strict";const e='a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])',t={duration:.3,easing:"ease-in-out"},i="function"==typeof Element.prototype.getAnimations,s={_defaults:t,fadeIn:{keyframes:[{opacity:0},{opacity:1}]},fadeOut:{keyframes:[{opacity:1},{opacity:0}]},fadeInUp:{keyframes:[{opacity:0,transform:"translateY(1rem)"},{opacity:1,transform:"translateY(0rem)"}]},fadeOutUp:{keyframes:[{opacity:1,transform:"translateY(0rem)"},{opacity:0,transform:"translateY(-1rem)"}]},fadeInDown:{keyframes:[{opacity:0,transform:"translateY(-1rem)"},{opacity:1,transform:"translateY(0rem)"}]},fadeOutDown:{keyframes:[{opacity:1,transform:"translateY(0rem)"},{opacity:0,transform:"translateY(1rem)"}]},fadeInRight:{keyframes:[{opacity:0,transform:"translateX(-1rem)"},{opacity:1,transform:"translateX(0rem)"}]},fadeOutRight:{keyframes:[{opacity:1,transform:"translateX(0rem)"},{opacity:0,transform:"translateX(1rem)"}]},fadeInLeft:{keyframes:[{opacity:0,transform:"translateX(1rem)"},{opacity:1,transform:"translateX(0rem)"}]},fadeOutLeft:{keyframes:[{opacity:1,transform:"translateX(0rem)"},{opacity:0,transform:"translateX(-1rem)"}]},slideInUp:{keyframes:[{transform:"translateY(1rem)"},{transform:"translateY(0rem)"}]},slideOutUp:{keyframes:[{transform:"translateY(0rem)"},{transform:"translateY(-1rem)"}]},slideInDown:{keyframes:[{transform:"translateY(-1rem)"},{transform:"translateY(0rem)"}]},slideOutDown:{keyframes:[{transform:"translateY(0rem)"},{transform:"translateY(1rem)"}]},slideInRight:{keyframes:[{transform:"translateX(-1rem)"},{transform:"translateX(0rem)"}]},slideOutRight:{keyframes:[{transform:"translateX(0rem)"},{transform:"translateX(1rem)"}]},slideInLeft:{keyframes:[{transform:"translateX(1rem)"},{transform:"translateX(0rem)"}]},slideOutLeft:{keyframes:[{transform:"translateX(0rem)"},{transform:"translateX(-1rem)"}]},scaleIn:{keyframes:[{opacity:0,transform:"scale(0.9)"},{opacity:1,transform:"scale(1)"}]},scaleOut:{keyframes:[{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.9)"}]}},n=(e,t)=>{let i;return(...s)=>{clearTimeout(i),i=setTimeout((()=>e(...s)),t)}};let a=null;const o=new WeakMap,r=e=>{if(o.has(e))return o.get(e);const t=e.dataset.gbOverlayAnimationTarget;let i;return t&&(i=e.querySelector(t)),i=i||e.querySelector(".gb-overlay__content")||e,o.set(e,i),i},l=()=>!!window.matchMedia("(hover: none)").matches||!!window.matchMedia("(pointer: coarse)").matches;class c{constructor(e){this.element=e,this.state=h,this.id=e.id,this.backdrop=e.querySelector(".gb-overlay__backdrop"),this.content=e.querySelector(".gb-overlay__content"),this._triggers=null,this.closeButtons=e.querySelectorAll("[data-gb-overlay-close]"),this.config={defaultOverlayType:e.dataset.gbOverlayType||"standard",overlayTriggerType:e.dataset.gbOverlayTriggerType||"click",cookieDuration:parseInt(e.dataset.gbOverlayCookieDuration,10)||0,hoverBuffer:parseInt(e.dataset.gbOverlayHoverBuffer,10)||20,scrollPercent:parseInt(e.dataset.gbOverlayScrollPercent,10)||50,timeDelay:parseInt(e.dataset.gbOverlayTimeDelay,10)||5e3,closeOnEsc:"false"!==e.dataset.gbOverlayCloseOnEsc,closeOnClickOutside:"false"!==e.dataset.gbOverlayCloseOnClickOutside,disablePageScroll:"true"===e.dataset.gbOverlayDisablePageScroll,position:e.dataset.gbOverlayPosition||"center",customEventName:e.dataset.gbOverlayCustomEvent||"",hideIfCookiesDisabled:"true"===e.dataset.gbOverlayHideIfCookiesDisabled},this.hasTriggered=!1,this.isAnimating=!1,this.lastFocusedElement=null,this.previousBodyOverflow=null,this.state.setInstance(e,this),this.addCloseMethodToElement(),this.init()}addCloseMethodToElement(){this.element.gbOverlayClose=()=>this.hide()}init(){this.setupTriggerAriaAttributes(),this.setupBackdropHandlers(),this.setupNonInteractiveTriggers()}get triggers(){return this._triggers||(this._triggers=this.id?document.querySelectorAll(`[data-gb-overlay="${this.id}"]`):[]),this._triggers}setupTriggerAriaAttributes(){this.triggers.forEach((e=>{this.id&&e.setAttribute("aria-controls",this.id);const t=this.element.getAttribute("role");let i;i="menu"===t?"menu":"tooltip"===t?"tooltip":"dialog",e.setAttribute("aria-haspopup",i),e.setAttribute("aria-expanded","false")}))}setupBackdropHandlers(){this.backdrop&&this.backdrop.addEventListener("click",(e=>{if(e.target===this.backdrop){const e=this.state.get(this.element);"standard"===e?.activeOverlayDisplayType&&this.config.closeOnClickOutside&&this.hide()}}))}handleTriggerActivation(e,t,i){const s=t.dataset.gbOverlayType||this.config.defaultOverlayType,n=i||this.isKeyboardActivation(e),a=this.state.get(this.element);this.isVisible(s)&&a?.activeTrigger===t?this.hide():this.show(n,t)}handleTriggerMouseEnter(e){const t=e.dataset.gbOverlayType||this.config.defaultOverlayType;this.state.get(this.element)?.isAnimatingOut||this.isAnimating||(clearTimeout(e.gbHoverTimeoutId),this.isVisible(t)||this.show(!1,e))}handleTriggerMouseLeave(e){const t=this.state.get(this.element),i=t?.listeners;i?.hoverIntentCleanup?this.createHoverIntentDetector(e).onOverlayLeave():this.hide(!0,e)}isBlockedByCookie(){return!(!this.id||0===this.config.cookieDuration||(!this.config.hideIfCookiesDisabled||(()=>{if(null!==a)return a;try{document.cookie="gb_cookie_test=1; path=/; SameSite=Lax";const e=document.cookie.includes("gb_cookie_test=1");return e&&(document.cookie="gb_cookie_test=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; SameSite=Lax"),a=e,e}catch(e){return a=!1,!1}})())&&"true"!==(()=>{const e=`gb_overlay_closed_${this.id}`.replace(/[;,\s=]/g,"");if(!e)return null;const t=`${e}=`,i=document.cookie.split(";");for(let e of i)if(e=e.trim(),e.startsWith(t))return e.substring(t.length);return null})())}setClosedCookie(){this.id&&0{if(0>=i)return;const s=e.replace(/[;,\s=]/g,""),n="true".replace(/[;,]/g,"");if(!s||!n)return;const a=new Date;a.setTime(a.getTime()+60*i*60*1e3);const o=`; expires=${a.toUTCString()}`,r="https:"===window.location.protocol?"; Secure":"";document.cookie=`${s}=${n}${o}; path=/; SameSite=Lax${r}`})(`gb_overlay_closed_${this.id}`,0,this.config.cookieDuration)}isVisible(e){const t=this.state.get(this.element),i=t?t.activeOverlayDisplayType:e,s=this.element.classList.contains(`gb-overlay--${i}`);return"none"!==this.element.style.display&&""!==this.element.style.display&&s}getAnimationSettings(e){const i=this.element.dataset[e?"gbOverlayAnimationIn":"gbOverlayAnimationOut"];if(!i||!s[i])return null;const n=r(this.element);if(n&&n.closest(".gb-menu-container--mobile"))return null;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return{element:n,keyframes:[{opacity:0},{opacity:1}],options:{duration:0,fill:"forwards"},backdropKeyframes:[{opacity:0},{opacity:1}]};const a=parseInt(this.element.dataset.gbOverlayAnimationDuration,10)||1e3*t.duration,o=this.element.dataset.gbOverlayAnimationDistance||"1rem",l=JSON.parse(JSON.stringify(s[i].keyframes));return l.forEach((e=>{e.transform&&(e.transform=e.transform.replace(/1rem/g,o))})),{element:n,keyframes:l,options:{duration:a,easing:t.easing,fill:"forwards"},backdropKeyframes:e?[{opacity:0},{opacity:1}]:[{opacity:1},{opacity:0}]}}announceOverlayOpen(){const e=document.createElement("div");e.setAttribute("aria-live","polite"),e.setAttribute("role","status"),e.className="gb-overlay__live-region",e.textContent=`Overlay ${this.element.getAttribute("aria-label")||this.id||""} opened`,this.element.appendChild(e),setTimeout((()=>e.remove()),1e3)}async show(e=!1,t=null){if(!this.isAnimating&&!this.isBlockedByCookie())try{return await this.performShow(e,t)}catch(e){this.handleShowError(e,t)}}async performShow(e=!1,t=null){const s=t&&t.dataset.gbOverlayType||this.config.defaultOverlayType,n=this.state.get(this.element);if(this.isVisible(s)&&n&&!n.isAnimatingOut&&n.activeTrigger===t)return;if("standard"===s){const e=["click","hover","both"].includes(this.config.overlayTriggerType);if(this.state.hasOpenStandardOverlay()){if(!e)return void this.state.addToQueue(this);for(const[e]of this.state.activeOverlays)if(e!==this.element){const t=this.state.get(e);if(t&&"standard"===t.activeOverlayDisplayType){const t=this.state.getInstance(e);t&&await t.performHide()}}}}else if("anchored"===s)for(const[e]of this.state.activeOverlays)if(e!==this.element){const i=this.state.get(e);if(i&&"anchored"===i.activeOverlayDisplayType&&(!t||!e.contains(t))){const t=this.state.getInstance(e);t&&t.completeHiding(null)}}this.isAnimating=!0,this.dispatchOverlayEvent("gbOverlayOpening",t),this.lastFocusedElement||(this.lastFocusedElement=document.activeElement),this.state.clearListeners(this.element);const a={},o="anchored"===s;if(this.state.set(this.element,{listeners:a,activeTrigger:t,activeOverlayDisplayType:s,isAnimatingOut:!1,positionCleanupRef:null,wasOpenedByKeyboard:e}),this.updateTriggerAriaExpanded(t,!0),this.element.classList.remove("gb-overlay--standard","gb-overlay--anchored"),this.element.classList.add(`gb-overlay--${s}`),"standard"===s&&this.config.position&&"center"!==this.config.position&&this.element.classList.add(`gb-overlay--${this.config.position}`),"standard"===s&&this.config.disablePageScroll){this.previousBodyOverflow=document.body.style.overflow;const e=window.innerWidth-document.documentElement.clientWidth;document.body.style.overflow="hidden",0e.cancel())),"1"!==e.style.opacity&&(e.style.opacity="1"),"none"!==e.style.transform&&""!==e.style.transform&&(e.style.transform="none"),void 0!==t[0].opacity&&(e.style.opacity=t[0].opacity),void 0!==t[0].transform&&(e.style.transform=t[0].transform),this.backdrop&&(this.backdrop.style.opacity=null!==(l=r.backdropKeyframes[0].opacity)&&void 0!==l?l:"0")}this.element.style.display=o?"block":"flex",this.element.setAttribute("aria-hidden","false"),this.element.removeAttribute("inert"),this.announceOverlayOpen(),e&&this.setInitialFocus(),o&&this.setupPositioning(t,a),r&&await this.runAnimations(r),this.setupEventListeners(a,s),this.isAnimating=!1,this.dispatchOverlayEvent("gbOverlayOpened",t)}setInitialFocus(){const t=this.element.querySelectorAll(e);0a.height){const e="relative"===o&&r?r.top:t.top,n="relative"===o&&r?r.bottom:t.bottom,l=e,c=a.height-n;(e-i.height>=0||l>c)&&(h="relative"===o&&r?-i.height:t.top-i.height,d=s.replace("bottom","top"))}else if(s.startsWith("top")&&u<0){const e="relative"===o&&r?r.bottom:t.bottom,n="relative"===o&&r?r.top:t.top,l=a.height-e,c=n;(e+i.height<=a.height||l>c)&&(h="relative"===o&&r?r.height:t.bottom,d=s.replace("top","bottom"))}else"left"===s&&m<0?("relative"===o&&r?r.right:t.right)+i.widtha.width&&("relative"===o&&r?r.left:t.left)-i.width>0&&(c="relative"===o&&r?-i.width:t.left-i.width,d="left");const g="relative"===o&&r?r.left+c:c;if(n||(i.width>a.width?c="relative"===o&&r?(a.width-i.width)/2-r.left:(a.width-i.width)/2:(g+i.width>a.width&&(c="relative"===o&&r?a.width-i.width-r.left:a.width-i.width),g<0&&(c="relative"===o&&r?-r.left:0))),"left"===d||"right"===d){const e="relative"===o&&r?r.top+h:h;e+i.height>a.height&&(h="relative"===o&&r?a.height-i.height-r.top:a.height-i.height),e<0&&(h="relative"===o&&r?-r.top:0)}return{x:c,y:h,finalPlacement:d}}setupPositioning(e,t){let i=e||this.element;const s=e?.dataset.gbPositionToParent,n=this.element.dataset.gbOverlayPositionToParent,a=s||n;if(a?i=e.closest(a)||i:e?.classList.contains("gb-submenu-toggle")&&e.parentElement&&(i=e.parentElement),this.element.closest(".menu-item-has-gb-mega-menu"))return this.setupMegaMenuPositioning(e,a,t),this.setupFocusTracking(e,t),void this.setupHoverHandling(e,t);let o=null,r=null;const l=()=>{const e=i.getBoundingClientRect(),t=this.element.style.position,s=this.element.style.left,n=this.element.style.top,a=this.element.style.transform;this.element.style.position="fixed",this.element.style.left="0px",this.element.style.top="-100vh",this.element.style.transform="none",this.element.offsetHeight;const o=this.element.getBoundingClientRect();this.element.style.position=t,this.element.style.left=s,this.element.style.top=n,this.element.style.transform=a;const r=this.element.dataset.gbOverlayPlacement||"bottom-start";return this.calculateOverlayPosition({referenceRect:e,overlayRect:o,placement:r,isFullWidth:!1,coordinateSystem:"viewport"})},c=()=>{const{x:e,y:t}=l();e===o&&t===r||(this.element.style.position="fixed",this.element.style.left=`${e}px`,this.element.style.top=`${t}px`,this.element.style.transform="none",this.element.style.zIndex="9999",this.element.classList.add("gb-overlay--positioned"),o=e,r=t)};this.element.offsetHeight,c();let h=!1;const d=()=>{h||(requestAnimationFrame((()=>{c(),h=!1})),h=!0)};window.addEventListener("scroll",d,{passive:!0}),window.addEventListener("resize",d,{passive:!0}),t.optimizedHandler=d,this.setupFocusTracking(e,t),this.setupHoverHandling(e,t)}setupHoverHandling(e,t){if(this.content){const i=e?.dataset.gbOverlayTriggerType||this.config.overlayTriggerType;if("hover"===i||"both"===i){const i=this.createHoverIntentDetector(e),s=()=>{if(l())return;const t=this.state.get(this.element);t?.activeTrigger===e&&(clearTimeout(e.gbHoverTimeoutId),i.onOverlayEnter())},n=()=>{if(l())return;const t=this.state.get(this.element);t?.activeTrigger===e&&i.onOverlayLeave()};this.content.addEventListener("mouseenter",s),this.content.addEventListener("mouseleave",n),t.overlayMouseEnter=s,t.overlayMouseLeave=n,t.hoverIntentCleanup=()=>i.cleanup()}}}setupFocusTracking(t,i){i.focusOut=n((()=>{const e=document.activeElement,t=this.state.get(this.element);if(!t||!this.isVisible(t.activeOverlayDisplayType))return;const i=this.element===e||this.element.contains(e),s=t.activeTrigger===e||t.activeTrigger?.contains(e);i||s||this.hide()}),10),document.addEventListener("focusin",i.focusOut,!0);const s=this.element.querySelectorAll(e);if(0{if("Tab"===i.key){const s=this.state.get(this.element);i.shiftKey&&document.activeElement===e?(i.preventDefault(),s&&(s.wasClosedByKeyboard=!0),this.hide()):i.shiftKey||document.activeElement!==t||(i.preventDefault(),s&&(s.wasClosedByKeyboard=!0),this.hide())}},this.element.addEventListener("keydown",i.anchoredOverlayTab),i.documentTab=e=>{if("Tab"!==e.key)return;const t=this.state.get(this.element);t&&this.isVisible(t.activeOverlayDisplayType)&&setTimeout((()=>{const e=document.activeElement,i=this.element===e||this.element.contains(e),s=t.activeTrigger===e||t.activeTrigger?.contains(e);i||s||(t&&(t.wasClosedByKeyboard=!0),this.hide())}),0)},document.addEventListener("keydown",i.documentTab)}}setupMegaMenuPositioning(e,t,i){const s=this.element.closest(".menu-item-has-gb-mega-menu");if(!s)return;if(this.element.closest(".gb-menu-container--mobile"))return void this.element.classList.add("gb-overlay--positioned");this.element.style.position="absolute",this.element.style.left="0",this.element.style.top="0",this.element.style.zIndex="9999";let n=null;const a=()=>{const i=this.element.getBoundingClientRect();let a=s;if(t){const i=e.closest(t);i&&(a=i)}const o=s.getBoundingClientRect(),r=a.getBoundingClientRect(),l=this.element.dataset.gbOverlayPlacement||"bottom-start",c=this.element.classList.contains("gb-overlay--width-full"),{x:h,y:d,finalPlacement:m}=this.calculateOverlayPosition({referenceRect:r,overlayRect:i,placement:l,isFullWidth:c,coordinateSystem:"viewport"}),u=h-o.left,g=d-o.top,y=Math.round(u);let v=Math.round(g);m&&m.startsWith("bottom")&&(v=Math.floor(g)),m&&m.startsWith("top")&&(v=Math.ceil(g));const f=`translate(${y}px, ${v}px)`;f!==n&&(this.element.style.transform=f,n=f,this.element.dataset.gbOverlayFinalPlacement!==m&&(this.element.dataset.gbOverlayFinalPlacement=m)),this.element.classList.add("gb-overlay--positioned")};if(requestAnimationFrame((()=>{a()})),i){let e=!1;const t=()=>{e||(requestAnimationFrame((()=>{this.isVisible("anchored")&&a(),e=!1})),e=!0)};window.addEventListener("resize",t,{passive:!0}),i.efficientResizeHandler=t}}async runAnimations(e){try{const t=[],i=e.element.animate(e.keyframes,e.options);t.push(i),this.backdrop&&t.push(this.backdrop.animate(e.backdropKeyframes,e.options)),await Promise.all(t.map((e=>e.finished))),this._lastAnimation=i}catch(e){}}setupEventListeners(e,t){const i=this.state.get(this.element);if(e.overlayFocusTrap=this.createFocusTrap(t,i?.wasOpenedByKeyboard),this.config.closeOnEsc||"anchored"===t){const i=e=>{"Escape"===e.key&&this.isVisible(t)&&this.hide()};document.addEventListener("keydown",i),e.escape=i}(this.config.closeOnClickOutside||"anchored"===t)&&setTimeout((()=>{const i=e=>{const i=this.element.closest(".gb-menu-container--mobile");if(!this.isVisible(t)||i)return;const s=this.state.get(this.element);s?.activeTrigger?.contains(e.target)||("anchored"!==t?"standard"===t&&this.config.closeOnClickOutside&&(this.backdrop||(this.content&&!this.content.contains(e.target)?this.hide():this.content||this.element.contains(e.target)||this.hide())):this.element.contains(e.target)||e.target.closest("[data-gb-overlay]")||this.hide())};document.addEventListener("mousedown",i,!0),e.clickOutside=i}),100)}createFocusTrap(t,i=!1){const s=this.element.querySelectorAll(e),n="standard"===t;if(!s.length)return i&&this.element.hasAttribute("tabindex")&&"-1"!==this.element.getAttribute("tabindex")&&this.element.focus({preventScroll:!0}),null;const a=s[0],o=s[s.length-1];a.focus&&n&&i&&a.focus({preventScroll:!0});const r=e=>{if("Tab"===e.key)return this.element.contains(document.activeElement)?void(e.shiftKey&&document.activeElement===a?(e.preventDefault(),o.focus()):e.shiftKey||document.activeElement!==o||(e.preventDefault(),a.focus())):(e.preventDefault(),void(e.shiftKey?o.focus():a.focus()))};return n?(document.addEventListener("keydown",r),r):null}async hide(e=!1,t=null){if(t&&clearTimeout(t.gbHoverTimeoutId),!e||!t)return this.performHide();{const e=this.state.get(this.element);this.element.matches(":hover")||t.matches(":hover")||e&&e.activeTrigger!==t||this.performHide()}}async performHide(){const e=this.state.get(this.element);if(!this.isVisible(e?.activeOverlayDisplayType||this.config.defaultOverlayType)||e?.isAnimatingOut)return;if(this.isAnimating){const t=()=>{this.isAnimating?requestAnimationFrame(t):this.isVisible(e?.activeOverlayDisplayType||this.config.defaultOverlayType)&&this.performHide()};return void requestAnimationFrame(t)}this.isAnimating=!0,this.state.set(this.element,{...e,isAnimatingOut:!0});const t=this.getAnimationSettings(!1);t&&await this.runAnimations(t),this.completeHiding(t),this.isAnimating=!1}updateTriggerAriaExpanded(e,t){e&&e.setAttribute("aria-expanded",t?"true":"false")}pauseAllMedia(){const e=this.element.innerHTML;if(!(e.includes("!e.paused))&&t.forEach((e=>{e.paused||e.pause()}));const i=this.element.querySelectorAll("iframe");if(0===i.length)return;const s=["youtube.com","youtu.be","vimeo.com","soundcloud.com","spotify.com","dailymotion.com","twitch.tv","wistia.com","vidyard.com","loom.com","tiktok.com"];i.forEach((e=>{const t=e.src||"";if(!s.some((e=>t.includes(e))))return;const i=e.parentNode;if(!i)return;const n=e.cloneNode(!0);i.replaceChild(n,e)}))}completeHiding(e){const t=this.state.get(this.element),s=t?t.activeTrigger:null,n=!!t&&t.wasOpenedByKeyboard,a=!!t&&t.wasClosedByKeyboard,o=t?.activeOverlayDisplayType||this.config.defaultOverlayType;this.pauseAllMedia(),this.dispatchOverlayEvent("gbOverlayClosed",s),n&&s||"anchored"===o&&a&&s?s.focus():this.lastFocusedElement&&document.contains(this.lastFocusedElement)&&this.lastFocusedElement.focus(),this.lastFocusedElement=null,this.element.setAttribute("aria-hidden","true"),this.element.setAttribute("inert",""),this.updateTriggerAriaExpanded(t?.activeTrigger,!1),"standard"===o&&this.config.disablePageScroll&&(null!==this.previousBodyOverflow?(document.body.style.overflow=this.previousBodyOverflow,this.previousBodyOverflow=null):document.body.style.overflow="",document.body.style.paddingRight="");const l=e?.element||r(this.element);if(this._lastAnimation&&"function"==typeof this._lastAnimation.cancel&&(this._lastAnimation.cancel(),this._lastAnimation=null),i&&l.getAnimations().forEach((e=>e.cancel())),"1"!==l.style.opacity&&(l.style.opacity="1"),"none"!==l.style.transform&&""!==l.style.transform&&(l.style.transform="none"),this.backdrop&&(this.backdrop.style.opacity=""),this.element.style.display="none","standard"===o&&this.config.position&&"center"!==this.config.position&&this.element.classList.remove(`gb-overlay--${this.config.position}`),"anchored"===o&&(this.element.classList.remove("gb-overlay--positioned"),this.element.closest(".menu-item-has-gb-mega-menu")&&(this.element.style.position="",this.element.style.left="",this.element.style.top="",this.element.style.transform="",this.element.style.zIndex="")),0{this.isVisible(this.config.defaultOverlayType)||this.show(!1)},document.addEventListener(this.config.customEventName,e.customEvent),this.state.set(this.element,{listeners:e})}"standard"===o&&this.state.processQueue()}setupNonInteractiveTriggers(){if(this.isBlockedByCookie()||"standard"!==this.config.defaultOverlayType)return;const e={},t=this.state.get(this.element)||{};"exit-intent"===this.config.overlayTriggerType?(e.exitIntent=n((e=>{this.hasTriggered||this.isVisible(this.config.defaultOverlayType)||8{this.hasTriggered||this.isVisible(this.config.defaultOverlayType)||(window.scrollY+window.innerHeight)/document.documentElement.scrollHeight*100>=this.config.scrollPercent&&(this.hasTriggered=!0,this.show(!1),window.removeEventListener("scroll",e.scroll))}),100),window.addEventListener("scroll",e.scroll,{passive:!0})):"time"===this.config.overlayTriggerType?e.timer=setTimeout((()=>{this.hasTriggered||this.isVisible(this.config.defaultOverlayType)||(this.hasTriggered=!0,this.show(!1))}),this.config.timeDelay):"custom"===this.config.overlayTriggerType&&this.config.customEventName&&(e.customEvent=()=>{this.hasTriggered||this.isVisible(this.config.defaultOverlayType)||this.show(!1)},document.addEventListener(this.config.customEventName,e.customEvent)),0{clearTimeout(e.gbHoverTimeoutId),t&&(document.removeEventListener("mousemove",t),t=null)},onOverlayLeave:()=>{const i=this.config.hoverBuffer;let s=this.element.getBoundingClientRect(),n=e.getBoundingClientRect(),a=!1;t=o=>{const r=document.elementFromPoint(o.clientX,o.clientY),l=r?.closest(".gb-menu-item");if(l&&!l.contains(e)){const i=l.querySelector("[data-gb-overlay]"),s=l.classList.contains("menu-item-has-children")||l.querySelector(".gb-submenu");if(i||s)return this.hide(!0,e),document.removeEventListener("mousemove",t),void(t=null)}a||(a=!0,requestAnimationFrame((()=>{s=this.element.getBoundingClientRect(),n=e.getBoundingClientRect(),a=!1})));const c=o.clientX>=s.left-i&&o.clientX<=s.right+i&&o.clientY>=s.top-i&&o.clientY<=s.bottom+i,h=o.clientX>=n.left&&o.clientX<=n.right&&o.clientY>=n.top&&o.clientY<=n.bottom;c||h||(this.hide(!0,e),document.removeEventListener("mousemove",t),t=null)},document.addEventListener("mousemove",t,{passive:!0})},cleanup:()=>{clearTimeout(e.gbHoverTimeoutId),t&&(document.removeEventListener("mousemove",t),t=null)}}}isKeyboardActivation(e){return"click"===e.type&&(0===e.detail||0===e.clientX&&0===e.clientY&&0===e.screenX&&0===e.screenY)}dispatchOverlayEvent(e,t){if(t){const i=new CustomEvent(e,{detail:{overlay:this.element,trigger:t,overlayId:this.id}});document.dispatchEvent(i)}}handleShowError(e,t){if(this.isAnimating=!1,this.state.clearListeners(this.element),t){const i=new CustomEvent("gbOverlayError",{detail:{overlay:this.element,trigger:t,overlayId:this.id,error:e.message||"Unknown error"}});document.dispatchEvent(i)}console.error(`Overlay ${this.id} failed to open:`,e)}destroy(){this.state.clearListeners(this.element),o.delete(this.element),this.lastFocusedElement=null,this.element.gbOverlayClose&&delete this.element.gbOverlayClose,this.state.overlayInstances.delete(this.element)}}const h=new class{constructor(){this.activeOverlays=new Map,this.overlayInstances=new WeakMap,this.overlayQueue=[],window.addEventListener("pagehide",(()=>this.cleanup()))}set(e,t){this.activeOverlays.set(e,t)}get(e){return this.activeOverlays.get(e)}delete(e){this.activeOverlays.delete(e)}setInstance(e,t){this.overlayInstances.set(e,t)}getInstance(e){return this.overlayInstances.get(e)}cleanup(){for(const e of this.activeOverlays.keys()){const t=this.getInstance(e);t&&t.isVisible(t.config.defaultOverlayType)&&t.hide(),this.clearListeners(e)}this.activeOverlays.clear(),this.overlayQueue=[]}clearListeners(e){const t=this.get(e);if(!t)return;const{listeners:i,positionCleanupRef:s}=t;Object.entries(i).forEach((([t,i])=>{if("timer"===t)clearTimeout(i);else if("escape"===t)document.removeEventListener("keydown",i);else if("overlayFocusTrap"===t)document.removeEventListener("keydown",i);else if("anchoredOverlayTab"===t)e.removeEventListener("keydown",i);else if("documentTab"===t)document.removeEventListener("keydown",i);else if("clickOutside"===t)document.removeEventListener("mousedown",i,!0);else if("focusOut"===t)document.removeEventListener("focusin",i,!0);else if("overlayMouseEnter"===t||"overlayMouseLeave"===t){const s="overlayMouseEnter"===t?"mouseenter":"mouseleave";e.removeEventListener(s,i)}else if("exitIntent"===t)document.removeEventListener("mousemove",i);else if("scroll"===t)window.removeEventListener("scroll",i);else if("customEvent"===t){const t=this.getInstance(e);t&&t.config.customEventName&&document.removeEventListener(t.config.customEventName,i)}else"efficientResizeHandler"===t?window.removeEventListener("resize",i):"optimizedHandler"===t?(window.removeEventListener("scroll",i),window.removeEventListener("resize",i)):"hoverIntentCleanup"===t&&i()})),s&&s(),this.delete(e)}hasOpenStandardOverlay(){for(const[,e]of this.activeOverlays)if(e&&"standard"===e.activeOverlayDisplayType)return!0;return!1}addToQueue(e){this.overlayQueue.includes(e)||this.overlayQueue.push(e)}processQueue(){if(0===this.overlayQueue.length||this.hasOpenStandardOverlay())return;const e=this.overlayQueue.shift();e&&e.element&&document.contains(e.element)&&!e.isBlockedByCookie()?setTimeout((()=>{e.element&&document.contains(e.element)?e.show(!1):this.processQueue()}),100):this.processQueue()}};new class{constructor(){this.setupGlobalListeners()}setupGlobalListeners(){document.addEventListener("click",this.handleTriggerClick.bind(this),!0),document.addEventListener("keydown",this.handleTriggerKeydown.bind(this),!0),document.addEventListener("click",this.handleCloseClick.bind(this)),document.addEventListener("mouseover",this.handleTriggerMouseOver.bind(this),{passive:!0}),document.addEventListener("mouseout",this.handleTriggerMouseOut.bind(this),{passive:!0})}handleTriggerClick(e){if(!e.target.closest('a, button, [role="button"], [tabindex], [data-gb-overlay]'))return;const t=e.target.closest("[data-gb-overlay]");if(!t)return;const i=t.dataset.gbOverlay,s=document.getElementById(i),n=h.getInstance(s);if(!n)return;const a=t.dataset.gbOverlayTriggerType||n.config.overlayTriggerType;"click"!==a&&"both"!==a||(e.preventDefault(),t.dataset.gbTriggerStopPropagation&&(e.stopPropagation(),e.stopImmediatePropagation()),n.handleTriggerActivation(e,t,!1))}handleTriggerKeydown(e){if("Enter"!==e.key&&" "!==e.key)return;if(!e.target.closest('a, button, [role="button"], [tabindex], [data-gb-overlay]'))return;const t=e.target.closest("[data-gb-overlay]");if(!t)return;const i=t.dataset.gbOverlay,s=document.getElementById(i),n=h.getInstance(s);if(!n)return;const a=t.dataset.gbOverlayTriggerType||n.config.overlayTriggerType;"click"!==a&&"both"!==a||(e.preventDefault(),t.dataset.gbTriggerStopPropagation&&(e.stopPropagation(),e.stopImmediatePropagation()),n.handleTriggerActivation(e,t,!0))}handleTriggerMouseOver(e){if(l())return;if(!e.target.closest('a, button, [role="button"], [tabindex], [data-gb-overlay]'))return;const t=e.target.closest("[data-gb-overlay]"),i=t?.closest(".gb-menu-container--mobile");if(!t||i)return;const s=t.dataset.gbOverlay,n=document.getElementById(s),a=h.getInstance(n);if(!a)return;const o=t.dataset.gbOverlayTriggerType||a.config.overlayTriggerType;"hover"!==o&&"both"!==o||a.handleTriggerMouseEnter(t)}handleTriggerMouseOut(e){if(l())return;if(!e.target.closest('a, button, [role="button"], [tabindex], [data-gb-overlay]'))return;const t=e.target.closest("[data-gb-overlay]"),i=t?.closest(".gb-menu-container--mobile");if(!t||i)return;const s=t.dataset.gbOverlay,n=document.getElementById(s),a=h.getInstance(n);if(!a)return;const o=t.dataset.gbOverlayTriggerType||a.config.overlayTriggerType;"hover"!==o&&"both"!==o||a.handleTriggerMouseLeave(t)}handleCloseClick(e){const t=e.target.closest("[data-gb-overlay-close]");if(!t)return;const i=t.closest(".gb-overlay");i?.gbOverlayClose&&(e.preventDefault(),i.gbOverlayClose())}},document.addEventListener("DOMContentLoaded",(()=>{document.querySelectorAll(".gb-overlay").forEach((e=>{new c(e)}))})),window.gbInitializeOverlay=e=>e&&!h.getInstance(e)?new c(e):h.getInstance(e)})();