1function getFocusableElements(container){return 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"))}function getVisibleFocusableInMenuPanel(container){if(!container)return[];var root=container.querySelector(".menu-drawer__inner-submenu")||container,all=getFocusableElements(root),nested=root.querySelectorAll(".menu-drawer__submenu");return nested.length===0?all:all.filter(function(el){return!Array.from(nested).some(function(sub){return sub.contains(el)})})}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={};function trapFocus(container,elementToFocus=container){var elements=getFocusableElements(container),first=elements[0],last=elements[elements.length-1];removeTrapFocus(),trapFocusHandlers.keydownActive=!1,trapFocusHandlers.focusin=event=>{container.contains(event.target)&&(trapFocusHandlers.keydownActive||(trapFocusHandlers.keydownActive=!0,document.addEventListener("keydown",trapFocusHandlers.keydown,!0)))},trapFocusHandlers.focusout=function(){setTimeout(function(){container.contains(document.activeElement)||(trapFocusHandlers.keydownActive=!1,document.removeEventListener("keydown",trapFocusHandlers.keydown,!0))},0)},trapFocusHandlers.keydown=function(event){if(event.code.toUpperCase()==="TAB"&&container.contains(event.target)){var elements2=container.classList&&container.classList.contains("menu-drawer__submenu")||container.querySelector(".menu-drawer__inner-submenu")?getVisibleFocusableInMenuPanel(container):getFocusableElements(container),firstEl=elements2[0],lastEl=elements2[elements2.length-1],isMenuDrawerContainer=container.id==="Details-menu-drawer-container"||container.classList&&container.classList.contains("menu-drawer-container"),menuCloseSvg=null,menuCloseSummary=null;if(isMenuDrawerContainer&&(menuCloseSvg=container.querySelector('summary.header__icon--menu svg.icon-close[aria-label="Menu Close"]')||container.querySelector("summary svg.icon-close"),menuCloseSummary=container.querySelector("summary.header__icon--menu")||container.querySelector("summary"),menuCloseSvg?firstEl=menuCloseSvg:menuCloseSummary&&(firstEl=menuCloseSummary)),!(!firstEl||!lastEl)){var isLastAndTab=!event.shiftKey&&(event.target===lastEl||isMenuDrawerContainer&&(function(){var drawer=container.querySelector("#menu-drawer");if(!drawer||!drawer.contains(event.target))return!1;var inDrawer=getFocusableElements(drawer);return inDrawer.length&&event.target===inDrawer[inDrawer.length-1]})());isLastAndTab?(event.preventDefault(),event.stopPropagation(),menuCloseSvg?(menuCloseSvg.focus(),document.activeElement!==menuCloseSvg&&menuCloseSummary&&menuCloseSummary.focus()):menuCloseSummary?menuCloseSummary.focus():firstEl.focus()):(event.target===container||event.target===firstEl)&&event.shiftKey&&(event.preventDefault(),event.stopPropagation(),lastEl.focus())}}},document.addEventListener("focusout",trapFocusHandlers.focusout),document.addEventListener("focusin",trapFocusHandlers.focusin),elementToFocus.focus()}try{document.querySelector(":focus-visible")}catch{focusVisiblePolyfill()}function focusVisiblePolyfill(){const navKeys=["ARROWUP","ARROWDOWN","ARROWLEFT","ARROWRIGHT","TAB","ENTER","SPACE","ESCAPE","HOME","END","PAGEUP","PAGEDOWN"];let currentFocusedElement=null,mouseClick=null;window.addEventListener("keydown",event=>{navKeys.includes(event.code.toUpperCase())&&(mouseClick=!1)}),window.addEventListener("mousedown",event=>{mouseClick=!0}),window.addEventListener("focus",()=>{currentFocusedElement&¤tFocusedElement.classList.remove("focused"),!mouseClick&&(currentFocusedElement=document.activeElement,currentFocusedElement.classList.add("focused"))},!0)}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 removeTrapFocus(elementToFocus=null){document.removeEventListener("focusin",trapFocusHandlers.focusin),document.removeEventListener("focusout",trapFocusHandlers.focusout),document.removeEventListener("keydown",trapFocusHandlers.keydown,!0),trapFocusHandlers.keydownActive=!1,elementToFocus&&elementToFocus.focus()}function 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()}class QuantityInput extends HTMLElement{constructor(){super(),this.input=this.querySelector("input"),this.changeEvent=ne
1w Event("change",{bubbles:!0}),this.querySelectorAll("button").forEach(button=>button.addEventListener("click",this.onButtonClick.bind(this)))}onButtonClick(event){event.preventDefault();const previousValue=this.input.value;event.target.name==="plus"?this.input.stepUp():this.input.stepDown(),previousValue!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}}customElements.define("quantity-input",QuantityInput);function debounce(fn,wait){let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}}function fetchConfig(type="json"){return{method:"POST",headers:{"Content-Type":"application/json",Accept:`application/${type}`}}}typeof window.Shopify>"u"&&(window.Shopify={}),Shopify.bind=function(fn,scope){return function(){return fn.apply(scope,arguments)}},Shopify.setSelectorByValue=function(selector,value){for(var i=0,count=selector.options.length;i<count;i++){var option=selector.options[i];if(value==option.value||value==option.innerHTML)return selector.selectedIndex=i,i}},Shopify.addListener=function(target,eventName,callback){target.addEventListener?target.addEventListener(eventName,callback,!1):target.attachEvent("on"+eventName,callback)},Shopify.postLink=function(path,options){options=options||{};var method=options.method||"post",params=options.parameters||{},form=document.createElement("form");form.setAttribute("method",method),form.setAttribute("action",path);for(var key in params){var hiddenField=document.createElement("input");hiddenField.setAttribute("type","hidden"),hiddenField.setAttribute("name",key),hiddenField.setAttribute("value",params[key]),form.appendChild(hiddenField)}document.body.appendChild(form),form.submit(),document.body.removeChild(form)},Shopify.CountryProvinceSelector=function(country_domid,province_domid,options){this.countryEl=document.getElementById(country_domid),this.provinceEl=document.getElementById(province_domid),this.provinceContainer=document.getElementById(options.hideElement||province_domid),Shopify.addListener(this.countryEl,"change",Shopify.bind(this.countryHandler,this)),this.initCountry(),this.initProvince()},Shopify.CountryProvinceSelector.prototype={initCountry:function(){var value=this.countryEl.getAttribute("data-default");Shopify.setSelectorByValue(this.countryEl,value),this.countryHandler()},initProvince:function(){var value=this.provinceEl.getAttribute("data-default");value&&this.provinceEl.options.length>0&&Shopify.setSelectorByValue(this.provinceEl,value)},countryHandler:function(e){var opt=this.countryEl.options[this.countryEl.selectedIndex],raw=opt.getAttribute("data-provinces"),provinces=JSON.parse(raw);if(this.clearOptions(this.provinceEl),provinces&&provinces.length==0)this.provinceContainer.style.display="none";else{for(var i=0;i<provinces.length;i++){var opt=document.createElement("option");opt.value=provinces[i][0],opt.innerHTML=provinces[i][1],this.provinceEl.appendChild(opt)}this.provinceContainer.style.display=""}},clearOptions:function(selector){for(;selector.firstChild;)selector.removeChild(selector.firstChild)},setOptions:function(selector,values){for(var i=0,count=values.length;i<values.length;i++){var opt=document.createElement("option");opt.value=values[i],opt.innerHTML=values[i],selector.appendChild(opt)}}};class MenuDrawer extends HTMLElement{constructor(){super(),this.mainDetailsToggle=this.querySelector("details"),navigator.platform==="iPhone"&&document.documentElement.style.setProperty("--viewport-height",`${window.innerHeight}px`),this.addEventListener("keyup",this.onKeyUp.bind(this)),this.addEventListener("focusout",this.onFocusOut.bind(this)),this.bindEvents()}bindEvents(){this.querySelectorAll("summary").forEach(summary=>summary.addEventListener("click",this.onSummaryClick.bind(this))),this.querySelectorAll("button").forEach(button=>button.addEventListener("click",this.onCloseButtonClick.bind(this)))}onKeyUp(event){if(event.code.toUpperCase()!=="ESCAPE")return;const openDetailsElement=event.target.closest("details[open]");openDetailsElement&&(openDetailsElement===this.mainDetailsToggle?this.closeMenuDrawer(event,this.mainDetailsToggle.querySelector("summary")):this.closeSubmenu(openDetailsElement))}onSummaryClick(event){const summaryElement=event.currentTarget,detailsElement=summaryElement.parentNode,parentMenuElement=detailsElement.closest(".has-submenu"),isOpen=detailsElement.hasAttribute("open"),reducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)");function addTrapFocus(){trapFocus(summaryElement.nextElementSibling,detailsElement.querySelector("button")),summaryElement.nextElementSibling.removeEventListener("transitionend",addTrapFocus)}detailsElement===this.mainDetailsToggle?(isOpen&&event.preventDefault(),isOpen?this.closeMenuDrawer(event,summaryElement):this.openMenuDrawer(summaryElement)):setTimeout(()=>{detailsElement.classList.add("menu-opening"),summaryElement.setAttribute("aria-expanded",!0),parentMenuElement&&parentMenuElement.classList.add("submenu-open");const utilityLinks=this.querySelector(".menu-drawer__utility-links");
1utilityLinks&&utilityLinks.classList.add("menu-drawer__utility-links--submenu-open"),!reducedMotion||reducedMotion.matches?addTrapFocus():summaryElement.nextElementSibling.addEventListener("transitionend",addTrapFocus)},100)}openMenuDrawer(summaryElement){setTimeout(()=>{this.mainDetailsToggle.classList.add("menu-opening")}),summaryElement.setAttribute("aria-expanded",!0),trapFocus(this.mainDetailsToggle,summaryElement),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`)}closeMenuDrawer(event,elementToFocus=!1){if(event===void 0)return;this.mainDetailsToggle.classList.remove("menu-opening"),this.mainDetailsToggle.classList.contains("mobile-facets__disclosure")||this.mainDetailsToggle.querySelectorAll("details").forEach(details=>{details.removeAttribute("open"),details.classList.remove("menu-opening")}),this.mainDetailsToggle.querySelectorAll(".submenu-open").forEach(submenu=>{submenu.classList.remove("submenu-open")});const utilityLinks=this.querySelector(".menu-drawer__utility-links");utilityLinks&&utilityLinks.classList.remove("menu-drawer__utility-links--submenu-open"),document.body.classList.remove(`overflow-hidden-${this.dataset.breakpoint}`),removeTrapFocus(elementToFocus),this.closeAnimation(this.mainDetailsToggle)}onFocusOut(event){setTimeout(()=>{this.mainDetailsToggle.hasAttribute("open")&&!this.mainDetailsToggle.contains(document.activeElement)&&this.closeMenuDrawer()})}onCloseButtonClick(event){const detailsElement=event.currentTarget.closest("details");this.closeSubmenu(detailsElement)}closeSubmenu(detailsElement){const parentMenuElement=detailsElement.closest(".submenu-open");if(parentMenuElement&&parentMenuElement.classList.remove("submenu-open"),detailsElement.classList.remove("menu-opening"),detailsElement.querySelector("summary").setAttribute("aria-expanded",!1),removeTrapFocus(detail
1sElement.querySelector("summary")),!this.mainDetailsToggle.querySelector(".submenu-open")){const utilityLinks=this.querySelector(".menu-drawer__utility-links");utilityLinks&&utilityLinks.classList.remove("menu-drawer__utility-links--submenu-open")}this.closeAnimation(detailsElement)}closeAnimation(detailsElement){let animationStart;const handleAnimation=time=>{animationStart===void 0&&(animationStart=time),time-animationStart<400?window.requestAnimationFrame(handleAnimation):(detailsElement.removeAttribute("open"),detailsElement.closest("details[open]")&&trapFocus(detailsElement.closest("details[open]"),detailsElement.querySelector("summary")))};window.requestAnimationFrame(handleAnimation)}}customElements.define("menu-drawer",MenuDrawer);class HeaderDrawer extends MenuDrawer{constructor(){super()}openMenuDrawer(summaryElement){this.header=this.header||document.getElementById("shopify-section-header"),this.borderOffset=this.borderOffset||this.closest(".header-wrapper").classList.contains("header-wrapper--border-bottom")?1:0,document.documentElement.style.setProperty("--header-bottom-position",`${parseInt(this.header.getBoundingClientRect().bottom-this.borderOffset)}px`),this.header.classList.add("menu-open"),setTimeout(()=>{this.mainDetailsToggle.classList.add("menu-opening")}),summaryElement.setAttribute("aria-expanded",!0),trapFocus(this.mainDetailsToggle,summaryElement),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`)}closeMenuDrawer(event,elementToFocus){super.closeMenuDrawer(event,elementToFocus),this.header.classList.remove("menu-open")}}customElements.define("header-drawer",HeaderDrawer);class ModalDialog extends HTMLElement{constructor(){super(),this.querySelector('[id^="ModalClose-"]').addEventListener("click",this.hide.bind(this,!1)),this.addEventListener("keyup",event=>{event.code.toUpperCase()==="ESCAPE"&&this.hide()}),this.classList.contains("media-modal")?this.addEventListener("pointerup",event=>{event.pointerType==="mouse"&&!event.target.closest("deferred-media, product-model")&&this.hide()}):this.addEventListener("click",event=>{event.target===this&&this.hide()})}connectedCallback(){this.moved||(this.moved=!0,document.body.appendChild(this))}show(opener){this.openedBy=opener;const popup=this.querySelector(".template-popup");document.body.classList.add("overflow-hidden"),this.setAttribute("open",""),popup&&popup.loadContent(),trapFocus(this,this.querySelector('[role="dialog"]')),window.pauseAllMedia()}hide(){document.body.classList.remove("overflow-hidden"),document.body.dispatchEvent(new CustomEvent("modalClosed")),this.removeAttribute("open"),removeTrapFocus(this.openedBy),window.pauseAllMedia()}}customElements.define("modal-dialog",ModalDialog);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 DeferredMedia extends HTMLElement{constructor(){super();const poster=this.querySelector('[id^="Deferred-Poster-"]');poster&&(console.log(poster),window.innerWidth<750?poster.classList.contains("js-video-autoload")&&poster.addEventListener("click",this.loadContent.bind(this)):poster.classList.contains("js-video-autoload")?(this.checkIfVideoInView=this.checkIfVideoInView.bind(this),document.addEventListener("scroll",this.checkIfVideoInView)):poster.classList.contains("no_poster")?(this.checkIfVideoInView=this.checkIfVideoInView.bind(this),document.addEventListener("scroll",this.checkIfVideoInView)):poster.addEventListener("click",this.loadContent.bind(this)))}checkIfVideoInView(){const posterBoundingClientRect=this.querySelector('[id^="Deferred-Poster-"]').getBoundingClientRect(),top=posterBoundingClientRect.top-50,bottom=posterBoundingClientRect.bottom+50;top<=window.innerHeight&&bottom>=0&&(this.loadContent(),this.removeVideoListener())}removeVideoListener(el){document.removeEventListener("scroll",this.checkIfVideoInView)}loadContent(){if(!this.getAttribute("loaded")){const content=document.createElement("div");content.appendChild(this.querySelector("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0),this.appendChild(content.querySelector("video, model-viewer, iframe")).focus();const ad=this.closest(".card-wrapper__ad");if(!ad)return;ad.classList.add("video-loaded")}}}customElements.define("deferred-media",DeferredMedia);class SliderComponent extends HTMLElement{constructor(){if(super(),this.slider=this.querySelector("ul"),this.sliderItems=this.querySelectorAll("li"),this.sliderDots=this.querySelector(".slider-dots"),this.pageCount=this.querySelector(".slider-counter--current"),this.pageTotal=this.querySelector(".slider-counter--total"),this.prevButton=this.querySelector('button[name="previous"]'),this.nextButton=this.querySelector('button[name="next"]'),this.firstSlide=this.sliderItems[0],this.lastSlide=this.sliderItems[0],this.index=0,this.fixedOffset=0,!this.slider||!this.nextButton)return;new ResizeObserver(entries=>this.scheduleInitPages()).observe(this.slider),new MutationObserver(entries=>{this.sliderItems=this.querySelectorAll("li"),this.firstSlide=this.sliderItems[0],this.lastSlide=this.sliderItems[0]}).observe(this.slider,{childList:!0,subtree:!0,attributes:!1,characterData:!1}),this.slider.addEventListener("scroll",this.update.bind(this)),this.prevButton.addEventListener("click",this.onButtonClick.bind(this)),this.nextButton.addEventListener("click",this.onButtonClick.bind(this)),this.sliderDots&&(this.sliderDot=this.sliderDots.querySelectorAll("div"),this.sliderDots.addEventListener("click",this.onDotClick.bind(this)))}scheduleInitPages(){this._initPagesFrame||(this._initPagesFrame=requestAnimationFrame(()=>{if(this._initPagesFrame=null,!this._initPagesRunning){this._initPagesRunning=!0;try{this.initPages()}finally{this._initPagesRunning=!1}}}))}initPages(){const sliderItemsToShow=Array.from(this.sliderItems).filter(element=>element.clientWidth>0);if(this.sliderLastItem=sliderItemsToShow[sliderItemsToShow.length-1],sliderItemsToShow.length!==0){if(this.slidesPerPage=Math.round(this.slider.clientWidth/sliderItemsToShow[0].clientWidth),this.totalPages=sliderItemsToShow.length-this.slidesPerPage+1,this.lastSlide=this.sliderItems[this.totalPages-1],!this.slider.classList.contains("loaded")){const cloneFirst=this.firstSlide.cloneNode(!0),cloneLast=this.lastSlide.cloneNode(!0);cloneFirst.classList.add("cloned"),cloneLast.classList.add("cloned"),this.slider.appendChild(cloneFirst),this.slider.insertBefore(cloneLast,this.firstSlide),this.slider.classList.add("loaded")}this.update()}}update(){if(!(!this.pageCount||!this.pageTotal)&&(this.currentPage=Math.round(this.slider.scrollLeft/this.sliderLastItem.clientWidth)+1,this.currentPage>this.totalPages&&(this.currentPage=1),this.pageCount.textContent=this.currentPage,this.pageTotal.textContent=this.totalPages,!!this.sliderDots)){var lis=this.sliderDots.querySelectorAll("div"),visible_slides=Array.from(this.sliderItems).filter(s=>window.getComputedStyle(s).getPropertyValue("display")!="none");
1[].forEach.call(lis,function(el){el.classList.remove("slider-dots--show")});for(var i=0;i<visible_slides.length;i++)lis[i].classList.add("slider-dots--show")}}onScroll(){if(this.slider.scrollLeft.toFixed()===this.fixedOffset){if(this.index<0||this.index==this.totalPages){let goTo=this.sliderLastItem.clientWidth,newIndex=0;this.index<0&&(goTo=this.sliderLastItem.clientWidth*this.totalPages,newIndex=this.totalPages-1),this.slider.style.scrollBehavior="auto",this.index=newIndex,this.slider.scrollTo({left:goTo}),this.slider.style.removeProperty("scroll-behavior")}this.slider.removeEventListener("scroll",this.onScroll)}this.sliderDots&&([].forEach.call(this.sliderDot,function(el){el.classList.remove("current")}),this.sliderDot[this.index].classList.add("current"))}scrollToSlide(offset){this.fixedOffset=offset.toFixed(),this.slider.addEventListener("scroll",this.onScroll.bind(this)),this.onScroll(),this.slider.scrollTo({left:offset})}onButtonClick(event){event.preventDefault();const slideScrollPosition=event.currentTarget.name==="next"?this.slider.scrollLeft+this.sliderLastItem.clientWidth:this.slider.scrollLeft-this.sliderLastItem.clientWidth;this.index=event.currentTarget.name==="next"?this.index+=1:this.index-=1,this.scrollToSlide(slideScrollPosition)}onDotClick(event){var visible_slides=Array.from(this.sliderItems).filter(s=>window.getComputedStyle(s).getPropertyValue("display")!="none");this.index=event.target.textContent,this.scrollToSlide(visible_slides[event.target.textContent].clientWidth*event.target.textContent)}}customElements.define("slider-component",SliderComponent);class SlideshowComponent extends SliderComponent{constructor(){super(),this.sliderControlWrapper=this.querySelector(".slider-buttons"),this.enableSliderLooping=!0,this.sliderControlWrapper&&(this.sliderFirstItemNode=this.slider.querySelector(".slideshow__slide"),this.sliderItemsToShow.length>0&&(this.currentPage=1),this.sliderControlLinksArray=Array.from(this.sliderControlWrapper.querySelectorAll(".slider-counter__link")),this.sliderControlLinksArray.forEach(link=>link.addEventListener("click",this.linkToSlide.bind(this))),this.slider.addEventListener("scroll",this.setSlideVisibility.bind(this)),this.setSlideVisibility(),this.slider.getAttribute("data-autoplay")==="true"&&this.setAutoPlay())}setAutoPlay(){this.sliderAutoplayButton=this.querySelector(".slideshow__autoplay"),this.autoplaySpeed=this.slider.dataset.speed*1e3,this.sliderAutoplayButton.addEventListener("click",this.autoPlayToggle.bind(this)),this.addEventListener("mouseover",this.focusInHandling.bind(this)),this.addEventListener("mouseleave",this.focusOutHandling.bind(this)),this.addEventListener("focusin",this.focusInHandling.bind(this)),this.addEventListener("focusout",this.focusOutHandling.bind(this)),this.play(),this.autoplayButtonIsSetToPlay=!0}onButtonClick(event){super.onButtonClick(event);const isFirstSlide=this.currentPage===1,isLastSlide=this.currentPage===this.sliderItemsToShow.length;!isFirstSlide&&!isLastSlide||(isFirstSlide&&event.currentTarget.name==="previous"?this.slideScrollPosition=this.slider.scrollLeft+this.sliderFirstItemNode.clientWidth*this.sliderItemsToShow.length:isLastSlide&&event.currentTarget.name==="next"&&(this.slideScrollPosition=0),this.slider.scrollTo({left:this.slideScrollPosition}))}update(){super.update(),this.sliderControlButtons=this.querySelectorAll(".slider-counter__link"),this.prevButton.removeAttribute("disabled"),this.sliderControlButtons.length&&(this.sliderControlButtons.forEach(link=>{link.classList.remove("slider-counter__link--active"),link.removeAttribute("aria-current")}),this.sliderControlButtons[this.currentPage-1].classList.add("slider-counter__link--active"),this.sliderControlButtons[this.currentPage-1].setAttribute("aria-current",!0))}autoPlayToggle(){this.togglePlayButtonState(this.autoplayButtonIsSetToPlay),this.autoplayButtonIsSetToPlay?this.pause():this.play(),this.autoplayButtonIsSetToPlay=!this.autoplayButtonIsSetToPlay}focusOutHandling(event){const focusedOnAutoplayButton=event.target===this.sliderAutoplayButton||this.sliderAutoplayButton.contains(event.target);!this.autoplayButtonIsSetToPlay||focusedOnAutoplayButton||this.play()}focusInHandling(event){(event.target===this.sliderAutoplayButton||this.sliderAutoplayButton.contains(event.target))&&this.autoplayButtonIsSetToPlay?this.play():this.autoplayButtonIsSetToPlay&&this.pause()}play(){this.slider.setAttribute("aria-live","off"),clearInterval(this.autoplay),this.autoplay=setInterval(this.autoRotateSlides.bind(this),this.autoplaySpeed)}pause(){this.slider.setAttribute("aria-live","polite"),clearInterval(this.autoplay)}togglePlayButtonState(pauseAutoplay){pauseAutoplay?(this.sliderAutoplayButton.classList.add("slideshow__autoplay--paused"),this.sliderAutoplayButton.setAttribute("aria-label",window.accessibilityStrings.playSlideshow)):(this.sliderAutoplayButton.classList.remove("slideshow__autoplay--paused"),this.sliderAutoplayButton.setAttribute("aria-label",window.accessibilityStrings.pauseSlideshow))}autoRotateSlides(){const slideScrollPosition=this.currentPage===this.sliderItems.length?0:this.slider.scrollLeft+this.slider.querySelector(".slideshow__slide").clientWidth;this.slider.scrollTo({left:slideScrollPosition})}setSlideVisibility(){this.sliderItemsToShow.forEach((item,index)=>{const button=item.querySelector("a");index===this.currentPage-1?(button&&button.removeAttribute("tabindex"),item.setAttribute("aria-hidden","false"),item.removeAttribute("tabindex")):(button&&button.setAttribute("tabindex","-1"),item.setAttribute("aria-hidden","true"),item.setAttribute("tabindex","-1"))})}linkToSlide(event){event.preventDefault();const slideScrollPosition=this.slider.scrollLeft+this.sliderFirstItemNode.clientWidth*(this.sliderControlLinksArray.indexOf(event.currentTarget)+1-this.currentPage);this.slider.scrollTo({left:slideScrollPosition})}}customElements.define("slideshow-component",SlideshowComponent);class VariantSelects extends HTMLElement{async loadAllVariants(){if(this.variantData=JSON.parse(this.querySelector('[type="application/json"]').textContent),this.debug&&console.log("DEBUG: loadAllVariants - Initial variants loaded:",this.variantData.length),this.variantData.length===250){this.debug&&console.log("DEBUG: loadAllVariants - Detected 250 variants, fetching additional pages...");let page=2,hasMore=!0;for(;hasMore&&page<=10;)try{const url=`${this.dataset.url}?view=variant-json&page=${page}`;this.debug&&console.log(`DEBUG: loadAllVariants - Fetching URL: ${url}`);const response=await fetch(url),text=await response.text();this.debug&&console.log(`DEBUG: loadAllVariants - Response status: ${response.status}`),this.debug&&console.log(`DEBUG: loadAllVariants - Response text length: ${text.length}`),this.debug&&console.log("DEBUG: loadAllVariants - First 500 chars:",text.substring(0,500));const jsonElement=new DOMParser().parseFromString(text,"text/html").querySelector('script[type="application/json"]');if(this.debug&&console.log("DEBUG: loadAllVariants - Found JSON element:",!!jsonElement),jsonElement){const jsonText=jsonElement.textContent;this.debug&&console.log(`DEBUG: loadAllVariants - JSON text length: ${jsonText.length}`),this.debug&&console.log("DEBUG: loadAllVariants - JSON preview:",jsonText.substring(0,200));const pageVariants=JSON.parse(jsonText);this.debug&&console.log("DEBUG: loadAllVariants - Parsed variants:",pageVariants),this.debug&&console.log("DEBUG: loadAllVariants - Parsed variants length:",pageVariants?.length),pageVariants&&pageVariants.length>0?(this.variantData=this.variantData.concat(pageVariants),this.debug&&console.log(`DEBUG: loadAllVariants - Page ${page} loaded ${pageVariants.length} variants. Total now: ${this.variantData.length}`),hasMore=pageVariants.length===250):(hasMore=!1,this.debug&&console.log("DEBUG: loadAllVariants - No variants in parsed data"))}else hasMore=!1,this.debug&&console.log("DEBUG: loadAllVariants - No JSON script tag found in response");page++}catch(error){console.error("DEBUG: loadAllVariants - Error loading variants:",error),hasMore=!1}this.debug&&console.log("DEBUG: loadAllVariants - COMPLETE. Final variant count:",this.variantData.length)}}constructor(){super(),this.debug=!1,this.variantData=null,this.variantLoadPromise=null,this.lastRenderedVariantId=null,this.variantLoadPromise=this.loadAllVariants().then(()=>{this.debug&&console.log("DEBUG: Constructor - All variants ready:",this.variantData?.length)}),this.addEventListener("change",this.onVariantChange)}connectedCallback(){requestAnimationFrame(()=>{const init=()=>this.onVariantChange({skipProductInfo:!0});
1this.variantData?init():this.variantLoadPromise?this.variantLoadPromise.then(init):this.loadAllVariants().then(init)})}onVariantChange(event){if(event instanceof Event&&event.target&&event.target.closest&&event.target.closest("#boldmetrics-ssc-default"))return;const skipProductInfo=!!(event&&!(event instanceof Event)&&event.skipProductInfo);this.checkData(),this.updateOptions(),this.updateMasterId(),this.toggleAddButton(!0,"",!1),this.removeErrorMessage(),this.updateSoldOut(),this.updateFieldsetText(),this.currentVariant?(this.debug&&console.log("DEBUG: Current variant found:",this.currentVariant),this.debug&&console.log("DEBUG: Variant available:",this.currentVariant.available),this.updateMedia(),this.updateFeaturedMedia(),this.updateURL(),this.updateVariantInput(),skipProductInfo?(this.lastRenderedVariantId=this.currentVariant.id,this.toggleAddButton(!this.currentVariant.available,window.variantStrings.soldOut)):this.renderProductInfo(),this.updateShareUrl()):(this.debug&&console.log("DEBUG: No current variant found, setting unavailable"),this.toggleAddButton(!0,"",!0),this.setUnavailable())}checkData(){this.parentProduct=this.hasAttribute("data-parent"),this.optionBase=this.dataset.base.split(",").length}updateOptions(){const fieldsets=Array.from(this.querySelectorAll("fieldset"));fieldsets.length>0?this.options=fieldsets.map(fieldset=>{const checkedInput=Array.from(fieldset.querySelectorAll("input")).find(radio=>radio.checked);return checkedInput?checkedInput.value:""}):this.options=Array.from(this.querySelectorAll("select"),select=>select.value)}updateMasterId(){this.currentVariant=this.getVariantData().find(variant=>(variant.weight==549?$(".pfa").show():$(".pfa").hide(),!variant.options.map((option,index)=>this.options[index]===option).includes(!1))),this.debug&&(console.log("DEBUG: updateMasterId - Selected options:",this.options),console.log("DEBUG: updateMasterId - Found variant:",this.currentVariant),console.log("DEBUG: updateMasterId - Total variants in data:",this.getVariantData().length))}updateMedia(){if(!this.currentVariant||!this.currentVariant.featured_media&&!this.parentProduct)return;const mediaGallery=document.getElementById(`MediaGallery-${this.dataset.section}`),impactImage=mediaGallery.querySelector(".lsimpact");impactImage&&impactImage.remove();const mediaViewer=mediaGallery.querySelector('[id^="GalleryViewer"]'),dataConnect=this.options.slice(0,this.optionBase).join(" / "),optionSpecificMedia=mediaViewer.querySelectorAll(`[data-connect="${dataConnect}"]:not([data-feature="true"])`);if(optionSpecificMedia.length>0)mediaViewer.querySelectorAll("[data-connect]").forEach(element=>{element.classList.remove("product__media-item--variant_current")}),optionSpecificMedia.forEach(element=>{element.classList.add("product__media-item--variant_current")});else{mediaGallery.setActiveMedia(`${this.dataset.section}-${this.currentVariant.featured_media.id}`,!0);const modalContent=document.querySelector(`#ProductModal-${this.dataset.section} .product-media-modal__content`);if(!modalContent)return;const newMediaModal=modalContent.querySelector(`[data-media-id="${this.currentVariant.featured_media.id}"]`);modalContent.prepend(newMediaModal)}mediaViewer.scheduleInitPages?mediaViewer.scheduleInitPages():mediaViewer.initPages()}updateFeaturedMedia(){if(!this.currentVariant)return;const featureImages=document.querySelector("features-images");if(!featureImages)return;const galleryEl=featureImages.querySelector('[id^="GalleryViewer"]'),slideshowEl=featureImages.querySelector('[id^="Slider-Gallery-"]'),mediaViewer=document.getElementById(`MediaGallery-${this.dataset.section}`).querySelector('[id^="GalleryViewer"]'),dataConnect=this.options.slice(0,this.optionBase).join(" / "),featureSpecificMedia=mediaViewer.querySelectorAll(`[data-connect="${dataConnect}"][data-feature="true"]`);slideshowEl.innerHTML="";var mediaLoop=new Promise((resolve,reject)=>{featureSpecificMedia.forEach((element,index,array)=>{let clonedImage=element.querySelector(".product__media").cloneNode(!0),wrapper=document.createElement("li");wrapper.classList.add("product__modal-opener--image","slider__slide"),wrapper.appendChild(clonedImage),slideshowEl.appendChild(wrapper),index===array.length-1&&resolve()})});featureSpecificMedia.length>0&&mediaLoop.then(()=>{})}updateURL(){!this.currentVariant||this.dataset.updateUrl==="false"||window.history.replaceState({},"",`${this.dataset.url}?variant=${this.currentVariant.id}`)}updateShareUrl(){const shareButton=document.getElementById(`Share-${this.dataset.section}`);!shareButton||!shareButton.updateUrl||shareButton.updateUrl(`${window.shopUrl}${this.dataset.url}?variant=${this.currentVariant.id}`)}updateSoldOut(){const optionElements=Array.from(this.querySelectorAll("fieldset"));if(!optionElements||optionElements.length===0||((!this.options||this.options.length===0)&&this.updateOptions(),!this.options||this.options.length===0))return;this.optionValues=optionElements.map(el=>el.tagName==="SELECT"?el.value:Array.from(el.querySelectorAll("input")).find(radio=>radio.checked)?.value||""),this.firstOptionValue=this.firstOptionValue||this.optionValues[0];const variantData=this.getVariantData();
1!variantData||variantData.length===0||optionElements.forEach((fieldset,optionIndex)=>{Array.from(fieldset.querySelectorAll("input")).forEach(input=>{const hypotheticalSelection=this.optionValues.map((val,idx)=>idx===optionIndex?input.value:val),isAvailable=variantData.some(variant=>variant.options.every((optValue,idx)=>idx>=hypotheticalSelection.length||idx!==optionIndex&&hypotheticalSelection[idx]===""?!0:optValue==hypotheticalSelection[idx])&&variant.available);input.classList.toggle("disabled",!isAvailable)})})}updateFieldsetText(){const currOptions=this.options;this.querySelectorAll("fieldset").forEach((fieldset,index)=>{const optionValue=fieldset.querySelector("legend span");optionValue.innerText=currOptions[index]})}updateVariantInput(){document.querySelectorAll(`#product-form-${this.dataset.section}, #product-form-installment-${this.dataset.section}`).forEach(productForm=>{const input=productForm.querySelector('input[name="id"]');input.value=this.currentVariant.id,input.dispatchEvent(new Event("change",{bubbles:!0}))})}updatePickupAvailability(){const pickUpAvailability=document.querySelector("pickup-availability");pickUpAvailability&&(this.currentVariant&&this.currentVariant.available?pickUpAvailability.fetchAvailability(this.currentVariant.id):(pickUpAvailability.removeAttribute("available"),pickUpAvailability.innerHTML=""))}removeErrorMessage(){const section=this.closest("section");if(!section)return;const productForm=section.querySelector("product-form");productForm&&customElements.whenDefined("product-form").then(()=>{typeof productForm.handleErrorMessage=="function"&&productForm.handleErrorMessage()})}renderProductInfo(){if(!this.currentVariant)return;const variantId=this.currentVariant.id;if(this.lastRenderedVariantId===variantId){this.toggleAddButton(!this.currentVariant.available,window.variantStrings.soldOut);return}this.toggleAddButton(!this.currentVariant.available,window.variantStrings.soldOut),clearTimeout(this._priceRenderTimer),this._priceRenderTimer=setTimeout(()=>this.fetchVariantPrice(variantId),120)}fetchVariantPrice(variantId){this._priceRequest&&this._priceRequest.abort();const controller=new AbortController;this._priceRequest=controller;const parentprod=this.dataset.parent||"";let baseUrl=this.dataset.url;if(parentprod!==""){const checkedColor=this.querySelector(".product-form__input-color input:checked + label");if(!checkedColor)return;baseUrl=checkedColor.dataset.producturl}fetch(`${baseUrl}?variant=${variantId}§ion_id=price`,{signal:controller.signal}).then(response=>response.text()).then(responseText=>{if(!this.currentVariant||this.currentVariant.id!==variantId)return;const destination=document.getElementById(`price-${this.dataset.section}`);if(!destination)return;const html=new DOMParser().parseFromString(responseText,"text/html"),source=html.getElementById("shopify-section-price")||html.body;source&&(destination.innerHTML=source.innerHTML),destination.classList.remove("visibility-hidden"),this.lastRenderedVariantId=variantId,this.toggleAddButton(!this.currentVariant.available,window.variantStrings.soldOut)}).catch(error=>{error.name!=="AbortError"&&console.error("Variant price render failed:",error)}).finally(()=>{this._priceRequest===controller&&(this._priceRequest=null)})}toggleAddButton(disable=!0,text,modifyClass=!0){const productForm=document.getElementById(`product-form-${this.dataset.section}`);if(!productForm)return;const addButton=productForm.querySelector('[name="add"]'),addButtonText=productForm.querySelector('[name="add"] > span');addButton&&(this.debug&&(console.log("DEBUG: toggleAddButton called"),console.log("DEBUG: toggleAddButton - disable:",disable),console.log("DEBUG: toggleAddButton - text:",text),console.log("DEBUG: toggleAddButton - modifyClass:",modifyClass),console.log("DEBUG: toggleAddButton - addButton found:",!!addButton)),disable?(addButton.setAttribute("disabled","disabled"),text&&(addButtonText.textContent=text),this.debug&&console.log("DEBUG: toggleAddButton - Button DISABLED, text set to:",text||"no text provided")):(addButton.removeAttribute("disabled"),addButtonText.textContent=window.variantStrings.addToCart,this.debug&&console.log("DEBUG: toggleAddButton - Button ENABLED, text set to Add to Cart")))}setUnavailable(){const button=document.getElementById(`product-form-${this.dataset.section}`),addButton=button.querySelector('[name="add"]'),addButtonText=button.querySelector('[name="add"] > span'),price=document.getElementById(`price-${this.dataset.section}`);addButton&&(this.debug&&(console.log("DEBUG: setUnavailable called"),console.log("DEBUG: setUnavailable - Setting button text to unavailable")),addButtonText.textContent=window.variantStrings.unavailable)}getVariantData(){return this.variantData||(this.variantData=JSON.parse(this.querySelector('[type="application/json"]').textContent),this.debug&&console.log("DEBUG: getVariantData - Fallback to initial page only:",this.variantData.length)),this.variantData}removeAllChildNodes(parent){for(;parent.firstChild;)parent.removeChild(parent.firstChild)}}customElements.define("variant-selects",VariantSelects);class VariantRadios extends VariantSelects{constructor(){super()}updateOptions(){const fieldsets=Array.from(this.querySelectorAll("fieldset"));this.options=fieldsets.map(fieldset=>Array.from(fieldset.querySelectorAll("input")).find(radio=>radio.checked).value)}}customElements.define("variant-radios",VariantRadios);class TooltipOpener extends HTMLElement{constructor(){super();const tooltip=new bootstrap.Tooltip(this)}}customElements.define("tooltip-component",TooltipOpener);function serializeJSON(form){const formData=new FormData(form),pairs={},consistent={};for(const[name,value]of formData)value===null||value===""||JSON.stringify(value)==="{}"||(name=="form_type"||name=="utf8"?consistent[name]=value:pairs[name]=value);return JSON.stringify({consistent,data:pairs},null,2)}class FormBuilder extends HTMLElement{constructor(){super(),this.form=document.querySelector("#warranty-form"),this.thanks=document.querySelector("#thanks"),this.form_submit=document.getElementById("custom-form-submit"),this.form&&(this.form.addEventListener("submit",this.formSubmit.bind(this)),this.querySelectorAll(".field__input-file").forEach(input=>input.addEventListener("change",this.onFileInput.bind(this))))}onFileInput(event){const input=event.target,file_link=input.nextElementSibling;if(input.files){this.form_submit.classList.add("button--loading"),this.form_submit.disabled=!0;const file=input.files[0],formData=new FormData;formData.append("file",file),formData.append("document",this.form_submit.dataset.source);var res=Array.from(formData.entries(),([key,prop])=>({[key]:{ContentLength:typeof prop=="string"?prop.length:prop.size}}
1));file.size>5e6?(alert("File size too large, please reduce file size and resubmit"),input.value=""):fetch("https://hook.us1.make.com/2uytqypv4tgk945njxndndq348ujhkc3",{method:"POST",body:formData}).then(response=>response.text()).then(data=>{file_link.value=data,this.form_submit.classList.remove("button--loading"),document.getElementById("custom-form-submit").disabled=!1}).catch(error=>{this.form_submit.classList.remove("button--loading"),document.getElementById("custom-form-submit").disabled=!1})}}formSubmit(event){event.preventDefault(),this.form_submit.classList.add("animate");let redirect_url;this.hasAttribute("data-redirect")&&(redirect_url=this.dataset.redirect),fetch(this.dataset.send,{method:"POST",headers:{"Content-Type":"application/json"},body:serializeJSON(this.form)}).then(response=>response.json()).then(data=>{var form_error=document.getElementById("form_error");form_error||(form_error=document.createElement("div"),form_error.id="form_error",this.form_submit.parentNode.insertBefore(form_error,this.form_submit.nextSibling)),this.form_submit.classList.remove("animate"),this.form_submit.classList.add("success"),setTimeout(function(){this.form.classList.add("hidden"),this.thanks.classList.remove("hidden"),window.scrollTo({top:0,behavior:"smooth"}),data.success?redirect_url&&setTimeout(function(){window.location.href=redirect_url},500):form_error.innerText=data.reason}.bind(this),500)}).catch(error=>{console.error("Error:",error),this.form_submit.classList.remove("animate"),this.form_submit.classList.add("error")})}}customElements.define("form-builder",FormBuilder);class ApplyProcode extends HTMLElement{constructor(){super(),this.procodeForm=document.getElementById("pro-code--form"),this.container=document.getElementById("procode"),this.thanks=document.getElementById("pro-code--thanks"),this.procodeForm.addEventListener("submit",this.procodeCheck.bind(this))}procodeCheck(event){event.preventDefault();const form=event.target,form_submit=form.querySelector("button");let redirect_url;this.hasAttribute("data-redirect")&&(redirect_url=this.dataset.redirect),form_submit.disabled=!0,form_submit.classList.add("button--loading"),fetch("https://hook.us1.make.com/95l6jr5qki6y4c8rxlys1yrai2o7dw47",{method:"POST",headers:{"Content-Type":"application/json"},body:serializeJSON(form)}).then(response=>response.json()).then(data=>{form_submit.disabled=!1,form_submit.classList.remove("button--loading");var form_error=document.getElementById("form_error");form_error||(form_error=document.createElement("div"),form_error.id="form_error",form_submit.parentNode.insertBefore(form_error,form_submit.nextSibling)),data.success?(this.procodeForm.classList.add("hidden"),this.thanks.classList.remove("hidden"),window.scrollTo({top:0,behavior:"smooth"}),redirect_url&&setTimeout(function(){window.location.href=redirect_url},500)):form_error.innerText=data.error}).catch(error=>{console.error("Error:",error)})}}customElements.define("apply-procode",ApplyProcode),String.prototype.imgURL=function(size){return this.replace(/\.jpg|\.png|\.gif|\.jpeg/g,function(match){return"_"+size+match})};/* 2 * @license Basictable - Vanilla JS | MIT | Jerry Low | https://www.github.com/jerrylow/basictable 3 */class basictable{constructor(t,e={}){this.tableSel=t,this.options={breakpoint:null,containerBreakpoint:null,contentWrap:!0,forceResponsive:!0,noResize:!1,tableWrap:!1,showEmptyCells:!1,header:!0,...e},this.options.breakpoint===null&&this.options.containerBreakpoint===null&&(this.options.breakpoint=568),this._getTables(),this._setup()}_getTables(){this.tables=document.querySelectorAll(this.tableSel)}_setup(){this.tables.forEach((t=>{t.setAttribute("data-bt-active",!0);const e=[];if(this.options.tableWrap){const e2=document.createElement("div");e2.classList.add("bt-wrapper"),t.parentNode.insertBefore(e2,t),e2.appendChild(t)}if(this.options.header){let s="";s=t.querySelectorAll("thead tr th").length?"thead th":t.querySelectorAll("tbody tr th").length?"tbody tr th":t.querySelectorAll("th").length?"tr:first th":"tr:first td",t.querySelectorAll(s).forEach((t2=>{const s2=parseInt(t2.getAttribute("colspan"),10)||1,i=t2.closest("tr"),o=[].indexOf.call(i.parentElement.children,i);e[o]||(e[o]=[]);for(let i2=0;i2<s2;i2++)e[o].push(t2)})),t.querySelectorAll("tbody tr").forEach((t2=>this._setupRow(t2,e))),t.querySelectorAll("tfoot tr").forEach((t2=>this._setupRow(t2,e)))}this.options.noResize||this._check(t)})),this.options.noResize||(this._tableResizeEvent=()=>this._resize(),window.addEventListener("resize",this._tableResizeEvent))}_setupRow(t,e){t.querySelectorAll(":scope > *").forEach((t2=>{if(t2.innerHTML.trim()!==""&&t2.innerHTML!==" "||!this.options.showEmptyCells){const s=[].indexOf.call(t2.parentElement.children,t2);let i="";for(let t3=0;t3<e.length;t3++)t3!==0&&(i+=": "),i+=e[t3][s].textContent;t2.setAttribute("data-th",i);const o=document.createElement("span");if(o.classList.add("bt-content"),this.options.contentWrap&&t2.firstChild!==o)for(t2.appendChild(o);t2.firstChild!==o;)o.appendChild(t2.firstChild)}else t2.classList("bt-hide")}))}_check(t){this.options.forceResponsive?this.options.breakpoint!==null&&window.innerWidth<=this.options.breakpoint||this.options.containerBreakp
3oint!==null&&t.parentElement.offsetWidth<=this.options.containerBreakpoint?this._start(t):this._end(t):(t.classList.remove("bt"),t.getBoundingClientRect().left+t.offsetWidth>t.parentElement.offsetWidth?this._start(t):this._end(t))}_start(t){t.classList.add("bt"),this.options.header||t.classList.add("bt--no-header"),this.options.tableWrap&&t.closest(".bt-wrapper").classList.add("active")}_end(t){t.classList.remove("bt","bt--no-header"),this.options.tableWrap&&t.closest(".bt-wrapper").classList.remove("active")}_resize(t){this.tables.forEach((t2=>{t2.getAttribute("data-bt-active")&&this._check(t2)}))}start(){this.tables.forEach((t=>{this._start(t)}))}stop(){this.tables.forEach((t=>{this._end(t)}))}restart(){this.destroy(),this._getTables(),this._setup()}destroy(){this.tables.forEach((t=>{if(t.getAttribute("data-bt-active")){t.classList.remove("bt","bt--no-header"),t.removeAttribute("data-bt-active");const e=t.querySelectorAll("td");e.forEach((t2=>t2.removeAttribute("data-th"))),this.options.contentWrap&&e.forEach((t2=>{const e2=t2.querySelector(".bt-content");e2&&(t2.innerHTML=e2.innerHTML)})),this.options.tableWrap&&(t.parentNode.outerHTML=t.parentNode.innerHTML)}})),this.options.noResize||window.removeEventListener("resize",this._tableResizeEvent)}}class SizeChart extends HTMLElement{constructor(){super()}}customElements.define("size-chart",SizeChart);class FeaturesImages extends HTMLElement{constructor(){if(super(),this.selector=document.querySelector(`variant-selects[data-product="${this.dataset.product}"]`),this.selector)this.options=Array.from(this.selector.querySelectorAll("select"),select=>select.value);else{this.selector=document.querySelector(`variant-radios[data-product="${this.dataset.product}"]`);const fieldsets=Array.from(this.selector.querySelectorAll("fieldset"));this.options=fieldsets.map(fieldset=>Array.from(fieldset.querySelectorAll("input")).find(radio=>radio.checked).value)}this.parentProduct=this.selector.hasAttribute("data-parent"),this.galleryEl=this.querySelector('[id^="GalleryViewer"]'),this.slideshowEl=this.querySelector('[id^="Slider-Gallery-"]'),this.optionBase=this.selector.dataset.base.split(",").length;const mediaViewer=document.getElementById(`MediaGallery-${this.selector.dataset.section}`).querySelector('[id^="GalleryViewer"]'),dataConnect=this.options.slice(0,this.optionBase).join(" / "),featureSpecificMedia=mediaViewer.querySelectorAll(`[data-connect="${dataConnect}"][data-feature="true"]`);var mediaLoop=new Promise((resolve,reject)=>{featureSpecificMedia.forEach((element,index,array)=>{let clonedImage=element.querySelector(".product__media").cloneNode(!0),wrapper=document.createElement("li");wrapper.classList.add("product__modal-opener--image","slider__slide"),wrapper.appendChild(clonedImage),this.slideshowEl.appendChild(wrapper),index===array.length-1&&resolve()})});featureSpecificMedia.length>0&&mediaLoop.then(()=>{this.galleryEl.initPages()})}}customElements.define("features-images",FeaturesImages);class ShopTheLookForm extends HTMLElement{constructor(){super(),this.addEventListener("change",this.onVariantChange)}onVariantChange(){this.updateOptions(),this.updateMasterId(),this.toggleAddButton(!0,"",!1),this.removeErrorMessage(),this.currentVariant?(this.updateMedia(),this.updateVariantInput(),this.renderProductInfo()):(this.toggleAddButton(!0,"",!0),this.setUnavailable())}updateOptions(){this.options=Array.from(this.querySelectorAll('select[name^="options"]'),select=>select.value)}updateMasterId(){this.currentVariant=this.getVariantData().find(variant=>!variant.options.map((option,index)=>this.options[index]===option).includes(!1))}updateMedia(){const featuredImage=this.currentVariant.featured_image;if(!featuredImage)return;const variantImage=this.closest(".row").querySelector(".media img");let featuredImageSrc=featuredImage.src;variantImage.removeAttribute("srcset"),variantImage.src=featuredImageSrc.imgURL("750x")}updateVariantInput(){document.querySelectorAll(`#ProductFormShopTheLook-${this.dataset.section}`).forEach(productForm=>{const input=productForm.querySelector('input[name="id"]');input.value=this.currentVariant.id,input.dispatchEvent(new Event("change",{bubbles:!0}))})}removeErrorMessage(){const section=this.closest("section");if(!section)return;const productForm=section.querySelector("product-form");productForm&&customElements.whenDefined("product-form").then(()=>{typeof productForm.handleErrorMessage=="function"&&productForm.handleErrorMessage()})}renderProductInfo(){const idSwitcher=this.querySelector('select[name="product-change"]'),productUrl=idSwitcher?idSwitcher.options[idSwitcher.selectedIndex].dataset.url:this.dataset.url;fetch(`${productUrl}?variant=${this.currentVariant.id}`).then(response=>response.text()).then(responseText=>{const html=new DOMParser().parseFromString(responseText,"text/html");this.productElement=html.querySelector('section[id^="MainProduct-"]'),this.sectionId=this.productElement.dataset.section;const destination=document.getElementById(`price-${this.sectionId}`),source=html.getElementById(`price-${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`);source&&destination&&(destination.innerHTML=source.innerHTML);const price=document.getElementById(`price-${this.dataset.section}`);price&&price.classList.remove("visibility-hidden"),this.toggleAddButton(!this.currentVariant.available,window.variantStrings.soldOut)})}toggleAddButton(disable=!0,text,modifyClass=!0){const productForm=d
3ocument.getElementById(`ProductFormShopTheLook-${this.dataset.productid}`);if(!productForm)return;const addButton=productForm.querySelector('[name="add"]'),addButtonText=productForm.querySelector('[name="add"] > span');addButton&&(disable?(addButton.setAttribute("disabled","disabled"),text&&(addButtonText.textContent=text)):(addButton.removeAttribute("disabled"),addButtonText.textContent=window.variantStrings.addToCart))}setUnavailable(){const button=document.getElementById(`ProductFormShopTheLook-${this.dataset.productid}`),addButton=button.querySelector('[name="add"]'),addButtonText=button.querySelector('[name="add"] > span'),price=document.getElementById(`price-${this.dataset.productid}`);addButton&&(addButtonText.textContent=window.variantStrings.unavailable,price&&price.classList.add("visibility-hidden"))}getVariantData(){const idSwitcher=this.querySelector('select[name="product-change"]'),currentProductId=idSwitcher?idSwitcher.options[idSwitcher.selectedIndex].dataset.product:this.dataset.productid,variantJSON=this.closest(".shop-the-look__popup-content").querySelector(`[type="application/json"][data-productId="${currentProductId}"]`);return this.variantData=JSON.parse(variantJSON.textContent),this.variantData}}customElements.define("shop-form",ShopTheLookForm);class CollectionSlider extends HTMLElement{constructor(){super(),this.slider=this.querySelector(".grid--collection_slider"),this.sliderItems=this.querySelectorAll(".grid__item_collection"),!(!this.slider||this.sliderItems.length<2)&&new Glider(this.slider,{slidesToShow:5,slidesToScroll:1,arrows:{prev:".glider-prev",next:".glider-next"}})}}customElements.define("collection-slider",CollectionSlider);class CardSwitcher extends HTMLAnchorElement{constructor(){super(),this.addEventListener("click",this.colorSwitch)}colorSwitch(e){e=window.event||e;let target=e.target,mainImg=this.querySelector(".card-mainimg"),hoverImg=this.querySelector(".card-hoverimg");if(target.classList.contains("card-variant")){e.preventDefault(),hoverImg||(hoverImg=document.createElement("img"),hoverImg.className="motion-reduce card-hoverimg",mainImg.parentNode.insertBefore(hoverImg,mainImg.nextSibling));let id=target.dataset.id,hrefSplit=this.href.split("?"),combinator="",elems=this.querySelectorAll(".card-information__variant-image");[].forEach.call(elems,function(el){el.classList.remove("current")}),target.closest(".card-information__variant-image").classList.add("current"),hrefSplit[1]!==void 0&&(combinator="&"+hrefSplit[1]);let newHref=hrefSplit[0]+"?variant="+id+combinator;this.setAttribute("href",newHref);let ogSrc=this.src,targetSrc=target.dataset.featured;if(ogSrc!=targetSrc){let targetSrcset=target.dataset.featuredsrcset,targetAlt=target.getAttribute("alt");mainImg.setAttribute("src",targetSrc),mainImg.setAttribute("srcset",targetSrcset),mainImg.setAttribute("alt",targetAlt);let targetHoverSrc=target.dataset.hover;if(targetHoverSrc!==""){let targetHoverSrcset=target.dataset.hoversrcset;hoverImg.setAttribute("src",targetHoverSrc),hoverImg.setAttribute("srcset",targetHoverSrcset),setTimeout(function(){mainImg.parentNode.classList.remove("media--impact")},100)}}}}}customElements.define("card-switcher",CardSwitcher,{extends:"a"});/*! 4 * Jarallax v2.0.4 (https://github.com/nk-o/jarallax) 5 * Copyright 2022 nK <https://nkdev.info> 6 * Licensed under MIT (https://github.com/nk-o/jarallax/blob/master/LICENSE) 7 */(function(e,t){typeof exports=="object"&&typeof module<"u"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).jarallax=t()})(this,(function(){"use strict";function e(e2){document.readyState==="complete"||document.readyState==="interactive"?e2():document.addEventListener("DOMContentLoaded",e2,{capture:!0,once:!0,passive:!0})}let t;t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};var i=t;const{navigator:o}=i,n=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(o.userAgent);let a,s;function l(){n?(!a&&document.body&&(a=document.createElement("div"),a.style.cssText="position: fixed; top: -9999px; left: 0; height: 100vh; width: 0;",document.body.appendChild(a)),s=(a?a.clientHeight:0)||i.innerHeight||document.documentElement.clientHeight):s=i.innerHeight||document.documentElement.clientHeight}l(),i.addEventListener("resize",l),i.addEventListener("orientationchange",l),i.addEventListener("load",l),e((()=>{l()}));const r=[];function m(){r.length&&(r.forEach(((e2,t2)=>{const{instance:o2,oldData:n2}=e2,a2=o2.$item.getBoundingClientRect(),l2={width:a2.width,height:a2.height,top:a2.top,bottom:a2.bottom,wndW:i.innerWidth,wndH:s},m2=!n2||n2.wndW!==l2.wndW||n2.wndH!==l2.wndH||n2.width!==l2.width||n2.height!==l2.height,c2=m2||!n2||n2.top!==l2.top||n2.bottom!==l2.bottom;r[t2].oldData=l2,m2&&o2.onResize(),c2&&o2.onScroll()})),i.requestAnimationFrame(m))}let c=0;class p{constructor(e2,t2){const i2=this;i2.instanceID=c,c+=1,i2.$item=e2,i2.defaults={type:"scroll",speed:.5,imgSrc:null,imgElement:".jarallax-img",imgSize:"cover",imgPosition:"50% 50%",imgRepeat:"no-repeat",keepImg:!1,elementInViewport:null,zIndex:-100,disableParallax:!1,disableVideo:!1,videoSrc:null,videoStartTime:0,videoEndTime:0,videoVolume:0,videoLoop:!0,videoPlayOnlyVisible:!0,videoLazyLoading:!0,onScroll:null,onInit:null,onDestroy:null,onCoverImage:null};const n2=i2.$item.dataset||{},a2={};if(Object.keys(n2).forEach((e3=>{const t3=e3.substr(0,1).toLowerCase()+e3.substr(1);t3&&i2.defaults[t3]!==void 0&&(a2[t3]=n2[e3])})),i2.options=i2.extend({},i2.defaults,a2,t2),i2.pureOptions=i2.extend({}
7,i2.options),Object.keys(i2.options).forEach((e3=>{i2.options[e3]==="true"?i2.options[e3]=!0:i2.options[e3]==="false"&&(i2.options[e3]=!1)})),i2.options.speed=Math.min(2,Math.max(-1,parseFloat(i2.options.speed))),typeof i2.options.disableParallax=="string"&&(i2.options.disableParallax=new RegExp(i2.options.disableParallax)),i2.options.disableParallax instanceof RegExp){const e3=i2.options.disableParallax;i2.options.disableParallax=()=>e3.test(o.userAgent)}if(typeof i2.options.disableParallax!="function"&&(i2.options.disableParallax=()=>!1),typeof i2.options.disableVideo=="string"&&(i2.options.disableVideo=new RegExp(i2.options.disableVideo)),i2.options.disableVideo instanceof RegExp){const e3=i2.options.disableVideo;i2.options.disableVideo=()=>e3.test(o.userAgent)}typeof i2.options.disableVideo!="function"&&(i2.options.disableVideo=()=>!1);let s2=i2.options.elementInViewport;s2&&typeof s2=="object"&&s2.length!==void 0&&([s2]=s2),s2 instanceof Element||(s2=null),i2.options.elementInViewport=s2,i2.image={src:i2.options.imgSrc||null,$container:null,useImgTag:!1,position:"fixed"},i2.initImg()&&i2.canInitParallax()&&i2.init()}css(e2,t2){return typeof t2=="string"?i.getComputedStyle(e2).getPropertyValue(t2):(Object.keys(t2).forEach((i2=>{e2.style[i2]=t2[i2]})),e2)}extend(e2,...t2){return e2=e2||{},Object.keys(t2).forEach((i2=>{t2[i2]&&Object.keys(t2[i2]).forEach((o2=>{e2[o2]=t2[i2][o2]}))})),e2}getWindowData(){return{width:i.innerWidth||document.documentElement.clientWidth,height:s,y:document.documentElement.scrollTop}}initImg(){const e2=this;let t2=e2.options.imgElement;return t2&&typeof t2=="string"&&(t2=e2.$item.querySelector(t2)),t2 instanceof Element||(e2.options.imgSrc?(t2=new Image,t2.src=e2.options.imgSrc):t2=null),t2&&(e2.options.keepImg?e2.image.$item=t2.cloneNode(!0):(e2.image.$item=t2,e2.image.$itemParent=t2.parentNode),e2.image.useImgTag=!0),!!e2.image.$item||(e2.image.src===null&&(e2.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",e2.image.bgImage=e2.css(e2.$item,"background-image")),!(!e2.image.bgImage||e2.image.bgImage==="none"))}canInitParallax(){return!this.options.disableParallax()}init(){const e2=this,t2={position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"hidden"};let o2={pointerEvents:"none",transformStyle:"preserve-3d",backfaceVisibility:"hidden"};if(!e2.options.keepImg){const t3=e2.$item.getAttribute("style");if(t3&&e2.$item.setAttribute("data-jarallax-original-styles",t3),e2.image.useImgTag){const t4=e2.image.$item.getAttribute("style");t4&&e2.image.$item.setAttribute("data-jarallax-original-styles",t4)}}if(e2.css(e2.$item,"position")==="static"&&e2.css(e2.$item,{position:"relative"}),e2.css(e2.$item,"z-index")==="auto"&&e2.css(e2.$item,{zIndex:0}),e2.image.$container=document.createElement("div"),e2.css(e2.image.$container,t2),e2.css(e2.image.$container,{"z-index":e2.options.zIndex}),this.image.position==="fixed"&&e2.css(e2.image.$container,{"-webkit-clip-path":"polygon(0 0, 100% 0, 100% 100%, 0 100%)","clip-path":"polygon(0 0, 100% 0, 100% 100%, 0 100%)"}),e2.image.$container.setAttribute("id",`jarallax-container-${e2.instanceID}`),e2.$item.appendChild(e2.image.$container),e2.image.useImgTag?o2=e2.extend({"object-fit":e2.options.imgSize,"object-position":e2.options.imgPosition,"max-width":"none"},t2,o2):(e2.image.$item=document.createElement("div"),e2.image.src&&(o2=e2.extend({"background-position":e2.options.imgPosition,"background-size":e2.options.imgSize,"background-repeat":e2.options.imgRepeat,"background-image":e2.image.bgImage||`url("${e2.image.src}")`},t2,o2))),e2.options.type!=="opacity"&&e2.options.type!=="scale"&&e2.options.type!=="scale-opacity"&&e2.options.speed!==1||(e2.image.position="absolute"),e2.image.position==="fixed"){const t3=(function(e3){const t4=[];for(;e3.parentElement!==null;)(e3=e3.parentElement).nodeType===1&&t4.push(e3);return t4})(e2.$item).filter((e3=>{const t4=i.getComputedStyle(e3),o3=t4["-webkit-transform"]||t4["-moz-transform"]||t4.transform;return o3&&o3!=="none"||/(auto|scroll)/.test(t4.overflow+t4["overflow-y"]+t4["overflow-x"])}));e2.image.position=t3.length?"absolute":"fixed"}o2.position=e2.image.position,e2.css(e2.image.$item,o2),e2.image.$container.appendChild(e2.image.$item),e2.onResize(),e2.onScroll(!0),e2.options.onInit&&e2.options.onInit.call(e2),e2.css(e2.$item,"background-image")!=="none"&&e2.css(e2.$item,{"background-image":"none"}),e2.addToParallaxList()}addToParallaxList(){r.push({instance:this}),r.length===1&&i.requestAnimationFrame(m)}removeFromParallaxList(){const e2=this;r.forEach(((t2,i2)=>{t2.instance.instanceID===e2.instanceID&&r.splice(i2,1)}))}destroy(){const e2=this;e2.removeFromParallaxList();const t2=e2.$item.getAttribute("data-jarallax-original-styles");if(e2.$item.removeAttribute("data-jarallax-original-styles"),t2?e2.$item.setAttribute("style",t2):e2.$item.removeAttribute("style"),e2.image.useImgTag){const i2=e2.image.$item.getAttribute("data-jarallax-original-styles");e2.image.$item.removeAttribute("data-jarallax-original-styles"),i2?e2.image.$item.setAttribute("style",t2):e2.image.$item.removeAttribute("style"),e2.image.$itemParent&&e2.image.$itemParent.appendChild(e2.image.$item)}e2.image.$container&&e2.image.$container.parentNode.removeChild(e2.image.$container),e2.options.onDestroy&&e2.options.onDestroy.call(e2),delete e2.$item.jarallax}clipContainer(){}coverImage(){const e2=this,t2=e2.image.$container.getBoundingClientRect(),i2=t2.height,{speed:o2}=e2.options,n2=e2.options.type==="scroll"||e2.options.type==="scroll-opacity";
7let a2=0,l2=i2,r2=0;return n2&&(0>o2?(a2=o2*Math.max(i2,s),s<i2&&(a2-=o2*(i2-s))):a2=o2*(i2+s),1<o2?l2=Math.abs(a2-s):0>o2?l2=a2/o2+Math.abs(a2):l2+=(s-i2)*(1-o2),a2/=2),e2.parallaxScrollDistance=a2,r2=n2?(s-l2)/2:(i2-l2)/2,e2.css(e2.image.$item,{height:`${l2}px`,marginTop:`${r2}px`,left:e2.image.position==="fixed"?`${t2.left}px`:"0",width:`${t2.width}px`}),e2.options.onCoverImage&&e2.options.onCoverImage.call(e2),{image:{height:l2,marginTop:r2},container:t2}}isVisible(){return this.isElementInViewport||!1}onScroll(e2){const t2=this,o2=t2.$item.getBoundingClientRect(),n2=o2.top,a2=o2.height,l2={};let r2=o2;if(t2.options.elementInViewport&&(r2=t2.options.elementInViewport.getBoundingClientRect()),t2.isElementInViewport=0<=r2.bottom&&0<=r2.right&&r2.top<=s&&r2.left<=i.innerWidth,!e2&&!t2.isElementInViewport)return;const m2=Math.max(0,n2),c2=Math.max(0,a2+n2),p2=Math.max(0,-n2),d2=Math.max(0,n2+a2-s),g2=Math.max(0,a2-(n2+a2-s)),u=Math.max(0,-n2+s-a2),f=1-(s-n2)/(s+a2)*2;let h=1;if(a2<s?h=1-(p2||d2)/a2:c2<=s?h=c2/s:g2<=s&&(h=g2/s),t2.options.type!=="opacity"&&t2.options.type!=="scale-opacity"&&t2.options.type!=="scroll-opacity"||(l2.transform="translate3d(0,0,0)",l2.opacity=h),t2.options.type==="scale"||t2.options.type==="scale-opacity"){let e3=1;0>t2.options.speed?e3-=t2.options.speed*h:e3+=t2.options.speed*(1-h),l2.transform=`scale(${e3}) translate3d(0,0,0)`}if(t2.options.type==="scroll"||t2.options.type==="scroll-opacity"){let e3=t2.parallaxScrollDistance*f;t2.image.position==="absolute"&&(e3-=n2),l2.transform=`translate3d(0,${e3}px,0)`}t2.css(t2.image.$item,l2),t2.options.onScroll&&t2.options.onScroll.call(t2,{section:o2,beforeTop:m2,beforeTopEnd:c2,afterTop:p2,beforeBottom:d2,beforeBottomEnd:g2,afterBottom:u,visiblePercent:h,fromViewportCenter:f})}onResize(){this.coverImage()}}const d=function(e2,t2,...i2){(typeof HTMLElement=="object"?e2 instanceof HTMLElement:e2&&typeof e2=="object"&&e2!==null&&e2.nodeType===1&&typeof e2.nodeName=="string")&&(e2=[e2]);const o2=e2.length;let n2,a2=0;for(;a2<o2;a2+=1)if(typeof t2=="object"||t2===void 0?e2[a2].jarallax||(e2[a2].jarallax=new p(e2[a2],t2)):e2[a2].jarallax&&(n2=e2[a2].jarallax[t2].apply(e2[a2].jarallax,i2)),n2!==void 0)return n2;return e2};d.constructor=p;const g=i.jQuery;if(g!==void 0){const e2=function(...e3){Array.prototype.unshift.call(e3,this);const t3=d.apply(i,e3);return typeof t3!="object"?t3:this};e2.constructor=d.constructor;const t2=g.fn.jarallax;g.fn.jarallax=e2,g.fn.jarallax.noConflict=function(){return g.fn.jarallax=t2,this}}return e((()=>{d(document.querySelectorAll("[data-jarallax]"))})),d})),jarallax(document.querySelectorAll(".jarallax"),{speed:.2}),document.querySelector(".has-sticky-search").addEventListener("click",()=>{document.querySelector(".header__icon--menu")?.click(),setTimeout(()=>{document.querySelector(".search-modal__content .search__input")?.focus()},300)}),document.querySelector(".has-sticky-menu").addEventListener("click",function(){document.querySelector(".header__icon--menu").click()}),document.querySelector(".has-sticky-cart").addEventListener("click",function(){document.querySelector(".header__icon--cart").click()}),document.addEventListener("DOMContentLoaded",()=>{const checkInterval=setInterval(()=>{const cartCountSpan=document.querySelector('.header__icon--cart span[aria-hidden="true"]'),stickyCartCount=document.querySelector(".sticky-cart-count");if(cartCountSpan&&stickyCartCount){const text=cartCountSpan.textContent||"",count=parseInt(text.replace(/\D/g,""),10)||0;count>0?(stickyCartCount.textContent=count,stickyCartCount.style.display=""):stickyCartCount.style.display="none"}else stickyCartCount&&(stickyCartCount.style.display="none")},500)});function initProductCard(scope=document){scope.querySelectorAll(".card-information__variant-image").forEach(function(variantImgWrapper){console.log("test"),variantImgWrapper.hasAttribute("tabindex")||(variantImgWrapper.setAttribute("tabindex","0"),variantImgWrapper.setAttribute("role","button"));function doSwatchSwitch(){const imgEl=variantImgWrapper.querySelector("img");if(!imgEl)return;const clickedVariantId=variantImgWrapper.getAttribute("data-variant-id"),productC
7ontainer=variantImgWrapper.closest(".card-wrapper");if(!productContainer)return;productContainer.querySelectorAll(".card-information__variant-image").forEach(w=>w.classList.remove("current")),variantImgWrapper.classList.add("current"),productContainer.querySelectorAll(".visually-hidden .variant-btn").forEach(btn=>{btn.getAttribute("data-variant-id")===clickedVariantId&&btn.click()});const featured=imgEl.getAttribute("data-featured"),featuredSrcset=imgEl.getAttribute("data-featuredsrcset"),hover=imgEl.getAttribute("data-hover"),hoversrcset=imgEl.getAttribute("data-hoversrcset"),alt=imgEl.getAttribute("alt"),cardLink=productContainer.querySelector("a.card-link");if(!cardLink)return;const inner=productContainer.querySelector(".card__inner"),mainImg=inner?.querySelector("img.card-mainimg"),hoverImg=inner?.querySelector("img.card-hoverimg");mainImg&&featured&&(mainImg.src=featured,featuredSrcset&&mainImg.setAttribute("srcset",featuredSrcset),alt&&(mainImg.alt=alt)),hoverImg&&hover&&(hoverImg.src=hover,hoversrcset&&hoverImg.setAttribute("srcset",hoversrcset));const href=cardLink.getAttribute("href");if(href){const[base,query]=href.split("?"),tail=query?"&"+query:"";cardLink.setAttribute("href",base+"?variant="+clickedVariantId+tail)}}function handleActivate(e){e.preventDefault(),doSwatchSwitch()}variantImgWrapper.addEventListener("click",handleActivate),variantImgWrapper.addEventListener("touchend",handleActivate),variantImgWrapper.addEventListener("keydown",function(e){(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),doSwatchSwitch())}),variantImgWrapper.addEventListener("focus",function(){doSwatchSwitch()})}),scope.querySelectorAll(".add-to-cart-form").forEach(form=>{const handle=form.dataset.productHandle,optionCount=+form.dataset.optionCount,hiddenInput=form.querySelector(".selected-variant-id"),allButtons=form.querySelectorAll(".variant-btn"),atcButton=form.querySelector(".atc-button"),quickAddBtn=form.querySelector(".quick-add-button"),quickTechOverlay=form.closest(".quick-tech-overlay"),selectedOptions={},variantButtonGroups={};let variants=[];for(let i=1;i<=optionCount;i++)variantButtonGroups[i]=form.querySelectorAll(`.variant-btn[data-option-index="${i}"]`);const atcOriginalText=atcButton?.textContent.trim()||"";function updateATCState(available=!0,variantExists=!0){atcButton&&(atcButton.setAttribute("disabled","disabled"),atcButton.textContent=variantExists?!hiddenInput.value||!available?window.variantStrings.soldOut:atcOriginalText:window.variantStrings.unavailable,hiddenInput.value&&available&&variantExists&&atcButton.removeAttribute("disabled"))}function updateSelectedVariant(){const matched=variants.find(v=>{for(let i=1;i<=optionCount;i++)if(v[`option${i}`]!==selectedOptions[i])return!1;return!0});hiddenInput.value=matched?matched.id:"",updateATCState(matched?.available,typeof matched<"u")}function handleOptionClick(e){e.preventDefault();const btn=e.currentTarget;if(btn.classList.contains("disabled"))return;const index=+btn.dataset.optionIndex,value=btn.dataset.optionValue;selectedOptions[index]!==value&&(selectedOptions[index]=value,variantButtonGroups[index].forEach(b=>b.classList.remove("active")),btn.classList.add("active"),updateSelectedVariant())}function autoSelectFirstOptions(){for(let i=1;i<=optionCount;i++){const group=variantButtonGroups[i];group.forEach(b=>b.classList.remove("active"));const firstAvailable=Array.from(group).find(btn=>!btn.classList.contains("disabled"));selectedOptions[i]=firstAvailable?.dataset.optionValue,firstAvailable?.classList.add("active")}updateSelectedVariant()}function fetchVariants(handle2){return fetch(`/products/${handle2}.js`).then(res=>res.ok?res.json():Promise.reject(res)).then(product=>product.variants)}fetchVariants(handle).then(fetchedVariants=>{variants=fetchedVariants,autoSelectFirstOptions()}).catch(error=>{console.error("\u274C Error loading variant data:",error),updateATCState()}),allButtons.forEach(btn=>btn.addEventListener("click",handleOptionClick)),atcButton&&atcButton.addEventListener("click",e=>{e.preventDefault(),hiddenInput.value&&(atcButton.classList.add("loading"),atcButton.disabled=!0,ajaxAddToCart().finally(()=>{setTimeout(()=>{atcButton.classList.remove("loading"),atcButton.disabled=!1,updateATCState()},1500)}))}),quickAddBtn&&quickAddBtn.addEventListener("click",e=>{e.preventDefault(),quickAddBtn.classList.add("loading"),quickAddBtn.disabled=!0,setTimeout(()=>{quickAddBtn.classList.remove("loading"),quickAddBtn.style.display="none",quickAddBtn.disabled=!1,form.classList.add("is-active"),quickTechOverlay?.classList.add("is-active")},1e3)});function ajaxAddToCart(){const formData=new FormData(form);return fetch("/cart/add.js",{method:"POST",body:formData,headers:{Accept:"application/json"}}).then(res=>res.ok?res.json():res.json().then(err=>Promise.reject(err))).then(data=>{console.log("\u2705 Added to cart:",data),autoSelectFirstOptions(),form.classList.remove("is-active"),quickTechOverlay?.classList.remove("is-active"),quickAddBtn&&(quickAddBtn.style.display="",quickAddBtn.classList.remove("loading"),quickAddBtn.disabled=!1),setTimeout(()=>{document.getElementById("modalAddToCart")?.classList.add("show");const cartNotification=document.querySelector("cart-notification")||document.querySelector("cart-drawer");if(cartNotification){const config={method:"POST",headers:{Accept:"application/json","X-Requested-With":"XMLHttpRequest"},body:new FormData(form)},sections=cartNotification.getSectionsToRender?.().map(s=>s.id).join(",");sections&&(config.body.append("sections",sections),config.body.append("sections_url",window.location.pathname)),fetch(window.routes?.cart_update_url||"/cart",config).then(res=>res.json()).then(data2=>{cartNotification.renderContents(data2),cartNotification.classList.remove("is-empty")}).catch(console.error)}},100)}).catch(err=>{console.error("\u274C Add to cart failed:",err),quickAddBtn&&(quickAddBtn.style.display="",quickAddBtn.classList.remove("loading"),quickAddBtn.disabled=!1)})}form.addEventListener("submit",e=>e.preventDefault())}),scope.querySelectorAll("a .card-variant").forEach(el=>{el.parentElement.addEventListener("click",e=>e.preventDefault())}),scope.querySelectorAll(".card-information__variants, .quick-tech-overlay").forEach(el=>{el.addEventListener("click",e=>e.preventDefault())}),scope.querySelectorAll(".quick-add-mobile").forEach(button=>{button.addEventListener("click",function(e){e.preventDefault();const quickAddButton=this.closest(".card-wrapper")?.querySelector(".quick-add-button");this.classList.add("loading"),setTimeout(()=>this.classList.remove("loading"),2e3),quickAddButton?.click()})}),scope.querySelectorAll(".quick-add-close").forEach(btn=>{btn.addEventListener("click",function(){const container=this.closest(".card-wrapper");container?.querySelector(".add-to-cart-form")?.classList.remove("is-active"),container?.querySelector(".quick-tech-overlay")?.classList.remove("is-active");const addButton=container?.querySelector(".quick-add-button");addButton&&(addButton.style.display="flex")})})}document.addEventListener("DOMContentLoaded",function(){initProductCard()});function updateJarallaxHeight(){if(window.innerWidth<1301)return;const cardInner2=document.querySelector(".card__inner"),jarallaxImg=document.querySelector(".has-banner-height");cardInner2&&jarallaxImg&&(jarallaxImg.style.height=`${cardInner2.offsetHeight+170}px`)}window.addEventListener("load",()=>setTimeout(updateJarallaxHeight,200)),document.fonts?.ready?.then(()=>setTimeout(updateJarallaxHeight,200));let resizeTimeout;window.addEventListener("resize",()=>{clearTimeout(resizeTimeout),resizeTimeout=setTimeout(updateJarallaxHeight,100)});const cardInner=document.querySelector(".card__inner");cardInner&&"ResizeObserver"in window&&new ResizeObserver(updateJarallaxHeight).observe(cardInner);class CustomCountdown extends HTMLElement{connectedCallback(){const endTimeString=this.getAttribute("end-time");if(!endTimeString)return;const endTime=new Date(endTimeString);this.updateCountdown(endTime),this.timerInterval=setInterval(()=>{this.updateCountdown(endTime)},1e3)}disconnectedCallback(){this.timerInterval&&clearInterval(this.timerInterval)}updateCountdown(endTime){const diff=endTime-new Date;if(diff<=0){this.timerInterval&&clearInterval(this.timerInterval);return}const days=Math.floor(diff/(1e3*60*60*24)),hours=Math.floor(diff/(1e3*60*60)%24),minutes=Math.floor(diff/(1e3*60)%60),seconds=Math.floor(diff/1e3%60),daysEl=this.querySelector(".days"),hoursEl=this.querySelector(".hours"),minutesEl=this.querySelector(".minutes"),secondsEl=this.querySelector(".seconds");daysEl&&(daysEl.textContent=String(days).padStart(2,"0")),hoursEl&&(hoursEl.textContent=String(hours).padStart(2,"0")),minutesEl&&(minutesEl.textContent=String(minutes).padStart(2,"0")),secondsEl&&(secondsEl.textContent=String(seconds).padStart(2,"0"))}}customElements.define("custom-countdown",CustomCountdown),document.body.addEventListener("click",function(e){const variantImgWrapper=e.target.closest(".card-information__variant-image");if(variantImgWrapper){const imgEl=variantImgWrapper.querySelector("img");if(!imgEl)return;const clickedVariantId=variantImgWrapper.getAttribute("data-variant-id"),productC
7ontainer=variantImgWrapper.closest(".card-wrapper");if(!productContainer)return;productContainer.querySelectorAll(".card-information__variant-image").forEach(w=>w.classList.remove("current")),variantImgWrapper.classList.add("current"),productContainer.querySelectorAll(".visually-hidden .variant-btn").forEach(btn=>{btn.getAttribute("data-variant-id")===clickedVariantId&&btn.click()});const featured=imgEl.getAttribute("data-featured"),featuredSrcset=imgEl.getAttribute("data-featuredsrcset"),hover=imgEl.getAttribute("data-hover"),hoversrcset=imgEl.getAttribute("data-hoversrcset"),alt=imgEl.getAttribute("alt"),cardLink=productContainer.querySelector("a.card-link");if(!cardLink)return;const inner=productContainer.querySelector(".card__inner"),mainImg=inner?.querySelector("img.card-mainimg"),hoverImg=inner?.querySelector("img.card-hoverimg");mainImg&&featured&&(mainImg.src=featured,featuredSrcset&&mainImg.setAttribute("srcset",featuredSrcset),alt&&(mainImg.alt=alt)),hoverImg&&hover&&(hoverImg.src=hover,hoversrcset&&hoverImg.setAttribute("srcset",hoversrcset));const href=cardLink.getAttribute("href");if(href){const[base,query]=href.split("?"),tail=query?"&"+query:"";cardLink.setAttribute("href",base+"?variant="+clickedVariantId+tail)}}}); 8//# sourceMappingURL=/cdn/shop/t/208/assets/global.js.map?v=46251580250901571101789594638
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.