PageSourceSearch

https://modcloth.com/cdn/shop/t/996/assets/theme.js?v=43535028400065092231789623628

js modcloth.com collected 2026-09-24 15:25:29 UTC 141,723 bytes, 9 lines download raw bytes

1/*
2* @license
3* Broadcast Theme (c) Presidio Creative
4*
5* The contents of this file should not be modified.
6* add any minor changes to assets/custom.js
7*
8*/
9!function(t){"use strict";!function(){const t={NODE_ENV:"production"};try{if(process)return process.env=Object.assign({},process.env),void Object.assign(process.env,t)}catch(t){}globalThis.process={env:t}}(),window.theme=window.theme||{},window.theme.sizes={mobile:480,small:750,large:990,widescreen:1400},window.theme.focusable='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';window.theme.PUB_SUB_EVENTS={cartUpdate:"cart-update",quantityUpdate:"quantity-update",optionValueSelectionChange:"option-value-selection-change",variantChange:"variant-change",cartError:"cart-error"};let e={};window.publish=function(t,s){if(e[t]){const i=e[t].map((t=>t(s)));return Promise.all(i)}return Promise.resolve()},window.subscribe=function(t,s){return void 0===e[t]&&(e[t]=[]),e[t]=[...e[t],s],function(){e[t]=e[t].filter((t=>t!==s))}};window.theme.formatMoney=function(t,e){"string"==typeof t&&(t=t.replace(".",""));let s="";const i=/\{\{\s*(\w+)\s*\}\}/,o=e||"${{amount}}";function n(t,e=2,s=",",i="."){if(isNaN(t)||null==t)return 0;const o=(t=(t/100).toFixed(e)).split(".");return o[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,`$1${s}`)+(o[1]?i+o[1]:"")}switch(o.match(i)[1]){case"amount":s=n(t,2);break;case"amount_no_decimals":s=n(t,0);break;case"amount_with_comma_separator":s=n(t,2,".",",");break;case"amount_no_decimals_with_comma_separator":s=n(t,0,".",",");break;case"amount_with_apostrophe_separator":s=n(t,2,"'",".");break;case"amount_no_decimals_with_space_separator":s=n(t,0," ","");break;case"amount_with_space_separator":s=n(t,2," ",",");break;case"amount_with_period_and_space_separator":s=n(t,2," ",".")}return o.replace(i,s)},window.theme.debounce=function(t,e){let s;return function(){if(t){const i=()=>t.apply(this,arguments);clearTimeout(s),s=setTimeout(i,e)}}};let s=n(),i=!0;function o(){const{windowHeight:t,headerHeight:e,collectionNavHeight:o}=window.theme.readHeights(),r=n();(!i||r!==s||theme.windowWidth>window.theme.sizes.mobile)&&(document.documentElement.style.setProperty("--full-height",`${t}px`),document.documentElement.style.setProperty("--three-quarters",t*(3/4)+"px"),document.documentElement.style.setProperty("--two-thirds",t*(2/3)+"px"),document.documentElement.style.setProperty("--one-half",t/2+"px"),document.documentElement.style.setProperty("--one-third",t/3+"px"),s=r,i=!1),document.documentElement.style.setProperty("--collection-nav-height",`${o}px`),document.documentElement.style.setProperty("--header-height",`${e}px`)}function n(){return window.matchMedia("(orientation: portrait)").matches?"portrait":window.matchMedia("(orientation: landscape)").matches?"landscape":void 0}function r(t){const e=document.querySelector(t);return e?e.offsetHeight:0}window.theme.readHeights=function(){const t={};return t.windowHeight=Math.min(window.screen.height,theme.windowHeight),t.headerHeight=r("[data-header-height]"),t.stickyHeaderHeight=document.querySelector("[data-header-sticky]")?t.headerHeight:0,t.collectionNavHeight=r("[data-collection-nav]"),t},o(),window.addEventListener("DOMContentLoaded",o),document.addEventListener("theme:resize",o),document.addEventListener("shopify:section:load",o),window.theme.pauseAllMedia=function(){document.querySelectorAll('[data-host="youtube"]').forEach((t=>{t.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")})),document.querySelectorAll('[data-host="vimeo"]').forEach((t=>{t.contentWindow.postMessage('{"method":"pause"}',"*")})),document.querySelectorAll("video").forEach((t=>t.pause())),document.querySelectorAll("product-model").forEach((t=>{t.modelViewerUI&&t.modelViewerUI.pause()}))},window.theme.scrollTo=t=>{const e=document.querySelector("[data-header-sticky]")?document.querySelector("[data-header-height]").offsetHeight:0;window.scrollTo({top:t+window.scrollY-e,left:0,behavior:"smooth"})};const a={},l={forceFocus(t,e){e=e||{};var s=t.tabIndex;t.tabIndex=-1,t.dataset.tabIndex=s,t.focus(),void 0!==e.className&&t.classList.add(e.className),t.addEventListener("blur",(function i(o){o.target.removeEventListener(o.type,i),t.tabIndex=s,delete t.dataset.tabIndex,void 0!==e.className&&t.classList.remove(e.className)}))},focusHash(t){t=t||{};var e=window.location.hash,s=document.getElementById(e.slice(1));if(s&&t.ignore&&s.matches(t.ignore))return!1;e&&s&&this.forceFocus(s,t)},bindInPageLinks(t){return t=t||{},Array.prototype.slice.call(document.querySelectorAll('a[href^="#"]')).filter((e=>{if("#"===e.hash||""===e.hash)return!1;if(t.ignore&&e.matches(t.ignore))return!1;if(s=e.hash.substr(1),null===document.getElementById(s))return!1;var s,i=document.querySelector(e.hash);return!!i&&(e.addEventListener("click",(()=>{this.forceFocus(i,t)})),!0)}))},focusable(t){return Array.prototype.slice.call(t.querySelectorAll("[tabindex],[draggable],a[href],area,button:enabled,input:not([type=hidden]):enabled,object,select:enabled,textarea:enabled")).filter((t=>!(!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)||!this.isVisible(t))))},trapFocus(t,e){e=e||{};var s=this.focusable(t),i=e.elementToFocus||t,o=s[0],n=s[s.length-1];this.removeTrapFocus(),a.focusin=function(e){t!==e.target&&!t.contains(e.target)&&o&&o===e.target&&o.focus(),e.target!==t&&e.target!==n&&e.target!==o||document.addEventListener("keydown",a.keydown)},a.focusout=function(){document.removeEventListener("keydown",a.keydown)},a.keydown=function(e){"Tab"===e.code&&(e.target!==n||e.shiftKey||(e.preventDefault(),o.focus()),e.target!==t&&e.target!==o||!e.shiftKey||(e.preventDefault(),n.focus()))},document.addEventListener("focusout",a.focusout),document.addEventListener("focusin",a.focusin),this.forceFocus(i,e)},removeTrapFocus(){document.removeEventListener("focusin",a.focusin),document.removeEventListener("focusout",a.focusout),document.removeEventListener("keydown",a.keydown)},autoFocusLastElement(){window.a11y.lastElement&&document.body.classList.contains("is-focused")&&setTimeout((()=>{window.a11y.lastElement?.focus()}))},accessibleLinks(t,e){if("string"!=typeof t)throw new TypeError(t+" is not a String.");if(0!==(t=document.querySelectorAll(t)).length){(e=e||{}).messages=e.messages||{};var s={newWindow:e.messages.newWindow||"Opens in a new window.",external:e.messages.external||"Opens external website.",newWindowExternal:e.messages.newWindowExternal||"Opens external website in a new window."}
9,i=e.prefix||"a11y",o={newWindow:i+"-new-window-message",external:i+"-external-message",newWindowExternal:i+"-new-window-external-message"};t.forEach((t=>{var e=t.getAttribute("target"),s=t.getAttribute("rel"),i=function(t){return t.hostname!==window.location.hostname}(t),n="_blank"===e,r=null===s||-1===s.indexOf("noopener");if(n&&r){var a=null===s?"noopener":s+" noopener";t.setAttribute("rel",a)}i&&n?t.setAttribute("aria-describedby",o.newWindowExternal):i?t.setAttribute("aria-describedby",o.external):n&&t.setAttribute("aria-describedby",o.newWindow)})),function(t){var e=document.createElement("ul"),s=Object.keys(t).reduce(((e,s)=>e+"<li id="+o[s]+">"+t[s]+"</li>"),"");e.setAttribute("hidden",!0),e.innerHTML=s,document.body.appendChild(e)}(s)}},isVisible(t){var e=window.getComputedStyle(t);return"none"!==e.display&&"hidden"!==e.visibility}};window.theme=window.theme||{},window.theme.a11y=l,window.theme.throttle=(t,e)=>{let s,i;return function o(...n){const r=Date.now();i=clearTimeout(i),!s||r-s>=e?(t.apply(null,n),s=r):i=setTimeout(o.bind(null,...n),e-(r-s))}};class d extends HTMLElement{constructor(){super(),this.input=this.querySelector("input"),this.changeEvent=ne
9w Event("change",{bubbles:!0}),this.input.addEventListener("change",this.onInputChange.bind(this)),this.querySelectorAll("button").forEach((t=>t.addEventListener("click",this.onButtonClick.bind(this))))}quantityUpdateUnsubscriber=void 0;connectedCallback(){this.validateQtyRules(),this.quantityUpdateUnsubscriber=subscribe(theme.PUB_SUB_EVENTS.quantityUpdate,this.validateQtyRules.bind(this))}disconnectedCallback(){this.quantityUpdateUnsubscriber&&this.quantityUpdateUnsubscriber()}onInputChange(t){this.validateQtyRules(),this.input&&"updates[]"===this.input.name&&this.updateCart()}onButtonClick(t){t.preventDefault();const e=this.input.value,s="BUTTON"===t.target.nodeName?t.target:t.target.closest("button"),i=s?s.name:void 0,o="decrease"===i||"minus"===i;"increase"===i||"plus"===i?parseInt(this.input?.dataset?.min)>parseInt(this.input.step)&&0==this.input.value?this.input.value=this.input.dataset.min:this.input.stepUp():o&&this.input.stepDown(),e!==this.input.value&&this.input.dispatchEvent(this.changeEvent),this.input?.dataset?.min===e&&o&&(this.input.value=parseInt(this.input.min))}validateQtyRules(){const t=parseInt(this.input.value);if(this.input.min){const e=this.querySelector(".quantity__button[name='minus']")||this.querySelector(".quantity__button[name='decrease']");e&&e.classList.toggle("disabled",parseInt(t)<=parseInt(this.input.min))}if(this.input.max){const e=parseInt(this.input.max),s=this.querySelector(".quantity__button[name='plus']")||this.querySelector(".quantity__button[name='increase']");s&&s.classList.toggle("disabled",t>=e)}}updateCart(){this.input&&""!==this.input.value&&this.dispatchEvent(new CustomEvent("theme:cart:update",{bubbles:!0,detail:{id:this.input.dataset.id,quantity:this.input.value}}))}}customElements.define("quantity-input",d);class c{static viewTransition(t,e,s=[],i=[]){s?.forEach((t=>t(e)));const o=document.createElement("div");c.setInnerHTML(o,e.outerHTML);const n=o.firstChild,r=Date.now();t.querySelectorAll("[id], [form]").forEach((t=>{t.id&&(t.id=`${t.id}-${r}`),t.form&&t.setAttribute("form",`${t.form.getAttribute("id")}-${r}`)})),t.parentNode.insertBefore(n,t),t.style.display="none",i?.forEach((t=>t(n))),setTimeout((()=>t.remove()),500)}static setInnerHTML(t,e){t.innerHTML=e,t.querySelectorAll("script").forEach((t=>{const 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)}))}}function h(){if(document.querySelector("cart-items"))return;const t=document.createElement("cart-items");document.body.appendChild(t)}function u(t){t.querySelectorAll(".form-field").forEach((t=>{const e=t.querySelector("label"),s=t.querySelector("input, textarea");e&&s&&(s.addEventListener("keyup",(t=>{""!==t.target.value?e.classList.add("label--float"):e.classList.remove("label--float")})),s.value&&s.value.length&&e.classList.add("label--float"))}))}window.HTMLUpdateUtility=c,window.theme.windowWidth=p(),window.theme.windowHeight=g(),window.theme.isMobile=v();let m=window.visualViewport?window.visualViewport.scale:1;function p(){return document.documentElement.clientWidth||document.body.clientWidth||window.innerWidth}function g(){return document.documentElement.clientHeight||document.body.clientHeight||window.innerHeight}function v(){return window.innerWidth<theme.sizes.small}let b=window.scrollY,w=null,y=null,E=null,f=null,L=0;function S(e){setTimeout((()=>{L&&clearTimeout(L),t.disablePageScroll(e.detail,{allowTouchMove:t=>"TEXTAREA"===t.tagName}),document.documentElement.setAttribute("data-scroll-locked","")}))}function A(t){const e=t.detail;e?L=setTimeout(k,e):k()}function k(){t.clearQueueScrollLocks(),t.enablePageScroll(),document.documentElement.removeAttribute("data-scroll-locked")}const C=(t,e="",s)=>{const i=s||document.createElement("div");return i.classList.add(e),t.parentNode.insertBefore(i,t),i.appendChild(t)};function q(t){t.querySelectorAll(".rte table").forEach((t=>{C(t,"rte__table-wrapper"),t.setAttribute("data-scroll-lock-scrollable","")}));t.querySelectorAll('.rte iframe[src*="youtube.com/embed"], .rte iframe[src*="player.vimeo"], .rte iframe#admin_bar_iframe').forEach((t=>{C(t,"rte__video-wrapper")}))}function T(t){const e=t.querySelectorAll("[data-aria-toggle]");e.length&&e.forEach((t=>{t.addEventListener("click",(function(t){t.preventDefault();const e=t.currentTarget;
9e.setAttribute("aria-expanded","false"==e.getAttribute("aria-expanded")?"true":"false");const s=e.getAttribute("aria-controls"),i=document.querySelector(`#${s}`),o=()=>{i.classList.remove("expanding"),i.removeEventListener("transitionend",o)},n=()=>{i.classList.add("expanding"),i.removeEventListener("transitionstart",n)};i.addEventListener("transitionstart",n),i.addEventListener("transitionend",o),i.classList.toggle("expanded")}))}))}const M="is-loading",x="img.is-loading";const H="[data-aos]:not(.aos-animate)",I="[data-aos-anchor]",P="[data-aos]:not([data-aos-anchor]):not(.aos-animate)",D="aos-animate",O={attributes:!1,childList:!0,subtree:!0};let F=[];const B=t=>{for(const e of t)if("childList"===e.type){const t=e.target,s=t.querySelectorAll(H),i=t.querySelectorAll(I);s.length&&s.forEach((t=>{_.observe(t)})),i.length&&R(i)}},_=new IntersectionObserver(((t,e)=>{t.forEach((t=>{t.isIntersecting&&(t.target.classList.add(D),e.unobserve(t.target))}))}),{root:null,rootMargin:"0px",threshold:[0,.1,.25,.5,.75,1]}),$=new IntersectionObserver(((t,e)=>{t.forEach((t=>{if(t.intersectionRatio){const s=t.target.querySelectorAll(H);s.length&&s.forEach((t=>{t.classList.add(D)})),e.unobserve(t.target);const i=F.indexOf("#"+t.target.id);-1!==i&&F.splice(i,1)}}))}),{root:null,rootMargin:"0px",threshold:[.1,.25,.5,.75,1]});function R(t){t.length&&!Shopify.visualPreviewMode&&t.forEach((t=>{const e=t.dataset.aosAnchor;if(e&&-1===F.indexOf(e)){const t=document.querySelector(e);t&&($.observe(t),F.push(e))}}))}window.requestIdleCallback=window.requestIdleCallback||function(t){var e=Date.now();return setTimeout((function(){t({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-e))}})}),1)},window.cancelIdleCallback=window.cancelIdleCallback||function(t){clearTimeout(t)},window.theme.settings.enableAnimations&&(!function(){const t=document.querySelectorAll(P);t.length&&t.forEach((t=>{_.observe(t)}))}(),function(){const t=document.querySelectorAll(I);t.length&&R(t)}(),new MutationObserver(B).observe(document.body,O),document.addEventListener("shopify:section:unload",(t=>{if("object"!=typeof t.target||"undefined"===t.target.nodeValue)return;const e="#"+t.target.querySelector("[data-section-id]")?.id,s=F.indexOf(e);-1!==s&&F.splice(s,1)}))),window.addEventListener("resize",window.theme.debounce((function(){const t=window.visualViewport?window.visualViewport.scale:1;Math.abs(t-m)>.05?m=t:(m=t,function(){const t=v();window.theme.isMobile!==t&&(window.theme.isMobile=t);const e=p(),s=g();window.theme.windowWidth!==e&&(document.dispatchEvent(new CustomEvent("theme:resize:width",{bubbles:!0})),window.theme.windowWidth=e),window.theme.windowHeight!==s&&(document.dispatchEvent(new CustomEvent("theme:resize:height",{bubbles:!0})),window.theme.windowHeight=s),document.dispatchEvent(new CustomEvent("theme:resize",{bubbles:!0}))}())}),50)),function(){let t;window.addEventListener("scroll",(function(){t&&window.cancelAnimationFrame(t),t=window.requestAnimationFrame((function(){!function(){const t=window.scrollY;t>b?(y=!0,w=!1):t<b?(y=!1,w=!0):(w=null,y=null),b=t,document.dispatchEvent(new CustomEvent("theme:scroll",{detail:{up:w,down:y,position:t},bubbles:!1})),w&&!E&&document.dispatchEvent(new CustomEvent("theme:scroll:up",{detail:{position:t},bubbles:!1})),y&&!f&&document.dispatchEvent(new CustomEvent("theme:scroll:down",{detail:{position:t},bubbles:!1})),f=y,E=w}()}))}),{passive:!0}),window.addEventListener("theme:scroll:lock",S),window.addEventListener("theme:scroll:unlock",A)}(),"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?(document.documentElement.className=document.documentElement.className.replace("no-touch","supports-touch"),window.theme.touch=!0):window.theme.touch=!1,document.addEventListener("load",(t=>{"img"==t.target.tagName.toLowerCase()&&t.target.classList.contains(M)&&(t.target.classList.remove(M),t.target.parentNode.classList.remove(M),t.target.parentNode.parentNode.classList.contains(M)&&t.target.parentNode.parentNode.classList.remove(M))}),!0),window.addEventListener("DOMContentLoaded",(()=>{T(document),u(document),q(document),document.querySelectorAll(x).forEac
9h((t=>{t.complete&&(t.classList.remove(M),t.parentNode.classList.remove(M),t.parentNode.parentNode.classList.contains(M)&&t.parentNode.parentNode.classList.remove(M))})),document.body.classList.add("is-loaded"),h(),requestIdleCallback((()=>{Shopify.visualPreviewMode&&document.documentElement.classList.add("preview-mode")}))})),document.addEventListener("shopify:section:load",(t=>{const e=t.target;"object"==typeof e&&"undefined"!==e.nodeValue&&(u(e),q(e),T(document))}));const N="is-focused",W="[data-skip-content]",U='a[href="#"]';function V(t){this.status=t.status||null,this.headers=t.headers||null,this.json=t.json||null,this.body=t.body||null}window.a11y=new class{constructor(){this.init()}init(){this.a11y=window.theme.a11y,this.html=document.documentElement,this.body=document.body,this.inPageLink=document.querySelector(W),this.linkesWithOnlyHash=document.querySelectorAll(U),this.a11y.focusHash(),this.a11y.bindInPageLinks(),this.clickEvents(),this.focusEvents()}clickEvents(){this.inPageLink&&this.inPageLink.addEventListener("click",(t=>{t.preventDefault()})),this.linkesWithOnlyHash&&this.linkesWithOnlyHash.forEach((t=>{t.addEventListener("click",(t=>{t.preventDefault()}))}))}focusEvents(){let t=!1,e=0;document.addEventListener("mousedown",(()=>{t=!1,e=Date.now(),this.body.classList.remove(N)})),document.addEventListener("keydown",(()=>{t=!0})),document.addEventListener("focusin",(()=>{(t||Date.now()-e>1e3)&&this.body.classList.add(N)}))}},window.theme.waitForAnimationEnd=function(t){return new Promise((e=>{if(!t)return void e();const s=getComputedStyle(t),i=1e3*parseFloat(s.animationDuration),o=1e3*parseFloat(s.animationDelay),n=s.animationIterationCount;if("none"===s.display||"none"===s.animationName||0===i||"infinite"===n)return void e();const r=i+o;function a(s){s.currentTarget===t&&(t.removeEventListener("animationend",a),clearTimeout(l),e())}t.addEventListener("animationend",a);const l=setTimeout((()=>{t.removeEventListener("animationend",a),e()}),r+50)}))},window.theme.waitForAllAnimationsEnd=function(t){return new Promise(((e,s)=>{const i=t.querySelectorAll("[data-aos]");let o=0;function n(t){o++,o===i.length&&e(),t.target.removeEventListener("animationend",n)}i.forEach((t=>{t.addEventListener("animationend",n)})),o||s()}))},V.prototype=Error.prototype;const z="is-animated",j="is-added",X="is-disabled",G="is-empty",K="is-hidden",Y="is-hiding",Q="is-loading",J="is-open",Z="is-removed",tt="is-success",et="is-visible",st="is-expanded",it="is-updated",ot="variant--soldout",nt="variant--unavailable",rt={apiContent:"[data-api-content]",apiLineItems:"[data-api-line-items]",apiUpsellItems:"[data-api-upsell-items]",apiBundleItems:"[data-api-bundle-items]",apiCartPrice:"[data-api-cart-price]",animation:"[data-animation]",buttonSkipUpsellProduct:"[data-skip-upsell-product]",cartBarAdd:"[data-cart-bar-add-to-cart]",cartCloseError:"[data-cart-error-close]",cartDrawer:"cart-drawer",cartDrawerClose:"[data-cart-drawer-close]",cartEmpty:"[data-cart-empty]",cartErrors:"[data-cart-errors]",cartItemRemove:"[data-item-remove]",cartPage:"[data-cart-page]",cartForm:"[data-cart-form]",cartTermsCheckbox:"[data-cart-acceptance-checkbox]",cartCheckoutButtonWrapper:"[data-cart-checkout-buttons]",cartCheckoutButton:"[data-cart-checkout-button]",cartTotal:"[data-cart-total]",checkoutButtons:"[data-checkout-buttons]",errorMessage:"[data-error-message]",formCloseError:"[data-close-error]",formErrorsContainer:"[data-cart-errors-container]",formWrapper:"[data-form-wrapper]",freeShipping:"[data-free-shipping]",freeShippingGraph:"[data-progress-graph]",freeShippingProgress:"[data-progress-bar]",headerWrapper:"[data-header-wrapper]",item:"[data-item]",itemsHolder:"[data-items-holder]",leftToSpend:"[data-left-to-spend]",navDrawer:"[data-drawer]",outerSection:"[data-section-id]",priceHolder:"[data-cart-price-holder]",quickAddHolder:"[data-quick-add-holder]",quickAddModal:"[data-quick-add-modal]",qtyInput:'input[name="updates[]"]',upsellProductsHolder:"[data-upsell-products]",bundleProductsHolder:"[data-bundle-products]",upsellWidget:"[data-upsell-widget]",bundleWidget:"[data-bundle-widget]",termsErrorMessage:"[data-terms-error-message]",collapsibleBody:"[data-collapsible-body]",discountInput:"[data-discount-input]",discountField:"[data-discount-field]",discountButton:"[data-apply-discount]",discountBody:"[data-discount-body]",discountCode:"[data-discount-code]",discountErrorMessage:"[data-discount-error-message]",removeDiscount:"[data-remove-discount]"},at="data-cart-total",lt="disabled",dt="data-free-shipping",ct="data-free-shipping-limit",ht="data-item",ut="data-item-index",mt="data-item-title",pt="open",gt="data-quick-add-h
9older",vt="data-scroll-locked",bt="data-upsell-auto-open",wt="data-max-inventory-reached",yt="data-error-message-position";class Et extends HTMLElement{constructor(){super(),this.a11y=window.theme.a11y}connectedCallback(){this.cartPage=document.querySelector(rt.cartPage),this.cartForm=document.querySelector(rt.cartForm),this.cartDrawer=document.querySelector(rt.cartDrawer),this.cartEmpty=document.querySelector(rt.cartEmpty),this.cartTermsCheckbox=document.querySelector(rt.cartTermsCheckbox),this.cartCheckoutButtonWrapper=document.querySelector(rt.cartCheckoutButtonWrapper),this.cartCheckoutButton=document.querySelector(rt.cartCheckoutButton),this.checkoutButtons=document.querySelector(rt.checkoutButtons),this.itemsHolder=document.querySelector(rt.itemsHolder),this.priceHolder=document.querySelector(rt.priceHolder),this.items=document.querySelectorAll(rt.item),this.cartTotal=document.querySelector(rt.cartTotal),this.freeShipping=document.querySelectorAll(rt.freeShipping),this.cartErrorHolder=document.querySelector(rt.cartErrors),this.cartCloseErrorMessage=document.querySelector(rt.cartCloseError),this.headerWrapper=document.querySelector(rt.headerWrapper),this.navDrawer=document.querySelector(rt.navDrawer),this.upsellProductsHolder=document.querySelector(rt.upsellProductsHolder),this.bundleProductsHolder=document.querySelector(rt.bundleProductsHolder),this.subtotal=window.theme.subtotal,this.discountInput=document.querySelector(rt.discountInput),this.discountField=document.querySelector(rt.discountField),this.discountButton=document.querySelector(rt.discountButton),this.hasDiscountBlock=!!document.querySelector(rt.discountButton),this.discountErrorMessage=document.querySelector(rt.discountErrorMessage),this.existingDiscountCodes=[],this.discounts=document.querySelectorAll(rt.discountBody),this.cart=this.cartDrawer||this.cartPage,this.hasDiscountBlock&&(this.discountButton.addEventListener("click",(t=>{t.preventDefault();const e=this.discountInput.value.trim();this.discountInput.value="",e&&this.applyDiscount(e)})),this.bindDiscountEventListeners()),this.animateItems=this.animateItems.bind(this),this.addToCart=this.addToCart.bind(this),this.cartAddEvent=this.cartAddEvent.bind(this),this.updateProgress=this.updateProgress.bind(this),this.onCartDrawerClose=this.onCartDrawerClose.bind(this),document.addEventListener("theme:cart:add",this.cartAddEvent),document.addEventListener("theme:announcement:init",this.updateProgress),"drawer"==theme.settings.cartType&&(document.addEventListener("theme:cart-drawer:open",this.animateItems),document.addEventListener("theme:cart-drawer:close",this.onCartDrawerClose)),this.skipUpsellProductsArray=[],this.skipBundleProductsArray=[],this.skipUpsellOrBundleProductEvent(),this.checkSkippedUpsellOrBundleProductsFromStorage(),this.toggleCartUpsellOrBundleWidgetVisibility(),this.circumference=28*Math.PI,this.freeShippingLimit=this.freeShipping.length?100*Number(this.freeShipping[0].getAttribute(ct))*window.Shopify.currency.rate:0,this.freeShippingMessageHandle(this.subtotal),this.updateProgress(),this.build=this.build.bind(this),this.updateCart=this.updateCart.bind(this),this.productAddCallback=this.productAddCallback.bind(this),this.formSubmitHandler=window.theme.throttle(this.formSubmitHandler.bind(this),50),this.cartPage&&this.animateItems(),this.cart&&(this.hasItemsInCart=this.hasItemsInCart.bind(this),this.cartCount=this.getCartItemCount()),this.toggleClassesOnContainers=this.toggleClassesOnContainers.bind(this),this.totalItems=this.items.length,this.showCannotAddMoreInCart=!1,this.cartUpdateFailed=!1,this.discountError=!1,this.cartEvents(),this.cartRemoveEvents(),this.cartUpdateEvents(),document.addEventListener("theme:product:add",this.productAddCallback),document.addEventListener("theme:product:add-error",this.productAddCallback),document.addEventListener("theme:cart:refresh",this.getCart.bind(this))}disconnectedCallback(){document.removeEventListener("theme:cart:add",this.cartAddEvent),document.removeEventListener("theme:cart:refresh",this.cartAddEvent),document.removeEventListener("theme:announcement:init",this.updateProgress),document.removeEventListener("theme:product:add",this.productAddCallback),document.removeEventListener("theme:product:add-error",this.productAddCallback),document.documentElement.hasAttribute(vt)&&document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0}))}onCartDrawerClose(){this.resetAnimatedItems(),this.cartDrawer?.classList.contains(J)&&this.cart.classList.remove(it),this.cartEmpty.classList.remove(it),this.cartErrorHolder.classList.remove(st),this.cart.querySelectorAll(rt.animation).forEac
9h((t=>{const e=()=>{t.classList.remove(Y),t.removeEventListener("animationend",e)};t.classList.add(Y),t.addEventListener("animationend",e)})),this.hasDiscountBlock&&this.discountErrorMessage?.classList.add("hidden")}cartUpdateEvents(){this.items=document.querySelectorAll(rt.item),this.items.forEach((t=>{t.addEventListener("theme:cart:update",(e=>{this.updateCart({id:e.detail.id,quantity:e.detail.quantity},t)}))}))}cartRemoveEvents(){document.querySelectorAll(rt.cartItemRemove).forEach((t=>{const e=t.closest(rt.item);t.addEventListener("click",(s=>{s.preventDefault(),t.classList.contains(X)||this.updateCart({id:t.dataset.id,quantity:0},e)}))})),this.cartCloseErrorMessage&&this.cartCloseErrorMessage.addEventListener("click",(t=>{t.preventDefault(),this.cartErrorHolder.classList.remove(st)}))}cartAddEvent(t){let e="",s=t.detail.button;if(s.hasAttribute("disabled"))return;const i=s.form||s.closest("form");if(!i.checkValidity())return void i.reportValidity();if(e=new FormData(i),null!==i&&i.querySelector('[type="file"]'))return;"drawer"===theme.settings.cartType&&this.cartDrawer&&t.preventDefault();const o=i.getAttribute(wt),n=i.getAttribute(yt);this.showCannotAddMoreInCart=!1,"true"===o&&"cart"===n&&(this.showCannotAddMoreInCart=!0),this.addToCart(e,s)}bindDiscountEventListeners(){this.hasDiscountBlock&&(this.discounts=document.querySelectorAll(rt.discountBody),this.discounts.forEach((t=>{const e=t.dataset.discountCode;this.existingDiscountCodes.includes(e)||this.existingDiscountCodes.push(e);const s=t.querySelector(rt.removeDiscount);s&&(s.removeEventListener("click",this.handleRemoveDiscount),s.addEventListener("click",(t=>{t.preventDefault(),this.removeDiscount(e)})))})))}applyDiscount(t){if(this.existingDiscountCodes.includes(t))return this.discountErrorMessage.classList.remove("hidden"),void(this.discountErrorMessage.textContent=window.theme.strings.discount_already_applied);this.existingDiscountCodes.push(t),this.updateCartDiscounts(this.existingDiscountCodes.join(","))}removeDiscount(t){this.existingDiscountCodes.includes(t)&&(this.existingDiscountCodes=this.existingDiscountCodes.filter((e=>e!==t)),this.updateCartDiscounts(this.existingDiscountCodes.join(",")))}updateCartDiscounts(t){const e=t.split(",").filter((t=>t)).pop()?.trim();this.disableCartButtons(),this.discountErrorMessage.classList.add("hidden"),fetch(window.theme.routes.cart_update_url,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({discount:t})}).then((t=>{if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.text()})).then((t=>{let s;try{s=JSON.parse(t)}catch(e){throw console.error("Failed to parse cart update response:",t),new Error("Invalid JSON response from server.")}if(e){s.discount_codes&&Array.isArray(s.discount_codes)&&s.discount_codes.some((t=>t.code===e&&t.applicable))?this.discountError=!1:(this.discountError=!0,this.existingDiscountCodes=this.existingDiscountCodes.filter((t=>t!==e)))}else this.discountError=!1;this.getCart()})).catch((t=>{console.log(t)}))}cartEvents(){this.cartTermsCheckbox&&(this.cartTermsCheckbox.removeEventListener("change",this.formSubmitHandler),this.cartCheckoutButtonWrapper.removeEventListener("click",this.formSubmitHandler),this.cartForm.removeEventListener("submit",this.formSubmitHandler),this.cartTermsCheckbox.addEventListener("change",this.formSubmitHandler),this.cartCheckoutButtonWrapper.addEventListener("click",this.formSubmitHandler),this.cartForm.addEventListener("submit",this.formSubmitHandler))}formSubmitHandler(){const t=document.querySelector(rt.cartTermsCheckbox).checked,e=document.querySelector(rt.termsErrorMessage);if(t)e.classList.remove(st),this.cartCheckoutButton.removeAttribute(lt);else{if(document.querySelector(rt.termsErrorMessage).length>0)return;e.innerText=theme.strings.cartAcceptanceError,this.cartCheckoutButton.setAttribute(lt,!0),e.classList.add(st)}}formErrorsEvents(t){t.querySelector(rt.formCloseError)?.addEventListener("click",(e=>{e.preventDefault(),t&&t.classList.remove(et)}))}getCart(){fetch(theme.routes.cart_url+"?section_id=api-cart-items").then(this.cartErrorsHandler).then((t=>t.text())).then((t=>{window.PresidioPlus=window.PresidioPlus||{};let e=!0;
9(window.GWP_CART_DRAWER_CONFIG||window.BUY_X_GET_Y_CART_DRAWER_CONFIG)&&!1===window.PresidioPlus.gwpProcessed&&(e=!1);const s=document.createElement("div");if(s.innerHTML=t,e){const t=s.querySelector(rt.apiContent);this.build(t)}})).catch((t=>console.log(t)))}addToCart(t,e){window.PresidioPlus=window.PresidioPlus||{},window.PresidioPlus.gwpProcessed=!1;let s={"X-Requested-With":"XMLHttpRequest",Accept:"application/javascript"};Array.isArray(t)&&(s={"Content-Type":"application/json",Accept:"application/javascript"},t=JSON.stringify({items:t})),this.cart&&this.cart.classList.add(Q);const i=e?.closest(rt.quickAddHolder);e&&(e.classList.add(Q),e.disabled=!0),i&&i.classList.add(et),fetch(theme.routes.cart_add_url,{method:"POST",headers:s,body:t}).then((t=>t.json())).then((s=>{if(!s.status||(this.addToCartError(s,e),e&&(e.classList.remove(Q),e.disabled=!1),this.showCannotAddMoreInCart)){if(this.cart){if(e&&(e.classList.remove(Q),e.classList.add(j),e.dispatchEvent(new CustomEvent("theme:product:add",{detail:{response:s,button:e},bubbles:!0}))),"page"===theme.settings.cartType)return void(window.location=theme.routes.cart_url);window.GWP_CART_DRAWER_CONFIG||window.BUY_X_GET_Y_CART_DRAWER_CONFIG?document.dispatchEvent(new CustomEvent("theme:cart:change",{bubbles:!0,detail:{source:"theme-add-to-cart"}})):this.getCart()}else window.location=theme.routes.cart_url;"string"!=typeof t&&publish(theme.PUB_SUB_EVENTS.cartUpdate,{source:"product-form",productVariantId:t?.get("id"),cartData:s})}})).catch((t=>{this.addToCartError(t,e),this.enableCartButtons()}))}updateCart(t={},e=null){window.PresidioPlus=window.PresidioPlus||{},window.PresidioPlus.gwpProcessed=!1,this.cart.classList.add(Q);let s=t.quantity;null!==e&&(s?e.classList.add(Q):e.classList.add(Z)),this.disableCartButtons();const i=this.cart.querySelector(`[${ht}="${t.id}"]`)||e,o=i?.hasAttribute(ut)?parseInt(i.getAttribute(ut)):0,n=i?.hasAttribute(mt)?i.getAttribute(mt):null;if(0===o)return;const r={line:o,quantity:s};fetch(theme.routes.cart_change_url,{method:"post",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r)}).then((t=>t.text())).then((t=>{if(JSON.parse(t).errors)return this.cartUpdateFailed=!0,this.updateErrorText(n),this.toggleErrorMessage(),this.resetLineItem(e),this.enableCartButtons(),void this.bindDiscountEventListeners();window.GWP_CART_DRAWER_CONFIG||window.BUY_X_GET_Y_CART_DRAWER_CONFIG?document.dispatchEvent(new CustomEvent("theme:cart:change",{bubbles:!0,detail:{source:"theme-update-cart"}})):this.getCart()})).catch((t=>{console.log(t),this.enableCartButtons()}))}resetLineItem(t){const e=t.querySelector(rt.qtyInput),s=e.getAttribute("value");e.value=s,t.classList.remove(Q)}disableCartButtons(){const t=this.cart.querySelectorAll("input"),e=this.cart.querySelectorAll(`button, ${rt.cartItemRemove}`);t.length&&t.forEach((t=>{t.classList.add(X),t.blur(),t.disabled=!0})),e.length&&e.forEach((t=>{t.setAttribute(lt,!0)}))}enableCartButtons(){const t=this.cart.querySelectorAll("input"),e=this.cart.querySelectorAll(`button, ${rt.cartItemRemove}`);t.length&&t.forEach((t=>{t.classList.remove(X),t.disabled=!1})),e.length&&e.forEach((t=>{t.removeAttribute(lt)})),this.cart.classList.remove(Q)}updateErrorText(t){this.cartErrorHolder.querySelector(rt.errorMessage).innerText=t}toggleErrorMessage(){this.cartErrorHolder&&(this.cartErrorHolder.classList.toggle(st,this.cartUpdateFailed||this.showCannotAddMoreInCart),this.showCannotAddMoreInCart=!1,this.cartUpdateFailed=!1)}cartErrorsHandler(t){return t.ok?t:t.json().then((function(e){throw new V({status:t.statusText,headers:t.headers,json:e})}))}hideAddToCartErrorMessage(){const t=(this.button.closest(rt.upsellHolder)?this.button.closest(rt.upsellHolder):this.button.closest(rt.productForm))?.querySelector(rt.formErrorsContainer);t?.classList.remove(et)}addToCartError(t,e){if(this.showCannotAddMoreInCart)return;if(null!==e){let s=(e.closest(rt.outerSection)||e.closest(rt.quickAddHolder)||e.closest(rt.quickAddModal))?.querySelector(rt.formErrorsContainer);const i=e.closest(rt.quickAddHolder);if(i&&i.querySelector(rt.formErrorsContainer)&&(s=i.querySelector(rt.formErrorsContainer)),s){let e=`${t.message}: ${t.description}`;t.message==t.description&&(e=t.message),s.innerHTML=`<div class="errors">${e}<button type="button" class="errors__close" data-close-error><svg aria-hidden="true" focusable="false" role="presentation" width="24px" height="24px" stroke-width="1" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" color="currentColor" class="icon icon-cancel"><path d="M6.758 17.243L12.001 12m5.243-5.243L12 12m0 0L6.758 6.757M12.001 12l5.243 5.243" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>`,s.classList.add(et),this.formErrorsEvents(s)}e.dispatchEvent(new CustomEvent("theme:product:add-error",{detail:{response:t,button:e},bubbles:!0}))}const s=e?.closest(rt.quickAddHolder);s&&s.dispatchEvent(new CustomEvent("theme:cart:error",{bubbles:!0,detail:{message:t.message,description:t.description,holder:s}})),this.cart?.classList.remove(Q)}productAddCallback(t){let e=[],s=null;const i="theme:product:add-error"==t.type,o=t.detail.button,n=document.querySelector(rt.cartBarAdd);e.push(o),s=o.closest(rt.quickAddHolder),n&&e.push(n),e.forEach((t=>{t.classList.remove(Q),i||t.classList.add(j)})),setTimeout((()=>{e.forEach((t=>{t.classList.remove(j);t.closest(rt.formWrapper)?.classList.contains(ot)||t.closest(rt.formWrapper)?.classList.contains(nt)||(t.disabled=!1)})),s?.classList.remove(et)}),1e3)}toggleClassesOnContainers(){const t=this.hasItemsInCart();this.cart.classList.toggle(G,!t),!t&&this.cartDrawer&&setTimeout((()=>{this.a11y.trapFocus(this.cartDrawer,{elementToFocus:this.cartDrawer.querySelector(rt.cartDrawerClose)})}),100)}build(t){const e=t.querySelector(rt.apiLineItems),s=t.querySelector(rt.apiUpsellItems),i=t.querySelector(rt.apiBundleItems),o=Boolean(null===e&&null===s&&null===i),n=t.querySelector(rt.apiCartPrice),r=t.querySelector(rt.cartTotal);this.priceHolder&&n&&(this.priceHolder.innerHTML=n.innerHTML),o?(this.itemsHolder.innerHTML=t.innerHTML,this.upsellProductsHolder&&(this.upsellProductsHolder.innerHTML=""),this.bundleProductsHolder&&(this.bundleProductsHolder.innerHTML="")):(this.itemsHolder.innerHTML=e.innerHTML,this.upsellProductsHolder&&(this.upsellProductsHolder.innerHTML=s.innerHTML),this.bundleProductsHolder&&(this.bundleProductsHolder.innerHTML=i.innerHTML),this.skipUpsellOrBundleProductEvent(),this.checkSkippedUpsellOrBundleProductsFromStorage(),this.toggleCartUpsellOrBundleWidgetVisibility()),this.newTotalItems=e&&e.querySelectorAll(rt.item).length?e.querySelectorAll(rt.item).length:0,this.subtotal=r&&r.hasAttribute(at)?parseInt(r.getAttribute(at)):0,this.cartCount=this.getCartItemCount(),document.dispatchEvent(new CustomEvent("theme:cart:change",{bubbles:!0,detail:{cartCount:this.cartCount}})),this.cartTotal.innerHTML=0===this.subtotal?window.theme.strings.free:window.theme.formatMoney(this.subtotal,theme.moneyWithCurrencyFormat),this.totalItems!==this.newTotalItems&&(this.totalItems=this.newTotalItems,this.toggleClassesOnContainers()),this.cartDrawer?.classList.contains(J)&&this.cart.classList.add(it),this.cart.classList.remove(Q),this.hasItemsInCart()||this.cartEmpty.querySelectorAll(rt.animation).forEac
9h((t=>{t.classList.remove(z)})),this.hasDiscountBlock&&(this.discountField&&(this.discountField.value=this.existingDiscountCodes.join(",")),this.discountError?(this.discountErrorMessage.textContent=window.theme.strings.discount_not_applicable,this.discountErrorMessage.classList.remove("hidden")):this.discountErrorMessage.classList.add("hidden")),this.freeShippingMessageHandle(this.subtotal),this.cartRemoveEvents(),this.cartUpdateEvents(),this.toggleErrorMessage(),this.enableCartButtons(),this.updateProgress(),this.animateItems(),this.bindDiscountEventListeners(),document.dispatchEvent(new CustomEvent("theme:product:added",{bubbles:!0}))}getCartItemCount(){return Array.from(this.cart.querySelectorAll(rt.qtyInput)).reduce(((t,e)=>t+parseInt(e.value)),0)}hasItemsInCart(){return this.totalItems>0}freeShippingMessageHandle(t){this.freeShipping.length&&this.freeShipping.forEach((e=>{const s=e.hasAttribute(dt)&&"true"===e.getAttribute(dt)&&t>=0;e.classList.toggle(tt,s&&t>=this.freeShippingLimit)}))}updateProgress(){if(this.freeShipping=document.querySelectorAll(rt.freeShipping),!this.freeShipping.length)return;const t=isNaN(this.subtotal/this.freeShippingLimit)?100:this.subtotal/this.freeShippingLimit,e=Math.min(100*t,100),s=this.circumference-e/100*this.circumference/2,i=window.theme.formatMoney(this.freeShippingLimit-this.subtotal,theme.moneyFormat);this.freeShipping.forEach((t=>{const o=t.querySelector(rt.freeShippingProgress),n=t.querySelector(rt.freeShippingGraph),r=t.querySelector(rt.leftToSpend);r&&(r.innerHTML=i.replace(".00","")),o&&(o.value=e),n&&n.style.setProperty("--stroke-dashoffset",`${s}`)}))}skipUpsellOrBundleProductEvent(){if(null===this.upsellProductsHolder&&null===this.bundleProductsHolder)return;const t=[...this.upsellProductsHolder?.querySelectorAll(rt.buttonSkipUpsellProduct)||[],...this.bundleProductsHolder?.querySelectorAll(rt.buttonSkipUpsellProduct)||[]];t.length&&t.forEach((t=>{t.addEventListener("click",(e=>{e.preventDefault();const s=t.closest(rt.quickAddHolder).getAttribute(gt),i=!!t.closest(rt.upsellWidget),o=!!t.closest(rt.bundleWidget);i&&!this.skipUpsellProductsArray.includes(s)&&(this.skipUpsellProductsArray.push(s),window.sessionStorage.setItem("skip_upsell_products",this.skipUpsellProductsArray),this.removeUpsellOrBundleProduct(s,"upsell")),o&&!this.skipBundleProductsArray.includes(s)&&(this.skipBundleProductsArray.push(s),window.sessionStorage.setItem("skip_bundle_products",this.skipBundleProductsArray),this.removeUpsellOrBundleProduct(s,"bundle")),this.toggleCartUpsellOrBundleWidgetVisibility()}))}))}checkSkippedUpsellOrBundleProductsFromStorage(){[{key:"upsell",storageKey:"skip_upsell_products",array:this.skipUpsellProductsArray},{key:"bundle",storageKey:"skip_bundle_products",array:this.skipBundleProductsArray}].forEach((({key:t,storageKey:e,array:s})=>{const i=window.sessionStorage.getItem(e);i&&i.split(",").forEach((e=>{s.includes(e)||s.push(e),this.removeUpsellOrBundleProduct(e,t)}))}))}removeUpsellOrBundleProduct(t,e="upsell"){const s={upsell:this.upsellProductsHolder,bundle:this.bundleProductsHolder}[e];if(!s)return;const i=s.querySelector(`[${gt}="${t}"]`);i&&i.parentNode&&i.parentNode.remove()}toggleCartUpsellOrBundleWidgetVisibility(){if(!this.upsellProductsHolder&&!this.bundleProductsHolder)return;const t=this.upsellProductsHolder?.querySelectorAll(rt.quickAddHolder),e=this.bundleProductsHolder?.querySelectorAll(rt.quickAddHolder),s=this.upsellProductsHolder?.closest(rt.upsellWidget),i=this.bundleProductsHolder?.closest(rt.bundleWidget);if(!s&&!i)return;const o=(t,e,s)=>{if(t&&(t.classList.toggle(K,!e.length),e.length&&!t.hasAttribute(pt)&&t.hasAttribute(s))){t.setAttribute(pt,!0);const e=t.querySelector(rt.collapsibleBody);e&&(e.style.height="auto")}};o(s,t,bt),o(i,e,bt)}resetAnimatedItems(){this.cart.querySelectorAll(rt.animation).forEach((t=>{t.classList.remove(z),t.classList.remove(Y)}))}animateItems(t){requestAnimationFrame((()=>{let e=this.cart;t&&t.detail&&t.detail.target&&(e=t.detail.target),e?.querySelectorAll(rt.animation).forEach((t=>{t.classList.add(z)}))}))}}customElements.get("cart-items")||customElements.define("cart-items",Et);
9const ft="data-cart-count",Lt="data-limit";class St extends HTMLElement{constructor(){super(),this.cartCount=null,this.limit=this.getAttribute(Lt),this.onCartChangeCallback=this.onCartChange.bind(this)}connectedCallback(){document.addEventListener("theme:cart:change",this.onCartChangeCallback)}disconnectedCallback(){document.addEventListener("theme:cart:change",this.onCartChangeCallback)}onCartChange(t){this.cartCount=t?.detail?.cartCount,this.update()}update(){if(void 0!==this.cartCount&&null!==this.cartCount){this.setAttribute(ft,this.cartCount);let t=this.cartCount;this.limit&&this.cartCount>=this.limit&&(t="9+"),this.innerText=t}}}customElements.get("cart-count")||customElements.define("cart-count",St);const At="is-open",kt="is-closing",Ct="drawer--duplicate",qt="drawer-editor-error",Tt=".additional-checkout-buttons",Mt="cart-drawer",xt="[data-cart-drawer-close]",Ht="[data-cart-drawer-inner]",It=".shopify-section",Pt="data-drawer-underlay";class Dt extends HTMLElement{constructor(){super(),this.cartDrawerIsOpen=!1,this.cartDrawerClose=this.querySelector(xt),this.cartDrawerInner=this.querySelector(Ht),this.openCartDrawer=this.openCartDrawer.bind(this),this.closeCartDrawer=this.closeCartDrawer.bind(this),this.toggleCartDrawer=this.toggleCartDrawer.bind(this),this.openCartDrawerOnProductAdded=this.openCartDrawerOnProductAdded.bind(this),this.openCartDrawerOnSelect=this.openCartDrawerOnSelect.bind(this),this.closeCartDrawerOnDeselect=this.closeCartDrawerOnDeselect.bind(this),this.cartDrawerSection=this.closest(It),this.a11y=window.theme.a11y,this.closeCartEvents()}connectedCallback(){const t=this.closest(It);if(window.theme.hasCartDrawer){if(!window.Shopify.designMode)return void t.remove();{const t=document.createElement("div");t.classList.add(qt),t.innerText="Cart drawer section already exists.",this.querySelector(`.${qt}`)||this.querySelector(Ht).append(t),this.classList.add(Ct)}}window.theme.hasCartDrawer=!0,this.addEventListener("theme:cart-drawer:show",this.openCartDrawer),document.addEventListener("theme:cart:toggle",this.toggleCartDrawer),document.addEventListener("theme:quick-add:open",this.closeCartDrawer),document.addEventListener("theme:product:added",this.openCartDrawerOnProductAdded),document.addEventListener("shopify:block:select",this.openCartDrawerOnSelect),document.addEventListener("shopify:section:select",this.openCartDrawerOnSelect),document.addEventListener("shopify:section:deselect",this.closeCartDrawerOnDeselect)}disconnectedCallback(){document.removeEventListener("theme:product:added",this.openCartDrawerOnProductAdded),document.removeEventListener("theme:cart:toggle",this.toggleCartDrawer),document.removeEventListener("theme:quick-add:open",this.closeCartDrawer),document.removeEventListener("shopify:block:select",this.openCartDrawerOnSelect),document.removeEventListener("shopify:section:select",this.openCartDrawerOnSelect),document.removeEventListener("shopify:section:deselect",this.closeCartDrawerOnDeselect),document.querySelectorAll(Mt).length<=1&&(window.theme.hasCartDrawer=!1),h()}openCartDrawerOnProductAdded(){this.cartDrawerIsOpen||this.openCartDrawer()}openCartDrawerOnSelect(t){(t.target.querySelector(It)||t.target.closest(It)||t.target)===this.cartDrawerSection&&this.openCartDrawer(!0)}closeCartDrawerOnDeselect(){this.cartDrawerIsOpen&&this.closeCartDrawer()}openCartDrawer(t=!1){!t&&this.classList.contains(Ct)||(this.cartDrawerIsOpen=!0,this.onBodyClickEvent=this.onBodyClickEvent||this.onBodyClick.bind(this),document.body.addEventListener("click",this.onBodyClickEvent),document.dispatchEvent(new CustomEvent("theme:cart-drawer:open",{detail:{target:this},bubbles:!0})),document.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0})),this.classList.add(At),this.observeAdditionalCheckoutButtons(),window.theme.waitForAnimationEnd(this.cartDrawerInner).then((()=>{this.a11y.trapFocus(this,{elementToFocus:this.querySelector(xt)})})))}closeCartDrawer(){this.classList.contains(At)&&(this.classList.add(kt),this.classList.remove(At),this.cartDrawerIsOpen=!1,document.dispatchEvent(new CustomEvent("theme:cart-drawer:close",{bubbles:!0})),this.a11y.removeTrapFocus(),this.a11y.autoFocusLastElement(),document.body.removeEventListener("click",this.onBodyClickEvent),document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0})),window.theme.waitForAnimationEnd(this.cartDrawerInner).then((()=>{this.classList.remove(kt)})))}toggleCartDrawer(){this.cartDrawerIsOpen?this.closeCartDrawer():this.openCartDrawer()}closeCartEvents(){this.cartDrawerClose.addEventListener("click",(t=>{t.preventDefault(),this.closeCartDrawer()})),this.addEventListener("keyup",(t=>{"Escape"===t.code&&this.closeCartDrawer()}))}onBodyClick(t){t.target.hasAttribute(Pt)&&this.closeCartDrawer()}observeAdditionalCheckoutButtons(){const t=this.querySelector(Tt);if(t){const e=new MutationObserver((()=>{this.a11y.trapFocus(this,{elementToFocus:this.querySelector(xt)}),e.disconnect()}));e.observe(t,{subtree:!0,childList:!0})}}}customElements.get("cart-drawer")||customElements.define("cart-drawer",Dt);class Ot extends HTMLElement{constructor(){super(),this.single=this.hasAttribute("single"),this.toggle=this.toggle.bind(this),this.onCollapsibleClickEvent=this.onCollapsibleClick.bind(this),this.onTransitionEndEvent=this.onTransitionEnd.bind(this)}connectedCallback(){this.collapsibles=this.querySelectorAll("[data-collapsible]"),this.toggle(),document.addEventListener("theme:resize:width",this.toggle),this.collapsibles.forEac
9h((t=>{const e=t.querySelector("[data-collapsible-trigger]"),s=t.querySelector("[data-collapsible-body]");e?.addEventListener("click",this.onCollapsibleClickEvent),s?.addEventListener("transitionend",this.onTransitionEndEvent)}))}disconnectedCallback(){document.removeEventListener("theme:resize:width",this.toggle),this.collapsibles&&this.collapsibles.forEach((t=>{const e=t.querySelector("[data-collapsible-trigger]"),s=t.querySelector("[data-collapsible-body]");e?.removeEventListener("click",this.onCollapsibleClickEvent),s?.removeEventListener("transitionend",this.onTransitionEndEvent)})),this.collapsibles=null}toggle(){const t=!theme.isMobile;this.collapsibles.forEach((e=>{if(!e.hasAttribute("desktop")&&!e.hasAttribute("mobile"))return;const s=e.hasAttribute("desktop")?e.getAttribute("desktop"):"true",i=e.hasAttribute("mobile")?e.getAttribute("mobile"):"true",o=t&&"true"==s||!t&&"true"==i,n=e.querySelector("[data-collapsible-body]");o?(e.removeAttribute("disabled"),e.querySelector("[data-collapsible-trigger]").removeAttribute("tabindex"),e.removeAttribute("open"),this.setBodyHeight(n,"")):(e.setAttribute("disabled",""),e.setAttribute("open",!0),e.querySelector("[data-collapsible-trigger]").setAttribute("tabindex",-1))}))}open(t){if("true"==t.getAttribute("open"))return;const e=t.querySelector("[data-collapsible-body]"),s=t.querySelector("[data-collapsible-content]");t.setAttribute("open",!0),this.setBodyHeight(e,s.offsetHeight)}close(t){if(!t.hasAttribute("open"))return;const e=t.querySelector("[data-collapsible-body]"),s=t.querySelector("[data-collapsible-content]");this.setBodyHeight(e,s.offsetHeight),t.setAttribute("open",!1),setTimeout((()=>{requestAnimationFrame((()=>{this.setBodyHeight(e,0)}))}))}setBodyHeight(t,e){t.style.height="auto"!==e&&""!==e?`${e}px`:e}onTransitionEnd(t){const e=t.target,s=e.closest("[data-collapsible]"),i=s.querySelector("[data-collapsible-body]");e===i&&s&&("true"==s.getAttribute("open")&&this.setBodyHeight(i,"auto"),"false"==s.getAttribute("open")&&(s.removeAttribute("open"),this.setBodyHeight(i,"")))}onCollapsibleClick(t){t.preventDefault();const e=t.target.closest("[data-collapsible]");this.single&&this.collapsibles.forEach((t=>{t.hasAttribute("open")&&t!=e&&requestAnimationFrame((()=>{this.close(t)}))})),e.hasAttribute("open")?this.close(e):this.open(e),e.dispatchEvent(new CustomEvent("theme:form:sticky",{bubbles:!0,detail:{element:"accordion"}})),e.dispatchEvent(new CustomEvent("theme:collapsible:toggle",{bubbles:!0}))}}customElements.get("collapsible-elements")||customElements.define("collapsible-elements",Ot);class Ft extends HTMLElement{constructor(){super();this.querySelector("[data-deferred-media-button]")?.addEventListener("click",this.loadContent.bind(this))}loadContent(t=!0){if(window.theme.pauseAllMedia(),!this.getAttribute("loaded")){const e=document.createElement("div");e.appendChild(this.querySelector("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0);const s=this.appendChild(e.querySelector("video, model-viewer, iframe"));t&&s.focus(),"VIDEO"==s.nodeName&&s.getAttribute("autoplay")&&s.play()}}}customElements.get("deferred-media")||customElements.define("deferred-media",Ft),window.theme.DeferredMedia=window.theme.DeferredMedia||Ft;const Bt="is-visible";class _t{constructor(t,e){t&&e&&(this.observer=null,this.container=t,this.itemSelector=e,this.init())}init(){const t={root:this.container,threshold:[.01,.5,.75,.99]};this.observer=new IntersectionObserver((t=>{t.forEach((t=>{t.intersectionRatio>=.99?t.target.classList.add(Bt):t.target.classList.remove(Bt)}))}),t),this.container.querySelectorAll(this.itemSelector)?.forEach((t=>{this.observer.observe(t)}))}destroy(){this.observer.disconnect()}}const $t="is-dragging",Rt="is-enabled",Nt="is-scrolling",Wt="is-visible",Ut="[data-grid-item]";class Vt{constructor(t){this.slider=t,this.isDown=!1,this.startX=0,this.scrollLeft=0,this.velX=0,this.scrollAnimation=null,this.isScrolling=!1,this.duration=800,this.scrollStep=this.scrollStep.bind(this),this.scrollToSlide=this.scrollToSlide.bind(this),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseWheel=this.handleMouseWheel.bind(this),this.slider.addEventListener("mousedown",this.handleMouseDown),this.slider.addEventListener("mouseleave",this.handleMouseLeave),this.slider.addEventListener("mouseup",this.handleMouseUp),this.slider.addEventListener("mousemove",this.handleMouseMove),this.slider.addEventListener("wheel",this.handleMouseWheel,{passive:!0}),this.slider.classList.add(Rt)}handleMouseDown(t){t.preventDefault(),this.isDown=!0,this.startX=t.pageX-this.slider.offsetLeft,this.scrollLeft=this.slider.scrollLeft,this.cancelMomentumTracking()}handleMouseLeave(){this.isDown&&(this.isDown=!1,this.beginMomentumTracking())}handleMouseUp(){this.isDown=!1,this.beginMomentumTracking()}handleMouseMove(t){if(!this.isDown)return;t.preventDefault();const e=1*(t.pageX-this.slider.offsetLeft-this.startX),s=this.slider.scrollLeft,i=e>0?1:-1;this.slider.classList.add($t,Nt),this.slider.scrollLeft=this.scrollLeft-e,this.slider.scrollLeft!==s&&(this.velX=this.slider.scrollLeft-s||i)}handleMouseWheel(){this.cancelMomentumTracking(),this.slider.classList.remove(Nt)}beginMomentumTracking(){this.isScrolling=!1,this.slider.classList.remove($t),this.cancelMomentumTracking(),this.scrollToSlide()}cancelMomentumTracking(){cancelAnimationFrame(this.scrollAnimation)}scrollToSlide(){if(!this.velX&&!this.isScrolling)return;const t=this.slider.querySelector(`${Ut}.${Wt}`);if(!t)return;const e=parseInt(window.getComputedStyle(t).marginRight)||0,s=t.offsetWidth+e,i=t.offsetLeft,o=this.velX>0?1:-1,n=Math.floor(Math.abs(this.velX)/100)||1;this.startPosition=this.slider.scrollLeft,this.distance=i-this.startPosition,this.startTime=performance.now(),this.isScrolling=!0,o<0&&this.velX<s&&(this.distance-=s*n),o>0&&this.velX<s&&(this.distance+=s*n),this.scrollAnimation=requestAnimationFrame(this.scrollStep)}scrollStep(){const t=performance.now()-this.startTime,e=parseFloat(this.easeOutCubic(Math.min(t,this.duration))).toFixed(1);this.slider.scrollLeft=e,t<this.duration?this.scrollAnimation=requestAnimationFrame(this.scrollStep):(this.slider.classList.remove(Nt),this.velX=0,this.isScrolling=!1)}easeOutCubic(t){return t/=this.duration,t--,this.distance*(t*t*t+1)+this.startPosition}destroy(){this.slider.classList.remove(Rt),this.slider.removeEventListener("mousedown",this.handleMouseDown),this.slider.removeEventListener("mouseleave",this.handleMouseLeave),this.slider.removeEventListener("mouseup",this.handleMouseUp),this.slider.removeEventListener("mousemove",this.handleMouseMove),this.slider.removeEventListener("wheel",this.handleMouseWheel)}}customElements.get("grid-slider")||customElements.define("grid-slider",class extends HTMLElement{constructor(){super(),this.isInitialized=!1,this.draggableSlider=null,this.positionArrows=this.positionArrows.bind(this),this.onButtonArrowClick=t=>this.buttonArrowClickEvent(t),this.slidesObserver=null,this.firstLastSlidesObserver=null,this.isDragging=!1,this.toggleSlider=this.toggleSlider.bind(this)}connectedCallback(){this.init(),this.addEventListener("theme:grid-slider:init",this.init)}init(){this.slider=this.querySelector("[data-grid-slider]"),this.slides=this.querySelectorAll("[data-grid-item]"),this.buttons=this.querySelectorAll("[data-button-arrow]"),this.slider.classList.add("scroll-snap-disabled"),this.toggleSlider(),document.addEventListener("theme:resize:width",this.toggleSlider),window.theme.waitForAllAnimationsEnd(this).then((()=>{this.slider.classList.remove("scroll-snap-disabled")})).catch((()=>{this.slider.classList.remove("scroll-snap-disabled")}))}
9toggleSlider(){if(!(this.slider.clientWidth<this.getSlidesWidth())||theme.isMobile&&window.theme.touch)this.destroy();else{if(this.isInitialized)return;this.slidesObserver=new _t(this.slider,"[data-grid-item]"),this.initArrows(),this.isInitialized=!0,this.draggableSlider=new Vt(this.slider)}}initArrows(){if(!this.buttons.length){const t=document.createElement("div");t.classList.add("slider__arrows"),t.innerHTML=theme.sliderArrows.prev+theme.sliderArrows.next,this.append(t),this.buttons=this.querySelectorAll("[data-button-arrow]"),this.buttonPrev=this.querySelector("[data-button-prev]"),this.buttonNext=this.querySelector("[data-button-next]")}this.toggleArrowsObserver(),this.hasAttribute("align-arrows")&&(this.positionArrows(),this.arrowsResizeObserver()),this.buttons.forEach((t=>{t.addEventListener("click",this.onButtonArrowClick)}))}buttonArrowClickEvent(t){t.preventDefault();const e=this.slider.querySelector("[data-grid-item].is-visible");let s=null;t.target.hasAttribute("data-button-prev")&&(s=e?.previousElementSibling),t.target.hasAttribute("data-button-next")&&(s=e?.nextElementSibling),this.goToSlide(s)}removeArrows(){this.querySelector(".slider__arrows")?.remove()}goToSlide(t){t&&this.slider.scrollTo({top:0,left:t.offsetLeft,behavior:"smooth"})}getSlidesWidth(){return this.slider.querySelector("[data-grid-item]")?.clientWidth*this.slider.querySelectorAll("[data-grid-item]").length}toggleArrowsObserver(){if(this.buttonPrev&&this.buttonNext){const t=this.slides.length,e=this.slides[0],s=this.slides[t-1],i={attributes:!0,childList:!1,subtree:!1},o=t=>{for(const i of t)if("attributes"===i.type){const t=i.target,o=Boolean(t.classList.contains("is-visible"));t==e&&(this.buttonPrev.disabled=o),t==s&&(this.buttonNext.disabled=o)}};e&&s&&(this.firstLastSlidesObserver=new MutationObserver(o),this.firstLastSlidesObserver.observe(e,i),this.firstLastSlidesObserver.observe(s,i))}}positionArrows(){if(this.hasAttribute("images-widths-different")){const t=this.slider.querySelectorAll("figure"),e=Math.max(0,...Array.from(t).map((t=>t.clientHeight)));return void this.style.setProperty("--button-position",e/2+"px")}const t=this.slider.querySelector("[data-social-video-item]")||this.slider.querySelector("[data-product-image]")||this.slider.querySelector("[data-collection-image]")||this.slider.querySelector("[data-column-image]")||this.slider;t&&this.style.setProperty("--button-position",t.clientHeight/2+"px")}arrowsResizeObserver(){document.addEventListener("theme:resize:width",this.positionArrows)}disconnectedCallback(){this.destroy(),document.removeEventListener("theme:resize:width",this.toggleSlider)}destroy(){this.isInitialized=!1,this.draggableSlider?.destroy(),this.draggableSlider=null,this.slidesObserver?.destroy(),this.slidesObserver=null,this.removeArrows(),document.removeEventListener("theme:resize:width",this.positionArrows)}}),window.theme.hasOpenModals=function(){const t=Boolean(document.querySelectorAll("dialog[open][data-scroll-lock-required]").length),e=Boolean(document.querySelectorAll(".drawer.is-open").length);return t||e},customElements.get("header-component")||customElements.define("header-component",class extends HTMLElement{constructor(){super(),this.style=this.dataset.style,this.desktop=this.querySelector("[data-header-desktop]"),this.deadLinks=document.querySelectorAll('.navlink[href="#"]'),this.resizeObserver=null,this.checkWidth=this.checkWidth.bind(this),this.isSticky=this.hasAttribute("data-header-sticky"),document.body.classList.toggle("has-header-sticky",this.isSticky)}connectedCallback(){this.killDeadLinks(),this.drawerToggleEvent(),this.cartToggleEvent(),this.initSticky(),"drawer"!==this.style&&this.desktop&&(this.minWidth=this.getMinWidth(),this.listenWidth())}listenWidth(){"ResizeObserver"in window?(this.resizeObserver=new ResizeObserver(this.checkWidth),this.resizeObserver.observe(this)):document.addEventListener("theme:resize",this.checkWidth)}drawerToggleEvent(){const t=this.querySelector("[data-drawer-toggle]");t.addEventListener("click",(()=>{(document.querySelector("header-drawer[data-drawer]")||document.querySelector("[data-drawer]")).dispatchEvent(new CustomEvent("theme:drawer:toggle",{bubbles:!1,detail:{button:t}}))}))}killDeadLinks(){this.deadLinks.forEach((t=>
9{t.onclick=t=>{t.preventDefault()}}))}checkWidth(){if(document.body.clientWidth<this.minWidth){this.classList.add("js__show__mobile");const{headerHeight:t}=window.theme.readHeights();document.documentElement.style.setProperty("--header-height",`${t}px`)}else this.classList.remove("js__show__mobile")}getMinWidth(){const t=document.createElement("div");t.classList.add("js__header__clone","header-wrapper"),t.appendChild(this.querySelector("header").cloneNode(!0)),document.body.appendChild(t);const e=t.querySelectorAll("[data-takes-space-wrapper]");let s=0,i=0;return e.forEach((t=>{const e=t.querySelectorAll("[data-child-takes-space]");let o=0;o=3===e.length?this._sumSplitWidths(e):this._sumWidths(e),o>s&&(s=o,i=20*e.length)})),document.body.removeChild(t),s+i}cartToggleEvent(){"drawer"===theme.settings.cartType&&this.querySelectorAll("[data-cart-toggle]")?.forEach((t=>{t.addEventListener("click",(e=>{const s=document.querySelector("cart-drawer");s&&(e.preventDefault(),s.dispatchEvent(new CustomEvent("theme:cart-drawer:show")),window.a11y.lastElement=t)}))}))}initSticky(){this.isSticky&&(this.isStuck=!1,this.cls=this.classList,this.headerOffset=document.querySelector(".page-header")?.offsetTop,this.updateHeaderOffset=this.updateHeaderOffset.bind(this),this.scrollEvent=t=>this.onScroll(t),this.listen(),this.stickOnLoad())}listen(){document.addEventListener("theme:scroll",this.scrollEvent),document.addEventListener("shopify:section:load",this.updateHeaderOffset),document.addEventListener("shopify:section:unload",this.updateHeaderOffset)}onScroll(t){t.detail.down?!this.isStuck&&t.detail.position>this.headerOffset&&this.stickSimple():t.detail.position<=this.headerOffset&&this.unstickSimple()}updateHeaderOffset(t){t.target.classList.contains("shopify-section-group-header-group")&&setTimeout((()=>{this.headerOffset=document.querySelector(".page-header")?.offsetTop}))}stickOnLoad(){window.scrollY>this.headerOffset&&this.stickSimple()}stickSimple(){this.cls.add("js__header__stuck"),this.isStuck=!0}unstickSimple(){document.documentElement.hasAttribute("data-scroll-locked")||(this.cls.remove("js__header__stuck"),this.isStuck=!1)}_sumSplitWidths(t){let e=[];t.forEach((t=>{t.firstElementChild&&e.push(t.firstElementChild.clientWidth)})),e[0]>e[2]?e[2]=e[0]:e[0]=e[2];return e.reduce(((t,e)=>t+e))}_sumWidths(t){let e=0;return t.forEach((t=>{e+=t.clientWidth})),e}disconnectedCallback(){"ResizeObserver"in window?this.resizeObserver?.unobserve(this):document.removeEventListener("theme:resize",this.checkWidth),this.isSticky&&(document.removeEventListener("theme:scroll",this.scrollEvent),document.removeEventListener("shopify:section:load",this.updateHeaderOffset),document.removeEventListener("shopify:section:unload",this.updateHeaderOffset))}});const zt="[data-top-link]",jt="[data-header-wrapper]",Xt="[data-stagger]",Gt="[data-stagger-first]",Kt="[data-stagger-second]",Yt="is-visible",Qt="meganav--visible",Jt="meganav--is-transitioning";customElements.get("hover-disclosure")||customElements.define("hover-disclosure",class extends HTMLElement{constructor(){super(),this.wrapper=this.closest(jt),this.key=this.getAttribute("aria-controls"),this.link=this.querySelector(zt),this.grandparent=this.classList.contains("grandparent"),this.disclosure=document.getElementById(this.key),this.transitionTimeout=0}connectedCallback(){this.setAttribute("aria-haspopup",!0),this.setAttribute("aria-expanded",!1),this.setAttribute("aria-controls",this.key),this.connectHoverToggle(),this.handleTablets(),this.staggerChildAnimations(),this.addEventListener("theme:disclosure:show",(t=>{this.showDisclosure(t)})),this.addEventListener("theme:disclosure:hide",(t=>{this.hideDisclosure(t)}))}showDisclosure(t){t&&t.type&&"mouseenter"===t.type&&this.wrapper.classList.add(Jt),this.grandparent?this.wrapper.classList.add(Qt):this.wrapper.classList.remove(Qt),this.setAttribute("aria-expanded",!0),this.classList.add(Yt),this.disclosure.classList.add(Yt),this.transitionTimeout&&clearTimeout(this.transitionTimeout),this.transitionTimeout=setTimeout((()=>{this.wrapper.classList.remove(Jt)}),200)}hideDisclosure(){this.classList.remove(Yt),this.disclosure.classList.remove(Yt),this.setAttribute("aria-expanded",!1),this.wrapper.classList.remove(Qt,Jt)}staggerChildAnimations(){const t=this.querySelectorAll(Xt);let e=50;t.forEach(((t,s)=>{t.style.transitionDelay=s*e+10+"ms",e*=.95}));this.querySelectorAll(Gt).forEach(((t,e)=>{const s=100*e;t.style.transitionDelay=`${s}ms`,t.parentElement.querySelectorAll(Kt).forEach(((t,e)=>{const i=20*(e+1);t.style.transitionDelay=`${s+i}ms`}))}))}handleTablets(){this.addEventListener("touchstart",function(t){this.classList.contains(Yt)||(t.preventDefault(),this.showDisclosure(t))}.bind(this),{passive:!0})}connectHoverToggle(){this.addEventListener("mouseenter",(t=>this.showDisclosure(t))),this.link.addEventListener("focus",(t=>this.showDisclosure(t))),this.addEventListener("mouseleave",(()=>this.hideDisclosure())),this.addEventListener("focusout",(t=>{this.contains(t.relatedTarget)||this.hideDisclosure()})),this.addEventListener("keyup",(t=>{"Escape"===t.code&&this.hideDisclosure()}))}});const Zt="[data-drawer-inner]",te="[data-drawer-close]",ee="[data-drawer-underlay]",se="[data-stagger-animation]",ie='button, [href], select, textarea, [tabindex]:not
9([tabindex="-1"])',oe="drawer--animated",ne="is-open",re="is-closing",ae="is-focused";customElements.get("header-drawer")||customElements.define("header-drawer",class extends HTMLElement{constructor(){super(),this.a11y=window.theme.a11y,this.isAnimating=!1,this.drawer=this,this.drawerInner=this.querySelector(Zt),this.underlay=this.querySelector(ee),this.triggerButton=null,this.staggers=this.querySelectorAll(se),this.showDrawer=this.showDrawer.bind(this),this.hideDrawer=this.hideDrawer.bind(this),this.connectDrawer(),this.closers()}connectDrawer(){this.addEventListener("theme:drawer:toggle",(t=>{this.triggerButton=t.detail?.button,this.classList.contains(ne)?this.dispatchEvent(new CustomEvent("theme:drawer:close",{bubbles:!0})):this.dispatchEvent(new CustomEvent("theme:drawer:open",{bubbles:!0}))})),this.addEventListener("theme:drawer:close",this.hideDrawer),this.addEventListener("theme:drawer:open",this.showDrawer),document.addEventListener("theme:cart-drawer:open",this.hideDrawer)}closers(){this.querySelectorAll(te)?.forEach((t=>{t.addEventListener("click",(()=>{this.hideDrawer()}))})),document.addEventListener("keyup",(t=>{"Escape"===t.code&&this.hideDrawer()})),this.underlay.addEventListener("click",(()=>{this.hideDrawer()}))}animateDrawerItems(){this.querySelectorAll("[data-animation]").forEach((t=>{t.classList.remove(K,Y),t.classList.add(z)}))}resetDrawerItems(){this.querySelectorAll("[data-animation]").forEach((t=>{t.classList.remove(z,Y)}))}syncMenuBlockHeight(){this.querySelectorAll(".mobile-menu__block--menu").forEach((t=>{const e=t.querySelector('[data-sliderule-pane="0"] [data-links]'),s=e?.scrollHeight||t.scrollHeight;s>0&&t.style.setProperty("--block-height",`${s}px`)}
9))}revealDrawerInner(){if(!this.drawerInner||!this.classList.contains(ne))return;const t=getComputedStyle(this.drawerInner);if("hidden"!==t.visibility&&Number(t.opacity)>0)return;this.drawerInner.style.animation="none",this.drawerInner.style.left="0",this.drawerInner.style.right="auto",this.drawerInner.style.transform="none",this.drawerInner.style.visibility="visible",this.drawerInner.style.opacity="1"}clearDrawerInnerReveal(){this.drawerInner&&(this.drawerInner.style.animation="",this.drawerInner.style.left="",this.drawerInner.style.right="",this.drawerInner.style.transform="",this.drawerInner.style.visibility="",this.drawerInner.style.opacity="")}showDrawer(){this.isAnimating||(this.isAnimating=!0,this.triggerButton?.setAttribute("aria-expanded",!0),this.classList.add(ne,oe),this.syncMenuBlockHeight(),requestAnimationFrame((()=>{this.animateDrawerItems(),this.syncMenuBlockHeight()})),document.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0})),this.drawerInner&&(this.a11y.removeTrapFocus(),window.theme.waitForAnimationEnd(this.drawerInner).then((()=>{this.isAnimating=!1,this.revealDrawerInner(),this.a11y.trapFocus(this.drawerInner,{elementToFocus:this.querySelector(ie)})}))))}hideDrawer(){!this.isAnimating&&this.classList.contains(ne)&&(this.isAnimating=!0,this.classList.add(re),this.classList.remove(ne),this.clearDrawerInnerReveal(),this.a11y.removeTrapFocus(),this.triggerButton&&(this.triggerButton.setAttribute("aria-expanded",!1),document.body.classList.contains(ae)&&this.triggerButton.focus()),document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0})),window.theme.waitForAnimationEnd(this.drawerInner).then((()=>{this.classList.remove(re,oe),this.resetDrawerItems(),this.clearDrawerInnerReveal(),this.isAnimating=!1,document.dispatchEvent(new CustomEvent("theme:sliderule:close",{bubbles:!1}))})))}disconnectedCallback(){document.removeEventListener("theme:cart-drawer:open",this.hideDrawer)}}),customElements.get("mobile-sliderule")||customElements.define("mobile-sliderule",class extends HTMLElement{constructor(){super(),this.key=this.id,this.menuBlock=this.closest("[data-mobile-menu-block]"),this.sliderule=this.querySelector("[data-sliderule]");const t=`[data-sliderule-open='${this.key}']`;this.exitSelector=`[data-sliderule-close='${this.key}']`,this.trigger=this.querySelector(t),this.exit=document.querySelectorAll(this.exitSelector),this.pane=this.trigger.closest("[data-sliderule-pane]"),this.childrenElements=this.querySelectorAll(":scope > [data-animates],\n             :scope > * > [data-animates],\n             :scope > * > * > [data-animates],\n             :scope > * > .sliderule-grid  > *"),this.drawerContent=this.closest("[data-drawer-content]"),this.cachedButton=null,this.a11y=window.theme.a11y,this.trigger.setAttribute("aria-haspopup",!0),this.trigger.setAttribute("aria-expanded",!1),this.trigger.setAttribute("aria-controls",this.key),this.closeSliderule=this.closeSliderule.bind(this),this.clickEvents(),this.keyboardEvents(),document.addEventListener("theme:sliderule:close",this.closeSliderule)}connectedCallback(){requestAnimationFrame((()=>{this.menuBlock&&!this.menuBlock.style.getPropertyValue("--block-height")&&this.menuBlock.style.setProperty("--block-height",`${this.menuBlock.scrollHeight}px`)}))}clickEvents(){this.trigger.addEventListener("click",(()=>{this.cachedButton=this.trigger,this.showSliderule()})),this.exit.forEach((t=>{t.addEventListener("click",(()=>{this.hideSliderule()}))}))}keyboardEvents(){this.addEventListener("keyup",(t=>{t.stopPropagation(),"Escape"===t.code&&this.hideSliderule()}))}adjustMenuHeight(){if(!this.menuBlock)return;const t=(this.menuBlock.querySelector('[data-sliderule="2"].is-visible')||this.menuBlock.querySelector('[data-sliderule="1"].is-visible')||this.menuBlock).querySelector("[data-links]");this.menuBlock.style.setProperty("--block-height",`${t.scrollHeight}px`)}trapFocusSliderule(t=!0){const e=t?this.querySelector(this.exitSelector):this.cachedButton;this.a11y.removeTrapFocus(),e&&this.drawerContent&&this.a11y.trapFocus(this.drawerContent,{elementToFocus:document.body.classList.contains("is-focused")?e:null})}hideSliderule(t=!1){const e=parseInt(this.pane.dataset.sliderulePane,10)-1;
9this.pane.setAttribute("data-sliderule-pane",e),this.pane.classList.add("is-hiding"),this.sliderule.classList.add("is-hiding");const s=t?"[data-animates].is-hidden":`[data-animates="${e}"]`;this.pane.querySelectorAll(s)?.forEach((t=>{t.classList.remove("is-hidden")}));const i=t?this.pane.querySelectorAll(".is-visible, .is-hiding"):this.childrenElements,o=i.length;i.forEach(((s,i)=>{const n=i===o-1;s.classList.remove("is-visible"),t&&(s.classList.remove("is-hiding"),this.pane.classList.remove("is-hiding"));const r=()=>{parseInt(this.pane.getAttribute("data-sliderule-pane"))===e&&this.sliderule.classList.remove("is-visible"),this.sliderule.classList.remove("is-hiding"),this.pane.classList.remove("is-hiding"),n&&(this.a11y.removeTrapFocus(),t||this.trapFocusSliderule(!1),requestAnimationFrame((()=>{this.adjustMenuHeight()}))),s.removeEventListener("animationend",r)};r()}))}showSliderule(){let t=null;const e=this.closest(".is-visible")||this.pane;e.scrollTo({top:0,left:0,behavior:"smooth"}),e.classList.add("is-scrolling");const s=()=>{e.scrollTop<=0?(e.classList.remove("is-scrolling"),t&&cancelAnimationFrame(t)):t=requestAnimationFrame(s)};t=requestAnimationFrame(s);const i=parseInt(this.pane.dataset.sliderulePane,10),o=i+1;this.sliderule.classList.add("is-visible"),this.pane.setAttribute("data-sliderule-pane",o),requestAnimationFrame((()=>{this.adjustMenuHeight()}));const n=this.pane.querySelectorAll(`[data-animates="${i}"]`),r=n.length;n?.forEach(((t,e)=>{const s=e===r-1;t.classList.add("is-hiding");const o=()=>{t.classList.remove("is-hiding"),parseInt(this.pane.getAttribute("data-sliderule-pane"))!==i&&t.classList.add("is-hidden"),s&&this.trapFocusSliderule(),t.removeEventListener("animationend",o)};o()}))}closeSliderule(){this.pane&&this.pane.hasAttribute("data-sliderule-pane")&&parseInt(this.pane.getAttribute("data-sliderule-pane"))>0&&(this.hideSliderule(!0),parseInt(this.pane.getAttribute("data-sliderule-pane"))>0&&this.pane.setAttribute("data-sliderule-pane",0),requestAnimationFrame((()=>{this.adjustMenuHeight()})))}disconnectedCallback(){document.removeEventListener("theme:sliderule:close",this.closeSliderule)}});const le="details",de="[data-popdown]",ce="[data-popdown-close]",he="mobile-menu",ue="data-popdown-underlay",me="data-scroll-locked",pe="is-open";class ge extends HTMLElement{constructor(){super(),this.popdown=this.querySelector(de),this.popdownContainer=this.querySelector(le),this.popdownClose=this.querySelector(ce),this.popdownTransitionCallback=this.popdownTransitionCallback.bind(this),this.detailsToggleCallback=this.detailsToggleCallback.bind(this),this.mobileMenu=this.closest(he),this.a11y=window.theme.a11y}connectedCallback(){this.popdown.addEventListener("transitionend",this.popdownTransitionCallback),this.popdownContainer.addEventListener("keyup",(t=>"ESCAPE"===t.code.toUpperCase()&&this.close())),this.popdownContainer.addEventListener("toggle",this.detailsToggleCallback),this.popdownClose.addEventListener("click",this.close.bind(this))}detailsToggleCallback(t){t.target.hasAttribute("open")&&this.open()}popdownTransitionCallback(t){t.target===this.popdown&&"opacity"===t.propertyName&&(this.classList.contains("is-open")?this.a11y.trapFocus(this.popdown,{elementToFocus:this.popdown.querySelector('input:not([type="hidden"])')}):(this.popdownContainer.removeAttribute("open"),this.a11y.removeTrapFocus()))}onBodyClick(t){this.contains(t.target)&&!t.target.hasAttribute(ue)||this.close()}open(){this.onBodyClickEvent=this.onBodyClickEvent||this.onBodyClick.bind(this),document.body.addEventListener("click",this.onBodyClickEvent),document.documentElement.hasAttribute(me)||document.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0})),requestAnimationFrame((()=>{this.classList.add(pe)}))}close(){this.classList.remove(pe),document.body.removeEventListener("click",this.onBodyClickEvent),this.mobileMenu||document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0}))}}customElements.get("header-search-popdown")||customElements.define("header-search-popdown",ge);const ve='input[type="search"]',be='[aria-selected="true"] a',we='button[type="reset"]',ye="hidden";class Ee extends HTMLElement{constructor(){super(),this.input=this.querySelector(ve),this.resetButton=this.querySelector(we),this.input&&(this.input.form.addEventListener("reset",this.onFormReset.bind(this)),this.input.addEventListener("input",window.theme.debounce((t=>{this.onChange(t)}
9),300).bind(this)))}toggleResetButton(){const t=this.resetButton.classList.contains(ye);this.input.value.length>0&&t?this.resetButton.classList.remove(ye):0!==this.input.value.length||t||this.resetButton.classList.add(ye)}onChange(){this.toggleResetButton()}shouldResetForm(){return!document.querySelector(be)}onFormReset(t){t.preventDefault(),this.shouldResetForm()&&(this.input.value="",this.toggleResetButton(),t.target.querySelector(ve).focus())}}customElements.define("header-search-form",Ee);const fe='input[type="search"]';class Le extends Ee{constructor(){super(),this.allSearchInputs=document.querySelectorAll(fe),this.setupEventListeners()}setupEventListeners(){let t=[];this.allSearchInputs.forEach((e=>t.push(e.form))),this.input.addEventListener("focus",this.onInputFocus.bind(this)),t.length<2||(t.forEach((t=>t.addEventListener("reset",this.onFormReset.bind(this)))),this.allSearchInputs.forEach((t=>t.addEventListener("input",this.onInput.bind(this)))))}onFormReset(t){super.onFormReset(t),super.shouldResetForm()&&this.keepInSync("",this.input)}onInput(t){const e=t.target;this.keepInSync(e.value,e)}onInputFocus(){theme.isMobile&&this.scrollIntoView({behavior:"smooth"})}keepInSync(t,e){this.allSearchInputs.forEach((s=>{s!==e&&(s.value=t)}))}}customElements.get("main-search")||customElements.define("main-search",Le);const Se="[data-scrollbar]",Ae="[data-scrollbar-arrow-prev]",ke="[data-scrollbar-arrow-next]",Ce="is-hidden",qe="data-scrollbar-slider",Te="data-scrollbar-slide-fullwidth";customElements.get("native-scrollbar")||customElements.define("native-scrollbar",class extends HTMLElement{constructor(){super(),this.scrollbar=this.querySelector(Se),this.arrowNext=this.querySelector(ke),this.arrowPrev=this.querySelector(Ae),this.toggleNextArrow=this.toggleNextArrow.bind(this)}connectedCallback(){document.addEventListener("theme:resize",this.toggleNextArrow),this.scrollbar.hasAttribute(qe)&&this.scrollToVisibleElement(),this.arrowNext&&this.arrowPrev&&(this.events(),this.toggleNextArrow())}disconnectedCallback(){document.removeEventListener("theme:resize",this.toggleNextArrow)}events(){this.arrowNext.addEventListener("click",(t=>{t.preventDefault(),this.goToNext()})),this.arrowPrev.addEventListener("click",(t=>{t.preventDefault(),this.goToPrev()})),this.scrollbar.addEventListener("scroll",(()=>{this.togglePrevArrow(),this.toggleNextArrow()}))}goToNext(){const t=(this.scrollbar.hasAttribute(Te)?this.scrollbar.getBoundingClientRect().width:this.scrollbar.getBoundingClientRect().width/2)+this.scrollbar.scrollLeft;this.move(t),this.arrowPrev.classList.remove(Ce),this.toggleNextArrow()}goToPrev(){const t=this.scrollbar.hasAttribute(Te)?this.scrollbar.getBoundingClientRect().width:this.scrollbar.getBoundingClientRect().width/2,e=this.scrollbar.scrollLeft-t;this.move(e),this.arrowNext.classList.remove(Ce),this.togglePrevArrow()}toggleNextArrow(){requestAnimationFrame((()=>{this.arrowNext?.classList.toggle(Ce,Math.round(this.scrollbar.scrollLeft+this.scrollbar.getBoundingClientRect().width+1)>=this.scrollbar.scrollWidth)}))}togglePrevArrow(){requestAnimationFrame((()=>{this.arrowPrev.classList.toggle(Ce,this.scrollbar.scrollLeft<=0)}))}scrollToVisibleElement(){[].forEach.call(this.scrollbar.children,(t=>{t.addEventListener("click",(e=>{e.preventDefault(),this.move(t.offsetLeft-t.clientWidth)}))}))}move(t,e="smooth"){this.scrollbar.scrollTo({top:0,left:t,behavior:e})}}),customElements.get("popout-select")||customElements.define("popout-select",class extends HTMLElement{constructor(){super()}connectedCallback(){this.popoutList=this.querySelector("[data-popout-list]"),this.popoutToggle=this.querySelector("[data-popout-toggle]"),this.popoutToggleText=this.querySelector("[data-popout-toggle-text]"),this.popoutInput=this.querySelector("[data-popout-input]")||this.parentNode.querySelector("[data-popout-input]")||this.parentNode.parentNode.querySelector("[data-quantity-input]"),this.popoutOptions=this.querySelectorAll("[data-popout-option]"),this.productGridItem=this.popout
9List.closest("[data-grid-item]"),this.fireSubmitEvent=this.hasAttribute("submit"),this.popupToggleFocusoutEvent=t=>this.onPopupToggleFocusout(t),this.popupListFocusoutEvent=t=>this.onPopupListFocusout(t),this.popupToggleClickEvent=t=>this.onPopupToggleClick(t),this.keyUpEvent=t=>this.onKeyUp(t),this.bodyClickEvent=t=>this.onBodyClick(t),this._connectOptions(),this._connectToggle(),this._onFocusOut()}onPopupToggleClick(t){const e=t.currentTarget,s="true"===e.getAttribute("aria-expanded");if(this.productGridItem){const t=this.productGridItem.querySelector("[data-product-image]");t&&t.classList.toggle("is-visible",!s),this.popoutList.style.maxHeight=`${Math.abs(this.popoutToggle.getBoundingClientRect().bottom-this.productGridItem.getBoundingClientRect().bottom)}px`}this.popoutList.classList.toggle("popout-list--visible"),e.setAttribute("aria-expanded",!s),s?this._hideList():(this.toggleListPosition(),this.popupListSetDimensions()),document.body.addEventListener("click",this.bodyClickEvent)}onPopupToggleFocusout(t){this.contains(t.relatedTarget)||this._hideList()}onPopupListFocusout(t){const e=t.currentTarget.contains(t.relatedTarget);this.popoutList.classList.contains("popout-list--visible")&&!e&&this._hideList()}toggleListPosition(){const t=this.popoutToggle.getBoundingClientRect().top;theme.windowHeight/2<t&&this.popoutList.classList.add("popout-list--top")}popupListSetDimensions(){this.popoutList.style.setProperty("--max-width","100vw"),this.popoutList.style.setProperty("--max-height","100vh"),requestAnimationFrame((()=>
9{const t=this.popoutList.getBoundingClientRect(),e=this.popoutToggle.getBoundingClientRect(),s=theme.windowWidth-t.left,i=theme.windowHeight-e.bottom,o=e.top,n=this.popoutList.classList.contains("popout-list--top")?o:i;this.popoutList.style.setProperty("--max-width",`${Math.floor(s)}px`),this.popoutList.style.setProperty("--max-height",`${Math.floor(n)}px`)}))}popupOptionsClick(t){if("#"===t.target.closest("[data-popout-option]").attributes.href.value){t.preventDefault();const e=t.currentTarget.hasAttribute("data-value")?t.currentTarget.getAttribute("data-value"):"";this.popoutInput.value=e;const s=t.currentTarget.closest("li");if(s){const t=s.getAttribute("data-option-value-id"),e=s.getAttribute("data-product-url");t&&this.popoutInput.setAttribute("data-option-value-id",t),e&&this.popoutInput.setAttribute("data-product-url",e)}if(this.popoutInput.disabled&&this.popoutInput.removeAttribute("disabled"),this.fireSubmitEvent)this._submitForm(e);else{const s=t.currentTarget.parentElement,i=this.popoutList.querySelector(".is-active"),o=this.popoutList.querySelector("[aria-current]");this.popoutInput.dispatchEvent(new Event("change",{bubbles:!0})),i&&(i.classList.remove("is-active"),s.classList.add("is-active")),"quantity"!=this.popoutInput.name||s.nextSibling||this.classList.add("is-active"),o&&o.hasAttribute("aria-current")&&(o.removeAttribute("aria-current"),t.currentTarget.setAttribute("aria-current","true")),""!==e&&(this.popoutToggleText.innerHTML=e,this.popoutToggleText.hasAttribute("data-popout-toggle-text")&&""!==this.popoutToggleText.getAttribute("data-popout-toggle-text")&&this.popoutToggleText.setAttribute("data-popout-toggle-text",e)),this.onPopupToggleFocusout(t),this.onPopupListFocusout(t)}}}onKeyUp(t){"Escape"===t.code&&(this._hideList(),this.popoutToggle.focus())}onBodyClick(t){const e=this.contains(t.target);this.popoutList.classList.contains("popout-list--visible")&&!e&&this._hideList()}_connectToggle(){this.popoutToggle.addEventListener("click",this.popupToggleClickEvent)}_connectOptions(){this.popoutOptions.length&&this.popoutOptions.forEach((t=>{t.addEventListener("click",(t=>this.popupOptionsClick(t)))}))}_onFocusOut(){this.addEventListener("keyup",this.keyUpEvent),this.popoutToggle.addEventListener("focusout",this.popupToggleFocusoutEvent),this.popoutList.addEventListener("focusout",this.popupListFocusoutEvent)}_submitForm(){const t=this.closest("form");t&&t.submit()}_hideList(){this.popoutList.classList.remove("popout-list--visible","popout-list--top"),this.popoutToggle.setAttribute("aria-expanded",!1),document.body.removeEventListener("click",this.bodyClickEvent)}});class Me{constructor(t,e,s=7){const i=new Date,o=new Date;o.setTime(i.getTime()+864e5*s),this.config={expires:o.toGMTString(),path:"/",domain:window.location.hostname,sameSite:"none",secure:!0},this.name=t,this.value=e}write(){(-1!==document.cookie.indexOf("; ")&&!document.cookie.split("; ").find((t=>t.startsWith(this.name)))||-1===document.cookie.indexOf("; "))&&(document.cookie=`${this.name}=${this.value}; expires=${this.config.expires}; path=${this.config.path}; domain=${this.config.domain}; sameSite=${this.config.sameSite}; secure=${this.config.secure}`)}read(){if(-1!==document.cookie.indexOf("; ")&&document.cookie.split("; ").find((t=>t.startsWith(this.name)))){return document.cookie.split("; ").find((t=>t.startsWith(this.name))).split("=")[1]}return!1}destroy(){document.cookie.split("; ").find((t=>t.startsWith(this.name)))&&(document.cookie=`${this.name}=null; expires=${this.config.expires}; path=${this.config.path}; domain=${this.config.domain}`)}}const xe={open:"[data-popup-open]",close:"[data-popup-close]",dialog:"dialog",focusable:'button, [href], select, textarea, [tabindex]:not([tabindex="-1"])',newsletterForm:"[data-newsletter-form]",newsletterHeading:"[data-newsletter-heading]",newsletterField:"[data-newsletter-field]"},He={closing:"closing",delay:"data-popup-delay",scrollLock:"data-scroll-lock-required",cookieName:"data-cookie-name",cookieValue:"data-cookie-value",preventTopLayer:"data-prevent-top-layer"},Ie="hidden",Pe="has-value",De="cart-bar-visible",Oe="is-visible",Fe="has-success",Be="mobile",_e="desktop",$e="bottom";class Re extends HTMLElement{constructor(){super(),this.popup=this.querySelector(xe.dialog),this.preventTopLayer=this.popup.hasAttribute(He.preventTopLayer),this.enableScrollLock=this.popup.hasAttribute(He.scrollLock),this.buttonPopupOpen=this.querySelector(xe.open),this.a11y=window.theme.a11y,this.isAnimating=!1,this.cookie=new Me(this.popup.getAttribute(He.cookieName),this.popup.getAttribute(He.cookieValue)),this.checkTargetReferrer(),this.checkCookie(),this.bindListeners()}checkTargetReferrer(){this.popup.hasAttribute(He.referrer)&&(-1!==location.href.indexOf(this.popup.getAttribute(He.referrer))||window.Shopify.designMode||this.popup.parentNode.removeChild(this.popup))}checkCookie(){this.cookie&&!1!==this.cookie.read()||(this.showPopupEvents(),this.popup.addEventListener("theme:popup:onclose",(()=>this.cookie.write())))}bindListeners(){this.buttonPopupOpen?.addEventListener("click",(t=>{t.preventDefault(),this.popupOpen(),window.theme.a11y.lastElement=this.buttonPopupOpen})),this.popup.querySelectorAll(xe.close)?.forEach((t=>{t.addEventListener("click",(t=>{t.preventDefault(),this.popupClose()}))})),this.popup.addEventListener("click",(t=>{"DIALOG"===t.target.nodeName&&"click"===t.type&&this.popupClose()})),this.popup.addEventListener("keydown",(t=>{"Escape"===t.code&&(t.preventDefault(),this.popupClose())})),this.popup.addEventListener("close",(()=>
9this.popupCloseActions()))}popupOpen(){this.isAnimating=!0,"function"!=typeof this.popup.showModal||this.preventTopLayer?"function"==typeof this.popup.show?this.popup.show():this.popup.setAttribute("open",""):this.popup.showModal(),this.popup.removeAttribute("inert"),this.popup.setAttribute("aria-hidden",!1),this.popup.focus(),this.enableScrollLock&&document.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0})),window.theme.waitForAnimationEnd(this.popup).then((()=>{this.isAnimating=!1,this.enableScrollLock&&this.a11y.trapFocus(this.popup);(this.popup.querySelector("[autofocus]")||this.popup.querySelector(xe.focusable))?.focus()}))}popupClose(){if(!this.isAnimating&&!this.popup.hasAttribute("inert")){if(!this.popup.hasAttribute(He.closing))return this.popup.setAttribute(He.closing,""),this.isAnimating=!0,void window.theme.waitForAnimationEnd(this.popup).then((()=>{this.isAnimating=!1,this.popupClose()}));"function"==typeof this.popup.close?this.popup.close():(this.popup.removeAttribute("open"),this.popup.setAttribute("aria-hidden",!0)),this.popupCloseActions()}}popupCloseActions(){this.popup.hasAttribute("inert")||(this.popup.setAttribute("inert",""),this.popup.setAttribute("aria-hidden",!0),this.popup.removeAttribute(He.closing),!window.theme.hasOpenModals()&&this.enableScrollLock&&document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0})),this.popup.dispatchEvent(new CustomEvent("theme:popup:onclose",{bubbles:!1})),this.enableScrollLock&&(this.a11y.removeTrapFocus(),this.a11y.autoFocusLastElement()))}showPopupEvents(){this.popup.hasAttribute("open")&&1==this.popup.getAttribute("open")&&this.popupOpen(),this.delay=this.popup.hasAttribute(He.delay)?this.popup.getAttribute(He.delay):null,this.isSubmitted=-1!==window.location.href.indexOf("accepts_marketing")||-1!==window.location.href.indexOf("customer_posted=true"),this.showOnScrollEvent&&document.removeEventListener("theme:scroll",this.showOnScrollEvent),this.showOnScrollEvent=window.theme.throttle(this.showOnScroll.bind(this),200),("always"===this.delay||this.isSubmitted)&&this.popupOpen(),this.delay&&this.delay.includes("delayed")&&!this.isSubmitted&&this.showDelayed(),"bottom"!==this.delay||this.isSubmitted||this.showOnBottomReached(),"idle"!==this.delay||this.isSubmitted||this.showOnIdle()}showDelayed(){const t=this.delay.includes("_")?parseInt(this.delay.split("_")[1]):10;setTimeout((()=>{this.popupOpen()}),1e3*t)}showOnIdle(){let t=0;const e=["mousemove","mousedown","click","touchmove","touchstart","touchend","keydown","keypress"],s=["load","resize","scroll"],i=()=>{t=setTimeout((()=>{t=0,this.popupOpen()}),6e4),e.forEach((t=>{document.addEventListener(t,o)})),s.forEach((t=>{window.addEventListener(t,o)}))},o=()=>{t&&clearTimeout(t),e.forEach((t=>{document.removeEventListener(t,o)})),s.forEach((t=>{window.removeEventListener(t,o)})),i()};i()}showOnBottomReached(){document.addEventListener("theme:scroll",this.showOnScrollEvent)}showOnScroll(){window.scrollY+window.innerHeight>=document.body.clientHeight&&(this.popupOpen(),document.removeEventListener("theme:scroll",this.showOnScrollEvent))}disconnectedCallback(){document.removeEventListener("theme:scroll",this.showOnScrollEvent)}}class Ne extends Re{constructor(){super(),this.form=this.popup.querySelector(xe.newsletterForm),this.heading=this.popup.querySelector(xe.newsletterHeading),this.newsletterField=this.popup.querySelector(xe.newsletterField)}connectedCallback(){const t=!1!==this.cookie?.read(),e=-1!==window.location.search.indexOf("?customer_posted=true"),s=[...this.classList].toString().includes($e),i=this.popup.classList.contains(Be),o=this.popup.classList.contains(_e),n=theme.isMobile;let r=!0;if((i&&!n||o&&n)&&(r=!1),!r)return super.a11y.removeTrapFocus(),void document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0}));t&&!window.Shopify.designMode||(window.Shopify.designMode||window.location.pathname.endsWith("/challenge")||super.showPopupEvents(),this.form&&this.form.classList.contains(Fe)&&(super.popupOpen(),this.cookie.write()),this.popup.addEventListener("theme:popup:onclose",(()=>this.cookie.write()))),e&&(this.delay=0),t&&!window.Shopify.designMode||(this.show(),this.form.classList.contains(Fe)&&(this.popupOpen(),this.cookie.write())),s&&this.observeCartBar()}show(){window.location.pathname.endsWith("/challenge")||(window.Shopify.designMode?super.popupOpen():super.showPopupEvents()),this.show
9Form(),this.inputField(),this.popup.addEventListener("theme:popup:onclose",(()=>this.cookie.write()))}observeCartBar(){if(this.cartBar=document.getElementById(xe.cartBar),!this.cartBar)return;let t=this.cartBar.classList.contains(Oe);document.body.classList.toggle(De,t);this.observer=new MutationObserver((e=>{for(const s of e)"attributes"===s.type&&(t=s.target.classList.contains(Oe),document.body.classList.toggle(De,t))})),this.observer.observe(this.cartBar,{attributes:!0,childList:!1,subtree:!1})}showForm(){this.heading?.addEventListener("click",(t=>{t.preventDefault(),this.heading.classList.add(Ie),this.form.classList.remove(Ie),this.newsletterField.focus()})),this.heading?.addEventListener("keyup",(t=>{"Enter"===t.code&&this.heading.dispatchEvent(new Event("click"))}))}inputField(){const t=()=>{this.resetClassTimer&&clearTimeout(this.resetClassTimer),""!==this.newsletterField.value&&this.popup.classList.add(Pe)};this.newsletterField.addEventListener("input",t),this.newsletterField.addEventListener("focus",t),this.newsletterField.addEventListener("focusout",(()=>{this.resetClassTimer&&clearTimeout(this.resetClassTimer),this.resetClassTimer=setTimeout((()=>{this.popup.classList.remove(Pe)}),2e3)}))}disconnectedCallback(){this.observer&&this.observer.disconnect()}}customElements.get("popup-component")||customElements.define("popup-component",Re),customElements.get("popup-newsletter")||customElements.define("popup-newsletter",Ne);const We='[role="option"]',Ue='[aria-selected="true"]',Ve="[data-popular-searches]",ze="predictive-search",je="[data-predictive-search-results]",Xe="[data-predictive-search-status]",Ge='input[type="search"]',Ke="[data-popdown]",Ye="[data-predictive-search-live-region-count-value]",Qe="[data-search-results-groups-wrapper]",Je="[data-predictive-search-search-for-text]",Ze="#shopify-section-predictive-search",ts='[aria-selected="true"] a',es='[aria-selected="true"] a, button[aria-selected="true"]';customElements.get("predictive-search")||customElements.define("predictive-search",class extends Ee{constructor(){super(),this.a11y=window.theme.a11y,this.abortController=new AbortController,this.allPredictiveSearchInstances=document.querySelectorAll(ze),this.cachedResults={},this.input=this.querySelector(Ge),this.isOpen=!1,this.predictiveSearchResults=this.querySelector(je),this.searchPopdown=this.closest(Ke),this.popularSearches=this.searchPopdown?.querySelector(Ve),this.searchTerm=""}connectedCallback(){this.input.addEventListener("focus",this.onFocus.bind(this)),this.input.form.addEventListener("submit",this.onFormSubmit.bind(this)),this.addEventListener("focusout",this.onFocusOut.bind(this)),this.addEventListener("keyup",this.onKeyup.bind(this)),this.addEventListener("keydown",this.onKeydown.bind(this))}getQuery(){return this.input.value.trim()}onChange(){super.onChange();const t=this.getQuery();this.searchTerm&&t.startsWith(this.searchTerm)||this.querySelector(Qe)?.remove(),this.updateSearchForTerm(this.searchTerm,t),this.searchTerm=t,this.searchTerm.length?this.getSearchResults(this.searchTerm):this.reset()}onFormSubmit(t){this.getQuery().length&&!this.querySelector(ts)||t.preventDefault()}onFormReset(t){super.onFormReset(t),super.shouldResetForm()&&(this.searchTerm="",this.abortController.abort(),this.abortController=new AbortController,this.closeResults(!0))}shouldResetForm(){return!document.querySelector(ts)}onFocus(){const t=this.getQuery();t.length&&(this.searchTerm!==t?this.onChange():"true"===this.getAttribute("results")?this.open():this.getSearchResults(this.searchTerm))}onFocusOut(){setTimeout((()=>{this.searchPopdown.contains(document.activeElement)||this.close()}))}onKeyup(t){switch(this.getQuery().length||this.close(!0),t.preventDefault(),t.code){case"ArrowUp":this.switchOption("up");break;case"ArrowDown":this.switchOption("down");break;case"Enter":this.selectOption()}}onKeydown(t){"ArrowUp"!==t.code&&"ArrowDown"!==t.code||t.preventDefault()}updateSearchForTerm(t,e){const s=this.querySelector(Je),i=s?.innerText;if(i){if(i.match(new RegExp(t,"g"))?.length>1)return;const o=i.replace(t,e);s.innerText=o}}switchOption(t){if(!this.getAttribute("open"))return;const e="up"===t,s=this.querySelector(Ue),i=Array.from(this.querySelectorAll(We)).filter((t=>null!==t.offsetParent));let o=0;if(e&&!s)return;let n=-1,r=0;for(;-1===n&&r<=i.length;)i[r]===s&&(n=r),r++;if(this.statusElement.textContent="",!e&&s?o=n===i.length-1?0:n+1:e&&(o=0===n?i.length-1:n-1),o===n)return;const a=i[o];a.setAttribute("aria-selected",!0),s&&s.setAttribute("aria-selected",!1),this.input.setAttribute("aria-activedescendant",a.id)}selectOption(){const t=this.querySelector(es);t&&t.click()}getSearchResults(t){const e=t.replace(" ","-").toLowerCase();this.setLiveRegionLoadingState(),this.cachedResults[e]?this.renderSearchResults(this.cachedResults[e]):fetch(`${theme.routes.predictive_search_url}?q=${encodeURIComponent(t)}&section_id=predictive-search`,{signal:this.abortController.signal}).then((t=>{if(!t.ok){var e=new Error(t.status);throw this.close(),e}return t.text()})).then((t=>{const s=(new DOMParser).parseFromString(t,"text/html").querySelector(Ze).innerHTML;
9this.allPredictiveSearchInstances.forEach((t=>{t.cachedResults[e]=s})),this.renderSearchResults(s)})).catch((t=>{if(20!==t?.code)throw this.close(),t}))}setLiveRegionLoadingState(){this.statusElement=this.statusElement||this.querySelector(Xe),this.loadingText=this.loadingText||this.getAttribute("data-loading-text"),this.setLiveRegionText(this.loadingText),this.setAttribute("loading",!0)}setLiveRegionText(t){this.statusElement.setAttribute("aria-hidden","false"),this.statusElement.textContent=t,setTimeout((()=>{this.statusElement.setAttribute("aria-hidden","true")}),1e3)}renderSearchResults(t){this.predictiveSearchResults.innerHTML=t,this.setAttribute("results",!0),this.setLiveRegionResults(),this.open()}setLiveRegionResults(){this.removeAttribute("loading"),this.setLiveRegionText(this.querySelector(Ye).textContent)}open(){this.setAttribute("open",!0),this.input.setAttribute("aria-expanded",!0),this.isOpen=!0,this.predictiveSearchResults.style.setProperty("--results-height",window.visualViewport.height-this.predictiveSearchResults.getBoundingClientRect().top+"px")}close(t=!1){this.closeResults(t),this.isOpen=!1,this.predictiveSearchResults.style.removeProperty("--results-height")}closeResults(t=!1){t&&(this.input.value="",this.removeAttribute("results"));const e=this.querySelector(Ue);e&&e.setAttribute("aria-selected",!1),this.input.setAttribute("aria-activedescendant",""),this.removeAttribute("loading"),this.removeAttribute("open"),this.input.setAttribute("aria-expanded",!1),this.predictiveSearchResults?.removeAttribute("style")}reset(){this.predictiveSearchResults.innerHTML="",this.input.val="",this.a11y.removeTrapFocus(),this.popularSearches&&(this.input.dispatchEvent(new Event("blur",{bubbles:!1})),this.a11y.trapFocus(this.searchPopdown,{elementToFocus:this.input}))}}),customElements.get("product-form")||customElements.define("product-form",class extends HTMLElement{constructor(){super(),this.form=this.querySelector("form"),this.variantIdInput.disabled=!1,this.form.addEventListener("submit",this.onSubmitHandler.bind(this)),this.cart=document.querySelector("cart-drawer"),this.submitButton=this.querySelector('[type="submit"]'),this.submitButtonText=this.submitButton.querySelector("[data-add-to-cart-text]"),document.querySelector("cart-drawer")&&this.submitButton.setAttribute("aria-haspopup","dialog"),this.hideErrors="true"===this.dataset.hideErrors}onSubmitHandler(t){t.preventDefault(),document.dispatchEvent(new CustomEvent("theme:cart:add",{detail:{button:this.submitButton},bubbles:!1}));this.closest("quick-add-modal")||(window.a11y.lastElement=this.submitButton)}toggleSubmitButton(t=!0,e=window.theme.strings.addToCart){this.submitButton.toggleAttribute("disabled",t);const s=this.submitButtonText.querySelector("[data-product-price]");if(s){const t=s.outerHTML;this.submitButtonText.textContent=e,this.submitButtonText.insertAdjacentHTML("beforeend",` ${t}`)}else this.submitButtonText.textContent=e}get variantIdInput(){return this.form.querySelector("[name=id]")}});const ss="[data-grid-swatch-fieldset]",is="[data-grid-item]",os="[data-product-information]",ns="[data-product-image]",rs="[data-swatch-button]",as="is-visible",ls="no-events",ds="data-swatch-handle",cs="data-swatch-label",hs="data-swatch-count",us="data-swatch-variant-name",ms="data-variant-title";class ps extends HTMLElement{constructor(){super(),this.productItemMouseLeaveEvent=()=>this.hideVariantImages(),this.showVariantImageEvent=t=>this.showVariantImage(t),this.resizeEvent=()=>this.init()}connectedCallback(){this.handle=this.getAttribute(ds),this.productItem=this.closest(is),this.productInfo=this.closest(os),this.productImage=this.productItem.querySelector(ns),this.swatchesStyle=theme.settings.collectionSwatchStyle,document.addEventListener("theme:resize:width",this.resizeEvent);const t=this.getAttribute(cs).trim().toLowerCase();(function(t){const e=`${window.theme.routes.root}products/${t}.js`;return window.fetch(e).then((t=>t.json())).catch((t=>{console.error(t)}))})(this.handle).then((e=>{this.product=e,this.colorOption=e.options.find((function(e){return e.name.toLowerCase()===t||null})),this.colorOption&&this.init()}))}init(){this.swatchCount=this.productInfo.querySelector(`[${hs}]`),this.swatchFieldset=this.productInfo.querySelector(ss),this.hideSwatchesTimer=0,this.swatchCount.hasAttribute(hs)&&("text-slider"==this.swatchesStyle&&(this.swatchCount.addEventListener("mouseenter",(()=>{this.hideSwatchesTimer&&clearTimeout(this.hideSwatchesTimer),this.productInfo.classList.add(ls),this.swatchFieldset.classList.add(as)})),this.productInfo.addEventListener("mouseleave",(()=>{this.hideSwatchesTimer=setTimeout((()=>{this.productInfo.classList.remove(ls),this.swatchFieldset.classList.remove(as)}),100)}))),"slider"!=this.swatchesStyle&&"grid"!=this.swatchesStyle&&"limited"!=this.swatchesStyle||this.swatchFieldset.classList.add(as)),this.bindSwatchButtonEvents()}bindSwatchButtonEvents(){this.querySelectorAll(rs)?.forEach((t=>{t.addEventListener("mouseenter",this.showVariantImageEvent)})),this.productItem.addEventListener("mouseleave",this.productItemMouseLeaveEvent)}showVariantImage(t){const e=t.target.getAttribute(us)?.replaceAll('"',"'"),s=this.productImage.querySelectorAll(`[${ms}]`),i=this.productImage.querySelector(`[${ms}="${e}"]`);s?.forEach((t=>{t.classList.remove(as)})),i?.classList.add(as)}hideVariantImages(){this.productImage.querySelectorAll(`[${ms}].${as}`)?.forEach((t=>{t.classList.remove(as)}))}disconnectedCallback(){document.removeEventListener("theme:resize:width",this.resizeEvent)}}const gs=".flickity-prev-next-button",vs="[data-product-link]",bs="[data-hover-slide]",ws="[data-hover-slide-touch]",ys="[data-hover-slider]",Es="recently-viewed",fs="video",Ls='[data-host="vimeo"]',Ss='[data-host="youtube"]';class As extends HTMLElement{constructor(){super(),this.flkty=null,this.slider=this.querySelector(ys),this.handleScroll=this.handleScroll.bind(this),this.recentlyViewed=this.closest(Es),this.hovered=!1,this.mouseEnterEvent=()=>this.mouseEnterActions(),this.mouseLeaveEvent=()=>this.mouseLeaveActions(),this.addEventListener("mouseenter",this.mouseEnterEvent),this.addEventListener("mouseleave",this.mouseLeaveEvent)}connectedCallback(){this.addArrowClickHandler(),this.recentlyViewed&&this.recentlyViewed.classList.contains("hidden")?(this.onRecentlyViewedLoaded=()=>this.initBasedOnDevice(),this.recentlyViewed.addEventListener("theme:recently-viewed:loaded",this.onRecentlyViewedLoaded)):this.initBasedOnDevice()}disconnectedCallback(){this.flkty&&(this.flkty.options.watchCSS=!1,this.flkty.destroy(),this.flkty=null),this.recentlyViewed&&this.onRecentlyViewedLoaded&&this.recentlyViewed.removeEventListener("theme:recently-viewed:loaded",this.onRecentlyViewedLoaded),this.removeEventListener("mouseenter",this.mouseEnterEvent),this.removeEventListener("mouseleave",this.mouseLeaveEvent)}initBasedOnDevice(){window.theme.touch?this.initTouch():this.initFlickity()}addArrowClickHandler(){const t=this.closest(vs);t&&t.addEventListener("click",(t=>{t.target.matches(gs)&&t.preventDefault()}))}initTouch(){this.style.setProperty("--slides-count",this.querySelectorAll(ws).length),this.slider.addEventListener("scroll",this.handleScroll)}handleScroll(){const t=this.slider.scrollLeft/this.slider.clientWidth;this.style.setProperty("--slider-index",t)}initFlickity(){this.flkty||!this.slider||this.slider.classList.contains("flickity-enabled")||this.querySelectorAll(bs).length<2||(this.flkty=new window.theme.Flickity(this.slider,{cellSelector:bs,contain:!0,wrapAround:!0,watchCSS:!0,autoPlay:!1,draggable:!1,pageDots:!1,prevNextButtons:!0}),this.flkty.pausePlayer(),this.addEventListener("mouseenter",(()=>{this.flkty.unpausePlayer()})),this.addEventListener("mouseleave",(()=>{this.flkty.pausePlayer()})))}mouseEnterActions(){this.hovered=!0,this.videoActions()}mouseLeaveActions(){this.hovered=!1,this.videoActions()}videoActions(){const t=this.querySelector(Ss),e=this.querySelector(Ls),s=t||e,i=this.querySelector(fs);if(s){let t=this.hovered?"playVideo":"pauseVideo",i=`{"event":"command","func":"${t}","args":""}`;e&&(t=this.hovered?"play":"pause",i=`{"method":"${t}"}`),s.contentWindow.postMessage(i,"*"),s.addEventListener("load",(t=>{this.videoActions()}))}else i&&(this.hovered?i.play():i.pause())}}const ks={added:"is-added",animated:"is-animated",disabled:"is-disabled",error:"has-error",loading:"is-loading",open:"is-open",overlayText:"product-item--overlay-text",visible:"is-visible",siblingLinkCurrent:"sibling__link--current"},Cs="[data-animation]",qs="[data-api-content]",Ts="[data-quick-add-btn]",Ms="[data-add-to-cart]",xs='button, [href], select, textarea, [tabindex]:not
9([tabindex="-1"])',Hs="[data-message-error]",Is="[data-quick-add-modal-handle]",Ps="[data-product-upsell-ajax]",Ds="[data-quick-add-modal-close]",Os="data-grid-item",Fs="[data-product-information]",Bs="[data-quick-add-holder]",_s="[data-quick-add-modal]",$s="[data-quick-add-modal-template]",Rs="closing",Ns="data-product-id",Ws="data-quick-add-modal-handle",Us="data-sibling-swapper",Vs="data-quick-add-holder";class zs extends HTMLElement{constructor(){super(),this.quickAddHolder=this.querySelector(Bs),this.quickAddHolder&&(this.modal=null,this.currentModal=null,this.productId=this.quickAddHolder.getAttribute(Vs),this.modalButton=this.quickAddHolder.querySelector(Is),this.handle=this.modalButton?.getAttribute(Ws),this.buttonQuickAdd=this.quickAddHolder.querySelector(Ts),this.buttonATC=this.quickAddHolder.querySelector(Ms),this.button=this.modalButton||this.buttonATC,this.modalClose=this.modalClose.bind(this),this.modalCloseOnProductAdded=this.modalCloseOnProductAdded.bind(this),this.a11y=window.theme.a11y,this.isAnimating=!1,this.modalButtonClickEvent=this.modalButtonClickEvent.bind(this),this.quickAddLoadingToggle=this.quickAddLoadingToggle.bind(this))}connectedCallback(){this.modalButton&&this.modalButton.addEventListener("click",this.modalButtonClickEvent),this.buttonATC&&this.buttonATC.addEventListener("click",(t=>{t.preventDefault(),window.a11y.lastElement=this.buttonATC,document.dispatchEvent(new CustomEvent("theme:cart:add",{detail:{button:this.buttonATC}}))})),this.quickAddHolder&&(this.quickAddHolder.addEventListener("animationend",this.quickAddLoadingToggle),this.errorHandler())}modalButtonClickEvent(t){t.preventDefault();const e=this.modalButton.hasAttribute(Us),s=this.modalButton.classList.contains(ks.siblingLinkCurrent);s||(this.modalButton.classList.add(ks.loading),this.modalButton.disabled=!0,e&&!s&&(this.currentModal=t.target.closest(_s),this.currentModal.classList.add(ks.loading)),this.renderModal())}modalCreate(t){const e=this.quickAddHolder.querySelector($s);if(!e)return;const s=document.createElement("div");s.innerHTML=e.innerHTML,document.body.appendChild(s.querySelector(_s)),this.modal=document.querySelector(`${_s}[${Ns}="${this.productId}"]`),this.modal.querySelector(Ps).innerHTML=(new DOMParser).parseFromString(t,"text/html").querySelector(qs).innerHTML,this.modalCreatedCallback()}modalOpen(){this.currentModal&&this.currentModal.dispatchEvent(new CustomEvent("theme:modal:close",{bubbles:!1})),"function"==typeof this.modal.show&&this.modal.show(),this.modal.setAttribute("open",!0),this.modal.removeAttribute("inert"),this.quickAddHolder.classList.add(ks.disabled),this.modalButton&&(this.modalButton.classList.remove(ks.loading),this.modalButton.disabled=!1,window.a11y.lastElement=this.modalButton),requestAnimationFrame((()=>{this.modal.querySelectorAll(Cs).forEach((t=>{t.classList.add(ks.animated)}))})),document.dispatchEvent(new CustomEvent("theme:quick-add:open",{bubbles:!0})),document.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0})),document.addEventListener("theme:product:added",this.modalCloseOnProductAdded,{once:!0})}modalClose(){if(!this.isAnimating){if(!this.modal.hasAttribute(Rs))return this.modal.setAttribute(Rs,""),void(this.isAnimating=!0);"function"==typeof this.modal.close?this.modal.close():this.modal.removeAttribute("open"),this.modal.removeAttribute(Rs),this.modal.setAttribute("inert",""),this.modal.classList.remove(ks.loading),this.modalButton&&(this.modalButton.disabled=!1),this.quickAddHolder&&this.quickAddHolder.classList.contains(ks.disabled)&&this.quickAddHolder.classList.remove(ks.disabled),this.resetAnimatedItems(),document.dispatchEvent(new CustomEvent("theme:tooltip:close",{bubbles:!0,detail:{hideTransition:!0,immediate:!0}})),window.theme.hasOpenModals()||document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0})),document.removeEventListener("theme:product:added",this.modalCloseOnProductAdded),this.a11y.removeTrapFocus(),this.a11y.autoFocusLastElement(),this.modalRemove()}}modalRemove(){window.theme.waitForAllAnimationsEnd(this.modal).then((()=>{this.modal?.remove()})).catch((()=>{this.modal?.remove()}))}modalEvents(){this.modal.querySelector(Ds)?.addEventListener("click",(t=>{t.preventDefault(),this.modalClose()})),this.modal.addEventListener("click",(t=>{"DIALOG"===t.target.nodeName&&"click"===t.type&&this.modalClose()})),this.modal.addEventListener("keydown",(t=>{"Escape"==t.code&&(t.preventDefault(),this.modalClose())})),this.modal.addEventListener("theme:modal:close",(()=>{this.modalClose()})),this.modal.addEventListener("animationend",(t=>{t.target===this.modal&&(this.isAnimating=!1,this.modal.hasAttribute(Rs)?this.modalClose():setTimeout((()=>{this.a11y.trapFocus(this.modal);(this.modal.querySelector("[autofocus]")||this.modal.querySelector(xs))?.focus()}),50))}))}modalCloseOnProductAdded(){this.resetQuickAddButtons(),this.modal&&this.modal.hasAttribute("open")&&this.modalClose()}quickAddLoadingToggle(t){t.target==this.quickAddHolder&&this.quickAddHolder.classList.remove(ks.disabled)}errorHandler(){this.quickAddHolder.addEventListener("theme:cart:error",(t=>{const e=t.detail.holder,s=e.closest(`[${Os}]`);if(!s)return;const i=e.querySelector(Hs),o=s.classList.contains(ks.overlayText),n=s.querySelector(Fs),r=e.querySelector(Ms);if(r){r.classList.remove(ks.added,ks.loading),e.classList.add(ks.error);const t=()=>{this.resetQuickAddButtons(),o&&n.classList.remove(ks.hidden),e.removeEventListener("animationend",t)};e.addEventListener("animationend",t)}i&&(i.innerText=t.detail.description),o&&n.classList.add(ks.hidden)}))}resetQuickAddButtons(){this.quickAddHolder&&this.quickAddHolder.classList.remove(ks.visible,ks.error),this.buttonQuickAdd&&(this.buttonQuickAdd.classList.remove(ks.added),this.buttonQuickAdd.disabled=!1)}renderModal(){window.fetch(`${window.theme.routes.root}products/${this.handle}?section_id=api-product-upsell`).then(this.upsellErrorsHandler).then((t=>t.text())).then((t=>{this.modalCreate(t)}))}modalCreatedCallback(){this.modalEvents(),this.modalOpen(),q(this.modal)}upsellErrorsHandler(t){return t.ok?t:t.json().then((function(e){throw new V({status:t.statusText,headers:t.headers,json:e})}))}
9resetAnimatedItems(){this.modal?.querySelectorAll(Cs).forEach((t=>{t.classList.remove(ks.animated)}))}}customElements.get("quick-add-product")||customElements.define("quick-add-product",zs),customElements.get("grid-swatch")||customElements.define("grid-swatch",ps),customElements.get("hover-images")||customElements.define("hover-images",As);const js="[data-button-arrow]",Xs="[data-deferred-media-button]",Gs="model-viewer, video, iframe, button, [href], input, [tabindex]",Ks="[data-image-id]",Ys="[data-product-media-list]",Qs="[data-section-id]",Js="slider__arrows",Zs="is-dragging",ti="is-focused",ei="media--active",si="media--hidden",ii="media--hiding",oi="product-quick-add__images",ni="data-active-media",ri="data-button-prev",ai="data-button-next",li="data-image-id",di="data-media-id",ci="data-type",hi="data-fader-desktop",ui="data-fader-mobile";customElements.get("product-images")||customElements.define("product-images",class extends HTMLElement{constructor(){super(),this.initialized=!1,this.buttons=!1,this.isDown=!1,this.startX=0,this.startY=0,this.scrollLeft=0,this.onButtonArrowClick=t=>this.buttonArrowClickEvent(t),this.container=this.closest(Qs),this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this),this.productMediaItems=this.querySelectorAll(Ks),this.productMediaList=this.querySelector(Ys),this.setHeight=this.setHeight.bind(this),this.toggleEvents=this.toggleEvents.bind(this),this.selectMediaEvent=t=>this.showMediaOnVariantSelect(t)}connectedCallback(){Object.keys(this.productMediaItems).length<2||(this.productMediaObserver(),this.toggleEvents(),this.listen(),this.setHeight())}disconnectedCallback(){this.unlisten()}listen(){document.addEventListener("theme:resize:width",this.toggleEvents),document.addEventListener("theme:resize:width",this.setHeight),this.addEventListener("theme:media:select",this.selectMediaEvent)}unlisten(){document.removeEventListener("theme:resize:width",this.toggleEvents),document.removeEventListener("theme:resize:width",this.setHeight),this.removeEventListener("theme:media:select",this.selectMediaEvent)}toggleEvents(){const t=theme.isMobile;t&&this.hasAttribute(ui)||!t&&this.hasAttribute(hi)?this.bindEventListeners():this.unbindEventListeners()}bindEventListeners(){this.initialized||(this.productMediaList.addEventListener("mousedown",this.handleMouseDown),this.productMediaList.addEventListener("mouseleave",this.handleMouseLeave),this.productMediaList.addEventListener("mouseup",this.handleMouseUp),this.productMediaList.addEventListener("mousemove",this.handleMouseMove),this.productMediaList.addEventListener("touchstart",this.handleMouseDown,{passive:!0}),this.productMediaList.addEventListener("touchend",this.handleMouseUp,{passive:!0}),this.productMediaList.addEventListener("touchmove",this.handleMouseMove,{passive:!0}),this.productMediaList.addEventListener("keyup",this.handleKeyUp),this.initArrows(),this.resetScrollPosition(),this.initialized=!0)}unbindEventListeners(){this.initialized&&(this.productMediaList.removeEventListener("mousedown",this.handleMouseDown),this.productMediaList.removeEventListener("mouseleave",this.handleMouseLeave),this.productMediaList.removeEventListener("mouseup",this.handleMouseUp),this.productMediaList.removeEventListener("mousemove",this.handleMouseMove),this.productMediaList.removeEventListener("touchstart",this.handleMouseDown),this.productMediaList.removeEventListener("touchend",this.handleMouseUp),this.productMediaList.removeEventListener("touchmove",this.handleMouseMove),this.productMediaList.removeEventListener("keyup",this.handleKeyUp),this.removeArrows(),this.initialized=!1)}handleMouseDown(t){this.isDown=!0,this.startX=(t.pageX||t.changedTouches[0].screenX)-this.offsetLeft,this.startY=(t.pageY||t.changedTouches[0].screenY)-this.offsetTop}handleMouseLeave(){this.isDown&&(this.isDown=!1)}handleMouseUp(t){const e=(t.pageX||t.changedTouches[0].screenX)-this.offsetLeft,s=(t.pageY||t.changedTouches[0].screenY)-this.offsetTop,i=e-this.startX,o=s-this.startY,n=i>0?1:-1,r=this.getCurrentMedia().hasAttribute(ci)&&"image"===this.getCurrentMedia().getAttribute(ci);Math.abs(i)>10&&Math.abs(i)>Math.abs(o)&&r&&(n<0?this.showNextImage():this.showPreviousImage()),this.isDown=!1,requestAnimationFrame((()=>{this.classList.remove(Zs)}))}handleMouseMove(){this.isDown&&this.classList.add(Zs)}handleKeyUp(t){"ArrowLeft"===t.code&&this.showPreviousImage(),"ArrowRight"===t.code&&this.showNextImage()}handleArrowsClickEvent(){this.querySelectorAll(js)?.forEach((t=>{t.addEventListener("click",(t=>{t.preventDefault(),t.target.hasAttribute(ri)&&this.showPreviousImage(),t.target.hasAttribute(ai)&&this.showNextImage()}))}))}resetScrollPosition(){0!==this.productMediaList.scrollLeft&&(this.productMediaList.scrollLeft=0)}initArrows(){if(!this.buttons.length){const t=document.createElement("div");t.classList.add(Js),t.innerHTML=theme.sliderArrows.prev+theme.sliderArrows.next,this.productMediaList.append(t),this.buttons=this.querySelectorAll(js),this.buttonPrev=this.querySelector(`[${ri}]`),this.buttonNext=this.querySelector(`[${ai}]`)}this.handleArrowsClickEvent(),this.preloadImageOnArrowHover()}removeArrows(){this.querySelector(`.${Js}`)?.remove()}preloadImageOnArrowHover(){this.buttonPrev?.addEventListener("mouseover",(()=>{const t=this.getPreviousMediaId();this.preloadImage(t)})),this.buttonNext?.addEventListener("mouseover",(()=>{const t=this.getNextMediaId();this.preloadImage(t)}))}preloadImage(t){this.querySelector(`[${di}="${t}"] img`)?.setAttribute("loading","eager")}showMediaOnVariantSelect(t){const e=t.detail.id;this.setActiveMedia(e)}getCurrentMedia(){return this.querySelector(`${Ks}.${ei}`)}getNextMediaId(){const t=this.getCurrentMedia();return(t?.nextElementSibling.hasAttribute(li)?t?.nextElementSibling:this.querySelector(Ks))?.getAttribute(di)}getPreviousMediaId(){const t=this.getCurrentMedia(),e=this.productMediaItems.length-1;return(t?.previousElementSibling||this.productMediaItems[e])?.getAttribute(di)}showNextImage(){const t=this.getNextMediaId();this.selectMedia(t)}showPreviousImage(){const t=this.getPreviousMediaId();this.selectMedia(t)}selectMedia(t){this.dispatchEvent(new CustomEvent("theme:media:select",{detail:{id:t}}))}setActiveMedia(t){if(!t)return;this.setAttribute(ni,t);const e=this.querySelector(`${Ks}.${ei}`),s=this.querySelector(`[${di}="${t}"]`),i=s?.querySelector(Gs),o=s.querySelector("deferred-media");e?.classList.add(ii),e?.classList.remove(ei),s?.classList.remove(ii,si),s?.classList.add(ei),o&&!0!==o.getAttribute("loaded")&&s.querySelector(Xs)?.dispatchEvent(new Event("click",{bubbles:!1})),requestAnimationFrame((()=>
9{this.setHeight(),document.body.classList.contains(ti)&&i?.focus({preventScroll:!0})}))}setHeight(){if(this.classList.contains(oi))return;const t=this.querySelector(`${Ks}.${ei}`)?.offsetHeight||this.productMediaItems[0]?.offsetHeight;this.style.setProperty("--height",`${t}px`)}productMediaObserver(){this.productMediaItems.forEach((t=>{t.addEventListener("transitionend",(e=>{e.target==t&&t.classList.contains(ii)&&(t.classList.remove(ii),t.classList.add(si))})),t.addEventListener("transitioncancel",(e=>{e.target==t&&t.classList.contains(ii)&&(t.classList.remove(ii),t.classList.add(si))}))}))}});const mi="[data-swap-handle]",pi="native-scrollbar",gi=".sibling__link--current",vi="data-swap-handle";function bi(t){return t.replace(/http(s)?:/,"")}customElements.get("product-item")||customElements.define("product-item",class extends HTMLElement{abortController=void 0;pendingSwapHandle=null;postProcessHtmlCallbacks=[];handleClick=t=>this.handleChange(t);handleKeyup=t=>{t.code!==theme.keyboardKeys.ENTER&&t.code!==theme.keyboardKeys.NUMPADENTER||this.handleChange(t)};onHtmlChange=t=>this.handleHtmlChange(t);constructor(){super(),this.swapHandles=this.querySelectorAll(mi),this.activeSibling=[...this.swapHandles].find((t=>t.querySelector(gi)))}connectedCallback(){this.scrollIntoView(),this.swapHandles?.forEach((t=>{t.addEventListener("click",this.handleClick),t.addEventListener("keyup",this.handleKeyup)})),this.initProductSwapUtility()}disconnectedCallback(){this.abortController?.abort(),this.swapHandles?.forEach((t=>{t.removeEventListener("click",this.handleClick),t.removeEventListener("keyup",this.handleKeyup)}))}initProductSwapUtility(){this.postProcessHtmlCallbacks.push((()=>{document.addEventListener("theme:html:change",this.onHtmlChange)}))}handleChange(t){if(!this.contains(t.target))return;const e=t.target.closest(mi),s=e.dataset.swapUrl,i=`${window.Shopify.routes.root}products/${e.dataset.swapHandle}`;this.pendingSwapHandle=e.dataset.swapHandle;this.dataset.url!==s&&this.renderProductItem({requestUrl:`${i}?section_id=api-product-grid-item`,callback:this.handleSwapProduct()})}handleSwapProduct(){return t=>{const e=t.querySelector("product-item"),s=e.id?`#${e.id}`:"";let i=e.outerHTML;i=i.includes("||itemAnimationDelay||")?i.replaceAll("||itemAnimationDelay||",0):i,i=i.includes("||itemAnimationAnchor||")?i.replaceAll("||itemAnimationAnchor||",s):i;const o=document.createElement("div");o.innerHTML=i;const n=o.querySelector("product-item");window.theme.htmlUpdate.viewTransition(this,n,this.postProcessHtmlCallbacks)}}renderProductItem({requestUrl:t,callback:e}){this.abortController?.abort(),this.abortController=new AbortController,fetch(t,{signal:this.abortController.signal}).then((t=>t.text())).then((t=>{const s=(new DOMParser).parseFromString(t,"text/html");e(s)})).catch((t=>{"AbortError"===t.name?console.log("Fetch aborted by user"):console.error(t),document.removeEventListener("theme:html:change",this.onHtmlChange)}))}handleHtmlChange(t){if(!t?.detail?.element)return;if(!this.pendingSwapHandle)return;const e=t.detail.element,s=e.querySelector(`[${vi}="${this.pendingSwapHandle}"]`);s.focus(),this.scrollIntoView({product:e,swatch:s}),this.pendingSwapHandle=null,document.removeEventListener("theme:html:change",this.onHtmlChange)}scrollIntoView(t=!1){if(!this.activeSibling)return;const e=t?t.swatch:this.activeSibling,s=(t?t.product:this).querySelector(pi);if(!s||"function"!=typeof s.move)return;const i=getComputedStyle(e),o=e.offsetLeft+parseFloat(i.marginLeft)+parseFloat(i.marginRight);requestAnimationFrame((()=>s.move(o-e.clientWidth,"instant")))}});const wi={productCutline:"[data-product-cutline]",productLink:"[data-product-link]",productGridItem:"[data-grid-item]",productInfo:"[data-product-information]",productImage:"[data-product-image-default]",productImageSibling:"[data-product-image-sibling]",productPrice:"[data-product-price]",siblingsInnerHolder:"[data-sibling-inner]",siblingCount:"[data-sibling-count]",siblingFieldset:"[data-sibling-fieldset]",siblingLink:"[data-sibling-link]",siblingLinkCurrent:".sibling__link--current"},yi="is-visible",Ei="is-fade",fi="no-events",Li="is-active",Si="is-focused",Ai="data-sibling-cutline",ki="data-sibling-image",Ci="data-sibling-price",qi="data-sibling-compare-at-price",Ti="data-product-link",Mi="data-sibling-link",xi="data-mobile-columns-small",Hi="data-any-sibling-cutline";class Ii{constructor(t,e){this.swatches=t,this.product=e,this.productLinks=this.product.querySelectorAll(wi.productLink),this.productCutline=this.product.querySelector(wi.productCutline),this.productPrice
9=this.product.querySelector(wi.productPrice),this.productImage=this.product.querySelector(wi.productImage),this.productImageSibling=this.product.querySelector(wi.productImageSibling),this.siblingsInnerHolder=this.product.querySelector(wi.siblingsInnerHolder),this.init()}init(){this.cacheDefaultValues(),this.siblingsInnerHolder.addEventListener("mouseleave",(()=>this.resetProductValues())),this.siblingsInnerHolder.addEventListener("focusout",(()=>{document.body.classList.contains(Si)&&this.resetProductValues()})),this.swatches.forEach((t=>{t.addEventListener("mouseenter",(t=>this.showSibling(t))),t.addEventListener("focusin",(t=>{document.body.classList.contains(Si)&&this.showSibling(t)}))})),this.productLinks.length&&this.swatches.forEach((t=>{t.addEventListener("click",(()=>{this.productLinks[0].click()}))}))}cacheDefaultValues(){this.activeSibling=this.siblingsInnerHolder.querySelector(wi.siblingLinkCurrent)?.closest(wi.siblingLink),this.activeSibling&&this.productImageSibling.setAttribute(ki,this.activeSibling.dataset.siblingImage),this.productLinkValue=this.productLinks[0].hasAttribute(Ti)?this.productLinks[0].getAttribute(Ti):"",this.productPriceValue=this.productPrice.innerHTML,this.productCutline&&(this.productCutlineValue=this.productCutline.innerHTML,this.anySiblingCutline="true"===this.productCutline.getAttribute(Hi))}resetProductValues(){this.product.classList.remove(Li),this.productLinkValue&&this.productLinks.forEach((t=>{t.href=this.productLinkValue})),this.productPrice&&(this.productPrice.innerHTML=this.productPriceValue),this.productCutline&&this.productCutline&&(this.productCutline.innerHTML=this.productCutlineValue,this.productCutline.title=this.productCutlineValue),this.hideSiblingImage()}showSibling(t){const e=t.target,s=e.hasAttribute(Mi)?e.getAttribute(Mi):"",i=e.hasAttribute(Ci)?e.getAttribute(Ci):"",o=e.hasAttribute(qi)?e.getAttribute(qi):"",n=e.hasAttribute(Ai)?e.getAttribute(Ai):"",r=e.hasAttribute(ki)?e.getAttribute(ki):"";if(s&&this.productLinks.forEach((t=>{t.href=s})),this.productPrice.innerHTML=o?`<span class="price sale"><span class="new-price">${i}</span> <span class="old-price">${o}</span></span>`:`<span class="price">${i}</span>`,this.productCutline)if(n)this.productCutline.innerHTML=n,this.productCutline.title=n;else{const t="true"===this.productCutline.getAttribute(Hi);this.productCutline.innerHTML=t?"&nbsp;":"",this.productCutline.title=""}r&&this.showSiblingImage(r)}showSiblingImage(t){if(!this.productImageSibling)return;const e=window.devicePixelRatio||1,s=this.productImage.offsetWidth*e,i=180*Math.ceil(s/180),o=function(t,e){if(null===e)return t;if("master"===e)return bi(t);const s=t.match(/\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?$/i);if(s){const i=t.split(s[0]),o=s[0];return bi(`${i[0]}_${e}${o}`)}return null}(t,`${i}x`),n=this.productImageSibling.querySelector(`[src="${o}"]`),r=()=>{this.productImageSibling.classList.add(yi),this.productImageSibling.querySelector(`[src="${o}"]`).classList.add(Ei)},a=()=>{const e=this.productImageSibling.getAttribute(ki),s=t!==e,i=t===e&&this.productImageSibling.classList.contains(yi);Boolean(i||s)&&(this.productImageSibling.querySelectorAll("img").forEach((t=>{t.classList.remove(Ei)})),requestAnimationFrame(r))};if(n)a();else{const t=document.createElement("img");t.src=o,this.productCutline&&(t.alt=this.productCutline.innerText),t.addEventListener("load",(()=>{this.productImageSibling.append(t),a()}))}}hideSiblingImage(){this.productImageSibling&&(this.productImageSibling.classList.remove(yi),this.productImageSibling.querySelectorAll("img").forEach((t=>{t.classList.remove(Ei)})))}}customElements.get("product-item-siblings")||customElements.define("product-item-siblings",class extends HTMLElement{constructor(){super(),this.resizeEvent=()=>this.handleResize()}connectedCallback(){this.product=this.closest(wi.productGridItem),this.siblingCount=this.querySelector(wi.siblingCount),this.siblingFieldset=this.querySelector(wi.siblingFieldset),this.siblingLinks=this.querySelectorAll(wi.siblingLink),this.productInfo=this.closest(wi.productInfo),this.productLink=this.closest(wi.link),this.hideSwatchesTimer=0,this.swatchesStyle=theme.settings.collectionSwatchStyle,this.siblingFieldset&&this.productInfo&&("grid"!=this.swatchesStyle&&"slider"!=this.swatchesStyle&&"limited"!=this.swatchesStyle||this.siblingFieldset.classList.add(yi),this.siblingCount&&(this.siblingCount.addEventListener("mouseenter",(()=>
9this.showSiblings())),this.productInfo.addEventListener("mouseleave",(()=>this.hideSiblings())))),this.siblingLinks.length&&new Ii(this.siblingLinks,this.product),document.addEventListener("theme:resize:width",this.resizeEvent)}disconnectedCallback(){document.removeEventListener("theme:resize:width",this.resizeEvent)}handleResize(){this.siblingFieldset&&this.productInfo&&("grid"!=this.swatchesStyle&&"slider"!=this.swatchesStyle&&"limited"!=this.swatchesStyle||(this.siblingFieldset.classList.add(yi),this.limitVisibleSwatches()))}showSiblings(){this.hideSwatchesTimer&&clearTimeout(this.hideSwatchesTimer),this.productLink&&this.productLink.classList.add(fi),"text"!=this.swatchesStyle&&this.siblingFieldset.classList.add(yi)}hideSiblings(){this.hideSwatchesTimer=setTimeout((()=>{this.productLink&&this.productLink.classList.remove(fi),this.siblingFieldset.classList.remove(yi)}),100)}limitVisibleSwatches(){if(!this.siblingLinks?.length)return;this.siblingLinks.forEach((t=>{t.style.display=""}));const t=this.querySelector(".swatch-limited");t&&t.remove()}}),Shopify.Products=function(){const t={howManyToShow:4,howManyToStoreInMemory:10,wrapperId:"recently-viewed-products",section:null,target:"api-product-grid-item",onComplete:null};let e=[],s=null,i=null;const o=new Date,n=new Date;n.setTime(o.getTime()+7776e6);const r={configuration:{expires:n.toGMTString(),path:"/",domain:window.location.hostname,sameSite:"none",secure:!0},name:"shopify_recently_viewed",write:function(t){const e=encodeURIComponent(t.join(" "));document.cookie=`${this.name}=${e}; expires=${this.configuration.expires}; path=${this.configuration.path}; domain=${this.configuration.domain}; sameSite=${this.configuration.sameSite}; secure=${this.configuration.secure}`},read:function(){let t=[],e=null;return-1!==document.cookie.indexOf("; ")&&document.cookie.split("; ").find((t=>t.startsWith(this.name)))&&(e=document.cookie.split("; ").find((t=>t.startsWith(this.name))).split("=")[1]),null!==e&&(t=decodeURIComponent(e).split(" ")),t},destroy:function(){document.cookie=`${this.name}=null; expires=${this.configuration.expires}; path=${this.configuration.path}; domain=${this.configuration.domain}`},remove:function(t){const e=this.read(),s=e.indexOf(t);-1!==s&&(e.splice(s,1),this.write(e))}},a=(t,e,s,o,n,l,d)=>{e.length&&t<l?fetch(`${window.theme.routes.root}products/${e[0]}?section_id=${n}`).then((t=>t.text())).then((i=>{const r=100*t,c=s.id?`#${s.id}`:"",h=document.createElement("div");let u=i;u=u.includes("||itemAnimationDelay||")?u.replaceAll("||itemAnimationDelay||",r):u,u=u.includes("||itemAnimationAnchor||")?u.replaceAll("||itemAnimationAnchor||",c):u,h.innerHTML=u,s.innerHTML+=h.querySelector("[data-api-content]").innerHTML,e.shift(),t++,a(t,e,s,o,n,l,d)})).catch((()=>{r.remove(e[0]),e.shift(),a(t,e,s,o,n,l,d)})):((t,e,s)=>{t.classList.remove("hidden");const o=r.read().length;if(Shopify.recentlyViewed&&i&&o&&o<i&&t.children.length){let e=[],s=[],i=0;for(const t in Shopify.recentlyViewed){i+=1;const o=Shopify.recentlyViewed[t].split(" "),n=parseInt(t.split("_")[1]);e=[...e,...o],(r.read().length===n||i===Object.keys(Shopify.recentlyViewed).length&&!s.length)&&(s=[...s,...o])}for(let i=0;i<t.children.length;i++){const o=t.children[i];e.length&&o.classList.remove(...e),s.length&&o.classList.add(...s)}}if(s)try{s(t,e)}catch(t){console.log(t)}})(s,o,d)};return{showRecentlyViewed:function(o){if(Shopify.visualPreviewMode)return;const n=o||{};Object.assign(t,n);const l=t.onComplete;e=r.read(),s=document.querySelector(`#${t.wrapperId}`),i=t.howManyToShow,t.howManyToShow=Math.min(e.length,t.howManyToShow),t.howManyToShow&&s&&a(0,e,s,t.section,t.target,i,l)},getConfig:function(){return t},clearList:function(){r.destroy()},recordRecentlyViewed:function(e){const s=e||{};Object.assign(t,s);let i=r.read();if(-1!==window.location.pathname.indexOf("/products/")){let e=decodeURIComponent(window.location.pathname).match(/\/products\/([a-z0-9\-]|[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|[\u203B]|[\w\u0430-\u044f]|[\u0400-\u04FF]|[\u0900-\u097F]|[\u0590-\u05FF\u200f\u200e]|[\u0621-\u064A\u0660-\u0669 ])+/)[0].split("/products/")[1];t.handle&&(e=t.handle);const s=i.indexOf(e);-1===s?(i.unshift(e),i=i.splice(0,t.howManyToStoreInMemory)):(i.splice(s,1),i.unshift(e)),r.write(i)}},hasProducts:r.read().length>0}}();const Pi="[data-aos]",Di=".collection-item__image",Oi="[data-column-image]",Fi=".flickity-button.next",Bi=".flickity-button.previous",_i="a:not(.btn)",$i=".product-item__image",Ri="[data-section-id]",Ni="[data-sli
9de]",Wi="[data-slider-thumb]",Ui="data-arrow-position-middle",Vi="data-slide-index",zi="data-options",ji="data-slide-text-color",Xi="aos-animate",Gi="desktop",Ki="is-focused",Yi="hidden",Qi="is-initialized",Ji="is-loading",Zi="is-selected",to="mobile",eo="single-slide";customElements.get("slider-component")||customElements.define("slider-component",class extends HTMLElement{constructor(){super(),this.flkty=null,this.bindEvents()}connectedCallback(){this.slides=this.querySelectorAll(Ni),this.thumbs=this.querySelectorAll(Wi),this.section=this.closest(Ri),this.initSlider()}initSlider(){if(this.slides.length<=1)return;this.hasAttribute(zi)&&(this.customOptions=JSON.parse(decodeURIComponent(this.getAttribute(zi)))),this.classList.add(Ji);let t=Ni;const e=!theme.isMobile,s=`${Ni}:not(.${to})`,i=`${Ni}:not(.${Gi})`;if((this.querySelectorAll(s).length||this.querySelectorAll(i).length)&&(t=e?s:i,this.flkty?.destroy()),this.querySelectorAll(t).length<=1)return this.classList.add(eo),void this.classList.remove(Ji);this.sliderOptions={cellSelector:t,contain:!0,wrapAround:!0,adaptiveHeight:!0,...this.customOptions,on:{ready:()=>{requestAnimationFrame((()=>{this.classList.add(Qi),this.classList.remove(Ji),this.parentNode.dispatchEvent(new CustomEvent("theme:slider:loaded",{bubbles:!0,detail:{slider:this}}))})),this.slideActions(),this.sliderOptions.prevNextButtons&&this.positionArrows()},change:t=>{const e=this.slides[t];if(!e||this.sliderOptions.groupCells)return;const s=e.querySelectorAll(Pi);s.length&&s.forEach((t=>{t.classList.remove(Xi),requestAnimationFrame((()=>{setTimeout((()=>{t.classList.add(Xi)}),0)}))}))},resize:()=>{this.sliderOptions.prevNextButtons&&this.positionArrows()}}},this.initFlickity(),this.flkty.on("change",(()=>this.slideActions(!0))),this.thumbs?.forEach((t=>{t.addEventListener("click",(e=>{e.preventDefault();const s=[...t.parentElement.children].indexOf(t);this.flkty.select(s)}))})),this.flkty&&this.flkty.isActive||this.classList.remove(Ji)}initFlickity(){this.sliderOptions.fade?this.flkty=new window.theme.FlickityFade(this,this.sliderOptions):this.flkty=new window.theme.Flickity(this,this.sliderOptions)}bindEvents(){this.addEventListener("theme:slider:init",(()=>{this.initSlider()})),this.addEventListener("theme:slider:select",(t=>{this.flkty.selectCell(t.detail.index),this.flkty.stopPlayer()})),this.addEventListener("theme:slider:deselect",(()=>{this.flkty&&this.sliderOptions.hasOwnProperty("autoPlay")&&this.sliderOptions.autoPlay&&this.flkty.playPlayer()})),this.addEventListener("theme:slider:reposition",(()=>{this.flkty?.reposition()})),this.addEventListener("theme:slider:destroy",(()=>{this.flkty?.destroy()})),this.addEventListener("theme:slider:remove-slide",(t=>{t.detail.slide&&(this.flkty?.remove(t.detail.slide),0===this.flkty?.cells.length&&this.section.classList.add(Yi))}))}slideActions(t=!1){const e=this.querySelector(`.${Zi}`);if(!e)return;const s=e.hasAttribute(ji)?e.getAttribute(ji):"",i=e.querySelector(_i),o=this.querySelectorAll(`${Ni} a, ${Ni} button`);if(document.body.classList.contains(Ki)&&i&&this.sliderOptions.groupCells&&t&&i.focus(),o.length&&o.forEach((t=>{const e=t.closest(Ni);if(e){const s=e.classList.contains(Zi)?0:-1;t.setAttribute("tabindex",s)}})),this.style.setProperty("--text",s),this.thumbs.length&&this.thumbs.length===this.slides.length&&e.hasAttribute(Vi)){const t=parseInt(e.getAttribute(Vi)),s=this.querySelector(`${Wi}.${Zi}`);s&&s.classList.remove(Zi),this.thumbs[t].classList.add(Zi)}}positionArrows(){if(!this.hasAttribute(Ui)||!this.sliderOptions.prevNextButtons)return;const t=this.querySelector(Di)||this.querySelector($i)||this.querySelector(Oi);t&&(this.querySelector(Bi).style.top=t.clientHeight/2+"px",this.querySelector(Fi).style.top=t.clientHeight/2+"px")}disconnectedCallback(){this.flkty&&(this.flkty.options.watchCSS=!1,this.flkty.destroy())}});const so="[data-related-section]",io="[data-aos]",oo="[data-tab]",no=".tab-link__recent",ro=".tab-content",ao="current",lo="hidden",co="aos-animate",ho="aos-no-transition",uo="is-focused",mo="data-tab",po="data-tab-index";customElements.get("tabs-component")||customElements.define("tabs-component",class extends HTMLElement{constructor(){super(),this.a11y=window.a11y}
9connectedCallback(){const t=this.querySelectorAll(oo);this.addEventListener("theme:tab:check",(()=>this.checkRecentTab())),this.addEventListener("theme:tab:hide",(()=>this.hideRelatedTab())),t?.forEach((t=>{const e=parseInt(t.getAttribute(mo)),s=this.querySelector(`${ro}-${e}`);t.addEventListener("click",(()=>{this.tabChange(t,s)})),t.addEventListener("keyup",(e=>{"Space"!==e.code&&"Enter"!==e.code||!document.body.classList.contains(uo)||this.tabChange(t,s)}))}))}tabChange(t,e){if(t.classList.contains(ao))return;const s=this.querySelector(`${oo}.${ao}`),i=this.querySelector(`${ro}.${ao}`);s?.classList.remove(ao),i?.classList.remove(ao),t.classList.add(ao),e.classList.add(ao),t.classList.contains(lo)&&e.classList.add(lo),this.a11y.a11y.removeTrapFocus(),this.dispatchEvent(new CustomEvent("theme:tab:change",{bubbles:!0})),t.dispatchEvent(new CustomEvent("theme:form:sticky",{bubbles:!0,detail:{element:"tab"}})),this.animateItems(e)}animateItems(t,e=!0){const s=t.querySelectorAll(io);s.length&&s.forEach((t=>{t.classList.remove(co),e&&(t.classList.add(ho),requestAnimationFrame((()=>{t.classList.remove(ho),t.classList.add(co)})))}))}checkRecentTab(){const t=this.querySelector(no);if(t){t.classList.remove(lo);const e=parseInt(t.getAttribute(mo)),s=this.querySelector(`${ro}[${po}="${e}"]`);s&&(s.classList.remove(lo),this.animateItems(s,!1))}}hideRelatedTab(){const t=this.querySelector(so);if(!t)return;const e=t.closest(`${ro}.${ao}`);if(!e)return;const s=parseInt(e.getAttribute(po)),i=this.querySelectorAll(oo);if(i.length>s){const t=i[s].nextSibling;t&&(i[s].classList.add(lo),t.dispatchEvent(new Event("click")))}}});const go="[data-actions]",vo="[data-content]",bo="[data-button]",wo="data-height",yo="is-open",Eo="is-enabled";class fo extends HTMLElement{constructor(){super(),this.initialHeight=this.getAttribute(wo),this.content=this.querySelector(vo),this.trigger=this.querySelector(bo),this.actions=this.querySelector(go),this.toggleActions=this.toggleActions.bind(this)}connectedCallback(){this.setHeight(this.initialHeight),this.trigger.addEventListener("click",(()=>{this.setHeight(this.content.offsetHeight),this.classList.add(yo)})),this.setHeight(this.initialHeight),this.toggleActions(),document.addEventListener("theme:resize",this.toggleActions),document.addEventListener("theme:collapsible:toggle",this.toggleActions)}disconnectedCallback(){document.removeEventListener("theme:resize",this.toggleActions),document.removeEventListener("theme:collapsible:toggle",this.toggleActions)}setHeight(t){this.style.setProperty("--height",`${t}px`)}toggleActions(){this.classList.toggle(Eo,this.content.offsetHeight+this.actions.offsetHeight>this.initialHeight)}}customElements.get("toggle-ellipsis")||customElements.define("toggle-ellipsis",fo);const Lo="[data-section-id]",So="data-tooltip",Ao="data-tooltip-stop-mouseenter",ko="tooltip-default",Co="is-visible",qo="is-hiding";customElements.get("tooltip-component")||customElements.define("tooltip-component",class extends HTMLElement{constructor(){super(),this.label=this.hasAttribute(So)?this.getAttribute(So):"",this.transitionSpeed=200,this.hideTransitionTimeout=0,this.addPinEvent=()=>this.addPin(),this.addPinMouseEvent=()=>this.addPin(!0),this.removePinEvent=t=>window.theme.throttle(this.removePin(t),50),this.removePinMouseEvent=t=>this.removePin(t,!0,!0)}connectedCallback(){if(!document.querySelector(`.${ko}`)){const t=`<div class="${ko}__arrow"></div><div class="${ko}__inner"><div class="${ko}__text"></div></div>`,e=document.createElement("div");e.className=ko,e.innerHTML=t,document.body.appendChild(e)}this.addEventListener("mouseenter",this.addPinMouseEvent),this.addEventListener("mouseleave",this.removePinMouseEvent),this.addEventListener("theme:tooltip:init",this.addPinEvent),document.addEventListener("theme:tooltip:close",this.removePinEvent)}addPin(t=!1){const e=document.querySelector(`.${ko}`),s=this.closest(Lo),i=Array.from(s.classList).find((t=>t.startsWith("color-scheme-")));if(i&&e?.classList.add(i),this.label&&e&&(t&&!this.hasAttribute(Ao)||!t)){const t=e.querySelector(`.${ko}__arrow`),s=e.querySelector(`.${ko}__inner`);e.querySelector(`.${ko}__text`).innerHTML=this.label;const i=s.offsetWidth,o=this.getBoundingClientRect(),n=o.top,r=o.width,a=n+o.height+window.scrollY;let l=o.left-i/2+r/2;const d=24,c=l+i-theme.windowWidth+d;c>0&&(l-=c),l<0&&(l=0),t.style.left=`${o.left+r/2}px`,e.style.setProperty("--tooltip-top",`${a}px`),s.style.transform=`translateX(${l}px)`,e.classList.remove(qo),e.classList.add(Co),document.addEventListener("theme:scroll",this.removePinEvent)}}removePin(t,e=!1,s=!1){const i=document.querySelector(`.${ko}`),o=i.classList.contains(Co);i&&(e&&!this.hasAttribute(Ao)||!e)&&(o&&(s||t.detail.hideTransition)&&(i.classList.add(qo),this.hideTransitionTimeout&&clearTimeout(this.hideTransitionTimeout),this.hideTransitionTimeout=setTimeout((()=>{i.classList.remove(qo)}),this.transitionSpeed)),i.classList.remove(Co),document.removeEventListener("theme:scroll",this.removePinEvent))}disconnectedCallback(){this.removeEventListener("mouseenter",this.addPinMouseEvent),this.removeEventListener("mouseleave",this.removePinMouseEvent),this.removeEventListener("theme:tooltip:init",this.addPinEvent),document.removeEventListener("theme:tooltip:close",this.removePinEvent),document.removeEventListener("theme:scroll",this.removePinEvent)}});class To extends HTMLElement{constructor(){super()}connectedCallback(){this.addEventListener("change",(t=>{const e=this.getInputForEventTarget(t.target);publish(theme.PUB_SUB_EVENTS.optionValueSelectionChange,{data:{event:t,target:e,selectedOptionValues:this.selectedOptionValues}})}))}getInputForEventTarget(t){return"SELECT"===t.tagName?t.selectedOptions[0]:t}get selectedOptionValues(){return[...Array.from(this.querySelectorAll("select option[selected]")),...Array.from(this.querySelectorAll("fieldset input:checked")),...Array.from(this.querySelectorAll("[data-popout-input]"))].map((({dataset:t})=>t.optionValueId)).filter((t=>Boolean(t)))}}customElements.define("variant-selects",To),document.addEventListener("DOMContentLoaded",(function(){const t=document.querySelector("[data-scroll-top-button]");t&&(t.addEventListener("click",(()=>{window.scrollTo({top:0,left:0,behavior:"smooth"})})),document.addEventListener("theme:scroll",(()=>{t.classList.toggle("is-visible",window.scrollY>window.innerHeight)}))),window.self!==window.top&&document.querySelector("html").classList.add("iframe")})),window.navigator.cookieEnabled&&(document.documentElement.className=document.documentElement.className.replace("supports-no-cookies","supp
9orts-cookies"))}(themeVendor.ScrollLock);

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.