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"))}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){let 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()}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",()=>{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),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"),!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){event!==void 0&&(this.mainDetailsToggle.classList.remove("menu-opening"),this.mainDetailsToggle.querySelectorAll("details").forEach(detail
1s=>{details.removeAttribute("open"),details.classList.remove("menu-opening")}),this.mainDetailsToggle.querySelectorAll(".submenu-open").forEach(submenu=>{submenu.classList.remove("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");parentMenuElement&&parentMenuElement.classList.remove("submenu-open"),detailsElement.classList.remove("menu-opening"),detailsElement.querySelector("summary").setAttribute("aria-expanded",!1),removeTrapFocus(detailsElement.querySelector("summary")),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(detail
1sElement.closest("details[open]"),detailsElement.querySelector("summary")))};window.requestAnimationFrame(handleAnimation)}}customElements.define("menu-drawer",MenuDrawer);class HeaderDrawer extends MenuDrawer{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();const swallow=e=>{e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation()},closeBtn=this.querySelector('[id^="ModalClose-"]');closeBtn?.addEventListener("pointerdown",e=>{swallow(e),this.hide(!1)},{capture:!0}),closeBtn?.addEventListener("touchstart",e=>{swallow(e),this.hide(!1)},{capture:!0,passive:!1}),closeBtn?.addEventListener("click",e=>{swallow(e)},{capture:!0}),this.querySelector('[role="dialog"]')?.addEventListener("pointerdown",e=>{swallow(e)},{capture:!0}),this.classList.contains("media-modal")?(this.addEventListener("pointerup",event=>{const productMediaModal=document.querySelector(".product-media-modal"),productMediaModalContent=document.querySelector(".product-media-modal__content"),clickedBackToTop=event.target.classList.contains("pdp-zoom-in--to-top")||event.target.closest(".pdp-zoom-in--to-top");if(event.target.closest(".product-media-modal__content")){clickedBackToTop&&(productMediaModal?.setAttribute("open",""),productMediaModalContent&&(productMediaModalContent.scrollTop=0,productMediaModalContent.style.transition="0.2s ease-in-out")),event.preventDefault(),event.stopPropagation(),event.stopImmediatePropagation();return}this.hide()}),this.querySelector(".pdp-zoom-in--to-top")?.addEventListener("keyup",event=>{if(event.code==="Enter"||event.code==="Space"){const productMediaModal=document.querySelector(".product-media-modal"),productMediaModalContent=document.querySelector(".product-media-modal__content");productMediaModal?.setAttribute("open",""),productMediaModalContent&&(productMediaModalContent.scrollTop=0,productMediaModalContent.style.transition="0.2s ease-in-out")}})):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&&poster.addEventListener("click",this.loadContent.bind(this))}loadContent(focus=!0){if(window.pauseAllMedia(),!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"));focus&&deferredElement.focus()}}}customElements.define("deferred-media",DeferredMedia);class SliderComponent extends HTMLElement{constructor(){if(super(),this.slider=this.querySelector('[id^="Slider-"]'),this.sliderItems=this.querySelectorAll('[id^="Slide-"]'),this.enableSliderLooping=!1,this.currentPageElement=this.querySelector(".slider-counter--current"),this.pageTotalElement=this.querySelector(".slider-counter--total"),this.prevButton=this.querySelector('button[name="previous"]'),this.nextButton=this.querySelector('button[name="next"]'),!this.slider||!this.nextButton)return;this.initPages(),new ResizeObserver(entries=>this.initPages()).observe(this.slider),this.slider.addEventListener("scroll",this.update.bind(this)),this.prevButton.addEventListener("click",this.onButtonClick.bind(this)),this.nextButton.addEventListener("click",this.onButtonClick.bind(this))}initPages(){this.sliderItemsToShow=Array.from(this.sliderItems).filter(element=>element.clientWidth>0),!(this.sliderItemsToShow.length<2)&&(this.sliderItemOffset=this.sliderItemsToShow[1].offsetLeft-this.sliderItemsToShow[0].offsetLeft,this.slidesPerPage=Math.floor((this.slider.clientWidth-this.sliderItemsToShow[0].offsetLeft)/this.sliderItemOffset),this.totalPages=this.sliderItemsToShow.length-this.slidesPerPage+1,this.update())}resetPages(){this.sliderItems=this.querySelectorAll('[id^="Slide-"]'),this.initPages()}update(){const previousPage=this.currentPage;this.currentPage=Math.round(this.slider.scrollLeft/this.sliderItemOffset)+1,this.currentPageElement&&this.pageTotalElement&&(this.currentPageElement.textContent=this.currentPage,this.pageTotalElement.textContent=this.totalPages),this.currentPage!=previousPage&&this.dispatchEvent(new CustomEvent("slideChanged",{detail:{currentPage:this.currentPage,currentElement:this.sliderItemsToShow[this.currentPage-1]}})),!this.enableSliderLooping&&(this.isSlideVisible(this.sliderItemsToShow[0])&&this.slider.scrollLeft===0?this.prevButton.setAttribute("disabled","disabled"):this.prevButton.removeAttribute("disabled"),this.isSlideVisible(this.sliderItemsToShow[this.sliderItemsToShow.length-1])?this.nextButton.setAttribute("disabled","disabled"):this.nextButton.removeAttribute("disabled"))}isSlideVisible(element,offset=0){const lastVisibleSlide=this.slider.clientWidth+this.slider.scrollLeft-offset;return element.offsetLeft+element.clientWidth<=lastVisibleSlide&&element.offsetLeft>=this.slider.scrollLeft}onButtonClick(event){event.preventDefault();const step=event.currentTarget.dataset.step||1;this.slideScrollPosition=event.currentTarget.name==="next"?this.slider.scrollLeft+step*this.sliderItemOffset:this.slider.scrollLeft-step*this.sliderItemOffset,this.slider.scrollTo({left:this.slideScrollPosition})}}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}))}
1update(){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{constructor(){super(),this.addEventListener("change",this.onVariantChange)}onVariantChange(){this.updateOptions(),this.updateMasterId(),this.toggleAddButton(!0,"",!1),this.updatePickupAvailability(),this.removeErrorMessage(),this.currentVariant?(this.updateMedia(),this.updateURL(),this.updateVariantInput(),this.renderProductInfo(),this.updateShareUrl()):(this.toggleAddButton(!0,"",!0),this.setUnavailable())}connectedCallback(){if(document.querySelector('[name="options[Size]"]')){const queryString=window.location.search;new URLSearchParams(queryString).get("variant")||this.setUnavailable()}}updateOptions(){this.options=Array.from(this.querySelectorAll("select"),select=>select.value)}updateMasterId(){this.currentVariant=this.getVariantData().find(variant=>!variant.options.map((option,index)=>this.options[index]===option).includes(!1))}updateMedia(){if(!this.currentVariant||!this.currentVariant.featured_media)return;document.getElementById(`MediaGallery-${this.dataset.section}`).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)}updateURL(){if(!this.currentVariant||this.dataset.updateUrl==="false")return;const url=new URL(window.location.href);
1url.searchParams.set("variant",this.currentVariant.id),window.history.replaceState({},"",url.toString())}updateShareUrl(){const shareButton=document.getElementById(`Share-${this.dataset.section}`);!shareButton||!shareButton.updateUrl||shareButton.updateUrl(`${window.shopUrl}${this.dataset.url}?variant=${this.currentVariant.id}`)}updateVariantInput(){const forms=this.getAllProductForms();!forms.length||!this.currentVariant||forms.forEach(form=>{const input=form.querySelector('input[name="id"]');input&&(input.value=this.currentVariant.id,input.disabled=!1,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&&productForm.handleErrorMessage()}renderProductInfo(){fetch(`${this.dataset.url}?variant=${this.currentVariant.id}§ion_id=${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`).then(response=>response.text()).then(responseText=>{const html=new DOMParser().parseFromString(responseText,"text/html"),destination=document.getElementById(`price-${this.dataset.section}`),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)})}getAllProductForms(){const root=this.closest("section")||document;return Array.from(root.querySelectorAll('form[action$="/cart/add"]'))}toggleAddButton(disable=!0,text,modifyClass=!0){const forms=this.getAllProductForms();forms.length&&forms.forEach(form=>{Array.from(form.querySelectorAll('[name="add"]')).forEach(btn=>{const btnText=btn.querySelector("span")||btn.querySelector('[name="add"] > span');disable?(btn.setAttribute("disabled","disabled"),btn.setAttribute("aria-disabled","true"),text&&btnText&&(btnText.textContent=text)):(btn.removeAttribute("disabled"),btn.setAttribute("aria-disabled","false"),btnText&&(btnText.textContent=btn.dataset.isPreorder?window.variantStrings.preorder:window.variantStrings.addToCart))})})}setUnavailable(){const button=document.getElementById(`product-form-${this.dataset.section}`),addButton=button.querySelector('[name="add"]'),addButtonText=button.querySelector('[name="add"] > span');addButton&&(addButtonText.textContent=addButton.dataset.isPreorder?window.variantStrings.preorder:window.variantStrings.addToCart,addButton.removeAttribute("disabled"))}getVariantData(){return this.variantData=this.variantData||JSON.parse(this.querySelector('[type="application/json"]').textContent),this.variantData}}customElements.define("variant-selects",VariantSelects);class VariantRadios extends VariantSelects{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);function observeProductLoad(){new MutationObserver(mutations=>{mutations.forEach(mutation=>{mutation.addedNodes.forEach(node=>{if(node.nodeType===1){const newSwipers=node.querySelectorAll(".swiper-product-card");newSwipers.length>0&&newSwipers.forEach(swiperContainer=>initSwiper(swiperContainer))}})})}).observe(document.body,{childList:!0,subtree:!0})}function getProductCardSwiper(swiperContainer){const config={breakpoints:{990:{navigation:{nextEl:swiperContainer.querySelector(".swiper-button-next"),prevEl:swiperContainer.querySelector(".swiper-button-prev")}}},slidesPerView:1,spaceBetween:1,scrollbar:{el:swiperContainer.querySelector(".swiper-scrollbar"),hide:!1},loop:!0,preventClicks:!1};function handleResize(){const isShopTheLookChild=swiperContainer.closest("fostr-shop-the-look-slide");(swiperContainer.hasAttribute("data-mobile-swiper-disabled")||isShopTheLookChild)&&750>window.innerWidth?swiper.disable():swiper.enable()}let resizeTimeout;window.addEventListener("resize",()=>{clearTimeout(resizeTimeout),resizeTimeout=setTimeout(handleResize,150)});const swiper=new Swiper(swiperContainer,config);handleResize();let canClick=!0;return swiperContainer.addEventListener("mouseenter",function(){canClick&&(swi
1per.params.speed=1,canClick=!1,setTimeout(()=>{swiper.params.speed=300,canClick=!0},50))}),swiperContainer.addEventListener("mouseleave",function(){swiper.params.speed=1}),swiper}function getShopTheLookSwiper(swiperContainer){function applyCorrectWidth(){swiperContainer.style.width=750>window.innerWidth?window.innerWidth+"px":"100%"}applyCorrectWidth();let resizeTimeout;window.addEventListener("resize",()=>{clearTimeout(resizeTimeout),resizeTimeout=setTimeout(applyCorrectWidth,150)});const bullets=!1,slider=!0;function scrollbarWidthAdjust(){const scrollbarWidth=this.scrollbar.el.offsetWidth,slideCount=this.slides.length,fixedDragSize=scrollbarWidth/(slideCount-1);this.params.scrollbar.dragSize=fixedDragSize,this.scrollbar.updateSize(),this.scrollbar.fixedDragSize=fixedDragSize,this.scrollbar.maxTranslate=scrollbarWidth-fixedDragSize}const config={navigation:{nextEl:swiperContainer.querySelector(".shop-the-look__nav [data-action='previous']"),prevEl:swiperContainer.querySelector(".shop-the-look__nav [data-action='next']")},slidesPerView:"auto",spaceBetween:1,slidesPerGroup:1,simulateTouch:!0,allowTouchMove:!0,autoplay:!1,on:{init:scrollbarWidthAdjust,setTranslate:function(){if(!swiper.scrollbar.dragEl||!swiper.scrollbar.maxTranslate)return;const match=swiper.scrollbar.dragEl.style.transform.match(/translate3d\((-?\d+\.?\d*)px/);if(!match)return;let translateX=parseFloat(match[1]);translateX=Math.max(0,Math.min(translateX,swiper.scrollbar.maxTranslate)),swiper.scrollbar.dragEl.style.transform=`translate3d(${translateX}px, 0px, 0px)`,swiper.scrollbar.dragEl.style.width=`${swiper.scrollbar.fixedDragSize}px`},resize:scrollbarWidthAdjust}};bullets&&(config.pagination={el:swiperContainer.querySelector(".shop-the-look__pagination.swiper-pagination"),clickable:!0}),slider&&(config.scrollbar={el:swiperContainer.querySelector(".shop-the-look__pagination.swiper-scrollbar"),hide:!1},750>window.innerWidth&&(config.scrollbar.draggable=!0,config.scrollbar.dragSize="auto"));const swiper=new Swiper(swiperContainer,config);return window.shopTheLookSwiper=swiper,swiper}function initSwiper(swiperContainer){if(swiperContainer.dataset.swiperInit==="1")return;swiperContainer.dataset.swiperInit="1";let swiperInstance;swiperContainer.classList.contains("shop-the-look__slider")?swiperInstance=getShopTheLookSwiper(swiperContainer):swiperInstance=getProductCardSwiper(swiperContainer);const doUpdate=()=>{try{swiperInstance.update(),swiperInstance.updateSize(),swiperInstance.updateSlides()}catch{}};window.addEventListener("load",doUpdate,{once:!0}),swiperContainer.querySelectorAll("img").forEach(img=>{img.complete||img.addEventListener("load",doUpdate,{once:!0})}),window.addEventListener("resize",doUpdate)}document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".swiper-product-card, .shop-the-look__slider").forEach(initSwiper),observeProductLoad()}),document.addEventListener("swiper:reinitialize",()=>{document.querySelectorAll(".swiper-product-card, .shop-the-look__slider").forEach(initSwiper)});let sendDataToKLAddToWL=function(e){let data=e.detail.d,customerEmail=JSON.parse(document.querySelector("script#cm").innerHTML),productURL=data.du,pHandle=productURL.split("/").pop(),productPath=new URL(productURL).pathname;fetch(productPath).then(response=>{if(!response.ok)throw new Error(`Failed to fetch product data: ${response.status}`);return response.text()}).then(responseText=>{const productElement=new DOMParser().parseFromString(responseText,"text/html").querySelector("fostr-variant-radios script#vStock").innerHTML;let url="https://a.klaviyo.com/client/events?company_id=X5Sgey",options={method:"POST",headers:{revision:"2025-04-15","content-type":"application/vnd.api+json",accept:"application/vnd.api+json"},body:JSON.stringify({data:{type:"event",attributes:{properties:{productHandle:pHandle,productStock:productElement},metric:{data:{type:"metric",attributes:{name:"product added to wishlist"}}},profile:{data:{type:"profile",attributes:{email:customerEmail}}}}}})};return fetch(url,options)}).then(res=>{if(!res.ok)throw new Error(`Failed to submit form data to Klaviyo: ${res.status}`)}).catch(error=>{console.error("Error in sendDataToKLAddToWL:",error)})},sendDataToKLRemoveFromWL=function(e){let data=e.detail.d,customerEmail=JSON.parse(document.querySelector("script#cm").innerHTML),productURL=data.du,pHandle=productURL.split("/").pop(),productPath=new URL(productURL).pathname;Shopify.analytics.publish("product_added_to_wishlist",{productName:data.dt,price:data.pr,currency:Shopify.currency.active}),fetch(productPath).then(response=>{if(!response.ok)throw new Error(`Failed to fetch product data: ${response.status}`);return response.text()}).then(responseText=>{const productElement=new DOMParser().parseFromString(responseText,"text/html").querySelector("fostr-variant-radios script#vStock").innerHTML;let url="https://a.klaviyo.com/client/events?company_id=X5Sgey",options={method:"POST",headers:{revision:"2025-04-15","content-type":"application/vnd.api+json",accept:"application/vnd.api+json"},body:JSON.stringify({data:{type:"event",attributes:{properties:{productHandle:pHandle,productStock:productElement},metric:{data:{type:"metric",attributes:{name:"product removed from wishlist"}}},profile:{data:{type:"profile",attributes:{email:customerEmail}}}}}})};return fetch(url,options)}).then(res=>{if(!res.ok)throw new Error(`Failed to submit form data to Klaviyo: ${res.status}`)}).catch(error=>{console.error("Error in sendDataToKLAddToWL:",error)})};window.SwymCallbacks||(window.SwymCallbacks=[]),window.SwymCallbacks.push(initSwymUI);function initSwymUI(swatInstance){let swat;swat=swatInstance,swat.evtLayer.addEventListener("sw:addedtowishlist",sendDataToKLAddToWL),swat.evtLayer.addEventListener("sw:removedfromwishlist",sendDataToKLRemoveFromWL),swat.evtLayer.addEventListener("sw:addedtowishlist",()=>showWishlistToast("added")),swat.evtLayer.addEventListener("sw:removedfromwishlist",()=>showWishlistToast("removed"))}let wishlistToastTimer=null;function showWishlistToast(action){const toast=document.getElementById("wishlist-toast");if(!toast)return;const msg=action==="removed"?toast.dataset.msgRemoved:toast.dataset.msgAdded;toast.querySelector(".wishlist-toast__msg").textContent=msg;const header=document.querySelector(".header-wrapper");if(header){const bottom=header.getBoundingClientRect().bottom;toast.style.top=`calc(${Math.max(bottom,0)}px + 1rem)`}toast.classList.add("is-visible"),toast.setAttribute("aria-hidden","false"),clearTimeout(wishlistToastTimer),wishlistToastTimer=setTimeout(()=>{toast.classList.remove("is-visible"),toast.setAttribute("aria-hidden","true")},3e3)}function getOneTrustConsentStatus(){const status={strictly_necessary:!0,performance:!1,functional:!1,targeting:!1};return typeof OnetrustActiveGroups<"u"&&(status.performance=OnetrustActiveGroups.includes("C0002"),status.functional=OnetrustActiveGroups.includes("C0003"),status.targeting=OnetrustActiveGroups.includes("C0004")),status}window.digestMessageSHA256=async function(message){const msgUint8=new TextEncoder().encode(message),hashBuffer=await window.crypto.subtle.digest("SHA-256",msgUint8);return Array.from(new Uint8Array(hashBuffer)).map(b=>b.toString(16).padStart(2,"0")).join("").slice(0,32)},window.addEventListener("newsletterFormSubmitted",async function(e){const{email,siteLocation}=e.detail,hashedEmail=await window.digestMessageSHA256(email),event={event:"nl_subscription",hashed_email:hashedEmail,site_location:siteLocation};window.dataLayer=window.dataLayer||[],window.dataLayer.push(event),console.table([["Captured email",email],["Hashed email",hashedEmail],["Site location",siteLocation]]),console.debug("DataLayer pushed:",event)}),window._processedKlaviyoSubmissions=window._processedKlaviyoSubmissions||new Set,window.addEventListener("klaviyoForms",function(e){e.preventDefault();const{type,metaData}
1=e.detail;if(!metaData)return;const{$source,$email,opt_in_promotional_email}=metaData,submissionKey=`${$email}_${Date.now()}`,submissionKeyShort=`${$email}_${Math.floor(Date.now()/1e3)}`;if(window._processedKlaviyoSubmissions.has(submissionKeyShort)||(window._processedKlaviyoSubmissions.add(submissionKeyShort),setTimeout(()=>{window._processedKlaviyoSubmissions.delete(submissionKeyShort)},5e3),!!0))return;const customEvent=new CustomEvent("newsletterFormSubmitted",{detail:{email:$email||void 0,siteLocation:window.theme.siteLocation||void 0}});window.dispatchEvent(customEvent)});function syncScarvesPillsState(root=document){const form=document.getElementById("FacetFiltersForm");form&&root.querySelectorAll(".filter-pill[data-param-name][data-value]").forEach(pill=>{const paramName=pill.dataset.paramName,value=pill.dataset.value,selector='input[name="'+CSS.escape(paramName)+'"][value="'+CSS.escape(value)+'"]',input=form.querySelector(selector),disabled=!input||input.disabled;pill.classList.toggle("is-disabled",disabled);const active=input&&input.checked;pill.classList.toggle("scarves-pill--active",!!active),pill.setAttribute("aria-disabled",disabled?"true":"false")})} 2//# sourceMappingURL=/cdn/shop/t/114/assets/global.js.map?v=2956441726036910341784016777
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.