PageSourceSearch

https://www.breematcha.com/cdn/shop/t/38/assets/theme.js?v=64613792090064052281790760461

js breematcha.com collected 2026-10-06 15:14:37 UTC 154,623 bytes, 30 lines download raw bytes

1window.theme=window.theme||{},window.Shopify=window.Shopify||{},theme.config={hasSessionStorage:!0,hasLocalStorage:!0,mqlSmall:!1,mediaQuerySmall:"screen and (max-width: 767px)",motionReduced:window.matchMedia("(prefers-reduced-motion: reduce)").matches,isTouch:"ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0,rtl:"rtl"===document.documentElement.getAttribute("dir")},theme.supportsPassive=!1;try{let t=Object.defineProperty({},"passive",{get:function(){theme.supportsPassive=!0}});window.addEventListener("testPassive",null,t),window.removeEventListener("testPassive",null,t)}catch(e){}document.documentElement.classList.add(theme.config.isTouch?"touch":"no-touch"),console.log(theme.settings.themeName+" theme ("+theme.settings.themeVersion+") by ABC | Learn more at https://abc.com"),function(){theme.DOMready=function(t){"loading"!=document.readyState?t():document.addEventListener("DOMContentLoaded",t)},theme.headerGroup={rounded:()=>Array.from(document.querySelectorAll(".shopify-section-group-header-group .section--rounded")),sections:()=>Array.from(document.querySelectorAll(".shopify-section-group-header-group")),init(){let t=null,e=theme.headerGroup.rounded(),i=theme.headerGroup.sections();i.forEach((s,n)=>{let r=s.querySelector(".section");if(r){if(r.classList.remove("section--next-rounded"),r.classList.remove("section--first-rounded"),r.classList.remove("section--last-rounded"),r.classList.contains("section--rounded")&&(0===n&&r.classList.add("section--first-rounded"),n===e.length-1&&r.classList.add("section--last-rounded"),t&&t.classList.contains("section--rounded")&&t.classList.add("section--next-rounded")),n===i.length-1){let a=document.querySelector(".main-content .shopify-section:first-child .section");a&&a.classList.contains("section--rounded")&&r.classList.add("section--next-rounded")}t=r}})}},theme.a11y={trapFocusHandlers:{},getFocusableElements:t=>Array.from(t.querySelectorAll('summary, a[href], button:enabled, [tabindex]:not([tabindex^="-"]), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe')),trapFocus(t,e=t){let i=theme.a11y.getFocusableElements(t),s=i[0],n=i[i.length-1];theme.a11y.removeTrapFocus(),theme.a11y.trapFocusHandlers.focusin=e=>{(e.target===t||e.target===n||e.target===s)&&document.addEventListener("keydown",theme.a11y.trapFocusHandlers.keydown)},theme.a11y.trapFocusHandlers.focusout=function(){document.removeEventListener("keydown",theme.a11y.trapFocusHandlers.keydown)},theme.a11y.trapFocusHandlers.keydown=function(e){"TAB"===e.code.toUpperCase()&&(e.target!==n||e.shiftKey||(e.preventDefault(),s.focus()),(e.target===t||e.target===s)&&e.shiftKey&&(e.preventDefault(),n.focus()))},document.addEventListener("focusout",theme.a11y.trapFocusHandlers.focusout),document.addEventListener("focusin",theme.a11y.trapFocusHandlers.focusin),e.focus(),"INPUT"===e.tagName&&["search","text","email","url"].includes(e.type)&&e.value&&e.setSelectionRange(0,e.value.length)},removeTrapFocus(t=null){document.removeEventListener("focusin",theme.a11y.trapFocusHandlers.focusin),document.removeEventListener("focusout",theme.a11y.trapFocusHandlers.focusout),document.removeEventListener("keydown",theme.a11y.trapFocusHandlers.keydown),t&&"function"==typeof t.focus&&t.focus()}},theme.utils={throttle:t=>{let e=null,i,s=s=>()=>{e=null,t.apply(s,i)},n=(...t)=>{i=t,null===e&&(e=requestAnimationFrame(s(this)))};return n.cancel=()=>{cancelAnimationFrame(e),e=null},n},debounce:(t,e)=>{let i;return(...s)=>{clearTimeout(i),i=setTimeout(()=>t.apply(this,s),e)}},waitForEvent:(t,e)=>new Promise(i=>{let s=n=>{n.target===t&&(t.removeEventListener(e,s),i(n))};t.addEventListener(e,s)}),fetchConfig:(t="json",e="POST")=>({method:e,headers:{"Content-Type":"application/json",Accept:`application/${t}`}}),postLink(t,e){e=e||{};let i=e.method||"post",s=e.parameters||{},n=document.createElement("form");for(let r in n.setAttribute("method",i),n.setAttribute("action",t),s){let a=document.createElement("input");a.setAttribute("type","hidden"),a.setAttribute("name",r),a.setAttribute("value",s[r]),n.appendChild(a)}document.body.appendChild(n),n.submit(),document.body.removeChild(n)},postLink2(t,e){e=e||{};let i=e.method||"post",s=e.parameters||{},n=document.createElement("form");for(let r in n.setAttribute("method",i),n.setAttribute("action",t),s)for(let a in s[r])for(let o in s[r][a]
1){let l=document.createElement("input");l.setAttribute("type","hidden"),l.setAttribute("name",`${r}[${a}][${o}]`),l.setAttribute("value",s[r][a][o]),n.appendChild(l)}document.body.appendChild(n),n.submit(),document.body.removeChild(n)},sectionId:t=>t.hasAttribute("data-section-id")?t.getAttribute("data-section-id"):(t=t.classList.contains("shopify-section")?t:t.closest(".shopify-section")).id.replace("shopify-section-",""),imageLoaded:t=>t?Promise.all((t=t instanceof Element?[t]:Array.from(t)).map(t=>new Promise(e=>{"IMG"===t.tagName&&t.complete||!t.offsetParent?e():t.onload=()=>e()}))):Promise.resolve(),visibleMedia:t=>Array.from(t).find(t=>{let e=window.getComputedStyle(t);return"none"!==e.display}),setScrollbarWidth(){let t=window.innerWidth-document.body.clientWidth;document.documentElement.style.setProperty("--scrollbar-width",`${t>0?t:0}px`)},externalLinksNewTab(){theme.settings.externalLinksNewTab&&document.addEventListener("click",t=>{let e="A"===t.target.tagName?t.target:t.target.closest("a");e&&"A"===e.tagName&&window.location.hostname!==new URL(e.href).hostname&&(e.target="_blank")})}},theme.HTMLUpdateUtility={viewTransition(t,e,i=[],s=[]){i?.forEach(t=>t(e));let n=document.createElement("div");theme.HTMLUpdateUtility.setInnerHTML(n,e.outerHTML);let r=n.firstChild,a=Date.now();t.querySelectorAll("[id], [form]").forEach(t=>{t.id&&(t.id=`${t.id}-${a}`),t.form&&t.setAttribute("form",`${t.form.getAttribute("id")}-${a}`)}),t.parentNode.insertBefore(r,t),t.style.display="none",s?.forEach(t=>t(r)),setTimeout(()=>t.remove(),500)},setInnerHTML(t,e){t.innerHTML=e,t.querySelectorAll("script").forEach(t=>{let e=document.createElement("script");Array.from(t.attributes).forEach(t=>{e.setAttribute(t.name,t.value)}),e.appendChild(document.createTextNode(t.innerHTML)),t.parentNode.replaceChild(e,t)})}},theme.Currency={formatMoney(t,e=""){"string"==typeof t&&(t=t.replace(".",""));let i=/\{\{\s*(\w+)\s*\}\}/,s=e||window.themeVariables.settings.moneyFormat;function n(t,e){return null==t||t!=t?e:t}function r(t,e,i,s){if(e=n(e,2),i=n(i,","),s=n(s,"."),isNaN(t)||null==t)return 0;let r=(t=(t/100).toFixed(e)).split("."),a;return r[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+i)+(r[1]?s+r[1]:"")}let a="";switch(s.match(i)[1]){case"amount":default:a=r(t,2);break;case"amount_no_decimals":a=r(t,0);break;case"amount_with_space_separator":a=r(t,2," ",".");break;case"amount_with_comma_separator":a=r(t,2,".",",");break;case"amount_with_apostrophe_separator":a=r(t,2,"'",".");break;case"amount_no_decimals_with_comma_separator":a=r(t,0,".",",");break;case"amount_no_decimals_with_space_separator":a=r(t,0," ");break;case"amount_no_decimals_with_apostrophe_separator":a=r(t,0,"'")}return s.indexOf("with_comma_separator"),s.replace(i,a)}},theme.pubsub={PUB_SUB_EVENTS:{cartUpdate:"cartUpdate",quantityUpdate:"quantityUpdate",variantChange:"variantChange",cartError:"cartError",facetUpdate:"facetUpdate",quantityRules:"quantityRules",quantityBoundries:"quantityBoundries",optionValueSelectionChange:"optionValueSelectionChange"},subscribers:{},subscribe:(t,e)=>(void 0===theme.pubsub.subscribers[t]&&(theme.pubsub.subscribers[t]=[]),theme.pubsub.subscribers[t]=[...theme.pubsub.subscribers[t],e],function i(){theme.pubsub.subscribers[t]=theme.pubsub.subscribers[t].filter(t=>t!==e)}),publish(t,e){theme.pubsub.subscribers[t]&&theme.pubsub.subscribers[t].forEach(t=>{t(e)})}},theme.scrollShadow={Updater:class t{constructor(t){this.cb=()=>this.update(t),this.rO=new ResizeObserver(this.cb),this.mO=new MutationObserver(()=>this.on(this.el))}on(t){this.el&&(this.el.removeEventListener("scroll",this.cb),this.rO.disconnect(),this.mO.disconnect()),t&&("TABLE"!==t.nodeName||/scroll|auto/.test(getComputedStyle(t).getPropertyValue("overflow"))||(this.rO.observe(t),t=t.tBodies[0]),t.addEventListener("scroll",this.cb),[t,...t.children].forEach(t=>this.rO.observe(t)),this.mO.observe(t,{childList:!0}),this.el=t)}update(t){let e=this.el.scrollTop,i=this.el.scrollHeight-this.el.offsetHeight-this.el.scrollTop,s=this.el.scrollLeft,n=this.el.scrollWidth-this.el.offsetWidth-this.el.scrollLeft*(theme.config.rtl?-1:1),r=`--t: ${Math.floor(e)>0?1:0}; --b: ${Math.floor(i)>0?1:0}; --l: ${Math.floor(s)>0?1:0}; --r: ${Math.floor(n)>0?1:0};`;if("TBODY"===this.el.nodeName){let a=this.el.getBoundingClientRect(),o=this.el.parentElement.getBoundingClientRect();r+=`top: ${a.top-o.top}px; bottom: ${o.bottom-a.bottom}px; left: ${a.left-o.left}px; right: ${o.right-a.right}px;`}requestAnimationFrame(()=>{t.style.cssText=r})}}},theme.cookiesEnabled=function(){let t=navigator.cookieEnabled;return t||(document.cookie="testcookie",t=-1!==document.cookie.indexOf("testcookie")),t},theme.isStorageSupported=function(t){if(window.self!==window.top)return!1;let e="test",i;"session"===t&&(i=window.sessionStorage),"local"===t&&(i=window.localStorage);try{return i.setItem(e,"1"),i.removeItem(e),!0}catch(s){return!1}},theme.getElementWidth=function(t,e){let i=window.getComputedStyle(t),s=document.createElement("span");s.style.fontFamily=i.fontFamily,s.style.fontSize=i.fontSize,s.style.fontWeight=i.fontWeight,s.style.visibility="hidden",s.style.position="absolute",s.innerHTML=e,document.body.appendChild(s);let n=s.getBoundingClientRect().width;return s.remove(),n},theme.HoverButton=class t{constructor(t){this.container=t}get btnFill(){return this.container.querySelector("[data-fill]")}load(){theme.config.isTouch||"none"===document.body.getAttribute("data-button-hover")||(this.container.addEventListener("mouseenter",this.onEnterHandler.bind(this)),this.container.addEventListener("mouseleave",this.onLeaveHandler.bind(this)))}onEnterHandler(){this.btnFill&&Motion.animate(this.btnFill,{y:["76%","0%"]},{duration:.6})}onLeaveHandler(){this.btnFill&&Motion.animate(this.btnFill,{y:"-76%"},{duration:.6})}unload(){}},theme.MagnetButton=class t{constructor(t){this.container=t,this.magnet=t.hasAttribute("data-magnet")?parseInt(t.getAttribute("data-magnet")):10}get btnText(){return this.container.querySelector("[data-text]")}get bounding(){return this.container.getBoundingClientRect()}load(){theme.config.isTouch||"none"===document.body.getAttribute("data-button-hover")||(this.container.addEventListener("mousemove",this.onMoveHandler.bind(this)),this.container.addEventListener("mouseleave",this.onLeaveHandler.bind(this)))}onMoveHandler(t){!theme.config.motionReduced&&0!==this.magnet&&(this.btnText?Motion.animate(this.btnText,{x:((t.clientX-this.bounding.left)/this.container.offsetWidth-.5)*this.magnet,y:((t.clientY-this.bounding.top)/this.container.offsetHeight-.5)*this.magnet},{duration:1.5,easing:Motion.spring()}):Motion.animate(this.container,{x:((t.clientX-this.bounding.left)/this.container.offsetWidth-.5)*this.magnet,y:((t.clientY-this.bounding.top)/this.container.offsetHeight-.5)*this.magnet},{duration:1.5,easing:Motion.spring()}))}onLeaveHandler(){!theme.config.motionReduced&&0!==this.magnet&&(this.btnText?Motion.animate(this.btnText,{x:0,y:0},{duration:1.5,easing:Motion.spring()}):Motion.animate(this.container,{x:0,y:0},{duration:1.5,easing:Motion.spring()}))}unload(){}},theme.RevealButton=class t{constructor(t){this.container=t,this.magnet=t.hasAttribute("data-magnet")?parseInt(t.getAttribute("data-magnet")):25}get btnText(){return this.container.querySelector("[data-text]")}get btnReveal(){return this.container.querySelector("[data-reveal]")}get bounding(){return this.container.getBoundingClientRect()}load(){theme.config.isTouch||(this.container.addEventListener("mousemove",this.onMoveHandler.bind(this)),this.container.addEventListener("mouseleave",this.onLeaveHandler.bind(this)))}onMoveHandler(t){this.btnReveal?Motion.animate(this.btnReveal,{opacity:1,x:((t.clientX-this.bounding.left)/this.container.offsetWidth-.5)*this.magnet,y:((t.clientY-this.bounding.top)/this.container.offsetHeight-.5)*this.magnet},{duration:.2,easing:"steps(2, start)"}):this.btnText?Motion.animate(this.btnText,{x:((t.clientX-this.bounding.left)/this.container.offsetWidth-.5)*this.magnet,y:((t.clientY-this.bounding.top)/this.container.offsetHeight-.5)*this.magnet},{duration:1.5,easing:Motion.spring()}):Motion.animate(this.container,{x:((t.clientX-this.bounding.left)/this.container.offsetWidth-.5)*this.magnet,y:((t.clientY-this.bounding.top)/this.container.offsetHeight-.5)*this.magnet},{duration:1.5,easing:Motion.spring()})}onLeaveHandler(){this.btnReveal?Motion.animate(this.btnReveal,{x:0,y:0,opacity:0}
1,{duration:.2,easing:[.61,1,.88,1]}):this.btnText?Motion.animate(this.btnText,{x:0,y:0},{duration:1.5,easing:Motion.spring()}):Motion.animate(this.container,{x:0,y:0},{duration:1.5,easing:Motion.spring()})}unload(){}},theme.Animation=class t{constructor(t){this.container=t}get immediate(){return this.container.hasAttribute("data-immediate")}get media(){return Array.from(this.container.querySelectorAll("img, iframe, svg, g-map"))}get type(){return this.container.hasAttribute("data-animate")?this.container.getAttribute("data-animate"):"fade-up"}get delay(){return this.container.hasAttribute("data-animate-delay")?parseInt(this.container.getAttribute("data-animate-delay"))/1e3:0}get paused(){return this.container.hasAttribute("paused")}beforeLoad(){if("none"!==this.type&&!this.paused)switch(this.type){case"fade-in":Motion.animate(this.container,{opacity:0},{duration:0});break;case"fade-up":Motion.animate(this.container,{transform:"translateY(min(2rem, 90%))",opacity:0},{duration:0});break;case"fade-up-large":Motion.animate(this.container,{transform:"translateY(90%)",opacity:0},{duration:0});break;case"zoom-out":Motion.animate(this.container,{transform:"scale(1.3)"},{duration:0})}}async load(){if("none"!==this.type&&!this.paused){switch(this.type){case"fade-in":await Motion.animate(this.container,{opacity:1},{duration:1.5,delay:this.delay,easing:[.16,1,.3,1]}).finished;break;case"fade-up":await Motion.animate(this.container,{transform:"translateY(0)",opacity:1},{duration:1.5,delay:this.delay,easing:[.16,1,.3,1]}).finished;break;case"fade-up-large":await Motion.animate(this.container,{transform:"translateY(0)",opacity:1},{duration:1,delay:this.delay,easing:[.16,1,.3,1]}).finished;break;case"zoom-out":await Motion.animate(this.container,{transform:"scale(1)"},{duration:1.3,delay:this.delay,easing:[.16,1,.3,1]}).finished}this.container.classList.add("animate")}}async reset(t){if("none"!==this.type){switch(this.type){case"fade-in":await Motion.animate(this.container,{opacity:0},{duration:t||1.5,delay:this.delay,easing:t?"none":[.16,1,.3,1]}).finished;break;case"fade-up":await Motion.animate(this.container,{transform:"translateY(max(-2rem, -90%))",opacity:0},{duration:t||1.5,delay:this.delay,easing:t?"none":[.16,1,.3,1]}).finished;break;case"fade-up-large":await Motion.animate(this.container,{transform:"translateY(-90%)",opacity:0},{duration:t||1,delay:this.delay,easing:t?"none":[.16,1,.3,1]}).finished;break;case"zoom-out":await Motion.animate(this.container,{transform:"scale(0)"},{duration:t||1.3,delay:this.delay,easing:t?"none":[.16,1,.3,1]}).finished}this.container.classList.remove("animate")}}reload(){"none"!==this.type&&(this.container.removeAttribute("paused"),this.beforeLoad(),this.load())}unload(){}},theme.Carousel=class t{constructor(t,e,i){this.container=t,this.options=e,this.prevButton=i.previous,this.nextButton=i.next}load(){this.slider=new Flickity(this.container,this.options),this.prevButton.addEventListener("click",this.onPrevButtonClick.bind(this)),this.nextButton.addEventListener("click",this.onNextButtonClick.bind(this)),this.slider.on("dragStart",this.onDragStartHandler.bind(this)),this.slider.on("select",this.onSelectHandler.bind(this))}onDragStartHandler(){this.prevRemoveTransform(),this.nextRemoveTransform()}onSelectHandler(){this.slider.slides[this.slider.selectedIndex-1]?this.slider.slides[this.slider.selectedIndex+1]?(this.prevButton.disabled=!1,this.nextButton.disabled=!1):(this.prevButton.disabled=!1,this.nextButton.disabled=!0):(this.prevButton.disabled=!0,this.nextButton.disabled=!1)}onPrevButtonClick(t){t.preventDefault(),this.slider.previous(),this.nextRemoveTransform()}onNextButtonClick(t){t.preventDefault(),this.slider.next(),this.prevRemoveTransform()}prevRemoveTransform(){this.prevButton.style.transform=null,this.prevButton.querySelector("[data-fill]").style.transform=null}nextRemoveTransform(){this.nextButton.style.transform=null,this.nextButton.querySelector("[data-fill]").style.transform=null}unload(){}},theme.initWhenVisible=class t{constructor(t,e=5e3){this.loadScriptTimer=setTimeout(t,e),this.userInteractionEvents=["click","mousemove","keydown","touchstart","touchmove","wheel"],this.onScriptLoader=this.triggerScriptLoader.bind(this,t),this.userInteractionEvents.forEac
1h(t=>{window.addEventListener(t,this.onScriptLoader,{passive:!0})})}triggerScriptLoader(t){t(),clearTimeout(this.loadScriptTimer),this.userInteractionEvents.forEach(t=>{window.removeEventListener(t,this.onScriptLoader,{passive:!0})})}},new theme.initWhenVisible(()=>{document.body.removeAttribute("data-page-rendering")}),theme.windowWidth=window.innerWidth,window.addEventListener("resize",()=>{let{innerWidth:t}=window;t!==theme.windowWidth&&(theme.windowWidth=t,document.dispatchEvent(new CustomEvent("window:resize")))}),theme.DOMready(theme.headerGroup.init),theme.DOMready(theme.utils.setScrollbarWidth),theme.DOMready(theme.utils.externalLinksNewTab),document.addEventListener("window:resize",theme.utils.throttle(theme.utils.setScrollbarWidth)),theme.config.hasSessionStorage=theme.isStorageSupported("session"),theme.config.hasLocalStorage=theme.isStorageSupported("local");let t=window.matchMedia(theme.config.mediaQuerySmall);theme.config.mqlSmall=t.matches,t.onchange=t=>{t.matches?(theme.config.mqlSmall=!0,document.dispatchEvent(new CustomEvent("matchSmall"))):(theme.config.mqlSmall=!1,document.dispatchEvent(new CustomEvent("unmatchSmall")))},window.addEventListener("DOMContentLoaded",()=>{document.body.classList.add("loaded"),document.dispatchEvent(new CustomEvent("page:loaded"))}),window.addEventListener("pageshow",t=>{t.persisted&&document.body.classList.remove("unloading")}),window.addEventListener("beforeunload",()=>{document.body.classList.add("unloading")})}(),new theme.initWhenVisible(()=>{var t,e=!1;document.body.addEventListener("touchstart",function(i){if(!i.target.closest(".flickity-slider"))return e=!1;e=!0,t={x:i.touches[0].pageX,y:i.touches[0].pageY}},!!theme.supportsPassive&&{passive:!0}),document.body.addEventListener("touchmove",function(i){e&&i.cancelable&&Math.abs({x:i.touches[0].pageX-t.x,y:i.touches[0].pageY-t.y}.x)>Flickity.defaults.dragThreshold&&i.preventDefault()},!!theme.supportsPassive&&{passive:!1})});class LoadingBar extends HTMLElement{constructor(){super(),document.addEventListener("page:loaded",()=>{Motion.animate(this,{opacity:0},{duration:1}).finished.then(()=>{this.hidden=!0})})}}customElements.define("loading-bar",LoadingBar);class MouseCursor extends HTMLElement{constructor(){if(super(),theme.config.isTouch)return;this.config={posX:0,posY:0},document.addEventListener("mousemove",t=>{this.config.posX+=(t.clientX-this.config.posX)/4,this.config.posY+=(t.clientY-this.config.posY)/4,this.style.setProperty("--x",`${this.config.posX}px`),this.style.setProperty("--y",`${this.config.posY}px`)})}}customElements.define("mouse-cursor",MouseCursor);class CustomHeader extends HTMLElement{constructor(){super()}get allowTransparent(){return!!document.querySelector(".shopify-section:first-child [allow-transparent-header]")}get headerSection(){return document.querySelector(".header-section")}connectedCallback(){if(this.init(),window.ResizeObserver&&new ResizeObserver(this.setHeight.bind(this)).observe(this),Shopify.designMode){let t=this.closest(".shopify-section");t.addEventListener("shopify:section:load",this.init.bind(this)),t.addEventListener("shopify:section:unload",this.init.bind(this)),t.addEventListener("shopify:section:reorder",this.init.bind(this))}}init(){this.setHeight(),this.allowTransparent?(this.headerSection.classList.add("header-transparent"),this.headerSection.classList.add("no-animate"),setTimeout(()=>{this.headerSection.classList.remove("no-animate")},500)):this.headerSection.classList.remove("header-transparent")}setHeight(){requestAnimationFrame(()=>{document.documentElement.style.setProperty("--header-height",Math.round(this.clientHeight)+"px"),this.classList.contains("header--center")&&0===document.documentElement.style.getPropertyValue("--header-nav-height").length&&document.documentElement.style.setProperty("--header-nav-height",Math.round(document.getElementById("MenuToggle")?.clientHeight)+"px")})}}customElements.define("custom-header",CustomHeader,{extends:"header"});class StickyHeader extends CustomHeader{constructor(){super()}get isAlwaysSticky(){return"always"===this.getAttribute("data-sticky-type")}connectedCallback(){super.connectedCallback(),this.currentScrollTop=0,this.firstScrollTop=window.scrollY,this.headerBounds=this.headerSection.getBoundingClientRect(),this.beforeInit()}beforeInit(){this.headerSection.classList.add("header-sticky"),this.headerSection.setAttribute("data-sticky-type",this.getAttribute("data-sticky-type")),this.isAlwaysSticky&&this.headerSection.classList.add("header-sticky"),window.addEventListener("scroll",theme.utils.throttle(this.onScrollHandler.bind(this)),!1)}onScrollHandler(){let t=window.scrollY;t>this.headerBounds.top+this.firstScrollTop+this.headerBounds.height?(this.headerSection.classList.add("header-scrolled"),document.documentElement.style.setProperty("--sticky-header-height",Math.round(this.clientHeight)+"px"),document.dispatchEvent(new CustomEvent("header:scrolled",{bubbles:!0,detail:{scrolled:!0}})),t>this.headerBounds.top+this.firstScrollTop+2*this.headerBounds.height&&(this.headerSection.classList.add("header-nav-scrolled"),this.headerSection.querySelectorAll("details").forEach(t=>{t.hasAttribute("open")&&(t.open=!1)}))):(this.headerSection.classList.remove("header-scrolled"),this.headerSection.classList.remove("header-nav-scrolled"),document.dispatchEvent(new CustomEvent("header:scrolled",{bubbles:!0,detail:{scrolled:!1}}))),t>this.headerBounds.bottom+this.firstScrollTop+100&&t>this.currentScrollTop?this.headerSection.classList.add("header-hidden"):this.headerSection.classList.remove("header-hidden"),this.currentScrollTop=t}}customElements.define("sticky-header",StickyHeader,{extends:"header"});class RevealLink extends HTMLAnchorElement{constructor(){super(),this.revealButton=new theme.RevealButton(this),this.revealButton.load()}}customElements.define("reveal-link",RevealLink,{extends:"a"});class HoverLink extends HTMLAnchorElement{constructor(){super(),this.hoverButton=new theme.HoverButton(this),this.hoverButton.load()}}customElements.define("hover-link",HoverLink,{extends:"a"});class MagnetLink extends HoverLink{constructor(){super(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.load()}}customElements.define("magnet-link",MagnetLink,{extends:"a"});class HoverButton extends HTMLButtonElement{constructor(){super(),this.hoverButton=new theme.HoverButton(this),this.hoverButton.load(),"submit"===this.type&&this.form&&this.form.addEventListener("submit",()=>this.setAttribute("aria-busy","true")),window.addEventListener("pageshow",()=>this.removeAttribute("aria-busy")),Motion.inView(this,this.init.bind(this))}static get observedAttributes(){return["aria-busy"]}get contentElement(){return this._contentElement=this._contentElement||this.querySelector(".btn-text")}get animationElement(){return this._animationElement=this._animationElement||document.createRange().createContextualFragment(`
2      <span class="btn-loader">
3        <span></span>
4        <span></span>
5        <span></span>
6      </span>
7    `).firstElementChild}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}init(){this.append(this.animationElement)}async attributeChangedCallback(t,e,i){"true"===i?(Motion.timeline([[this.contentElement,{opacity:0},{duration:.15}],[this.animationElement,{opacity:1},{duration:.15}]]),Motion.animate(this.animationElement.children,{transform:["scale(1.6)","scale(0.6)"]},{duration:.35,delay:Motion.stagger(.175),direction:"alternate",repeat:1/0})):Motion.timeline([[this.animationElement,{opacity:0},{duration:.15}],[this.contentElement,{opacity:1},{duration:.15}]])}}customElements.define("hover-button",HoverButton,{extends:"button"});class MagnetButton extends HoverButton{constructor(){super(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.load()}}customElements.define("magnet-button",MagnetButton,{extends:"button"});class HoverElement extends HTMLElement{constructor(){super(),this.hoverButton=new theme.HoverButton(this),this.hoverButton.load()}}customElements.define("hover-element",HoverElement);class MagnetElement extends HoverElement{constructor(){super(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.load()}}customElements.define("magnet-element",MagnetElement);class AnimateElement extends HTMLElement{constructor(){super()}connectedCallback(){theme.config.motionReduced||(this.animation=new theme.Animation(this),this.animation.beforeLoad(),Motion.inView(this,async()=>{!this.immediate&&this.media&&await theme.utils.imageLoaded(this.media),this.animation.load()}))}reset(){this.animation?.reset()}refresh(){this.animation?.reload()}}customElements.define("animate-element",AnimateElement);class AnimatePicture extends HTMLPictureElement{constructor(){super()}connectedCallback(){theme.config.motionReduced||(this.animation=new theme.Animation(this),this.animation.beforeLoad(),Motion.inView(this,async()=>{!this.immediate&&this.media&&await theme.utils.imageLoaded(this.media),this.animation.load()}))}}customElements.define("animate-picture",AnimatePicture,{extends:"picture"});class AnnouncementBar extends HTMLElement{constructor(){super(),!theme.config.isTouch||Shopify.designMode?Motion.inView(this,this.init.bind(this),{margin:"200px 0px 200px 0px"}):new theme.initWhenVisible(this.init.bind(this))}get items(){return this._items=this._items||Array.from(this.children)}get autoplay(){return this.hasAttribute("autoplay")}get speed(){return this.hasAttribute("autoplay")?1e3*parseInt(this.getAttribute("autoplay-speed")):5e3}init(){!this.initialized&&(this.initialized=!0,this.items.length>1&&(this.slider=new Flickity(this,{accessibility:!1,fade:!0,pageDots:!1,prevNextButtons:!1,wrapAround:!0,rightToLeft:theme.config.rtl,autoPlay:!!this.autoplay&&this.speed,on:{ready:function(){setTimeout(()=>this.element.setAttribute("loaded",""))}}}),this.slider.on("change",this.onChange.bind(this)),this.addEventListener("slider:previous",()=>this.slider.previous()),this.addEventListener("slider:next",()=>this.slider.next()),this.addEventListener("slider:play",()=>this.slider.playPlayer()),this.addEventListener("slider:pause",()=>this.slider.pausePlayer()),Shopify.designMode&&this.addEventListener("shopify:block:select",t=>this.slider.select(this.items.indexOf(t.target)))))}disconnectedCallback(){this.slider&&this.slider.destroy()}onChange(){this.dispatchEvent(new CustomEvent("slider:change",{bubbles:!0,detail:{currentPage:this.slider.selectedIndex}}))}}customElements.define("announcement-bar",AnnouncementBar);class AccordionsDetails extends HTMLElement{constructor(){super(),this.addEventListener("toggle",this.onToggle)}get items(){return this._items=this._items||Array.from(this.querySelectorAll('details[is="accordion-details"]'))}onToggle(t){let{current:e,open:i}=t.detail;if(this.items.forEach(t=>{t!==e&&t.close()}),i){let s=0;!theme.config.mqlSmall&&document.querySelector("header.header")&&(s=Math.round(document.querySelector("header.header").clientHeight)),setTimeout(()=>{window.scrollTo({top:e.getBoundingClientRect().top+window.scrollY-s,behavior:theme.config.motionReduced?"auto":"smooth"})},250)}}}
7customElements.define("accordions-details",AccordionsDetails);class AccordionDetails extends HTMLDetailsElement{constructor(){super(),this._open=this.hasAttribute("open"),this.summaryElement=this.querySelector("summary"),this.contentElement=this.querySelector("summary + *"),this.setAttribute("aria-expanded",this._open?"true":"false"),this.summaryElement.addEventListener("click",this.onSummaryClick.bind(this)),Shopify.designMode&&(this.addEventListener("shopify:block:select",()=>{this.designModeActive&&(this.open=!0)}),this.addEventListener("shopify:block:deselect",()=>{this.designModeActive&&(this.open=!1)}))}get designModeActive(){return!0}get controlledElement(){return this.closest("accordions-details")}static get observedAttributes(){return["open"]}attributeChangedCallback(t,e,i){"open"===t&&this.setAttribute("aria-expanded",""===i?"true":"false")}get open(){return this._open}set open(t){t!==this._open&&(this._open=t,this.isConnected?this.transition(t):t?this.setAttribute("open",""):this.removeAttribute("open")),this.setAttribute("aria-expanded",t?"true":"false"),this.dispatchEventHandler()}onSummaryClick(t){t.preventDefault(),this.open=!this.open}close(){this._open=!1,this.transition(!1)}async transition(t){this.style.overflow="hidden",t?(this.setAttribute("open",""),await Motion.timeline([[this,{height:[`${this.summaryElement.clientHeight}px`,`${this.scrollHeight}px`]},{duration:.25,easing:"ease"}],[this.contentElement,{opacity:[0,1],transform:["translateY(10px)","translateY(0)"]},{duration:.15,at:"-0.1"}]]).finished):(await Motion.timeline([[this.contentElement,{opacity:0},{duration:.15}],[this,{height:[`${this.clientHeight}px`,`${this.summaryElement.clientHeight}px`]},{duration:.25,at:"<",easing:"ease"}]]).finished,this.removeAttribute("open")),this.style.height="auto",this.style.overflow="visible"}dispatchEventHandler(){(this.controlledElement??this).dispatchEvent(new CustomEvent("toggle",{bubbles:!0,detail:{current:this,open:this.open}}))}}customElements.define("accordion-details",AccordionDetails,{extends:"details"});class FooterDetails extends AccordionDetails{constructor(){super(),this.load(),document.addEventListener("matchSmall",this.load.bind(this)),document.addEventListener("unmatchSmall",this.load.bind(this))}get designModeActive(){return theme.config.mqlSmall}get openDefault(){return this.hasAttribute("data-opened")}load(){!theme.config.mqlSmall||this.openDefault?this.open=!0:this.open&&!this.openDefault&&(this.open=!1)}}customElements.define("footer-details",FooterDetails,{extends:"details"});class GestureElement extends HTMLElement{constructor(){super(),this.config={thresholdY:Math.max(25,Math.floor(.15*window.innerHeight)),velocityThreshold:10,disregardVelocityThresholdY:Math.floor(.5*this.clientHeight),pressThreshold:8,diagonalSwipes:!1,diagonalLimit:Math.tan(.375*Math.PI),longPressTime:500},this.handlers={panstart:[],panmove:[],panend:[],swipeup:[],swipedown:[],longpress:[]},Motion.inView(this,this.init.bind(this))}init(){this.addEventListener("touchstart",this.onTouchStart.bind(this),!!theme.supportsPassive&&{passive:!0}),this.addEventListener("touchmove",this.onTouchMove.bind(this),!!theme.supportsPassive&&{passive:!0}),this.addEventListener("touchend",this.onTouchEnd.bind(this),!!theme.supportsPassive&&{passive:!0})}on(t,e){if(this.handlers[t])return this.handlers[t].push(e),{type:t,fn:e,cancel:()=>this.off(t,e)}}off(t,e){if(this.handlers[t]){let i=this.handlers[t].indexOf(e);-1!==i&&this.handlers[t].splice(i,1)}}fire(t,e){for(let i=0;i<this.handlers[t].length;i++)this.handlers[t][i](e)}onTouchStart(t){this.thresholdY=this.config.thresholdY,this.disregardVelocityThresholdY=this.config.disregardVelocityThresholdY,this.touchStartY=t.changedTouches[0].screenY,this.touchMoveY=null,this.touchEndY=null,this.swipingDirection=null,this.longPressTimer=setTimeout(()=>this.fire("longpress",t),this.config.longPressTime),this.fire("panstart",t)}onTouchMove(t){let e=t.changedTouches[0].screenY-(this.touchStartY??0);this.velocityY=e-(this.touchMoveY??0),this.touchMoveY=e;let i=Math.abs(this.touchMoveY);this.swipingVertical=i>this.thresholdY,this.swipingDirection=this.swipingVertical?"vertical":"pre-vertical",i>this.config.pressThreshold&&clearTimeout(this.longPressTimer??void 0),this.fire("panmove",t)}onTouchEnd(t){this.touchEndY=t.changedTouches[0].screenY,this.fire("panend",t),clearTimeout(this.longPressTimer??void 0);let e=this.touchEndY-(this.touchStartY??0),i=Math.abs(e);i>this.thresholdY&&(this.swipedVertical=this.config.diagonalSwipes?e<=this.config.diagonalLimit:i>this.thresholdY,this.swipedVertical&&(e<0?((this.velocityY??0)<-this.config.velocityThreshold||e<-this.disregardVelocityThresholdY)&&this.fire("swipeup",t):((this.velocityY??0)>this.config.velocityThreshold||e>this.disregardVelocityThresholdY)&&this.fire("swipedown",t)))}}customElements.define("gesture-element",GestureElement);class OverlayElement extends HTMLElement{constructor(){super(),this.addEventListener("mousemove",this.onMouseMove),this.addEventListener("mouseleave",this.onMouseLeave),this.addEventListener("mousedown",this.onMouseDown),this.addEventListener("mouseup",this.onMouseUp)}
7get cursor(){return document.querySelector("mouse-cursor")}onMouseMove(){this.cursor.classList.add("active")}onMouseLeave(){this.cursor.classList.remove("active")}onMouseDown(){this.cursor.classList.add("pressed")}onMouseUp(){this.cursor.classList.remove("pressed")}}customElements.define("overlay-element",OverlayElement);const lockLayerCount=new WeakMap;class ModalElement extends HTMLElement{constructor(){super(),this.events={afterHide:"modal:afterHide",afterShow:"modal:afterShow",closeAll:"modal:closeAll"},this.classes={open:"has-modal-open",opening:"has-modal-opening"}}static get observedAttributes(){return["id","open"]}get shouldLock(){return!1}get shouldAppendToBody(){return!1}get shouldCloseAll(){return!1}get open(){return this.hasAttribute("open")}get controls(){return Array.from(document.querySelectorAll(`[aria-controls="${this.id}"]`))}get overlay(){return this._overlay=this._overlay||this.querySelector(".fixed-modal")}get gesture(){return this._gesture=this._gesture||this.querySelector("gesture-element")}get designMode(){return this.hasAttribute("shopify-design-mode")}get focusElement(){return this.querySelector("button")}connectedCallback(){if(this.abortController=new AbortController,this.controls.forEach(t=>t.addEventListener("click",this.onButtonClick.bind(this),{signal:this.abortController.signal})),document.addEventListener("keyup",t=>"Escape"===t.code&&this.hide(),{signal:this.abortController.signal}),document.addEventListener(this.events.closeAll,()=>this.hide(),{signal:this.abortController.signal}),this.gesture&&(this.gestureConfig={animationFrame:null,moveY:0,maxGestureDistance:0,endPoint:0,layerHeight:null},this.gestureWrap=this.gesture.parentElement,setTimeout(()=>{this.gesture.on("panstart",this.onPanStart.bind(this)),this.gesture.on("panmove",this.onPanMove.bind(this)),this.gesture.on("panend",this.onPanEnd.bind(this))},75)),Shopify.designMode&&this.designMode){let t=this.closest(".shopify-section");t.addEventListener("shopify:section:select",t=>this.show(null,!t.detail.load),{signal:this.abortController.signal}),t.addEventListener("shopify:section:deselect",this.hide.bind(this),{signal:this.abortController.signal})}}disconnectedCallback(){this.abortController?.abort()}attributeChangedCallback(t,e,i){if("open"===t){if(this.controls.forEach(t=>t.setAttribute("aria-expanded",null===i?"false":"true")),null===e&&(""===i||"immediate"===i)){this.hidden=!1,this.removeAttribute("inert"),this.originalParentBeforeAppend=null,this.shouldAppendToBody&&this.parentElement!==document.body&&(this.originalParentBeforeAppend=this.parentElement,document.body.append(this));let s=this.showTransition("immediate"!==i)||Promise.resolve();s.then(()=>{this.afterShow(),this.dispatchEvent(new CustomEvent(this.events.afterShow,{bubbles:!0}))})}else if(null!==e&&null===i){this.setAttribute("inert","");let n=this.hideTransition()||Promise.resolve();n.then(()=>{this.afterHide(),this.hasAttribute("inert")&&(this.parentElement===document.body&&this.originalParentBeforeAppend&&(this.originalParentBeforeAppend.appendChild(this),this.originalParentBeforeAppend=null),this.dispatchEvent(new CustomEvent(this.events.afterHide,{bubbles:!0})),this.hidden=!0)})}this.dispatchEvent(new CustomEvent("toggle",{bubbles:!0}))}}onButtonClick(t){t.preventDefault(),this.open?this.hide():this.show(t.currentTarget)}hide(){if(this.open)return this.beforeHide(),this.resetGesture(),this.removeAttribute("open"),theme.utils.waitForEvent(this,this.events.afterHide)}show(t=null,e=!0){if(!this.open)return this.shouldCloseAll&&document.dispatchEvent(new CustomEvent(this.events.closeAll),{bubbles:!0}),this.beforeShow(),this.activeElement=t,this.setAttribute("open",e?"":"immediate"),this.shouldLock&&document.body.classList.add(this.classes.opening),theme.utils.waitForEvent(this,this.events.afterShow)}beforeHide(){}beforeShow(){}afterHide(){setTimeout(()=>{theme.a11y.removeTrapFocus(this.activeElement),this.shouldLock&&(lockLayerCount.set(ModalElement,lockLayerCount.get(ModalElement)-1),document.body.classList.toggle(this.classes.open,lockLayerCount.get(ModalElement)>0))})}afterShow(){theme.a11y.trapFocus(this,this.focusElement),this.shouldLock&&(lockLayerCount.set(Mo
7dalElement,lockLayerCount.get(ModalElement)+1),document.body.classList.remove(this.classes.opening),document.body.classList.add(this.classes.open))}showTransition(){return setTimeout(()=>{this.setAttribute("active","")},75),new Promise(t=>{this.overlay.addEventListener("transitionend",t,{once:!0})})}hideTransition(){return this.removeAttribute("active"),new Promise(t=>{this.overlay.addEventListener("transitionend",t,{once:!0})})}resetGesture(){this.gesture&&(this.gestureWrap.style.transform="",this.gestureWrap.style.transition="",this.overlay.style.opacity="",this.overlay.style.transition="")}onPanStart(){this.removeTransition(this.gestureWrap,"transform"),this.hasAttribute("open")&&(null===this.gestureConfig.layerHeight&&(this.gestureConfig.layerHeight=this.gestureWrap.getBoundingClientRect().height),this.gestureConfig.maxGestureDistance=this.gestureConfig.layerHeight-50,this.gestureConfig.endPoint=.3*this.gestureConfig.layerHeight)}onPanMove(){this.gestureConfig.animationFrame||(this.gestureConfig.animationFrame=requestAnimationFrame(()=>{if(this.gestureWrap.style.transition="transform .1s linear",this.overlay.style.transition="opacity .1s linear",this.hasAttribute("open")){if(null===this.gestureConfig.layerHeight&&(this.gestureConfig.layerHeight=this.gestureWrap.getBoundingClientRect().height),this.gestureConfig.moveY=this.gesture.touchMoveY,this.gestureConfig.maxGestureDistance=this.gestureConfig.layerHeight-50,this.gestureConfig.moveY>=0){var t,e,i;this.gestureWrap.style.transform=`translateY(${Math.min(this.gestureConfig.moveY,this.gestureConfig.maxGestureDistance)}px)`,this.overlay.style.opacity=(t=this.gestureConfig.layerHeight,((t,e=0,i=1)=>Math.min(i,Math.max(e,t)))((this.gestureConfig.moveY-t)/(0-t)))}else this.gestureWrap.style.transform="translateY(0)",this.gestureWrap.style.transition="",this.overlay.style.opacity="1"}this.gestureConfig.animationFrame=null}))}onPanEnd(){null===this.gestureConfig.animationFrame||cancelAnimationFrame(this.gestureConfig.animationFrame),this.gestureConfig.animationFrame=null,this.gestureWrap.style.transition="transform .1s linear",null===this.gestureConfig.layerHeight&&(this.gestureConfig.layerHeight=this.gestureWrap.getBoundingClientRect().height),this.gestureConfig.endPoint=.3*this.gestureConfig.layerHeight,this.hasAttribute("open")&&(this.gestureConfig.moveY=this.gesture.touchMoveY,this.gestureConfig.moveY<this.gestureConfig.endPoint?this.gestureWrap.style.transform="translateY(0)":(this.gestureWrap.style.transform=`translateY(${this.gestureConfig.layerHeight}px)`,this.gestureWrap.addEventListener(this.whichTransitionEvent(),()=>{this.hide()},{once:!0})))}removeTransition(t,e){let i=t.style.transition.match(RegExp("(?:^|,)\\s*"+e+"(?:$|\\s|,)[^,]*","i"));if(i){let s=t.style.transition.split("");s.splice(i.index,i[0].length),t.style.transition=s.join("")}}whichTransitionEvent(){let t,e=document.createElement("fakeelement"),i={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",MSTransition:"msTransitionEnd",OTransition:"oTransitionEnd",transition:"transitionEnd"};for(t in i)if(void 0!==e.style[t])return i[t]}}customElements.define("modal-element",ModalElement),lockLayerCount.set(ModalElement,0);class DrawerElement extends ModalElement{constructor(){super(),this.events={afterHide:"drawer:afterHide",afterShow:"drawer:afterShow"}}get shouldLock(){return!0}get shouldAppendToBody(){return!0}}customElements.define("drawer-element",DrawerElement);class MenuDrawer extends DrawerElement{constructor(){super()}get menuItems(){return this._menuItems=this._menuItems||this.querySelectorAll(".drawer__menu:not(.active)>li")}beforeShow(){super.beforeShow(),setTimeout(()=>{Motion.animate(this.menuItems,{transform:["translateX(-20px)","translateX(0)"],opacity:[0,1]},{duration:.6,easing:[.075,.82,.165,1],delay:Motion.stagger(.1)}).finished.then(()=>{this.menuItems.forEach(t=>t.removeAttribute("style"))})},300)}beforeHide(){super.beforeHide(),setTimeout(()=>{this.querySelectorAll("details[is=menu-details]").forEach(t=>{t.onCloseButtonClick()})},300)}}customElements.define("menu-drawer",MenuDrawer);class ShareDrawer extends DrawerElement{constructor(){super()}get menuItems(){return this._menuItems=this._menuItems||this.querySelectorAll(".share-buttons>li")}get urlToShare(){let t=this.querySelector("input[type=hidden]");
7return t?t.value:document.location.href}connectedCallback(){navigator.share?this.controls.forEach(t=>t.addEventListener("click",this.shareTo.bind(this))):super.connectedCallback()}async shareTo(t){t.preventDefault();try{await navigator.share({url:this.urlToShare,title:document.title})}catch(e){"AbortError"===e.name?console.log("Share canceled by user"):console.error(e)}}beforeShow(){super.beforeShow(),setTimeout(()=>{Motion.animate(this.menuItems,{transform:["translateY(2.5rem)","translateY(0)"],opacity:[0,1]},{duration:.6,easing:[.075,.82,.165,1],delay:Motion.stagger(.1)}).finished.then(()=>{this.menuItems.forEach(t=>t.removeAttribute("style"))})},300)}}customElements.define("share-drawer",ShareDrawer);class BackInStockDrawer extends DrawerElement{constructor(){super(),!theme.config.isTouch||Shopify.designMode?this.init():new theme.initWhenVisible(this.init.bind(this))}get submited(){return null!==this.querySelector(".alert")}init(){!this.initialized&&(this.initialized=!0,this.submited&&setTimeout(()=>{this.show()},1e3))}}customElements.define("back-in-stock-drawer",BackInStockDrawer);class MenuDetails extends HTMLDetailsElement{constructor(){super(),this.summary.addEventListener("click",this.onSummaryClick.bind(this)),this.closeButton.addEventListener("click",this.onCloseButtonClick.bind(this))}get parent(){return this.closest("[data-parent]")}get summary(){return this.querySelector("summary")}get closeButton(){return this.querySelector("[data-close]")}onSummaryClick(t){t.preventDefault(),this.setAttribute("open",""),setTimeout(()=>{this.parent.classList.add("active"),this.classList.add("active"),this.summary.setAttribute("aria-expanded",!0)},100)}onCloseButtonClick(){this.parent.classList.remove("active"),this.classList.remove("active"),this.summary.setAttribute("aria-expanded",!1),this.closeAnimation()}closeAnimation(){let t,e=i=>{void 0===t&&(t=i);let s=i-t;s<400?requestAnimationFrame(e):this.removeAttribute("open")};requestAnimationFrame(e)}}customElements.define("menu-details",MenuDetails,{extends:"details"});class QuantityLabel extends HTMLLabelElement{constructor(){super()}connectedCallback(){this.querySelector(".quantity__rules-cart").append(this.animationElement)}static get observedAttributes(){return["aria-busy"]}get contentElement(){return this._contentElement=this._contentElement||this.querySelector(".quantity-cart")}get animationElement(){return this._animationElement=this._animationElement||document.createRange().createContextualFragment(`
8      <span class="btn-loader">
9        <span></span>
10        <span></span>
11        <span></span>
12      </span>
13    `).firstElementChild}async attributeChangedCallback(t,e,i){"true"===i?(Motion.timeline([[this.contentElement,{opacity:0},{duration:.15}],[this.animationElement,{opacity:1},{duration:.15}]]),Motion.animate(this.animationElement.children,{transform:["scale(1.6)","scale(0.6)"]},{duration:.35,delay:Motion.stagger(.175),direction:"alternate",repeat:1/0})):Motion.timeline([[this.animationElement,{opacity:0},{duration:.15}],[this.contentElement,{opacity:1},{duration:.15}]])}}customElements.define("quantity-label",QuantityLabel,{extends:"label"});class QuantityInput extends HTMLElement{quantityUpdateUnsubscriber=void 0;quantityBoundriesUnsubscriber=void 0;quantityRulesUnsubscriber=void 0;constructor(){super()}get sectionId(){return this.getAttribute("data-section-id")}get productId(){return this.getAttribute("data-product-id")}get input(){return this.querySelector("input")}get value(){return this.input.value}connectedCallback(){this.abortController=new AbortController,this.buttons=Array.from(this.querySelectorAll("button")),this.changeEvent=ne
13w Event("change",{bubbles:!0}),this.input.addEventListener("change",this.onInputChange.bind(this)),this.input.addEventListener("focus",()=>setTimeout(()=>this.input.select())),this.buttons.forEach(t=>t.addEventListener("click",this.onButtonClick.bind(this)),{signal:this.abortController.signal}),this.validateQtyRules(),this.quantityUpdateUnsubscriber=theme.pubsub.subscribe(theme.pubsub.PUB_SUB_EVENTS.quantityUpdate,this.validateQtyRules.bind(this)),this.quantityBoundriesUnsubscriber=theme.pubsub.subscribe(theme.pubsub.PUB_SUB_EVENTS.quantityBoundries,this.setQuantityBoundries.bind(this)),this.quantityRulesUnsubscriber=theme.pubsub.subscribe(theme.pubsub.PUB_SUB_EVENTS.quantityRules,this.updateQuantityRules.bind(this))}disconnectedCallback(){this.abortController.abort(),this.quantityUpdateUnsubscriber&&this.quantityUpdateUnsubscriber(),this.quantityBoundriesUnsubscriber&&this.quantityBoundriesUnsubscriber(),this.quantityRulesUnsubscriber&&this.quantityRulesUnsubscriber()}onButtonClick(t){t.preventDefault();let e=this.input.value;"plus"===t.currentTarget.name?parseInt(this.input.getAttribute("data-min"))>parseInt(this.input.step)&&0==this.input.value?this.input.value=this.input.getAttribute("data-min"):this.input.stepUp():this.input.stepDown(),e!==this.input.value&&this.input.dispatchEvent(this.changeEvent),this.input.getAttribute("data-min")===e&&"minus"===t.currentTarget.name&&(this.input.value=parseInt(this.input.min))}onInputChange(){""===this.input.value&&(this.input.value=parseInt(this.input.min)),this.validateQtyRules()}validateQtyRules(){let t=parseInt(this.input.value);if(this.input.min){let e=this.querySelector('button[name="minus"]');e&&e.toggleAttribute("disabled",parseInt(t)<=parseInt(this.input.min))}if(this.input.max){let i=this.querySelector('button[name="plus"]');i&&i.toggleAttribute("disabled",parseInt(t)>=parseInt(this.input.max))}}updateQuantityRules({data:{sectionId:t,productId:e,parsedHTML:i}}){if(t!==this.sectionId||e!==this.productId)return;let s=i.getElementById(`QuantityForm-${t}-${this.productId}`),n=this.closest(`#QuantityForm-${t}-${this.productId}`);for(let r of[".quantity__input",".quantity__rules",".quantity__label"]){let a=n.querySelector(r),o=s.querySelector(r);if(a&&o){if(".quantity__input"===r){let l=["data-cart-quantity","data-min","data-max","step"];for(let d of l){let h=o.getAttribute(d);null!==h?a.setAttribute(d,h):a.removeAttribute(d)}}else a.innerHTML=o.innerHTML}}}setQuantityBoundries({data:{sectionId:t,productId:e}}){if(t!==this.sectionId||e!==this.productId)return;let i={cartQuantity:this.input.hasAttribute("data-cart-quantity")?parseInt(this.input.getAttribute("data-cart-quantity")):0,min:this.input.hasAttribute("data-min")?parseInt(this.input.getAttribute("data-min")):1,max:this.input.hasAttribute("data-max")?parseInt(this.input.getAttribute("data-max")):null,step:this.input.hasAttribute("step")?parseInt(this.input.getAttribute("step")):1},s=i.min,n=null===i.max?i.max:i.max-i.cartQuantity;null!==n&&(s=Math.min(s,n)),i.cartQuantity>=i.min&&(s=Math.min(s,i.step)),this.input.min=s,n?this.input.max=n:this.input.removeAttribute("max"),this.input.value=s,theme.pubsub.publish(theme.pubsub.PUB_SUB_EVENTS.quantityUpdate,void 0)}reset(){this.input.value=this.input.defaultValue}}customElements.define("quantity-input",QuantityInput);class CartCount extends HTMLElement{constructor(){super()}cartUpdateUnsubscriber=void 0;connectedCallback(){this.cartUpdateUnsubscriber=theme.pubsub.subscribe(theme.pubsub.PUB_SUB_EVENTS.cartUpdate,this.onCartUpdate.bind(this))}disconnectedCallback(){this.cartUpdateUnsubscriber&&this.cartUpdateUnsubscriber()}get itemCount(){return parseInt(this.innerText)}onCartUpdate(t){t.cart.errors||(this.innerText=t.cart.item_count,this.hidden=0===this.itemCount)}}customElements.define("cart-count",CartCount);class RecentlyViewed extends HTMLElement{constructor(){if(super(),!theme.config.hasLocalStorage){this.hidden=!0;return}Motion.inView(this,this.init.bind(this),{margin:"600px 0px 600px 0px"})}init(){fetch(this.getAttribute("data-url")+this.getQueryString()).then(t=>t.text()).then(t=>{let e=new DOMParser().parseFromString(t,"text/html").querySelector(".shopify-section"),i=e.querySelector("recently-viewed");i&&i.innerHTML.trim().length?(this.innerHTML=i.innerHTML,this.dispatchEvent(new CustomEvent("recentlyViewed:loaded"))):(this.closest(".recently-section")?.remove(),this.dispatchEvent(new CustomEvent("is-empty")))}).catch(t=>{console.error(t)})}getQueryString(){let t="[]";theme.config.hasLocalStorage&&(t=window.localStorage.getItem(`${theme.settings.themeName}:recently-viewed`)||"[]");let e=new Set(JSON.parse(t));return this.hasAttribute("data-product-id")&&e.delete(parseInt(this.getAttribute("data-product-id"))),Array.from(e.values(),t=>`id:${t}`).slice(0,this.hasAttribute("data-limit")?parseInt(this.getAttribute("data-limit")):4).join(" OR ")}}customElements.define("recently-viewed",RecentlyViewed);class ProductRecommendations extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this),{margin:"600px 0px 600px 0px"})}init(){fetch(this.getAttribute("data-url")).then(t=>t.text()).then(t=>{let e=new DOMParser().parseFromString(t,"text/html").querySelector(".shopify-section");if(null===e)return;let i=e.querySelector("product-recommendations");
13i&&i.innerHTML.trim().length?(this.innerHTML=i.innerHTML,this.dispatchEvent(new CustomEvent("recommendations:loaded"))):(this.setAttribute("hidden",""),this.closest(".recommendations-section")?.remove(),this.dispatchEvent(new CustomEvent("is-empty")))}).catch(t=>{console.error(t)})}}customElements.define("product-recommendations",ProductRecommendations);class ProductComplementary extends HTMLElement{constructor(){super()}get container(){return this.closest("product-recommendations")}get prevButton(){return this.container.querySelector("[data-prev-button]")}get nextButton(){return this.container.querySelector("[data-next-button]")}connectedCallback(){this.innerHTML.trim().length?this.classList.contains("flickity")&&(this.carousel=new theme.Carousel(this,{prevNextButtons:!1,adaptiveHeight:!0,pageDots:!1,contain:!0,cellAlign:"center",rightToLeft:theme.config.rtl},{previous:this.prevButton,next:this.nextButton}),this.carousel.load()):this.container.hidden=!0}disconnectedCallback(){this.carousel&&this.carousel.unload()}}customElements.define("product-complementary",ProductComplementary);class MediaElement extends HTMLElement{constructor(){super()}get parallax(){return!!this.hasAttribute("data-parallax")&&parseFloat(this.getAttribute("data-parallax"))}get direction(){return this.hasAttribute("data-parallax-dir")?this.getAttribute("data-parallax-dir"):"vertical"}get media(){return Array.from(this.querySelectorAll("picture>img, video, iframe, svg, video-media, g-map"))}connectedCallback(){!theme.config.motionReduced&&this.parallax&&this.setupParallax()}setupParallax(){let[t,e]=[1+this.parallax,100*this.parallax/(1+this.parallax)];"vertical"===this.direction?Motion.scroll(Motion.animate(this.media,{transform:[`scale(${t}) translateY(0)`,`scale(${t}) translateY(${e}%)`],transformOrigin:["bottom","bottom"]},{easing:"linear"}),{target:this,offset:["start end","end start"]}):"horizontal"===this.direction?Motion.scroll(Motion.animate(this.media,{transform:[`scale(${t}) translateX(0)`,`scale(${t}) translateX(${e}%)`],transformOrigin:["right","right"]},{easing:"linear"}),{target:this,offset:["start end","end start"]}):Motion.scroll(Motion.animate(this.media,{transform:["scale(1)",`scale(${t})`],transformOrigin:["center","center"]},{easing:"linear"}),{target:this,offset:["start end","end start"]})}}customElements.define("media-element",MediaElement);class SplitWords extends HTMLElement{constructor(){super()}connectedCallback(){if(theme.config.motionReduced||!document.body.hasAttribute("data-title-animation"))return;let t=Splitting({target:this,by:"words"});t[0].words.forEach((t,e)=>{let i=document.createElement("animate-element");for(let s of(i.className="block",i.setAttribute("data-animate",this.getAttribute("data-animate")),i.setAttribute("data-animate-delay",(this.hasAttribute("data-animate-delay")?parseInt(this.getAttribute("data-animate-delay")):0)+30*e),t.childNodes))i.appendChild(s);t.appendChild(i)})}}customElements.define("split-words",SplitWords);class HighlightedText extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this))}init(){this.classList.add("animate")}}customElements.define("highlighted-text",HighlightedText,{extends:"em"});class MarqueeElement extends HTMLElement{constructor(){if(super(),theme.config.motionReduced)return;!theme.config.isTouch||Shopify.designMode?Motion.inView(this,this.init.bind(this),{margin:"200px 0px 200px 0px"}):new theme.initWhenVisible(this.init.bind(this))}get childElement(){return this.firstElementChild}get speed(){return this.hasAttribute("data-speed")?parseInt(this.getAttribute("data-speed")):16}get maximum(){return this.hasAttribute("data-maximum")?parseInt(this.getAttribute("data-maximum")):Math.ceil(this.parentWidth/this.childElementWidth)+2}get direction(){return this.hasAttribute("data-direction")?this.getAttribute("data-direction"):"left"}get parallax(){return!!(!theme.config.isTouch&&this.hasAttribute("data-parallax"))&&parseFloat(this.getAttribute("data-parallax"))}get parentWidth(){return this.getWidth(this)}get childElementWidth(){return this.getWidth(this.childElement)}init(){if(!this.initialized){if(this.initialized=!0,1===this.childElementCount){this.childElement.classList.add("animate");for(let t=0;t<this.maximum;t++)this.clone=this.childElement.cloneNode(!0),this.clone.setAttribute("aria-hidden",!0),this.appendChild(this.clone),this.clone.querySelectorAll(".media").forEach(t=>t.classList.remove("loading"));this.style.setProperty("--duration",`${(33-this.speed)*Math.min(2.5,Math.ceil(this.childElementWidth/this.parentWidth))}s`)}if(this.parallax){let e=100*this.parallax/(1+this.parallax);"right"===this.direction&&(e*=-1),theme.config.rtl&&(e*=-1),Motion.scroll(Motion.animate(this,{transform:[`translateX(${e}%)`,"translateX(0)"]},{easing:"linear"}),{target:this,offset:["start end","end start"]})}else{let i=new IntersectionObserver((t,e)=>{t.forEach(t=>{t.isIntersecting?this.classList.remove("paused"):this.classList.add("paused")})},{rootMargin:"0px 0px 50px 0px"});i.observe(this)}}}getWidth(t){let e=t.getBoundingClientRect();return e.right-e.left}}customElements.define("marquee-element",MarqueeElement);class ScrolledImages extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this),{margin:"200px 0px 200px 0px"})}get parallax(){return!!this.hasAttribute("data-parallax")&&parseFloat(this.getAttribute("data-parallax"))}get template(){return this.querySelector("template")}get images(){return Array.from(this.template.content.querySelectorAll(".scrolled-images__item"))}init(){this.beforeInit(),!theme.config.motionReduced&&this.parallax&&this.setupParallax()}beforeInit(){let t=this.querySelector(".scrolled-images__main");for(let e=0;e<3;e++){let i=this.shuffle(this.images);if(i.length<8){let s=0;for(;i.length<8;)i.push(i[s].cloneNode(!0)),s++}let n=document.createElement("div");
13n.classList="scrolled-images__row",i.forEach(t=>n.appendChild(t.cloneNode(!0))),t.appendChild(n)}}setupParallax(){Array.from(this.querySelectorAll(".scrolled-images__row")).forEach((t,e)=>{let i=-1*this.parallax*100/(1+this.parallax);theme.config.rtl&&(i*=-1),e%2==0?Motion.scroll(Motion.animate(t,{transform:[`translateX(${i}%)`,"translateX(0)"]},{easing:"linear"}),{target:this,offset:Motion.ScrollOffset.Any}):Motion.scroll(Motion.animate(t,{transform:["translateX(0)",`translateX(${i}%)`]},{easing:"linear"}),{target:this,offset:Motion.ScrollOffset.Any})})}shuffle(t){return t.sort(()=>Math.random()-.5)}}customElements.define("scrolled-images",ScrolledImages);class DropdownElement extends HTMLElement{constructor(){super(),this.classes={bodyClass:"has-dropdown"},this.events={afterHide:"dropdown:afterHide",afterShow:"dropdown:afterShow"},this.detectHoverListener=this.detectHover.bind(this),this.controls.forEach(t=>{t.addEventListener("click",this.onToggleClicked.bind(this)),t.addEventListener("mouseenter",this.detectHoverListener.bind(this)),t.addEventListener("mouseleave",this.detectHoverListener.bind(this))}),this.detectClickOutsideListener=this.detectClickOutside.bind(this),this.detectEscKeyboardListener=this.detectEscKeyboard.bind(this),this.detectFocusOutListener=this.detectFocusOut.bind(this)}static get observedAttributes(){return["id","open"]}get open(){return this.hasAttribute("open")}get controls(){return Array.from(document.querySelectorAll(`[aria-controls="${this.id}"]`))}get container(){return this.querySelector("*:first-child")}attributeChangedCallback(t,e,i){"open"===t&&this.controls.forEach(t=>t.setAttribute("aria-expanded",null===i?"false":"true"))}show(){return document.body.classList.add(this.classes.bodyClass),this.setAttribute("open",""),document.addEventListener("click",this.detectClickOutsideListener),document.addEventListener("keydown",this.detectEscKeyboardListener),document.addEventListener("focusout",this.detectFocusOutListener),this.afterShow(),theme.utils.waitForEvent(this,this.events.afterShow)}hide(){return document.body.classList.remove(this.classes.bodyClass),this.removeAttribute("open"),document.removeEventListener("click",this.detectClickOutsideListener),document.removeEventListener("keydown",this.detectEscKeyboardListener),document.removeEventListener("focusout",this.detectFocusOutListener),this.afterHide(),theme.utils.waitForEvent(this,this.events.afterHide)}onToggleClicked(t){t?.preventDefault(),this.open?this.hide():this.show()}afterShow(){Motion.animate(this,{opacity:[0,1],visibility:"visible"},{duration:theme.config.motionReduced?0:.6,easing:[.7,0,.2,1]}),Motion.animate(this.container,{transform:["translateY(-105%)","translateY(0)"]},{duration:theme.config.motionReduced?0:.6,easing:[.7,0,.2,1]})}afterHide(){Motion.animate(this,{opacity:0,visibility:"hidden"},{duration:theme.config.motionReduced?0:.3,easing:[.7,0,.2,1]}),Motion.animate(this.container,{transform:"translateY(-105%)"},{duration:theme.config.motionReduced?0:.6,easing:[.7,0,.2,1]})}detectClickOutside(t){this.parentElement.contains(t.target)||this.hide()}detectEscKeyboard(t){"Escape"===t.code&&this.hide()}detectFocusOut(t){t.relatedTarget&&!this.contains(t.relatedTarget)&&this.hide()}detectHover(t){theme.config.isTouch||("mouseenter"===t.type?this.show():this.hide())}}customElements.define("dropdown-element",DropdownElement);class DropdownLocalization extends DropdownElement{constructor(){super()}afterShow(){Motion.animate(this,{opacity:[0,1],visibility:"visible"},{duration:theme.config.motionReduced?0:.6,easing:[.7,0,.2,1]})}afterHide(){Motion.animate(this,{opacity:0,visibility:"hidden"},{duration:theme.config.motionReduced?0:.3,easing:[.7,0,.2,1]})}}customElements.define("dropdown-localization",DropdownLocalization);const lockDropdownCount=new WeakMap;class DetailsDropdown extends HTMLDetailsElement{constructor(){super(),this.classes={bodyClass:"has-dropdown-menu"},this.events={afterHide:"menu:afterHide",afterShow:"menu:afterShow"},this._open=this.hasAttribute("open"),this.summaryElement.addEventListener("click",this.onSummaryClicked.bind(this)),this.detectClickOutsideListener=this.detectClickOutside.bind(this),this.detectEscKeyboardListener=this.detectEscKeyboard.bind(this),this.detectFocusOutListener=this.detectFocusOut.bind(this),this.hoverTimer=null,this.detectHoverListener=this.detectHover.bind(this),this.addEventListener("mouseenter",this.detectHoverListener.bind(this)),this.addEventListener("mouseleave",this.detectHoverListener.bind(this))}set open(t){t!==this._open&&(this._open=t,this.isConnected?this.transition(t):t?this.setAttribute("open",""):this.removeAttribute("open"))}get summaryElement(){return this.firstElementChild}get contentElement(){return this.lastElementChild}get open(){return this._open}get trigger(){return this.hasAttribute("trigger")?this.getAttribute("trigger"):"click"}get level(){return this.hasAttribute("level")?this.getAttribute("level"):"top"}
13get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}onSummaryClicked(t){t.preventDefault(),!theme.config.isTouch&&"hover"===this.trigger&&this.summaryElement.hasAttribute("data-link")&&this.summaryElement.getAttribute("data-link").length>0?window.location.href=this.summaryElement.getAttribute("data-link"):this.open=!this.open}async transition(t){return t?(lockDropdownCount.set(DetailsDropdown,lockDropdownCount.get(DetailsDropdown)+1),document.body.classList.add(this.classes.bodyClass),this.setAttribute("open",""),this.summaryElement.setAttribute("open",""),setTimeout(()=>this.contentElement.setAttribute("open",""),100),document.addEventListener("click",this.detectClickOutsideListener),document.addEventListener("keydown",this.detectEscKeyboardListener),document.addEventListener("focusout",this.detectFocusOutListener),await this.transitionIn(),this.shouldReverse(),theme.utils.waitForEvent(this,this.events.afterShow)):(lockDropdownCount.set(DetailsDropdown,lockDropdownCount.get(DetailsDropdown)-1),document.body.classList.toggle(this.classes.bodyClass,lockDropdownCount.get(DetailsDropdown)>0),this.summaryElement.removeAttribute("open"),this.contentElement.removeAttribute("open"),document.removeEventListener("click",this.detectClickOutsideListener),document.removeEventListener("keydown",this.detectEscKeyboardListener),document.removeEventListener("focusout",this.detectFocusOutListener),await this.transitionOut(),this.open||this.removeAttribute("open"),theme.utils.waitForEvent(this,this.events.afterHide))}async transitionIn(){Motion.animate(this.contentElement,{opacity:[0,1],visibility:"visible"},{duration:theme.config.motionReduced?0:.6,easing:[.7,0,.2,1],delay:theme.config.motionReduced?0:.2});let t="top"===this.level?"-105%":"2rem";return Motion.animate(this.contentElement.firstElementChild,{transform:[`translateY(${t})`,"translateY(0)"]},{duration:theme.config.motionReduced?0:.6,easing:[.7,0,.2,1]}).finished}async transitionOut(){Motion.animate(this.contentElement,{opacity:0,visibility:"hidden"},{duration:theme.config.motionReduced?0:.3,easing:[.7,0,.2,1]});let t="top"===this.level?"-105%":"2rem";return Motion.animate(this.contentElement.firstElementChild,{transform:`translateY(${t})`},{duration:theme.config.motionReduced?0:.6,easing:[.7,0,.2,1]}).finished}detectClickOutside(t){this.contains(t.target)||t.target.closest("details") instanceof DetailsDropdown||(this.open=!1)}detectEscKeyboard(t){if("Escape"===t.code){let e=t.target.closest("details[open]");e&&(e.open=!1)}}detectFocusOut(t){t.relatedTarget&&!this.contains(t.relatedTarget)&&(this.open=!1)}detectHover(t){"hover"!==this.trigger||theme.config.isTouch||("mouseenter"===t.type?this.open=!0:this.open=!1)}shouldReverse(){let t=this.contentElement.offsetLeft+2*this.contentElement.clientWidth;t>window.innerWidth&&this.contentElement.classList.add("should-reverse")}}customElements.define("details-dropdown",DetailsDropdown,{extends:"details"}),lockDropdownCount.set(DetailsDropdown,0);class DetailsMega extends DetailsDropdown{constructor(){super(),Shopify.designMode&&(this.addEventListener("shopify:block:select",()=>this.open=!0),this.addEventListener("shopify:block:deselect",()=>this.open=!1))}async transitionIn(){return this.contentElement.querySelector("tabs-element")?.unload(),setTimeout(()=>{this.contentElement.querySelector("tabs-element")?.load()},theme.config.motionReduced?0:450),document.body.classList.add("with-mega"),Motion.animate(this.contentElement.firstElementChild,{visibility:"visible",transform:["translateY(-105%)","translateY(0)"]},{duration:theme.config.motionReduced?0:.6,easing:[.7,0,.2,1]}).finished}async transitionOut(){return document.body.classList.remove("with-mega"),Motion.animate(this.contentElement.firstElementChild,{visibility:"hidden",transform:"translateY(-105%)"},{duration:theme.config.motionReduced?0:.6,easing:[.7,0,.2,1]}).finished}}customElements.define("details-mega",DetailsMega,{extends:"details"});class LocalizationListbox extends HTMLFormElement{constructor(){super(),this.items.forEac
13h(t=>t.addEventListener("click",this.onItemClick.bind(this)))}get items(){return this._items=this._items||Array.from(this.querySelectorAll("a"))}get input(){return this.querySelector('input[name="locale_code"], input[name="country_code"]')}get returnTo(){return this.querySelector('input[name="return_to"]')}onItemClick(t){t.preventDefault(),this.input.value=t.currentTarget.getAttribute("data-value"),this.returnTo.value=window.location.pathname,this.submit()}}customElements.define("localization-listbox",LocalizationListbox,{extends:"form"});class LocalizationForm extends HTMLFormElement{constructor(){super(),!theme.config.isTouch||Shopify.designMode?Motion.inView(this,this.init.bind(this)):new theme.initWhenVisible(this.init.bind(this))}init(){this.initialized||(this.initialized=!0,this.addEventListener("change",this.submit))}}customElements.define("localization-form",LocalizationForm,{extends:"form"});const cachedSectionsRenderingAPI=new Map;class APIButton extends HTMLButtonElement{constructor(){super(),Motion.inView(this,this.init.bind(this))}get sectionId(){return this.getAttribute("data-section-id")}get sectionRenderingId(){return this.getAttribute("data-id")}init(){if(this.initialized||(this.initialized=!0,null===document.getElementById(this.sectionRenderingId)||document.getElementById(this.sectionRenderingId).hasAttribute("loaded")))return;let t=`${theme.routes.root_url}?section_id=${this.sectionId}`;cachedSectionsRenderingAPI.has(t)?this.renderSectionFromCache(t):this.renderSectionFromFetch(t),this.sectionsRenderingAPIListener=this.afterSectionsRenderingAPI.bind(this),document.addEventListener("sectionsRenderingAPI:cached",this.sectionsRenderingAPIListener)}renderSectionFromCache(t){let e=cachedSectionsRenderingAPI.get(t);e.length&&this.updateSectionRendering(e)}renderSectionFromFetch(t){cachedSectionsRenderingAPI.set(t,""),fetch(t).then(t=>t.text()).then(e=>{this.updateSectionRendering(e),cachedSectionsRenderingAPI.set(t,e),document.dispatchEvent(new CustomEvent("sectionsRenderingAPI:cached",{detail:{url:t,sectionId:this.sectionId}}))}).catch(t=>{console.error(t)})}updateSectionRendering(t){let e=new DOMParser().parseFromString(t,"text/html");document.getElementById(this.sectionRenderingId).replaceWith(e.getElementById(this.sectionRenderingId)),document.removeEventListener("sectionsRenderingAPI:cached",this.sectionsRenderingAPIListener)}afterSectionsRenderingAPI(t){t.detail.sectionId===this.sectionId&&this.renderSectionFromCache(t.detail.url)}}customElements.define("api-button",APIButton,{extends:"button"});class APIHoverButton extends APIButton{constructor(){super(),this.hoverButton=new theme.HoverButton(this),this.hoverButton.load()}}customElements.define("api-hover-button",APIHoverButton,{extends:"button"});class APIMagnetButton extends APIButton{constructor(){super(),this.magnetButton=new theme.MagnetButton(this),this.magnetButton.load()}}customElements.define("api-magnet-button",APIMagnetButton,{extends:"button"});class StickyElement extends HTMLElement{constructor(){super(),this.endScroll=window.innerHeight-this.offsetHeight-500,this.currPos=window.scrollY,this.screenHeight=window.innerHeight,this.stickyElementHeight=this.offsetHeight,this.bottomGap=this.offsetHeight<window.innerHeight?20:0,window.addEventListener("scroll",theme.utils.throttle(this.onScrollHandler.bind(this)),{capture:!0,passive:!0})}get headerHeight(){let t=document.querySelector('.header-section header[is="sticky-header"]');return t?Math.round(t.clientHeight)+20:this.offsetHeight<window.innerHeight?20:0}get inset(){return this.style.getPropertyValue("--inset")||0}onScrollHandler(){this.screenHeight=window.innerHeight,this.stickyElementHeight=this.offsetHeight,this.positionStickySidebar()}positionStickySidebar(){this.endScroll=window.innerHeight-this.offsetHeight-this.bottomGap;let t=window.getComputedStyle(this),e=parseInt(t.insetBlockStart.replace("px",""));this.stickyElementHeight+this.headerHeight+this.bottomGap>this.screenHeight?window.scrollY<this.currPos?e<this.headerHeight?(this.style.insetBlockStart=`${e+this.currPos-window.scrollY}px`,this.style.setProperty("--inset",`${e+this.currPos-window.scrollY}px`)):e>=this.headerHeight&&e!==this.headerHeight&&(this.style.insetBlockStart=`${this.headerHeight}px`,this.style.setProperty("--inset",`${this.headerHeight}px`)):e>this.endScroll?(this.style.insetBlockStart=`${e+this.currPos-window.scrollY}px`,this.style.setProperty("--inset",`${e+this.currPos-window.scrollY}px`)):e<this.endScroll&&e!==this.endScroll&&(this.style.insetBlockStart=`${this.endScroll}px`,this.style.setProperty("--inset",`${this.endScroll}px`)):(this.style.insetBlockStart=`${this.headerHeight}px`,this.style.setProperty("--inset",`${this.headerHeight}px`)),this.currPos=window.scrollY}}customElements.define("sticky-element",StickyElement);class ParallaxElement extends HTMLDivElement{constructor(){super(),this.load(),document.addEventListener("matchSmall",this.unload.bind(this)),document.addEventListener("unmatchSmall",this.load.bind(this))}get mobileDisabled(){return!1}load(){!theme.config.motionReduced&&(this.mobileDisabled&&(theme.config.isTouch||theme.config.mqlSmall)||this.motion())}motion(){this.animation=Motion.scroll(Motion.animate(this,{transform:[`translateY(${this.getAttribute("data-start")})`,`translateY(${this.getAttribute("data-stop")})`]}),{target:this,offset:Motion.ScrollOffset.Any})}unload(){this.animation&&(this.animation(),this.style.transform=null)}}customElements.define("parallax-element",ParallaxElement,{extends:"div"});class ParallaxOverlay extends HTMLElement{constructor(){super(),this.load(),Shopify.designMode&&document.addEventListener("shopify:section:unload",this.refresh.bind(this))}refresh(){let t={};t[this.getAttribute("data-target")]=this.getAttribute("data-stop"),Motion.animate(this,t,{duration:0})}load(){let t={};t[this.getAttribute("data-target")]=[this.getAttribute("data-start"),this.getAttribute("data-stop")],this.animation=Motion.scroll(Motion.animate(this,t),{target:this.parentElement,offset:Motion.ScrollOffset.Enter})}}customElements.define("parallax-overlay",ParallaxOverlay);class FooterParallax extends ParallaxElement{constructor(){super(),Shopify.designMode&&document.addEventListener("shopify:section:unload",this.refresh.bind(this))}get mobileDisabled(){return!0}motion(){this.animation=Motion.scroll(Motion.animate(this,{transform:["translateY(-50%)","translateY(0)"]}),{target:this,offset:Motion.ScrollOffset.Enter})}refresh(){!theme.config.motionReduced&&(this.mobileDisabled&&(theme.config.isTouch||theme.config.mqlSmall)||setTimeout(()=>{Motion.animate(this,{transform:"translateY(0)"},{duration:0})}
13))}}customElements.define("footer-parallax",FooterParallax,{extends:"div"});class FooterGroup extends HTMLElement{constructor(){super(),this.init(),Shopify.designMode&&document.addEventListener("shopify:section:load",this.init.bind(this))}get rounded(){return Array.from(this.querySelectorAll(".section--rounded"))}get sections(){return Array.from(this.querySelectorAll(".shopify-section"))}init(){this.sections.forEach((t,e)=>{let i=t.querySelector(".section");i&&(i.classList.remove("section--next-rounded"),i.style.zIndex=this.sections.length-e)}),this.rounded.forEach(t=>{let e=t.closest(".shopify-section"),i=e.previousElementSibling;if(null===i&&(i=document.querySelector(".main-content .shopify-section:last-child")),i){let s=i.querySelector(".section");s&&s.classList.add("section--next-rounded")}})}}customElements.define("footer-group",FooterGroup);class CarouselElement extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this),{margin:"200px 0px 200px 0px"})}get items(){return this._items=this._items||Array.from(this.children)}get watchCSS(){return this.hasAttribute("watch-css")}get initialIndex(){return parseInt(this.getAttribute("initial-index")||0)}init(){this.items.length>1&&(this.carousel=new Flickity(this,{watchCSS:this.watchCSS,prevNextButtons:!1,adaptiveHeight:!0,wrapAround:!0,rightToLeft:theme.config.rtl,initialIndex:this.initialIndex}),this.addEventListener("control:select",t=>this.select(t.detail.index)),this.carousel.on("change",this.onChange.bind(this)),Shopify.designMode&&this.addEventListener("shopify:block:select",t=>this.carousel.select(this.items.indexOf(t.target))))}disconnectedCallback(){this.carousel&&this.carousel.destroy()}select(t=0,e=!1){if(!e){let{selectedIndex:i,slides:s}=this.carousel;e=Math.abs(t-i)>3,0===t&&i===s.length-1&&(e=!1),t===s.length-1&&0===i&&(e=!1)}this.carousel.select(t,!1,e)}onChange(t){this.dispatchEvent(new CustomEvent("carousel:change",{bubbles:!0,detail:{index:t}}))}}customElements.define("carousel-element",CarouselElement);class TestimonialsElement extends CarouselElement{constructor(){super(),Motion.inView(this,()=>{setTimeout(()=>this.update(),600)})}update(){this.carousel&&this.carousel.select(0)}}customElements.define("testimonials-element",TestimonialsElement);class SecondaryMedia extends HTMLElement{constructor(){super(),Motion.inView(this,()=>{setTimeout(()=>this.init())},{margin:"200px 0px 200px 0px"})}get template(){return this.previousElementSibling}disconnectedCallback(){this.carousel&&this.carousel.destroy()}init(){this.appendChild(this.template.content.cloneNode(!0)),this.mediaCount=this.querySelectorAll(".media").length,this.mediaCount>1&&(this.carousel=new Flickity(this,{accessibility:!1,draggable:!1,pageDots:!0,prevNextButtons:!1,wrapAround:!0,rightToLeft:theme.config.rtl}),2===this.mediaCount&&this.classList.add("without-dots"),this.addEventListener("mousemove",this.onMoveHandler),this.addEventListener("mouseleave",this.onLeaveHandler))}onMoveHandler(t){if(2===this.mediaCount)return this.carousel.select(1);let{width:e}=this.carousel.size,i=t.clientX-this.getBoundingClientRect().left;return 3===this.mediaCount?i<e/2?this.carousel.select(1):this.carousel.select(2):4===this.mediaCount?i<e/3?this.carousel.select(1):i<2*e/3?this.carousel.select(2):this.carousel.select(3):void 0}onLeaveHandler(){this.carousel.select(0)}}customElements.define("secondary-media",SecondaryMedia);class MotionList extends HTMLElement{constructor(){if(super(),theme.config.motionReduced||this.hasAttribute("motion-reduced")||this.hasAttribute("initialized"))return;this.unload(),Motion.inView(this,this.load.bind(this))}get items(){return this.querySelectorAll(".card")}get itemsToShow(){return this.querySelectorAll(".card:not([style])")}unload(){Motion.animate(this.items,{y:50,opacity:0,visibility:"hidden"},{duration:0})}load(){Motion.animate(this.items,{y:[50,0],opacity:[0,1],visibility:["hidden","visible"]},{duration:theme.config.motionReduced?0:.5,delay:theme.config.motionReduced?0:Motion.stagger(.1)})}reload(){Motion.animate(this.itemsToShow,{y:[50,0],opacity:[0,1],visibility:["hidden","visible"]},{duration:theme.config.motionReduced?0:.5,delay:theme.config.motionReduced?0:Motion.stagger(.1)})}}customElements.define("motion-list",MotionList);
13class LazyBackground extends HTMLElement{constructor(){super(),this.init()}get image(){let t=window.getComputedStyle(this);return!!t.backgroundImage&&t.backgroundImage.slice(5,-2).replace("width=1","width=720")}async init(){if(!this.image)return;let t=document.createElement("img");t.src=this.image,t.style.visibility="hidden",t.style.position="absolute",await theme.utils.imageLoaded(t),this.style.backgroundImage=`url(${this.image})`,t.remove()}}customElements.define("lazy-background",LazyBackground);class MenuToggle extends MagnetButton{constructor(){super(),this.addEventListener("click",this.onClick)}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}get expanded(){return"true"===this.getAttribute("aria-expanded")}onClick(){this.setAttribute("aria-expanded",this.expanded?"false":"true"),this.controlledElement&&this.controlledElement.classList.toggle("active")}}customElements.define("menu-toogle",MenuToggle,{extends:"button"});class ScrollShadow extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this))}get template(){return this.querySelector("template")}init(){this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(this.template.content.cloneNode(!0)),this.shadowRoot.addEventListener("slotchange",()=>this.load()),this.updater=new theme.scrollShadow.Updater(this.shadowRoot.children[1]),this.load()}load(){this.updater.on(this.children[0])}disconnectedCallback(){this.updater?.on()}}customElements.define("scroll-shadow",ScrollShadow);class CustomSelect extends HTMLSelectElement{constructor(){super(),this.onChange(),this.addEventListener("change",this.onChange)}onChange(){""!==this.value||-1===this.selectedIndex?this.setAttribute("selected",""):this.removeAttribute("selected")}}customElements.define("custom-select",CustomSelect,{extends:"select"});class GMap extends HTMLElement{constructor(){if(super(),!this.hasAttribute("data-api-key")||!this.hasAttribute("data-map-address"))return;Motion.inView(this,this.prepMapApi.bind(this),{margin:"600px 0px 600px 0px"}),window.gm_authFailure=()=>{Shopify.designMode&&window.mapError(theme.strings.authError)},window.mapError=(t,e)=>{let i=e?e.closest(".shopify-section"):document;i.querySelectorAll(".gmap--error").forEach(t=>{t.remove()}),i.querySelectorAll("g-map").forEach(e=>{let i=document.createElement("div");i.classList.add("rte","alert","alert--error","gmap--error"),i.innerHTML=t,e.closest(".with-map").prepend(i)})},window.gmNoop=()=>{}}prepMapApi(){this.loadScript().then(this.initMap.bind(this)).then(()=>{setTimeout(()=>{let t=this.closest(".banner__map");t&&t.previousElementSibling&&t.previousElementSibling.classList.remove("opacity-0")},1e3)})}loadScript(){return new Promise((t,e)=>{let i=document.createElement("script");document.body.appendChild(i),i.onload=t,i.onerror=e,i.async=!0,i.src=`https://maps.googleapis.com/maps/api/js?key=${this.getAttribute("data-api-key")}&callback=gmNoop`})}initMap(){let t=new google.maps.Geocoder;t.geocode({address:this.getAttribute("data-map-address")},(t,e)=>{if(e!==google.maps.GeocoderStatus.OK){if(Shopify.designMode){let i;switch(e){case"ZERO_RESULTS":i=theme.strings.addressNoResults;break;case"OVER_QUERY_LIMIT":i=theme.strings.addressQueryLimit;break;case"REQUEST_DENIED":i=theme.strings.authError;break;default:i=theme.strings.addressError}window.mapError(i,this)}}else{let s={zoom:parseInt(this.getAttribute("data-zoom")),center:t[0].geometry.location,draggable:!0,clickableIcons:!1,scrollwheel:!1,disableDoubleClickZoom:!0,disableDefaultUI:!0},n=new google.maps.Map(this,s),r=n.getCenter();n.setCenter(r);let a={path:"M22.6746 0C10.2174 0 0 8.79169 0 21.5118C0 31.2116 4.33864 38.333 9.26606 42.998C11.7232 45.3243 14.3387 47.0534 16.6674 48.2077C18.9384 49.3333 21.1148 50 22.6746 50C24.2345 50 26.4108 49.3333 28.6818 48.2077C31.0105 47.0534 33.626 45.3243 36.0832 42.998C41.0106 38.333 45.3492 31.2116 45.3492 21.5118C45.3492 8.79169 35.1318 0 22.6746 0ZM29.6514 22.6746C29.6514 26.5278 26.5278 29.6514 22.6746 29.6514C18.8214 29.6514 15.6978 26.5278 15.6978 22.6746C15.6978 18.8214 18.8214 15.6978 22.6746 15.6978C26.5278 15.6978 29.6514 18.8214 29.6514 22.6746Z",fillColor:this.getAttribute("data-marker-color"),fillOpacity:1,anchor:new google.maps.Point(15,55),strokeWeight:0,scale:.7};new google.maps.Marker({map:n,position:n.getCenter(),icon:a});let o=new google.maps.StyledMapType(JSON.parse(this.parentNode.querySelector("[data-gmap-style]").innerHTML));n.mapTypes.set("styled_map",o),n.setMapTypeId("styled_map")}})}}customElements.define("g-map",GMap);class GMapLocations extends HTMLUListElement{constructor(){super(),this.selectedIndex=this.selectedIndex,this.buttons.forEach((t,e)=>t.addEventListener("click",()=>this.selectedIndex=e)),Shopify.designMode&&this.addEventListener("shopify:block:select",t=>this.selectedIndex=this.buttons.indexOf(t.target))}static get observedAttributes(){return["selected-index"]}get selectedIndex(){return parseInt(this.getAttribute("selected-index"))||0}set selectedIndex(t){this.setAttribute("selected-index",Math.min(Math.max(t,0),this.buttons.length-1).toString())}get buttons(){return this._buttons=this._buttons||Array.from(this.hasAttribute("selector")?this.querySelectorAll(this.getAttribute("selector")):this.children)}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}attributeChangedCallback(t,e,i){if(this.buttons.forEach((t,e)=>{t.classList.toggle("active",e===parseInt(i)),t.querySelector("[data-map-button]")?.classList.toggle("button--secondary",e!==parseInt(i))}),"selected-index"===t&&null!==e&&e!==i&&this.controlledElement){let s=this.buttons[parseInt(i)];this.controlledElement.setAttribute("data-map-address",s.getAttribute("data-map-address")),this.controlledElement.initMap()}}}customElements.define("g-map-locations",GMapLocations,{extends:"ul"});class PreviousButton extends HoverButton{constructor(){super(),this.load()}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}load(){this.onClickListener=this.onClick.bind(this),this.addEventListener("click",this.onClickListener),this.controlledElement&&(this.updateStatusListener=this.updateStatus.bind(this),this.controlledElement.addEventListener("slider:previousStatus",this.updateStatusListener))}unload(){this.removeEventListener("click",this.onClickListener),this.controlledElement&&this.controlledElement.removeEventListener("slider:previousStatus",this.updateStatusListener)}onClick(){(this.controlledElement??this).dispatchEvent(new CustomEvent("slider:previous",{bubbles:!0,cancelable:!0}))}updateStatus(t){switch(t.detail.status){case"hidden":this.hidden=!0;break;case"disabled":this.disabled=!0;break;default:this.hidden=!1,this.disabled=!1}}}customElements.define("previous-button",PreviousButton,{extends:"button"});class NextButton extends HoverButton{constructor(){super(),this.load()}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}load(){this.onClickListener=this.onClick.bind(this),this.addEventListener("click",this.onClickListener),this.controlledElement&&(this.updateStatusListener=this.updateStatus.bind(this),this.controlledElement.addEventListener("slider:nextStatus",this.updateStatusListener))}unload(){this.removeEventListener("click",this.onClickListener),this.controlledElement&&this.controlledElement.removeEventListener("slider:nextStatus",this.updateStatusListener)}onClick(){(this.controlledElement??this).dispatchEvent(new CustomEvent("slider:next",{bubbles:!0,cancelable:!0}))}updateStatus(t){switch(t.detail.status){case"hidden":this.hidden=!0;break;case"disabled":this.disabled=!0;break;default:this.hidden=!1,this.disabled=!1}}}customElements.define("next-button",NextButton,{extends:"button"});class SliderElement extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this),{margin:"200px 0px 200px 0px"})}get looping(){return!1}get items(){return this._items=this._items||Array.from(this.hasAttribute("selector")?this.querySelectorAll(this.getAttribute("selector")):this.children)}get itemsToShow(){return Array.from(this.items).filter(t=>t.clientWidth>0)}get itemOffset(){return theme.config.rtl?this.itemsToShow.length>1?this.itemsToShow[0].offsetLeft-this.itemsToShow[1].offsetLeft:0:this.itemsToShow.length>1?this.itemsToShow[1].offsetLeft-this.itemsToShow[0].offsetLeft:0}get perPage(){let t=this.clientWidth,e=window.matchMedia("screen and (min-width: 1280px)");if(e.matches){let i=window.getComputedStyle(this);
13t=this.clientWidth-parseFloat(i.paddingLeft)-parseFloat(i.paddingRight)}return Math.floor(t/this.itemOffset)}get totalPages(){return this.itemsToShow.length-this.perPage+1}reset(){this._items=Array.from(this.hasAttribute("selector")?this.querySelectorAll(this.getAttribute("selector")):this.children)}init(){this.hasPendingOnScroll=!1,this.currentPage=1,this.updateButtons(),this.addEventListener("scroll",theme.utils.debounce(this.update.bind(this),50)),this.addEventListener("scrollend",this.scrollend),this.addEventListener("slider:previous",this.previous),this.addEventListener("slider:next",this.next),Shopify.designMode&&this.addEventListener("shopify:block:select",t=>t.target.scrollIntoView({behavior:"smooth"}))}previous(){this.scrollPosition=this.scrollLeft-this.perPage*this.itemOffset*(theme.config.rtl?-1:1),this.scrollToPosition(this.scrollPosition)}next(){this.scrollPosition=this.scrollLeft+this.perPage*this.itemOffset*(theme.config.rtl?-1:1),this.scrollToPosition(this.scrollPosition)}select(t,e=!1){this.scrollPosition=this.scrollLeft-(this.currentPage-t)*this.itemOffset*(theme.config.rtl?-1:1),this.scrollToPosition(this.scrollPosition,e)}selected(t){return this.itemsToShow[t]}scrollend(){this.hasPendingOnScroll=!1,this.dispatchEventHandler()}update(){void 0===window.onscrollend&&clearTimeout(this.scrollendTimeout);let t=this.currentPage;this.currentPage=Math.round(Math.abs(this.scrollLeft)/this.itemOffset)+1,this.currentPage!==t&&(this.hasPendingOnScroll||this.dispatchEventHandler(),this.itemsToShow.forEach((t,e)=>{t.classList.toggle("selected",e+1===this.currentPage)})),void 0===window.onscrollend&&(this.scrollendTimeout=setTimeout(()=>{this.dispatchEvent(new CustomEvent("scrollend",{bubbles:!0,composed:!0}))},75)),this.looping||this.updateButtons()}updateButtons(){let t=1===this.currentPage,e=this.currentPage===this.itemsToShow.length;this.perPage>1&&(t=t||this.itemsToShow.length>0&&this.isVisible(this.itemsToShow[0])&&0===this.scrollLeft,e=e||this.itemsToShow.length>0&&this.isVisible(this.itemsToShow[this.itemsToShow.length-1])),this.dispatchEvent(new CustomEvent("slider:previousStatus",{bubbles:!0,detail:{status:t?e?"hidden":"disabled":"visible"}})),this.dispatchEvent(new CustomEvent("slider:nextStatus",{bubbles:!0,detail:{status:e?t?"hidden":"disabled":"visible"}}))}isVisible(t,e=0){let i=this.clientWidth+this.scrollLeft-e;return t.offsetLeft+t.clientWidth<=i&&t.offsetLeft>=this.scrollLeft}scrollToPosition(t,e=!1){this.hasPendingOnScroll=!e,this.scrollTo({left:t,behavior:e?"instant":theme.config.motionReduced?"auto":"smooth"})}dispatchEventHandler(){this.dispatchEvent(new CustomEvent("slider:change",{detail:{currentPage:this.currentPage,currentElement:this.itemsToShow[this.currentPage-1]}}))}}customElements.define("slider-element",SliderElement);class SliderDots extends HTMLElement{constructor(){super(),new theme.initWhenVisible(this.init.bind(this))}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}get items(){return this._items=this._items||Array.from(this.children)}get itemsToShow(){return Array.from(this.items).filter(t=>t.clientWidth>0)}init(){!this.initialized&&(this.initialized=!0,this.controlledElement&&(this.controlledElement.addEventListener("slider:change",this.onChange.bind(this)),this.items.forEach(t=>{t.addEventListener("click",this.onButtonClick.bind(this))})))}reset(){this._items=Array.from(this.children)}onChange(t){this.transitionTo(parseInt(t.detail.currentPage)-1),this.itemsToShow.forEach(e=>{e.setAttribute("aria-current",parseInt(e.getAttribute("data-index"))===parseInt(t.detail.currentPage)?"true":"false")})}transitionTo(t,e=!1){if(this.itemsToShow[t]){let i=this.hasAttribute("align-selected")?this.closest(this.getAttribute("align-selected")):this;i.scrollTo({left:this.itemsToShow[t].offsetLeft-i.clientWidth/2+this.itemsToShow[t].clientWidth/2,top:this.itemsToShow[t].offsetTop-i.clientHeight/2-this.itemsToShow[t].clientHeight/2,behavior:e?"instant":theme.config.motionReduced?"auto":"smooth"})}}onButtonClick(t){t.preventDefault();let e=t.currentTarget;this.itemsToShow.forEach(t=>{t.setAttribute("aria-current",t.getAttribute("data-index")===e.getAttribute("data-index")?"true":"false")}),this.controlledElement.select(parseInt(e.getAttribute("data-index")))}}
13customElements.define("slider-dots",SliderDots);class ProgressBar extends HTMLElement{constructor(){if(super(),this.hasAttribute("style"))return;Motion.inView(this,this.init.bind(this))}init(){this.style.setProperty("--progress",`${75*parseInt(this.getAttribute("data-value"))/parseInt(this.getAttribute("data-max"))}%`)}}customElements.define("progress-bar",ProgressBar);const onYouTubePromise=new Promise(t=>{window.onYouTubeIframeAPIReady=()=>t()});class DeferredMedia extends HTMLElement{constructor(){super(),this.posterElement&&this.posterElement.addEventListener("click",this.onPosterClick.bind(this)),this.autoplay&&Motion.inView(this,this.init.bind(this))}get posterElement(){return this.querySelector('[id^="DeferredPoster-"]')}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}get autoplay(){return this.hasAttribute("autoplay")}get playing(){return this.hasAttribute("playing")}get player(){return this.playerProxy=this.playerProxy||new Proxy(this.playerTarget(),{get:(t,e)=>async()=>{t=await t,this.playerHandler(t,e)}})}static get observedAttributes(){return["playing"]}onPosterClick(t){t.preventDefault(),t.stopPropagation(),this.playing?(this.paused=!0,this.pause()):(this.paused=!1,this.play())}init(){return this.paused||this.play(),()=>{this.pause()}}play(){this.playing||this.player.play()}pause(){this.playing&&this.player.pause()}attributeChangedCallback(t,e,i){if("playing"===t){if(null===e&&""===i)return this.dispatchEvent(new CustomEvent("video:play",{bubbles:!0}));if(null===i)return this.dispatchEvent(new CustomEvent("video:pause",{bubbles:!0}))}}}class VideoMedia extends DeferredMedia{constructor(){super()}playerTarget(){if(this.hasAttribute("host"))return this.setAttribute("loaded",""),this.closest(".media")?.classList.remove("loading"),new Promise(async t=>{let e=this.querySelector("template");e&&e.replaceWith(e.content.firstElementChild.cloneNode(!0));let i=this.hasAttribute("autoplay")||window.matchMedia("screen and (max-width: 1023px)").matches,s=document.createElement("script");if(s.type="text/javascript","youtube"===this.getAttribute("host")){window.YT&&window.YT.Player||(s.src="https://www.youtube.com/iframe_api",document.head.appendChild(s),await new Promise(t=>{s.onload=t})),await onYouTubePromise;let n=new YT.Player(this.querySelector("iframe"),{events:{onReady(){i&&n.mute(),t(n)},onStateChange:t=>{t.data===YT.PlayerState.PLAYING?this.setAttribute("playing",""):(t.data===YT.PlayerState.ENDED||t.data===YT.PlayerState.PAUSED)&&this.removeAttribute("playing")}}})}if("vimeo"===this.getAttribute("host")){window.Vimeo&&window.Vimeo.Player||(s.src="https://player.vimeo.com/api/player.js",document.head.appendChild(s),await new Promise(t=>{s.onload=t}));let r=new Vimeo.Player(this.querySelector("iframe"));i&&r.setMuted(!0),r.on("play",()=>{this.setAttribute("playing","")}),r.on("pause",()=>this.removeAttribute("playing")),r.on("ended",()=>this.removeAttribute("playing")),t(r)}});{let t=this.querySelector("template");t&&this.appendChild(t.content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",""),this.closest(".media")?.classList.remove("loading");let e=this.querySelector("video");return e.addEventListener("play",()=>{this.setAttribute("playing",""),this.removeAttribute("suspended")}),e.addEventListener("pause",()=>{!e.seeking&&e.paused&&this.removeAttribute("playing")}),e}}playerHandler(t,e){"youtube"===this.getAttribute("host")?"play"===e?t.playVideo():t.pauseVideo():"play"!==e||this.hasAttribute("host")?t[e]():t.play().catch(e=>{if("NotAllowedError"===e.name){this.setAttribute("suspended",""),t.controls=!0;let i=t.previousElementSibling?.currentSrc;i&&(t.poster=i)}})}}customElements.define("video-media",VideoMedia);class ModelMedia extends DeferredMedia{constructor(){super(),this.player,this.closeElement&&this.closeElement.addEventListener("click",this.onCloseClick.bind(this))}get closeElement(){return this.querySelector('[id^="DeferredPosterClose-"]')}onCloseClick(t){t.preventDefault(),t.stopPropagation(),this.modelViewerUI&&this.modelViewerUI.pause()}playerTarget(){return new Promise(()=>{this.setAttribute("loaded",""),Shopify.loadFeatures([{name:"shopify-xr",version:"1.0",onLoad:this.setupShopifyXR.bind(this)}
13,{name:"model-viewer-ui",version:"1.0",onLoad:this.setupModelViewerUI.bind(this)},])})}playerHandler(t,e){t[e]()}async setupShopifyXR(){if(!window.ShopifyXR){document.addEventListener("shopify_xr_initialized",this.setupShopifyXR.bind(this));return}document.querySelectorAll('[id^="ProductJSON-"]').forEach(t=>{window.ShopifyXR.addModels(JSON.parse(t.textContent)),t.remove()}),window.ShopifyXR.setupXRElements()}setupModelViewerUI(t){if(t)return;let e=this.querySelector("model-viewer");e&&!e.hasAttribute("loaded")&&(e.setAttribute("loaded",""),e.addEventListener("shopify_model_viewer_ui_toggle_play",this.modelViewerPlayed.bind(this)),e.addEventListener("shopify_model_viewer_ui_toggle_pause",this.modelViewerPaused.bind(this)),this.modelViewerUI=new Shopify.ModelViewerUI(e))}modelViewerPlayed(){this.setAttribute("playing",""),this.closeElement.removeAttribute("hidden"),(this.controlledElement??this).dispatchEvent(new CustomEvent("modelViewer:play",{bubbles:!0}))}modelViewerPaused(){this.removeAttribute("playing"),this.closeElement.setAttribute("hidden",""),(this.controlledElement??this).dispatchEvent(new CustomEvent("modelViewer:pause",{bubbles:!0}))}}customElements.define("model-media",ModelMedia);class VariantSelects extends HTMLElement{constructor(){super()}connectedCallback(){this.addEventListener("change",t=>{let e=this.getInputForEventTarget(t.target);this.updateSelectionMetadata(t.target),theme.pubsub.publish(theme.pubsub.PUB_SUB_EVENTS.optionValueSelectionChange,{data:{event:t,target:e,selectedOptionValues:this.selectedOptionValues}})})}updateSelectionMetadata(t){"SELECT"===t.tagName&&t.selectedOptions.length&&(Array.from(t.options).find(t=>t.hasAttribute("selected")).removeAttribute("selected"),t.selectedOptions[0].setAttribute("selected",""))}getInputForEventTarget(t){return"SELECT"===t.tagName?t.selectedOptions[0]:t}get selectedOptionValues(){return Array.from(this.querySelectorAll("select option[selected], fieldset input:checked")).map(t=>t.getAttribute("data-option-value-id"))}}customElements.define("variant-selects",VariantSelects);class ProductInfo extends HTMLElement{onVariantChangeUnsubscriber=void 0;cartUpdateUnsubscriber=void 0;abortController=void 0;pendingRequestUrl=null;preProcessHtmlCallbacks=[];postProcessHtmlCallbacks=[];constructor(){super()}get sectionId(){return this.hasAttribute("data-original-section-id")?this.getAttribute("data-original-section-id"):this.getAttribute("data-section-id")}get productId(){return this.getAttribute("data-product-id")}get productForm(){return this.querySelector('form[is="product-form"]')}get productStickyForm(){return document.getElementById(`ProductStickyForm-${this.sectionId}-${this.productId}`)}get pickupAvailability(){return this.querySelector("pickup-availability")}get variantSelectors(){return this.querySelector("variant-selects")}get quantityInput(){return this.querySelector("quantity-input input")}connectedCallback(){this.initProductAnimation(),this.onVariantChangeUnsubscriber=theme.pubsub.subscribe(theme.pubsub.PUB_SUB_EVENTS.optionValueSelectionChange,this.handleOptionValueChange.bind(this)),this.initQuantityHandlers(),this.dispatchEvent(new CustomEvent("product-info:loaded",{bubbles:!0}))}disconnectedCallback(){this.onVariantChangeUnsubscriber(),this.cartUpdateUnsubscriber?.()}initProductAnimation(){theme.config.motionReduced||(this.animation=new theme.Animation(this),this.animation.beforeLoad(),Motion.inView(this,async()=>{!this.immediate&&this.media&&await theme.utils.imageLoaded(this.media),this.animation.load()}))}handleOptionValueChange({data:{event:t,target:e,selectedOptionValues:i}}){if(!this.contains(t.target))return;this.resetProductFormState();let s=e.getAttribute("data-product-url")||this.pendingRequestUrl||this.getAttribute("data-product-url");this.pendingRequestUrl=s;let n=this.getAttribute("data-product-url")!==s;if(n){window.location.href=s;return}this.renderProductInfo({requestUrl:this.buildRequestUrlWithParams(s,i),targetId:"OPTION"===e.tagName?e.parentElement.id:e.id,callback:this.handleUpdateProductInfo()})}resetProductFormState(){this.productForm?.handleErrorMessage(),this.productForm?.toggleSubmitButton(!0,""),this.productStickyForm?.handleErrorMessage(),this.productStickyForm?.toggleSubmitButton(!0,"")}renderProductInfo({requestUrl:t,targetId:e,callback:i}){this.abortController?.abort(),this.abortController=new AbortController,fetch(t,{signal:this.abortController.signal}).then(t=>t.text()).then(t=>{if(this.pendingRequestUrl=null,void 0!==i){let e=new DOMParser().parseFromString(t,"text/html");i(e)}}).then(()=>{let t=document.getElementById(e);if(null!==t){if(t.hasAttribute("align-selected")){let i=t.closest(t.getAttribute("align-selected"));i.scrollTo({left:t.offsetLeft,behavior:"instant"})}setTimeout(()=>{t.focus({preventScroll:!0})},100)}}).catch(t=>{"AbortError"===t.name?console.log("Fetch aborted by user"):console.error(t)})}buildRequestUrlWithParams(t,e){let i=[];return i.push(`section_id=${this.sectionId}`),e.length&&i.push(`option_values=${e.join(",")}`),`${t}?${i.join("&")}`}handleUpdateProductInfo(){return t=>{let e=this.getSelectedVariant(t);if(this.pickupAvailability?.update(e),this.updateOptionValues(t),this.updateURL(e?.id),this.updateV
13ariantInputs(e?.id),!e){this.setUnavailable();return}let i=e=>{let i=t.getElementById(`${e}-${this.sectionId}-${this.productId}`),s=document.querySelector(`#${e}-${this.sectionId}-${this.productId}`);i&&s&&(s.innerHTML=i.innerHTML,s.removeAttribute("hidden"))};i("ProductGallery"),i("Price"),i("BuyButtonPrice"),i("StickyPrice"),i("Sku"),i("Inventory"),i("Volume"),i("PricePerItem"),i("BackInStock"),i("ProductBundle"),this.updateQuantityRules(this.sectionId,this.productId,t),i("QuantityRules"),i("QuantityRulesCart"),i("VolumeNote"),this.productForm?.toggleSubmitButton(!e.available,theme.variantStrings.soldOut),this.productStickyForm?.toggleSubmitButton(!e.available,theme.variantStrings.soldOut),theme.pubsub.publish(theme.pubsub.PUB_SUB_EVENTS.variantChange,{data:{sectionId:this.sectionId,productId:this.productId,parsedHTML:t,variant:e}}),(this.productForm??document).dispatchEvent(new CustomEvent("variant:change",{detail:{variant:e}}))}}getSelectedVariant(t){let e=t.querySelector("[data-selected-variant]")?.textContent;return e?JSON.parse(e):null}updateOptionValues(t){let e=t.getElementById(`VariantPicker-${this.sectionId}-${this.productId}`);e&&theme.HTMLUpdateUtility.viewTransition(this.variantSelectors,e,this.preProcessHtmlCallbacks)}updateURL(t){if(!t||"false"===this.getAttribute("data-update-url"))return;let e=new URL(window.location.href);e.searchParams.set("variant",t),window.history.replaceState({path:e.toString()},"",e.toString())}updateVariantInputs(t){if(!t)return;let e=document.querySelectorAll(`#ProductForm-${this.sectionId}-${this.productId}, #ProductFormInstallment-${this.sectionId}-${this.productId}`);e.forEach(e=>{let i=e.querySelector('input[name="id"]');i.value=t??"",i.dispatchEvent(new Event("change",{bubbles:!0}))})}setUnavailable(){this.productForm?.toggleSubmitButton(!0,theme.variantStrings.unavailable,!0),this.productStickyForm?.toggleSubmitButton(!0,theme.variantStrings.unavailable,!0);let t=["ProductGallery","Price","BuyButtonPrice","StickyPrice","Inventory","Sku","PricePerItem","BackInStock","ProductBundle","VolumeNote","Volume","QuantityRules","QuantityRulesCart"].map(t=>`#${t}-${this.sectionId}-${this.productId}`).join(", ");document.querySelectorAll(t).forEach(t=>t.setAttribute("hidden",""))}initQuantityHandlers(){this.quantityInput&&(this.setQuantityBoundries(),this.hasAttribute("data-original-section-id")||(this.cartUpdateUnsubscriber=theme.pubsub.subscribe(theme.pubsub.PUB_SUB_EVENTS.cartUpdate,this.fetchQuantityRules.bind(this))))}setQuantityBoundries(){theme.pubsub.publish(theme.pubsub.PUB_SUB_EVENTS.quantityBoundries,{data:{sectionId:this.sectionId,productId:this.productId}})}fetchQuantityRules(){let t=this.productForm?.variantIdInput?.value;t&&(this.querySelector('label[is="quantity-label"]')?.setAttribute("aria-busy","true"),fetch(`${this.getAttribute("data-product-url")}?variant=${t}&section_id=${this.sectionId}`).then(t=>t.text()).then(t=>{let e=new DOMParser().parseFromString(t,"text/html");this.updateQuantityRules(this.sectionId,this.productId,e)}).catch(t=>{console.error(t)}).finally(()=>{this.querySelector('label[is="quantity-label"]')?.removeAttribute("aria-busy")}))}updateQuantityRules(t,e,i){this.quantityInput&&(theme.pubsub.publish(theme.pubsub.PUB_SUB_EVENTS.quantityRules,{data:{sectionId:t,productId:e,parsedHTML:i}}),this.setQuantityBoundries())}}customElements.define("product-info",ProductInfo);class ProductForm extends HTMLFormElement{constructor(){super(),this.variantIdInput.disabled=!1,this.addEventListener("submit",this.onSubmitHandler)}get cartDrawer(){return document.querySelector("cart-drawer")}get submitButton(){return this._submitButton=this._submitButton||this.querySelector('[type="submit"]')}get submitButtons(){return this._submitButtons=this._submitButtons||document.querySelectorAll(`[type="submit"][form="${this.getAttribute("id")}"]`)}get hideErrors(){return"true"===this.getAttribute("data-hide-errors")}get variantIdInput(){return this.querySelector('[name="id"]')}get bundles(){return Array.from(document.querySelectorAll(`[aria-controls="${this.getAttribute("id")}"] input[name="bundles"]:checked`))}onSubmitHandler(t){if(document.body.classList.contains("template-cart")||"page"===theme.settings.cartType||(t.preventDefault(),this.submitButton.hasAttribute("aria-disabled")))return;this.activeElement=t.submitter||t.currentTarget,this.handleErrorMessage();let e=[];document.documentElement.dispatchEvent(new CustomEvent("cart:bundled-sections",{bubbles:!0,detail:{sections:e}}));let i=theme.utils.fetchConfig("javascript");i.headers["X-Requested-With"]="XMLHttpRequest",delete i.headers["Content-Type"];let s=new FormData(this);if(s.append("sections",e),s.append("sections_url",window.location.pathname),i.body=s,this.bundles.length>0){let n={items:this.bundles.reverse().map(t=>({id:t.value,quantity:1}))},r={};for(let[a,o]of s.entries())"id"==a||"quantity"==a?r[a]=o:n[a]=o;n.items.push(r),i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json"}this.submitButton.setAttribute("aria-disabled","true"),this.submitButton.setAttribute("aria-busy","true"),fetch(`${theme.routes.cart_add_url}`,i).then(t=>t.json()).then(async t=>{if(t.status){theme.pubsub.publish(theme.pubsub.PUB_SUB_EVENTS.cartError,{source:"product-form",productVariantId:s.get("id"),errors:t.errors||t.description,message:t.message}
13),this.handleErrorMessage(t.description),document.dispatchEvent(new CustomEvent("ajaxProduct:error",{detail:{errorMessage:t.description}}));let e=this.submitButton.querySelector(".btn-text>span");if(!e||!e.hasAttribute("data-sold-out"))return;e.innerText=e.getAttribute("data-sold-out"),this.submitButton.setAttribute("aria-disabled","true"),this.error=!0;return}let i=await (await fetch(theme.routes.cart_url,{...theme.utils.fetchConfig("json","GET")})).json();i.sections=t.sections,theme.pubsub.publish(theme.pubsub.PUB_SUB_EVENTS.cartUpdate,{source:"product-form",productVariantId:s.get("id"),cart:i}),document.dispatchEvent(new CustomEvent("ajaxProduct:added",{detail:{product:t}})),this.cartDrawer?.show(this.activeElement)}).catch(t=>{console.log(t)}).finally(()=>{this.submitButton.removeAttribute("aria-busy"),this.submitButtons.forEach(t=>t.removeAttribute("aria-busy")),this.error||(this.submitButton.removeAttribute("aria-disabled"),this.submitButtons.forEach(t=>t.removeAttribute("aria-disabled")))})}handleErrorMessage(t=!1){!this.hideErrors&&(this.errorMessage=this.errorMessage||this.querySelector(".product-form__error-message"),this.errorMessage&&(this.errorMessage.toggleAttribute("hidden",!t),this.errorMessage.innerText=t))}toggleSubmitButton(t=!0,e,i=!1){if(!this.submitButton)return;this.submitButton.removeAttribute("loading"),this.submitButton.removeAttribute("unavailable");let s=this.submitButton.querySelector(".btn-text"),n=this.submitButton.querySelector(".btn-text>span");t?(this.submitButton.setAttribute("disabled",""),i&&this.submitButton.setAttribute("unavailable",""),e?(n||s).textContent=e:this.submitButton.setAttribute("loading","")):(this.submitButton.removeAttribute("disabled"),(n||s).textContent=this.submitButton.hasAttribute("data-pre-order")?theme.variantStrings.preOrder:theme.variantStrings.addToCart)}}customElements.define("product-form",ProductForm,{extends:"form"});class ProductStickyForm extends HTMLElement{constructor(){if(super(),this.scopeFrom=document.querySelector(".quick-order-list")||document.getElementById(this.getAttribute("form")),this.scopeTo=document.querySelector(".footer-group"),!this.scopeFrom||!this.scopeTo)return;let t=new IntersectionObserver(this.handleIntersection.bind(this));t.observe(this.scopeFrom),t.observe(this.scopeTo),this.onVariantChangedListener=this.onVariantChanged.bind(this)}get productForm(){return document.forms[this.getAttribute("form")]}get submitButton(){return this._submitButton=this._submitButton||this.querySelector('[type="submit"]')}get productOptions(){return this._productOptions=this._productOptions||this.querySelector("[data-sticky-product-options]")}get productMedia(){return this._productMedia=this._productMedia||this.querySelector("[data-sticky-product-media]")}handleIntersection(t){t.forEach(t=>{t.target===this.scopeFrom&&(this.scopeFromPassed=t.boundingClientRect.bottom<0),t.target===this.scopeTo&&(this.scopeToReached=t.isIntersecting)}),this.scopeFromPassed&&!this.scopeToReached?Motion.animate(this.firstElementChild,{opacity:1,visibility:"visible",transform:["translateY(15px)","translateY(0)"]},{duration:1,easing:[.16,1,.3,1]}):Motion.animate(this.firstElementChild,{opacity:0,visibility:"hidden",transform:["translateY(0)","translateY(15px)"]},{duration:1,easing:[.16,1,.3,1]})}connectedCallback(){(this.productForm??document).addEventListener("variant:change",this.onVariantChangedListener)}disconnectedCallback(){(this.productForm??document).removeEventListener("variant:change",this.onVariantChangedListener)}onVariantChanged(t){this.updateProductMedia(t.detail.variant),this.updateProductOptions(t.detail.variant)}updateProductMedia(t){if(!t||!t.featured_media)return;let e=this.productMedia.querySelector("img"),i=new Image(t.featured_media.preview_image.width,t.featured_media.preview_image.height);i.alt=t.featured_media.alt,i.src=t.featured_media.preview_image.src,i.srcset=this.generateSrcset(t.featured_media.preview_image),i.sizes=e.sizes,this.productMedia.replaceChildren(i)}updateProductOptions(t){t&&(this.productOptions.innerText=t.title)}handleErrorMessage(t=!1){!this.productForm?.hideErrors&&(this.errorMessage=this.errorMessage||this.querySelector(".product-form__error-message"),this.errorMessage&&(this.errorMessage.toggleAttribute("hidden",!t),this.errorMessage.innerText=t))}toggleSubmitButton(t=!0,e){if(!this.submitButton)return;let i=this.submitButton.querySelector(".btn-text"),s=this.submitButton.querySelector(".btn-text>span");t?(this.submitButton.setAttribute("disabled",""),e&&((s||i).textContent=e)):(this.submitButton.removeAttribute("disabled"),(s||i).textContent=this.submitButton.hasAttribute("data-pre-order")?theme.variantStrings.preOrder:theme.variantStrings.addToCart)}generateSrcset(t){let e=this.productMedia.getAttribute("data-widths").split(",").map(t=>parseInt(t));return e.filter(e=>e<=t.width).map(e=>`${t.src}&width=${e} ${e}w`).join(", ")}}customElements.define("product-sticky-form",ProductStickyForm);
13class ProductBundleDetails extends AccordionDetails{constructor(){super()}cartUpdateUnsubscriber=void 0;connectedCallback(){this.cartUpdateUnsubscriber=theme.pubsub.subscribe(theme.pubsub.PUB_SUB_EVENTS.cartUpdate,this.onCartUpdate.bind(this))}disconnectedCallback(){this.cartUpdateUnsubscriber&&this.cartUpdateUnsubscriber()}onCartUpdate(t){"product-form"===t.source&&Array.from(this.querySelectorAll('input[name="bundles"]:checked')).forEach(t=>{t.disabled||(t.checked=!1)})}}customElements.define("product-bundle-details",ProductBundleDetails,{extends:"details"});class MediaGallery extends HTMLElement{constructor(){super(),Motion.inView(this,()=>{setTimeout(()=>this.pauseAllMedia(),500)}),(this.productForm??document).addEventListener("variant:change",this.onVariantChanged.bind(this)),this.addEventListener("lightbox:open",t=>this.openZoom(t.detail.index)),this.sliderGallery.addEventListener("slider:change",this.onSlideChange.bind(this)),this.countMediaGallery()}get viewInSpaceButton(){return this.querySelector("[data-shopify-xr]")}get productForm(){return document.forms[this.getAttribute("form")]}get sliderGallery(){return this.querySelector("slider-element")}get sliderDots(){return this.querySelector("media-dots")}get mediaPreview(){return this.querySelector(".product__preview .product__media")}get hideVariants(){return this._hideVariants=this._hideVariants||this.querySelectorAll(".product__media--variant").length>0}get gangOption(){if(this._gangOption)return this._gangOption;let t=this.sliderGallery.querySelector("[data-gang-option]");return!!t&&(this._gangOption=t.getAttribute("data-gang-option"))}get photoswipe(){if(this._photoswipe)return this._photoswipe;let t=new PhotoSwipeLightbox({arrowPrevSVG:'<svg class="pswp__icn icon" stroke="currentColor" fill="none" viewBox="0 0 30 30"><path d="M17.5 7.5L10 15L17.5 22.5"/></svg>',arrowNextSVG:'<svg class="pswp__icn icon" stroke="currentColor" fill="none" viewBox="0 0 30 30"><path d="M17.5 7.5L10 15L17.5 22.5"/></svg>',closeSVG:'<svg class="pswp__icn icon" stroke="currentColor" fill="none" viewBox="0 0 30 30"><path d="m7.5 22.5 15-15m-15 0 15 15"/></svg>',bgOpacity:1,pswpModule:()=>import(theme.settings.pswpModule),arrowPrevTitle:theme.strings.previous,arrowNextTitle:theme.strings.next,closeTitle:theme.strings.close,allowPanToNext:!1,allowMouseDrag:!0,wheelToZoom:!1,returnFocus:!0,zoom:!1});return t.addFilter("thumbEl",(t,e)=>e.thumbnailElement),t.on("contentLoad",t=>{let{content:e}=t;("video"===e.type||"external_video"===e.type||"model"===e.type)&&(t.preventDefault(),e.element=document.createElement("div"),e.element.className="pswp__video-container",e.element.appendChild(e.data.domElement.cloneNode(!0)))}),t.on("change",()=>{this.sliderGallery.select(t.pswp.currIndex+1,!0)}),t.on("close",()=>{let e=this.sliderGallery.selected(t.pswp.currIndex);t.pswp._lastActiveElement=e?e.querySelector("button"):document.activeElement}),t.init(),this._photoswipe=t}onVariantChanged(t){let e=t.detail.variant;if(!e.featured_media)return;let i=this.sliderGallery.querySelector(`[data-media-id="${e.featured_media.id}"]`);null!==i&&(this.gangOption&&(this.sliderGallery.items.forEach(t=>t.hidden=t.getAttribute("data-gang-connect")!==i.getAttribute("data-gang-connect")),this.sliderGallery.reset(),this.sliderDots&&(this.sliderDots.items.forEach(t=>t.hidden=t.getAttribute("data-gang-connect")!==i.getAttribute("data-gang-connect")),this.sliderDots.reset(),this.sliderDots.resetIndexes(),this.sliderDots.transitionTo(1,!0))),this.setActiveMedia(e.featured_media.id,this.hideVariants),this.mediaPreview&&(this.sliderGallery.querySelectorAll("[data-media-id]").forEach(t=>t.classList.remove("xl:hidden")),this.mediaPreview.parentNode.replaceChild(i.cloneNode(!0),this.mediaPreview),i.classList.add("xl:hidden")),this.countMediaGallery())}onSlideChange(t){let e=t.detail.currentElement;this.playActiveMedia(e),this.viewInSpaceButton&&("model"===e.getAttribute("data-media-type")?this.viewInSpaceButton.setAttribute("data-shopify-model3d-id",e.getAttribute("data-media-id")):this.viewInSpaceButton.setAttribute("data-shopify-model3d-id",this.viewInSpaceButton.getAttribute("data-shopify-model3d-default-id")))}setActiveMedia(t,e){let i=this.sliderGallery.querySelector(`[data-media-id="${t}"]`);
13if(e){if(i.parentElement.prepend(i),this.sliderGallery.reset(),this.sliderDots){let s=this.sliderDots.querySelector(`[data-media-id="${t}"]`);s.parentElement.prepend(s),this.sliderDots.reset(),this.sliderDots.resetIndexes()}}else this.sliderGallery.select(this.sliderGallery.itemsToShow.indexOf(i)+1,!0);if(this.gangOption&&this.sliderGallery.select(1,!0),theme.config.mqlSmall){let n=this.closest("quick-view");n?n.querySelector(".quick-view__content").scrollTo({top:i.getBoundingClientRect().top,behavior:theme.config.motionReduced?"auto":"smooth"}):window.scrollTo({top:i.getBoundingClientRect().top+window.scrollY-95,behavior:theme.config.motionReduced?"auto":"smooth"})}}playActiveMedia(t){if(void 0===t)return;let e=t.querySelector(".deferred-media");this.sliderGallery.querySelectorAll(".deferred-media").forEach(t=>{e===t?t.play():t.pause()})}pauseAllMedia(){this.sliderGallery.querySelectorAll("[data-media-id]").forEach((t,e)=>{if(e>0){let i=t.querySelector(".deferred-media");i&&"function"==typeof i.pause&&i.pause()}})}openZoom(t=0){let e=this.sliderGallery.itemsToShow.map(t=>{let e=t.querySelector("img");if("image"===t.getAttribute("data-media-type"))return{thumbnailElement:e,src:e.src,srcset:e.srcset,msrc:e.currentSrc||e.src,width:parseInt(e.getAttribute("width")),height:parseInt(e.getAttribute("height")),alt:e.alt,thumbCropped:!0};if("video"===t.getAttribute("data-media-type")||"external_video"===t.getAttribute("data-media-type")||"model"===t.getAttribute("data-media-type")){let i=t.querySelector(".deferred-media");return{thumbnailElement:e,domElement:i,type:t.getAttribute("data-media-type"),src:e.src,srcset:e.srcset,msrc:e.currentSrc||e.src,width:800,height:800/i.getAttribute("data-aspect-ratio"),alt:e.alt,thumbCropped:!0}}});if(this.mediaPreview&&this.mediaPreview.offsetParent&&"image"===this.mediaPreview.getAttribute("data-media-type")){let i=this.mediaPreview.querySelector("img");e.push({thumbnailElement:i,src:i.src,srcset:i.srcset,msrc:i.currentSrc||i.src,width:parseInt(i.getAttribute("width")),height:parseInt(i.getAttribute("height")),alt:i.alt,thumbCropped:!0}),-1===t&&(t=e.length-1)}this.photoswipe.loadAndOpen(t,e)}countMediaGallery(){let t=0;this.sliderGallery.querySelectorAll("[data-media-id]").forEach(e=>{!e.classList.contains("xl:hidden")&&!e.hasAttribute("hidden")&&t++}),this.mediaPreview&&t++,t>1?this.classList.remove("with-only1"):this.classList.add("with-only1")}}customElements.define("media-gallery",MediaGallery);class MediaLightboxButton extends HTMLButtonElement{constructor(){super(),this.addEventListener("click",this.onButtonClick)}onButtonClick(){let t=this.closest("[data-media-id]"),e=this.closest("slider-element"),i=e?e.itemsToShow.indexOf(t):-1;this.dispatchEvent(new CustomEvent("lightbox:open",{bubbles:!0,detail:{index:i}}))}}customElements.define("media-lightbox-button",MediaLightboxButton,{extends:"button"});class MediaHoverButton extends MediaLightboxButton{constructor(){super()}get zoomRatio(){return 2}onButtonClick(t){if(theme.config.isTouch)super.onButtonClick();else{let e=this.closest('[data-media-type="image"]');if(e){let i=e.querySelector("img");this.gallery=this.closest("slider-element"),this.magnify(i),this.moveWithHover(i,t)}}}createOverlay(t){let e=document.createElement("img");e.setAttribute("src",`${t.src}`);let i=document.createElement("media-hover-overlay");return this.prepareOverlay(i,e),this.toggleLoadingSpinner(t),e.onload=()=>{this.toggleLoadingSpinner(t),t.parentElement.insertBefore(i,t)},this.gallery&&this.gallery.classList.add("magnify"),i}prepareOverlay(t,e){t.setAttribute("class","media z-10 absolute top-0 left-0 w-full h-full"),t.setAttribute("aria-hidden","true"),t.style.backgroundImage=`url('${e.src}')`,t.style.cursor="zoom-out"}toggleLoadingSpinner(t){let e=t.parentElement;e.classList.toggle("loading"),e.classList.toggle("pointer-events-none")}moveWithHover(t,e){let i=t.height/t.width,s=e.target.getBoundingClientRect(),n=e.clientX-s.left,r=e.clientY-s.top,a=`${n/(t.clientWidth/100)}%`,o=`${r/(t.clientWidth*i/100)}%`;this.overlay.style.backgroundPosition=`${a} ${o}`,this.overlay.style.backgroundSize=`${t.width*this.zoomRatio}px`}magnify(t){this.overlay=this.createOverlay(t),this.overlay.onclick=()=>this.reset(),this.overlay.onmousemove=e=>this.moveWithHover(t,e),this.overlay.onmouseleave=()=>this.reset()}reset(){this.overlay.remove(),this.gallery&&this.gallery.classList.remove("magnify")}}customElements.define("media-hover-button",MediaHoverButton,{extends:"button"});class MediaDots extends SliderDots{constructor(){super()}
13init(){super.init(),this.resetIndexes()}resetIndexes(){let t=1;this.itemsToShow.forEach((e,i)=>{e.setAttribute("data-index",t),e.setAttribute("aria-current",0===i?"true":"false"),t++})}}customElements.define("media-dots",MediaDots);class XModal extends ModalElement{constructor(){super()}get shouldLock(){return!0}get shouldAppendToBody(){return!0}}customElements.define("x-modal",XModal);class LogoList extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this),{margin:"200px 0px 200px 0px"})}get childElement(){return this.firstElementChild}get speed(){return this.hasAttribute("data-speed")?parseInt(this.getAttribute("data-speed")):16}get maximum(){return this.hasAttribute("data-maximum")?parseInt(this.getAttribute("data-maximum")):Math.ceil(this.parentWidth/this.childElementWidth)+2}get direction(){return this.hasAttribute("data-direction")?this.getAttribute("data-direction"):"left"}get parentWidth(){return this.getWidth(this)}get childElementWidth(){return this.getWidth(this.childElement)}disconnectedCallback(){this.marquee&&(this.pause(),this.marquee.destroy())}init(){if(1===this.childElementCount){this.childElement.classList.add("animate");for(let t=0;t<this.maximum;t++)this.clone=this.childElement.cloneNode(!0),this.clone.setAttribute("aria-hidden",!0),this.appendChild(this.clone),this.clone.querySelectorAll(".media").forEach(t=>t.classList.remove("loading"));theme.config.isTouch?this.style.setProperty("--duration",`${33-this.speed}s`):(this.marquee=new Flickity(this,{prevNextButtons:!1,pageDots:!1,wrapAround:!0,freeScroll:!0,rightToLeft:"right"===this.direction}),this.marquee.x=0,this.play(),this.addEventListener("mouseenter",this.pause),this.addEventListener("mouseleave",this.play))}}play(){this.marquee.x-=.1*this.speed,this.marquee.settle(this.marquee.x),this.requestId=requestAnimationFrame(this.play.bind(this))}pause(){this.requestId&&(cancelAnimationFrame(this.requestId),this.requestId=void 0)}getWidth(t){let e=t.getBoundingClientRect();return e.right-e.left}}customElements.define("logo-list",LogoList);class TextScrolling extends HTMLElement{constructor(){super(),this.items.forEach(t=>{let e=t.querySelector(".heading");Motion.scroll(Motion.animate(e,{opacity:[0,0,1,1,1,0,0]}),{target:e,offsets:["33vh","66vh"]})})}get items(){return this._items=this._items||Array.from(this.children)}}customElements.define("text-scrolling",TextScrolling);class TabsElement extends HTMLElement{constructor(){super(),this.selectedIndex=this.selectedIndex,this.buttons.forEach((t,e)=>t.addEventListener("click",()=>this.selectedIndex=e)),Shopify.designMode&&this.addEventListener("shopify:block:select",t=>this.selectedIndex=this.buttons.indexOf(t.target))}static get observedAttributes(){return["selected-index"]}get selectedIndex(){return parseInt(this.getAttribute("selected-index"))||0}set selectedIndex(t){this.setAttribute("selected-index",Math.min(Math.max(t,0),this.buttons.length-1).toString())}get buttons(){return this._buttons=this._buttons||Array.from(this.querySelectorAll('button[role="tab"]'))}get indicators(){return this._indicators=this._indicators||Array.from(this.querySelectorAll(".indicators"))}load(){let t=this.buttons[parseInt(this.selectedIndex)],e=document.getElementById(t.getAttribute("aria-controls"));Motion.animate(e,{transform:["translateY(2rem)","translateY(0)"],opacity:[0,1]},{duration:theme.config.motionReduced?0:.15}).finished,e.querySelector("motion-list")?.load()}unload(){let t=this.buttons[parseInt(this.selectedIndex)],e=document.getElementById(t.getAttribute("aria-controls"));Motion.animate(e,{transform:["translateY(0)","translateY(2rem)"],opacity:[1,0]},{duration:theme.config.motionReduced?0:.15}).finished,e.querySelector("motion-list")?.unload()}attributeChangedCallback(t,e,i){if(this.buttons.forEach((t,e)=>{t.classList.toggle("button--primary",e===parseInt(i)),t.classList.toggle("button--secondary",e!==parseInt(i)),t.disabled=e===parseInt(i)}),this.indicators.forEach((t,e)=>{t.hidden=e!==parseInt(i),e===parseInt(i)&&t.querySelectorAll("button").forEach(t=>{t.unload(),t.load()})}),"selected-index"===t&&null!==e&&e!==i){let s=this.buttons[parseInt(e)],n=this.buttons[parseInt(i)];this.transition(document.getElementById(s.getAttribute("aria-controls")),document.getElementById(n.getAttribute("aria-controls")))}}async transition(t,e){t&&await Motion.animate(t,{transform:["translateY(0)","translateY(2rem)"],opacity:[1,0]},{duration:theme.config.motionReduced?0:.15}).finished,t.hidden=!0,e.hidden=!1,Motion.animate(e,{transform:["translateY(2rem)","translateY(0)"],opacity:[0,1]},{duration:theme.config.motionReduced?0:.15}).finished,e.querySelector("motion-list")?.load()}}customElements.define("tabs-element",TabsElement);class CountdownTimer extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this),{margin:"200px 0px 200px 0px"})}get date(){return this._date=this._date||new Date(this.getAttribute("data-expires"))}get isCompact(){return"true"===this.getAttribute("data-compact")||"mobile"===this.getAttribute("data-compact")&&theme.config.mqlSmall}init(){this.calculate(),this.timerInterval=setInterval(this.calculate.bind(this),1e3)}calculate(){let t=new Date,e=new Date(this.date),i=e-t;if(i<0){this.complete();return}let s=Math.floor(i/864e5*1),n=Math.floor(i%864e5/36e5*1),r=Math.floor(i%864e5%36e5/6e4*1),a=Math.floor(i%864e5%36e5%6e4/1e3*1);if(this.isCompact){let o=s>0?`<div class="countdown__item"><p>${s}${theme.dateStrings.d}</p></div>`:"",l=`<div class="countdown__item"><p>${n}${theme.dateStrings.h}</p></div>`,d=`<div class="countdown__item"><p>${r}${theme.dateStrings.m}</p></div>`,h=`<div class="countdown__item"><p>${a}${theme.dateStrings.s}</p></div>`;this.innerHTML=o+l+d+h}else{let c=s>0?`<div class="countdown__item"><p>${s}</p><span>${1===s?theme.dateStrings.day:theme.dateStrings.days}</span></div>`:"",u=`<div class="countdown__item"><p>${n}</p><span>${1===n?theme.dateStrings.hour:theme.dateStrings.hours}</span></div>`,p=`<div class="countdown__item"><p>${r}</p><span>${1===r?theme.dateStrings.minute:theme.dateStrings.minutes}</span></div>`,m=`<div class="countdown__item"><p>${a}</p><span>${1===a?theme.dateStrings.second:theme.dateStrings.seconds}</span></div>`;this.innerHTML=c+u+p+m}}complete(){this.timerInterval&&clearInterval(this.timerInterval),this.hidden=!0}}customElements.define("countdown-timer",CountdownTimer);class ImageComparison extends HTMLElement{constructor(){super(),Motion.inView(this,async()=>{await theme.utils.imageLoaded(this.media),this.init()})}get button(){return this.querySelector("button")}get bounding(){return this.getBoundingClientRect()}get horizontal(){return"horizontal"===this.getAttribute("data-layout")}get media(){return Array.from(this.querySelectorAll("img, svg"))}init(){this.active=!1,this.button.addEventListener("touchstart",this.startHandler.bind(this),!!theme.supportsPassive&&{passive:!1}),document.body.addEventListener("touchend",this.endHandler.bind(this),!!theme.supportsPassive&&{passive:!0}),document.body.addEventListener("touchmove",this.onHandler.bind(this),!!theme.supportsPassive&&{passive:!0}),this.button.addEventListener("mousedown",this.startHandler.bind(this)),document.body.addEventListener("mouseup",this.endHandler.bind(this)),document.body.addEventListener("mousemove",this.onHandler.bind(this)),setTimeout(()=>this.animate(),1e3)}animate(){this.setAttribute("animate",""),this.classList.add("animating"),setTimeout(()=>{this.classList.remove("animating")},1e3)}startHandler(t){t.preventDefault(),this.active=!0,this.classList.add("scrolling")}endHandler(){this.active=!1,this.classList.remove("scrolling")}onHandler(t){if(!this.active)return;let e=t.touches&&t.touches[0]||t,i=this.horizontal?e.pageX-(this.bounding.left+window.scrollX):e.pageY-(this.bounding.top+window.scrollY);this.scrollIt(i)}scrollIt(t){let e=this.horizontal?this.clientWidth:this.clientHeight;this.style.setProperty("--percent",100*Math.max(20,Math.min(t,e-20))/e+"%")}}customElements.define("image-comparison",ImageComparison);class LookbookElement extends HTMLElement{constructor(){super(),Motion.inView(this,async()=>{await theme.utils.imageLoaded(this.media),this.init()})}get media(){return Array.from(this.querySelectorAll("img, svg"))}get items(){return this._items=this._items||Array.from(this.querySelectorAll(".hotspot"))}
13init(){if(this.items.forEach(t=>t.addEventListener("mouseenter",t=>this.select(this.items.indexOf(t.target)))),Shopify.designMode){let t=this.closest(".shopify-section");t.addEventListener("shopify:section:select",this.animate.bind(this)),t.addEventListener("shopify:section:deselect",this.closeAll.bind(this)),this.addEventListener("shopify:block:select",t=>this.open(this.items.indexOf(t.target)))}setTimeout(()=>this.animate(),1e3)}animate(){this.openAll(),this.timer=setTimeout(()=>this.closeAll(),3e3)}open(t){this.items.forEach((e,i)=>e.classList.toggle("active",t===i))}openAll(){this.items.forEach(t=>t.classList.add("active"))}closeAll(){this.items.forEach(t=>t.classList.remove("active")),clearTimeout(this.timer)}select(t){this.items.forEach((e,i)=>e.setAttribute("aria-current",t===i?"true":"false")),this.dispatchEvent(new CustomEvent("lookbook:change",{bubbles:!0,detail:{index:t}}))}}customElements.define("lookbook-element",LookbookElement);class ShopTheLook extends HTMLElement{constructor(){super(),this.lookbook.addEventListener("lookbook:change",t=>this.carousel.select(t.detail.index)),this.carousel.addEventListener("carousel:change",t=>this.lookbook.select(t.detail.index))}get lookbook(){return this.querySelector("lookbook-element")}get carousel(){return this.querySelector("carousel-element")}}customElements.define("shop-the-look",ShopTheLook);class SpinningText extends HTMLElement{constructor(){super(),!theme.config.isTouch||Shopify.designMode?Motion.inView(this,this.init.bind(this),{margin:"600px 0px 600px 0px"}):new theme.initWhenVisible(this.init.bind(this))}get string(){let t=this.getAttribute("data-string");return"•"+(t=t.replace(/  +/g," ")).replace(/ +/g,"•")}init(){if(this.initialized)return;this.initialized=!0;let t=CSS.supports("(top: calc(sin(1) * 1px))"),e={TEXT:this.string,SIZE:2,SPACING:2},i=document.createElement("div"),s=e.TEXT,n=s.split("");this.style.setProperty("--char-count",n.length);for(let r=0;r<n.length;r++)i.innerHTML+=`<span aria-hidden="true" class="split-char" style="--char-index: ${r};">${n[r]}</span>`;i.innerHTML+=`<span class="sr-only">${e.TEXT}</span>`,i.classList="split-chars",this.style.setProperty("--font-size",e.SIZE),this.style.setProperty("--character-width",e.SPACING),this.style.setProperty("--radius",t?"calc((var(--character-width) / sin(var(--inner-angle))) * -1ch)":`calc(
14        (${e.SPACING} / ${Math.sin(360/this.children.length/(180/Math.PI))})
15        * -1ch
16      )`),this.appendChild(i)}}customElements.define("spinning-text",SpinningText);class SlideshowElement extends HTMLElement{constructor(){super(),this.selectedIndex=this.selectedIndex,!theme.config.isTouch||Shopify.designMode?Motion.inView(this,this.init.bind(this),{margin:"200px 0px 200px 0px"}):new theme.initWhenVisible(theme.utils.throttle(this.init.bind(this)))}static get observedAttributes(){return["selected-index"]}get selectedIndex(){return parseInt(this.getAttribute("selected-index"))||0}set selectedIndex(t){this.setAttribute("selected-index",Math.min(Math.max(t,0),this.items.length-1).toString())}get items(){return this._items=this._items||Array.from(this.children)}get autoplay(){return this.hasAttribute("autoplay")}get speed(){return this.hasAttribute("autoplay")?1e3*parseInt(this.getAttribute("autoplay-speed")):5e3}get adaptiveHeightProperty(){return!1}init(){if(this.initialized)return;this.initialized=!0;let t=this;if(this.items.length>1)this.slider=new Flickity(this,{accessibility:!1,pageDots:!1,prevNextButtons:!1,wrapAround:!0,rightToLeft:theme.config.rtl,autoPlay:!!this.autoplay&&this.speed,adaptiveHeightProperty:this.adaptiveHeightProperty,on:{ready:function(){let{selectedElement:e}=this;t.onReady(e)}}}),this.slider.on("change",this.onChange.bind(this)),this.addEventListener("slider:previous",()=>this.slider.previous()),this.addEventListener("slider:next",()=>this.slider.next()),this.addEventListener("slider:play",()=>this.slider.playPlayer()),this.addEventListener("slider:pause",()=>this.slider.pausePlayer()),Shopify.designMode&&this.addEventListener("shopify:block:select",t=>this.slider.select(this.items.indexOf(t.target)));else if(1===this.items.length){let e=this.firstChild;t.onReady(e)}}disconnectedCallback(){this.slider&&this.slider.destroy()}attributeChangedCallback(t,e,i){if("selected-index"===t&&null!==e&&e!==i){let s=this.items[parseInt(e)],n=this.items[parseInt(i)],r=n.querySelector("animate-element");
16if(r?.refresh(),"video"===s.getAttribute("data-type")){let a=theme.utils.visibleMedia(s.querySelectorAll("video-media"));a?.pause()}if("video"===n.getAttribute("data-type")){let o=theme.utils.visibleMedia(n.querySelectorAll("video-media"));o?.play()}}}onChange(){this.selectedIndex=this.slider.selectedIndex,this.dispatchEvent(new CustomEvent("slider:change",{bubbles:!0,detail:{currentPage:this.slider.selectedIndex}}))}select(t){this.slider.select(t)}onReady(t){if("video"===t.getAttribute("data-type")){let e=theme.utils.visibleMedia(t.querySelectorAll("video-media"));e?.play()}if(!theme.config.isTouch){let i=t.querySelector("animate-element");i?.refresh()}}}customElements.define("slideshow-element",SlideshowElement);class SlideshowHero extends SlideshowElement{constructor(){super(),window.addEventListener("scroll",theme.utils.throttle(this.onScrollHandler.bind(this)),!1)}get adaptiveHeightProperty(){return!0}get heroSection(){return this.closest(".hero-section")}get nextSection(){let t=this.heroSection.nextElementSibling;for(let e=0;e<20&&(!t.classList.contains("shopify-section")||t.classList.contains("header-section"));e++)t=t.nextElementSibling;return t&&1!=t.nodeType&&(t=document.getElementById("PageContainer")),t}onScrollHandler(){let t=this.nextSection.getBoundingClientRect();this.heroSection.classList.toggle("hero-scrolled",t.y<-30)}}customElements.define("slideshow-hero",SlideshowHero);class SlideshowWords extends HTMLElement{constructor(){super(),this.selectedIndex=this.selectedIndex,this.controlledElement&&this.controlledElement.addEventListener("slider:change",t=>this.selectedIndex=t.detail.currentPage)}static get observedAttributes(){return["selected-index"]}get selectedIndex(){return parseInt(this.getAttribute("selected-index"))||0}set selectedIndex(t){this.setAttribute("selected-index",Math.min(Math.max(t,0),this.items.length-1).toString())}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}get items(){return this._items=this._items||Array.from(this.children)}attributeChangedCallback(t,e,i){"selected-index"===t&&null!==e&&e!==i&&this.transition(this.items[parseInt(e)],this.items[parseInt(i)])}transition(t,e){let i=Array.from(t.querySelectorAll("animate-element")),s=Array.from(e.querySelectorAll("animate-element"));i.forEach(t=>t.reset()),setTimeout(()=>{this.items.forEach(t=>{t.setAttribute("aria-current",parseInt(t.getAttribute("data-index"))===parseInt(this.selectedIndex)?"true":"false")}),s.forEach(t=>t.refresh())},500+30*i.length)}}customElements.define("slideshow-words",SlideshowWords);class SlideshowParallax extends HTMLDivElement{constructor(){super(),this.load()}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}get mobileDisabled(){return!1}load(){!theme.config.motionReduced&&(this.mobileDisabled&&(theme.config.isTouch||theme.config.mqlSmall)||this.motion())}motion(){this.animation=Motion.scroll(Motion.animate(this,{transform:[`translateY(${this.getAttribute("data-start")})`,`translateY(${this.getAttribute("data-stop")})`]}),{target:this.controlledElement??document.body,offset:Motion.ScrollOffset.Exit})}}customElements.define("slideshow-parallax",SlideshowParallax,{extends:"div"});class ControlButton extends HTMLButtonElement{constructor(){super(),this.addEventListener("click",this.onClick)}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}get paused(){return this.hasAttribute("paused")}static get observedAttributes(){return["paused"]}attributeChangedCallback(t,e,i){if("paused"===t){if(null===e&&""===i)return(this.controlledElement??this).dispatchEvent(new CustomEvent("slider:pause",{bubbles:!0}));if(null===i)return(this.controlledElement??this).dispatchEvent(new CustomEvent("slider:play",{bubbles:!0}))}}onClick(){this.paused?this.removeAttribute("paused"):this.setAttribute("paused","")}}customElements.define("control-button",ControlButton,{extends:"button"});class QuickView extends XModal{constructor(){super()}
16get selector(){return".quick-view__content"}cartUpdateUnsubscriber=void 0;connectedCallback(){super.connectedCallback(),this.cartUpdateUnsubscriber=theme.pubsub.subscribe(theme.pubsub.PUB_SUB_EVENTS.cartUpdate,this.hide.bind(this))}disconnectedCallback(){super.disconnectedCallback(),this.cartUpdateUnsubscriber&&this.cartUpdateUnsubscriber()}beforeShow(){super.beforeShow(),this.quickview()}afterShow(){super.afterShow(),document.dispatchEvent(new CustomEvent("quickview:open",{detail:{productUrl:this.getAttribute("data-product-url")}}))}afterHide(){super.afterHide();let t=this.querySelector(this.selector);t.innerHTML=""}quickview(){let t=this.querySelector(this.selector),e=this.getAttribute("data-product-url").split("?")[0],i=`${e}?view=modal`;fetch(i).then(t=>t.text()).then(e=>{setTimeout(()=>{let i=new DOMParser().parseFromString(e,"text/html"),s=i.querySelector(this.selector);this.setInnerHTML(t,s.innerHTML),theme.a11y.trapFocus(this,this.focusElement),window.Shopify&&Shopify.PaymentButton&&Shopify.PaymentButton.init(),document.dispatchEvent(new CustomEvent("quickview:loaded",{detail:{productUrl:this.getAttribute("data-product-url")}}))},200)}).catch(t=>{console.error(t)})}setInnerHTML(t,e){t.innerHTML=e,t.querySelectorAll("script").forEach(t=>{let e=document.createElement("script");Array.from(t.attributes).forEach(t=>{e.setAttribute(t.name,t.value)}),e.appendChild(document.createTextNode(t.innerHTML)),t.parentNode.replaceChild(e,t)})}}customElements.define("quick-view",QuickView);class FiltersToggle extends HoverButton{constructor(){if(super(),this.addEventListener("click",this.onClick),theme.config.hasLocalStorage){let t=window.localStorage.getItem(`${theme.settings.themeName}:filters-toogle`)||"false";this.onToggle("true"===t)}}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}get expanded(){return"true"===this.getAttribute("aria-expanded")}onClick(){this.onToggle(this.expanded)}onToggle(t){this.setAttribute("aria-expanded",t?"false":"true"),this.controlledElement&&this.controlledElement.classList.toggle("xl:block",!t),theme.config.hasLocalStorage&&window.localStorage.setItem(`${theme.settings.themeName}:filters-toogle`,t)}}customElements.define("filters-toogle",FiltersToggle,{extends:"button"});class RevealBanner extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this),{margin:"600px 0px 600px 0px"})}init(){let t=this.querySelector(".reveal-banner__tracker");Motion.scroll(Motion.animate(this.querySelectorAll(".banner__media"),{clipPath:["inset(20% 35% 0% 35% round var(--rounded-block))","inset(0% 0%)"]},{easing:"linear"}),{target:t,offset:Motion.ScrollOffset.Enter});let e=this.querySelector(".reveal-banner__tracker2nd");e&&Motion.scroll(Motion.timeline([[this.querySelector(".banner__overlay"),{opacity:[0,1]},{easing:"linear"}],[this.querySelector(".banner__content"),{opacity:[0,1],visibility:["hidden","visible"],transform:["translateY(10%)","translateY(0)"]},{easing:"linear",at:"<"}],]),{target:e,offset:Motion.ScrollOffset.Enter})}}customElements.define("reveal-banner",RevealBanner);class TestimonialParallax extends ParallaxElement{constructor(){super()}get mobileDisabled(){return!0}}customElements.define("testimonial-parallax",TestimonialParallax,{extends:"div"});class SplittingBanner extends HTMLElement{constructor(){super(),Motion.inView(this,this.init.bind(this),{margin:"600px 0px 600px 0px"})}init(){let t=Splitting({target:this.querySelector(".splitting"),by:"chars",whitespace:!0}),e=this.querySelector(".splitting-wrapper"),i=this.querySelector(".reveal-banner__tracker");Motion.scroll(Motion.timeline([[t[0].chars,{opacity:[.3,1]},{delay:theme.config.motionReduced?0:Motion.stagger(.1)}]]),{target:i,offset:Motion.ScrollOffset.Enter}),Motion.scroll(Motion.animate(e,{opacity:theme.config.mqlSmall?[1,0,0]:[1,1,0]},{easing:"linear"}),{target:i,offset:Motion.ScrollOffset.Exit});let s=this.querySelector(".reveal-banner__tracker2nd");s&&Motion.scroll(Motion.animate(this.querySelector(".button-wrapper"),{opacity:[0,1,1],transform:["translateY(100%)","translateY(0)"]},{easing:"linear"}),{target:s,offset:Motion.ScrollOffset.Enter})}}customElements.define("splitting-banner",SplittingBanner);class ProductBundleInfo extends ProductInfo{constructor(){super()}
16get productForm(){return this.querySelector('form[is="product-bundle-form"]')}getSelectedVariant(t){let e=t.querySelector(`product-bundle-info[data-product-id="${this.productId}"] [data-selected-variant]`)?.textContent;return e?JSON.parse(e):null}}customElements.define("product-bundle-info",ProductBundleInfo);class ProductBundleForm extends HTMLFormElement{constructor(){super(),this.querySelector('[name="id"]').disabled=!1,this.addEventListener("submit",this.onSubmitHandler)}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}get submitButton(){return this._submitButton=this._submitButton||this.querySelector('[type="submit"]')}getSelectedVariant(){let t=this.querySelector("[data-selected-variant]")?.textContent;return t?JSON.parse(t):null}onSubmitHandler(t){if(t.preventDefault(),this.submitButton.hasAttribute("aria-disabled"))return;let e=this.closest(".product-card"),i=this.getSelectedVariant();i.default_featured_media=this.hasAttribute("data-product-image")?this.getAttribute("data-product-image"):"",this.submitButton.removeAttribute("aria-busy"),(this.controlledElement??this).dispatchEvent(new CustomEvent("bundle:added",{bubbles:!0,detail:{product:e,variant:i}}))}handleErrorMessage(){}toggleSubmitButton(t=!0,e){if(!this.submitButton)return;let i=this.submitButton.querySelector(".btn-text"),s=this.submitButton.querySelector(".btn-text>span");t?(this.submitButton.setAttribute("disabled",""),e&&((s||i).textContent=e)):(this.submitButton.removeAttribute("disabled"),(s||i).textContent=theme.variantStrings.addToBundle)}}customElements.define("product-bundle-form",ProductBundleForm,{extends:"form"});class ProductBundleRemoveButton extends HTMLElement{constructor(){super(),this.addEventListener("click",t=>{let e=t.target.closest("[data-product-bundle-variant]");(this.controlledElement??this).dispatchEvent(new CustomEvent("bundle:removed",{bubbles:!0,detail:{variant:e}}))})}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}}customElements.define("product-bundle-remove-button",ProductBundleRemoveButton);class ProductBundleToggleButton extends HTMLElement{constructor(){super(),this.addEventListener("click",()=>{this.controlledElement.classList.toggle("active")})}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}}customElements.define("product-bundle-toggle-button",ProductBundleToggleButton);class ProductBundle extends HTMLElement{constructor(){super(),this.template,this.bundleCount=0,this.addEventListener("bundle:added",this.onAddHandler.bind(this)),this.addEventListener("bundle:removed",this.onRemoveHandler.bind(this)),this.addEventListener("change",theme.utils.debounce(this.onChangeHandler.bind(this),300)),this.submitButton.addEventListener("click",this.onSubmitHandler.bind(this))}get bundleMin(){return this.hasAttribute("data-minimum")?parseInt(this.getAttribute("data-minimum")):3}get bundleMax(){let t=this.bundleMin,e=this.hasAttribute("data-maximum")?parseInt(this.getAttribute("data-maximum")):3;return e>t?e:t}get variants(){return Array.from(this.querySelectorAll("[data-product-bundle-variant]"))}get submitButton(){return this.querySelector("[data-product-bundle-submit]")}get cartDrawer(){return document.querySelector("cart-drawer")}get preventDuplicate(){return this.hasAttribute("data-prevent-duplicate")}get template(){return this._template=this._template||this.querySelector("[data-product-bundle-variant][available]").cloneNode(!0)}onChangeHandler(){this.updateTotal(),this.updateTotalWithCurrency(),this.updateProgressBar()}onSubmitHandler(t){let e=this.variants.every(t=>{let e=t.querySelector("quantity-input").input,i=parseInt(e.value),s="";return i<parseInt(e.getAttribute("data-min"))?s=theme.quickOrderListStrings.minError.replace("[min]",e.getAttribute("data-min")):i>parseInt(e.max)?s=theme.quickOrderListStrings.maxError.replace("[max]",e.max):i%parseInt(e.step)!=0&&(s=theme.quickOrderListStrings.stepError.replace("[step]",e.step)),!s||(e.setCustomValidity(s),e.reportValidity(),e.value=e.defaultValue,e.select(),!1)});if(!e)return;let i={items:this.variants.map(t=>({id:t.getAttribute("data-variant-id"),quantity:t.querySelector("quantity-input").value||1}))};if(document.body.classList.contains("template-cart")||"page"===theme.settings.cartType){theme.utils.postLink2(theme.routes.cart_add_url,{parameters:{...i}});return}if(t.preventDefault(),this.submitButton.hasAttribute("aria-disabled"))return;this.activeElement=t.submitter||t.currentTarget,this.handleErrorMessage();let s=[];document.documentElement.dispatchEvent(new CustomEvent("cart:bundled-sections",{bubbles:!0,detail:{sections:s}}));let n=JSON.stringify({...i,sections:s,sections_url:window.location.pathname});this.submitButton.setAttribute("aria-disabled","true"),this.submitButton.setAttribute("aria-busy","true"),fetch(`${theme.routes.cart_add_url}`,{...theme.utils.fetchConfig("javascript"),body:n}).then(t=>t.json()).then(async t=>
16{if(t.status){this.handleErrorMessage(t.description),document.dispatchEvent(new CustomEvent("ajaxProduct:error",{detail:{errorMessage:t.description}}));let e=this.submitButton.querySelector(".btn-text>span");if(!e||!e.hasAttribute("data-sold-out"))return;e.innerText=e.getAttribute("data-sold-out"),this.submitButton.setAttribute("aria-disabled","true"),this.error=!0;return}let i=await (await fetch(theme.routes.cart_url,{...theme.utils.fetchConfig("json","GET")})).json();i.sections=t.sections,theme.pubsub.publish(theme.pubsub.PUB_SUB_EVENTS.cartUpdate,{source:"product-bundle",cart:i}),document.dispatchEvent(new CustomEvent("ajaxProduct:added",{detail:{product:t}})),this.cartDrawer?.show(this.activeElement),this.resetVariants()}).catch(t=>{console.log(t)}).finally(()=>{this.submitButton.removeAttribute("aria-busy"),this.error||this.submitButton.removeAttribute("aria-disabled")})}handleErrorMessage(t=!1){!this.hideErrors&&(this.errorMessage=this.errorMessage||this.querySelector(".product-form__error-message"),this.errorMessage&&(this.errorMessage.toggleAttribute("hidden",!t),this.errorMessage.innerText=t))}onAddHandler(t){this.addVariant(t.detail.product,t.detail.variant),this.updateTotal(),this.updateTotalWithCurrency(),this.updateProgressBar()}onRemoveHandler(t){this.clearVariant(t.detail.variant),this.reorderVariants(),this.updateTotal(),this.updateTotalWithCurrency(),this.updateProgressBar()}updateTotal(){let t=0;
16this.variants.forEach(e=>{if(!e.hasAttribute("available")){let i=e.querySelector("[data-product-bundle-variant-price]"),s=e.querySelector("quantity-input");t+=parseInt(i.getAttribute("data-price"))*parseInt(s.value)}});let e=this.querySelector("[data-product-bundle-total]");e.innerHTML=theme.Currency.formatMoney(t,theme.settings.moneyFormat)}updateTotalWithCurrency(){let t=0;this.variants.forEach(e=>{if(!e.hasAttribute("available")){let i=e.querySelector("[data-product-bundle-variant-price]"),s=e.querySelector("quantity-input");t+=parseInt(i.getAttribute("data-price"))*parseInt(s.value)}});let e=this.querySelector("[data-product-bundle-total-with-currency]");e.innerHTML=theme.Currency.formatMoney(t,theme.settings.moneyWithCurrencyFormat)}updateProgressBar(){let t=100*this.bundleCount/this.bundleMin,e=this.querySelector("[data-product-bundle-progress-bar]");e.style.setProperty("--progress",`${t}%`)}addVariant(t,e){this.bundleCount++,this.bundleCount>=this.bundleMin&&(this.submitButton.disabled=!1),this.bundleCount>=this.bundleMax&&this.closest(".product-bundle-wrapper").setAttribute("locked","");let i=this.getAvailableAvriant();if(null===i&&((i=this.template.cloneNode(!0)).style.order=this.bundleCount,this.querySelector(".product-bundle__body").appendChild(i)),i){let s=e.featured_media?e.featured_media.preview_image.src:e.default_featured_media,n=i.querySelector("[data-product-bundle-variant-media]");s.length>0&&(n.innerHTML=`<img src="${this.getResizedImageSrc(s,180)}" srcset="${this.getResizedImageSrc(s,180)} 180w, ${this.getResizedImageSrc(s,360)} 360w, ${this.getResizedImageSrc(s,540)} 540w" loading="lazy" is="lazy-image" />`);let r=i.querySelector("[data-product-bundle-variant-content]");r.innerHTML=`
17        <div class="flex flex-col gap-1">
18          <p class="horizontal-product__title font-medium text-base leading-tight">${t.querySelector("[data-product-bundle-title]").textContent}</p>
19          ${e.options.length>0?`
20            <ul class="grid gap-1d5">
21              ${e.options.map(t=>`<li class="text-xs text-opacity leading-tight">${t}</li>`).join("")}
22            </ul>
23          `:""}
24        </div>
25        <div class="price text-sm flex flex-wrap gap-1d5" data-price="${e.price}" data-product-bundle-variant-price>
26          ${theme.Currency.formatMoney(e.price,theme.settings.moneyFormat)}
27        </div>`,i.product=t,i.setAttribute("data-variant-id",e.id),i.removeAttribute("available"),this.preventDuplicate&&t.setAttribute("locked","")}}clearVariant(t){this.preventDuplicate&&t.product.removeAttribute("locked"),t.setAttribute("available",""),t.removeAttribute("data-variant-id"),t.querySelector("[data-product-bundle-variant-media]").innerHTML="",t.querySelector("[data-product-bundle-variant-media]").classList.remove("loading"),t.querySelector("[data-product-bundle-variant-content]").innerHTML='<span class="horizontal-product__skeleton"></span><span class="horizontal-product__skeleton"></span>',t.querySelector("quantity-input").reset(),this.bundleCount--,this.bundleCount<this.bundleMin?this.submitButton.disabled=!0:t.remove(),this.bundleCount<this.bundleMax&&this.closest(".product-bundle-wrapper").removeAttribute("locked")}reorderVariants(){let t=0,e=-1*Math.max(this.bundleMin,this.bundleCount);
27this.variants.forEach(i=>{i.style.order=i.hasAttribute("available")?t++:e++})}resetVariants(){this.variants.forEach(t=>{this.clearVariant(t)}),this.reorderVariants(),this.updateTotal(),this.updateTotalWithCurrency(),this.updateProgressBar()}getAvailableAvriant(){return this.querySelector("[data-product-bundle-variant][available]")}getResizedImageSrc(t,e,i="center"){return`${t}${t.includes("?")?"&":"?"}width=${e}&height=${e}&crop=${i}`.replace(/\n|\r|\s/g,"")}}customElements.define("product-bundle",ProductBundle);class NumberCounter extends HTMLElement{constructor(){if(super(),theme.config.motionReduced)return;!theme.config.isTouch||Shopify.designMode?Motion.inView(this,this.init.bind(this),{margin:"200px 0px 200px 0px"}):new theme.initWhenVisible(this.init.bind(this))}init(){if(this.initialized)return;this.initialized=!0;let t=this.textContent.trim().match(/\d+(?:[,. ]\d+)*/),e=t[0].replace(/[,\. ]+/,"");Motion.animate(i=>{let s=Math.round(i*parseInt(e)).toString();this.textContent=1===i?t[0]:s},{duration:parseFloat(this.getAttribute("data-duration")),easing:[.16,1,.3,1]})}}customElements.define("number-counter",NumberCounter);class ScrollingBanner extends HTMLElement{constructor(){super(),!theme.config.isTouch||Shopify.designMode?Motion.inView(this,this.init.bind(this),{margin:"600px 0px 600px 0px"}):new theme.initWhenVisible(this.init.bind(this))}get media(){return this._media=this._media||Array.from(this.querySelectorAll(".image-with-text__image>.media"))}get stickyElement(){return this.querySelector("sticky-element")}init(){if(this.initialized)return;this.initialized=!0,this.detectScrollListener=theme.utils.throttle(this.onScrollHandler.bind(this));let t=window.matchMedia("screen and (min-width: 1024px)");t.matches&&this.load(),t.onchange=t=>{t.matches?this.load():this.unload()}}setMediaHeight(){let t=0;this.media.forEach(e=>{t+=e.getBoundingClientRect().height}),this.style.setProperty("--scrolling-height",`${t}px`)}onScrollHandler(){let t=window.scrollY,e=this.getBoundingClientRect().top-parseFloat(this.stickyElement.inset);this.media.forEach((t,i)=>{let s=t.getBoundingClientRect().height;if(0!==i&&e<0){let n=s*(i-1);if(Math.abs(e)>n){let r=100-Math.floor((Math.abs(e)-n)/s*100);r>95&&(r=100),r<5&&(r=0),t.style.clipPath=`polygon(0 ${r}%, 100% ${r}%, 100% 100%, 0 100%)`;let a=t.hasAttribute("aria-controls")?document.getElementById(t.getAttribute("aria-controls")):null;a&&(100===r&&a.classList.add("opacity-0","pointer-events-none"),0===r&&a.classList.remove("opacity-0","pointer-events-none"))}else t.style.clipPath=""}}),this.currentScrollTop=t}load(){this.setMediaHeight(),window.addEventListener("scroll",this.detectScrollListener,!1)}unload(){window.removeEventListener("scroll",this.detectScrollListener),this.style.removeProperty("--scrolling-height"),this.media.forEach(t=>{t.style.clipPath=""})}}customElements.define("scrolling-banner",ScrollingBanner);class SecondaryVideo extends HTMLDivElement{constructor(){if(super(),theme.config.motionReduced||theme.config.isTouch)return;this.videoMedia&&(this.addEventListener("mouseenter",this.onEnterHandler),this.addEventListener("mouseleave",this.onLeaveHandler))}get videoMedia(){return this.querySelector("video-media")}onEnterHandler(){this.videoMedia?.play()}onLeaveHandler(){this.videoMedia?.pause()}}customElements.define("secondary-video",SecondaryVideo,{extends:"div"});class SocialFeed extends XModal{constructor(){super()}get shouldCloseAll(){return!0}get lookbook(){return this.querySelector("lookbook-element")}beforeShow(){super.beforeShow(),this.lookbook.closeAll()}async afterShow(){super.afterShow(),Motion.inView(this.lookbook,async()=>{await theme.utils.imageLoaded(this.lookbook.media),this.lookbook.animate()})}}customElements.define("social-feed",SocialFeed);class SocialFeedButton extends APIButton{constructor(){super(),this.addEventListener("click",this.onButtonClick)}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}onButtonClick(){this.controlledElement&&this.controlledElement.show()}}customElements.define("social-feed-button",SocialFeedButton,{extends:"button"});class IconsCarousel extends HTMLDivElement{constructor(){super(),this.onEnterListener=this.onEnterHandler.bind(this),this.onLeaveListener=this.onLeaveHandler.bind(this)}connectedCallback(){theme.config.isTouch||(this.addEventListener("mouseenter",this.onEnterListener),this.addEventListener("mouseleave",this.onLeaveListener))}disconnectedCallback(){theme.config.isTouch||(this.removeEventListener("mouseenter",this.onEnterListener),this.removeEventListener("mouseleave",this.onLeaveListener))}onEnterHandler(){this.scrollTo({left:this.scrollWidth,behavior:theme.config.motionReduced?"auto":"smooth"})}onLeaveHandler(){this.scrollTo({left:0,behavior:theme.config.motionReduced?"auto":"smooth"})}}customElements.define("icons-carousel",IconsCarousel,{extends:"div"});
28
29
30

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.