1const body=document.querySelector("body"),main=document.querySelector("main"),windowDynamicEvents=["scroll","resize"],DeviceDetector={getUserAgent:()=>navigator.userAgent.toLowerCase(),isMobile(){const e=this.getUserAgent();return/android|webos|iphone|ipod|blackberry|iemobile|opera mini/i.test(e)||window.innerWidth<=750},isTablet(){const e=this.getUserAgent();return/ipad|android(?!.*mobile)|tablet|kindle|playbook|silk/i.test(e)||window.innerWidth>750&&window.innerWidth<=990&&"ontouchstart"in window},isDesktop(){return!this.isMobile()&&!this.isTablet()},isIOS(){const e=this.getUserAgent();return/iphone|ipad|ipod/i.test(e)}},sectionsOfHeaderGroup=Array.from(document.querySelectorAll(".shopify-section-group-header-group")).filter(e=>!e.classList.contains("section-header")),headerElement=document.querySelector("#header, #shopify-section-main-password-header");headerElement&§ionsOfHeaderGroup.push(headerElement);let header=document.querySelector("#header, #shopify-section-main-password-header"),announcementBar=document.querySelector(".js-announcement-bar"),heroBanner=document.querySelector(".hero-banner");const isHeaderSticky=header?.classList.contains("is-sticky"),sectionsOfAnnouncementBar=document.querySelectorAll(".section-announcement-bar");if(sectionsOfAnnouncementBar){const e=(e,t)=>{document.documentElement.style.setProperty(e,t)};function calcSectionHeights(e){return{visibleHeight:Math.max(0,Math.min(e.offsetHeight,window.innerHeight-e.getBoundingClientRect().top,e.getBoundingClientRect().bottom)),height:e.getBoundingClientRect().height}}function updateVisibleHeightsOfAnnouncementBars(){let t=0,s=0;sectionsOfAnnouncementBar.forEach(e=>{const{height:o,visibleHeight:n}=calcSectionHeights(e);s+=o,t+=n}),e("--announcement-bars-before-header-heights",`${parseFloat(s)}px`),e("--announcement-bars-before-header-visible-heights",`${parseFloat(t)}px`)}updateVisibleHeightsOfAnnouncementBars(),window.addEventListener("scroll",updateVisibleHeightsOfAnnouncementBars),window.addEventListener("resize",updateVisibleHeightsOfAnnouncementBars)}let productMedia=document.querySelector(".main-product__media"),productMediaSwiper=document.querySelector(".main-product__media .swiper--product-gallery"),productCardMedia=document.querySelector(".product-card__media"),productCardCollections=document.querySelector(".product-card");function getCoordinates(e){const t=e.getBoundingClientRect();return{top:t.top+window.scrollY,right:t.right+window.scrollX,bottom:t.bottom+window.scrollY,left:t.left+window.scrollX}}function setCustomProperty(e,t){document.documentElement.style.setProperty(e,t)}function setRootCustomProperties(){const e=(e,t)=>{document.documentElement.style.setProperty(e,t)};if(sectionsOfHeaderGroup.length>0){const e=Array.from(sectionsOfHeaderGroup).reduce((e,t)=>e+t.offsetHeight,0);document.documentElement.style.setProperty("--header-group-height",e-1+"px")}let t=0;header&&isHeaderSticky&&(t=header.getBoundingClientRect().height.toFixed(2)),e("--header-height",`${parseFloat(t)}px`);let s=document.querySelector(".cart-drawer__body");function o(){if(productMedia&&body.classList.contains("template--product")){let t=0;const s=getCoordinates(main).top,o=getCoordinates(productMedia).top,n=document.querySelector(".product__topbar-nav");let i=0;n&&(i=n.offsetHeight),t=window.innerHeight-Math.round(s)-2*Math.round(o-s)+Math.round(i),Array.prototype.indexOf.call(main.children,document.querySelector("main section.main-product"))>0&&(t=window.innerHeight-Math.round(s)-2*Math.round(o-s)+Math.round(i)),t=Math.round(t-24),e("--product-media-area-height",t+"px")}}function n(){const t=document.querySelector(".main-product__media--slider-wrapper");t&&e("--product-media-area-swiper-height",`${parseInt(t.offsetHeight)}px`)}s&&(e("--cart-drawer-body-width",`${parseFloat(s.offsetWidth)}px`),e("--cart-drawer-body-height",`${parseFloat(s.offsetHeight)}px`)),productMedia&&e("--product-media-area-width",`${parseFloat(productMedia.offsetWidth)}px`),document.addEventListener("DOMContentLoaded",o),window.addEventListener("resize",o),document.addEventListener("DOMContentLoaded",n),window.addEventListener("resize",n),productMedia&&new MutationObserver(()=>{o(),n()}).observe(productMedia,{childList:!0,subtree:!0}),Shopify.designMode&&window.addEventListener("shopify:section:load",n),heroBanner&&(e("--hero-banner-top",`${parseFloat(getCoordinates(heroBanner).top)}px`),e("--hero-banner-bottom",`${parseFloat(getCoordinates(heroBanner).bottom)}px`));const i=document.querySelector(".js-article-hero-media"),r=document.querySelector(".js-article-content");
1if(i||r){let t=0,s=0,o=parseInt(header?.getBoundingClientRect().bottom||0);i?(t=parseInt(i.getBoundingClientRect().top),s=parseInt(i.getBoundingClientRect().right)):(t=parseInt(r.getBoundingClientRect().y),s=parseInt(r.getBoundingClientRect().right)),t<0+o&&(t=o),e("--social-share-sticky-top",`${t}px`),e("--social-share-sticky-start",`${s}px`)}if(heroBanner){let t=heroBanner.querySelectorAll(".hero__inner");if(t.length>0){let s=t[0].getAttribute("data-header-menu-text-color");s&&e("--transparent-header-menu-text-color",`${s}`)}}else e("--transparent-header-menu-text-color","var(--color-background)");productCardMedia&&e("--product-card-media-height",`${parseInt(productCardMedia.offsetHeight)}px`)}function scrollPositionY(){setCustomProperty("--window-scroll-y-position",window.scrollY),0===window.scrollY?(document.body.classList.add("is-at-top"),document.body.classList.remove("is-scrolled")):(document.body.classList.add("is-scrolled"),document.body.classList.remove("is-at-top"))}document.addEventListener("DOMContentLoaded",function(){function e(e){e&&e.hasAttribute("loading")&&setTimeout(()=>{e.removeAttribute("loading"),e.classList.remove("lazy")},100)}document.querySelectorAll('img[loading="lazy"]:not(.animation-none)').forEach(t=>{t.classList.add("lazy"),t.addEventListener("load",function(){e(t)}),t.complete&&e(t)}),new MutationObserver(function(t,s){for(const s of t)"childList"===s.type&&s.addedNodes.length>0&&s.addedNodes.forEach(t=>{t instanceof HTMLElement&&t.querySelector('img[loading="lazy"]')&&t.querySelectorAll('img[loading="lazy"]').forEach(t=>{e(t)})})}).observe(document.querySelector("body"),{childList:!0,subtree:!0})}),document.querySelectorAll(".hero__inner > .media > video > img").forEach(function(e){e.setAttribute("loading","lazy"),e.setAttribute("alt","Video Cover")}),document.querySelectorAll(".lazyload").forEach(function(e){e.setAttribute("loading","lazy")}),windowDynamicEvents.forEach(e=>{window.addEventListener(e,()=>{setRootCustomProperties()})}),setRootCustomProperties(),Shopify.designMode&&(window.addEventListener("shopify:section:load",setRootCustomProperties),window.addEventListener("shopify:section:select",setRootCustomProperties)),window.addEventListener("shopify:section:load",function(){header=document.querySelector("#header, #shopify-section-main-password-header header"),announcementBar=document.querySelector(".js-announcement-bar"),productCardMedia=document.querySelector(".product-card__media")}),scrollPositionY(),window.addEventListener("scroll",scrollPositionY);const bodyScroll={lock(e){bodyScrollLock.disableBodyScroll(e)},unlock(e){bodyScrollLock.enableBodyScroll(e)},clear(){bodyScrollLock.clearAllBodyScrollLocks()}},onKeyUpEscape=e=>{if("ESCAPE"!==e.code.toUpperCase())return;const t=e.target.closest("details[open]");if(!t)return;const s=t.querySelector("summary");t.removeAttribute("open"),s.setAttribute("aria-expanded",!1),s.focus({preventScroll:!0})},getFocusableElements=e=>Array.from(e.querySelectorAll('summary, a[href], button:enabled, [tabindex]:not([tabindex^="-"]), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe'));document.querySelectorAll('[id^="Details-"] summary').forEach(e=>{e.setAttribute("role","button"),e.setAttribute("aria-expanded",e.parentNode.hasAttribute("open")),e.nextElementSibling.getAttribute("id")&&e.setAttribute("aria-controls",e.nextElementSibling.id),e.addEventListener("click",e=>{e.currentTarget.setAttribute("aria-expanded",!e.currentTarget.closest("details").hasAttribute("open"))}),e.closest("header-drawer")||e.parentElement.addEventListener("keyup",onKeyUpEscape)});const trapFocusHandlers={},removeTrapFocus=(e=null)=>{document.removeEventListener("focusin",trapFocusHandlers.focusin),document.removeEventListener("focusout",trapFocusHandlers.focusout),document.removeEventListener("keydown",trapFocusHandlers.keydown),e&&e.focus({preventScroll:!0})},trapFocus=(e,t=e)=>{var s=getFocusableElements(e),o=s[0],n=s[s.length-1];removeTrapFocus(),trapFocusHandlers.focusin=t=>{t.target!==e&&t.target!==n&&t.target!==o||document.addEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.focusout=function(){document.removeEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.keydown=function(t){"TAB"===t.code.toUpperCase()&&(t.target!==n||t.shiftKey||(t.preventDefault(),o.focus()),t.target!==e&&t.target!==o||!t.shiftKey||(t.preventDefault(),n.focus()))},document.addEventListener("focusout",trapFocusHandlers.focusout),document.addEventListener("focusin",trapFocusHandlers.focusin),t.focus()},serializeForm=e=>{const t={},s=new FormData(e);for(const e of s.keys())t[e]=s.get(e);return JSON.stringify(t)},deepClone=e=>JSON.parse(JSON.stringify(e)),handleize=e=>e.replace(/[ /_]/g,"-").toLowerCase(),decode=e=>decodeURIComponent(e).replace(/\+/g," "),getOffsetTop=e=>{let t=0;do{isNaN(e.offsetTop)||(t+=e.offsetTop)}while(e=e.offsetParent);return t};class MenuDrawer extends HTMLElement{constructor(){super(),this.details=this.querySelector("details"),this.summary=this.querySelector("summary"),this.drawer=this.querySelector(".js-drawer"),this.btnsCloseDrawer=this.querySelectorAll(".js-btn-close-drawer"),this.btnsCloseDrawer=[...this.btnsCloseDrawer].filter(e=>
1this.drawer===e.closest(".js-drawer")),this.elementToFocus=this.querySelector(".js-drawer-focus-element")||this.btnsCloseDrawer[0],this.toggleButtons=[this.summary,...this.btnsCloseDrawer],this.isParentDrawerOpen=!1,this.predictiveSearch=this.querySelector("predictive-search"),this.HeaderDrawer=document.querySelector("header-drawer"),this.setInitialAccessibilityAttr(),this.toggleButtons.forEach(e=>{e.addEventListener("click",e=>{e.preventDefault(),this.toggleDrawer()})}),this.addEventListener("keydown",e=>{const t="Escape"===e.key,s=this.details.classList.contains("menu-opening"),o=this.details.querySelector("details[open]");t&&!o&&s&&(this.predictiveSearch&&this.predictiveSearch.input==document.activeElement||this.toggleDrawer())}),this.toggleTrapFocus()}toggleDrawer(){const e=this.details.hasAttribute("open"),t=document.getElementById("header");if(e){this.details.classList.remove("menu-opening"),this.toggleButtons.forEach(e=>{e.classList.remove("menu-is-open"),e.setAttribute("aria-expanded",!1)});const e=document.getElementById("header"),t=e?e.querySelector("#Navigation-drawer-header"):null;t&&t.classList.contains("menu-opening")?body.style.overflow="hidden":(body.style.overflow="",body.style.top="",body.style.width="",body.classList.remove("drawer--is-open")),this.isParentDrawerOpen&&(this.parentDrawer.style.overflow=""),setTimeout(()=>{this.details.removeAttribute("open")},500)}else{this.details.setAttribute("open",""),this.toggleButtons.forEach(e=>{e.classList.add("menu-is-open"),e.setAttribute("aria-expanded",!0)}),this.details.classList.add("menu-opening"),t.classList.add("menu-open"),"hidden"===body.style.overflow?(this.parentDrawer=this.closest(".js-drawer"),this.parentDrawer&&(this.isParentDrawerOpen=!0)):(body.style.overflow="hidden",body.classList.add("drawer--is-open"),body.style.width="100%");var s=this.querySelector("#search-desktop");s&&(s.focus(),t&&t.classList.remove("menu-open"))}const o=e=>{e.target===this.drawer&&"visibility"===e.propertyName&&(this.details.classList.remove("drawer-transitioning"),this.elementToFocus&&this.elementToFocus.focus({preventScroll:!0}),this.details.hasAttribute("open")||(this.toggleButtons.forEach(e=>{e.setAttribute("aria-expanded",!1)}),this.summary.focus({preventScroll:!0})),this.isParentDrawerOpen?(this.parentDrawer.style.overflow="",document.body.style.overflow=""):document.body.style.overflow="hidden",e.target.removeEventListener("transitionend",o))};this.drawer.addEventListener("transitionstart",e=>{this.details.classList.add("drawer-transitioning")},{once:!0}),this.drawer.addEventListener("transitionend",o)}closeAllOtherDrawers(){document.querySelectorAll(".js-drawer").forEach(e=>{const t=e.closest("details");t&&t!==this.details&&(t.removeAttribute("open"),e.style.overflow="")}),document.body.style.overflow=""}instantlyHideDrawer(){this.toggleButtons.forEach(e=>{e.setAttribute("aria-expanded",!1)}),this.details.classList.remove("menu-opening"),this.details.removeAttribute("open"),body.style.overflow=""}toggleTrapFocus(e=this.drawer){let t=!1;document.addEventListener("focusin",s=>{if(t)return;if(t=!0,!this.details.classList.contains("menu-opening"))return void(t=!1);const o=s.target.closest("details.menu-opening .js-drawer"),n=this.details.querySelector("details.menu-opening");if(o===this.drawer||n)return void(t=!1);s.preventDefault();const i=getFocusableElements(e),r=e.compareDocumentPosition(s.target),a=i.filter(e=>{if("none"===getComputedStyle(e).display)return;const t="SUMMARY"===e.tagName,s=e.closest("details"),o=s.parentElement.closest("details"),n=s.querySelector(".js-drawer");return(n?n===this.drawer:s===this.details)||t&&o.hasAttribute("open")}),c=a[0],l=a[a.length-1];r>=4?c.focus({preventScroll:!0}):l.focus({preventScroll:!0}),t=!1})}setInitialAccessibilityAttr(){const e=this.details.hasAttribute("open");this.summary.setAttribute("role","button"),this.summary.setAttribute("aria-controls",this.drawer.id),this.summary.setAttribute("aria-expanded",e)}}customElements.define("menu-drawer",MenuDrawer);class HeaderDrawer extends MenuDrawer{constructor(){super(),window.addEventListener("resize",e=>
1{if(!this.classList.contains("mobile-drawer"))return;const t=this.details.classList.contains("menu-opening");!DeviceDetector.isMobile()&&t&&this.instantlyHideDrawer()})}instantlyHideDrawer(){super.instantlyHideDrawer()}toggleDrawer(){const e=this.querySelector(".drawer__button");e.classList.contains("menu-is-open")?(header.classList.remove("menu-open"),e.classList.remove("menu-is-open"),body.style.removeProperty("position"),window.scrollTo(0,this.scrollTopValue)):(this.scrollTopValue=window.scrollY,header.classList.add("menu-open"),e.classList.add("menu-is-open")),super.toggleDrawer(),this.querySelectorAll(".drawer__menu-item").forEach(e=>{e.classList.toggle("is--visible")}),this.querySelectorAll(".drawer__subnav-item").forEach(e=>{e.classList.toggle("is--visible")})}toggleTrapFocus(){super.toggleTrapFocus(this.details)}}customElements.define("header-drawer",HeaderDrawer);class DesktopDrawer extends MenuDrawer{constructor(){super(),window.addEventListener("resize",e=>{const t=this.details.classList.contains("menu-opening");DeviceDetector.isMobile()&&t&&this.instantlyHideDrawer()})}}customElements.define("desktop-drawer",DesktopDrawer);class SearchDrawer extends MenuDrawer{constructor(){super(),window.addEventListener("resize",e=>{this.details.classList.contains("menu-opening")}),this.btn=this.querySelector(".drawer__button"),this.btn.addEventListener("click",()=>{const e=document.querySelector("header-drawer details");e&&(e.removeAttribute("open"),e.classList.remove("menu-opening"))})}}customElements.define("search-drawer",SearchDrawer);class CountryDrawer extends MenuDrawer{constructor(){super()}connectedCallback(){const e=document.querySelectorAll('[id^="country-drawer-button"]');e&&e.forEach(e=>{e.addEventListener("click",e=>{e.preventDefault(),this.toggleDrawer()})})}}function pauseAllMedia(){document.querySelectorAll(".js-youtube").forEach(e=>{e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),document.querySelectorAll(".js-vimeo").forEach(e=>{e.contentWindow.postMessage('{"method":"pause"}',"*")}),document.querySelectorAll("video").forEach(e=>e.pause()),document.querySelectorAll("product-model").forEach(e=>{e.modelViewerUI&&e.modelViewerUI.pause()})}function unpauseAllMedia(){document.querySelectorAll(".js-youtube").forEach(e=>{e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}),document.querySelectorAll(".js-vimeo").forEach(e=>{e.contentWindow.postMessage('{"method":"play"}',"*")}),document.querySelectorAll("video").forEach(e=>{let t=e.play();void 0!==t&&t.then(e=>{}).catch(t=>{e.play()})}),document.querySelectorAll("product-model").forEach(e=>{e.modelViewerUI&&e.modelViewerUI.play()})}customElements.define("country-drawer",CountryDrawer);const debounce=(e,t)=>{let s;return(...o)=>{clearTimeout(s),s=setTimeout(()=>e.apply(this,o),t)}},fetchConfig=(e="json")=>({method:"POST",headers:{"Content-Type":`application/${e}`,Accept:`application/${e}`}});class QuantityInput extends HTMLElement{constructor(){super(),this.input=this.querySelector("input"),this.changeEvent=ne
1w Event("change",{bubbles:!0}),this.querySelectorAll("button").forEach(e=>e.addEventListener("click",this.onButtonClick.bind(this)))}onButtonClick(e){e.preventDefault();const t=e.target.name?e.target:e.target.closest("button"),s=this.input.value;"increment"===t.name?this.input.stepUp():this.input.stepDown(),s!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}}customElements.define("quantity-input",QuantityInput);class ModalOpener extends HTMLElement{constructor(){super();const e=this.querySelector("button");e&&e.addEventListener("click",()=>{const t=document.querySelector(this.getAttribute("data-modal"));t&&t.show(e)})}}customElements.define("modal-opener",ModalOpener);class ModalDialog extends HTMLElement{constructor(){super(),this.dialogHolder=this.querySelector('[role="dialog"]'),this.querySelector('[id^="ModalClose-"]').addEventListener("click",this.hide.bind(this,!1)),this.addEventListener("keyup",e=>{"ESCAPE"!==e.code?.toUpperCase()||e.target.closest("age-verification-popup")||this.hide()}),this.addEventListener("click",e=>{e.target!==this||e.target.closest("age-verification-popup")||this.hide()}),this.dialogHolder.addEventListener("click",e=>{e.stopPropagation()})}connectedCallback(){this.moved||(this.moved=!0,document.body.appendChild(this))}show(e){this.openedBy=e,bodyScroll.lock(this.dialogHolder),this.setAttribute("open",""),trapFocus(this,this.dialogHolder),window.pauseAllMedia()}hide(){bodyScroll.unlock(this.dialogHolder),document.body.dispatchEvent(new CustomEvent("modalClosed")),this.removeAttribute("open"),removeTrapFocus(this.openedBy),window.unpauseAllMedia()}}function isIOS(){return/iPad|iPhone|iPod|iPad Simulator|iPhone Simulator|iPod Simulator/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1}customElements.define("modal-dialog",ModalDialog);class DeferredMedia extends HTMLElement{constructor(){super();const e=this.querySelector('[id^="Deferred-Poster-"]');e&&e.addEventListener("click",this.loadContent.bind(this))}loadContent(e=!0){if(!this.getAttribute("loaded")){const t=document.createElement("div");t.appendChild(this.querySelector("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0);const s=this.appendChild(t.querySelector("video, model-viewer, iframe"));isIOS()&&(s.controls=!0),s.play&&s.play(),e&&s.focus()}}}customElements.define("deferred-media",DeferredMedia);class ThemeDropdown extends HTMLElement{constructor(){super(),this.button=this.querySelector(".dropdown-button"),this.content=this.querySelector(".dropdown-content"),this.direction=this.dataset.direction||"down",this.closeOnClick="false"!==this.dataset.closeOnClick,this.closeOnOutsideClick="false"!==this.dataset.closeOnOutsideClick,this.closeOnEscape="false"!==this.dataset.closeOnEscape,this.toggle=this.toggle.bind(this),this.handleContentClick=this.handleContentClick.bind(this),this.handleOutsideClick=this.handleOutsideClick.bind(this),this.handleKeydown=this.handleKeydown.bind(this);const e=this.querySelector("li.is-active");if(e&&this.button){const t=this.button.querySelector("span");t&&(t.textContent=e.textContent.trim())}}connectedCallback(){this.button&&this.content&&(this.button.addEventListener("click",this.toggle),this.closeOnClick&&this.content.addEventListener("click",this.handleContentClick),this.closeOnOutsideClick&&document.addEventListener("click",this.handleOutsideClick),this.closeOnEscape&&document.addEventListener("keydown",this.handleKeydown))}disconnectedCallback(){this.button&&this.button.removeEventListener("click",this.toggle),this.content&&this.closeOnClick&&this.content.removeEventListener("click",this.handleContentClick),this.closeOnOutsideClick&&document.removeEventListener("click",this.handleOutsideClick),this.closeOnEscape&&document.removeEventListener("keydown",this.handleKeydown)}toggle(e){e.stopPropagation(),document.querySelectorAll("theme-dropdown[open], localization-form[open]").forEach(e=>{e!==this&&e.removeAttribute("open")}),this.hasAttribute("open")?this.removeAttribute("open"):this.setAttribute("open","");const t=this.querySelector("li.is-active");if(t&&this.button){const e=this.button.querySelector("span");e&&(e.textContent=t.textContent.trim())}}handleContentClick(e){this.removeAttribute("open")}handleOutsideClick(e){this.hasAttribute("open")&&!this.contains(e.target)&&this.removeAttribute("open")}handleKeydown(e){e.code&&"ESCAPE"===e.code.toUpperCase()&&this.hasAttribute("open")&&this.removeAttribute("open")}}customElements.define("theme-dropdown",ThemeDropdown);class LocalizationForm extends ThemeDropdown{constructor(){super(),this.form=this.closest("form"),this.inputName=this.button?.id.includes("language")?"language_code":"country_code",this.handleLinkClick=this.handleLinkClick.bind(this)}connectedCallback(){super.connectedCallback(),(this.content?.querySelectorAll("a[data-value]")||[]).forEac
1h(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation(),this.handleLinkClick(e)})})}handleLinkClick(e){const t=e.getAttribute("data-value");if(!t||!this.form)return;const s=this.form.querySelector(`input[name="${this.inputName}"]`);if(!s)return;s.value=t,this.querySelectorAll("li").forEach(e=>e.classList.remove("is-active")),e.closest("li")?.classList.add("is-active");const o=this.button.querySelector(".dropdown-button__text-content");o&&(o.textContent=e.textContent.trim()),this.removeAttribute("open"),this.form.submit()}}customElements.define("localization-form",LocalizationForm);class AccordionDefault extends HTMLElement{constructor(){super(),this.hideMultiple=this.hasAttribute("data-hide-multiple"),this.summaryElements=this.querySelectorAll("summary"),this.setInitialAccessibilityAttr(),this.addEventListener("click",e=>{let t=e.target.classList.contains("js-btn");t||(t=e.target.closest("summary.js-btn")),t&&(e.preventDefault(),this.toggleDropdown(e.target.classList.contains("js-btn")?e.target:e.target.closest("summary")),this.collapseInactiveItems())}),this.addEventListener("keydown",e=>{if("Escape"!==e.key)return;const t=document.activeElement.closest("details.is-active");if(!t)return;const s=t.querySelector("summary");this.closest("menu-drawer").classList.contains("facets__drawer")?this.closest("menu-drawer").toggleDrawer():(this.toggleDropdown(s),this.collapseInactiveItems())})}collapseInactiveItems(){this.hideMultiple&&document.querySelectorAll("accordion-default summary").forEach(e=>{e.closest("accordion-default").toggleDropdown(e,!0)})}toggleDropdown(e,t){const s=e.nextElementSibling;if(s.classList.contains("is-transitioning"))return;const o=e.parentElement,n=o.closest(".product__accordion");if(t)return o.classList.remove("is-active"),o.removeAttribute("open"),e.setAttribute("aria-expanded",!1),void(s.style.height="0px");o.classList.toggle("is-active");const i=o.classList.contains("is-active");e.setAttribute("aria-expanded",i),i?(o.setAttribute("open",""),s.style.height=`${s.scrollHeight}px`,setTimeout(()=>{if(n){const e=n.getBoundingClientRect(),t=window.scrollY+e.top-150;window.scrollTo({top:t,behavior:"smooth"})}},150)):(s.style.height=`${s.scrollHeight}px`,setTimeout(()=>{s.style.height="0px"},0)),s.classList.add("is-transitioning"),s.addEventListener("transitionend",function t(n){s.removeEventListener("transitionend",t),s.classList.remove("is-transitioning"),i?s.style.height="auto":(o.removeAttribute("open"),e.focus())})}setInitialAccessibilityAttr(){this.summaryElements.forEach(e=>{const t=e.parentElement,s=e.nextElementSibling,o=t.hasAttribute("open");e.setAttribute("role","button"),e.setAttribute("aria-controls",s.id),e.setAttribute("aria-expanded",o)})}}customElements.define("accordion-default",AccordionDefault);const nav=document.querySelector(".js-nav");nav?.addEventListener("click",function(e){const t=matchMedia("(hover: none)").matches,s=e.target.classList.contains("js-nav-link");if(!t||!s)return;const o=e.target.parentElement,n=o.parentElement.querySelector(".js-nav-item.is-active"),i=o.classList.contains("has-dropdown");n!==o&&n?.classList.remove("is-active"),i&&(e.preventDefault(),o.classList.toggle("is-active"))}),document.addEventListener("click",function(e){if(e.target.closest(".js-nav-item.is-active"))return;const t=document.querySelectorAll(".js-nav-item.is-active");0!=t.length&&t.forEach(e=>{e.classList.remove("is-active")})});let navItems=document.querySelectorAll(".js-nav-item.has-dropdown:not(.dropdown)");window.addEventListener("shopify:section:load",function(){navItems=document.querySelectorAll(".js-nav-item.has-dropdown:not(.dropdown)")}),["DOMContentLoaded","resize"].forEach(e=>{window.addEventListener(e,()=>{navItems=document.querySelectorAll(".js-nav-item.has-dropdown:not(.dropdown)"),navItems.forEach(e=>{const t=e.querySelector(".js-dropdown");if(!t)return;const{y:s,height:o}=e.getBoundingClientRect(),n=s+o,i=t.getBoundingClientRect().y;if(n===i)return;const r=Math.round(i-n);e.style.setProperty("--after-height",`${r}px`)})})});let hero=document.querySelector(".hero-banner")||document.querySelector("main section");
1window.addEventListener("shopify:section:load",function(){hero=document.querySelector(".hero-banner")||document.querySelector("main section")});const megaMenu=document.querySelector("nav.js-nav");if(megaMenu){function toggleHeaderTransparency(){megaMenu.querySelector(".js-dropdown.is-visible")?header.classList.add("is-megamenu-open"):header.classList.remove("is-megamenu-open")}function closeAllDropdowns(){megaMenu.querySelectorAll(".js-dropdown.is-visible").forEach(e=>{const t=e.closest(".js-nav-item"),s=t?.getAttribute("data-menu-item");megaMenu.querySelectorAll(".header__nav-sublinks").forEach(e=>{e.classList.contains("is-visible")&&e.classList.remove("is-visible")}),null!==s&&e.classList.remove("is-visible")})}megaMenu.querySelectorAll(".js-nav-item").forEach(e=>{const t=e.querySelector(".js-dropdown");e.addEventListener("mouseenter",()=>{null!==e.getAttribute("data-menu-item")&&(closeAllDropdowns(),t&&t.classList.add("is-visible"),toggleHeaderTransparency())}),e.addEventListener("mouseleave",s=>{const o=s.relatedTarget;o&&(t?.contains(o)||e.contains(o)||megaMenu.contains(o))||(closeAllDropdowns(),toggleHeaderTransparency())}),t&&t.addEventListener("mouseleave",s=>{const o=s.relatedTarget;o&&(t.contains(o)||e.contains(o)||megaMenu.contains(o))||(closeAllDropdowns(),toggleHeaderTransparency())})}),megaMenu.addEventListener("mouseleave",()=>{closeAllDropdowns(),toggleHeaderTransparency()})}document.querySelectorAll(".header__nav-item.dropdown [data-child-menu-item]").forEach(e=>{const t=e.querySelector("[data-child-menu-content]");e.addEventListener("mouseenter",()=>{document.querySelectorAll(".header__nav-item.dropdown [data-child-menu-content]").forEach(e=>{e.classList.remove("is-visible")}),t?.classList.add("is-visible")}),e.addEventListener("mouseleave",s=>{const o=s.relatedTarget;o&&o.closest("[data-child-menu-item]")!==e&&o.closest("[data-child-menu-item]")&&t?.classList.remove("is-visible")})});const animationObserverOptions={rootMargin:"-100px"},animationObserver=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e.target.classList.add("animation-init"),e.target.addEventListener("animationend",()=>{e.target.classList.add("animation-none")},{once:!0}),animationObserver.unobserve(e.target))})},animationObserverOptions);function observeAnimationElements(){document.querySelectorAll('[class*="js-animation-"]').forEach(e=>{animationObserver.observe(e)})}function preventDefault(e){e.preventDefault()}observeAnimationElements(),window.addEventListener("shopify:section:load",()=>{observeAnimationElements()});class DropdownInput extends HTMLElement{constructor(){super(),this.select=this.querySelector("select"),this.dropdown=null,this.buttons=null,this.detailsTemplate=this.querySelector('template[data-name="details"]'),this.optionTemplate=this.querySelector('template[data-name="option"]'),this.select}connectedCallback(){this.init()}init(){this.select.classList.add("hidden"),this.appendTemplate()}appendTemplate(){const e=this.detailsTemplate.content.firstElementChild.cloneNode(!0),t=this.optionTemplate.content,s=Array.from(this.select.options);if(0===s.length)return;const o=s.find(e=>e.selected);e.querySelector("[data-label]").textContent=o.label,s.forEach(s=>{const o=t.cloneNode(!0),n=o.querySelector("button"),i=o.querySelector("li");n.setAttribute("data-value",s.value),n.textContent=s.label,n.toggleAttribute("disabled",s.disabled),i.classList.toggle("is-active",s.selected),e.querySelector("[data-options]").append(o)}),this.append(e),this.dropdown=this.querySelector("details"),this.buttons=this.dropdown.querySelectorAll("button"),this.setHandlers()}update(){this.dropdown=null,this.buttons=null,this.querySelector("details")?.remove(),this.appendTemplate()}setHandlers(){this.querySelector("summary").addEventListener("click",this.onSummaryClick.bind(this)),this.buttons.forEach((e,t)=>{e.addEventListener("click",e=>this.onOptionSelect(e,t))})}onOptionSelect(e,t){e.preventDefault(),Array.from(this.select.options).forEach(e=>e.removeAttribute("selected")),this.select.options[t].setAttribute("selected","selected"),this.select.value=e.target.dataset.value,this.select.dispatchEvent(new Event("change",{bubbles:!0})),this.querySelector("[data-label]").textContent=this.select.options[t].label,this.setSelectedOption(e.target),this.update()}setSelectedOption(e){const t=e;
1this.buttons.forEach(e=>{e.parentElement.classList.remove("is-active")}),t.parentElement.classList.add("is-active"),this.select.dispatchEvent(new Event("change")),this.select.closest("form")?.dispatchEvent(new Event("input")),this.close(void 0,this.dropdown.querySelector("summary"),this.dropdown)}onSummaryClick(e){const t=e.currentTarget,s=t.parentNode;s.hasAttribute("open")?this.close(e,t,s):this.open(t,s)}open(e,t){setTimeout(()=>{t.classList.add("is-open")}),e.setAttribute("aria-expanded",!0),trapFocus(t,e)}close(e,t,s){e&&e.preventDefault(),s.classList.remove("is-open"),removeTrapFocus(t),this.closeAnimation(s)}closeAnimation(e){let t;const s=o=>{void 0===t&&(t=o),o-t<300?window.requestAnimationFrame(s):e.removeAttribute("open")};window.requestAnimationFrame(s)}}customElements.define("dropdown-input",DropdownInput);class CountdownTimer extends HTMLElement{constructor(){super();const e=this.dataset.timezone,t=this.dataset.date.split("-").filter(function(e){return""!=e}),s=parseInt(t[0]),o=parseInt(t[1]),n=parseInt(t[2]);let i=this.dataset.time,r=0,a=0;null!=i&&(i=i.split(":"),r=parseInt(i[0]),a=parseInt(i[1]));const c=o+"/"+s+"/"+n+" "+(r<10?"0"+r:r)+":"+(a<10?"0"+a:a)+" GMT"+e;this.countDownDate=new Date(c).getTime(),this.timerInterval=null,this.lastDays=-1,this.lastHours=-1,this.lastMinutes=-1}connectedCallback(){this.startTimer()}disconnectedCallback(){this.stopTimer()}startTimer(){this.updateTime(!0),this.timerInterval=setInterval(()=>{this.updateTime(!1)},1e3)}stopTimer(){this.timerInterval&&(clearInterval(this.timerInterval),this.timerInterval=null)}updateTime(e=!1){const t=this,s=t.dataset.timerLayout,o=(new Date).getTime();let n=t.countDownDate-o;const i=Math.floor(n/864e5),r=Math.floor(n%864e5/36e5),a=Math.floor(n%36e5/6e4),c=Math.floor(n%6e4/1e3);let l=t.querySelector(".days .countdown-timer__column-number"),d=t.querySelector(".hours .countdown-timer__column-number"),u=t.querySelector(".minutes .countdown-timer__column-number"),h=t.querySelector(".seconds .countdown-timer__column-number"),p=t.querySelector(".countdown-timer__columns"),m=t.querySelector(".countdown-timer__message");if(n<0){if(t.stopTimer(),l&&(l.innerHTML=0),d&&(d.innerHTML=0),u&&(u.innerHTML=0),h&&(h.innerHTML=0),t.classList.add("loading-effect"),t.setAttribute("data-is-ended","true"),"1"!==s&&(p&&p.classList.add("hidden"),m&&m.classList.remove("hidden")),"1"===s){let e=t.closest(".callout-banner")?.querySelector(".callout-banner__content-heading");e&&(e.innerHTML=t.dataset.endMessage)}}else h&&(h.innerHTML=CountdownTimer.addZero(c)),(e||this.lastMinutes!==a)&&(u&&(u.innerHTML=CountdownTimer.addZero(a)),this.lastMinutes=a),(e||this.lastHours!==r)&&(d&&(d.innerHTML=CountdownTimer.addZero(r)),this.lastHours=r),(e||this.lastDays!==i)&&(l&&(l.innerHTML=CountdownTimer.addZero(i)),this.lastDays=i),0===i&&l&&!e&&l.parentElement.parentElement.remove(),t.classList.remove("loading-effect")}static addZero(e){return e<10&&e>=0?"0"+e:e}}if(customElements.define("countdown-timer",CountdownTimer),!customElements.get("text-truncator")){class t extends HTMLElement{constructor(){super(),this.initElements()}connectedCallback(){this.setupTextTruncation()}initElements(){this.textTruncatorButton=this.querySelector(".text-truncator__button"),this.textTruncatorButtonText=this.textTruncatorButton?.querySelector(".text-truncator__button-text"),this.textTruncatorIconPlus=this.textTruncatorButton?.querySelector(".icon-plus"),this.textTruncatorIconMinus=this.textTruncatorButton?.querySelector(".icon-minus")}setupTextTruncation(){const e=this.querySelector(".text-truncator");e.style.display="block";const{lineHeight:t,lineCount:s,maxLineCount:o}=this.calculateLineCounts(e);s>o?(this.applyTextTruncation(e,t,o),this.setupButton(e)):this.removeTextTruncation(e)}calculateLineCounts(e){const t=parseFloat(window.getComputedStyle(e).lineHeight);return{lineHeight:t,lineCount:Math.floor(e.clientHeight/t),maxLineCount:parseInt(this.dataset.maxLineCount)}}applyTextTruncation(e,t,s){e.classList.add("text-truncator--hidden");const o=t*s+"px",n=document.createElement("style");n.innerHTML=`.text-truncator--hidden { max-height: ${o}; }`,document.head.appendChild(n),this.textTruncatorButton&&(this.textTruncatorButton.style.display="")}removeTextTruncation(e){e.classList.remove("text-truncator--hidden"),this.textTruncatorButton&&(this.textTruncatorButton.style.display="none")}setupButton(e){this.textTruncatorButton&&(this.textTruncatorButtonText.innerHTML=`<span>${this.dataset.readMore}</span>`,this.toggleIcons("plus"),this.textTruncatorButton.addEventListener("click",t=>{t.preventDefault(),this.toggleTextTruncation(e)}))}toggleTextTruncation(e){const t=e.querySelectorAll("p"),s=e.classList.contains("text-truncator--hidden");t.forEach((e,t)=>{e.style.marginTop=s&&0!==t?"1rem":""}),e.classList.toggle("text-truncator--hidden"),this.textTruncatorButtonText.innerHTML=`<span>${s?this.dataset.readLess:this.dataset.readMore}</span>`,this.toggleIcons(s?"minus":"plus"),s&&DeviceDetector.isMobile()?e.style.overflow="scroll":(e.style.maxHeight="",e.style.overflow="")}toggleIcons(e){this.textTruncatorIconPlus.style.display="plus"===e?"inline-block":"none",this.textTruncatorIconMinus.style.display="minus"===e?"inline-block":"none"}}customElements.define("text-truncator",t)}class BackToTop extends HTMLElement{constructor(){super(),this.vertical_offset_for_trigger=.5*window.innerHeight,this.addEventListener("click",this.scrollToTop.bind(this))}scrollToTop(){window.scroll({top:0,behavior:"smooth"})}connectedCallback(){window.addEventListener("scroll",()=>this.handleScroll(),{passive:!0})}handleScroll(){window.pageYOffset>this.vertical_offset_for_trigger?this.classList.remove("hide"):this.classList.add("hide")}}customElements.define("back-to-top",BackToTop);const submenuButtons=document.querySelectorAll(".drawer__submenu-btn");
1submenuButtons.forEach(e=>{e.addEventListener("click",function(){const t=e.parentElement,s=t.classList.contains("is-active"),o=t.querySelector(".drawer__submenu-second");if(o&&(o.style.height=s?"0px":"auto"),document.querySelectorAll(".drawer__submenu-first-item").forEach(e=>{e.classList.remove("is-active");const t=e.querySelector(".drawer__submenu-second");t&&(t.style.height="0px")}),!s){t.classList.add("is-active");const e=t.querySelector(".drawer__submenu-second");e&&(e.style.height="auto")}})});const PUB_SUB_EVENTS={cartUpdate:"cart-update",quantityUpdate:"quantity-update",variantChange:"variant-change",cartError:"cart-error"};if(document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll("button.menu-link").forEach(function(e){e.addEventListener("click",function(){var t=document.querySelector(".menu-panel.is-active"),s=t?.hasAttribute("data-menu-nested"),o=e.dataset.ref,n=document.querySelector('div.menu-panel[data-menu="'+o+'"]'),i=document.querySelectorAll(".menu-panel");const r=document.querySelector(".primary-menu-panel");let a=!1;n?(i.forEach(function(e){e.classList.contains("is-active")&&(a=!0,e.hasAttribute("data-menu-nested")?(e.classList.add("was-active"),r.style.opacity="0",e.classList.remove("is-active")):(setTimeout(()=>{e.style.opacity="0"},300),setTimeout(()=>{e.classList.remove("is-active")},500)),e.classList.contains("is-back")&&e.classList.remove("is-back"),r.style.opacity="0")}),r.style.opacity=a?"0":"1",n.classList.add("is-active"),n.style.opacity="1",n.classList.contains("is-back")&&n.classList.remove("is-back"),s&&n.classList.add("is-instant"),setTimeout(()=>{i.forEach(function(e){e.classList.contains("was-active")&&e.classList.remove("was-active"),n.classList.remove("is-instant")})},300)):(r.style.opacity="1",i.forEach(function(e){e.classList.contains("is-active")&&(e.classList.remove("is-active"),e.classList.add("is-back"),e.classList.add("non-active"),setTimeout(()=>{e.classList.remove("non-active")},300))}))})}),document.querySelector(".template--faq")&&document.querySelectorAll(".accordion__section").forEach(function(e){e.addEventListener("click",function(){var t=document.querySelector(".header").offsetHeight,s=this.offsetHeight,o=e.getBoundingClientRect().top,n=o-t-s;n<0&&(n=0),o>t&&(n=window.scrollY),window.scrollTo({top:n,behavior:"smooth"})})})}),document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll(".swiper-buttons").forEach(function(e){const t=e.querySelector("[class^='swiper-button--prev'], [class*=' swiper-button--prev']"),s=e.querySelector("[class^='swiper-button--next'], [class*=' swiper-button--next']");t&&s&&t.classList.contains("swiper-button-disabled")&&s.classList.contains("swiper-button-disabled")&&(e.style.display="none");const o=e.parentElement.parentElement;o.classList.contains("section__foot")&&!o.querySelector("a.button")&&(o.style.marginBlockStart="0")})}),!customElements.get("product-card")){class s extends HTMLElement{constructor(){super(),this.isQuickCart=this.classList.contains("product-card--quick-cart"),this.init()}init(){this.initForm(),this.initVariants(),this.imageBorderCalc(),this.querySelector(".product-card__media")&&this.querySelector(".product-card__media").classList.contains("product-card__media--hoverable")&&this.secondImgHoverStates(),this.initVideoHover(),document.querySelector("quick-cart-drawer")||this.querySelector(".quick-cart-drawer__trigger")?.remove()}initForm(){this.cart=document.querySelector("cart-notification")||document.querySelector("cart-drawer"),this.addToCartForm=this.querySelector("form.product-card__add-to-cart--form"),this.addToCartForm&&(this.addToCartForm.removeAttribute("method"),this.addToCartForm.removeAttribute("action")),this.submitButton=this.querySelector('button[type="submit"]'),this.addToCartForm&&!this.addToCartForm.hasListener&&(this.submitAddToCartFormHandler=this.submitAddToCartFormHandler||this.submitAddToCartForm.bind(this),this.addToCartForm.addEventListener("submit",this.submitAddToCartFormHandler),this.addToCartForm.hasListener=!0)}submitAddToCartForm(e){e.preventDefault(),this.submitButton.setAttribute("disabled",""),this.submitButton.classList.add("add-to-cart--is-disabled");const t=fetchConfig("javascript");t.headers["X-Requested-With"]="XMLHttpRequest",delete t.headers["Content-Type"];const s=new FormData(e.target);this.cart&&(s.append("sections",this.cart.getSectionsToRender().map(e=>e.section)),this.hasAttribute("data-has-pre-order")&&s.append("properties[Pre-order]","â"),s.append("sections_url",window.location.pathname),this.cart.setActiveElement(document.activeElement)),t.body=s,fetch(`${routes.cart_add_url}`,t).then(e=>e.json()).then(e=>{e.errors?this.handleErrorMessage(e.errors):(this.cart&&this.cart.renderContents(e),updateCartCounters())}).catch(e=>{console.error(e)}).finally(()=>{this.submitButton.removeAttribute("disabled"),this.submitButton.classList.remove("add-to-cart--is-disabled");const e=this.closest("quick-cart-drawer");e&&e.close()})}handleErrorMessage(e=!1){this.errorMessageWrapper=this.querySelector(".product-form__error-message-wrapper"),this.errorMessageWrapper&&(this.errorMessage=this.errorMessageWrapper.querySelector(".product-form__error-message"),this.errorMessageWrapper.toggleAttribute("hidden",!e),e&&(this.errorMessage.textContent=e),setTimeout(()=>{this.resetErrorMessage()},5e3))}resetErrorMessage(){this.errorMessageWrapper&&(this.errorMessageWrapper.toggleAttribute("hidden",!0),this.errorMessageWrapper.textContent="")}initVariants(){this.getVariantsData(),this.querySelectorAll(".button--variant input").forEach(e
1=>{e.addEventListener("click",this.onClickOptionRadioInputs.bind(this))});let e=[];this.querySelectorAll(".variant-option-radio-input").forEach(t=>{t.checked&&e.push(t.value)}),0===e.length&&this.querySelector(".variant-option-radio-input")?.click(),this.updateVariantStatuses();const{currentVariantId:t}=this.findCurrentVariantFromOptionRadioInputs();this.querySelector(".product-card__media")?.dataset.updateMedia||this.updateMediaForVariant(t),this.setCartButtonState()}updateVariantStatuses(){const e=this.variantsObj?.filter(e=>this.querySelector(":checked")?.value===e.option1),t=[...this.querySelectorAll(".js-product-card-options")];t.forEach((s,o)=>{if(0===o)return;const n=[...s.querySelectorAll('input[type="radio"]')],i=t[o-1].querySelector(":checked")?.value,r=e?.filter(e=>e.available&&e[`option${o}`]===i).map(e=>e[`option${o+1}`]);this.setInputAvailability(n,r)})}setInputAvailability(e,t){e.forEach(e=>{const s=e.getAttribute("value"),o=t.includes(s);e.closest("li").classList.toggle("disabled",!o),e.toggleAttribute("disabled",!o)})}onClickOptionRadioInputs(e){const{currentVariantId:t,currentCheckedOptions:s,currentVariantMediaId:o}=this.findCurrentVariantFromOptionRadioInputs();this.clearRadioInputStates(e),s.includes(e.target.value)&&(e.target.setAttribute("checked",""),this.updateVariantStatuses(),this.disableAddToCartButons(),this.updatePriceForVariant(t),this.updateDiscountBadgeForVariant(t)),this.updateFormVariantIdInput();let n=[];this.querySelectorAll("[data-product-images]").forEach(e=>{e.getAttribute("data-product-images").split(",").forEach(e=>{n.push(e)})}),n.includes(t.toString())&&this.updateMediaForVariant(t),this.isQuickCart&&o&&document.querySelector("quick-cart-drawer").setActiveMedia(o),this.querySelectorAll("[data-product-link]").forEach(e=>{const s=e.getAttribute("href");if(t){const o=s.split("?variant=")[0]+"?variant="+t;e.setAttribute("href",o)}})}setCartButtonState(){const{currentVariantAvailable:e}=this.findCurrentVariantFromOptionRadioInputs();e&&this.submitButton?.toggleAttribute("disabled",!e)}updateMediaForVariant(e){e&&this.querySelectorAll("[data-product-images]").forEach(t=>{t.classList.toggle("hidden",!t.getAttribute("data-product-images").includes(e))})}updateFormVariantIdInput(){const{currentVariantId:e}=this.findCurrentVariantFromOptionRadioInputs(),t=this.querySelector('input[name="id"]');e&&t&&(this.querySelector('input[name="id"]').value=e)}updatePriceForVariant(e){const t=this.variantsObj?.find(t=>t.id===e);if(t){let e=this.querySelector(".price__container");if(!e){const t=this.previousElementSibling;t&&(e=t.querySelector(".price__container"))}if(!e)return;const s=e.dataset.moneyFormat,o=e.dataset.labelPriceRegular,n=e.dataset.labelPriceSale;if(t.compare_at_price&&t.compare_at_price>t.price){const i=`\n <div class="price__sale">\n <div class="price__sale-inner">\n <span class="visually-hidden">${n}</span>\n <s>${formatPrice(t.compare_at_price,s)}</s>\n <ins>\n <span class="visually-hidden">${o}</span>\n ${formatPrice(t.price,s)}\n </ins>\n </div>\n </div>\n `;e.innerHTML=i}else{const n=`\n <div class="price__sale">\n <div class="price__sale-inner">\n <span class="visually-hidden">${o}</span>\n <span>${formatPrice(t.price,s)}</span>\n </div>\n </div>\n `;e.innerHTML=n}}}updateDiscountBadgeForVariant(e){const t=this.variantsObj?.find(t=>t.id===e);if(t){let e=this.querySelector(".product-card__badge--discount");if(!e){const t=this.previousElementSibling;t&&(e=t.querySelector(".product-card__badge--discount"))}if(e)if(t.compare_at_price>t.price){e.classList.remove("hidden");const s=e.querySelector(".percentage");if(!s)return;const o=Math.round((t.compare_at_price-t.price)/t.compare_at_price*100);s.textContent=o}else e.classList.add("hidden")}}disableCheckedVariantOptions(){this.querySelectorAll(".variant-option-radio-input[checked]").forEach(e=>{this.isQuickCart?e.setAttribute("disabled",""):e.removeAttribute("disabled")})}disableAddToCartButons(){const{currentVariantAvailable:e}=this.findCurrentVariantFromOptionRadioInputs(),t=this.querySelector(".product-card__add-to-cart--form button[type='submit']");t&&!t.classList.contains("product-card__add-to-cart--button")&&(e?t.removeAttribute("disabled"):t.setAttribute("disabled",""))}
1clearRadioInputStates(e){e.target.closest(".js-product-card-options").querySelectorAll(".variant-option-radio-input").forEach(e=>{e.removeAttribute("checked")})}findCurrentVariantFromOptionRadioInputs(){let e=null,t="",s="",o=[];return this.querySelectorAll(".js-product-card-options").forEach(e=>{e.parentNode.classList.contains("hidden")?o.push(e.querySelector('input[type="radio"]').value):e.querySelectorAll('input[type="radio"]').forEach(e=>{e.checked&&o.push(e.value)})}),this.variantsObj?.forEach(n=>{(n.options.join()===o.join()||1===n.options.length&&0===o.length)&&(t=n.id,e=n.available,s=n.featured_media?.id||null)}),{currentVariantAvailable:e,currentVariantId:t,currentCheckedOptions:o,currentVariantMediaId:s}}findAndDisableAllUnavailableOptionsForSelectedVariant(e){let t="";t=e?e.value:this.querySelectorAll(".variant-option-radio-input")[0].value;const{currentCheckedOptions:s}=this.findCurrentVariantFromOptionRadioInputs(),o=s.indexOf(t)+1;this.variantsObj.forEach(e=>{e[`option${o}`]!==t||e.available||[1,2,3].forEach(t=>{t!==o&&e[`option${t}`]&&this.querySelector(`.variant-option-radio-input[value="${e[`option${t}`]}"]`).closest("li").classList.add("disabled")})})}getVariantsData(){const e=JSON.parse(this.querySelector("[data-product-variants-json]")?this.querySelector("[data-product-variants-json]").textContent:"[]");return(!e||0!==Object.keys(e).length)&&(this.variantsObj=e,e)}secondImgHoverStates(){const e=this.querySelector(".product-card__actions");e&&!DeviceDetector.isMobile()&&(e.addEventListener("mouseenter",()=>e.classList.add("is--hovering")),e.addEventListener("mouseleave",()=>e.classList.remove("is--hovering")))}imageBorderCalc(){const e=document.querySelectorAll(".product-swatch__inner-border--enable img");function t(e){const t=document.createElement("canvas"),s=t.getContext("2d"),o=e.naturalWidth||e.width,n=e.naturalHeight||e.height;t.width=o,t.height=n,s.drawImage(e,0,0,o,n);const i=Math.floor(o/2),r=Math.floor(n/2),a=s.getImageData(i,r,1,1).data,c=a[0],l=a[1],d=a[2],u=`rgb(${Math.max(0,Math.floor(.8*c))}, ${Math.max(0,Math.floor(.8*l))}, ${Math.max(0,Math.floor(.8*d))})`;e.style.borderColor=u}e&&e.forEach(e=>{e.complete?t(e):e.onload=()=>t(e)})}initVideoHover(){const e=this.querySelector(".product-card__media");if(!e||!e.dataset.hasVideo)return;const t=e.dataset.videoUrl,s=e.dataset.videoType,o=this.querySelector(".product-card__video-play-btn");if(!t)return;let n=!1;if(DeviceDetector.isMobile())o&&o.addEventListener("click",i=>{if(i.preventDefault(),i.stopPropagation(),!n){this.createAndPlayVideo(e,t,s),o.style.display="none",n=!0;const i=document.createElement("button");i.className="product-card__video-close-btn",i.innerHTML="×",i.setAttribute("aria-label","Close video"),e.appendChild(i),i.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation(),this.stopAndRemoveVideo(e),o.style.display="flex",i.remove(),n=!1})}});else{const i=this.querySelector(".product-card__actions");i&&(i.addEventListener("mouseenter",()=>{n||(this.createAndPlayVideo(e,t,s),n=!0)}),i.addEventListener("mouseleave",()=>{n&&(this.stopAndRemoveVideo(e),n=!1)})),o&&(o.style.display="none")}}createAndPlayVideo(e,t,s){if(!e.querySelector(".product-card__video-element"))if("video"===s){const s=document.createElement("video");s.className="product-card__video-element",s.src=t,s.autoplay=!0,s.muted=!0,s.loop=!0,s.playsInline=!0,s.setAttribute("playsinline",""),e.appendChild(s),s.play().catch(e=>{console.warn(e)})}else if("external_video"===s){const s=document.createElement("iframe");s.className="product-card__video-element",s.src=t,s.allow="autoplay; muted",s.setAttribute("allowfullscreen",""),s.setAttribute("frameborder","0"),e.appendChild(s)}}stopAndRemoveVideo(e){const t=e.querySelector(".product-card__video-element");t&&("VIDEO"===t.tagName&&(t.pause(),t.currentTime=0),t.remove())}}customElements.define("product-card",s)}async function updateCartCounters(){const e=document.querySelectorAll(".cart-count-badge"),t=document.querySelectorAll(".cart-drawer__title-counter"),s=[...e,...t].filter(e=>null!==e);try{const t=await fetch(`${routes.cart_url}.json`,{method:"GET",headers:{"Content-Type":"application/json"}}),o=await t.text(),n=JSON.parse(o);s.length>
10&&s.forEach(e=>{e.textContent=n.item_count}),e.length>0&&e.forEach(e=>{e.classList.toggle("hidden",0===n.item_count)})}catch(e){console.error("Cart counters could not be updated:",e)}}async function updateFreeShipping(){const e=Shopify.currency.rate,{cart_free_shipping_text:t,cart_free_shipping_text_success:s,cart_free_shipping_threshold:o,money_format:n}=window.theme.settings,i=document.querySelectorAll("shipping-bar");try{const r=await fetch("/cart.js"),{total_price:a,item_count:c}=await r.json(),l=0==c?"hidden":"visible";i.forEach(e=>e.style.visibility=l);const d=Math.round(o*e),u=d-a;i.forEach(e=>{const o=e.querySelector(".progress-bar__text"),i=e.querySelector("[data-progress-line]");if(a>=d)o.innerHTML=s,i.style.width="100%";else{const e=t.match(/<span class="money">(.*)<\/span>/);if(e){const s=t.replace(e[1],`${formatPrice(u,n)}`);o.innerHTML=s}i.style.width=`calc(${a/d*100}% + 2px)`}})}catch(e){console.error("Error fetching cart data:",e)}}function formatPrice(e,t){if(null==e)return"";e=parseFloat(e)/100;const s=/{{(.*?)}}/;let o="";t.match(s)?o=t.match(s)[1]:console.error("No match found");let n="";switch(o){case"amount":n=t.replace(s,Intl.NumberFormat(Shopify.locale,{minimumFractionDigits:2,maximumFractionDigits:2}).format(e));break;case"amount_with_comma_separator":n=t.replace(s,e.toString().replace(".",","));break;case"amount_no_decimals":n=t.replace(s,Math.round(e));break;case"amount_no_decimals_with_comma_separator":n=t.replace(s,Intl.NumberFormat(Shopify.locale).format(Math.round(e)).toString().replace(".",","));break;default:n=t.replace(s,e)}return n}class SwiperComponent extends HTMLElement{constructor(){super(),this.swiperOptions=JSON.parse(this.getAttribute("data-swiper-options"))||{},this.swiperInitialized=!1,this.section=this.closest("section"),this.observer=null}connectedCallback(){this.section&&this.section.classList.contains("shopify-section")&&(this.observer=new IntersectionObserver((e,t)=>{e.forEach(e=>{e.isIntersecting&&(this.init(),t.disconnect())})}),this.observer.observe(this.section)),Shopify.designMode?(window.addEventListener("shopify:section:load",()=>this.init()),window.addEventListener("shopify:section:select",()=>this.init()),setTimeout(()=>{this.swiperInitialized||this.init()},100)):window.addEventListener("load",()=>this.init())}init(){if(this.swiperInitialized)return;this.swiperInitialized=!0;const e=this.swiperOptions,t={slideshowId:e.swiperId||"",slideCount:e.slideCount||1,slidesPerView:e.slidesPerView||"auto",slidesPerViewDesktop:e.slidesPerViewDesktop||e.slidesPerView||4,slidesPerViewTablet:e.slidesPerViewTablet||e.slidesPerViewDesktop||e.slidesPerView||3,spaceBetween:e.spaceBetweenMobile||0,spaceBetweenDesktop:e.spaceBetweenDesktop||e.spaceBetween||0,spaceBetweenTablet:e.spaceBetweenTablet||e.spaceBetweenDesktop||e.spaceBetweenMobile||0,enabled:e.enabled??!0,enabledDesktop:e.enabledDesktop??e.enabled??!0,enabledTablet:e.enabledTablet??e.enabledDesktop??e.enabled??!0,allowTouchMove:e.allowTouchMove??("number"!=typeof e.slidesPerView||e.slideCount>e.slidesPerView),allowTouchMoveTablet:e.allowTouchMoveTablet??("number"!=typeof e.slidesPerViewTablet||e.slideCount>e.slidesPerViewTablet),allowTouchMoveDesktop:e.allowTouchMoveDesktop??("number"!=typeof e.slidesPerViewDesktop||e.slideCount>e.slidesPerViewDesktop)};if(this.swiperOptions={a11y:!1,allowTouchMove:t.allowTouchMove,loop:e.loop||!1,rewind:e.rewind||!1,followFinger:e.followFinger||!1,cssMode:e.cssMode||!1,enabled:t.enabled,watchOverflow:!0,observer:!0,cache:!0,slidesPerView:t.slidesPerView,spaceBetween:t.spaceBetween,breakpoints:{750:{enabled:t.enabledTablet,allowTouchMove:t.allowTouchMoveTablet,slidesPerView:t.slidesPerViewTablet,spaceBetween:t.spaceBetweenTablet},990:{enabled:t.enabledDesktop,allowTouchMove:t.allowTouchMoveDesktop,slidesPerView:t.slidesPerViewDesktop,spaceBetween:t.spaceBetweenDesktop}}},e.navigation&&(this.swiperOptions.navigation={...e.navigation}),"fade"==e.effect&&(this.swiperOptions.effect="fade",this.swiperOptions.fadeEffect={crossFade:!0}),"custom_bullet"==e.pagination?this.swiperOptions.pagination={el:e.paginationElement,clickable:!0,renderBullet:function(e,t){return`\n <button class="${t}">
1\n <span></span>\n </button>\n `}}:this.swiperOptions.pagination={el:`.swiper-pagination--${e.swiperId}`,clickable:!0},e.autoplay&&(this.swiperOptions.autoplay={...e.autoplay},e.autoplayProgress)){const t=this.querySelector(`.autoplay-progress--${e.swiperId} svg`),s=this.querySelector(`.autoplay-progress--${e.swiperId} span`);this.swiperOptions.on={autoplayTimeLeft(e,o,n){t.style.setProperty("--progress",1-n),s.textContent=`${Math.ceil(o/1e3)}`}}}this.swiper=new Swiper(this,{...this.swiperOptions})}}customElements.define("swiper-component",SwiperComponent);
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.