const mobileWidth=750,tabletWidth=990,windowDynamicEvents=["scroll","resize"],isDesktop=window.innerWidth>990,isTablet=window.innerWidth<=990&&window.innerWidth>=750,isMobile=window.innerWidth<750,body=document.querySelector("body"),main=document.querySelector("main"),sectionsOfHeaderGroup=Array.from(document.querySelectorAll(".shopify-section-group-header-group")).filter(section=>!section.classList.contains("section-header")),headerElement=document.querySelector("#header, #shopify-section-main-password-header");headerElement&§ionsOfHeaderGroup.push(headerElement);let header=document.querySelector("#header, #shopify-section-main-password-header"),announcementBar=document.querySelector(".js-announcement-bar"),heroBanner=document.querySelector(".hero-banner");const isHeaderSticky=header?.classList.contains("is-sticky"),sectionsOfAnnouncementBar=document.querySelectorAll(".section-announcement-bar");if(sectionsOfAnnouncementBar){let calcSectionHeights2=function(section){return{visibleHeight:Math.max(0,Math.min(section.offsetHeight,window.innerHeight-section.getBoundingClientRect().top,section.getBoundingClientRect().bottom)),height:section.getBoundingClientRect().height}},updateVisibleHeightsOfAnnouncementBars2=function(){let totalVisibleHeights=0,totalHeights=0;sectionsOfAnnouncementBar.forEach(section=>{Array.from(sectionsOfAnnouncementBar).forEach(section2=>{const{height,visibleHeight}=calcSectionHeights2(section2);totalHeights+=height,totalVisibleHeights+=visibleHeight})}),setCustomProperty2("--announcement-bars-before-header-heights",`${parseFloat(totalHeights)}px`),setCustomProperty2("--announcement-bars-before-header-visible-heights",`${parseFloat(totalVisibleHeights)}px`)};var calcSectionHeights=calcSectionHeights2,updateVisibleHeightsOfAnnouncementBars=updateVisibleHeightsOfAnnouncementBars2;const setCustomProperty2=(property,value)=>{document.documentElement.style.setProperty(property,value)};updateVisibleHeightsOfAnnouncementBars2(),window.addEventListener("scroll",updateVisibleHeightsOfAnnouncementBars2),window.addEventListener("resize",updateVisibleHeightsOfAnnouncementBars2)}let productMedia=document.querySelector(".main-product__media"),productMediaSwiper=document.querySelector(".main-product__media .swiper--product-gallery"),productCardMedia=document.querySelector(".product-card__media"),productCardCollections=document.querySelector(".product-card");document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll('img[loading="lazy"]:not(.animation-none)').forEach(img=>{img.classList.add("lazy"),img.addEventListener("load",function(){handleLazyLoadedImage(img)}),img.complete&&handleLazyLoadedImage(img)});function handleLazyLoadedImage(img){!img||!img.hasAttribute("loading")||setTimeout(()=>{img.removeAttribute("loading"),img.classList.remove("lazy")},100)}function mutationCallbackForLazyLoadedImage(mutationList,observer2){for(const mutation of mutationList)mutation.type==="childList"&&mutation.addedNodes.length>0&&mutation.addedNodes.forEach(node=>{node instanceof HTMLElement&&node.querySelector('img[loading="lazy"]')&&node.querySelectorAll('img[loading="lazy"]').forEach(img=>{handleLazyLoadedImage(img)})})}new MutationObserver(mutationCallbackForLazyLoadedImage).observe(document.querySelector("body"),{childList:!0,subtree:!0})}),document.querySelectorAll(".hero__inner > .media > video > img").forEach(function(el){el.setAttribute("loading","lazy"),el.setAttribute("alt","Video Cover")}),document.querySelectorAll(".lazyload").forEach(function(el){el.setAttribute("loading","lazy")}),windowDynamicEvents.forEach(eventType=>{window.addEventListener(eventType,()=>{setRootCustomProperties()})}),setRootCustomProperties(),Shopify.designMode&&(window.addEventListener("shopify:section:load",setRootCustomProperties),window.addEventListener("shopify:section:select",setRootCustomProperties)),window.addEventListener("shopify:section:load",function(){header=document.querySelector("#header, #shopify-section-main-password-header header"),announcementBar=document.querySelector(".js-announcement-bar"),productCardMedia=document.querySelector(".product-card__media")});function getCoordinates(element){const rect=element.getBoundingClientRect();return{top:rect.top+window.scrollY,right:rect.right+window.scrollX,bottom:rect.bottom+window.scrollY,left:rect.left+window.scrollX}}function setCustomProperty(property,value){document.documentElement.style.setProperty(property,value)}function setRootCustomProperties(){const setCustomProperty2=(property,value)=>{document.documentElement.style.setProperty(property,value)};if(sectionsOfHeaderGroup.length>0){const totalHeight=Array.from(sectionsOfHeaderGroup).reduce((sum,section)=>sum+section.offsetHeight,0);document.documentElement.style.setProperty("--header-group-height",`${totalHeight-1}px`)}let headerHeight=0;header&&(headerHeight=header.getBoundingClientRect().height.toFixed(2)),setCustomProperty2("--header-height",`${parseFloat(headerHeight)}px`);let cartDrawerBody=document.querySelector(".cart-drawer__body");cartDrawerBody&&(setCustomProperty2("--cart-drawer-body-width",`${parseFloat(cartDrawerBody.offsetWidth)}px`),setCustomProperty2("--cart-drawer-body-height",`${parseFloat(cartDrawerBody.offsetHeight)}px`)),productMedia&&setCustomProperty2("--product-media-area-width",`${parseFloat(productMedia.offsetWidth)}px`);function setInitalProductMediaAreaHeight(){if(productMedia&&body.classList.contains("template--product")){let initialProductMediaAreaHeight=0;const mainTop=getCoordinates(main).top,productMediaTop=getCoordinates(productMedia).top,productTopbar=document.querySelector(".product__topbar-nav");let productTopbarHeight=0;productTopbar&&(productTopbarHeight=productTopbar.offsetHeight),initialProductMediaAreaHeight=window.innerHeight-Math.round(mainTop)-2*Math.round(productMediaTop-mainTop)+Math.round(productTopbarHeight),Array.prototype.indexOf.call(main.children,document.querySelector("main section.main-product"))>0&&(initialProductMediaAreaHeight=window.innerHeight-Math.round(mainTop)-2*Math.round(productMediaTop-mainTop)+Math.round(productTopbarHeight)),initialProductMediaAreaHeight=Math.round(initialProductMediaAreaHeight-24),setCustomProperty2("--product-media-area-height",initialProductMediaAreaHeight+"px")}}function setInitalProductMediaSwiperAreaHeight(){const sliderWrapper=document.querySelector(".main-product__media--slider-wrapper");sliderWrapper&&setCustomProperty2("--product-media-area-swiper-height",`${parseInt(sliderWrapper.offsetHeight)}px`)}document.addEventListener("DOMContentLoaded",setInitalProductMediaAreaHeight),window.addEventListener("resize",setInitalProductMediaAreaHeight),document.addEventListener("DOMContentLoaded",setInitalProductMediaSwiperAreaHeight),window.addEventListener("resize",setInitalProductMediaSwiperAreaHeight),productMedia&&new MutationObserver(()=>{setInitalProductMediaAreaHeight(),setInitalProductMediaSwiperAreaHeight()}).observe(productMedia,{childList:!0,subtree:!0}),Shopify.designMode&&window.addEventListener("shopify:section:load",setInitalProductMediaSwiperAreaHeight),heroBanner&&(setCustomProperty2("--hero-banner-top",`${parseFloat(getCoordinates(heroBanner).top)}px`),setCustomProperty2("--hero-banner-bottom",`${parseFloat(getCoordinates(heroBanner).bottom)}px`));const articleHeroMedia=document.querySelector(".js-article-hero-media"),articleContent=document.querySelector(".js-article-content");if(articleHeroMedia||articleContent){let socialShareStickyTop=0,socialShareStickyStart=0,headerBottom=parseInt(header.getBoundingClientRect().bottom);articleHeroMedia?(socialShareStickyTop=parseInt(articleHeroMedia.getBoundingClientRect().top),socialShareStickyStart=parseInt(articleHeroMedia.getBoundingClientRect().right)):(socialShareStickyTop=parseInt(articleContent.getBoundingClientRect().y),socialShareStickyStart=parseInt(articleContent.getBoundingClientRect().right)),socialShareStickyTop<0+headerBottom&&(socialShareStickyTop=headerBottom),setCustomProperty2("--social-share-sticky-top",`${socialShareStickyTop}px`),setCustomProperty2("--social-share-sticky-start",`${socialShareStickyStart}px`)}if(heroBanner){let heroInner=heroBanner.querySelectorAll(".hero__inner");if(heroInner.length>0){let headerMenuTextColor=heroInner[0].getAttribute("data-header-menu-text-color");headerMenuTextColor&&setCustomProperty2("--transparent-header-menu-text-color",`${headerMenuTextColor}`)}}else setCustomProperty2("--transparent-header-menu-text-color","var(--color-background)");productCardMedia&&setCustomProperty2("--product-card-media-height",`${parseInt(productCardMedia.offsetHeight)}px`)}function scrollPositionY(){setCustomProperty("--window-scroll-y-position",window.scrollY),window.scrollY===0?(document.body.classList.add("is-at-top"),document.body.classList.remove("is-scrolled")):(document.body.classList.add("is-scrolled"),document.body.classList.remove("is-at-top"))}scrollPositionY(),window.addEventListener("scroll",scrollPositionY);const bodyScroll={lock(container){bodyScrollLock.disableBodyScroll(container)},unlock(container){bodyScrollLock.enableBodyScroll(container)},clear(){bodyScrollLock.clearAllBodyScrollLocks()}},onKeyUpEscape=event=>{if(event.code.toUpperCase()!=="ESCAPE")return;const openDetailsElement=event.target.closest("details[open]");if(!openDetailsElement)return;const summaryElement=openDetailsElement.querySelector("summary");openDetailsElement.removeAttribute("open"),summaryElement.setAttribute("aria-expanded",!1),summaryElement.focus({preventScroll:!0})},getFocusableElements=container=>Array.from(container.querySelectorAll('summary, a[href], button:enabled, [tabindex]:not([tabindex^="-"]), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe'));document.querySelectorAll('[id^="Details-"] summary').forEach(summary=>{summary.setAttribute("role","button"),summary.setAttribute("aria-expanded",summary.parentNode.hasAttribute("open")),summary.nextElementSibling.getAttribute("id")&&summary.setAttribute("aria-controls",summary.nextElementSibling.id),summary.addEventListener("click",event=>{event.currentTarget.setAttribute("aria-expanded",!event.currentTarget.closest("details").hasAttribute("open"))}),!summary.closest("header-drawer")&&summary.parentElement.addEventListener("keyup",onKeyUpEscape)});const trapFocusHandlers={},removeTrapFocus=(elementToFocus=null)=>{document.removeEventListener("focusin",trapFocusHandlers.focusin),document.removeEventListener("focusout",trapFocusHandlers.focusout),document.removeEventListener("keydown",trapFocusHandlers.keydown),elementToFocus&&elementToFocus.focus({preventScroll:!0})},trapFocus=(container,elementToFocus=container)=>{var elements=getFocusableElements(container),first=elements[0],last=elements[elements.length-1];removeTrapFocus(),trapFocusHandlers.focusin=event=>{event.target!==container&&event.target!==last&&event.target!==first||document.addEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.focusout=function(){document.removeEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.keydown=function(event){event.code.toUpperCase()==="TAB"&&(event.target===last&&!event.shiftKey&&(event.preventDefault(),first.focus()),(event.target===container||event.target===first)&&event.shiftKey&&(event.preventDefault(),last.focus()))},document.addEventListener("focusout",trapFocusHandlers.focusout),document.addEventListener("focusin",trapFocusHandlers.focusin),elementToFocus.focus()},serializeForm=form=>{const obj={},formData=new FormData(form);for(const key of formData.keys())obj[key]=formData.get(key);return JSON.stringify(obj)},deepClone=obj=>JSON.parse(JSON.stringify(obj)),handleize=str=>str.replace(/[ /_]/g,"-").toLowerCase(),decode=str=>decodeURIComponent(str).replace(/\+/g," "),getOffsetTop=element=>{let offsetTop=0;do isNaN(element.offsetTop)||(offsetTop+=element.offsetTop);while(element=element.offsetParent);return offsetTop};class MenuDrawer extends HTMLElement{constructor(){super(),this.details=this.querySelector("details"),this.summary=this.querySelector("summary"),this.drawer=this.querySelector(".js-drawer"),this.btnsCloseDrawer=this.querySelectorAll(".js-btn-close-drawer"),this.btnsCloseDrawer=[...this.btnsCloseDrawer].filter(btnCloseDrawer=>this.drawer===btnCloseDrawer.closest(".js-drawer")),this.elementToFocus=this.querySelector(".js-drawer-focus-element")||this.btnsCloseDrawer[0],this.toggleButtons=[this.summary,...this.btnsCloseDrawer],this.isParentDrawerOpen=!1,this.predictiveSearch=this.querySelector("predictive-search"),this.HeaderDrawer=document.querySelector("header-drawer"),this.setInitialAccessibilityAttr(),this.toggleButtons.forEach(toggleButton=>{toggleButton.addEventListener("click",e=>{e.preventDefault(),this.toggleDrawer()})}),this.addEventListener("keydown",e=>{const isEscapeKey=e.key==="Escape",isDrawerOpen=this.details.classList.contains("menu-opening"),nestedOpenDrawer=this.details.querySelector("details[open]");!isEscapeKey||nestedOpenDrawer||!isDrawerOpen||this.predictiveSearch&&this.predictiveSearch.input==document.activeElement||this.toggleDrawer()}),this.toggleTrapFocus()}toggleDrawer(){const isDrawerTransitioning=this.details.classList.contains("drawer-transitioning"),isDetailsOpen=this.details.hasAttribute("open"),headerDiv=document.getElementById("header");if(isDetailsOpen)this.details.classList.remove("menu-opening"),this.toggleButtons.forEach(toggleButton=>{toggleButton.classList.remove("menu-is-open"),toggleButton.setAttribute("aria-expanded",!1)}),body.style.overflow="",body.style.position="",body.style.top="",body.style.width="",window.scrollTo(0,this.scrollTopValue),body.classList.remove("drawer--is-open"),this.isParentDrawerOpen&&(this.parentDrawer.style.overflow=""),setTimeout(()=>{this.details.removeAttribute("open")},500);else{this.details.setAttribute("open",""),this.toggleButtons.forEach(toggleButton=>{toggleButton.classList.add("menu-is-open"),toggleButton.setAttribute("aria-expanded",!0)}),this.details.classList.add("menu-opening"),headerDiv.classList.add("menu-open"),body.style.overflow==="hidden"?(this.parentDrawer=this.closest(".js-drawer"),this.parentDrawer&&(this.isParentDrawerOpen=!0)):(body.style.overflow="hidden",body.classList.add("drawer--is-open"),this.scrollTopValue=window.scrollY,body.style.top=`-${this.scrollTopValue}px`,body.style.position="fixed",body.style.width="100%");var searchInput=this.querySelector("#search-desktop");searchInput&&(searchInput.focus(),headerDiv&&headerDiv.classList.remove("menu-open"))}const handleDropdownTransition=e=>{if(e.target!==this.drawer||e.propertyName!=="visibility")return;this.details.classList.remove("drawer-transitioning"),this.elementToFocus&&this.elementToFocus.focus({preventScroll:!0}),this.details.hasAttribute("open")||(this.toggleButtons.forEach(toggleButton=>{toggleButton.setAttribute("aria-expanded",!1)}),this.summary.focus({preventScroll:!0})),this.isParentDrawerOpen?(this.parentDrawer.style.overflow="",document.body.style.overflow=""):document.body.style.overflow="hidden",e.target.removeEventListener("transitionend",handleDropdownTransition)};this.drawer.addEventListener("transitionstart",e=>{this.details.classList.add("drawer-transitioning")},{once:!0}),this.drawer.addEventListener("transitionend",handleDropdownTransition)}closeAllOtherDrawers(){document.querySelectorAll(".js-drawer").forEach(drawer=>{const details=drawer.closest("details");details&&details!==this.details&&(details.removeAttribute("open"),drawer.style.overflow="")}),document.body.style.overflow=""}instantlyHideDrawer(){this.toggleButtons.forEach(toggleButton=>{toggleButton.setAttribute("aria-expanded",!1)}),this.details.classList.remove("menu-opening"),this.details.removeAttribute("open"),body.style.overflow=""}toggleTrapFocus(container=this.drawer){let isHandlingFocus=!1;document.addEventListener("focusin",e=>{if(isHandlingFocus)return;if(isHandlingFocus=!0,!this.details.classList.contains("menu-opening")){isHandlingFocus=!1;return}const openDrawer=e.target.closest("details.menu-opening .js-drawer"),nestedOpenDrawer=this.details.querySelector("details.menu-opening");if(openDrawer===this.drawer||nestedOpenDrawer){isHandlingFocus=!1;return}e.preventDefault();const focusableElements=getFocusableElements(container),focusedElementDOMPosition=container.compareDocumentPosition(e.target),visibleFocusableElements=focusableElements.filter(focusableElement=>{if(getComputedStyle(focusableElement).display==="none")return;const isSummary=focusableElement.tagName==="SUMMARY",focusableElementDetails=focusableElement.closest("details"),parentFocusableElementDetails=focusableElementDetails.parentElement.closest("details"),focusableElementDrawer=focusableElementDetails.querySelector(".js-drawer");return(focusableElementDrawer?focusableElementDrawer===this.drawer:focusableElementDetails===this.details)||isSummary&&parentFocusableElementDetails.hasAttribute("open")}),firstFocusableElement=visibleFocusableElements[0],lastFocusableElement=visibleFocusableElements[visibleFocusableElements.length-1];focusedElementDOMPosition>=4?firstFocusableElement.focus({preventScroll:!0}):lastFocusableElement.focus({preventScroll:!0}),isHandlingFocus=!1})}setInitialAccessibilityAttr(){const isDetailsOpen=this.details.hasAttribute("open");this.summary.setAttribute("role","button"),this.summary.setAttribute("aria-controls",this.drawer.id),this.summary.setAttribute("aria-expanded",isDetailsOpen)}}customElements.define("menu-drawer",MenuDrawer);class HeaderDrawer extends MenuDrawer{constructor(){super(),window.addEventListener("resize",e=>{if(!this.classList.contains("mobile-drawer"))return;const isDesktop2=window.innerWidth<990,isMenuOpen=this.details.classList.contains("menu-opening");isDesktop2||!isMenuOpen||this.instantlyHideDrawer()})}instantlyHideDrawer(){super.instantlyHideDrawer()}toggleDrawer(){const isDrawerTransitioning=this.details.classList.contains("drawer-transitioning"),drawerButton=this.querySelector(".drawer__button");drawerButton.classList.contains("menu-is-open")?(header.classList.remove("menu-open"),drawerButton.classList.remove("menu-is-open"),body.style.removeProperty("position"),window.scrollTo(0,this.scrollTopValue)):(this.scrollTopValue=window.scrollY,header.classList.add("menu-open"),drawerButton.classList.add("menu-is-open")),super.toggleDrawer(),this.querySelectorAll(".drawer__menu-item").forEach(item=>{item.classList.toggle("is--visible")}),this.querySelectorAll(".drawer__subnav-item").forEach(item=>{item.classList.toggle("is--visible")})}toggleTrapFocus(){super.toggleTrapFocus(this.details)}}customElements.define("header-drawer",HeaderDrawer);class DesktopDrawer extends MenuDrawer{constructor(){super(),window.addEventListener("resize",e=>{const isDesktop2=window.innerWidth<990,isMenuOpen=this.details.classList.contains("menu-opening");!isDesktop2||!isMenuOpen||this.instantlyHideDrawer()})}}customElements.define("desktop-drawer",DesktopDrawer);class SearchDrawer extends MenuDrawer{constructor(){super(),window.addEventListener("resize",e=>{this.details.classList.contains("menu-opening")}),this.btn=this.querySelector(".drawer__button"),this.btn.addEventListener("click",()=>{const headerDrawerDetails=document.querySelector("header-drawer details");headerDrawerDetails&&(headerDrawerDetails.removeAttribute("open"),headerDrawerDetails.classList.remove("menu-opening"))})}}customElements.define("search-drawer",SearchDrawer);function pauseAllMedia(){document.querySelectorAll(".js-youtube").forEach(video=>{video.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),document.querySelectorAll(".js-vimeo").forEach(video=>{video.contentWindow.postMessage('{"method":"pause"}',"*")}),document.querySelectorAll("video").forEach(video=>video.pause()),document.querySelectorAll("product-model").forEach(model=>{model.modelViewerUI&&model.modelViewerUI.pause()})}function unpauseAllMedia(){document.querySelectorAll(".js-youtube").forEach(video=>{video.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}),document.querySelectorAll(".js-vimeo").forEach(video=>{video.contentWindow.postMessage('{"method":"play"}',"*")}),document.querySelectorAll("video").forEach(video=>{let playPromise=video.play();playPromise!==void 0&&playPromise.then(_=>{}).catch(error=>{video.play()})}),document.querySelectorAll("product-model").forEach(model=>{model.modelViewerUI&&model.modelViewerUI.play()})}const debounce=(fn,wait)=>{let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}},fetchConfig=(type="json")=>({method:"POST",headers:{"Content-Type":`application/${type}`,Accept:`application/${type}`}});class QuantityInput extends HTMLElement{constructor(){super(),this.input=this.querySelector("input"),this.changeEvent=new Event("change",{bubbles:!0}),this.querySelectorAll("button").forEach(button=>button.addEventListener("click",this.onButtonClick.bind(this)))}onButtonClick(event){event.preventDefault();const eventTarget=event.target.name?event.target:event.target.closest("button"),previousValue=this.input.value;eventTarget.name==="increment"?this.input.stepUp():this.input.stepDown(),previousValue!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}}customElements.define("quantity-input",QuantityInput);class ModalOpener extends HTMLElement{constructor(){super();const button=this.querySelector("button");button&&button.addEventListener("click",()=>{const modal=document.querySelector(this.getAttribute("data-modal"));modal&&modal.show(button)})}}customElements.define("modal-opener",ModalOpener);class ModalDialog extends HTMLElement{constructor(){super(),this.dialogHolder=this.querySelector('[role="dialog"]'),this.querySelector('[id^="ModalClose-"]').addEventListener("click",this.hide.bind(this,!1)),this.addEventListener("keyup",event=>{event.code?.toUpperCase()==="ESCAPE"&&!event.target.closest("age-verification-popup")&&this.hide()}),this.addEventListener("click",event=>{event.target===this&&!event.target.closest("age-verification-popup")&&this.hide()}),this.dialogHolder.addEventListener("click",event=>{event.stopPropagation()})}connectedCallback(){this.moved||(this.moved=!0,document.body.appendChild(this))}show(opener){this.openedBy=opener,bodyScroll.lock(this.dialogHolder),this.setAttribute("open",""),trapFocus(this,this.dialogHolder),window.pauseAllMedia()}hide(){bodyScroll.unlock(this.dialogHolder),document.body.dispatchEvent(new CustomEvent("modalClosed")),this.removeAttribute("open"),removeTrapFocus(this.openedBy),window.unpauseAllMedia()}}customElements.define("modal-dialog",ModalDialog);function isIOS(){return/iPad|iPhone|iPod|iPad Simulator|iPhone Simulator|iPod Simulator/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1}class DeferredMedia extends HTMLElement{constructor(){super();const poster=this.querySelector('[id^="Deferred-Poster-"]');poster&&poster.addEventListener("click",this.loadContent.bind(this))}loadContent(focus=!0){if(!this.getAttribute("loaded")){const content=document.createElement("div");content.appendChild(this.querySelector("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0);const deferredElement=this.appendChild(content.querySelector("video, model-viewer, iframe"));isIOS()&&(deferredElement.controls=!0),deferredElement.play&&deferredElement.play(),focus&&deferredElement.focus()}}}customElements.define("deferred-media",DeferredMedia);class LocalizationForm extends HTMLElement{constructor(){super(),this.form=this.querySelector("form"),this.localizationInputElements=this.querySelectorAll('[name="country_code"], [name="language_code"]'),this.localizationInputElements.forEach(inputElement=>{inputElement.addEventListener("input",()=>{this.form.submit()})})}}customElements.define("localization-form",LocalizationForm);class AccordionDefault extends HTMLElement{constructor(){super(),this.hideMultiple=this.hasAttribute("data-hide-multiple"),this.summaryElements=this.querySelectorAll("summary"),this.setInitialAccessibilityAttr(),this.addEventListener("click",e=>{let isBtn=e.target.classList.contains("js-btn");isBtn||(isBtn=e.target.closest("summary.js-btn")),isBtn&&(e.preventDefault(),this.toggleDropdown(e.target.classList.contains("js-btn")?e.target:e.target.closest("summary")),this.collapseInactiveItems())}),this.addEventListener("keydown",e=>{if(!(e.key==="Escape"))return;const closestOpenDetails=document.activeElement.closest("details.is-active");if(!closestOpenDetails)return;const btn=closestOpenDetails.querySelector("summary");if(this.closest("menu-drawer").classList.contains("facets__drawer")){this.closest("menu-drawer").toggleDrawer();return}this.toggleDropdown(btn),this.collapseInactiveItems()})}collapseInactiveItems(){if(!this.hideMultiple)return;document.querySelectorAll("accordion-default summary").forEach(summary=>{summary.closest("accordion-default").toggleDropdown(summary,!0)})}toggleDropdown(btn,forceClose){const dropdown=btn.nextElementSibling;if(dropdown.classList.contains("is-transitioning"))return;const details=btn.parentElement,accordionContainer=details.closest(".product__accordion");if(forceClose){details.classList.remove("is-active"),details.removeAttribute("open"),btn.setAttribute("aria-expanded",!1),dropdown.style.height="0px";return}details.classList.toggle("is-active");const isDetailsActive=details.classList.contains("is-active");btn.setAttribute("aria-expanded",isDetailsActive),isDetailsActive?(details.setAttribute("open",""),dropdown.style.height=`${dropdown.scrollHeight}px`,setTimeout(()=>{if(accordionContainer){const rect=accordionContainer.getBoundingClientRect(),scrollY=window.scrollY+rect.top-150;window.scrollTo({top:scrollY,behavior:"smooth"})}},150)):(dropdown.style.height=`${dropdown.scrollHeight}px`,setTimeout(()=>{dropdown.style.height="0px"},0)),dropdown.classList.add("is-transitioning"),dropdown.addEventListener("transitionend",handleHeightTransition);function handleHeightTransition(e){if(dropdown.removeEventListener("transitionend",handleHeightTransition),dropdown.classList.remove("is-transitioning"),isDetailsActive){dropdown.style.height="auto";return}details.removeAttribute("open"),btn.focus()}}setInitialAccessibilityAttr(){this.summaryElements.forEach(summaryElement=>{const detailsElement=summaryElement.parentElement,dropdown=summaryElement.nextElementSibling,isDetailsOpen=detailsElement.hasAttribute("open");summaryElement.setAttribute("role","button"),summaryElement.setAttribute("aria-controls",dropdown.id),summaryElement.setAttribute("aria-expanded",isDetailsOpen)})}}customElements.define("accordion-default",AccordionDefault);const nav=document.querySelector(".js-nav");nav?.addEventListener("click",function(e){const isHoverDisabled=matchMedia("(hover: none)").matches,isLink=e.target.classList.contains("js-nav-link");if(!isHoverDisabled||!isLink)return;const linkItem=e.target.parentElement,activeLinkItem=linkItem.parentElement.querySelector(".js-nav-item.is-active"),hasDropdown=linkItem.classList.contains("has-dropdown");activeLinkItem!==linkItem&&activeLinkItem?.classList.remove("is-active"),hasDropdown&&(e.preventDefault(),linkItem.classList.toggle("is-active"))}),document.addEventListener("click",function(e){if(e.target.closest(".js-nav-item.is-active"))return;const activeLinkItems=document.querySelectorAll(".js-nav-item.is-active");activeLinkItems.length!=0&&activeLinkItems.forEach(activeLinkItem=>{activeLinkItem.classList.remove("is-active")})});let navItems=document.querySelectorAll(".js-nav-item.has-dropdown:not(.dropdown)");window.addEventListener("shopify:section:load",function(){navItems=document.querySelectorAll(".js-nav-item.has-dropdown:not(.dropdown)")}),["DOMContentLoaded","resize"].forEach(eventType=>{window.addEventListener(eventType,()=>{navItems=document.querySelectorAll(".js-nav-item.has-dropdown:not(.dropdown)"),navItems.forEach(navItem=>{const dropdown=navItem.querySelector(".js-dropdown");if(!dropdown)return;const{y,height}=navItem.getBoundingClientRect(),itemTop=y+height,dropdownY=dropdown.getBoundingClientRect().y;if(itemTop===dropdownY)return;const difference=Math.round(dropdownY-itemTop);navItem.style.setProperty("--after-height",`${difference}px`)})})});let hero=document.querySelector(".hero-banner")||document.querySelector("main section");window.addEventListener("shopify:section:load",function(){hero=document.querySelector(".hero-banner")||document.querySelector("main section")});const megaMenu=document.querySelector("nav.js-nav");if(megaMenu){let toggleHeaderTransparency2=function(){megaMenu.querySelector(".js-dropdown.is-visible")?header.classList.add("is-megamenu-open"):header.classList.remove("is-megamenu-open")},closeAllDropdowns2=function(){megaMenu.querySelectorAll(".js-dropdown.is-visible").forEach(dropdown=>{const menuItem=dropdown.closest(".js-nav-item")?.getAttribute("data-menu-item");megaMenu.querySelectorAll(".header__nav-sublinks").forEach(sublink=>{sublink.classList.contains("is-visible")&&sublink.classList.remove("is-visible")}),menuItem!==null&&dropdown.classList.remove("is-visible")})};var toggleHeaderTransparency=toggleHeaderTransparency2,closeAllDropdowns=closeAllDropdowns2;megaMenu.querySelectorAll(".js-nav-item").forEach(item=>{const menuContent=item.querySelector(".js-dropdown");item.addEventListener("mouseenter",()=>{item.getAttribute("data-menu-item")!==null&&(closeAllDropdowns2(),menuContent&&menuContent.classList.add("is-visible"),toggleHeaderTransparency2())}),item.addEventListener("mouseleave",e=>{const related=e.relatedTarget;related&&(menuContent?.contains(related)||item.contains(related)||megaMenu.contains(related))||(closeAllDropdowns2(),toggleHeaderTransparency2())}),menuContent&&menuContent.addEventListener("mouseleave",e=>{const related=e.relatedTarget;related&&(menuContent.contains(related)||item.contains(related)||megaMenu.contains(related))||(closeAllDropdowns2(),toggleHeaderTransparency2())})}),megaMenu.addEventListener("mouseleave",()=>{closeAllDropdowns2(),toggleHeaderTransparency2()})}document.querySelectorAll(".header__nav-item.dropdown [data-child-menu-item]").forEach(childItem=>{const childMenuContent=childItem.querySelector("[data-child-menu-content]");childItem.addEventListener("mouseenter",()=>{document.querySelectorAll(".header__nav-item.dropdown [data-child-menu-content]").forEach(menuContent=>{menuContent.classList.remove("is-visible")}),childMenuContent?.classList.add("is-visible")}),childItem.addEventListener("mouseleave",e=>{const related=e.relatedTarget;related&&related.closest("[data-child-menu-item]")!==childItem&&related.closest("[data-child-menu-item]")&&childMenuContent?.classList.remove("is-visible")})});const animationObserverOptions={rootMargin:"-100px"},animationObserver=new IntersectionObserver(entries=>{entries.forEach(entry=>{entry.isIntersecting&&(entry.target.classList.add("animation-init"),entry.target.addEventListener("animationend",()=>{entry.target.classList.add("animation-none")},{once:!0}),animationObserver.unobserve(entry.target))})},animationObserverOptions);observeAnimationElements(),window.addEventListener("shopify:section:load",()=>{observeAnimationElements()});function observeAnimationElements(){document.querySelectorAll('[class*="js-animation-"]').forEach(animationElement=>{animationObserver.observe(animationElement)})}function preventDefault(event){event.preventDefault()}class DropdownInput extends HTMLElement{constructor(){super(),this.select=this.querySelector("select"),this.dropdown=null,this.buttons=null,this.detailsTemplate=this.querySelector('template[data-name="details"]'),this.optionTemplate=this.querySelector('template[data-name="option"]'),this.select}connectedCallback(){this.init()}init(){this.select.classList.add("hidden"),this.appendTemplate()}appendTemplate(){const detailsTemplate=this.detailsTemplate.content.firstElementChild.cloneNode(!0),optionTemplate=this.optionTemplate.content,options=Array.from(this.select.options);if(options.length===0)return;const selectedOption=options.find(option=>option.selected);detailsTemplate.querySelector("[data-label]").textContent=selectedOption.label,options.forEach(option=>{const html=optionTemplate.cloneNode(!0),button=html.querySelector("button"),li=html.querySelector("li");button.setAttribute("data-value",option.value),button.textContent=option.label,button.toggleAttribute("disabled",option.disabled),li.classList.toggle("is-active",option.selected),detailsTemplate.querySelector("[data-options]").append(html)}),this.append(detailsTemplate),this.dropdown=this.querySelector("details"),this.buttons=this.dropdown.querySelectorAll("button"),this.setHandlers()}update(){this.dropdown=null,this.buttons=null,this.querySelector("details")?.remove(),this.appendTemplate()}setHandlers(){this.querySelector("summary").addEventListener("click",this.onSummaryClick.bind(this)),this.buttons.forEach((button,index)=>{button.addEventListener("click",event=>this.onOptionSelect(event,index))})}onOptionSelect(event,index){event.preventDefault(),Array.from(this.select.options).forEach(option=>option.removeAttribute("selected")),this.select.options[index].setAttribute("selected","selected"),this.select.value=event.target.dataset.value,this.select.dispatchEvent(new Event("change",{bubbles:!0})),this.querySelector("[data-label]").textContent=this.select.options[index].label,this.setSelectedOption(event.target),this.update()}setSelectedOption(buttonOption){const buttonEl=buttonOption;this.buttons.forEach(button=>{button.parentElement.classList.remove("is-active")}),buttonEl.parentElement.classList.add("is-active"),this.select.dispatchEvent(new Event("change")),this.select.closest("form")?.dispatchEvent(new Event("input")),this.close(void 0,this.dropdown.querySelector("summary"),this.dropdown)}onSummaryClick(event){const summaryElement=event.currentTarget,detailsElement=summaryElement.parentNode;detailsElement.hasAttribute("open")?this.close(event,summaryElement,detailsElement):this.open(summaryElement,detailsElement)}open(summaryElement,detailsElement){setTimeout(()=>{detailsElement.classList.add("is-open")}),summaryElement.setAttribute("aria-expanded",!0),trapFocus(detailsElement,summaryElement)}close(event,summaryElement,detailsElement){event&&event.preventDefault(),detailsElement.classList.remove("is-open"),removeTrapFocus(summaryElement),this.closeAnimation(detailsElement)}closeAnimation(detailsElement){let animationStart;const handleAnimation=time=>{animationStart===void 0&&(animationStart=time),time-animationStart<300?window.requestAnimationFrame(handleAnimation):detailsElement.removeAttribute("open")};window.requestAnimationFrame(handleAnimation)}}customElements.define("dropdown-input",DropdownInput);class CountdownTimer extends HTMLElement{constructor(){super();const timezone=this.dataset.timezone,date=this.dataset.date.split("-").filter(function(el){return el!=""}),day=parseInt(date[0]),month=parseInt(date[1]),year=parseInt(date[2]);let time=this.dataset.time,tarhour,tarmin;time!=null&&(time=time.split(":"),tarhour=parseInt(time[0]),tarmin=parseInt(time[1]));let date_string=month+"/"+day+"/"+year+" "+tarhour+":"+tarmin+" GMT"+timezone;this.countDownDate=new Date(year,month-1,day,tarhour,tarmin,0,0).getTime(),this.countDownDate=new Date(date_string).getTime()}convertDateForIos(date){var arr=date.split(/[- :]/);return date=new Date(arr[0],arr[1]-1,arr[2],arr[3],arr[4],arr[5]),date}connectedCallback(){let _this=this,timer_layout=_this.dataset.timerLayout,timer_ended_message=_this.dataset.endMessage;const updateTime=function(){const now=new Date().getTime(),distance=_this.countDownDate-now,days=Math.floor(distance/(1e3*60*60*24)),hours=Math.floor(distance%(1e3*60*60*24)/(1e3*60*60)),minutes=Math.floor(distance%(1e3*60*60)/(1e3*60)),seconds=Math.floor(distance%(1e3*60)/1e3);let countdownTimerColumns=_this.querySelector(".countdown-timer__columns"),countdownTimerMessage=_this.querySelector(".countdown-timer__message"),daysBlock=_this.querySelector(".days .countdown-timer__column-number"),hoursBlock=_this.querySelector(".hours .countdown-timer__column-number"),minutesBlock=_this.querySelector(".minutes .countdown-timer__column-number"),secondsBlock=_this.querySelector(".seconds .countdown-timer__column-number");if(distance<0){if(daysBlock&&(daysBlock.innerHTML=0),hoursBlock&&(hoursBlock.innerHTML=0),minutesBlock&&(minutesBlock.innerHTML=0),secondsBlock&&(secondsBlock.innerHTML=0),_this.classList.add("loading-effect"),_this.setAttribute("data-is-ended","true"),timer_layout!=="1"&&(countdownTimerColumns&&countdownTimerColumns.classList.add("hidden"),countdownTimerMessage&&countdownTimerMessage.classList.remove("hidden")),timer_layout==="1"){let calloutBannerContentHeading=_this.closest(".callout-banner")?.querySelector(".callout-banner__content-heading");calloutBannerContentHeading&&(calloutBannerContentHeading.innerHTML=_this.dataset.endMessage)}}else requestAnimationFrame(updateTime),daysBlock&&(daysBlock.innerHTML=CountdownTimer.addZero(days)),hoursBlock&&(hoursBlock.innerHTML=CountdownTimer.addZero(hours)),minutesBlock&&(minutesBlock.innerHTML=CountdownTimer.addZero(minutes)),secondsBlock&&(secondsBlock.innerHTML=CountdownTimer.addZero(seconds)),days===0&&daysBlock&&daysBlock.parentElement.parentElement.remove(),_this.classList.remove("loading-effect")};requestAnimationFrame(updateTime)}static addZero(x){return x<10&&x>=0?"0"+x:x}}if(customElements.define("countdown-timer",CountdownTimer),!customElements.get("text-truncator")){class TextTruncator extends HTMLElement{constructor(){super(),this.initElements()}connectedCallback(){this.setupTextTruncation()}initElements(){this.textTruncatorButton=this.querySelector(".text-truncator__button"),this.textTruncatorButtonText=this.textTruncatorButton?.querySelector(".text-truncator__button-text"),this.textTruncatorIconPlus=this.textTruncatorButton?.querySelector(".icon-plus"),this.textTruncatorIconMinus=this.textTruncatorButton?.querySelector(".icon-minus")}setupTextTruncation(){const textTruncator=this.querySelector(".text-truncator");textTruncator.style.display="block";const{lineHeight,lineCount,maxLineCount}=this.calculateLineCounts(textTruncator);lineCount>maxLineCount?(this.applyTextTruncation(textTruncator,lineHeight,maxLineCount),this.setupButton(textTruncator)):this.removeTextTruncation(textTruncator)}calculateLineCounts(element){const lineHeight=parseFloat(window.getComputedStyle(element).lineHeight),lineCount=Math.floor(element.clientHeight/lineHeight),maxLineCount=parseInt(this.dataset.maxLineCount);return{lineHeight,lineCount,maxLineCount}}applyTextTruncation(element,lineHeight,maxLineCount){element.classList.add("text-truncator--hidden");const maxHeight=`${lineHeight*maxLineCount}px`,style=document.createElement("style");style.innerHTML=`.text-truncator--hidden { max-height: ${maxHeight}; }`,document.head.appendChild(style),this.textTruncatorButton&&(this.textTruncatorButton.style.display="")}removeTextTruncation(element){element.classList.remove("text-truncator--hidden"),this.textTruncatorButton&&(this.textTruncatorButton.style.display="none")}setupButton(textTruncator){this.textTruncatorButton&&(this.textTruncatorButtonText.innerHTML=`${this.dataset.readMore}`,this.toggleIcons("plus"),this.textTruncatorButton.addEventListener("click",event=>{event.preventDefault(),this.toggleTextTruncation(textTruncator)}))}toggleTextTruncation(textTruncator){const paragraphs=textTruncator.querySelectorAll("p"),isHidden=textTruncator.classList.contains("text-truncator--hidden");paragraphs.forEach((paragraph,index)=>{paragraph.style.marginTop=isHidden&&index!==0?"1rem":""}),textTruncator.classList.toggle("text-truncator--hidden"),this.textTruncatorButtonText.innerHTML=`${isHidden?this.dataset.readLess:this.dataset.readMore}`,this.toggleIcons(isHidden?"minus":"plus"),isHidden&&window.innerWidth<768?textTruncator.style.overflow="scroll":(textTruncator.style.maxHeight="",textTruncator.style.overflow="")}toggleIcons(iconType){this.textTruncatorIconPlus.style.display=iconType==="plus"?"inline-block":"none",this.textTruncatorIconMinus.style.display=iconType==="minus"?"inline-block":"none"}}customElements.define("text-truncator",TextTruncator)}class BackToTop extends HTMLElement{constructor(){super(),this.vertical_offset_for_trigger=window.innerHeight*.5,this.addEventListener("click",this.scrollToTop.bind(this))}scrollToTop(){window.scroll({top:0,behavior:"smooth"})}connectedCallback(){window.addEventListener("scroll",()=>this.handleScroll(),{passive:!0})}handleScroll(){window.pageYOffset>this.vertical_offset_for_trigger?this.classList.remove("hide"):this.classList.add("hide")}}customElements.define("back-to-top",BackToTop);const submenuButtons=document.querySelectorAll(".drawer__submenu-btn");submenuButtons.forEach(button=>{button.addEventListener("click",function(){const parentDiv=button.parentElement,isActive=parentDiv.classList.contains("is-active"),submenuSecond=parentDiv.querySelector(".drawer__submenu-second");if(submenuSecond&&(submenuSecond.style.height=isActive?"0px":"auto"),document.querySelectorAll(".drawer__submenu-first-item").forEach(item=>{item.classList.remove("is-active");const submenu=item.querySelector(".drawer__submenu-second");submenu&&(submenu.style.height="0px")}),!isActive){parentDiv.classList.add("is-active");const submenuSec=parentDiv.querySelector(".drawer__submenu-second");submenuSec&&(submenuSec.style.height="auto")}})});const PUB_SUB_EVENTS={cartUpdate:"cart-update",quantityUpdate:"quantity-update",variantChange:"variant-change",cartError:"cart-error"};if(document.addEventListener("DOMContentLoaded",function(){var menuLinks=document.querySelectorAll("button.menu-link");menuLinks.forEach(function(menuLink){menuLink.addEventListener("click",function(){var activeMenuLink=document.querySelector(".menu-panel.is-active"),isNested=activeMenuLink?.hasAttribute("data-menu-nested"),targetRef=menuLink.dataset.ref,targetPanel=document.querySelector('div.menu-panel[data-menu="'+targetRef+'"]'),allPanels=document.querySelectorAll(".menu-panel");const primaryMenuPanel=document.querySelector(".primary-menu-panel");let hasActive=!1;targetPanel?(allPanels.forEach(function(panel){panel.classList.contains("is-active")&&(hasActive=!0,panel.hasAttribute("data-menu-nested")?(panel.classList.add("was-active"),primaryMenuPanel.style.opacity="0",panel.classList.remove("is-active")):(setTimeout(()=>{panel.style.opacity="0"},300),setTimeout(()=>{panel.classList.remove("is-active")},500)),panel.classList.contains("is-back")&&panel.classList.remove("is-back"),primaryMenuPanel.style.opacity="0")}),hasActive?primaryMenuPanel.style.opacity="0":primaryMenuPanel.style.opacity="1",targetPanel.classList.add("is-active"),targetPanel.style.opacity="1",targetPanel.classList.contains("is-back")&&targetPanel.classList.remove("is-back"),isNested&&targetPanel.classList.add("is-instant"),setTimeout(()=>{allPanels.forEach(function(panel){panel.classList.contains("was-active")&&panel.classList.remove("was-active"),targetPanel.classList.remove("is-instant")})},300)):(primaryMenuPanel.style.opacity="1",allPanels.forEach(function(panel){panel.classList.contains("is-active")&&(panel.classList.remove("is-active"),panel.classList.add("is-back"),panel.classList.add("non-active"),setTimeout(()=>{panel.classList.remove("non-active")},300))}))})});var faqPage=document.querySelector(".template--faq");if(faqPage){var accordions=document.querySelectorAll(".accordion__section");accordions.forEach(function(accordion){accordion.addEventListener("click",function(){var headerHeight=document.querySelector(".header").offsetHeight,bodyHeight=this.offsetHeight,accordionTop=accordion.getBoundingClientRect().top,scrollTo=accordionTop-headerHeight-bodyHeight;scrollTo<0&&(scrollTo=0),accordionTop>headerHeight&&(scrollTo=window.scrollY),window.scrollTo({top:scrollTo,behavior:"smooth"})})})}}),document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll(".swiper-buttons").forEach(function(swiperButtons){const prevButton=swiperButtons.querySelector("[class^='swiper-button--prev'], [class*=' swiper-button--prev']"),nextButton=swiperButtons.querySelector("[class^='swiper-button--next'], [class*=' swiper-button--next']");prevButton&&nextButton&&prevButton.classList.contains("swiper-button-disabled")&&nextButton.classList.contains("swiper-button-disabled")&&(swiperButtons.style.display="none");const grandParent=swiperButtons.parentElement.parentElement;grandParent.classList.contains("section__foot")&&!grandParent.querySelector("a.button")&&(grandParent.style.marginBlockStart="0")})}),!customElements.get("product-card")){class ProductCard extends HTMLElement{constructor(){super(),this.isQuickCart=this.classList.contains("product-card--quick-cart"),this.init()}init(){this.initForm(),this.initVariants(),this.imageBorderCalc(),this.querySelector(".product-card__media")&&this.querySelector(".product-card__media").classList.contains("product-card__media--hoverable")&&this.secondImgHoverStates(),document.querySelector("quick-cart-drawer")||this.querySelector(".quick-cart-drawer__trigger")?.remove()}initForm(){this.cart=document.querySelector("cart-notification")||document.querySelector("cart-drawer"),this.addToCartForm=this.querySelector("form.product-card__add-to-cart--form"),this.addToCartForm&&(this.addToCartForm.removeAttribute("method"),this.addToCartForm.removeAttribute("action")),this.submitButton=this.querySelector('button[type="submit"]'),this.addToCartForm&&this.addToCartForm.addEventListener("submit",this.submitAddToCartForm.bind(this))}submitAddToCartForm(event){event.preventDefault(),this.submitButton.setAttribute("disabled",""),this.submitButton.classList.add("add-to-cart--is-disabled");const config=fetchConfig("javascript");config.headers["X-Requested-With"]="XMLHttpRequest",delete config.headers["Content-Type"];const formData=new FormData(event.target);this.cart&&(formData.append("sections",this.cart.getSectionsToRender().map(section=>section.section)),formData.append("sections_url",window.location.pathname),this.cart.setActiveElement(document.activeElement)),config.body=formData,fetch(`${routes.cart_add_url}`,config).then(response=>response.json()).then(response=>{if(response.errors){this.handleErrorMessage(response.errors);return}this.cart&&this.cart.renderContents(response),updateCartCounters()}).catch(error=>{console.error(error)}).finally(()=>{this.submitButton.removeAttribute("disabled"),this.submitButton.classList.remove("add-to-cart--is-disabled");const quickCartDrawer=this.closest("quick-cart-drawer");quickCartDrawer&&quickCartDrawer.close()})}handleErrorMessage(errorMessage=!1){this.errorMessageWrapper=this.querySelector(".product-form__error-message-wrapper"),this.errorMessageWrapper&&(this.errorMessage=this.errorMessageWrapper.querySelector(".product-form__error-message"),this.errorMessageWrapper.toggleAttribute("hidden",!errorMessage),errorMessage&&(this.errorMessage.textContent=errorMessage),setTimeout(()=>{this.resetErrorMessage()},5e3))}resetErrorMessage(){this.errorMessageWrapper&&(this.errorMessageWrapper.toggleAttribute("hidden",!0),this.errorMessageWrapper.textContent="")}initVariants(){this.getVariantsData(),this.querySelectorAll(".button--variant input").forEach(variantButton=>{variantButton.addEventListener("click",this.onClickOptionRadioInputs.bind(this))});let initialCheckedOptions=[];this.querySelectorAll(".variant-option-radio-input").forEach(radioInput=>{radioInput.checked&&initialCheckedOptions.push(radioInput.value)}),initialCheckedOptions.length===0&&this.querySelector(".variant-option-radio-input")?.click(),this.updateVariantStatuses();const{currentVariantId}=this.findCurrentVariantFromOptionRadioInputs();this.querySelector(".product-card__media")?.dataset.updateMedia||this.updateMediaForVariant(currentVariantId),this.setCartButtonState()}updateVariantStatuses(){const selectedOptionOneVariants=this.variantsObj?.filter(variant=>this.querySelector(":checked")?.value===variant.option1),inputWrappers=[...this.querySelectorAll(".js-product-card-options")];inputWrappers.forEach((option,index)=>{if(index===0)return;const optionInputs=[...option.querySelectorAll('input[type="radio"]')],previousOptionSelected=inputWrappers[index-1].querySelector(":checked")?.value,availableOptionInputsValue=selectedOptionOneVariants?.filter(variant=>variant.available&&variant[`option${index}`]===previousOptionSelected).map(variantOption=>variantOption[`option${index+1}`]);this.setInputAvailability(optionInputs,availableOptionInputsValue)})}setInputAvailability(elementList,availableValuesList){elementList.forEach(element=>{const value=element.getAttribute("value"),availableElement=availableValuesList.includes(value);element.closest("li").classList.toggle("disabled",!availableElement),element.toggleAttribute("disabled",!availableElement)})}onClickOptionRadioInputs(event){const{currentVariantId,currentCheckedOptions,currentVariantMediaId}=this.findCurrentVariantFromOptionRadioInputs();this.clearRadioInputStates(event),currentCheckedOptions.includes(event.target.value)&&(event.target.setAttribute("checked",""),this.updateVariantStatuses(),this.disableAddToCartButons(),this.updatePriceForVariant(currentVariantId),this.updateDiscountBadgeForVariant(currentVariantId)),this.updateFormVariantIdInput();let allVariantIdsWithImageAvailable=[];this.querySelectorAll("[data-product-images]").forEach(el=>{el.getAttribute("data-product-images").split(",").forEach(v=>{allVariantIdsWithImageAvailable.push(v)})}),allVariantIdsWithImageAvailable.includes(currentVariantId.toString())&&this.updateMediaForVariant(currentVariantId),this.isQuickCart&¤tVariantMediaId&&document.querySelector("quick-cart-drawer").setActiveMedia(currentVariantMediaId),this.querySelectorAll("[data-product-link]").forEach(linkItem=>{const currentLink=linkItem.getAttribute("href");if(currentVariantId){const newLink=currentLink.split("?variant=")[0]+"?variant="+currentVariantId;linkItem.setAttribute("href",newLink)}})}setCartButtonState(){const{currentVariantAvailable}=this.findCurrentVariantFromOptionRadioInputs();currentVariantAvailable&&this.submitButton?.toggleAttribute("disabled",!currentVariantAvailable)}updateMediaForVariant(currentVariantId){currentVariantId&&this.querySelectorAll("[data-product-images]").forEach(el=>{el.classList.toggle("hidden",!el.getAttribute("data-product-images").includes(currentVariantId))})}updateFormVariantIdInput(){const{currentVariantId}=this.findCurrentVariantFromOptionRadioInputs(),input=this.querySelector('input[name="id"]');currentVariantId&&input&&(this.querySelector('input[name="id"]').value=currentVariantId)}updatePriceForVariant(variantId){const selectedVariant=this.variantsObj?.find(variant=>variant.id===variantId);if(selectedVariant){let priceContainer=this.querySelector(".price__container");if(!priceContainer){const previousElement=this.previousElementSibling;previousElement&&(priceContainer=previousElement.querySelector(".price__container"))}if(!priceContainer)return;const moneyFormat=priceContainer.dataset.moneyFormat,price=formatPrice(moneyFormat,selectedVariant.price/100),compare_at_price=formatPrice(moneyFormat,selectedVariant.compare_at_price/100),labelPriceRegular=priceContainer.dataset.labelPriceRegular,labelPriceSale=priceContainer.dataset.labelPriceSale;if(parseFloat(compare_at_price)>parseFloat(price)){const priceHtml=`
${labelPriceSale} ${compare_at_price} ${labelPriceRegular} ${price}
`;priceContainer.innerHTML=priceHtml}else{const priceHtml=`
${labelPriceRegular} ${price}
`;priceContainer.innerHTML=priceHtml}}}updateDiscountBadgeForVariant(variantId){const selectedVariant=this.variantsObj?.find(variant=>variant.id===variantId);if(selectedVariant){let discountBadge=this.querySelector(".product-card__badge--discount");if(!discountBadge){const previousElement=this.previousElementSibling;previousElement&&(discountBadge=previousElement.querySelector(".product-card__badge--discount"))}if(discountBadge)if(selectedVariant.compare_at_price>selectedVariant.price){discountBadge.classList.remove("hidden");const percentageElement=discountBadge.querySelector(".percentage"),discountPercentage=Math.round((selectedVariant.compare_at_price-selectedVariant.price)/selectedVariant.compare_at_price*100);percentageElement.textContent=discountPercentage}else discountBadge.classList.add("hidden")}}disableCheckedVariantOptions(){this.querySelectorAll(".variant-option-radio-input[checked]").forEach(variantBtn=>{this.isQuickCart?variantBtn.setAttribute("disabled",""):variantBtn.removeAttribute("disabled")})}disableAddToCartButons(){const{currentVariantAvailable}=this.findCurrentVariantFromOptionRadioInputs(),submitBtn=this.querySelector(".product-card__add-to-cart--form button[type='submit']");submitBtn&&!submitBtn.classList.contains("product-card__add-to-cart--button")&&(currentVariantAvailable?submitBtn.removeAttribute("disabled"):submitBtn.setAttribute("disabled",""))}clearRadioInputStates(event){event.target.closest(".js-product-card-options").querySelectorAll(".variant-option-radio-input").forEach(radioInput=>{radioInput.removeAttribute("checked")})}findCurrentVariantFromOptionRadioInputs(){let currentVariantAvailable=null,currentVariantId="",currentVariantMediaId="",currentCheckedOptions=[];return this.querySelectorAll(".js-product-card-options").forEach(item=>{item.parentNode.classList.contains("hidden")?currentCheckedOptions.push(item.querySelector('input[type="radio"]').value):item.querySelectorAll('input[type="radio"]').forEach(radioInput=>{radioInput.checked&¤tCheckedOptions.push(radioInput.value)})}),this.variantsObj?.forEach(item=>{(item.options.join()===currentCheckedOptions.join()||item.options.length===1&¤tCheckedOptions.length===0)&&(currentVariantId=item.id,currentVariantAvailable=item.available,currentVariantMediaId=item.featured_media?.id||null)}),{currentVariantAvailable,currentVariantId,currentCheckedOptions,currentVariantMediaId}}findAndDisableAllUnavailableOptionsForSelectedVariant(selectedOption){let selectedOptionName="";selectedOption?selectedOptionName=selectedOption.value:selectedOptionName=this.querySelectorAll(".variant-option-radio-input")[0].value;const{currentCheckedOptions}=this.findCurrentVariantFromOptionRadioInputs(),optionIndex=currentCheckedOptions.indexOf(selectedOptionName)+1;this.variantsObj.forEach(item=>{item[`option${optionIndex}`]===selectedOptionName&&!item.available&&[1,2,3].forEach(i=>{i!==optionIndex&&item[`option${i}`]&&this.querySelector(`.variant-option-radio-input[value="${item[`option${i}`]}"]`).closest("li").classList.add("disabled")})})}getVariantsData(){const variantsObj=JSON.parse(this.querySelector("[data-product-variants-json]")?this.querySelector("[data-product-variants-json]").textContent:"[]");return variantsObj&&Object.keys(variantsObj).length===0?!1:(this.variantsObj=variantsObj,variantsObj)}secondImgHoverStates(){const hoverableItem=this.querySelector(".product-card__actions");!hoverableItem||window.innerWidth<750||(hoverableItem.addEventListener("mouseenter",()=>hoverableItem.classList.add("is--hovering")),hoverableItem.addEventListener("mouseleave",()=>hoverableItem.classList.remove("is--hovering")))}imageBorderCalc(){const images=document.querySelectorAll(".product-swatch__inner-border--enable img");images&&images.forEach(image=>{image.complete?processImage(image):image.onload=()=>processImage(image)});function processImage(image){const canvas=document.createElement("canvas"),ctx=canvas.getContext("2d"),width=image.naturalWidth||image.width,height=image.naturalHeight||image.height;canvas.width=width,canvas.height=height,ctx.drawImage(image,0,0,width,height);const centerX=Math.floor(width/2),centerY=Math.floor(height/2),pixelData=ctx.getImageData(centerX,centerY,1,1).data,r=pixelData[0],g=pixelData[1],b=pixelData[2],darkenFactor=.8,darkenedR=Math.max(0,Math.floor(r*darkenFactor)),darkenedG=Math.max(0,Math.floor(g*darkenFactor)),darkenedB=Math.max(0,Math.floor(b*darkenFactor)),darkenedColor=`rgb(${darkenedR}, ${darkenedG}, ${darkenedB})`;image.style.borderColor=darkenedColor}}}customElements.define("product-card",ProductCard)}async function updateCartCounters(){const headerCartCounters=document.querySelectorAll(".cart-count-badge"),drawerCartCounters=document.querySelectorAll(".cart-drawer__title-counter"),cartCounters=[...headerCartCounters,...drawerCartCounters].filter(counter=>counter!==null);try{const state=await(await fetch(`${routes.cart_url}.json`,{method:"GET",headers:{"Content-Type":"application/json"}})).text(),parsedState=JSON.parse(state);cartCounters.length>0&&cartCounters.forEach(counter=>{counter.textContent=parsedState.item_count}),headerCartCounters.length>0&&headerCartCounters.forEach(counter=>{counter.classList.toggle("hidden",parsedState.item_count===0)})}catch(error){console.error("Cart counters could not be updated:",error)}}async function updateFreeShipping(){const conversionRate=Shopify.currency.rate,{cart_free_shipping_text:freeShippingTextDefault,cart_free_shipping_text_success:freeShippingTextSuccessDefault,cart_free_shipping_threshold:freeShippingThreshold,money_format:moneyFormat}=window.theme.settings,freeShippingElements=document.querySelectorAll("shipping-bar");try{const response=await fetch("/cart.js"),{total_price,item_count}=await response.json(),visibility=item_count==0?"hidden":"visible";freeShippingElements.forEach(el=>el.style.visibility=visibility);const newShippingThreshold=Math.round(freeShippingThreshold*conversionRate),newRemainingAmount=newShippingThreshold-total_price;freeShippingElements.forEach(freeShipping=>{const freeShippingTextElement=freeShipping.querySelector(".progress-bar__text"),progressBarInner=freeShipping.querySelector("[data-progress-line]");if(total_price>=newShippingThreshold)freeShippingTextElement.innerHTML=freeShippingTextSuccessDefault,progressBarInner.style.width="100%";else{const moneyMatch=freeShippingTextDefault.match(/(.*)<\/span>/);if(moneyMatch){const newFreeShippingText=freeShippingTextDefault.replace(moneyMatch[1],`${formatPrice(moneyFormat,newRemainingAmount/100)}`);freeShippingTextElement.innerHTML=newFreeShippingText}progressBarInner.style.width=`calc(${total_price/newShippingThreshold*100}% + 2px)`}})}catch(error){console.error("Error fetching cart data:",error)}}function formatPrice(moneyString,amount){amount=amount.toFixed(2);const money_format=/{{(.*?)}}/;let money_format_option="";moneyString.match(money_format)?money_format_option=moneyString.match(money_format)[1]:console.error("No match found");let newValue="";switch(money_format_option){case"amount":newValue=moneyString.replace(money_format,Intl.NumberFormat(Shopify.locale,{minimumFractionDigits:2,maximumFractionDigits:2}).format(amount));break;case"amount_with_comma_separator":newValue=moneyString.replace(money_format,amount.toString().replace(".",","));break;case"amount_no_decimals":newValue=moneyString.replace(money_format,Math.round(amount));break;case"amount_no_decimals_with_comma_separator":newValue=moneyString.replace(money_format,Intl.NumberFormat(Shopify.locale).format(Math.round(amount)).toString().replace(".",","));break;default:newValue=moneyString.replace(money_format,amount);break}return newValue}class SwiperComponent extends HTMLElement{constructor(){super(),this.swiperOptions=JSON.parse(this.getAttribute("data-swiper-options"))||{},this.swiperInitialized=!1,this.section=this.closest("section"),this.observer=null}connectedCallback(){this.section&&this.section.classList.contains("shopify-section")&&(this.observer=new IntersectionObserver((entries,observer)=>{entries.forEach(entry=>{entry.isIntersecting&&(this.init(),observer.disconnect())})}),this.observer.observe(this.section)),Shopify.designMode?(window.addEventListener("shopify:section:load",()=>this.init()),window.addEventListener("shopify:section:select",()=>this.init()),setTimeout(()=>{this.swiperInitialized||this.init()},100)):window.addEventListener("load",()=>this.init())}init(){if(this.swiperInitialized)return;this.swiperInitialized=!0;const swiperOptions=this.swiperOptions,option={slideshowId:swiperOptions.swiperId||"",slideCount:swiperOptions.slideCount||1,slidesPerView:swiperOptions.slidesPerView||"auto",slidesPerViewDesktop:swiperOptions.slidesPerViewDesktop||swiperOptions.slidesPerView||4,slidesPerViewTablet:swiperOptions.slidesPerViewTablet||swiperOptions.slidesPerViewDesktop||swiperOptions.slidesPerView||3,spaceBetween:swiperOptions.spaceBetweenMobile||0,spaceBetweenDesktop:swiperOptions.spaceBetweenDesktop||swiperOptions.spaceBetween||0,spaceBetweenTablet:swiperOptions.spaceBetweenTablet||swiperOptions.spaceBetweenDesktop||swiperOptions.spaceBetweenMobile||0,enabled:swiperOptions.enabled??!0,enabledDesktop:swiperOptions.enabledDesktop??swiperOptions.enabled??!0,enabledTablet:swiperOptions.enabledTablet??swiperOptions.enabledDesktop??swiperOptions.enabled??!0,allowTouchMove:swiperOptions.allowTouchMove??(typeof swiperOptions.slidesPerView=="number"?swiperOptions.slideCount>swiperOptions.slidesPerView:!0),allowTouchMoveTablet:swiperOptions.allowTouchMoveTablet??(typeof swiperOptions.slidesPerViewTablet=="number"?swiperOptions.slideCount>swiperOptions.slidesPerViewTablet:!0),allowTouchMoveDesktop:swiperOptions.allowTouchMoveDesktop??(typeof swiperOptions.slidesPerViewDesktop=="number"?swiperOptions.slideCount>swiperOptions.slidesPerViewDesktop:!0)};if(this.swiperOptions={a11y:!1,allowTouchMove:option.allowTouchMove,loop:swiperOptions.loop||!1,rewind:swiperOptions.rewind||!1,followFinger:swiperOptions.followFinger||!1,cssMode:swiperOptions.cssMode||!1,enabled:option.enabled,watchOverflow:!0,observer:!0,cache:!0,slidesPerView:option.slidesPerView,spaceBetween:option.spaceBetween,breakpoints:{750:{enabled:option.enabledTablet,allowTouchMove:option.allowTouchMoveTablet,slidesPerView:option.slidesPerViewTablet,spaceBetween:option.spaceBetweenTablet},990:{enabled:option.enabledDesktop,allowTouchMove:option.allowTouchMoveDesktop,slidesPerView:option.slidesPerViewDesktop,spaceBetween:option.spaceBetweenDesktop}}},swiperOptions.navigation&&(this.swiperOptions.navigation={...swiperOptions.navigation}),swiperOptions.effect=="fade"&&(this.swiperOptions.effect="fade",this.swiperOptions.fadeEffect={crossFade:!0}),swiperOptions.pagination=="custom_bullet"?this.swiperOptions.pagination={el:swiperOptions.paginationElement,clickable:!0,renderBullet:function(i,className){return` `}}:this.swiperOptions.pagination={el:`.swiper-pagination--${swiperOptions.swiperId}`,clickable:!0},swiperOptions.autoplay&&(this.swiperOptions.autoplay={...swiperOptions.autoplay},swiperOptions.autoplayProgress)){const progressCircle=this.querySelector(`.autoplay-progress--${swiperOptions.swiperId} svg`),progressContent=this.querySelector(`.autoplay-progress--${swiperOptions.swiperId} span`);this.swiperOptions.on={autoplayTimeLeft(s,time,progress){progressCircle.style.setProperty("--progress",1-progress),progressContent.textContent=`${Math.ceil(time/1e3)}`}}}this.swiper=new Swiper(this,{...this.swiperOptions})}}customElements.define("swiper-component",SwiperComponent); //# sourceMappingURL=/cdn/shop/t/16/assets/global.js.map?v=170926312762306934001767977398