1(function(){var __sections__={};(function(){for(var i=0,s=document.getElementById("sections-script").getAttribute("data-sections").split(",");i<s.length;i++)__sections__[s[i]]=!0})(),(function(){if(__sections__["cart-slide"])try{customElements.get("shipping-bar")||customElements.define("shipping-bar",class extends HTMLElement{constructor(){super(),this.threshold=0,this.cartTotals=0}setString(){const shippingLabel=this.querySelector(".cart-slide__label-freeshiping"),discountLabel=this.querySelector(".cart-slide__label-discount"),dataRate=parseFloat(this.dataset.amount);if(isNaN(dataRate)||dataRate<=0)return;const rateFactor=Shopify.currency.rate||1,amountCalc=dataRate*rateFactor,cartTotals=parseFloat(this.dataset.cartTotals)/100;if(isNaN(cartTotals))return;const amount=(amountCalc-cartTotals)*100,cartContext=this.closest("cart-slide")||this.closest(".main-cart"),textContainer=cartContext?cartContext.querySelector("[data-shipping-bar-text]"):document.querySelector("[data-shipping-bar-text]");if(textContainer)if(amount>0){this.dataset.originalText||(this.dataset.originalText=textContainer.innerHTML);const base=this.dataset.originalText;textContainer.innerHTML=base.replace(/\|\|amount\|\|/g,Shopify.formatMoney(amount,window.money_format||Shopify.money_format||"{{ shop.money_format }}")),textContainer.style.fontWeight="400"}else textContainer.innerHTML=this.dataset.shippingMessage||"\u2713 FREE Shipping Unlocked!",textContainer.style.fontWeight="700";this.threshold=amountCalc,this.cartTotals=cartTotals}setBar(){const element=this.querySelector("[data-progress-span]");if(!element||!this.threshold||this.threshold<=0)return;const shippingLabel=this.querySelector(".cart-slide__label-freeshiping"),discountLabel=this.querySelector(".cart-slide__label-discount"),rateFactor=Shopify.currency.rate||1;let maxThreshold=this.threshold;if(shippingLabel){const shippingPrice=parseFloat(shippingLabel.dataset.price)*rateFactor;!isNaN(shippingPrice)&&shippingPrice>maxThreshold&&(maxThreshold=shippingPrice)}if(discountLabel){const discountPrice=parseFloat(discountLabel.dataset.price)*rateFactor;!isNaN(discountPrice)&&discountPrice>maxThreshold&&(maxThreshold=discountPrice)}const rawValue=this.cartTotals/maxThreshold*100,value=Math.min(100,Math.max(0,rawValue));element.setAttribute("data-value",value.toFixed(2)),element.style.setProperty("--bar-width",`${value.toFixed(2)}%`),element.innerText=value.toFixed(2),this.positionIcons()}positionIcons(){const marks=this.querySelectorAll(".cart-slide__label");if(marks.length===0)return;const rateFactor=Shopify.currency.rate||1;let maxThreshold=this.threshold;marks.forEach((mark,index)=>{const price=parseFloat(mark.dataset.price);if(!isNaN(price)&&price>0){const adjustedPrice=price*rateFactor;adjustedPrice>maxThreshold&&(maxThreshold=adjustedPrice)}}),!(maxThreshold<=0)&&marks.forEach((mark,index)=>{const price=parseFloat(mark.dataset.price);if(isNaN(price)||price<=0)return;const rawPercent=price*rateFactor/maxThreshold*100,percentPosition=Math.min(100,Math.max(0,rawPercent));mark.style.position="absolute",mark.style.left=`${percentPosition}%`,mark.style.top="0px",mark.style.transform="translateX(-50%)"})}updateCartTotals(cartTotalPrice){cartTotalPrice!=null&&(this.dataset.cartTotals=cartTotalPrice,this.setString(),this.setBar())}connectedCallback(){this.setString(),this.setBar()}})}catch(e){console.error(e)}})(),(function(){if(__sections__["main-cart-items"])try{let debounce2=function(fn,wait){let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}},fetchConfig2=function(type="json"){return{method:"POST",headers:{"Content-Type":"application/json",Accept:`application/${type}`}}};var debounce=debounce2,fetchConfig=fetchConfig2;const sectionArrRender=(secArr,response)=>{secArr.forEach(section=>{const html=new DOMParser().parseFromString(response.sections[section.id],"text/html").getElementById(section.id);section.selectors.forEach(selector=>{const targetElement=document.querySelector(selector),sourceElement=html.querySelector(selector);targetElement&&sourceElement&&(targetElement.outerHTML=sourceElement.outerHTML)})}),syncQuantityInputsWithCart(response)},syncQuantityInputsWithCart=response=>{const syncQuantityInput=(lineNumber,actualQuantity)=>{const quantityInput=document.querySelector(`[data-line-id="${lineNumber}"] input[name="updates[]"]`);if(quantityInput&&parseInt(quantityInput.value,10)!==actualQuantity){quantityInput.value=actualQuantity;const lineItem=quantityInput.closest("[data-line-id]");lineItem&&(lineItem.dataset.initQty=actualQuantity),quantityInput.dispatchEvent(new Event("input",{bubbles:!0}))}};fetch("/cart.js").then(cartResponse=>cartResponse.json()).then(cart=>
1{cart&&cart.items&&Array.isArray(cart.items)&&cart.items.forEach((cartItem,index)=>{const lineNumber=index+1;syncQuantityInput(lineNumber,cartItem.quantity)})}).catch(()=>{})},handleLineError=(parent,response)=>{const parentElement=document.querySelector(parent),errorContainer=parentElement.querySelector("[data-render-error]");errorContainer.classList.remove("hidden"),errorContainer.innerText=response.errors;const qtyInput=parentElement.querySelector('input[name="updates[]"]');return qtyInput.value=parseFloat(parentElement.dataset.initQty),this.erorr=!0},lineItemUpdate=(line,quantity,sections,parent)=>{const secArr=JSON.parse(sections);var body=JSON.stringify({line,quantity,sections:secArr.map(section=>section.id),sections_url:window.location.pathname});this.erorr=!1,fetch(`${routes.cart_change_url}`,{...fetchConfig2(),body}).then(response=>response.text()).then(responseText=>{const response=JSON.parse(responseText);if(response.errors)return handleLineError(parent,response);sectionArrRender(secArr,response),setTimeout(()=>{syncQuantityInputsWithCart(response)},100),typeof updateCartIconDirectly=="function"&&updateCartIconDirectly(response.item_count||0)}).catch(e=>{}).finally(()=>{if(!this.erorr){const modal=document.querySelector('[data-modal="modal-cart-drawer"]');modal&&modal.classList.contains("modal--active")&&(trapFocus(modal.content),modal.setListeners(!0))}})};class QuantityInput extends HTMLElement{constructor(){super(),this._buttonClickInProgress=!1;const onButtonClick=event=>{if(event.preventDefault(),event.stopPropagation(),this._buttonClickInProgress)return;this._buttonClickInProgress=!0;const buttons=this.querySelectorAll("button");buttons.forEach(btn=>{btn.disabled=!0,btn.style.pointerEvents="none",btn.style.opacity="0.6"});const previousValue=this.input.value;event.target.name==="plus"||event.target.parentElement.name==="plus"?this.input.stepUp():this.input.stepDown(),previousValue!==this.input.value?(clearTimeout(this._buttonDebounceTimer),this._buttonDebounceTimer=setTimeout(()=>{this.input.dispatchEvent(this.changeEvent),setTimeout(()=>{this._buttonClickInProgress=!1,buttons.forEach(btn=>{btn.disabled=!1,btn.style.pointerEvents="",btn.style.opacity=""})},200)},300)):(this._buttonClickInProgress=!1,buttons.forEach(btn=>{btn.disabled=!1,btn.style.pointerEvents="",btn.style.opacity=""}))},setBtnStatus=(type,value)=>{const currVal=parseInt(type==="min"?this.input.min:this.input.value),btn=type==="min"?this.querySelector("button[name='minus']"):this.querySelector("button[name='plus']");switch(type){case"min":btn.classList.toggle("disabled",value<=currVal),btn.toggleAttribute("disabled",value<=currVal);break;case"max":btn.classList.toggle("disabled",value>=currVal),btn.toggleAttribute("disabled",value>=currVal);break;default:break}},setSubtotals=(qty,elem)=>{const total=qty*parseInt(this.dataset.variantPrice);elem.innerHTML=Shopify.formatMoney(total,window.money_format)},onInputChange=()=>{const value=parseInt(this.input.value),qtySubtotal=this.querySelector("[data-qty-subtotal]");this.input.min&&setBtnStatus("min",value),this.input.max&&setBtnStatus("max",value),qtySubtotal&&setSubtotals(value,qtySubtotal)},setListeners=()=>
1{this.changeEvent=new Event("input",{bubbles:!0}),this.inputChange=onInputChange.bind(this),this.buttonClick=onButtonClick.bind(this),this.input.addEventListener("input",this.inputChange),this.querySelectorAll("button").forEach(button=>button.addEventListener("click",this.buttonClick))};this.input=this.querySelector("input"),this.input&&setListeners()}}customElements.get("quantity-input")||customElements.define("quantity-input",QuantityInput);class LineItemQty extends QuantityInput{constructor(){super(),this._updateInProgress=!1}connectedCallback(){this.inputUpdate=this.querySelector('[name="updates[]"]'),this.debouncedOnUpdate=debounce2(event=>{if(this._updateInProgress)return;this._updateInProgress=!0,this.querySelectorAll("button").forEach(btn=>{btn.disabled=!0,btn.style.pointerEvents="none",btn.style.opacity="0.6"}),this.onLineItemUpdate()},500),this.inputUpdate.addEventListener("input",this.debouncedOnUpdate)}onLineItemUpdate(){const qty=parseInt(this.querySelector('[name="updates[]"]').value);lineItemUpdate(this.dataset.lineId,qty,this.dataset.sections,this.dataset.parentSelector),setTimeout(()=>{this._updateInProgress=!1,this.querySelectorAll("button").forEach(btn=>{btn.disabled=!1,btn.style.pointerEvents="",btn.style.opacity=""})},600)}}customElements.get("line-item-qty")||customElements.define("line-item-qty",LineItemQty),customElements.get("shipping-bar")||customElements.define("shipping-bar",class extends HTMLElement{constructor(){super(),this.threshold=0,this.cartTotals=0}setString(){const shippingLabel=this.querySelector(".cart-slide__label-freeshiping"),discountLabel=this.querySelector(".cart-slide__label-discount"),dataRate=parseFloat(this.dataset.amount);if(isNaN(dataRate)||dataRate<=0)return;const rateFactor=Shopify.currency.rate||1,amountCalc=dataRate*rateFactor,cartTotals=parseFloat(this.dataset.cartTotals)/100;if(isNaN(cartTotals))return;const amount=(amountCalc-cartTotals)*100,cartContext=this.closest("cart-slide")||this.closest(".main-cart"),textContainer=cartContext?cartContext.querySelector("[data-shipping-bar-text]"):document.querySelector("[data-shipping-bar-text]");if(textContainer)if(amount>0){this.dataset.originalText||(this.dataset.originalText=textContainer.innerHTML);const base=this.dataset.originalText;textContainer.innerHTML=base.replace(/\|\|amount\|\|/g,Shopify.formatMoney(amount,window.money_format||Shopify.money_format||"{{ shop.money_format }}")),textContainer.style.fontWeight="400"}else textContainer.innerHTML=this.dataset.shippingMessage||"\u2713 FREE Shipping Unlocked!",textContainer.style.fontWeight="700";this.threshold=amountCalc,this.cartTotals=cartTotals}setBar(){const element=this.querySelector("[data-progress-span]");if(!element||!this.threshold||this.threshold<=0)return;const shippingLabel=this.querySelector(".cart-slide__label-freeshiping"),discountLabel=this.querySelector(".cart-slide__label-discount"),rateFactor=Shopify.currency.rate||1;let maxThreshold=this.threshold;if(shippingLabel){const shippingPrice=parseFloat(shippingLabel.dataset.price)*rateFactor;!isNaN(shippingPrice)&&shippingPrice>maxThreshold&&(maxThreshold=shippingPrice)}if(discountLabel){const discountPrice=parseFloat(discountLabel.dataset.price)*rateFactor;!isNaN(discountPrice)&&discountPrice>maxThreshold&&(maxThreshold=discountPrice)}const rawValue=this.cartTotals/maxThreshold*100,value=Math.min(100,Math.max(0,rawValue));element.setAttribute("data-value",value.toFixed(2)),element.style.setProperty("--bar-width",`${value.toFixed(2)}%`),element.innerText=value.toFixed(2),this.positionIcons()}positionIcons(){const marks=this.querySelectorAll(".cart-slide__label");if(marks.length===0)return;const rateFactor=Shopify.currency.rate||1;let maxThreshold=this.threshold;marks.forEach((mark,index)=>{const price=parseFloat(mark.dataset.price);if(!isNaN(price)&&price>0){const adjustedPrice=price*rateFactor;adjustedPrice>maxThreshold&&(maxThreshold=adjustedPrice)}}),!(maxThreshold<=0)&&marks.forEach((mark,index)=>{const price=parseFloat(mark.dataset.price);if(isNaN(price)||price<=0)return;const rawPercent=price*rateFactor/maxThreshold*100,percentPosition=Math.min(100,Math.max(0,rawPercent));mark.style.position="absolute",mark.style.left=`${percentPosition}%`,mark.style.top="0px",mark.style.transform="translateX(-50%)"})}updateCartTotals(cartTotalPrice){cartTotalPrice!=null&&(this.dataset.cartTotals=cartTotalPrice,this.setString(),this.setBar())}connectedCallback(){this.setString(),this.setBar()}})}catch(e){console.error(e)}})(),(function(){if(__sections__["main-search-results"])try{const trapFocus2=(container,elementToFocus=container,shouldTrap=!0)=>{const handlers=trapFocus2._handlers||(trapFocus2._handlers={}),getFocusableElements=container2=>Array.from(container2.querySelectorAll("summary, a[href], button:enabled, [tabindex]:not
1([tabindex^='-']), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe")),remove=(focusTarget=null)=>{document.removeEventListener("focusin",handlers.focusin),document.removeEventListener("focusout",handlers.focusout),document.removeEventListener("keydown",handlers.keydown),focusTarget&&focusTarget.focus()};if(!shouldTrap){remove(elementToFocus);return}const elements=getFocusableElements(container),first=elements[0],last=elements[elements.length-1];remove(),handlers.keydown=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()),container.contains(document.activeElement)||(event.preventDefault(),first.focus()))},handlers.focusin=event=>{event.target!==container&&event.target!==last&&event.target!==first||document.addEventListener("keydown",handlers.keydown)},handlers.focusout=()=>{document.removeEventListener("keydown",handlers.keydown)},document.addEventListener("focusin",handlers.focusin),document.addEventListener("focusout",handlers.focusout),elementToFocus.focus(),elementToFocus.tagName==="INPUT"&&["search","text","email","url"].includes(elementToFocus.type)&&elementToFocus.value&&elementToFocus.setSelectionRange(0,elementToFocus.value.length)},debounce=(fn,wait)=>{let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}},setFilterParam=(param,value,remove=!1,getParams=!1)=>{const input=document.getElementById("filters-params"),url=new URL(input.value,window.location.origin);if(getParams)return new URLSearchParams(url.searchParams).toString();switch(remove){case!0:if(param.includes("price"))[...url.searchParams.keys()].forEach(key=>key.includes("filter.v.price")&&url.searchParams.delete(key));else if(!value)url.searchParams.delete(param);else{const valToDel=value,updatedValues=url.searchParams.getAll(param).filter(value2=>value2!==valToDel);url.searchParams.delete(param),updatedValues.forEach(value2=>url.searchParams.append(param,value2))}break;case"all":[...url.searchParams.keys()].forEach(key=>key.includes("filter")&&url.searchParams.delete(key));break;default:param.includes("price")?url.searchParams.set(param,value):url.searchParams.append(param,value);break}input.value=url.toString()},toggleLoader=state=>{const loader=document.querySelector("[data-theme-loader]");if(loader){if(state){loader.style.display="flex",loader.animate([{opacity:0},{opacity:1}],{duration:300,fill:"forwards",easing:"ease"}).onfinish=()=>{loader.classList.add("theme-loader--active")};return}loader.animate([{opacity:1},{opacity:0}],{duration:300,fill:"forwards",easing:"ease"}).onfinish=()=>{loader.classList.remove("theme-loader--active"),loader.style.display="none"}}};class FiltersDropdown extends HTMLElement{constructor(){super(),this.button=this.querySelector("[data-dropdown-toggler]"),this.content=this.querySelector("[data-dropdown-content]"),this.items=this.querySelectorAll("input"),this.closeButton=this.querySelector("[data-dropdown-close-btn]"),!(!this.button||!this.content)&&this.button.addEventListener("click",event=>{if(this.button.getAttribute("aria-expanded")==="true")return this.closeDropdown();this.openDropdown()})}connectedCallback(){const self=this,doAnimate=element=>{const parseJSON=key=>{try{return JSON.parse(self.content.dataset[key])}catch{return null}},animationFrames=parseJSON("frames"),timing=parseJSON("options");!animationFrames||!timing||element.animate(animationFrames,timing)},applyColorScheme=()=>{const{colorScheme,schemeQuery}=this.dataset;if(!colorScheme)return;const classes=colorScheme.trim().split(/\s+/),query=parseFloat(schemeQuery);if(!schemeQuery||isNaN(query)){this.content.classList.add(...classes);return}screen.width>=query&&this.content.classList.add(...classes)},openDropdown=()=>{self.button.setAttribute("aria-expanded",!0),self.content.classList.add("dropdown--open"),doAnimate(self.content),self.content.focus(),trapFocus2(self.content),document.body.addEventListener("click",onBodyClick),self.addEventListener("keyup",onKeyUp),this.initFilters(),this.closeButton&&this.closeButton.addEventListener("click",this.closeDropdown)},closeDropdown=()=>{closeDetailsTag(),self.button.setAttribute("aria-expanded",!1),self.content.classList.remove("dropdown--open"),self.button.focus(),document.body.removeEventListener("click",onBodyClick),self.removeEventListener("keyup",onKeyUp),this.fields.forEach(field=>{field.removeEventListener("input",this.debouncedOnSubmit.bind(this))}),this.closeButton&&this.closeButton.removeEventListener("click",this.closeDropdown)},onBodyClick=event=>{const target=event.target;self.contains(target)||target===self||target===self.button&&self.button.getAttribute("aria-expanded")==="true"||closeDropdown()},onKeyUp=event=>{event.key==="Escape"&&(event.stopPropagation(),closeDropdown())},closeDetailsTag=()=>{this.querySelectorAll("details").forEach(tag=>{tag.removeAttribute("open")})};applyColorScheme(),this.openDropdown=openDropdown,this.closeDropdown=closeDropdown}initFilters(){this.debouncedOnSubmit=debounce(event=>{this.onSubmitHandler(event)},500),this.fields=this.querySelectorAll("input"),this.fields.forEach(field=>{field.addEventListener("input",this.debouncedOnSubmit.bind(this))})}onSubmitHandler(event){event.preventDefault();const target=event.target;switch(target.type){case"checkbox":setFilterParam(target.name,target.value,!target.checked);break;case"number":setFilterParam(target.name,target.value);break;default:break}document.querySelector("facets-filter").onSubmitHandler(target.id)}}customElements.get("filters-dropdown")||customElements.define("filters-dropdown",FiltersDropdown);class SortDropdown extends HTMLElement{constructor(){super(),this.button=this.querySelector("[data-dropdown-toggler]"),this.content=this.querySelector("[data-dropdown-content]"),this.items=this.content.querySelectorAll("[data-btn-sort]"),this.closeButton=this.querySelector("[data-dropdown-close-btn]"),!(!this.button||!this.content)&&this.button.addEventListener("click",event=>{if(this.button.getAttribute("aria-expanded")==="true")return this.closeDropdown();this.openDropdown()})}connectedCallback(){const self=this,doAnimate=element=>{const parseJSON=key=>{try{return JSON.parse(self.content.dataset[key])}catch{return null}},animationFrames=parseJSON("frames"),timing=parseJSON("options");!animationFrames||!timing||element.animate(animationFrames,timing)},setCurrentValue=target=>{const elem=self.button.querySelector("[data-current-value]");elem.textContent=target.dataset.text,setFilterParam("sort_by",target.dataset.value),document.querySelector("facets-filter").onSubmitHandler(),self.closeDropdown()},onSortSelect=event=>{const target=event.target;
1self.items.forEach(item=>item.classList.remove("main-featured-product-grid_facets-sort-action-btn--active")),target.classList.add("main-featured-product-grid_facets-sort-action-btn--active"),setCurrentValue(target)},applyColorScheme=()=>{const{colorScheme,schemeQuery}=this.dataset;if(!colorScheme)return;const classes=colorScheme.trim().split(/\s+/),query=parseFloat(schemeQuery);if(!schemeQuery||isNaN(query)){this.content.classList.add(...classes);return}screen.width>=query&&this.content.classList.add(...classes)},openDropdown=()=>{self.button.setAttribute("aria-expanded",!0),self.content.classList.add("dropdown--open"),doAnimate(self.content),self.content.focus(),trapFocus2(self.content),document.body.addEventListener("click",onBodyClick),self.addEventListener("keyup",onKeyUp),self.items.forEach(item=>{item.addEventListener("click",self.sortSelect)}),this.closeButton&&this.closeButton.addEventListener("click",this.closeDropdown)},closeDropdown=()=>{const outerSelf=self.closest('menu-dropdown[data-level="1"]');self.button.setAttribute("aria-expanded",!1),self.content.classList.remove("dropdown--open"),self.dataset.level==="2"&&trapFocus2(outerSelf.content),self.button.focus(),document.body.removeEventListener("click",onBodyClick),self.removeEventListener("keyup",onKeyUp),this.items.forEach(item=>{item.removeEventListener("click",self.sortSelect)}),this.closeButton&&this.closeButton.removeEventListener("click",this.closeDropdown)},onBodyClick=event=>{const target=event.target;self.contains(target)||target===self||target===self.button&&self.button.getAttribute("aria-expanded")==="true"||closeDropdown()},onKeyUp=event=>{event.key==="Escape"&&(event.stopPropagation(),closeDropdown())};applyColorScheme(),this.sortSelect=onSortSelect.bind(this),this.openDropdown=openDropdown,this.closeDropdown=closeDropdown}}customElements.get("sort-dropdown")||customElements.define("sort-dropdown",SortDropdown);class FacetRemoveButton extends HTMLElement{connectedCallback(){this.button=this.querySelector("button"),this.button&&this.button.addEventListener("click",event=>{event.preventDefault();const{name,value,valueArr}=this.dataset;setFilterParam(name==="all"?null:name,valueArr||value||null,name==="all"?"all":!0),document.querySelector("facets-filter")?.onSubmitHandler?.()})}}customElements.get("facet-remove-button")||customElements.define("facet-remove-button",FacetRemoveButton);class FacetsFilter extends HTMLElement{constructor(){super(),this.cachedResults=[],window.addEventListener("popstate",this.onHistoryChange.bind(this))}connectedCallback(){this.initParams=setFilterParam(null,null,!1,!0)}onHistoryChange(event){if(event.state&&this.cachedResults.length===0){const searchParams=event.state?event.state.searchParams:this.initParams,sectionsInput=document.querySelector("#filters-sections"),url=document.querySelector("#base-url").value+"?"+searchParams+sectionsInput.value;this.renderFetch(url,!1,searchParams);return}if(this.cachedResults&&this.cachedResults.length>0){const searchParams=event.state?event.state.searchParams:this.initParams,term={params:searchParams};if(this.cachedResults.some(key=>key.params===term.params))return this.renderFromCache(this.cachedResults,term,!1);const sectionsInput=document.querySelector("#filters-sections"),url=document.querySelector("#base-url").value+"?"+searchParams+sectionsInput.value;this.renderFetch(url,!1,searchParams)}}onSubmitHandler(target){toggleLoader(!0);const input=document.querySelector("#filters-params");let inputValue=input.value;inputValue.includes("?")||(inputValue=input.value+"?");const sectionsInput=document.querySelector("#filters-sections"),url=inputValue+sectionsInput.value,searchParams=setFilterParam(null,null,!1,!0),term={params:searchParams};if(this.cachedResults.length>0&&this.cachedResults.some(key=>key.params===term.params)){this.renderFromCache(this.cachedResults,term,!0,target);return}this.renderFetch(url,!0,searchParams,target)}renderFetch(url,updateURLHash=!1,searchParams,target=null){fetch(url).then(response=>response.json()).then(data=>
1{JSON.parse(this.dataset.sections).forEach(section=>{const html=new DOMParser().parseFromString(data[section.id],"text/html").getElementById(section.id);section.selectors.forEach(selector=>{const targetElement=document.querySelector(selector),sourceElement=html.querySelector(selector);targetElement&&sourceElement&&(targetElement.outerHTML=sourceElement.outerHTML)})});const cacheObj={params:searchParams,content:data};this.cachedResults.push(cacheObj)}).catch(e=>{throw e}).finally(()=>{if(updateURLHash&&this.updateURLHash(searchParams),target){const org=document.getElementById(target);org&&org.focus()}toggleLoader(!1)})}renderFromCache(cache,filter,updateURLHash=!1,target=null){const cachedResults=cache.find(results=>results.params===filter.params);JSON.parse(this.dataset.sections).forEach(section=>{const html=new DOMParser().parseFromString(cachedResults.content[section.id],"text/html").getElementById(section.id);section.selectors.forEach(selector=>{const targetElement=document.querySelector(selector),sourceElement=html.querySelector(selector);targetElement&&sourceElement&&(targetElement.outerHTML=sourceElement.outerHTML)})}),updateURLHash&&this.updateURLHash(filter.params),toggleLoader(!1)}updateURLHash(searchParams){const updatedSearchParams=setFilterParam(null,null,!1,!0);history.pushState({searchParams},"",`${window.location.pathname}${updatedSearchParams&&"?".concat(updatedSearchParams)}`)}}customElements.get("facets-filter")||customElements.define("facets-filter",FacetsFilter)}catch(e){console.error(e)}})(),(function(){if(!(!__sections__["yas-comparison-section"]&&!Shopify.designMode))try{let onLoadFunction2=function(e){if(!compresion_block||!compresion_scrollText)return;compresion_block.scrollWidth>compresion_block.clientWidth?compresion_scrollText.classList.add("scroll-on"):compresion_scrollText.classList.remove("scroll-on")};var onLoadFunction=onLoadFunction2;const compresion_block=document.getElementById("comparison-table-w"),compresion_scrollText=document.getElementById("scroll_text");compresion_block&&compresion_scrollText&&(window.addEventListener("load",onLoadFunction2),window.addEventListener("resize",onLoadFunction2))}catch(e){console.error(e)}})(),(function(){if(!(!__sections__["yas-contactus"]&&!Shopify.designMode))try{document.addEventListener("DOMContentLoaded",()=>{const contactForm=document.querySelector("#ContactForm");if(!contactForm)return;const nameInput=contactForm.querySelector('input[name="contact[name]"]'),emailInput=contactForm.querySelector('input[name="contact[email]"]'),submitBtn=contactForm.querySelector(".submit-button");if(!nameInput||!emailInput||!submitBtn)return;submitBtn.disabled=!0;const validateForm=()=>{const nameValid=nameInput.value.trim().length>0,emailValid=/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(emailInput.value.trim());submitBtn.disabled=!(nameValid&&emailValid)};nameInput.addEventListener("input",validateForm),emailInput.addEventListener("input",validateForm),contactForm.addEventListener("submit",e=>{submitBtn.disabled&&e.preventDefault()})})}catch(e){console.error(e)}})(),(function(){if(__sections__["yas-header"])try{class StickyBlock extends HTMLElement{constructor(){super()}connectedCallback(){if(!this.dataset.refBlock&&!this.dataset.behavior)return;const stickyHide=()=>{this.setAttribute("data-revealed",!1),this.dataset.hasHidden==="true"&&this.setAttribute("aria-hidden",!0),this.dataset.bodyClass&&document.body.classList.remove(this.dataset.bodyClass),this.height&&(this.style.removeProperty("height"),this.dataset.bodyClass&&document.body.style.removeProperty("--page-header-height"))},initialize=()=>{if(this.behavior=this.dataset.behavior,this.spacer=this.dataset.spacer,this.endBounds=document.body.offsetHeight+this.offsetHeight,this.behavior)switch(this.behavior){case"downwards":window.addEventListener("scroll",onDownwardScroll.bind(this));break;case"upwards":window.addEventListener("scroll",onUpwardScroll.bind(this));break;case"stacked":window.addEventListener("scroll",onStackedScroll.bind(this));break;case"observer":window.addEventListener("scroll",onObservedScroll.bind(this));break;default:break}this.refBlock=document.querySelector(this.dataset.refBlock),this.refBlock&&(this.refBoundings=this.refBlock.getBoundingClientRect(),this.offset=this.dataset.offset?parseFloat(this.dataset.offset):0,this.threshold=this.refBlock.offsetTop+this.refBoundings.height+this.offset,this.previousScrollAmount=window.screenY,this.percent=this.dataset.pagePercentage?this.dataset.pagePercentage:null,this.spacer&&(this.height=this.refBlock.offsetHeight))},onObservedScroll=()=>{let revealedAttr=!0;const handleObserver=(entries,observer)=>
1{observer.unobserve(this),entries.forEach(entry=>{entry.isIntersecting?revealedAttr=!1:revealedAttr=!0,setStickyStatus(revealedAttr)})};new IntersectionObserver(handleObserver,{rootMargin:"0px 0px -60px 0px"}).observe(this)},onDownwardScroll=()=>{let revealedAttr=!1;if(this.percent){const threshold=document.documentElement.offsetHeight*parseFloat(this.percent)/100;this.threshold=threshold}window.scrollY>this.threshold&&(revealedAttr=!0),setStickyStatus(revealedAttr)},onUpwardScroll=()=>{let revealedAttr=!1;const threshold=this.height?this.height:this.refBlock.offsetHeight;window.scrollY>this.previousScrollAmount?revealedAttr=!1:window.scrollY<this.previousScrollAmount&&(revealedAttr=!0,window.scrollY<threshold&&(revealedAttr=!1)),setStickyStatus(revealedAttr),this.previousScrollAmount=window.scrollY},onStackedScroll=()=>{let revealedAttr=!1;this.refBoundings.y<0&&(this.refBoundings.y+=window.scrollY),this.refBoundings.y<window.scrollY&&(revealedAttr=!0),setStickyStatus(revealedAttr)},setStickyStatus=revealed=>{if(this.dataset.hideOnEnd==="true"&&window.innerHeight+window.scrollY>=this.endBounds)return stickyHide();if(revealed){this.setAttribute("data-revealed",!0),this.dataset.hasHidden==="true"&&this.removeAttribute("aria-hidden"),this.dataset.bodyClass&&document.body.classList.add(this.dataset.bodyClass),this.height&&(this.style.height=this.height+"px",this.dataset.bodyClass&&document.body.style.setProperty("--page-header-height",this.height+"px"));return}stickyHide()},setTempoStatus=(flag,refContainer)=>{const refElement=document.querySelector(refContainer);refElement&&(refElement.style.transform=flag?"translateY(0%)":"translateY(-100%)")};this.setTempoStatus=setTempoStatus,this.setStickyStatus=setStickyStatus,this.initLoad=setTimeout(initialize.bind(this),100),document.addEventListener("DOMContentLoaded",function(){this.initLoad})}}customElements.get("sticky-block")||customElements.define("sticky-block",StickyBlock),document.addEventListener("DOMContentLoaded",()=>{const updateHeaderHeight=()=>{const announcementBars=document.querySelectorAll(".announcement-bar"),pageHeader=document.querySelector(".page-header");let totalHeight=0;announcementBars.forEach(bar=>{totalHeight+=bar.offsetHeight||0}),pageHeader&&(totalHeight+=pageHeader.offsetHeight||0),document.body.style.setProperty("--header-total-height",`${totalHeight}px`)};updateHeaderHeight(),window.addEventListener("resize",updateHeaderHeight),new MutationObserver(updateHeaderHeight).observe(document.body,{childList:!0,subtree:!0})})}catch(e){console.error(e)}})(),(function(){if(__sections__["yas-main-collection-product-grid"])try{const trapFocus2=(container,elementToFocus=container,shouldTrap=!0)=>{const handlers=trapFocus2._handlers||(trapFocus2._handlers={}),getFocusableElements=container2=>Array.from(container2.querySelectorAll("summary, a[href], button:enabled, [tabindex]:not([tabindex^='-']), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe")),remove=(focusTarget=null)=>{document.removeEventListener("focusin",handlers.focusin),document.removeEventListener("focusout",handlers.focusout),document.removeEventListener("keydown",handlers.keydown),focusTarget&&focusTarget.focus()};if(!shouldTrap){remove(elementToFocus);return}const elements=getFocusableElements(container),first=elements[0],last=elements[elements.length-1];remove(),handlers.keydown=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()),container.contains(document.activeElement)||(event.preventDefault(),first.focus()))},handlers.focusin=event=>{event.target!==container&&event.target!==last&&event.target!==first||document.addEventListener("keydown",handlers.keydown)},handlers.focusout=()=>{document.removeEventListener("keydown",handlers.keydown)},document.addEventListener("focusin",handlers.focusin),document.addEventListener("focusout",handlers.focusout),elementToFocus.focus(),elementToFocus.tagName==="INPUT"&&["search","text","email","url"].includes(elementToFocus.type)&&elementToFocus.value&&elementToFocus.setSelectionRange(0,elementToFocus.value.length)},debounce=(fn,wait)=>{let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}},setFilterParam=(param,value,remove=!1,getParams=!1)=>{const input=document.getElementById("filters-params"),url=new URL(input.value,window.location.origin);if(getParams)return new URLSearchParams(url.searchParams).toString();switch(remove){case!0:if(param.includes("price"))[...url.searchParams.keys()].forEac
1h(key=>key.includes("filter.v.price")&&url.searchParams.delete(key));else if(!value)url.searchParams.delete(param);else{const valToDel=value,updatedValues=url.searchParams.getAll(param).filter(value2=>value2!==valToDel);url.searchParams.delete(param),updatedValues.forEach(value2=>url.searchParams.append(param,value2))}break;case"all":[...url.searchParams.keys()].forEach(key=>key.includes("filter")&&url.searchParams.delete(key));break;default:param.includes("price")?url.searchParams.set(param,value):url.searchParams.append(param,value);break}input.value=url.toString()},toggleLoader=state=>{const loader=document.querySelector("[data-theme-loader]");if(loader){if(state){loader.style.display="flex",loader.animate([{opacity:0},{opacity:1}],{duration:300,fill:"forwards",easing:"ease"}).onfinish=()=>{loader.classList.add("theme-loader--active")};return}loader.animate([{opacity:1},{opacity:0}],{duration:300,fill:"forwards",easing:"ease"}).onfinish=()=>{loader.classList.remove("theme-loader--active"),loader.style.display="none"}}};class FiltersDropdown extends HTMLElement{constructor(){super(),this.button=this.querySelector("[data-dropdown-toggler]"),this.content=this.querySelector("[data-dropdown-content]"),this.items=this.querySelectorAll("input"),this.closeButton=this.querySelector("[data-dropdown-close-btn]"),!(!this.button||!this.content)&&this.button.addEventListener("click",event=>{if(this.button.getAttribute("aria-expanded")==="true")return this.closeDropdown();this.openDropdown()})}connectedCallback(){const self=this,doAnimate=element=>{const parseJSON=key=>{try{return JSON.parse(self.content.dataset[key])}catch{return null}},animationFrames=parseJSON("frames"),timing=parseJSON("options");!animationFrames||!timing||element.animate(animationFrames,timing)},applyColorScheme=()=>{const{colorScheme,schemeQuery}=this.dataset;if(!colorScheme)return;const classes=colorScheme.trim().split(/\s+/),query=parseFloat(schemeQuery);if(!schemeQuery||isNaN(query)){this.content.classList.add(...classes);return}screen.width>=query&&this.content.classList.add(...classes)},openDropdown=()=>{self.button.setAttribute("aria-expanded",!0),self.content.classList.add("dropdown--open"),doAnimate(self.content),self.content.focus(),trapFocus2(self.content),document.body.addEventListener("click",onBodyClick),self.addEventListener("keyup",onKeyUp),this.initFilters(),this.closeButton&&this.closeButton.addEventListener("click",this.closeDropdown)},closeDropdown=()=>{closeDetailsTag(),self.button.setAttribute("aria-expanded",!1),self.content.classList.remove("dropdown--open"),self.button.focus(),document.body.removeEventListener("click",onBodyClick),self.removeEventListener("keyup",onKeyUp),this.fields.forEach(field=>{field.removeEventListener("input",this.debouncedOnSubmit.bind(this))}),this.closeButton&&this.closeButton.removeEventListener("click",this.closeDropdown)},onBodyClick=event=>{const target=event.target;self.contains(target)||target===self||target===self.button&&self.button.getAttribute("aria-expanded")==="true"||closeDropdown()},onKeyUp=event=>{event.key==="Escape"&&(event.stopPropagation(),closeDropdown())},closeDetailsTag=()=>{this.querySelectorAll("details").forEach(tag=>{tag.removeAttribute("open")})};applyColorScheme(),this.openDropdown=openDropdown,this.closeDropdown=closeDropdown}initFilters(){this.debouncedOnSubmit=debounce(event=>{this.onSubmitHandler(event)},300),this.fields=this.querySelectorAll("input"),this.fields.forEach(field=>{field.addEventListener("input",this.debouncedOnSubmit.bind(this))})}onSubmitHandler(event){event.preventDefault();const target=event.target;switch(target.type){case"checkbox":setFilterParam(target.name,target.value,!target.checked);break;case"number":setFilterParam(target.name,target.value);break;default:break}document.querySelector("facets-filter").onSubmitHandler(target.id)}}customElements.get("filters-dropdown")||customElements.define("filters-dropdown",FiltersDropdown);class SortDropdown extends HTMLElement{constructor(){super(),this.button=this.querySelector("[data-dropdown-toggler]"),this.content=this.querySelector("[data-dropdown-content]"),this.items=this.content.querySelectorAll("[data-btn-sort]"),this.closeButton=this.querySelector("[data-dropdown-close-btn]"),!(!this.button||!this.content)&&this.button.addEventListener("click",event=>{if(this.button.getAttribute("aria-expanded")==="true")return this.closeDropdown();this.openDropdown()})}connectedCallback(){const self=this,doAnimate=element=>{const parseJSON=key=>{try{return JSON.parse(self.content.dataset[key])}catch{return null}},animationFrames=parseJSON("frames"),timing=parseJSON("options");!animationFrames||!timing||element.animate(animationFrames,timing)},setCurrentValue=target=>{const elem=self.button.querySelector("[data-current-value]");elem.textContent=target.dataset.text,setFilterParam("sort_by",target.dataset.value),document.querySelector("facets-filter").onSubmitHandler(),self.closeDropdown()},onSortSelect=event=>{const target=event.target;
1self.items.forEach(item=>item.classList.remove("main-featured-product-grid_facets-sort-action-btn--active")),target.classList.add("main-featured-product-grid_facets-sort-action-btn--active"),setCurrentValue(target)},applyColorScheme=()=>{const{colorScheme,schemeQuery}=this.dataset;if(!colorScheme)return;const classes=colorScheme.trim().split(/\s+/),query=parseFloat(schemeQuery);if(!schemeQuery||isNaN(query)){this.content.classList.add(...classes);return}screen.width>=query&&this.content.classList.add(...classes)},openDropdown=()=>{self.button.setAttribute("aria-expanded",!0),self.content.classList.add("dropdown--open"),doAnimate(self.content),self.content.focus(),trapFocus2(self.content),document.body.addEventListener("click",onBodyClick),self.addEventListener("keyup",onKeyUp),self.items.forEach(item=>{item.addEventListener("click",self.sortSelect)}),this.closeButton&&this.closeButton.addEventListener("click",this.closeDropdown)},closeDropdown=()=>{const outerSelf=self.closest('menu-dropdown[data-level="1"]');self.button.setAttribute("aria-expanded",!1),self.content.classList.remove("dropdown--open"),self.dataset.level==="2"&&trapFocus2(outerSelf.content),self.button.focus(),document.body.removeEventListener("click",onBodyClick),self.removeEventListener("keyup",onKeyUp),this.items.forEach(item=>{item.removeEventListener("click",self.sortSelect)}),this.closeButton&&this.closeButton.removeEventListener("click",this.closeDropdown)},onBodyClick=event=>{const target=event.target;self.contains(target)||target===self||target===self.button&&self.button.getAttribute("aria-expanded")==="true"||closeDropdown()},onKeyUp=event=>{event.key==="Escape"&&(event.stopPropagation(),closeDropdown())};applyColorScheme(),this.sortSelect=onSortSelect.bind(this),this.openDropdown=openDropdown,this.closeDropdown=closeDropdown}}customElements.get("sort-dropdown")||customElements.define("sort-dropdown",SortDropdown);class FacetRemoveButton extends HTMLElement{connectedCallback(){this.button=this.querySelector("button"),this.button&&this.button.addEventListener("click",event=>{event.preventDefault();const{name,value,valueArr}=this.dataset;setFilterParam(name==="all"?null:name,valueArr||value||null,name==="all"?"all":!0),document.querySelector("facets-filter")?.onSubmitHandler?.()})}}customElements.get("facet-remove-button")||customElements.define("facet-remove-button",FacetRemoveButton);class FacetsFilter extends HTMLElement{constructor(){super(),this.cachedResults=[],window.addEventListener("popstate",this.onHistoryChange.bind(this))}connectedCallback(){this.initParams=setFilterParam(null,null,!1,!0)}onHistoryChange(event){if(event.state&&this.cachedResults.length===0){const searchParams=event.state?event.state.searchParams:this.initParams,sectionsInput=document.querySelector("#filters-sections"),url=document.querySelector("#base-url").value+"?"+searchParams+sectionsInput.value;this.renderFetch(url,!1,searchParams);return}if(this.cachedResults&&this.cachedResults.length>0){const searchParams=event.state?event.state.searchParams:this.initParams,term={params:searchParams};if(this.cachedResults.some(key=>key.params===term.params))return this.renderFromCache(this.cachedResults,term,!1);const sectionsInput=document.querySelector("#filters-sections"),url=document.querySelector("#base-url").value+"?"+searchParams+sectionsInput.value;this.renderFetch(url,!1,searchParams)}}onSubmitHandler(target){toggleLoader(!0);const input=document.querySelector("#filters-params");let inputValue=input.value;inputValue.includes("?")||(inputValue=input.value+"?");const sectionsInput=document.querySelector("#filters-sections"),url=inputValue+sectionsInput.value,searchParams=setFilterParam(null,null,!1,!0),term={params:searchParams};if(this.cachedResults.length>0&&this.cachedResults.some(key=>key.params===term.params)){this.renderFromCache(this.cachedResults,term,!0,target);return}this.renderFetch(url,!0,searchParams,target)}renderFetch(url,updateURLHash=!1,searchParams,target=null){fetch(url).then(response=>response.json()).then(data=>
1{JSON.parse(this.dataset.sections).forEach(section=>{const html=new DOMParser().parseFromString(data[section.id],"text/html").getElementById(section.id);section.selectors.forEach(selector=>{const targetElement=document.querySelector(selector),sourceElement=html.querySelector(selector);targetElement&&sourceElement&&(targetElement.outerHTML=sourceElement.outerHTML)})});const cacheObj={params:searchParams,content:data};this.cachedResults.push(cacheObj)}).catch(e=>{throw e}).finally(()=>{updateURLHash&&this.updateURLHash(searchParams),document.querySelector("filters-dropdown").button.dispatchEvent(new Event("click")),target&&this.handleDropdown(target),toggleLoader(!1)})}handleDropdown(target){const org=document.getElementById(target);org.closest("details").setAttribute("open",""),org.focus()}renderFromCache(cache,filter,updateURLHash=!1,target=null){const cachedResults=cache.find(results=>results.params===filter.params);JSON.parse(this.dataset.sections).forEach(section=>{const html=new DOMParser().parseFromString(cachedResults.content[section.id],"text/html").getElementById(section.id);section.selectors.forEach(selector=>{const targetElement=document.querySelector(selector),sourceElement=html.querySelector(selector);targetElement&&sourceElement&&(targetElement.outerHTML=sourceElement.outerHTML)})}),updateURLHash&&this.updateURLHash(filter.params),toggleLoader(!1)}updateURLHash(searchParams){const updatedSearchParams=setFilterParam(null,null,!1,!0);history.pushState({searchParams},"",`${window.location.pathname}${updatedSearchParams&&"?".concat(updatedSearchParams)}`)}}customElements.get("facets-filter")||customElements.define("facets-filter",FacetsFilter)}catch(e){console.error(e)}})()})(); 2//# sourceMappingURL=/cdn/shop/t/4/compiled_assets/scripts.js.map?v=123596085312640328181767977417
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.