PageSourceSearch

https://www.vincecamuto.com/cdn/shop/t/665/assets/theme.dev.js?v=74157661851958395911790865529

js vincecamuto.com collected 2026-10-02 04:57:26 UTC 341,029 bytes, 30 lines download raw bytes

1/*
2* @license
3* Pipeline Theme (c) Groupthought Themes
4*
5* This file is included for advanced development by
6* Shopify Agencies.  Modified versions of the theme
7* code are not supported by Shopify or Groupthought.
8*
9* In order to use this file you will need to change
10* theme.js to theme.dev.js in /layout/theme.liquid
11*
12*/(function(AOS,FlickityFade,bodyScrollLock,Flickity,Sqrl,MicroModal,axios,Rellax,themeCurrency,themeAddresses,FlickitySync){"use strict";function _interopNamespaceDefault(e){var n=Object.create(null);return e&&Object.keys(e).forEach(function(k){if(k!=="default"){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:!0,get:function(){return e[k]}})}}),n.default=e,Object.freeze(n)}var Sqrl__namespace=_interopNamespaceDefault(Sqrl);window.requestIdleCallback=window.requestIdleCallback||function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)},window.cancelIdleCallback=window.cancelIdleCallback||function(id){clearTimeout(id)};function moveModals(container){const modals=container.querySelectorAll("[data-modal]"),modalBin=document.querySelector("[data-modal-container]");modals.forEach(element=>{modalBin.querySelector(`[id="${element.id}"]`)||modalBin.appendChild(element)})}function floatLabels(container){container.querySelectorAll(".float__wrapper").forEach(element=>{const label=element.querySelector("label"),input=element.querySelector("input, textarea");label&&input.addEventListener("keyup",event=>{event.target.value!==""?label.classList.add("label--float"):label.classList.remove("label--float")}),input&&input.value&&input.value.length&&label.classList.add("label--float")})}function errorTabIndex(container){container.querySelectorAll(".errors").forEach(element=>{element.setAttribute("tabindex","0"),element.setAttribute("aria-live","assertive"),element.setAttribute("role","alert")})}function removeLoadingClassFromLoadedImages(container){container.querySelectorAll("img.loading-shimmer").forEach(el=>{el.complete&&el.classList.remove("loading-shimmer")})}function handleImageLoaded(el){el.tagName=="IMG"&&el.classList.contains("loading-shimmer")&&el.classList.remove("loading-shimmer")}function readHeights(){const h={};return h.windowHeight=window.innerHeight,h.announcementHeight=getHeight("#shopify-section-announcement"),h.toolbarHeight=getHeight("[data-toolbar-height]"),h.footerHeight=getHeight('[data-section-type*="footer"]'),h.menuHeight=getHeight("[data-header-height]"),h.headerHeight=h.menuHeight+h.announcementHeight,h.logoHeight=getFooterLogoWithPadding(),h.stickyHeader=document.querySelector('[data-header-sticky="sticky"]')?h.menuHeight:0,h.backfillHeight=getHeight("[data-header-backfill]"),h}function setVarsOnResize(){document.addEventListener("theme:resize",resizeVars),setVars()}function setVars(){const{windowHeight,announcementHeight,toolbarHeight,headerHeight,logoHeight,menuHeight,footerHeight,stickyHeader:stickyHeader2,backfillHeight}=readHeights();document.documentElement.style.setProperty("--scrollbar-width",`${getScrollbarWidth()}px`),document.documentElement.style.setProperty("--footer-logo",`${logoHeight}px`),document.documentElement.style.setProperty("--full-screen",`${windowHeight}px`),document.documentElement.style.setProperty("--three-quarters",`${windowHeight*.75}px`),document.documentElement.style.setProperty("--two-thirds",`${windowHeight*.66}px`),document.documentElement.style.setProperty("--one-half",`${windowHeight*.5}px`),document.documentElement.style.setProperty("--one-third",`${windowHeight*.33}px`),document.documentElement.style.setProperty("--one-fifth",`${windowHeight*.2}px`),document.documentElement.style.setProperty("--menu-height",`${menuHeight}px`),document.documentElement.style.setProperty("--announcement-height",`${announcementHeight}px`),document.documentElement.style.setProperty("--toolbar-height",`${toolbarHeight}px`),document.documentElement.style.setProperty("--header-height",`${headerHeight}px`),document.documentElement.style.setProperty("--footer-height",`${footerHeight}px`),document.documentElement.style.setProperty("--content-full",`${windowHeight-headerHeight-logoHeight/2}px`),document.documentElement.style.setProperty("--menu-height-sticky",`${stickyHeader2}px`);
12let newBackfill=Math.abs(backfillHeight-menuHeight)>1?`${menuHeight}px`:"auto";document.documentElement.style.setProperty("--menu-backfill-height",newBackfill)}function resizeVars(){const{windowHeight,announcementHeight,toolbarHeight,headerHeight,logoHeight,menuHeight,footerHeight,stickyHeader:stickyHeader2,backfillHeight}=readHeights();document.documentElement.style.setProperty("--scrollbar-width",`${getScrollbarWidth()}px`),document.documentElement.style.setProperty("--full-screen",`${windowHeight}px`),document.documentElement.style.setProperty("--three-quarters",`${windowHeight*.75}px`),document.documentElement.style.setProperty("--two-thirds",`${windowHeight*.66}px`),document.documentElement.style.setProperty("--one-half",`${windowHeight*.5}px`),document.documentElement.style.setProperty("--one-third",`${windowHeight*.33}px`),document.documentElement.style.setProperty("--one-fifth",`${windowHeight*.2}px`),document.documentElement.style.setProperty("--menu-height",`${menuHeight}px`),document.documentElement.style.setProperty("--announcement-height",`${announcementHeight}px`),document.documentElement.style.setProperty("--toolbar-height",`${toolbarHeight}px`),document.documentElement.style.setProperty("--header-height",`${headerHeight}px`),document.documentElement.style.setProperty("--footer-height",`${footerHeight}px`),document.documentElement.style.setProperty("--content-full",`${windowHeight-headerHeight-logoHeight/2}px`),document.documentElement.style.setProperty("--menu-height-sticky",`${stickyHeader2}px`);
12let newBackfill=Math.abs(backfillHeight-menuHeight)>1?`${menuHeight}px`:"auto";document.documentElement.style.setProperty("--menu-backfill-height",newBackfill)}function getHeight(selector){const el=document.querySelector(selector);return el?el.clientHeight:0}function getFooterLogoWithPadding(){const height=getHeight("[data-footer-logo]");return height>0?height+20:0}function getScrollbarWidth(){const outer=document.createElement("div");outer.style.visibility="hidden",outer.style.overflow="scroll",outer.style.msOverflowStyle="scrollbar",document.body.appendChild(outer);const inner=document.createElement("div");outer.appendChild(inner);const scrollbarWidth=outer.offsetWidth-inner.offsetWidth;return outer.parentNode.removeChild(outer),scrollbarWidth}const flickityHiddenCellFocusableSelector='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), summary, iframe, audio[controls], video[controls], [tabindex]:not([tabindex="-1"])',FLICKITY_INTERSECTION_ARIA_SELECTOR='[data-flickity-intersection-aria="true"]';function flickityRectOverlapsRoot(el,rootEl){const r=el.getBoundingClientRect();if(!r.width||!r.height)return!1;if(!rootEl||typeof rootEl.getBoundingClientRect!="function"){const w=document.documentElement.clientWidth,h=document.documentElement.clientHeight;return r.right>.5&&r.bottom>.5&&r.left<w-.5&&r.top<h-.5}const rr=rootEl.getBoundingClientRect();return r.right>rr.left+.5&&r.bottom>rr.top+.5&&r.left<rr.right-.5&&r.top<rr.bottom-.5}function setFlickityCellAriaHidden(el,hidden){hidden?el.setAttribute("aria-hidden","true"):el.removeAttribute("aria-hidden")}let flickityCellPrototypePatched=!1;function patchFlickityCellPrototypeOnce(flkty){if(flickityCellPrototypePatched)return;const cells=flkty.cells;if(!cells||!cells.length)return;const proto=Object.getPrototypeOf(cells[0]);if(!proto||typeof proto.select!="function"||typeof proto.unselect!="function")return;flickityCellPrototypePatched=!0;const origSelect=proto.select,origUnselect=proto.unselect;proto.select=function(){const el=this.element;if(el&&typeof el.closest=="function"&&el.closest(FLICKITY_INTERSECTION_ARIA_SELECTOR)){el.classList.add("is-selected");return}origSelect.call(this)},proto.unselect=function(){const el=this.element;if(el&&typeof el.closest=="function"&&el.closest(FLICKITY_INTERSECTION_ARIA_SELECTOR)){el.classList.remove("is-selected");return}origUnselect.call(this)}}function bindFlickityHiddenCellInert(flkty){if(!flkty||!flkty.element||flkty.element.getAttribute("data-flickity-skip-inert")==="true")return;const supportsInert=typeof HTMLElement<"u"&&"inert"in HTMLElement.prototype,useIntersectionAria=flkty.element.getAttribute("data-flickity-intersection-aria")==="true",visibilityRoot=flkty.viewport&&flkty.viewport.nodeType===1?flkty.viewport:null;useIntersectionAria&&(patchFlickityCellPrototypeOnce(flkty),(flkty.cells||[]).forEach(cell=>{cell&&cell.element&&cell.element.removeAttribute("aria-hidden")}));const syncInertFromAria=()=>{(flkty.cells||[]).forEach(cell=>{const el=cell.element;if(!el)return;const hidden=el.getAttribute("aria-hidden")==="true";if(supportsInert){el.inert=hidden;return}hidden?el.querySelectorAll(flickityHiddenCellFocusableSelector).forEach(node=>{if(!node.hasAttribute("data-flickity-inert-tabindex")){const prev2=node.hasAttribute("tabindex")?node.getAttribute("tabindex"):"";node.setAttribute("data-flickity-inert-tabindex",prev2)}node.setAttribute("tabindex","-1")}):el.querySelectorAll("[data-flickity-inert-tabindex]").forEach(node=>{const prev2=node.getAttribute("data-flickity-inert-tabindex");node.removeAttribute("data-flickity-inert-tabindex"),prev2===""?node.removeAttribute("tabindex"):node.setAttribute("tabindex",prev2)})})},applyAriaFromGeometry=()=>{(flkty.cells||[]).forEach(cell=>{const el=cell.element;el&&setFlickityCellAriaHidden(el,!flickityRectOverlapsRoot(el,visibilityRoot))})},flushAriaAndInert=()=>{useIntersectionAria&&applyAriaFromGeometry(),syncInertFromAria()};if(useIntersectionAria){flushAriaAndInert();const onLayoutChange=()=>requestAnimationFrame(flushAriaAndInert);flkty.on("ready",onLayoutChange),flkty.on("change",onLayoutChange),flkty.on("resize",onLayoutChange),flkty.on("settle",onLayoutChange),document.addEventListener("theme:resize:width",onLayoutChange);const teardownAriaExtras=()=>document.removeEventListener("theme:resize:width",onLayoutChange);flkty.on("destroy",teardownAriaExtras),flkty.on("deactivate",teardownAriaExtras);return}const onSync=()=>requestAnimationFrame(syncInertFromAria);flkty.on("ready",onSync),flkty.on("change",onSync),flkty.on("settle",onSync),syncInertFromAria()}function singles(frame,wrappers,skipHeightOverride=!1){if(skipHeightOverride)return;let padding=64,tallest=0;
12wrappers.forEach(wrap2=>{if(wrap2.offsetHeight>tallest){const getMarginTop=parseInt(window.getComputedStyle(wrap2).marginTop),getMarginBottom=parseInt(window.getComputedStyle(wrap2).marginBottom),getMargin=getMarginTop+getMarginBottom;getMargin>padding&&(padding=getMargin),tallest=wrap2.offsetHeight}});const images=frame.querySelectorAll("[data-overflow-background]");[frame,...images].forEach(el=>{el.style.setProperty("min-height",`calc(${tallest+padding}px + var(--menu-height))`)})}function doubles(section){let footerLogoH=document.querySelector("[data-footer-logo]")?document.querySelector("[data-footer-logo]").clientHeight+20:0;const lastSection=document.querySelector("#MainContent .shopify-section:last-child [data-section-id]"),lastSectionAttrID=lastSection?lastSection.getAttribute("data-section-id"):null;(lastSectionAttrID!==null&&section.getAttribute("data-section-id")!==lastSectionAttrID||!lastSection)&&(footerLogoH=0);const isMobile=window.innerWidth<window.theme.sizes.medium,maxHeightDesktop=section.getAttribute("data-max-height-desktop"),maxHeightMobile=section.getAttribute("data-max-height-mobile"),hasMaxHeight=isMobile&&maxHeightMobile&&maxHeightMobile!==""||!isMobile&&maxHeightDesktop&&maxHeightDesktop!=="";if(hasMaxHeight)return;if(isMobile){section.querySelectorAll("[data-overflow-frame]").forEach(singleframe=>{const wrappers=singleframe.querySelectorAll("[data-overflow-content]");singles(singleframe,wrappers,hasMaxHeight)});return}const htmlObject=document.createElement("div");section.prepend(htmlObject),htmlObject.style.display="none",htmlOb
12ject.style.width=getComputedStyle(section).getPropertyValue("--outer");const padding=parseInt(getComputedStyle(htmlObject).getPropertyValue("width"))*2;section.firstChild.remove();let tallest=0;const frames=section.querySelectorAll("[data-overflow-frame]");section.querySelectorAll("[data-overflow-content]").forEach(content=>{content.offsetHeight>tallest&&(tallest=content.offsetHeight)});const images=section.querySelectorAll("[data-overflow-background]");[...frames,...images].forEach(el=>{el.style.setProperty("min-height",`${tallest+padding}px`)}),section.style.setProperty("min-height",`${tallest+padding+2+footerLogoH}px`)}function preventOverflow(container){const singleFrames=container.querySelectorAll(".js-overflow-container");if(singleFrames){singleFrames.forEach(frame=>{const wrappers=frame.querySelectorAll(".js-overflow-content");singles(frame,wrappers),document.addEventListener("theme:resize",()=>{singles(frame,wrappers)})});const slideshows=container.querySelectorAll("[data-slideshow-wrapper]");slideshows.length&&slideshows.forEach(sli
12deshow=>{const slideshowInstance=FlickityFade.data(slideshow);typeof slideshowInstance<"u"&&slideshowInstance.reloadCells()})}const doubleSections=container.querySelectorAll("[data-overflow-wrapper]");doubleSections&&doubleSections.forEach(section=>{doubles(section),document.addEventListener("theme:resize",()=>{doubles(section)})})}function debounce(func,wait=500,immediate=!1){var timeout,args,context,timestamp,result;wait==null&&(wait=100);function later(){var last=Date.now()-timestamp;last<wait&&last>=0?timeout=setTimeout(later,wait-last):(timeout=null,immediate||(result=func.apply(context,args),context=args=null))}var debounced=function(){context=this,args=arguments,timestamp=Date.now();var callNow=immediate&&!timeout;return timeout||(timeout=setTimeout(later,wait)),callNow&&(result=func.apply(context,args),context=args=null),result};return debounced.clear=function(){timeout&&(clearTimeout(timeout),timeout=null)},debounced.flush=function(){timeout&&(result=func.apply(context,args),context=args=null,clearTimeout(timeout),timeout=null)},debounced}let lastWindowWidth=window.innerWidth,lastWindowHeight=window.innerHeight;function dispatch$1(){document.dispatchEvent(new CustomEvent("theme:resize",{bubbles:!0})),lastWindowWidth!==window.innerWidth&&(document.dispatchEvent(new CustomEvent("theme:resize:width",{bubbles:!0})),lastWindowWidth=window.innerWidth),lastWindowHeight!==window.innerHeight&&(document.dispatchEvent(new CustomEvent("theme:resize:height",{bubbles:!0})),lastWindowHeight=window.innerHeight)}let raf$1;function resizeListener(){window.addEventListener("resize",()=>{raf$1&&window.cancelAnimationFrame(raf$1),raf$1=window.requestAnimationFrame(debounce(dispatch$1,50)),siteFunctions.setClientWidthClass()})}let prev=window.pageYOffset,up=null,down=null,wasUp=null,wasDown=null,scrollLockTimeout=0;function dispatch(){if(document.documentElement.hasAttribute("data-scroll-locked"))return;const position=window.pageYOffset;position>prev?(down=!0,up=!1):position<prev?(down=!1,up=!0):(up=null,down=null),prev=position,document.dispatchEvent(new CustomEvent("theme:scroll",{detail:{up,down,position},bubbles:!1})),up&&!wasUp&&document.dispatchEvent(new CustomEvent("theme:scroll:up",{detail:{position},bubbles:!1})),down&&!wasDown&&document.dispatchEvent(new CustomEvent("theme:scroll:down",{detail:{position},bubbles:!1})),wasDown=down,wasUp=up}let storedScrollY=0,isLocked=!1;function lock(e){let element=e.target;e.detail&&e.detail instanceof Element&&(element=e.detail),isLocked||(storedScrollY=window.scrollY,isLocked=!0),document.body.removeAttribute("data-drawer-closing"),document.documentElement.setAttribute("data-scroll-locked",""),element.classList.contains("drawer__inner")?(document.body.style.setProperty("overflow","hidden"),document.body.style.setProperty("width","100%")):bodyScrollLock.disableBodyScroll(element)}function unlock(){if(!isLocked)return;const currentScrollY=storedScrollY;scrollLockTimeout&&clearTimeout(scrollLockTimeout),bodyScrollLock.clearAllBodyScrollLocks(),document.body.classList.remove("fixed-position"),document.body.style.removeProperty("position"),document.body.style.removeProperty("top"),document.body.style.removeProperty("padding-right"),document.body.style.removeProperty("overflow"),document.body.style.removeProperty("width"),document.body.removeAttribute("data-drawer-closing"),isLocked=!1,document.documentElement.removeAttribute("data-scroll-locked"),window.scrollTo({top:currentScrollY,behavior:"instant"}),prev=currentScrollY,requestAnimationFrame(()=>{setVars(),document.dispatchEvent(new CustomEvent("theme:resize",{bubbles:!0}))})}let raf;function scrollListener(){window.addEventListener("scroll",function(){raf&&window.cancelAnimationFrame(raf),raf=window.requestAnimationFrame(dispatch)},{passive:!0}),window.addEventListener("theme:scroll:lock",lock),window.addEventListener("theme:scroll:unlock",unlock)}resizeListener(),scrollListener(),document.addEventListener("load",e=>{const el=e.target;handleImageLoaded(el)},!0),window.addEventListener("DOMContentLoaded",()=>{setVarsOnResize(),floatLabels(document),errorTabIndex(document),moveModals(document),siteFunctions.setClientWidthClass(),window.theme.settings.animate_scroll&&AOS.refresh()}),window.addEventListener("load",()=>{removeLoadingClassFromLoadedImages(document),preventOverflow(document)}),document.addEventListener("shopify:section:load",e=>{const container=e.target;floatLabels(container),errorTabIndex(container),moveModals(container),preventOverflow(container),window.theme.settings.animate_scroll&&AOS.refresh(),document.dispatchEvent(new CustomEvent("theme:header:check",{bubbles:!1}))}),document.addEventListener("shopify:section:unload",()=>{document.dispatchEvent(new CustomEvent("theme:header:check",{bubbles:!1}))}),document.addEventListener("shopify:section:reorder",()=>{document.dispatchEvent(new CustomEvent("theme:header:check",{bubbles:!1}))});const showElement=(elem,removeProp=!1,prop="block")=>{elem&&(removeProp?elem.style.removeProperty("display"):elem.style.display=prop)};function FetchError(object){this.status=object.status||null,this.headers=object.headers||null,this.json=object.json||null,this.body=object.body||null}FetchError.prototype=Error.prototype;const selectors$15={scrollbar:"data-scrollbar-slider",scrollbarArrowPrev:"[data-scrollbar-arrow-prev]",scrollbarArrowNext:"[data-scrollbar-arrow-next]"},classes$H={hidden:"is-hidden"},times$2={delay:200};class NativeScrollbar{constructor(scrollbar){this.scrollbar=scrollbar,this.arrowNext=this.scrollbar.parentNode.querySelector(selectors$15.scrollbarArrowNext),this.arrowPrev=this.scrollbar.parentNode.querySelector(selectors$15.scrollbarArrowPrev),this.init(),this.resize(),this.scrollbar.hasAttribute(selectors$15.scrollbar)&&this.scrollToVisibleElement()}init(){this.arrowNext&&this.arrowPrev&&(window.isRTL?this.togglePrevArrow():this.toggleNextArrow(),this.events())}resize(){document.addEventListener("theme:resize",()=>{window.isRTL?this.togglePrevArrow():this.toggleNextArrow()})}events(){this.arrowNext.addEventListener("click",event=>{event.preventDefault(),this.goToNext()}),this.arrowPrev.addEventListener("click",event=>{event.preventDefault(),this.goToPrev()}),this.scrollbar.addEventListener("scroll",()=>{this.togglePrevArrow(),this.toggleNextArrow()})}goToNext(){const position=this.scrollbar.getBoundingClientRect().width/2+this.scrollbar.scrollLeft;this.move(position),this.arrowPrev.classList.remove(classes$H.hidden),this.toggleNextArrow()}goToPrev(){const position=this.scrollbar.scrollLeft-this.scrollbar.getBoundingClientRect().width/2;this.move(position),this.arrowNext.classList.remove(classes$H.hidden),this.togglePrevArrow()}toggleNextArrow(){setTimeout(()=>{window.isRTL?this.arrowNext&&this.arrowNext.classList.toggle(classes$H.hidden,this.scrollbar.scrollLeft===0):this.arrowNext&&this.arrowNext.classList.toggle(classes$H.hidden,Math.round(this.scrollbar.scrollLeft+this.scrollbar.getBoundingClientRect().width+1)>=this.scrollbar.scrollWidth)},times$2.delay)}togglePrevArrow(){setTimeout(()=>{window.isRTL?this.arrowPrev.classList.toggle(classes$H.hidden,Math.abs(this.scrollbar.scrollLeft)+this.scrollbar.getBoundingClientRect().width+1>=this.scrollbar.scrollWidth):this.arrowPrev.classList.toggle(classes$H.hidden,this.scrollbar.scrollLeft<=0)},times$2.delay)}scrollToVisibleElement(){[].forEach.call(this.scrollbar.children,element=>{element.addEventListener("click",event=>{(event.target.tagName.toLowerCase()==="a"||event.currentTarget&&event.currentTarget.tagName.toLowerCase()==="a"||event.currentTarget&&event.currentTarget.querySelector("a"))&&event.preventDefault(),this.move(element.offsetLeft-element.clientWidth)})})}move(offsetLeft){this.scrollbar.scrollTo({top:0,left:offsetLeft,behavior:"smooth"})}}const selectors$14={siblingsInnerHolder:"[data-sibling-inner]"};class Siblings{constructor(holder){this.siblings=holder.querySelectorAll(selectors$14.siblingsInnerHolder),this.init()}
12init(){this.siblings.forEach(sibling=>{new NativeScrollbar(sibling)})}}const siblings={onLoad(){new Siblings(this.container)}},cookieDefaultValues={expires:7,path:"/",domain:window.location.hostname};class Cookies{constructor(options2={}){this.options={...cookieDefaultValues,...options2}}write(value){document.cookie=`${this.options.name}=${value}; expires=${this.options.expires}; path=${this.options.path}; domain=${this.options.domain}`}read(){let cookieValuesArr=[];const hasCookieWithThisName=document.cookie.split("; ").find(row=>row.startsWith(this.options.name));if(document.cookie.indexOf("; ")!==-1&&hasCookieWithThisName){const cookieValue=document.cookie.split("; ").find(row=>row.startsWith(this.options.name)).split("=")[1];cookieValue!==null&&(cookieValuesArr=cookieValue.split(","))}return cookieValuesArr}destroy(){document.cookie=`${this.options.name}=null; expires=${this.options.expires}; path=${this.options.path}; domain=${this.options.domain}`}remove(removedValue){const cookieValue=this.read(),position=cookieValue.indexOf(removedValue);position!==-1&&(cookieValue.splice(position,1),this.write(cookieValue))}}const config={howManyToShow:4,howManyToStoreInMemory:10,wrapper:"[data-recently-viewed-products]",limit:"data-limit",recentTabLink:"[data-recent-link-tab]",recentWrapper:"[data-recent-wrapper]",recentViewedTab:"[data-recently-viewed-tab]",tabsHolderScroll:"[data-tabs-holder-scroll]",apiContent:"[data-api-content]",dataMinimum:"data-minimum"},classes$G={hide:"hide",containerWithoutTabsNav:"section-without-title--skip"},cookieConfig={expires:90,name:"shopify_recently_viewed"},sections$p=[],excludedHandles=[];class RecentProducts{constructor(section){this.container=section.container,this.cookie=new Cookies(cookieConfig),this.wrapper=this.container.querySelector(config.wrapper),this.wrapper!==null&&(this.howManyToShow=parseInt(this.container.querySelector(config.recentWrapper).getAttribute(config.limit))||config.howManyToShow,this.minimum=parseInt(this.container.querySelector(config.recentWrapper).getAttribute(config.dataMinimum)),this.recentViewedTab=this.container.querySelector(config.recentViewedTab),this.recentViewedLink=this.container.querySelector(config.recentTabLink),this.tabsHolderScroll=this.container.querySelector(config.tabsHolderScroll),this.resolveAndRender())}async resolveAndRender(){const filtered=this.cookie.read().filter(Boolean).filter(entry=>{const parts=entry.split("|"),handle=parts.length>1?parts[1]:parts[0];return!(excludedHandles.includes(handle)||handle==="authentic-subscription-product-handle")}),limitedIds=(await this.resolveIds(filtered)).slice(0,this.howManyToShow);if(limitedIds.length<this.minimum){this.handleInsufficient();return}this.handleSufficient(limitedIds)}async resolveIds(entries){return(await Promise.all(entries.map(async entry=>{const parts=entry.split("|");if(parts.length>=2&&/^\d+$/.test(parts[0]))return parts[0];const handle=parts[0];try{const res=await fetch(`${window.theme.routes.root_url}products/${handle}.js`);if(!res.ok)return null;const data=await res.json();return data&&data.id!=null?String(data.id):null}catch{return null}}))).filter(Boolean)}handleInsufficient(){if(this.recentViewedTab){const hasSiblingTabs=Array.prototype.filter.call(this.recentViewedTab.parentNode.children,child=>child!==this.recentViewedTab).length>1;this.recentViewedLink&&this.recentViewedLink.previousElementSibling&&(this.tabsHolderScroll.classList.add(classes$G.hide),this.container.classList.remove(classes$G.containerWithoutTabsNav)),hasSiblingTabs||this.container.classList.add(classes$G.hide)}else this.container.classList.add(classes$G.hide)}handleSufficient(ids){this.wrapper.setAttribute("data-pids",JSON.stringify(ids));let settled=!1;const onLoaded=e=>{if(settled)return;settled=!0,clearTimeout(safetyTimer),this.wrapper.removeEventListener("product-tile-group:loaded",onLoaded),(e&&e.detail&&typeof e.detail.count=="number"?e.detail.count:0)>=this.minimum?this.applyVisible():this.handleInsufficient()};this.wrapper.addEventListener("product-tile-group:loaded",onLoaded);const safetyTimer=setTimeout(()=>{settled||(settled=!0,this.wrapper.removeEventListener("product-tile-group:loaded",onLoaded),this.handleInsufficient())},12e3);typeof window.mountProductTileGroup=="function"&&window.mountProductTileGroup(this.wrapper)}
12applyVisible(){this.container.classList.remove(classes$G.hide),this.recentViewedLink&&this.recentViewedLink.previousElementSibling&&(this.tabsHolderScroll.classList.remove(classes$G.hide),this.container.classList.add(classes$G.containerWithoutTabsNav)),showElement(this.wrapper,!0);try{new Siblings(this.container)}catch{}}handleErrors(response){return response.ok?response:response.text().then(function(text){throw new FetchError({status:response.statusText,headers:response.headers,text})})}}class RecordRecentlyViewed{constructor(handle,id){this.handle=handle,this.id=id!=null&&id!==""?String(id):"",this.cookie=new Cookies(cookieConfig),!(typeof this.handle>"u")&&(excludedHandles.push(this.handle),this.updateCookie())}updateCookie(){let recentlyViewed=this.cookie.read();const entry=this.id?`${this.id}|${this.handle}`:this.handle;recentlyViewed=recentlyViewed.filter(item=>{if(!item)return!1;const parts=item.split("|");return(parts.length>1?parts[1]:parts[0])!==this.handle}),recentlyViewed.unshift(entry),recentlyViewed=recentlyViewed.slice(0,config.howManyToStoreInMemory),this.cookie.write(recentlyViewed)}}const recentProducts={onLoad(){sections$p[this.id]=new RecentProducts(this)}};function resolution(){const touchQuery="(any-pointer: coarse)",mobileQuery=`(max-width: ${window.theme.sizes.medium}px)`,tabletQuery=`(min-width: ${window.theme.sizes.medium+1}px) and (max-width: ${window.theme.sizes.large}px)`,desktopQuery=`(min-width: ${window.theme.sizes.large+1}px)`;resolution.isTouch=()=>{const touchMatches=window.matchMedia(touchQuery).matches;return document.documentElement.classList.toggle("supports-touch",touchMatches),touchMatches},resolution.isMobile=()=>window.matchMedia(mobileQuery).matches,resolution.isTablet=()=>window.matchMedia(tabletQuery).matches,resolution.isDesktop=()=>window.matchMedia(desktopQuery).matches;const queries=[[touchQuery,resolution.isTouch],[mobileQuery,resolution.isMobile],[tabletQuery,resolution.isTablet],[desktopQuery,resolution.isDesktop]];resolution.onChange=callback=>{queries.forEach(query=>{window.matchMedia(query[0]).addEventListener("change",()=>{query[1]()&&callback&&callback()})})}}resolution();function Listeners(){this.entries=[]}Listeners.prototype.add=function(element,event,fn){this.entries.push({element,event,fn}),element.addEventListener(event,fn)},Listeners.prototype.removeAll=function(){this.entries=this.entries.filter(function(listener){return listener.element.removeEventListener(listener.event,listener.fn),!1})};function getVariantFromSerializedArray(product,collection){_validateProductStructure(product);var optionArray=_createOptionArrayFromOptionCollection(product,collection);return getVariantFromOptionArray(product,optionArray)}function getVariantFromOptionArray(product,options2){_validateProductStructure(product),_validateOptionsArray(options2);var result=product.variants.filter(function(variant){return options2.every(function(option,index){return variant.options[index]===option})});return result[0]||null}function _createOptionArrayFromOptionCollection(product,collection){_validateProductStructure(product),_validateSerializedArray(collection);var optionArray=[];return collection.forEach(function(option){for(var i=0;i<product.options.length;i++){var name=product.options[i].name||product.options[i];if(name.toLowerCase()===option.name.toLowerCase()){optionArray[i]=option.value;break}}}),optionArray}function _validateProductStructure(product){if(typeof product!="object")throw new TypeError(product+" is not an object.");if(Object.keys(product).length===0&&product.constructor===Object)throw new Error(product+" is empty.")}function _validateSerializedArray(collection){if(!Array.isArray(collection))throw new TypeError(collection+" is not an array.");if(collection.length===0)throw new Error(collection+" is empty.");if(collection[0].hasOwnProperty("name")){if(typeof collection[0].name!="string")throw new TypeError("Invalid value type passed for name of option "+collection[0].name+". Value should be string.")}else throw new Error(collection[0]+"does not contain name key.")}function _validateOptionsArray(options2){if(Array.isArray(options2)&&typeof options2[0]=="object")throw new Error(options2+"is not a valid array of options.")}var selectors$13={idInput:'[name="id"]',planInput:'[name="selling_plan"]',optionInput:'[name^="options"]',quantityInput:'[name="quantity"]',propertyInput:'[name^="properties"]'};class ProductFormReader{constructor(element,form,product,options2){this.element=element,this.form=form.tagName=="FORM"?form:form.querySelector("form"),this.product=this._val
12idateProductObject(product),this.variantElement=this.form.querySelector(selectors$13.idInput),options2=options2||{},this.clickedElement=null,this._listeners=new Listeners,this._listeners.add(this.element,"submit",this._onSubmit.bind(this,options2)),this.optionInputs=this._initInputs(selectors$13.optionInput,options2.onOptionChange),this.planInputs=this._initInputs(selectors$13.planInput,options2.onPlanChange),this.quantityInputs=this._initInputs(selectors$13.quantityInput,options2.onQuantityChange),this.propertyInputs=this._initInputs(selectors$13.propertyInput,options2.onPropertyChange)}destroy(){this._listeners.removeAll()}options(){return this._serializeInputValues(this.optionInputs,function(item){var regex=/(?:^(options\[))(.*?)(?:\])/;return item.name=regex.exec(item.name)[2],item})}variant(){const opts=this.options();return opts.length?getVariantFromSerializedArray(this.product,opts):this.product.variants[0]}plan(variant){let plan={allocation:null,group:null,detail:null};const id=new FormData(this.form).get("selling_plan");if(variant&&variant.selling_plan_allocations&&variant.selling_plan_allocations.length>0){const uniqueVariantSellingPlanGroupIDs=[...new Set(variant.selling_plan_allocations.map(sellingPlan=>sellingPlan.selling_plan_group_id))],productSubsGroup=this.element.querySelectorAll("[data-subscription-group]");if(!productSubsGroup.length)return;productSubsGroup.forEach(group=>group.style.display="none"),uniqueVariantSellingPlanGroupIDs.forEach(groupId=>{this.element.querySelector(`[data-selling-plan-group="${groupId}"]`).style.display="block"})}return id&&variant&&(plan.allocation=variant.selling_plan_allocations.find(function(item){return item.selling_plan_id.toString()===id.toString()})),plan.allocation&&(plan.group=this.product.selling_plan_groups.find(function(item){return item.id.toString()===plan.allocation.selling_plan_group_id.toString()})),plan.group&&(plan.detail=plan.group.selling_plans.find(function(item){return item.id.toString()===id.toString()})),plan&&plan.allocation&&plan.detail&&plan.allocation?plan:null}properties(){return this._serializeInputValues(this.propertyInputs,function(item){var regex=/(?:^(properties\[))(.*?)(?:\])/;return item.name=regex.exec(item.name)[2],item})}quantity(){return this.quantityInputs[0]?Number.parseInt(this.quantityInputs[0].value,10):1}getFormState(){const variant=this.variant();return{options:this.options(),variant,properties:this.properties(),quantity:this.quantity(),plan:this.plan(variant)}}_setIdInputValue(variant){variant&&variant.id?this.variantElement.value=variant.id.toString():this.variantElement.value="",this.variantElement.dispatchEvent(new Event("change"))}_onSubmit(options2,event){event.dataset=this.getFormState(),options2.onFormSubmit&&options2.onFormSubmit(event)}_onOptionChange(event){this._setIdInputValue(event.dataset.variant)}_onFormEvent(cb){return typeof cb>"u"?Function.prototype:function(event){event.dataset=this.getFormState(),this._setIdInputValue(event.dataset.variant),cb(event)}.bind(this)}_initInputs(selector,cb){var elements=Array.prototype.slice.call(this.element.querySelectorAll(selector));return elements.map(function(element){return this._listeners.add(element,"change",this._onFormEvent(cb)),element}.bind(this))}_serializeInputValues(inputs,transform){return inputs.reduce(function(options2,input){return(input.checked||input.type!=="radio"&&input.type!=="checkbox")&&options2.push(transform({name:input.name,value:input.value})),options2},[])}_validateProductObject(product){if(typeof product!="object")throw new TypeError(product+" is not an object.");if(typeof product.variants[0].options>"u")throw new TypeError("Product object is invalid. Make sure you use the product object that is output from null or from the http://[your-product-url].js route");return product}}function getProductJson(handle){const requestRoute=`${window.theme.routes.root_url}products/${handle}.js`;return window.fetch(requestRoute).then(response=>response.json()).catch(e=>{console.error(e)})}function getScript(url,callback,callbackError){let head=document.getElementsByTagName("head")[0],done=!1,script=document.createElement("script");script.src=url,script.onload=script.onreadystatechange=function(){!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")?(done=!0,callback()):callbackError()},head.appendChild(script)}const loaders={};function loadScript(options2={}){if(options2.type||(options2.type="json"),options2.url)return loaders[options2.url]?loaders[options2.url]:getScriptWithPromise(options2.url,options2.type);if(options2.json){if(loaders[options2.json])return Promise.resolve(loaders[options2.json]);{const request=window.fetch(options2.json).then(response=>response.json()).then(response=>(loaders[options2.json]=response,response)).catch(error=>{loaders[options2.json]=null});return loaders[options2.json]=request,request}}else if(options2.name){const key="".concat(options2.name,options2.version);
12return loaders[key]?loaders[key]:loadShopifyWithPromise(options2)}else return Promise.reject()}function getScriptWithPromise(url,type){const loader=new Promise((resolve,reject)=>{type==="text"?fetch(url).then(response=>response.text()).then(data=>{resolve(data)}).catch(error=>{reject(error)}):getScript(url,function(){resolve()},function(){reject()})});return loaders[url]=loader,loader}function loadShopifyWithPromise(options2){const key="".concat(options2.name,options2.version),loader=new Promise((resolve,reject)=>{try{window.Shopify.loadFeatures([{name:options2.name,version:options2.version,onLoad:err=>{onLoadFromShopify(resolve,reject,err)}}])}catch(err){reject(err)}});return loaders[key]=loader,loader}function onLoadFromShopify(resolve,reject,err){return err?reject(err):resolve()}const selectors$12={wrapper:"[data-swapper-wrapper]",target:"[data-swapper-target]",hover:"data-swapper-hover"};let sections$o={};class Swapper{constructor(el){this.container=el,this.target=this.container.querySelector(selectors$12.target),this.hovers=this.container.querySelectorAll(`[${selectors$12.hover}]`),this.target&&this.hovers.length&&(this.deafaultContent=this.target.innerHTML,this.init())}init(){this.hovers.forEach(hover=>{hover.addEventListener("mouseenter",function(){const newContent=hover.getAttribute(selectors$12.hover);this.target.innerHTML=`${newContent}`}.bind(this))}),this.hovers.forEach(hover=>{hover.addEventListener("mouseleave",function(){this.target.innerHTML=this.deafaultContent}.bind(this))}),this.hovers.forEach(hover=>{hover.addEventListener("click",function(){const clickedContent=hover.getAttribute(selectors$12.hover);this.deafaultContent=`${clickedContent}`}.bind(this))})}}function makeSwappers(container){sections$o[container.id]=[],container.querySelectorAll(selectors$12.wrapper).forEach(el=>{sections$o[container.id].push(new Swapper(el))})}const swapperSection={onLoad(){makeSwappers(this.container)}},defaults={color:"ash"},selectors$11={swatch:"data-swatch",outerGrid:"[data-grid-item]",imageSlide:"[data-grid-image]",dataGridImageDefault:"data-grid-image-default",dataGridImageTarget:"data-grid-image-target",image:"data-swatch-image",imageId:"data-swatch-image-id",variant:"data-swatch-variant",link:"[data-grid-link]",wrapper:"[data-grid-swatches]",template:"[data-swatch-template]",handle:"data-swatch-handle",label:"data-swatch-label",index:"data-swatch-index",dataMediaId:"data-media-id",dataMediaSrcPlaceholder:"data-media-src-placeholder",dataFetchedImage:"data-fetched-image",dataFetchedImageIndex:"data-fetched-image-index"},classes$F={fade:"is-fade"};class ColorMatch{constructor(options2={}){this.settings={...defaults,...options2},this.match=this.init()}getColor(){return this.match}matchColors(colors,name){let bg="#E5E5E5",img=null;const path=window.theme.assets.base||"/",comparisonName=name.toLowerCase().replace(/\s/g,""),array=colors.colors;if(array){const variantNameMatch=nameObject=>Object.keys(nameObject).toString().toLowerCase().replace(/\s/g,"")===comparisonName,position=array.findIndex(variantNameMatch);if(position>-1){const value=Object.values(array[position])[0],valueLowerCase=value.toLowerCase();valueLowerCase.includes(".jpg")||valueLowerCase.includes(".jpeg")||valueLowerCase.includes(".png")||valueLowerCase.includes(".svg")?(img=`${path}${encodeURIComponent(value)}`,bg="#888888"):bg=value}}return{color:this.settings.color,path:img,hex:bg}}}class RadioSwatch extends HTMLElement{constructor(){super(),this.element=this.querySelector(`[${selectors$11.swatch}]`),this.colorString=this.element.getAttribute(selectors$11.swatch),this.image=this.element.getAttribute(selectors$11.image),this.imageId=this.element.getAttribute(selectors$11.imageId),this.variant=this.element.getAttribute(selectors$11.variant),this.outer=this.element.closest(selectors$11.outerGrid),this.media=null,this.imageSlide=null,this.imageDefault=null,this.stopSlideAnimation=!1}init(){this.setStyles(),this.variant&&this.outer&&this.outer.addEventListener("theme:quickview:media",e=>{e&&e.detail&&e.detail.media&&(this.media=e.detail.media)})}setStyles(){this.colorMatch.hex&&this.element.style.setProperty("--swatch",`${this.colorMatch.hex}`),this.colorMatch.path&&(this.element.style.setProperty("background-image",`url(${this.colorMatch.path})`),this.element.style.setProperty("background-size","cover"))}replaceImage(){if(this.imageReplace&&this.imageSlide&&this.imageId){if(this.imageSlide.hasAttribute(selectors$11.dataGridImageTarget)&&this.imageSlide.getAttribute(selectors$11.dataGridImageTarget)!==this.imageId){this.imageSlide.classList.add(classes$F.fade);const timeoutDelay=parseFloat(window.getComputedStyle(this.imageSlide).getPropertyValue("animation-duration"))*1e3;setTimeout(()=>{this.imageSlide.classList.remove(classes$F.fade)},timeoutDelay)}this.imageSlide.setAttribute(selectors$11.dataGridImageTarget,this.imageId),this.imageSlide.style.setProperty("background-color","#fff"),this.imageSlide.hasAttribute(selectors$11.dataGridImageDefault)||this.imageSlide.setAttribute(selectors$11.dataGridImageDefault,window.getComputedStyle(this.imageSlide).backgroundImage),this.imageSlide.style.setProperty("background-image",this.imageReplace)}}}class GridSwatch{constructor(wrap2){this.template=document.querySelector(selectors$11.template).innerHTML,this.wrap=wrap2,this.handle=wrap2.getAttribute(selectors$11.handle);const label=wrap2.getAttribute(selectors$11.label).trim().toLowerCase();getProductJson(this.handle).then(product=>{this.product=product,this.colorOption=product.options.find(function(element){return element.name.toLowerCase()===label||null}),this.colorOption&&(this.swatches=this.colorOption.values,this.init())})}
12init(){this.wrap.innerHTML="",this.swatches.forEach((swatch,index)=>{let variant=this.product.variants.find(variant2=>variant2.options.includes(swatch));const image=variant.featured_media?variant.featured_media.preview_image.src:"",imageId=variant.featured_media?variant.featured_media.id:"",rand=Math.floor(Math.random()*9999);this.wrap.innerHTML+=Sqrl__namespace.render(this.template,{color:swatch,uniq:`${this.product.id}-${variant.id}-${rand}`,variant:variant.id,product_id:this.product.id,image_id:imageId,image,index})}),new NativeScrollbar(this.wrap)}}function makeGridSwatches(container){container.querySelectorAll(selectors$11.wrapper).forEach(wrap2=>{new GridSwatch(wrap2)})}const swatchGridSection={onLoad(){makeGridSwatches(this.container),makeSwappers(this.container)}},selectors$10={holderItems:"[data-custom-scrollbar-items]",scrollbar:"[data-custom-scrollbar]",scrollbarTrack:"[data-custom-scrollbar-track]"},classes$E={hide:"hide"},sections$n={};class CustomScrollbar{constructor(holder,children=null){this.holderItems=holder.querySelector(selectors$10.holderItems),this.scrollbar=holder.querySelector(selectors$10.scrollbar),this.scrollbarTrack=holder.querySelector(selectors$10.scrollbarTrack),this.trackWidth=0,this.scrollWidth=0,this.scrollbar&&this.holderItems&&(this.children=children||this.holderItems.children,this.events(),this.calculateTrackWidth())}events(){this.holderItems.addEventListener("scroll",this.calculatePosition.bind(this)),this.holderItems.addEventListener("theme:carousel:scroll",this.calculatePosition.bind(this)),document.addEventListener("theme:resize:width",this.calculateTrackWidth.bind(this)),document.addEventListener("theme:resize:width",this.calculatePosition.bind(this))}calculateTrackWidth(){const htmlObject=document.createElement("div");this.holderItems.prepend(htmlObject),htmlObject.style.display="none",htmlOb
12ject.style.width=getComputedStyle(this.holderItems).getPropertyValue("--outer");const widthAfter=parseInt(getComputedStyle(htmlObject).getPropertyValue("width"));this.holderItems.firstChild.remove(),this.scrollbarWidth=this.scrollbar.clientWidth===0?this.scrollbar.parentNode.getBoundingClientRect().width:this.scrollbar.clientWidth,setTimeout(()=>{const childWidth=this.children[0].clientWidth,childMarginRight=Number(getComputedStyle(this.children[0]).marginRight.replace("px","")),childMarginLeft=Number(getComputedStyle(this.children[0]).marginLeft.replace("px",""));this.scrollWidth=this.children.length*(childWidth+childMarginRight+childMarginLeft)+widthAfter-childMarginRight,this.trackWidth=(this.scrollbarWidth+widthAfter)/this.scrollWidth*100,this.trackWidth=this.trackWidth<5?5:this.trackWidth,this.scrollbar.style.setProperty("--track-width",`${this.trackWidth}%`);const hideScrollbar=Math.ceil(this.trackWidth)>=100;this.scrollbar.classList.toggle(classes$E.hide,hideScrollbar)},100)}calculatePosition(){let position=this.holderItems.scrollLeft/(this.holderItems.scrollWidth-this.holderItems.clientWidth);position*=this.scrollbar.clientWidth-this.scrollbarTrack.clientWidth,position=position<0?0:position,position=isNaN(position)?0:position,this.scrollbar.style.setProperty("--position",`${Math.round(position)}px`),document.dispatchEvent(new CustomEvent("theme:scrollbar:scroll",{bubbles:!0,detail:{holder:this.holderItems}}))}}const customScrollbar={onLoad(){sections$n[this.id]=new CustomScrollbar(this.container)}},selectors$$={carousel:"[data-carousel]",carouselWithProgress:"data-carousel-progress",carouselSlide:"[data-carousel-slide]",carouselFirstSlidePhoto:"[data-grid-slide]",wrapper:"[data-wrapper]",carouselTrack:"[data-carousel-track]",slider:".flickity-slider",carouselOptions:"data-options",carouselCustomScrollbar:"data-custom-scrollbar-items",carouselPrev:".flickity-button.previous",carouselNext:".flickity-button.next",recentlyViewHolder:"data-recently-viewed-products",relatedHolder:"data-related-products",sectionHolder:"[data-section-id]"},classes$D={wrapper:"wrapper",arrowsForceTop:"flickity-force-arrows-top",arrowsOnSide:"not-moved-arrows",hide:"hide",flickityEnabled:"flickity-enabled",hiddenArrows:"hidden-arrows",flickityStatic:"flickity-static"},offsets$1={additionalOffsetWrapper:112};class Carousel extends HTMLElement{constructor(){super(),this.container=this}connectedCallback(){this.carousel=this.container.querySelector(selectors$$.carousel),this.carouselTrack=this.container.querySelector(selectors$$.carouselTrack),this.wrapper=this.container.closest(selectors$$.wrapper),this.section=this.container.closest(selectors$$.sectionHolder),this.slidesVisible=null,this.carouselInstance=null,this.carouselPrev=null,this.carouselNext=null,this.customOptions={},this.toggleWrapperModifierEvent=()=>this.toggleWrapperModifier(),this.carousel&&this.carousel.hasAttribute(selectors$$.recentlyViewHolder)?this.section.addEventListener("theme:recent-products:added",()=>{this.init()}):this.carousel&&this.carousel.hasAttribute(selectors$$.relatedHolder)?this.section.addEventListener("theme:related-products:added",()=>{this.init()}):this.init()}init(){this.carousel&&(this.slidesTotal=this.carousel.querySelectorAll(selectors$$.carouselSlide).length,this.getGridLayout(),this.trackVisibleSlides(),this.carousel.hasAttribute(selectors$$.carouselOptions)&&(this.customOptions=JSON.parse(decodeURIComponent(this.carousel.getAttribute(selectors$$.carouselOptions)))),this.initCarousel(),this.calculatedArrowsTopPosition(),this.toggleWrapperModifier(),document.addEventListener("theme:resize:width",this.toggleWrapperModifierEvent),this.carousel.hasAttribute(selectors$$.carouselWithProgress)&&this.progressBarCalculate(),this.carousel.hasAttribute(selectors$$.carouselCustomScrollbar)&&new CustomScrollbar(this.container),triggerKlaviyoPopupBtns(this),!this.productTileGroupListenerAdded&&this.section&&(this.onProductTileGroupLoaded=()=>{this.carouselInstance&&requestAnimationFrame(()=>{this.carouselInstance.resize(),this.calculatedArrowsTopPosition()})},this.section.addEventListener("product-tile-group:loaded",this.onProductTileGroupLoaded),this.productTileGroupListenerAdded=!0))}initCarousel(){this.options={accessibility:!0,contain:!0,freeScroll:!0,prevNextButtons:!0,wrapArround:!1,groupCells:this.getGroupCellsCount(),autoPlay:!1,pageDots:!1,cellAlign:window.isRTL?"right":"left",rightToLeft:!1,dragThreshold:10,arrowShape:{x0:10,x1:60,y1:50,x2:75,y2:40,x3:35},on:{resize:()=>{this.toggleArrows(),this.calculatedArrowsTopPosition(),this.carouselInstance&&(this.carouselInstance.options.groupCells=this.getGroupCellsCount()),setTimeout(()=>{this.visibleSlides()},100),setTimeout(()=>{this.getGridLayout();const parentTab=this.carousel.parentElement?.parentElement;if(parentTab){const customArrowPrev=parentTab.querySelector(".custom__arrow--prev"),customArrowNext=parentTab.querySelector(".custom__arrow--next");if(customArrowPrev&&customArrowNext){const countSlides=this.slidesTotal;let visibleItems;window.innerWidth>window.theme.sizes.large?visibleItems=this.largeItems:window.innerWidth>=window.theme.sizes.medium?visibleItems=this.mediumItems:visibleItems=this.smallItems;const shouldDisable=countSlides<=visibleItems;customArrowPrev.disabled=shouldDisable,customArrowNext.disabled=shouldDisable}}},150)},ready:()=>{setTimeout(()=>{window.dispatchEvent(new Event("resize"))},1e3)}},...this.customOptions},this.carouselInstance=new Flickity(this.carousel,this.options),bindFlickityHiddenCellInert(this.carouselInstance),this.carouselPrev=this.carousel.querySelector(selectors$$.carouselPrev),this.carouselNext=this.carousel.querySelector(selectors$$.carouselNext),this.container.addEventListener("theme:tab:change",()=>{this.carouselInstance.resize(),this.carouselPrev=this.carousel.querySelector(selectors$$.carouselPrev),this.carouselNext=this.carousel.querySelector(selectors$$.carouselNext)}),this.carouselInstance.on("dragStart",()=>{this.carouselInstance.slider.style.pointerEvents="none",resolution.isMobile||this.containDrag()}),this.carouselInstance.on("dragEnd",()=>{this.carouselInstance.slider.style.pointerEvents="auto",resolution.isMobile||this.containDrag()}),this.carouselInstance.on("change",index=>this.lockArrows(index)),setTimeout(()=>{this.visibleSlides()},100),Shopify.designMode&&setTimeout(()=>{this.carouselInstance.options.watchCSS&&!this.carousel.classList.contains(classe
12s$D.flickityEnabled)?(this.carouselInstance.destroy(),this.carouselInstance=new Flickity(this.carousel,this.options),bindFlickityHiddenCellInert(this.carouselInstance),this.carouselInstance.resize(),this.carouselPrev=this.carousel.querySelector(selectors$$.carouselPrev),this.carouselNext=this.carousel.querySelector(selectors$$.carouselNext)):this.carouselInstance.resize()},10),this.carousel.classList.toggle(classes$D.flickityStatic,this.smallItems===this.carousel.querySelectorAll(selectors$$.carouselSlide).length),makeGridSwatches(this.container),new Siblings(this.container),setTimeout(()=>{const parentTab=this.carousel.parentElement.parentElement,carousel=this.carousel,customArrowPrev=parentTab.querySelector(".custom__arrow--prev"),customArrowNext=parentTab.querySelector(".custom__arrow--next"),getFlickityButtons=()=>({prev:carousel.querySelector("button.flickity-button.previous"),next:carousel.querySelector("button.flickity-button.next")});if(customArrowPrev!==null&&customArrowNext!==null){const initialBtns=getFlickityButtons();checkNavStatus(initialBtns.prev,initialBtns.next,customArrowPrev,customArrowNext),customArrowPrev.addEventListener("click",function(){const btns=getFlickityButtons();btns.prev&&btns.prev.click(),checkNavStatus(btns.prev,btns.next,customArrowPrev,customArrowNext)}),customArrowNext.addEventListener("click",function(){const btns=getFlickityButtons();btns.next&&btns.next.click(),checkNavStatus(btns.prev,btns.next,customArrowPrev,customArrowNext)})}},11);
12function checkNavStatus(currentCarouselPrevBtn,currentCarouselNextBtn,customArrowPrev,customArrowNext){currentCarouselPrevBtn?.disabled==!0&&currentCarouselPrevBtn?customArrowPrev.disabled=!0:customArrowPrev.disabled=!1,currentCarouselNextBtn?.disabled==!0&&currentCarouselNextBtn?customArrowNext.disabled=!0:customArrowNext.disabled=!1}}getGroupCellsCount(){return window.innerWidth>window.theme.sizes.large?this.largeItems:window.innerWidth>=window.theme.sizes.medium?this.mediumItems:this.smallItems}calculatedArrowsTopPosition(){const carouselFirstSlidePhoto=this.container.querySelector(selectors$$.carouselFirstSlidePhoto);if(carouselFirstSlidePhoto){const buttonOffset=carouselFirstSlidePhoto.offsetHeight/2;this.carousel.style.setProperty("--buttons-top",`${buttonOffset}px`)}}toggleWrapperModifier(){if(!this.wrapper)return;const scrollbarWidth=Number(getComputedStyle(document.documentElement).getPropertyValue("--scrollbar-width").replace("px","")),wrapperWidth=this.wrapper.clientWidth;this.wrapperWidthWithGutter=wrapperWidth+offsets$1.additionalOffsetWrapper+scrollbarWidth,window.innerWidth>=this.wrapperWidthWithGutter&&(this.wrapper.classList.remove(classes$D.arrowsForceTop),this.section.classList.add(classes$D.arrowsOnSide)),window.innerWidth<this.wrapperWidthWithGutter&&(this.wrapper.classList.add(classes$D.arrowsForceTop),this.section.classList.remove(classes$D.arrowsOnSide))}progressBarCalculate(){this.carouselInstance!==null&&this.carouselTrack&&this.carouselInstance.on("scroll",progress=>{progress=Math.max(0,Math.min(1,progress))*100+"%",this.carouselTrack.style.width=progress})}getGridLayout(){this.largeItems=Number(getComputedStyle(this.carousel).getPropertyValue("--grid-large-items"))||3,this.mediumItems=Number(getComputedStyle(this.carousel).getPropertyValue("--grid-medium-items"))||this.largeItems,this.smallItems=Number(getComputedStyle(this.carousel).getPropertyValue("--grid-small-items"))||this.mediumItems||this.largeItems}visibleSlides(){if(!this.carousel)return;this.getGridLayout();const carouselWidth=this.carousel.clientWidth||(this.carouselInstance&&this.carouselInstance.size?this.carouselInstance.size.width:0);let slideWidth=0;try{if(this.carouselInstance&&this.carouselInstance.selectedElement)slideWidth=this.carouselInstance.selectedElement.clientWidth||0;else{const slideElement=this.carousel.querySelector(selectors$$.carouselSlide);slideElement&&(slideWidth=slideElement.clientWidth||0)}}catch{const slideElement=this.carousel.querySelector(selectors$$.carouselSlide);slideWidth=slideElement&&slideElement.clientWidth||0}const countSlides=this.carouselInstance&&this.carouselInstance.slides?this.carouselInstance.slides.length:this.carousel.querySelectorAll(selectors$$.carouselSlide).length,numberOfVisibleSlides=slideWidth>0?Math.floor(carouselWidth/slideWidth):0;this.section&&this.section.classList.remove(classes$D.hiddenArrows),this.carouselPrev&&this.carouselNext&&(this.carouselPrev.classList.remove(classes$D.hide),this.carouselNext.classList.remove(classes$D.hide)),window.innerWidth>window.theme.sizes.large&&!this.options.groupCells&&numberOfVisibleSlides<=this.largeItems&&countSlides<=this.largeItems&&this.carouselPrev&&this.carouselNext&&this.hideArrows(),window.innerWidth>=window.theme.sizes.medium&&window.innerWidth<=window.theme.sizes.large&&!this.options.groupCells&&numberOfVisibleSlides<=this.mediumItems&&countSlides<=this.mediumItems&&this.carouselPrev&&this.carouselNext&&this.hideArrows(),window.innerWidth<window.theme.sizes.medium&&!this.options.groupCells&&numberOfVisibleSlides<=this.smallItems&&countSlides<=this.smallItems&&this.carouselPrev&&this.carouselNext&&this.hideArrows()}trackVisibleSlides(){const isSmallDown=window.matchMedia(`(max-width: ${window.theme.sizes.medium-1}px)`),isTablet=window.matchMedia(`(min-width: ${window.theme.sizes.medium}px) and (max-width: ${window.theme.sizes.large-1}px)`),isDesktop2=window.matchMedia(`(min-width: ${window.theme.sizes.large}px)`);isSmallDown.addEventListener("change",event=>{event.matches&&(this.slidesVisible=this.smallItems)}),isSmallDown.matches&&(this.slidesVisible=this.smallItems),isTablet.addEventListener("change",event=>{event.matches&&(this.slidesVisible=this.mediumItems)}),isTablet.matches&&(this.slidesVisible=this.mediumItems),isDesktop2.addEventListener("change",event=>{event.matches&&(this.slidesVisible=this.largeItems)}),isDesktop2.matches&&(this.slidesVisible=this.largeItems)}containDrag(){const lastSelectableCell=this.slidesTotal-this.slidesVisible;this.carouselInstance.selectedIndex>=lastSelectableCell&&(this.carouselInstance.select(lastSelectableCell),this.lockArrows(this.carouselInstance.selectedIndex))}
12lockArrows(index){if(this.options.wrapAround||this.options.groupCells)return;const nextIndex=parseInt(index),lastSelectableCell=this.slidesTotal-this.slidesVisible;this.carouselNext.disabled=nextIndex>=lastSelectableCell}showArrows(){this.carouselPrev.classList.remove(classes$D.hide),this.carouselNext.classList.remove(classes$D.hide),this.section&&this.section.classList.remove(classes$D.hiddenArrows)}hideArrows(){this.carouselPrev.classList.add(classes$D.hide),this.carouselNext.classList.add(classes$D.hide),this.section&&this.section.classList.add(classes$D.hiddenArrows)}toggleArrows(){this.carouselPrev&&this.carouselNext&&(this.carouselPrev.disabled&&this.carouselNext.disabled?this.hideArrows():this.showArrows())}}customElements.get("flickity-carousel")||customElements.define("flickity-carousel",Carousel);function forceFocus(element,options2){options2=options2||{},element.focus(),typeof options2.className<"u"&&element.classList.add(options2.className),element.addEventListener("blur",callback);function callback(event){event.target.removeEventListener(event.type,callback),typeof options2.className<"u"&&element.classList.remove(options2.className)}}function focusHash(options2){options2=options2||{};var hash=window.location.hash,element=document.getElementById(hash.slice(1));if(element&&options2.ignore&&element.matches(options2.ignore))return!1;hash&&element&&forceFocus(element,options2)}function bindInPageLinks(options2){options2=options2||{};var links=Array.prototype.slice.call(document.querySelectorAll('a[href^="#"]'));function queryCheck(selector){return document.getElementById(selector)!==null}return links.filter(function(link){if(link.hash==="#"||link.hash===""||options2.ignore&&link.matches(options2.ignore)||!queryCheck(link.hash.substr(1)))return!1;var element=document.querySelector(link.hash);return element?(link.addEventListener("click",function(){forceFocus(element,options2)}),!0):!1})}function focusable(container){var elements=Array.prototype.slice.call(container.querySelectorAll("[tabindex],[draggable],a[href],area,button:enabled,input:not([type=hidden]):enabled,object,select:enabled,textarea:enabled[data-focus-element]"));return elements.filter(function(element){return!!(element.offsetWidth||element.offsetHeight||element.getClientRects().length)})}var trapFocusHandlers={};function trapFocus(container,options2){options2=options2||{};var elements=focusable(container),elementToFocus=options2.elementToFocus||container,first=elements[0],last=elements[elements.length-1];removeTrapFocus(),trapFocusHandlers.focusin=function(event){container!==event.target&&!container.contains(event.target)&&first&&first===event.target&&first.focus(),!(event.target!==container&&event.target!==last&&event.target!==first)&&document.addEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.focusout=function(){document.removeEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.keydown=function(event){event.code==="Tab"&&(event.target===last&&!event.shiftKey&&(event.preventDefault(),first.focus()),(event.target===container||event.target===first)&&event.shiftKey&&(event.preventDefault(),last.focus()))},document.addEventListener("focusout",trapFocusHandlers.focusout),document.addEventListener("focusin",trapFocusHandlers.focusin),forceFocus(elementToFocus,options2)}function removeTrapFocus(){document.removeEventListener("focusin",trapFocusHandlers.focusin),document.removeEventListener("focusout",trapFocusHandlers.focusout),document.removeEventListener("keydown",trapFocusHandlers.keydown)}function accessibleLinks(elements,options2){if(typeof elements!="string")throw new TypeError(elements+" is not a String.");if(elements=document.querySelectorAll(elements),elements.length===0)return;options2=options2||{},options2.messages=options2.messages||{};var messages={newWindow:options2.messages.newWindow||"Opens in a new window.",external:options2.messages.external||"Opens external website.",newWindowExternal:options2.messages.newWindowExternal||"Opens external website in a new window."},prefix=options2.prefix||"a11y",messageSelectors={newWindow:prefix+"-new-window-message",external:prefix+"-external-message",newWindowExternal:prefix+"-new-window-external-message"};function generateHTML(messages2){var container=document.createElement("ul"),htmlMessages=Object.keys(messages2).reduce(function(html,key){return html+="<li id="+messageSelectors[key]+">
12"+messages2[key]+"</li>"},"");container.setAttribute("hidden",!0),container.innerHTML=htmlMessages,document.body.appendChild(container)}function externalSite(link){return link.hostname!==window.location.hostname}elements.forEach(function(link){var target=link.getAttribute("target"),rel=link.getAttribute("rel"),isExternal=externalSite(link),isTargetBlank=target==="_blank",missingRelNoopener=rel===null||rel.indexOf("noopener")===-1;if(isTargetBlank&&missingRelNoopener){var relValue=rel===null?"noopener":rel+" noopener";link.setAttribute("rel",relValue)}isExternal&&isTargetBlank?link.setAttribute("aria-describedby",messageSelectors.newWindowExternal):isExternal?link.setAttribute("aria-describedby",messageSelectors.external):isTargetBlank&&link.setAttribute("aria-describedby",messageSelectors.newWindow)}),generateHTML(messages)}var a11y=Object.freeze({__proto__:null,forceFocus,focusHash,bindInPageLinks,focusable,trapFocus,removeTrapFocus,accessibleLinks});const throttle=(fn,wait)=>{let prev2,next;return function invokeFn(...args){const now=Date.now();next=clearTimeout(next),!prev2||now-prev2>=wait?(fn.apply(null,args),prev2=now):next=setTimeout(invokeFn.bind(null,...args),wait-(now-prev2))}},selectors$_={sizeButton:"[data-size-button]",mediaHolder:"[data-media-slide]"},classes$C={classExpanded:"is-expanded"};class ImageCaption{constructor(container){this.container=container,this.sizeButtons=this.container.querySelectorAll(selectors$_.sizeButton),this.sizeButtons.length>0&&this.init()}init(){this.sizeButtons.forEach(button=>{button.addEventListener("click",()=>{button.classList.toggle(classes$C.classExpanded),button.closest(selectors$_.mediaHolder).classList.toggle(classes$C.classExpanded)})})}}const selectors$Z={dataQuickview:"data-quickview",quickviewHolder:"data-quickview-holder",addButtonWrapper:"[data-add-action-wrapper]",modalContent:"[data-product-quickview-ajax]",quickviewModal:"[data-quickview-modal]",quickviewModalScrolls:"[data-drawer-scrolls]",quickviewModalTemplate:"[data-quickview-modal-template]",quickviewHead:"[data-quickview-head]",quickviewFormArea:"[data-quickview-form-area]",toggleButton:"[data-toggle-button]",media:"[data-media-slide]",mediaId:"[data-media-id]",dataPopup:"data-popup-",focusable:'button, [href], select, textarea, [tabindex]:not([tabindex="-1"])'},classes$B={hide:"hide",active:"is-active",expanded:"is-expanded",loading:"loading"},visibleParts={minPart:250,mediumPart:400};class ProductQuickView extends HTMLElement{constructor(){super(),this.container=this}static get observedAttributes(){return[selectors$Z.dataQuickview]}attributeChangedCallback(name,oldValue,newValue){oldValue&&(this.disconnectedCallback(),this.connectedCallback())}connectedCallback(){if(this.quickviewHolder=this.container.querySelector(`[${selectors$Z.quickviewHolder}]`),this.modalCloseEvent=()=>this.modalClose(),this.clickQuickviewEvent=e=>this.clickQuickviewButton(e),this.quickviewHolder){this.modalTemplate=this.quickviewHolder.querySelector(selectors$Z.quickviewModalTemplate),this.modal=document.querySelector(selectors$Z.quickviewModal),this.modalID=this.quickviewHolder.getAttribute(selectors$Z.quickviewHolder),this.modalContent=null,this.modalScroll=null,this.scrollLockEnable=!0,this.windowH=window.innerHeight,this.activeTriggerButton=null,this.triggerButtons=this.quickviewHolder.querySelectorAll(`[${selectors$Z.dataPopup}${this.modalID}]`);const firstTrigger=this.triggerButtons[0];if(this.handle=firstTrigger?firstTrigger.getAttribute(`${selectors$Z.dataPopup}${this.modalID}`):null,this.modalTemplate&&!this.modal){const modalTemplateInner=this.modalTemplate.innerHTML,htmlObject=document.createElement("div");htmlObject.innerHTML=modalTemplateInner,this.modalHtml=htmlObject.querySelector(selectors$Z.quickviewModal),document.body.appendChild(this.modalHtml),this.modal=document.querySelector(selectors$Z.quickviewModal)}this.modalTemplate&&this.triggerButtons?.length&&this.triggerButtons.forEach(btn=>btn.addEventListener("click",this.clickQuickviewEvent))}}clickQuickviewButton(e){e.preventDefault();const triggerButton=e.currentTarget;if(this.activeTriggerButton=triggerButton,this.modal&&this.modalID&&(this.modal.id=this.modalID),triggerButton&&this.modalID){const attr=`${selectors$Z.dataPopup}${this.modalID}`,dynamicHandle=triggerButton.getAttribute(attr);dynamicHandle&&(this.handle=dynamicHandle)}if(!this.handle){console.error("Quickview: Cannot open - product handle is missing");return}document.documentElement.hasAttribute("data-scroll-locked")&&(this.scrollLockEnable=!1),this.container.classList.add(classes$B.loading),triggerButton&&triggerButton.setAttribute("aria-busy","true"),this.getQuickviewHTML(triggerButton)}getQuickviewHTML(triggerButton){const finishLoading=()=>{this.container.classList.remove(classes$B.loading),triggerButton&&triggerButton.removeAttribute("aria-busy")};window.fetch(`${window.theme.routes.root_url}products/${this.handle}?section_id=api-product-quickview`).then(this.handleErrors).then(response=>response.text()).then(html=>{const fresh=document.createElement("div");fresh.innerHTML=html;const content=fresh.querySelector("[data-api-content]");if(!content)throw new Error("Response is missing [data-api-content]");return content.innerHTML}).then(contentHTML=>{try{this.renderQuickview(contentHTML,triggerButton)}catch(e){console.error("Quickview: failed to render",e)}finishLoading()},e=>{console.error("Quickview: failed to load",e),finishLoading(),window.location.href=`${window.theme.routes.root_url}products/${this.handle}`})}renderQuickview(contentHTML,triggerButton){this.modalContent=this.modal.querySelector(selectors$Z.modalContent),this.modalContent.innerHTML=contentHTML,this.modalScroll=this.modal.querySelector(selectors$Z.quickviewModalScrolls);const images=this.modalContent.querySelector(selectors$Z.mediaId);if(images){const imagesHolder=document.createElement("div");imagesHolder.innerHTML=images.parentElement.innerHTML,this.quickviewHolder.dis
12patchEvent(new CustomEvent("theme:quickview:media",{bubbles:!0,detail:{media:imagesHolder}}))}document.dispatchEvent(new CustomEvent("theme:quickview:loaded")),this.initQuickviewVideos(),this.modalCreate(),this.quickviewVariantOrder();const preferredId=triggerButton?triggerButton.getAttribute("data-media-select"):null;if(!preferredId)return;const slideshow=this.modalContent.querySelector("[data-product-slideshow]");slideshow&&slideshow.dispatchEvent(new CustomEvent("theme:image:change",{detail:{id:preferredId}}))}initQuickviewVideos(){if(!this.modalContent?.querySelector('[data-type="external_video"], [data-type="video"]'))return;const slideshow=this.modalContent.querySelector("[data-product-slideshow]");if(!slideshow)return;const playerElements=slideshow.querySelectorAll('[data-type="external_video"], [data-type="video"]');let isFirst=!0;for(const player of playerElements){const uniqueKey=player.dataset.player,host=player.dataset.host;if(!uniqueKey)continue;player.setAttribute("data-quickview-video","true");const controls=this.createQuickviewVideoControls(player,uniqueKey);player.appendChild(controls);const videoId=player.querySelector("[data-video-id]")?.getAttribute("data-video-id");let videoPlayerPromise;try{host==="youtube"?videoPlayerPromise=embedYoutube(uniqueKey,{autoplay:1,controls:0,fs:0,loop:1,playlist:videoId||void 0}):host==="vimeo"?videoPlayerPromise=embedVimeo(uniqueKey,{controls:!1,loop:!0}):videoPlayerPromise=productNativeVideo(uniqueKey,{loop:!0,hideControls:!0}),videoPlayerPromise&&videoPlayerPromise.then&&videoPlayerPromise.then(()=>{isFirst&&(player.dispatchEvent(new CustomEvent("play")),isFirst=!1)}).catch(err=>{console.warn("Quickview video init:",err)}),player.addEventListener("play",()=>
12this.updateQuickviewVideoControls(controls,!0)),player.addEventListener("pause",()=>this.updateQuickviewVideoControls(controls,!1))}catch(err){console.warn("Quickview video init:",err)}}}createQuickviewVideoControls(player,uniqueKey){const videoId="qv-video-"+String(uniqueKey).replace(/[^a-zA-Z0-9-_]/g,"-");player.id||(player.id=videoId);const div=document.createElement("div");div.className="quickview-video-controls",div.setAttribute("data-is-playing","true"),div.innerHTML='<button type="button" class="quickview-video-control-button play-button" aria-label="Play product video" aria-controls="'+videoId+'" aria-pressed="false"><svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M20 37.5C29.665 37.5 37.5 29.665 37.5 20C37.5 10.335 29.665 2.5 20 2.5C10.335 2.5 2.5 10.335 2.5 20C2.5 29.665 10.335 37.5 20 37.5Z" fill="white" stroke="#737373" stroke-width="1.5" stroke-miterlimit="10"/><path d="M15.2332 26.3661V13.6328L26.3665 19.9995L15.2332 26.3661Z" fill="#737373"/></svg></button><button type="button" class="quickview-video-control-button pause-button" aria-label="Pause product video" aria-controls="'+videoId+'" aria-pressed="true"><svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M20 37.5C29.665 37.5 37.5 29.665 37.5 20C37.5 10.335 29.665 2.5 20 2.5C10.335 2.5 2.5 10.335 2.5 20C2.5 29.665 10.335 37.5 20 37.5Z" fill="white" stroke="#737373" stroke-width="1.5" stroke-miterlimit="10"/><path d="M24.7668 12.0508V27.9508" stroke="#737373" stroke-width="3" stroke-miterlimit="10"/><path d="M15.2332 27.9508V12.0508" stroke="#737373" stroke-width="3" stroke-miterlimit="10"/></svg></button>';const playBtn=div.querySelector(".play-button"),pauseBtn=div.querySelector(".pause-button");return playBtn.addEventListener("click",e=>{e.stopPropagation(),player.dispatchEvent(new CustomEvent("play"))}),pauseBtn.addEventListener("click",e=>{e.stopPropagation(),player.dispatchEvent(new CustomEvent("pause"))}),div}updateQuickviewVideoControls(controls,isPlaying){if(!controls)return;controls.setAttribute("data-is-playing",isPlaying?"true":"false");const playBtn=controls.querySelector(".play-button"),pauseBtn=controls.querySelector(".pause-button");playBtn&&playBtn.setAttribute("aria-pressed",isPlaying?"false":"true"),pauseBtn&&pauseBtn.setAttribute("aria-pressed",isPlaying?"true":"false")}quickviewVariantOrder(){const standardOptionsContainer=document.getElementById("customVariantOrder"),productTags=JSON.parse(standardOptionsContainer.dataset.producttags),customOrderTag=__GLOBAL__.optionTwoOrderOverrideTag,hasCustomOrder=productTags.some(tag=>tag===customOrderTag),sizeVariantBtns=document.querySelectorAll('[data-select-label="Size"] fieldset .radio__inputs > span');if(hasCustomOrder){const customOrder=__GLOBAL__.optionTwoOrderOverride.split(",");var orderedOptionValues=[];if(standardOptionsContainer!==null){const standardOptionsJSON=JSON.parse(standardOptionsContainer.dataset.optionssizevalues);customOrder.forEach(customOption=>{standardOptionsJSON.forEach(option=>{customOption===option&&(orderedOptionValues.push(customOption),standardOptionsContainer.dataset.orderedvalues=orderedOptionValues)})})}sizeVariantBtns.forEach(btn=>{const btnValue=btn.querySelector("input").value;orderedOptionValues.includes(btnValue)&&(btn.style.order=orderedOptionValues.indexOf(btnValue))})}else{const defaultOrder=__GLOBAL__.defaultOptionOrder.split(",");sizeVariantBtns.forEach(btn=>{const btnValue=btn.querySelector("input").value;btn.style.order=defaultOrder.indexOf(btnValue)})}}modalCreate(){MicroModal.show(this.modalID,{onShow:(modal2,el,event)=>{window.updateFindingMethod("quickview"),this.quickviewHead=modal2.querySelector(selectors$Z.quickviewHead),this.quickviewFormArea=modal2.querySelector(selectors$Z.quickviewFormArea),this.toggleButton=modal2.querySelector(selectors$Z.toggleButton),this.toggleForm("loading"),document.addEventListener("theme:resize",throttle(()=>{this.toggleForm("resize")},500)),this.clickEventToggleForm();const firstFocus=modal2.querySelector(selectors$Z.focusable);trapFocus(modal2,{elementToFocus:firstFocus}),this.modal.addEventListener("theme:quickview:close",this.modalCloseEvent),document.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0,detail:this.modalScroll})),new ImageCaption(this.modal)},onClose:(modal2,el,event)=>
12{modal2.querySelectorAll(selectors$Z.media).forEach(media=>{media.dispatchEvent(new CustomEvent("pause"))}),removeTrapFocus(),el.focus(),this.modal.removeEventListener("theme:quickview:close",this.modalCloseEvent),this.scrollLockEnable?document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0})):this.scrollLockEnable=!0}})}modalClose(){const players=this.modalContent?.querySelectorAll("[data-player]");players&&players.forEach(p=>p.dispatchEvent(new CustomEvent("destroy"))),MicroModal.close(this.modalID)}handleErrors(response){return response.ok?response:response.json().then(function(json){throw new FetchError({status:response.statusText,headers:response.headers,json})})}toggleForm(event){this.windowH===window.innerHeight&&event==="resize"||(this.toggleButton.classList.contains(classes$B.hide)||this.toggleButton.classList.add(classes$B.hide),this.quickviewFormArea.classList.contains(classes$B.expanded)||this.quickviewFormArea.classList.add(classes$B.expanded),event==="resize"&&(this.quickviewFormArea.classList.add(classes$B.expanded),this.toggleButton.classList.add(classes$B.hide),this.windowH=window.innerHeight),setTimeout(()=>{const imagesVisiblePartOfImages=window.innerHeight-this.quickviewHead.offsetHeight-this.quickviewFormArea.offsetHeight,hasMediumVisiblePart=imagesVisiblePartOfImages<visibleParts.mediumPart&&imagesVisiblePartOfImages>visibleParts.minPart,missingVisiblePart=imagesVisiblePartOfImages<visibleParts.minPart;hasMediumVisiblePart||missingVisiblePart?(this.toggleButton.classList.remove(classes$B.hide),this.toggleButton.classList.add(classes$B.active)):this.toggleButton.classList.add(classes$B.hide),missingVisiblePart?(event==="loading"&&(this.quickviewFormArea.classList.add(classes$B.loading),setTimeout(()=>{this.quickviewFormArea.classList.remove(classes$B.loading)},50)),this.quickviewFormArea.classList.remove(classes$B.expanded),this.toggleButton.classList.remove(classes$B.active)):this.quickviewFormArea.classList.add(classes$B.expanded),triggerKlaviyoPopupQuickView(this.quickviewFormArea)},450))}clickEventToggleForm(){this.toggleButton&&this.toggleButton.addEventListener("click",()=>{this.toggleButton.classList.toggle(classes$B.active),this.quickviewFormArea.classList.toggle(classes$B.expanded)})}disconnectedCallback(){this.modalTemplate&&this.triggerButtons?.length&&this.triggerButtons.forEach(btn=>btn.removeEventListener("click",this.clickQuickviewEvent))}}const slideDown=(target,duration=500,checkHidden=!0)=>{let display=window.getComputedStyle(target).display;checkHidden&&display!=="none"||(target.style.removeProperty("display"),display==="none"&&(display="block"),target.style.display=display,requestAnimationFrame(()=>{let height=target.offsetHeight;target.style.overflow="hidden",target.style.height=0,target.style.paddingTop=0,target.style.paddingBottom=0,target.style.marginTop=0,target.style.marginBottom=0,target.offsetHeight,target.style.boxSizing="border-box",target.style.transitionTimingFunction="cubic-bezier(0.215, 0.61, 0.355, 1)",target.style.transitionProperty="height, margin, padding",target.style.transitionDuration=duration+"ms",requestAnimationFrame(()=>{target.style.height=height+"px",target.style.removeProperty("padding-top"),target.style.removeProperty("padding-bottom"),target.style.removeProperty("margin-top"),target.style.removeProperty("margin-bottom")}),window.setTimeout(()=>{target.style.removeProperty("overflow"),target.style.removeProperty("transition-duration"),target.style.removeProperty("transition-property"),target.style.removeProperty("transition-timing-function"),target.style.removeProperty("box-sizing")},duration)}))},slideUp=(target,duration=500)=>{const currentHeight=target.offsetHeight;requestAnimationFrame(()=>{target.style.height=currentHeight+"px",target.style.overflow="hidden",target.style.boxSizing="border-box",target.offsetHeight,requestAnimationFrame(()=>{target.style.transitionProperty="height, margin, padding",target.style.transitionTimingFunction="cubic-bezier(0.215, 0.61, 0.355, 1)",target.style.transitionDuration=duration+"ms",requestAnimationFrame(()=>{target.style.height=0,target.style.paddingTop=0,target.style.paddingBottom=0,target.style.marginTop=0,target.style.marginBottom=0})})}),window.setTimeout(()=>{target.style.display="none",target.style.removeProperty("height"),target.style.removeProperty("padding-top"),target.style.removeProperty("padding-bottom"),target.style.removeProperty("margin-top"),target.style.removeProperty("margin-bottom"),target.style.removeProperty("overflow"),target.style.removeProperty("transition-duration"),target.style.removeProperty("transition-property"),target.style.removeProperty("transition-timing-function"),target.style.removeProperty("box-sizing")},duration)};
12function memoizeGetter(obj,name){if(!Reflect.has(obj.constructor.prototype,name))throw new Error(`${obj} does not define property "${name}"`);if(Reflect.getOwnPropertyDescriptor(obj.constructor.prototype,name).writable)throw new Error(`${obj} does not define property "${name}" as a getter`);const result=Reflect.get(obj,name);Reflect.defineProperty(obj,name,{get:()=>(result!==void 0&&(Reflect.deleteProperty(obj,name),Reflect.defineProperty(obj,name,{value:result})),result)})}function memoizeGetters(obj,...names){names.forEach(name=>{memoizeGetter(obj,name)})}const selectors$Y={wrapper:"[data-add-action-wrapper]",addButton:"[data-add-to-cart]",errorBoundary:"[data-error-boundary]",errorDisplay:"[data-error-display]",popdown:"[data-product-add-popdown-wrapper]",disabledAjax:'[data-ajax-disable="true"]',quickviewModal:"[data-quickview-modal]",inputFile:'[type="file"]'},classes$A={loading:"loading",success:"has-success"},times$1={durationAddButtonDisable:3500,hideErrorTime:5e3};class ProductAddButton extends HTMLElement{constructor(){super(),this.wrapper=this,memoizeGetters(this,"popdown","button")}connectedCallback(){this.button&&this.initWithForm()}get popdown(){return document.querySelector(selectors$Y.popdown)}get disabledAjax(){return document.querySelector(selectors$Y.disabledAjax)}get button(){return this.wrapper.querySelector(selectors$Y.addButton)}get errors(){const errorsEl=this.wrapper.querySelector(selectors$Y.errors);if(!errorsEl){const container=this.wrapper.closest(selectors$Y.errorBoundary);if(container)return container.querySelector(selectors$Y.errorDisplay)}return errorsEl}initWithForm(){this.button.addEventListener("click",function(evt){evt.preventDefault();const outerForm=evt.target.closest("form");if(outerForm.querySelector(selectors$Y.inputFile))return;this.disabledAjax||evt.preventDefault(),this.button.setAttribute("disabled",!0),this.button.setAttribute("aria-busy","true"),this.button.classList.add(classes$A.loading);const formData=new FormData(outerForm),formString=new URLSearchParams(formData).toString();this.addToCartAction(formString)}.bind(this))}addToCartAction(formData){const url=`${window.theme.routes.cart}/add.js`,instance=this;setCartLoading(!0),axios.post(url,formData,{headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded"}}).then(function(response){instance.onSuccess(response.data),setCartLoading(!1)}).catch(function(error){console.warn(error),instance.onError(error.data),setCartLoading(!1)})}onSuccess(variant){this.updateHeaderTotal(),this.button.classList.remove(classes$A.loading),this.button.classList.add(classes$A.success),setTimeout(()=>{this.button.classList.remove(classes$A.success),this.button.removeAttribute("disabled"),this.button.removeAttribute("aria-busy")},times$1.durationAddButtonDisable),this.button.closest(selectors$Y.quickviewModal)&&(this.button.closest(selectors$Y.quickviewModal).dispatchEvent(new CustomEvent("theme:quickview:close")),window.fast_simon_sdk_ready&&window.FastSimonSDK&&window.FastSimonEventName&&window.FastSimonSDK.event({eventName:window.FastSimonEventName.AddToCartPerformed,data:{productID:String(variant.product_id)}})),window.theme.state.cartOpen?(document.dispatchEvent(new CustomEvent("theme:cart:reload",{bubbles:!0})),reloadCart()):window.theme.popdown?this.popdown.dispatchEvent(new CustomEvent("theme:cart:popdown",{detail:{variant},bubbles:!0})):setTimeout(()=>{document.querySelector(selectors$u.cartToggleButton).click()},500),this.disabledAjax&&window.location.reload();function reloadCart(){setCartLoading(!0),(window.theme.getCart?window.theme.getCart(!0):(window.theme.fetchWithRetry||window.fetch).call(window,`${window.theme.routes.cart}.js`).then(response=>response.json())).then(data=>{document.dispatchEvent(new CustomEvent("theme:cart:change",{detail:{cart:data},bubbles:!0})),setTimeout(()=>{[...document.querySelectorAll("[ data-drawer-toggle='drawer-cart']")].forEach(function(el){el.click()})},300),setCartLoading(!1)}).catch(e=>{console.error(e),setCartLoading(!1)})}}onError(data){let text="Network error: please try again";data&&data.description&&(text=data.description);const errorsHTML=`<div class="errors">${text}</div>`;this.button.classList.remove(classes$A.loading),this.button.removeAttribute("disabled"),this.button.removeAttribute("aria-busy"),this.errors.innerHTML=errorsHTML,slideDown(this.errors),setTimeout(()=>{slideUp(this.errors)},times$1.hideErrorTime)}updateHeaderTotal(){setCartLoading(!0),(window.theme.getCart?window.theme.getCart(!0):(window.theme.fetchWithRetry||window.fetch).call(window,`${window.theme.routes.cart}.js`).then(response=>response.json())).then(cart=>{document.dispatchEvent(new CustomEvent("theme:cart:change",{detail:{cart},bubbles:!0})),setCartLoading(!1)}).catch(e=>{console.error(e),setCartLoading(!1)})}}customElements.get("")||customElements.define("product-quickview",ProductQuickView),customElements.get("product-add-button")||customElements.define("product-add-button",ProductAddButton);const selectors$X={templateAddresses:"[data-address-wrapper]",addressNewForm:"[data-new-address-form]",addressNewFormInner:"[new-address-form-inner]",btnNew:".address-new-toggle",btnEdit:".address-edit-toggle",btnDelete:".address-delete",classHide:"hide",dataFormId:"data-form-id",dataConfirmMessage:"data-confirm-message",defaultConfirmMessage:"Are you sure you wish to delete this address?",editAddress:"#EditAddress",addressCountryNew:"AddressCountryNew",addressProvinceNew:"AddressProvinceNew",addressProvinceContainerNew:"AddressProvinceContainerNew",addressCountryOption:".address-country-option",addressCountry:"AddressCountry",addressProvince:"AddressProvince",addressProvinceContainer:"AddressProvinceContainer"};class Addresses{constructor(section){this.section=section,this.addressNewForm=this.section.querySelector(selectors$X.addressNewForm),this.init()}init(){if(this.addressNewForm){const section=this.section,newAddressFormInner=this.addressNewForm.querySelector(selectors$X.addressNewFormInner);this.customerAddresses();const newButtons=section.querySelectorAll(selectors$X.btnNew);newButtons.length&&newButtons.forEach(element=>{element.addEventListener("click",function(){newAddressFormInner.classList.toggle(selectors$X.classHide)})});const editButtons=section.querySelectorAll(selectors$X.btnEdit);editButtons.length&&editButtons.forEach(element=>{element.addEventListener("click",function(){const formId=this.getAttribute(selectors$X.dataFormId);section.querySelector(`${selectors$X.editAddress}_${formId}`).classList.toggle(selectors$X.classHide)})});const deleteButtons=section.querySelectorAll(selectors$X.btnDelete);deleteButtons.length&&deleteButtons.forEach(element=>{element.addEventListener("click",function(){const formId=this.getAttribute(selectors$X.dataFormId),confirmMessage=this.getAttribute(selectors$X.dataConfirmMessage);confirm(confirmMessage||selectors$X.defaultConfirmMessage)&&Shopify.postLink(window.theme.routes.account_addresses_url+"/"+formId,{parameters:{_method:"delete"}})})})}}customerAddresses(){Shopify.CountryProvinceSelector&&new Shopify.CountryProvinceSelector(selectors$X.addressCountryNew,selectors$X.addressProvinceNew,{hideElement:selectors$X.addressProvinceContainerNew}),this.section.querySelectorAll(selectors$X.addressCountryOption).forEac
12h(element=>{const formId=element.getAttribute(selectors$X.dataFormId),countrySelector=`${selectors$X.addressCountry}_${formId}`,provinceSelector=`${selectors$X.addressProvince}_${formId}`,containerSelector=`${selectors$X.addressProvinceContainer}_${formId}`;new Shopify.CountryProvinceSelector(countrySelector,provinceSelector,{hideElement:containerSelector})})}}const template=document.querySelector(selectors$X.templateAddresses);template&&new Addresses(template),(function(){var recoverPasswordForm=document.querySelector("#RecoverPassword");recoverPasswordForm&&customerLogin();function customerLogin(){var config2={recoverPasswordForm:"#RecoverPassword",hideRecoverPasswordLink:"#HideRecoverPasswordLink"};checkUrlHash(),resetPasswordSuccess(),document.querySelector(config2.recoverPasswordForm).addEventListener("click",onShowHidePasswordForm),document.querySelector(config2.hideRecoverPasswordLink).addEventListener("click",onShowHidePasswordForm);function onShowHidePasswordForm(evt){evt.preventDefault(),toggleRecoverPasswordForm()}function checkUrlHash(){var hash=window.location.hash;hash==="#recover"&&toggleRecoverPasswordForm()}function toggleRecoverPasswordForm(){var emailValue=document.querySelector("#CustomerEmail").value;document.querySelector("#RecoverEmail").value=emailValue,document.querySelector("#RecoverPasswordForm").classList.toggle("display-none"),document.querySelector("#CustomerLoginForm").classList.toggle("display-none")}function resetPasswordSuccess(){var formSuccess=document.querySelector(".reset-password-success");formSuccess&&document.querySelector("#ResetSuccess").classList.remove("display-none")}}})(),window.Shopify=window.Shopify||{},window.Shopify.theme=window.Shopify.theme||{},window.Shopify.theme.sections=window.Shopify.theme.sections||{},window.Shopify.theme.sections.registered=window.Shopify.theme.sections.registered||{},window.Shopify.theme.sections.instances=window.Shopify.theme.sections.instances||[];const registered=window.Shopify.theme.sections.registered,instances=window.Shopify.theme.sections.instances,selectors$W={id:"data-section-id",type:"data-section-type"};class Registration{constructor(type=null,components=[]){this.type=type,this.components=validateComponentsArray(components),this.callStack={onLoad:[],onUnload:[],onSelect:[],onDeselect:[],onBlockSelect:[],onBlockDeselect:[],onReorder:[]},components.forEach(comp=>{for(const[key,value]of Object.entries(comp)){const arr=this.callStack[key];Array.isArray(arr)&&typeof value=="function"?arr.push(value):(console.warn(`Unregisted function: '${key}' in component: '${this.type}'`),console.warn(value))}})}getStack(){return this.callStack}}class Section{constructor(container,registration){this.container=validateContainerElement(container),this.id=container.getAttribute(selectors$W.id),this.type=registration.type,this.callStack=registration.getStack();try{this.onLoad()}catch(e){console.warn(`Error in section: ${this.id}`),console.warn(this),console.error(e)}}callFunctions(key,e=null){this.callStack[key].forEach(func=>
12{const props={id:this.id,type:this.type,container:this.container};e?func.call(props,e):func.call(props)})}onLoad(){this.callFunctions("onLoad")}onUnload(){this.callFunctions("onUnload")}onSelect(e){this.callFunctions("onSelect",e)}onDeselect(e){this.callFunctions("onDeselect",e)}onBlockSelect(e){this.callFunctions("onBlockSelect",e)}onBlockDeselect(e){this.callFunctions("onBlockDeselect",e)}onReorder(e){this.callFunctions("onReorder",e)}}function validateContainerElement(container){if(!(container instanceof Element))throw new TypeError("Theme Sections: Attempted to load section. The section container provided is not a DOM element.");if(container.getAttribute(selectors$W.id)===null)throw new Error("Theme Sections: The section container provided does not have an id assigned to the "+selectors$W.id+" attribute.");return container}function validateComponentsArray(value){if(typeof value<"u"&&typeof value!="object"||value===null)throw new TypeError("Theme Sections: The components object provided is not a valid");return value}function register(type,components){if(typeof type!="string")throw new TypeError("Theme Sections: The first argument for .register must be a string that specifies the type of the section being registered");if(typeof registered[type]<"u")throw new Error('Theme Sections: A section of type "'+type+'" has already been registered. You cannot register the same section type twice');Array.isArray(components)||(components=[components]);const section=new Registration(type,components);return registered[type]=section,registered}function load(types,containers){types=normalizeType(types),typeof containers>"u"&&(containers=document.querySelectorAll("["+selectors$W.type+"]")),containers=normalizeContainers(containers),types.forEach(function(type){const registration=registered[type];typeof registration>"u"||(containers=containers.filter(function(container){return isInstance(container)||container.getAttribute(selectors$W.type)===null?!1:container.getAttribute(selectors$W.type)!==type?!0:(instances.push(new Section(container,registration)),!1)}))})}function unload(selector){var instancesToUnload=getInstances(selector);instancesToUnload.forEach(function(instance){var index=instances.map(function(e){return e.id}).indexOf(instance.id);instances.splice(index,1),instance.onUnload()})}function reorder(selector){var instancesToReorder=getInstances(selector);instancesToReorder.forEach(function(instance){instance.onReorder()})}function getInstances(selector){var filteredInstances=[];if(NodeList.prototype.isPrototypeOf(selector)||Array.isArray(selector))var firstElement=selector[0];if(selector instanceof Element||firstElement instanceof Element){var containers=normalizeContainers(selector);containers.forEach(function(container){filteredInstances=filteredInstances.concat(instances.filter(function(instance){return instance.container===container}))})}else if(typeof selector=="string"||typeof firstElement=="string"){var types=normalizeType(selector);types.forEach(function(type){filteredInstances=filteredInstances.concat(instances.filter(function(instance){return instance.type===type}))})}return filteredInstances}function getInstanceById(id){for(var instance,i=0;i<instances.length;i++)if(instances[i].id===id){instance=instances[i];break}return instance}function isInstance(selector){return getInstances(selector).length>0}function normalizeType(types){return types==="*"?types=Object.keys(registered):typeof types=="string"?types=[types]:types.constructor===Section?types=[types.prototype.type]:Array.isArray(types)&&types[0].constructor===Section&&(types=types.map(function(Section2){return Section2.type})),types=types.map(function(type){return type.toLowerCase()}),types}function normalizeContainers(containers){return NodeList.prototype.isPrototypeOf(containers)&&containers.length>
120?containers=Array.prototype.slice.call(containers):NodeList.prototype.isPrototypeOf(containers)&&containers.length===0?containers=[]:containers===null?containers=[]:!Array.isArray(containers)&&containers instanceof Element&&(containers=[containers]),containers}window.Shopify.designMode&&(document.addEventListener("shopify:section:load",function(event){var id=event.detail.sectionId,container=event.target.querySelector("["+selectors$W.id+'="'+id+'"]');container!==null&&load(container.getAttribute(selectors$W.type),container)}),document.addEventListener("shopify:section:reorder",function(event){var id=event.detail.sectionId,container=event.target.querySelector("["+selectors$W.id+'="'+id+'"]'),instance=getInstances(container)[0];typeof instance=="object"&&reorder(container)}),document.addEventListener("shopify:section:unload",function(event){var id=event.detail.sectionId,container=event.target.querySelector("["+selectors$W.id+'="'+id+'"]'),instance=getInstances(container)[0];typeof instance=="object"&&unload(container)}),document.addEventListener("shopify:section:select",function(event){var instance=getInstanceById(event.detail.sectionId);typeof instance=="object"&&instance.onSelect(event)}),document.addEventListener("shopify:section:deselect",function(event){var instance=getInstanceById(event.detail.sectionId);typeof instance=="object"&&instance.onDeselect(event)}),document.addEventListener("shopify:block:select",function(event){var instance=getInstanceById(event.detail.sectionId);typeof instance=="object"&&instance.onBlockSelect(event)}),document.addEventListener("shopify:block:deselect",function(event){var instance=getInstanceById(event.detail.sectionId);typeof instance=="object"&&instance.onBlockDeselect(event)}));const selectors$V={focusable:'button, [href], select, textarea, [tabindex]:not([tabindex="-1"])'};function modal(unique){const uniqueID=`data-popup-${unique}`;MicroModal.init({openTrigger:uniqueID,disableScroll:!0,onShow:(modal2,el,event)=>{event.preventDefault();const firstFocus=modal2.querySelector(selectors$V.focusable);trapFocus(modal2,{elementToFocus:firstFocus}),document.dispatchEvent(new CustomEvent("chat:hide",{bubbles:!0}))},onClose:(modal2,el,event)=>{document.dispatchEvent(new CustomEvent("chat:show",{bubbles:!0})),event.preventDefault(),removeTrapFocus(),el.focus()}})}const selectors$U={trigger:"[data-toggle-password-modal]",errors:".storefront-password-form .errors"},sections$m={};class PasswordPage{constructor(section){this.container=section.container,this.trigger=this.container.querySelector(selectors$U.trigger),this.errors=this.container.querySelector(selectors$U.errors),this.init()}init(){modal("password"),this.errors&&this.trigger.click()}}register("password",{onLoad(){sections$m[this.id]=new PasswordPage(this)}}),(function(){var config2={qrCode:"#QrCode",giftCardCode:".giftcard__code"};const qrCode=document.querySelector(config2.qrCode);if(qrCode){let loadGiftCard=function(){const qrCodeText=qrCode.getAttribute("data-identifier");new QRCode(qrCode,{text:qrCodeText,width:120,height:120})};window.addEventListener("load",loadGiftCard)}const giftCardCode=document.querySelector(config2.giftCardCode);if(giftCardCode){let selectText=function(){var text=document.querySelector("#GiftCardDigits"),range="";if(document.body.createTextRange)range=document.body.createTextRange(),range.moveToElementText(text),range.select();else if(window.getSelection){var selection=window.getSelection();range=document.createRange(),range.selectNodeContents(text),selection.removeAllRanges(),selection.addRange(range)}};giftCardCode.addEventListener("click",selectText())}})();const selectors$T={parallaxWrapper:"[data-parallax-wrapper]",parallaxImg:"[data-parallax-img]"};let sections$l={};const parallaxImage={onLoad(){sections$l[this.id]=[],this.container.querySelectorAll(selectors$T.parallaxWrapper).forEach(frame=>{const inner=frame.querySelector(selectors$T.parallaxImg);sections$l[this.id].push(new Rellax(inner,{center:!0,round:!0,frame}))})},onUnload:function(){sections$l[this.id].forEach(image=>{typeof image.destroy=="function"&&image.destroy()})}};register("article",parallaxImage);const selectors$S={frame:"[data-ticker-frame]",scale:"[data-ticker-scale]",text:"[data-ticker-text]",clone:"data-clone",animationClass:"ticker--animated",unloadedClass:"ticker--unloaded",comparitorClass:"ticker__comparitor",moveTime:1.63,space:100}
12,sections$k={};class Ticker{constructor(el,stopClone=!1){this.frame=el,this.stopClone=stopClone,this.scale=this.frame.querySelector(selectors$S.scale),this.text=this.frame.querySelector(selectors$S.text),this.comparitor=this.text.cloneNode(!0),this.comparitor.classList.add(selectors$S.comparitorClass),this.frame.appendChild(this.comparitor),this.scale.classList.remove(selectors$S.unloadedClass),this.resizeEvent=debounce(()=>this.checkWidth(),300),this.listen()}unload(){document.removeEventListener("theme:resize",this.resizeEvent)}listen(){document.addEventListener("theme:resize",this.resizeEvent),this.checkWidth()}checkWidth(){const padding=window.getComputedStyle(this.frame).paddingLeft.replace("px","")*2;if(this.frame.clientWidth-padding<this.comparitor.clientWidth||this.stopClone){if(this.text.classList.add(selectors$S.animationClass),this.scale.childElementCount===1&&(this.clone=this.text.cloneNode(!0),this.clone.setAttribute("aria-hidden",!0),this.clone.setAttribute(selectors$S.clone,""),this.scale.appendChild(this.clone),this.stopClone))for(let index=0;index<10;index++){const cloneSecond=this.text.cloneNode(!0);cloneSecond.setAttribute("aria-hidden",!0),cloneSecond.setAttribute(selectors$S.clone,""),this.scale.appendChild(cloneSecond)}const animationTimeFrame=this.text.clientWidth/selectors$S.space*selectors$S.moveTime;this.scale.style.setProperty("--animation-time",`${animationTimeFrame}s`)}else{this.text.classList.add(selectors$S.animationClass);let clone=this.scale.querySelector(`[${selectors$S.clone}]`);clone&&this.scale.removeChild(clone),this.text.classList.remove(selectors$S.animationClass)}}}const ticker={onLoad(){sections$k[this.id]=[],this.container.querySelectorAll(selectors$S.frame).forEach(el2=>{sections$k[this.id].push(new Ticker(el2))})},onUnload(){sections$k[this.id].forEach(el=>{typeof el.unload=="function"&&el.unload()})}},selectors$R={speed:"data-slider-speed",arrows:"data-slider-arrows",dots:"data-sli
12der-dots",slideAttribute:"data-slide",dataSlideIndex:"data-slide-index",marqueeLayout:"data-marquee-layout"};class AnnouncementSlider{constructor(container,el){this.container=container,this.slideshow=el;const speedElement=this.slideshow.getAttribute(selectors$R.speed),arrowsElement=this.slideshow.getAttribute(selectors$R.arrows),dotsElement=this.slideshow.getAttribute(selectors$R.dots);this.speed=speedElement?parseInt(speedElement):!1;const arrowsRequested=arrowsElement==="true",smallBp=window.theme?.sizes?.small,marqueeLayout=this.slideshow.getAttribute(selectors$R.marqueeLayout);let viewportAllowsArrows=!0;typeof smallBp=="number"&&(viewportAllowsArrows=window.innerWidth>=smallBp),this.arrowsElement=arrowsRequested&&viewportAllowsArrows&&marqueeLayout==="false",this.dotsElement=dotsElement==="true"&&marqueeLayout==="false",this.scrollEvent=()=>this.scrollEvents(),this.resizeEvent=()=>this.resizeEvents(),this.contentResizeEvent=debounce(()=>this.resizeEvents(),100),this.slideshow&&(this.flkty=null,this.init())}init(){const sliderOptions={initialIndex:0,autoPlay:this.speed,contain:!0,pageDots:this.dotsElement,adaptiveHeight:!1,imagesLoaded:!0,wrapAround:!0,groupCells:!1,cellAlign:"left",freeScroll:!1,prevNextButtons:this.arrowsElement,draggable:!0,rightToLeft:!1,pauseAutoPlayOnHover:!1,on:{ready:()=>{setTimeout(()=>{this.slideshow.dispatchEvent(new CustomEvent("theme:announcement:loaded",{bubbles:!0,detail:{slider:this}})),this.contentResizeEvent()},50)}}};this.flkty=new Flickity(this.slideshow,sliderOptions),bindFlickityHiddenCellInert(this.flkty),this.flkty&&(document.addEventListener("theme:resize",this.resizeEvent),document.addEventListener("theme:scroll",this.scrollEvent),document.addEventListener("theme:cart:change",this.contentResizeEvent),document.fonts&&document.fonts.ready&&document.fonts.ready.then(()=>this.contentResizeEvent()))}resizeEvents(){this.flkty&&this.flkty.resize()}scrollEvents(){if(this.flkty&&this.speed){const slideshow=this.flkty.element,autoplayPausedByUser=slideshow.hasAttribute("data-announcement-autoplay-paused"),slideshowBottomPosition=slideshow.getBoundingClientRect().top+window.scrollY+slideshow.offsetHeight;window.pageYOffset>slideshowBottomPosition?this.flkty.player.state==="playing"&&this.flkty.pausePlayer():this.flkty.player.state==="paused"&&!autoplayPausedByUser&&this.flkty.playPlayer()}}onUnload(){this.slideshow&&this.flkty&&(document.removeEventListener("theme:resize",this.resizeEvent),document.removeEventListener("theme:scroll",this.scrollEvent),document.removeEventListener("theme:cart:change",this.contentResizeEvent),this.flkty.options.watchCSS=!1,this.flkty.destroy())}onBlockSelect(evt){if(!this.slideshow)return;const slide=this.slideshow.querySelector(`[${selectors$R.slideAttribute}="${evt.detail.blockId}"]`);if(!slide)return;const slideIndex=parseInt(slide.getAttribute(selectors$R.dataSlideIndex));this.flkty.selectCell(slideIndex),this.flkty.stopPlayer()}onBlockDeselect(){this.flkty.playPlayer()}}const selectors$Q={cartMessage:"[data-cart-message]",cartMessageValue:"data-cart-message",leftToSpend:"[data-left-to-spend]",cartProgress:"[data-cart-progress]",limit:"data-limit",percent:"data-percent",cartProgressBar:"[data-cart-shipping-progress-bar]",cartProgressBarWrapper:"[data-cart-shipping-bar-wrapper]",shippingBarToggleClass:"free-shipping",membershippingBarToggleClass:"member-free-shipping"},classes$z={isHidden:"is-hidden",isSuccess:"is-success",isMember:"is-member"};class CartShippingMessage{constructor(section){this.container=section,this.cartMessage=this.container.querySelectorAll(selectors$Q.cartMessage),this.announcementMessage=this.container.querySelectorAll(selectors$Q.bar),this.rate=window.Shopify.currency.rate,this.isLoading=!0,this.cartMessage.length>0&&this.init()}init(){this.cartFreeLimitShipping=Number(this.cartMessage[0].getAttribute(selectors$Q.limit))*100,window.Shopify.currency.active==="CAD"&&theme.settings.free_shipping_limit_ca?this.cartFreeLimitShipping=Number(theme.settings.free_shipping_limit_ca)*100:this.cartFreeLimitShipping=this.cartFreeLimitShipping*this.rate,this.shippingAmount=0,this.circumference=28*Math.PI,this.exchangeRateConversions(this.cartFreeLimitShipping,this.shippingAmount),this.cartBarProgress(),this.listen(),this.setLoadingState(!0)}setLoadingState(isLoading){this.isLoading=isLoading;const loadingClass="is-loading";document.querySelectorAll(selectors$Q.bar).forEach(bar2=>{isLoading?bar2.classList.add(loadingClass):bar2.classList.remove(loadingClass)}),this.container.querySelectorAll(selectors$Q.cartMessage).forEach(message=>{isLoading?message.classList.add(loadingClass):message.classList.remove(loadingClass)})}listen(){document.addEventListener("theme:cart:change",function(event){this.cart=event.detail.cart,this.render()}.bind(this))}async cartShippingProgressBar(shouldShowMemberMessage){this.setLoadingState(!0),this.exchangeRateConversions(this.cartFreeLimitShipping,this.shippingAmount);const newPercentValue=this.shippingAmount/this.cartFreeLimitShipping*100,newPercentValueDisplay=newPercentValue>100?100:newPercentValue;document.querySelectorAll(selectors$Q.cartProgressBarWrapper).forEach((message=>{newPercentValueDisplay===100&&!shouldShowMemberMessage?message.classList.add(selectors$Q.shippingBarToggleClass):(message.classList.remove(selectors$Q.shippingBarToggleClass),document.querySelectorAll(selectors$Q.cartProgressBar).forEach(bar2=>{bar2.style.width=newPercentValueDisplay+"%"})),shouldShowMemberMessage?(message.classList.add(selectors$Q.membershippingBarToggleClass),document.querySelectorAll(selectors$Q.cartProgressBar).forEach(bar2=>{bar2.style.width="100%"})):(message.classList.remove(selectors$Q.membershippingBarToggleClass),document.querySelectorAll(selectors$Q.cartProgressBar).forEach(bar2=>{bar2.style.width=newPercentValueDisplay+"%"}))})),setTimeout(()=>{this.setLoadingState(!1)},300)}async render(){this.setLoadingState(!0);let totalPrice=0;const subProductGid=window.authenticSubProductId?window.authenticSubProductId:null,subProductId=subProductGid?subProductGid.split("/").pop():null,hasSubProduct=this.cart?.items?.some(item=>item.product_id.toString()===subProductId),subDiscountApplied=this.cart?.cart_level_discount_applications.some(disc=>disc.title==="AUTHENTIC")||this.cart?.cart_level_discount_applications.some(disc=>disc.discount_application?.title==="AUTHENTIC");if(ABG.Data.freeShippingExclusionsCollection)try{const productDataIds=(await(await fetch(`/collections/${ABG.Data.freeShippingExclusionsCollection}/products.json`,{method:"GET",headers:{"Content-Type":"application/json"}})).json()).products.map(product=>product.id);
12this.cart&&this.cart.items&&this.cart.items.forEach(item=>{productDataIds.includes(item.product_id)||(totalPrice+=item.line_price)})}catch(error){console.error(error)}else totalPrice=this.cart&&this.cart.total_price?this.cart.total_price:0;!this._cachedSubscriptionData&&window.authenticGlobal&&(this._cachedSubscriptionData=await window.authenticGlobal.getSubscriptionDetails());const subscriptionData=this._cachedSubscriptionData,shouldShowMemberMessage=subDiscountApplied||subscriptionData?.subscribed===!0||subscriptionData?.subscribed===!1&&hasSubProduct||subscriptionData===null&&hasSubProduct;if(window.dispatchEvent(new CustomEvent("authentic:member-message-state",{bubbles:!0,detail:{shouldShow:shouldShowMemberMessage}})),this.cartMessage.length>0&&(this.shippingAmount=totalPrice,this.updateProgress(),this.cartShippingProgressBar(shouldShowMemberMessage)),this.freeShippingMessageHandle(totalPrice,shouldShowMemberMessage),this.cart&&this.cart.item_count>0&&!this.cart.total_price){this.shippingAmount=totalPrice,this.updateProgress(),this.cartShippingProgressBar(shouldShowMemberMessage);const price=themeCurrency.formatMoney(this.cart.total_price,theme.moneyFormat),cart=document.querySelector("[data-cart-final]");cart.innerHTML=price}(!this.cartMessage.length||!this.announcementMessage.length)&&this.setLoadingState(!1)}freeShippingMessageHandle(total,shouldShowMemberMessage){this.cartMessage.length>0&&this.container.querySelectorAll(selectors$Q.cartMessage).forEach(message=>{const hasFreeShipping=message.hasAttribute(selectors$Q.cartMessageValue)&&message.getAttribute(selectors$Q.cartMessageValue)==="true"&&total>=this.cartFreeLimitShipping&&total!==0&&!shouldShowMemberMessage;message.classList.toggle(classes$z.isSuccess,hasFreeShipping),message.classList.toggle(classes$z.isMember,shouldShowMemberMessage)})}cartBarProgress(progress=null){this.container.querySelectorAll(selectors$Q.cartProgress).forEach(element=>{this.setProgress(element,progress===null?element.getAttribute(selectors$Q.percent):progress)})}setProgress(holder,percent){const offset=this.circumference-percent/100*this.circumference/2;holder.style.strokeDashoffset=offset}updateProgress(){let adjustedLimit=this.cartFreeLimitShipping;window.Shopify.currency.active==="CAD"&&theme.settings.free_shipping_limit_ca&&(adjustedLimit=Number(theme.settings.free_shipping_limit_ca)*100);const newPercentValue=this.shippingAmount/adjustedLimit*100;this.exchangeRateConversions(adjustedLimit,this.shippingAmount),this.cartBarProgress(newPercentValue>100?100:newPercentValue)}exchangeRateConversions(cartFreeLimitShipping,shippingAmount){let adjustedLimit=cartFreeLimitShipping;window.Shopify.currency.active==="CAD"&&theme.settings.free_shipping_limit_ca&&(adjustedLimit=Number(theme.settings.free_shipping_limit_ca)*100);const leftToSpend=(theme.settings.currency_code_enable,themeCurrency.formatMoney(adjustedLimit-shippingAmount,theme.moneyFormat));document.querySelectorAll(selectors$Q.leftToSpend).forEach(element=>{element.innerHTML=leftToSpend.replace(".00","")})}}const selectors$P={bar:"[data-bar]",barSlide:"[data-slide]",frame:"[data-ticker-frame]",header:"[data-header-wrapper]",slider:"[data-announcement-slider]",slideValue:"data-slide",tickerScale:"[data-ticker-scale]",tickerText:"[data-ticker-text]",dataTargetReferrer:"data-target-referrer",slideAttribute:"data-slide"},classes$y={mobileClass:"mobile",desktopClass:"desktop",trickerAnimated:"ticker--animated"},sections$j={};class Bar$1{constructor(section){this.container=section.container,this.barHolder=this.container.querySelector(selectors$P.bar),this.locationPath=location.href,this.slides=this.barHolder.querySelectorAll(selectors$P.barSlide),this.slider=this.barHolder.querySelector(selectors$P.slider),this.hasDeviceClass="",new CartShippingMessage(this.container),this.init()}init(){this.removeAnnouncement(),this.slider?this.slider&&this.slides&&this.slides.length>1?this.initSliders():this.initTickers():this.initTickers(!0)}removeAnnouncement(){for(let index=0;index<this.slides.length;index++){const element=this.slides[index];element.hasAttribute(selectors$P.dataTargetReferrer)&&this.locationPath.indexOf(element.getAttribute(selectors$P.dataTargetReferrer))===-1&&!window.Shopify.designMode&&element.parentNode.removeChild(element)}}initSliders(){this.slider=new AnnouncementSlider(this.container,this.slider),this.slider.flkty.reposition(),this.barHolder.addEventListener("theme:announcement:loaded",()=>{this.initTickers(),this.slider&&this.slider.flkty&&this.slider.flkty.resize()})}initTickers(stopClone=!1){const frame=this.barHolder.querySelector(selectors$P.frame);frame&&new Ticker(frame,stopClone)}toggleTicker(e,isStoped){const tickerScale=document.querySelector(selectors$P.tickerScale),element=document.querySelector(`[${selectors$P.slideValue}="${e.detail.blockId}"]`);isStoped&&element&&(tickerScale.setAttribute("data-stop",""),tickerScale.querySelectorAll(selectors$P.tickerText).forEach(textHolder=>{textHolder.classList.remove(classes$y.trickerAnimated),textHolder.style.transform=`translate3d(${-(element.offsetLeft-element.clientWidth)}px, 0, 0)`})),!isStoped&&element&&(tickerScale.querySelectorAll(selectors$P.tickerText).forEach(textHolder=>{textHolder.classList.add(classes$y.trickerAnimated),textHolder.removeAttribute("style")}),tickerScale.removeAttribute("data-stop"))}onBlockSelect(e){this.slider&&typeof this.slider.onBlockSelect=="function"?this.slider.onBlockSelect(e):(document.querySelectorAll(`[${selectors$P.slideAttribute}="${e.detail.blockId}
12"]`).forEach(slide=>{slide.classList.contains(classes$y.mobileClass)&&(this.hasDeviceClass=classes$y.mobileClass),slide.classList.contains(classes$y.desktopClass)&&(this.hasDeviceClass=classes$y.desktopClass),this.hasDeviceClass!==""&&slide.classList.remove(this.hasDeviceClass)}),this.toggleTicker(e,!0))}onBlockDeselect(e){this.slider&&typeof this.slider.onBlockDeselect=="function"?this.slider.onBlockDeselect(e):(this.hasDeviceClass!==""&&document.querySelectorAll(`[${selectors$P.slideAttribute}="${e.detail.blockId}"]`).forEach(slide=>{slide.classList.add(this.hasDeviceClass)}),this.toggleTicker(e,!1))}onUnload(){this.slider&&typeof this.slider.onUnload=="function"&&this.slider.onUnload()}}register("announcement",{onLoad(){sections$j[this.id]=[],sections$j[this.id].push(new Bar$1(this))},onUnload(){sections$j[this.id].forEach(el=>{typeof el.onUnload=="function"&&el.onUnload()})},onBlockSelect(e){sections$j[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockSelect(e)})},onBlockDeselect(e){sections$j[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockDeselect(e)})}});const selectors$O={frame:"[data-ticker-frame]",slideValue:"data-slide",tickerScale:"[data-ticker-scale]",tickerText:"[data-ticker-text]"},classes$x={trickerAnimated:"ticker--animated"},sections$i={};class Bar{constructor(section){this.container=section.container,this.init()}init(){this.initTickers(!0)}initTickers(stopClone=!1){const frame=this.container.querySelector(selectors$O.frame);frame&&new Ticker(frame,stopClone)}toggleTicker(e,isStoped){const tickerScale=this.container.querySelector(selectors$O.tickerScale),element=this.container.querySelector(`[${selectors$O.slideValue}="${e.detail.blockId}"]`);isStoped&&element&&tickerScale&&(tickerScale.setAttribute("data-stop",""),tickerScale.querySelectorAll(selectors$O.tickerText).forEach(textHolder=>{textHolder.classList.remove(classes$x.trickerAnimated),textHolder.style.transform=`translate3d(${-(element.offsetLeft-element.clientWidth)}px, 0, 0)`})),!isStoped&&element&&tickerScale&&(tickerScale.querySelectorAll(selectors$O.tickerText).forEach(textHolder=>{textHolder.classList.add(classes$x.trickerAnimated),textHolder.removeAttribute("style")}),tickerScale.removeAttribute("data-stop"))}onBlockSelect(e){this.toggleTicker(e,!0)}onBlockDeselect(e){this.toggleTicker(e,!1)}}register("logos",{onLoad(){sections$i[this.id]=[],sections$i[this.id].push(new Bar(this))},onBlockSelect(e){sections$i[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockSelect(e)})},onBlockDeselect(e){sections$i[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockDeselect(e)})}}),register("blog",parallaxImage);var selectors$N={drawerWrappper:"[data-drawer]",drawerScrolls:"[data-drawer-scrolls]",input:"[data-predictive-search-input]",underlay:"[data-drawer-underlay]",stagger:"[data-stagger-animation]",drawerToggle:"data-drawer-toggle",cartDrawer:'[data-drawer="drawer-cart"]',children:":scope > * > [data-animates]",focusable:'button, [href], select, textarea, [tabindex]:not([tabindex="-1"])'},classes$w={isVisible:"drawer--visible",displayNone:"display-none"},sections$h={};class Drawer{constructor(el){this.drawer=el,this.drawerScrolls=this.drawer.querySelector(selectors$N.drawerScrolls),this.underlay=this.drawer.querySelector(selectors$N.underlay),this.key=this.drawer.dataset.drawer;const btnSelector=`[${selectors$N.drawerToggle}='${this.key}']`;this.buttons=document.querySelectorAll(btnSelector),this.staggers=this.drawer.querySelectorAll(selectors$N.stagger),this.connectToggle(),this.connectDrawer(),this.closers(),this.staggerChildAnimations()}unload(){}connectToggle(){this.buttons.forEach(btn=>{btn.addEventListener("click",function(e){e.preventDefault(),window.checkIfPromotionsAreInview(),this.drawer.dispatchEvent(new CustomEvent("theme:drawer:toggle",{bubbles:!1}))}.bind(this))})}connectDrawer(){this.drawer.addEventListener("theme:drawer:toggle",function(){this.drawer.classList.contains(classes$w.isVisible)?this.drawer.dispatchEvent(new CustomEvent("theme:drawer:close",{bubbles:!1}
12)):this.drawer.dispatchEvent(new CustomEvent("theme:drawer:open",{bubbles:!1}))}.bind(this)),this.drawer.addEventListener("theme:drawer:close",this.hideDrawer.bind(this)),this.drawer.addEventListener("theme:drawer:open",this.showDrawer.bind(this)),this.drawer.addEventListener("theme:drawer:close:silent",()=>this.hideDrawer(!0))}staggerChildAnimations(){this.staggers.forEach(el=>{el.querySelectorAll(selectors$N.children).forEach((child,index)=>{child.style.transitionDelay=`${index*50+10}ms`})})}closers(){this.drawer.addEventListener("keyup",function(evt){evt.code==="Escape"&&(this.hideDrawer(),this.buttons[0].focus())}.bind(this)),this.underlay.addEventListener("click",function(){this.hideDrawer()}.bind(this))}focusFirst(){const searchInput=this.drawer.querySelector(selectors$N.input);if(searchInput)searchInput.focus();else{const firstFocus=this.drawer.querySelector(selectors$N.focusable);trapFocus(this.drawer,{elementToFocus:firstFocus})}}showDrawer(){this.drawer.classList.remove(classes$w.displayNone),this.key==="hamburger"&&this.prepHamburgerOpen(),this.drawer.offsetWidth,this.buttons.forEach(el=>el.setAttribute("aria-expanded",!0)),this.drawer.classList.add(classes$w.isVisible),document.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0,detail:this.drawerScrolls})),this.drawer.addEventListener("transitionend",this.focusFirst.bind(this),{once:!0}),this.drawer.addEventListener("transitioncancel",this.focusFirst.bind(this),{once:!0})}prepHamburgerOpen(){if(this.headerWrapper=this.headerWrapper||document.querySelector("[data-header-wrapper]"),this.headerWrapper){const bottom=this.headerWrapper.getBoundingClientRect().bottom;if(bottom>0)document.documentElement.style.setProperty("--hamburger-nav-offset",`${bottom}px`);else{const fallback=getComputedStyle(document.documentElement).getPropertyValue("--menu-height").trim();fallback?document.documentElement.style.setProperty("--hamburger-nav-offset",fallback):document.documentElement.style.removeProperty("--hamburger-nav-offset")}document.documentElement.classList.toggle("hamburger-nav-top",!this.headerWrapper.classList.contains("js__header__stuck"))}document.documentElement.classList.add("hamburger-nav-open")}overlayHoldingLock(){if(document.documentElement.classList.contains("search-popdown-open"))return!0;const cart=document.querySelector(selectors$N.cartDrawer);return!!cart&&cart.classList.contains(classes$w.isVisible)}hideDrawer(silent){this.buttons.forEach(el=>el.setAttribute("aria-expanded",!1)),this.drawer.classList.remove(classes$w.isVisible);const handingOff=silent===!0||this.key==="hamburger"&&this.overlayHoldingLock();if(handingOff||document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0})),this.key==="hamburger"){const restoreOpenState=()=>{this.drawer.classList.contains(classes$w.isVisible)||(document.documentElement.classList.remove("hamburger-nav-open"),document.documentElement.classList.remove("hamburger-nav-top"),document.dispatchEvent(new CustomEvent("theme:header:sync",{detail:{position:window.scrollY},bubbles:!1})))};clearTimeout(this.hamburgerRestoreTimer),this.hamburgerRestoreTimer=setTimeout(restoreOpenState,350)}document.dispatchEvent(new CustomEvent("theme:sliderule:close",{bubbles:!1})),handingOff||removeTrapFocus(),setTimeout(()=>{this.drawer.classList.contains(classes$w.isVisible)||this.drawer.classList.add(classes$w.displayNone)},800)}}const drawer={onLoad(){sections$h[this.id]=[],this.container.querySelectorAll(selectors$N.drawerWrappper).forEach(el=>{sections$h[this.id].push(new Drawer(el))})},onUnload:function(){sections$h[this.id].forEach(el=>{typeof el.unload=="function"&&el.unload()})}},selectors$M={announcement:"div[data-announcement-wrapper]",transparent:"data-header-transparent",header:"[data-header-wrapper] header"},classes$v={stuck:"js__header__stuck",stuckAnimated:"js__header__stuck--animated",triggerAnimation:"js__header__stuck--trigger-animation",stuckBackdrop:"js__header__stuck__backdrop"};let sections$g={};class Sticky{constructor(el){this.wrapper=el,this.type=this.wrapper.dataset.headerSticky,this.transparent=this.wrapper.dataset.headerTransparent,this.sticks=this.type==="sticky",this.animated=this.type==="directional",this.currentlyStuck=!1,this.cls=this.wrapper.classList;const announcementEl=document.querySelector(selectors$M.announcement),announcementHeight=announcementEl?announcementEl.clientHeight:0,headerHeight=document.querySelector(selectors$M.header).clientHeight;this.blur=headerHeight+announcementHeight,this.stickDown=headerHeight+announcementHeight,this.stickUp=announcementHeight,this.wrapper.getAttribute(selectors$M.transparent)!=="false"&&(this.blur=announcementHeight),this.sticks&&(this.stickDown=announcementHeight,this.scrollDownInit()),this.listen()}unload(){document.removeEventListener("theme:scroll",this.listen),document.removeEventListener("theme:scroll:up",this.scrollUpDirectional),document.removeEventListener("theme:scroll:down",this.scrollDownDirectional)}listen(){(this.sticks||this.animated)&&document.addEventListener("theme:scroll",e=>{document.documentElement.hasAttribute("data-scroll-locked")||(e.detail.down?(!this.currentlyStuck&&e.detail.position>this.stickDown&&this.stickSimple(),!this.currentlyBlurred&&e.detail.position>this.blur&&this.addBlur()):(e.detail.position<=this.stickUp&&this.unstickSimple(),e.detail.position<=this.blur&&this.removeBlur()))}),this.animated&&(document.addEventListener("theme:scroll:up",this.scrollUpDirectional.bind(this)),document.addEventListener("theme:scroll:down",this.scrollDownDirectional.bind(this))),document.addEventListener("theme:header:sync",e=>this.syncToScroll(e.detail&&e.detail.position))}stickSimple(){this.animated&&this.cls.add(classes$v.stuckAnimated),this.cls.add(classes$v.stuck),this.wrapper.setAttribute(selectors$M.transparent,!1),this.currentlyStuck=!0}unstickSimple(){this.cls.remove(classes$v.stuck),this.wrapper.setAttribute(selectors$M.transparent,this.transparent),this.animated&&this.cls.remove(classes$v.stuckAnimated),this.currentlyStuck=!1}syncToScroll(position){if(!this.sticks&&!this.animated)return;const pos=typeof position=="number"?position:window.scrollY;pos>this.stickDown?this.stickSimple():pos<=this.stickUp&&this.unstickSimple(),pos>this.blur?this.addBlur():this.removeBlur(),this.animated&&pos<=this.stickDown&&this.unstickDirectional()}scrollDownInit(){window.scrollY>this.stickDown&&this.stickSimple(),window.scrollY>this.blur&&this.addBlur()}stickDirectional(){this.cls.add(classes$v.triggerAnimation)}unstickDirectional(){this.cls.remove(classes$v.triggerAnimation)}scrollDownDirectional(){document.documentElement.hasAttribute("data-scroll-locked")||this.unstickDirectional()}scrollUpDirectional(){document.documentElement.hasAttribute("data-scroll-locked")||(window.scrollY<=this.stickDown?this.unstickDirectional():this.stickDirectional())}addBlur(){this.cls.add(classes$v.stuckBackdrop),this.currentlyBlurred=!0}
12removeBlur(){this.cls.remove(classes$v.stuckBackdrop),this.currentlyBlurred=!1}}const stickyHeader={onLoad(){sections$g=new Sticky(this.container)},onUnload:function(){typeof sections$g.unload=="function"&&sections$g.unload()}},selectors$L={disclosureToggle:"data-hover-disclosure-toggle",disclosureWrappper:"[data-hover-disclosure]",link:"[data-top-link]",wrapper:"[data-header-wrapper]",stagger:"[data-stagger]",staggerPair:"[data-stagger-first]",staggerAfter:"[data-stagger-second]",staggerImage:"[data-grid-item], [data-header-image]"},classes$u={isVisible:"is-visible",meganavVisible:"meganav--visible",grandparent:"grandparent"};let sections$f={},disclosures={};class HoverDisclosure{constructor(el){if(this.disclosure=el,this.wrapper=el.closest(selectors$L.wrapper),this.key=this.disclosure?.id||"",this.key){const btnSelector=`[${selectors$L.disclosureToggle}='${this.key}']`;this.trigger=document.querySelector(btnSelector),this.trigger&&(this.link=this.trigger.querySelector(selectors$L.link),this.grandparent=this.trigger.classList.contains(classes$u.grandparent),this.connectHoverToggle(),this.handleTablets(),this.staggerChildAnimations())}else console.warn("HoverDisclosure: Missing disclosure ID, skipping initialization")}onBlockSelect(evt){this.disclosure.contains(evt.target)&&this.showDisclosure()}onBlockDeselect(evt){this.disclosure.contains(evt.target)&&this.hideDisclosure()}showDisclosure(){this.grandparent?this.wrapper.classList.add(classes$u.meganavVisible):this.wrapper.classList.remove(classes$u.meganavVisible),this.trigger.classList.add(classes$u.isVisible),this.disclosure.classList.add(classes$u.isVisible),this.link&&this.link.setAttribute("aria-expanded","true")}hideDisclosure(){this.disclosure.classList.remove(classes$u.isVisible),this.trigger.classList.remove(classes$u.isVisible),this.wrapper.classList.remove(classes$u.meganavVisible),this.link&&this.link.setAttribute("aria-expanded","false")}staggerChildAnimations(){this.disclosure.querySelectorAll(selectors$L.stagger).forEach((el,index)=>{el.style.transitionDelay=`${index*50+10}ms`}),this.disclosure.querySelectorAll(selectors$L.staggerPair).forEach((child,i)=>{const d1=i*150;child.style.transitionDelay=`${d1}ms`,child.parentElement.querySelectorAll(selectors$L.staggerAfter).forEach((grandchild,i2)=>{const d2=(i2+1)*20;grandchild.style.transitionDelay=`${d1+d2}ms`})}),this.disclosure.querySelectorAll(selectors$L.staggerImage).forEach((el,index)=>{el.style.transitionDelay=`${(index+1)*80}ms`})}handleTablets(){this.trigger.addEventListener("touchstart",function(e){this.disclosure.classList.contains(classes$u.isVisible)||(e.preventDefault(),this.showDisclosure())}.bind(this),{passive:!0})}connectHoverToggle(){this.trigger.addEventListener("pointerenter",this.showDisclosure.bind(this)),this.link.addEventListener("focus",this.showDisclosure.bind(this)),this.trigger.addEventListener("pointerleave",this.hideDisclosure.bind(this)),this.trigger.addEventListener("focusout",function(e){this.trigger.contains(e.relatedTarget)||this.hideDisclosure()}.bind(this)),this.disclosure.addEventListener("keyup",function(evt){evt.code==="Escape"&&this.hideDisclosure()}.bind(this))}}const hoverDisclosure={onLoad(){sections$f[this.id]=[],disclosures=this.container.querySelectorAll(selectors$L.disclosureWrappper),disclosures.forEach(el=>{sections$f[this.id].push(new HoverDisclosure(el))})},onBlockSelect(evt){sections$f[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockSelect(evt)})},onBlockDeselect(evt){sections$f[this.id].forEach(el=>{typeof el.onBlockDeselect=="function"&&el.onBlockDeselect(evt)})},onUnload:function(){sections$f[this.id].forEach(el=>{typeof el.unload=="function"&&el.unload()})}},selectors$K={item:"[data-main-menu-text-item]",wrapper:"[data-text-items-wrapper]",text:".navtext",isActive:"data-menu-active",sectionOuter:"[data-header-wrapper]",underlineCurrent:"data-underline-current",defaultItem:".menu__item.main-menu--active .navtext, .header__desktop__button.main-menu--active .navtext"};let sections$e={},defaultPositions=null;class HoverLine{constructor(el){this.wrapper=el,this.itemList=this.wrapper.querySelectorAll(selectors$K.item),this.sectionOuter=document.querySelector(selectors$K.sectionOuter),this.underlineCurrent=this.sectionOuter.getAttribute(selectors$K.underlineCurrent)==="true",this.defaultItem=null,this.underlineCurrent&&(this.defaultItem=this.wrapper.querySelector(selectors$K.defaultItem)),this.setDefault(),document.fonts.ready.then(()=>{this.init()})}init(){if(this.itemList.length){if(this.listen(),this.listenResize(),this.textBottom=null,this.setHeight(),defaultPositions){if(this.defaultItem){const startingLeft=this.defaultItem.offsetLeft||0;this.sectionOuter.style.setProperty("--bar-left",`${startingLeft}px`)}this.reset()}else{const startingLeft=this.sectionOuter.querySelector(selectors$K.item).offsetLeft;this.sectionOuter.style.setProperty("--bar-left",`${startingLeft}px`),this.sectionOuter.style.setProperty("--bar-width","0px")}this.sectionOuter.style.setProperty("--bar-opacity","1")}}unload(){document.removeEventListener("theme:resize",this.reset),defaultPositions=null}listenResize(){document.addEventListener("theme:resize",this.reset.bind(this))}setDefault(){this.defaultItem&&(defaultPositions={left:this.defaultItem.offsetLeft||null,width:this.defaultItem.clientWidth||null})}setHeight(){const height=this.wrapper.clientHeight,textHeight=this.itemList[0].querySelector(selectors$K.text).clientHeight,textBottom=Math.floor(height/2-textHeight/2)-4;this.textBottom!==textBottom&&(this.sectionOuter.style.setProperty("--bar-text",`${textHeight}px`),this.sectionOuter.style.setProperty("--bar-bottom",`${textBottom}px`),this.textBottom=textBottom)}listen(){this.itemList.forEach(element=>{element.addEventListener("pointerenter",evt=>{const item=evt.target.querySelector(selectors$K.text);this.startBar(item)})}),this.wrapper.addEventListener("pointerleave",this.clearBar.bind(this))}startBar(item){this.setHeight();let active=this.sectionOuter.getAttribute(selectors$K.isActive)!=="false",left=item.offsetLeft,width=item.clientWidth;active?this.render(width,left):(this.sectionOuter.setAttribute(selectors$K.isActive,!0),this.render(0,left),setTimeout(()=>{this.render(width,left)},10),setTimeout(()=>{window.checkIfPromotionsAreInview()},100))}render(width,left){this.sectionOuter.style.setProperty("--bar-left",`${left}px`),this.sectionOuter.style.setProperty("--bar-width",`${width}px`)}reset(){this.setDefault(),defaultPositions&&defaultPositions.left&&defaultPositions.width?(this.sectionOuter.style.setProperty("--bar-left",`${defaultPositions.left}px`),this.sectionOuter.style.setProperty("--bar-width",`${defaultPositions.width}px`)):this.sectionOuter.style.setProperty("--bar-width","0px")}clearBar(){this.sectionOuter.setAttribute(selectors$K.isActive,!1),setTimeout(()=>{this.sectionOuter.getAttribute(selectors$K.isActive)!=="false"||this.reset()},150)}}const hoverUnderline={onLoad(){sections$e[this.id]=[],this.container.querySelectorAll(selectors$K.wrapper).forEach(el=>{sections$e[this.id].push(new HoverLine(el))})}
12,onUnload:function(){sections$e[this.id].forEach(el=>{typeof el.unload=="function"&&el.unload()}),delete sections$e[this.id]}},selectors$J={price:"data-header-cart-price",count:"data-header-cart-count",dot:"data-header-cart-full"};class Totals{constructor(el){this.section=el,this.counts=this.section.querySelectorAll(`[${selectors$J.count}]`),this.prices=this.section.querySelectorAll(`[${selectors$J.price}]`),this.dots=this.section.querySelectorAll(`[${selectors$J.dot}]`),this.cart=null,this.listen()}listen(){document.addEventListener("theme:cart:change",function(event){this.cart=event.detail.cart,this.update()}.bind(this))}update(){this.cart&&(this.prices.forEach(price=>{price.setAttribute(selectors$J.price,this.cart.total_price);const newTotal=themeCurrency.formatMoney(this.cart.total_price,theme.moneyFormat);price.innerHTML=newTotal}),this.counts.forEach(count=>{count.setAttribute(selectors$J.count,this.cart.item_count),count.innerHTML=`(${this.cart.item_count})`}),this.dots.forEach(dot=>{const full=this.cart.item_count>0;dot.setAttribute(selectors$J.dot,full)}))}}const headerTotals={onLoad(){new Totals(this.container)}},selectors$I={wrapper:"[data-search-popdown-wrap]",popdownTrigger:"data-popdown-toggle",popdownSide:"data-popdown-side",close:"[data-close-popdown]",input:"[data-predictive-search-input]",searchField:".live-search-form-field",underlay:"[data-search-underlay]"},classes$t={underlayVisible:"underlay--visible",isVisible:"is-visible"};let sections$d={};class SearchPopdownTriggers{constructor(trigger){if(this.trigger=trigger,this.key=this.trigger.getAttribute(selectors$I.popdownTrigger),this.popdown=document.querySelector(`[id='${this.key}']`),!this.popdown)return;this.input=this.popdown.querySelector(selectors$I.input),this.wrapper=this.popdown.closest(selectors$I.wrapper),this.underlay=this.wrapper?this.wrapper.querySelector(selectors$I.underlay):null;const side=this.trigger.getAttribute(selectors$I.popdownSide);(side==="left"||side==="right")&&(this.popdown.classList.remove("search-popdown-mobile--from-left","search-popdown-mobile--from-right"),this.popdown.classList.add(`search-popdown-mobile--from-${side}`)),this.initTriggerEvents(),this.initPopdownEvents()}initTriggerEvents(){this.trigger.setAttribute("aria-haspopup",!0),this.trigger.setAttribute("aria-expanded",!1),this.trigger.setAttribute("aria-controls",this.key),this.trigger.addEventListener("click",function(evt){evt.preventDefault(),this.showPopdown()}.bind(this)),this.trigger.addEventListener("keyup",function(evt){evt.code==="Space"&&this.showPopdown()}.bind(this))}initPopdownEvents(){this.popdown.addEventListener("keyup",function(evt){evt.code==="Escape"&&this.hidePopdown()}.bind(this)),this.popdown.addEventListener("click",function(evt){evt.target.closest(selectors$I.close)&&(evt.preventDefault(),this.hidePopdown())}.bind(this))}hidePopdown(){document.documentElement.classList.remove("search-popdown-open"),this.popdown.classList.remove(classes$t.isVisible),this.underlay&&this.underlay.classList.remove(classes$t.underlayVisible),this.outsideClickHandler&&(document.removeEventListener("click",this.outsideClickHandler,!0),this.outsideClickHandler=null),this.trigger.setAttribute("aria-expanded",!1),this.trigger.focus(),removeTrapFocus(),this.popdown.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0}))}showPopdown(){document.documentElement.classList.add("search-popdown-open"),this.popdown.classList.add(classes$t.isVisible),this.underlay&&this.underlay.classList.add(classes$t.underlayVisible),this.trigger.setAttribute("aria-expanded",!0);const elementToFocus=this.popdown.querySelector(selectors$I.input)||this.popdown.querySelector(selectors$I.searchField);trapFocus(this.popdown,{elementToFocus:elementToFocus||this.popdown}),this.popdown.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0})),this.outsideClickHandler&&document.removeEventListener("click",this.outsideClickHandler,!0),this.outsideClickHandler=function(evt){this.popdown.classList.contains(classes$t.isVisible)&&(this.popdown.contains(evt.target)||this.trigger.contains(evt.target)||(evt.preventDefault(),evt.stopPropagation(),this.hidePopdown()))}.bind(this),setTimeout(function(){document.addEventListener("click",this.outsideClickHandler,!0)}.bind(this),0)}}const searchPopdown={onLoad(){sections$d[this.id]={};const triggers=this.container.querySelectorAll(`[${selectors$I.popdownTrigger}]`);
12sections$d[this.id].instances=[],triggers.forEach(trigger=>{sections$d[this.id].instances.push(new SearchPopdownTriggers(trigger))})},onUnload:function(){typeof sections$d[this.id].unload=="function"&&sections$d[this.id].unload()}},selectors$H={dataGridItemVariant:"data-grid-item-variant",dataGridImageTarget:"data-grid-image-target",dataSwatchGridImageIndex:"data-grid-image",dataGridImage:"data-grid-image",dataSwatchImageId:"data-swatch-image-id",dataSwatchIndex:"data-swatch-index"};class ProductGridItem extends HTMLElement{constructor(){super(),this.container=this,this.gridItemVariantLinks=this.container.querySelectorAll(`a[${selectors$H.dataGridItemVariant}]`)}connectedCallback(){this.gridItemVariantLinks.length&&this.gridItemVariantLinks.forEach(element=>{element.hasAttribute(selectors$H.dataGridItemVariant)&&(this.swatchHoverEvent(element),this.swatchClickEvent(element))})}swatchHoverEvent(swatchLink){swatchLink.addEventListener("mouseenter",()=>{if(swatchLink.hasAttribute(selectors$H.dataGridItemVariant)){const product=swatchLink.getAttribute(selectors$H.dataGridItemVariant);this.container.querySelectorAll(`product-grid-item-variant[${selectors$H.dataGridItemVariant}="${product}"] product-grid-item-image`).forEach(image=>{image.setAttribute("loading","eager")})}})}swatchClickEvent(swatchLink){swatchLink.addEventListener("click",e=>{if(e.preventDefault(),this.container.querySelectorAll(`a[${selectors$H.dataGridItemVariant}]`).forEach(link=>link.removeAttribute("aria-selected")),swatchLink.setAttribute("aria-selected","true"),swatchLink.hasAttribute(selectors$H.dataGridItemVariant)){const swatchLinkVariant=swatchLink.getAttribute(selectors$H.dataGridItemVariant);this.container.querySelectorAll(`product-grid-item-variant[${selectors$H.dataGridItemVariant}]`).forEach(swatchElement=>{swatchElement.getAttribute(selectors$H.dataGridItemVariant)===swatchLinkVariant?swatchElement.removeAttribute("hidden"):swatchElement.setAttribute("hidden","")})}})}}const selectors$G={productGridItemLink:"[data-grid-link]",dataGridImages:"data-grid-images",dataGridImage:"data-grid-image",dataGridImageTarget:"data-grid-image-target",dataGridCurrentImage:"data-grid-current-image",dataGridPagination:"data-grid-pagination",dataGridPage:"data-grid-page",dataGridItemVariant:"data-grid-item-variant",dataSlideForFilterSelectedVariant:"data-slide-for-filter-selected-variant",dataSlideForVariantMedia:"data-sli
12de-for-variant-media",dataPopup:"data-popup-",dataSlideshowStyle:"data-slideshow-style",styleWidth:"--width"},classes$s={fade:"is-fade",active:"is-active",mobile:"is-mobile",pagination:"product-grid-item__pagination",productGridItemImage:"product-grid-item__image"};class ProductGridItemVariant extends HTMLElement{static get observedAttributes(){return["hidden"]}constructor(){super(),this.container=this,this.mobileStopSlideshow="true",this.timeout=window.theme.settings.cycle_images_hover_delay*1e3||1500,this.interval=null,this.pagingProgressPause=!1,this.pagingProgressCounter=0,this.siblingsFetchCounter=0,this.siblingLoadImageIndex=null,this.intersectionObserver=new IntersectionObserver(entries=>{entries.forEach(entry=>{entry.isIntersecting&&this.imageCount>1&&this.preloadImage(1)})},{threshold:.1})}preloadImage(index){if(this.isMobile)return;const childElement=[...this.images][index];if(!childElement)throw new Error(`No child element at index ${index}`);childElement.setAttribute("loading","eager")}preloadImages(){[...this.imagesHolder.children].forEach((_el,i)=>this.preloadImage(i))}connectedCallback(){this.toggleMobile(),document.addEventListener("theme:resize:width",()=>this.toggleMobile()),!this.isMobile&&(this.imageCount>1&&(this.createPaging(),this.container.addEventListener("theme:swatch:change",e=>{const id=e.detail.id,target=this.container.querySelector(`[${selectors$G.dataGridImageTarget}="${id}"]`);if(target){const index=target.getAttribute(selectors$G.dataGridImage);this.pagingProgressCounter=0,this.changeImage(index),e.detail.stopSlideAnimation&&this.stopPaging()}}),this.container.addEventListener("mouseenter",()=>{switch(this.preloadImages(),this.slideshowStyle){case"cycle_images":this.pagingProgressPause=this.isMobile,this.progressPaging();break;case"second_immediately":this.changeImage(this.getNextIndex());break;case"disabled":break;default:throw new Error(`Unknown option ${this.slideshowStyle}`)}}),this.container.addEventListener("mouseleave",()=>{this.pagingProgressPause=!0,this.resetSlideshow(),this.progressPaging()})),this.intersectionObserver.observe(this.container))}attributeChangedCallback(name,prevValue,newValue){name==="hidden"&&prevValue==null&&newValue!=null&&this.showVariant()}toggleMobile(){this.container.classList.toggle(classes$s.mobile,this.isMobile)}get isMobile(){return(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)<window.theme.sizes.medium}resetSlideshow(){const forcedDefaultSlide=this.container.querySelector(`[${selectors$G.dataSlideForFilterSelectedVariant}]`);if(forcedDefaultSlide){let imageIndex=Number(forcedDefaultSlide.getAttribute(selectors$G.dataGridImage));this.changeImage(imageIndex)}else this.changeImage(0);this.pagingProgressPause=!0}showVariant(){const variantImage=this.container.querySelector(`[${selectors$G.dataSlideForVariantMedia}]`);if(variantImage){let imageIndex=Number(variantImage.getAttribute(selectors$G.dataGridImage));this.changeImage(imageIndex)}else this.changeImage(0);this.pagingProgressPause=!0}getNextIndex(){let currentImage=this.container.querySelector(`[${selectors$G.dataGridImage}][${selectors$G.dataGridCurrentImage}]`);return currentImage?(Number(currentImage.getAttribute(selectors$G.dataGridImage))+1)%this.imageCount:0}changeImage(index){const currentImage=this.images[index%this.imageCount];currentImage&&(this.activeImages.forEach(image=>image.removeAttribute(selectors$G.dataGridCurrentImage)),currentImage.setAttribute(selectors$G.dataGridCurrentImage,"true"),this.slideshowStyle==="cycle_images"&&this.changePaging(index))}changePaging(index=0){const activePage=this.container.querySelector(`[${selectors$G.dataGridPage}].${classes$s.active}`),currentPage=this.container.querySelector(`[${selectors$G.dataGridPage}="${index}"]`);activePage&&(activePage.style.setProperty(selectors$G.styleWidth,"100%"),activePage.classList.remove(classes$s.active)),currentPage&&(currentPage.classList.add(classes$s.active),this.progressPaging())}progressPaging(){const element=this.container.querySelector(`[${selectors$G.dataGridPage}].${classes$s.active}`);!element||this.isMobile||(this.stopPaging(),this.pagingProgressCounter===0&&element.style.setProperty(selectors$G.styleWidth,"0%"),this.interval=setInterval(()=>{this.pagingProgressCounter>=100&&!this.pagingProgressPause?(this.stopPaging(),this.pagingProgressCounter=0,this.changeImage(this.getNextIndex())):this.pagingProgressPause||(this.pagingProgressCounter++,element.style.setProperty(selectors$G.styleWidth,`${this.pagingProgressCounter}%`))},this.timeout/100))}stopPaging(){this.interval&&clearInterval(this.interval)}createPaging(){if(this.imagesHolder&&this.slideshowStyle==="cycle_images"){let pagination="";for(let index=0;
12index<this.imageCount;index++){let activeClass="";index===0&&(activeClass=`class="${classes$s.active}"`),pagination+=`<span ${activeClass} ${selectors$G.dataGridPage}="${index}">${index+1}</span>`}if(pagination!==""){let pagingContainer=this.container.querySelector(`[${selectors$G.dataGridPagination}]`);pagingContainer||(pagingContainer=document.createElement("div"),pagingContainer.className=classes$s.pagination,pagingContainer.setAttribute(selectors$G.dataGridPagination,"")),pagingContainer.innerHTML=pagination,this.imagesHolder.parentElement.prepend(pagingContainer)}}}removePaging(){const pagingContainer=this.container.querySelector(`[${selectors$G.dataGridPagination}]`);pagingContainer&&pagingContainer.remove()}get imagesHolder(){return this.container.querySelector(`[${selectors$G.dataGridImages}]`)}get images(){return this.imagesHolder.querySelectorAll(`[${selectors$G.dataGridImage}]`)}get activeImages(){return this.imagesHolder.querySelectorAll(`[${selectors$G.dataGridImage}][${selectors$G.dataGridCurrentImage}]`)}get links(){return this.container.querySelectorAll(selectors$G.productGridItemLink)}get slideshowStyle(){return this.container.getAttribute(selectors$G.dataSlideshowStyle)}get imageCount(){return this.images.length}}const selectors$F={dataGridCurrentImage:"data-grid-current-image"},classes$r={active:"is-active"};class ProductGridItemImage extends HTMLElement{static get observedAttributes(){return["loading",selectors$F.dataGridCurrentImage]}connectedCallback(){this.getAttribute(selectors$F.dataGridCurrentImage)===null?this.hide():this.show()}attributeChangedCallback(name,_oldValue,newValue){switch(name){case"loading":(newValue===null||newValue==="eager")&&this.eagerLoad();break;case selectors$F.dataGridCurrentImage:newValue===null?this.hide():this.show();break}}show(){this.classList.add(classes$r.active)}hide(){this.classList.remove(classes$r.active)}eagerLoad(){const childElement=this.firstElementChild;switch(childElement.nodeName){case"TEMPLATE":const template2=childElement,templateContent=template2.content;templateContent.querySelectorAll("img").forEach(imgEl=>{imgEl.setAttribute("loading","eager"),imgEl.setAttribute("fetchpriority","high")}),template2.replaceWith(templateContent);break;case"IMG":childElement.setAttribute("loading","eager"),childElement.setAttribute("fetchpriority","high");break}}}const selectors$E={popoutWrapper:"[data-popout]",popoutList:"[data-popout-list]",popoutListScroll:"data-popout-list-scroll",popoutToggle:"data-popout-toggle",popoutInput:"[data-popout-input]",popoutOptions:"[data-popout-option]",popoutPrevent:"data-popout-prevent",popoutQuantity:"data-quantity-field",dataValue:"data-value",ariaExpanded:"aria-expanded",ariaCurrent:"aria-current"},classes$q={listVisible:"popout-list--visible",currentSuffix:"--current"};class PopoutSelect extends HTMLElement{constructor(){super(),this.container=this.querySelector(selectors$E.popoutWrapper),this.container!==null&&(this.popout
12List=this.container.querySelector(selectors$E.popoutList),this.popoutToggle=this.container.querySelector(`[${selectors$E.popoutToggle}]`),this.outsidePopupToggle=document.querySelector(`[${selectors$E.popoutToggle}="${this.popoutList.id}"]`),this.popoutInput=this.container.querySelector(selectors$E.popoutInput),this.popoutOptions=this.container.querySelectorAll(selectors$E.popoutOptions),this.popoutPrevent=this.container.getAttribute(selectors$E.popoutPrevent)==="true",this._connectOptions(),this._connectToggle(),this._onFocusOut(),this.popupListMaxWidth(),this.popoutInput&&this.popoutInput.hasAttribute(selectors$E.popoutQuantity)&&document.addEventListener("theme:popout:update",this.updatePopout.bind(this)),document.addEventListener("theme:resize",()=>{this.popupListMaxWidth()}))}unload(){this.popoutOptions.length&&this.popoutOptions.forEach(element=>{element.removeEventListener("theme:popout:click",this.popupOptionsClick.bind(this)),element.removeEventListener("click",this._connectOptionsDispatch.bind(this))}),this.popoutToggle.removeEventListener("click",this.popupToggleClick.bind(this)),this.popoutToggle.removeEventListener("focusout",this.popupToggleFocusout.bind(this)),this.popoutList.removeEventListener("focusout",this.popupListFocusout.bind(this)),this.container.removeEventListener("keyup",this.containerKeyup.bind(this)),this.outsidePopupToggle&&(this.outsidePopupToggle.removeEventListener("click",this.popupToggleClick.bind(this)),this.outsidePopupToggle.removeEventListener("focusout",this.popupToggleFocusout.bind(this)))}popupToggleClick(evt){const ariaExpanded=evt.currentTarget.getAttribute(selectors$E.ariaExpanded)==="true";evt.currentTarget.setAttribute(selectors$E.ariaExpanded,!ariaExpanded),this.popoutList.classList.toggle(classes$q.listVisible),this.popupListMaxWidth(),this.popoutList.hasAttribute(selectors$E.popoutListScroll)&&setTimeout(()=>{this.popoutList.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0}))},1)}popupToggleFocusout(evt){this.container.contains(evt.relatedTarget)||this._hideList()}popupListFocusout(evt){const childInFocus=evt.currentTarget.contains(evt.relatedTarget);this.popoutList.classList.contains(classes$q.listVisible)&&!childInFocus&&this._hideList()}popupListMaxWidth(){this.popoutList.style.maxWidth=`${parseInt(document.body.clientWidth-this.popoutList.getBoundingClientRect().left)}px`}popupOptionsClick(evt){if(evt.target.closest(selectors$E.popoutOptions).attributes.href.value==="#"){evt.preventDefault();let attrValue="";if(evt.currentTarget.getAttribute(selectors$E.dataValue)&&(attrValue=evt.currentTarget.getAttribute(selectors$E.dataValue)),this.popoutInput.value=attrValue,this.popoutPrevent){this.popoutInput.dispatchEvent(new Event("change")),!evt.detail.preventTrigger&&this.popoutInput.hasAttribute(selectors$E.popoutQuantity)&&this.popoutInput.dispatchEvent(new Event("input"));
12const currentElement=this.popoutList.querySelector(`[class*="${classes$q.currentSuffix}"]`);let targetClass=classes$q.currentSuffix;if(currentElement&&currentElement.classList.length){for(const currentElementClass of currentElement.classList)if(currentElementClass.includes(classes$q.currentSuffix)){targetClass=currentElementClass;break}}const listTargetElement=this.popoutList.querySelector(`.${targetClass}`);listTargetElement&&(listTargetElement.classList.remove(`${targetClass}`),evt.currentTarget.parentElement.classList.add(`${targetClass}`));const targetAttribute=this.popoutList.querySelector(`[${selectors$E.ariaCurrent}]`);targetAttribute&&targetAttribute.hasAttribute(`${selectors$E.ariaCurrent}`)&&(targetAttribute.removeAttribute(`${selectors$E.ariaCurrent}`),evt.currentTarget.setAttribute(`${selectors$E.ariaCurrent}`,"true")),attrValue!==""&&(this.popoutToggle.textContent=attrValue,this.outsidePopupToggle&&(this.outsidePopupToggle.textContent=attrValue)),this.popupToggleFocusout(evt),this.popupListFocusout(evt)}else this._submitForm(attrValue)}}
12updatePopout(evt){const targetElement=this.popoutList.querySelector(`[${selectors$E.dataValue}="${this.popoutInput.value}"]`);targetElement&&targetElement.dispatchEvent(new CustomEvent("theme:popout:click",{cancelable:!0,bubbles:!0,detail:{preventTrigger:!0}}))}containerKeyup(evt){evt.code==="Escape"&&(this._hideList(),this.popoutToggle.focus())}bodyClick(evt){const isOption=this.container.contains(evt.target),isVisible=this.popoutList.classList.contains(classes$q.listVisible);this.outsidePopupToggle,evt.target,isVisible&&!isOption&&this._hideList()}_connectToggle(){this.popoutToggle.addEventListener("click",this.popupToggleClick.bind(this)),this.outsidePopupToggle&&this.outsidePopupToggle.addEventListener("click",this.popupToggleClick.bind(this))}_connectOptions(){this.popoutOptions.length&&this.popoutOptions.forEach(element=>{element.addEventListener("theme:popout:click",this.popupOptionsClick.bind(this)),element.addEventListener("click",this._connectOptionsDispatch.bind(this))})}_connectOptionsDispatch(evt){const event=new CustomEvent("theme:popout:click",{cancelable:!0,bubbles:!0,detail:{preventTrigger:!1}});evt.target.dispatchEvent(event)||evt.preventDefault()}_onFocusOut(){this.popoutToggle.addEventListener("focusout",this.popupToggleFocusout.bind(this)),this.outsidePopupToggle&&this.outsidePopupToggle.addEventListener("focusout",this.popupToggleFocusout.bind(this)),this.popoutList.addEventListener("focusout",this.popupListFocusout.bind(this)),this.container.addEventListener("keyup",this.containerKeyup.bind(this)),document.body.addEventListener("click",this.bodyClick.bind(this))}_submitForm(value){const form=this.container.closest("form");form&&form.submit()}_hideList(){this.popoutList.classList.remove(classes$q.listVisible),this.popoutToggle.setAttribute(selectors$E.ariaExpanded,!1),this.outsidePopupToggle&&this.outsidePopupToggle.setAttribute(selectors$E.ariaExpanded,!1)}}const selectors$D={cartNote:"[data-cart-note]"};class CartNotes{constructor(element){this.inputs=element.querySelectorAll(selectors$D.cartNote),this.initInputs()}initInputs(){this.inputs.forEach(input=>{input.addEventListener("change",function(e){const note=e.target.value.toString()||"";this.saveNotes(note)}.bind(this))})}saveNotes(newNote){setCartLoading(!0),window.fetch(`${window.theme.routes.cart}/update.js`,{method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify({note:newNote})}).then(()=>{setCartLoading(!1)}).catch(e=>{console.error(e),setCartLoading(!1)})}}const getUrlString=(params,keys=[],isArray=!1)=>{const p=Object.keys(params).map(key=>{let val=params[key];if(Object.prototype.toString.call(val)==="[object Object]"||Array.isArray(val))return Array.isArray(params)?keys.push(""):keys.push(key),getUrlString(val,keys,Array.isArray(val));{let tKey=key;return keys.length>0&&(tKey=(isArray?keys:[...keys,key]).reduce((str,k)=>str===""?k:`${str}[${k}]`,"")),isArray?`${tKey}[]=${val}`:`${tKey}=${val}`}}).join("&");return keys.pop(),p},selectors$C={html:"html",submitButton:"[data-submit-shipping]",form:"[data-shipping-estimate-form]",template:"[data-response-template]",country:"#estimate_address_country",province:"#estimate_address_province",zip:"#estimate_address_zip",wrapper:"[data-response-wrapper]",defaultData:"data-default-fullname",lang:"lang",defaultData:"data-default"},classes$p={success:"shipping--success",error:"errors",disable:"disabled"};class ShippingCalculator{constructor(section){this.button=section.container.querySelector(selectors$C.submitButton),this.template=section.container.querySelector(selectors$C.template).innerHTML,this.ratesWrapper=section.container.querySelector(selectors$C.wrapper),this.form=section.container.querySelector(selectors$C.form),this.country=section.container.querySelector(selectors$C.country),this.province=section.container.querySelector(selectors$C.province),this.zip=section.container.querySelector(selectors$C.zip),this.init()}enableButtons(){this.button.removeAttribute("disabled"),this.button.classList.remove(classes$p.disable)}disableButtons(){this.button.setAttribute("disabled","disabled"),this.button.classList.add(classes$p.disable)}render(rates){if(this.template&&this.ratesWrapper){const rendered=Sqrl__namespace.render(this.template,rates);this.ratesWrapper.innerHTML=rendered}this.enableButtons(),this.ratesWrapper.style.removeProperty("display")}estimate(shipping_address){const encodedShippingAddressData=encodeURI(getUrlString({shipping_address})),url=`${window.theme.routes.cart}/shipping_rates.json?${encodedShippingAddressData}`,instance=this;axios.get(url).then(function(response){const items=instance.sanitize(response);instance.render(items),instance.enableButtons(),instance.ratesWrapper.style.removeProperty("display")}).catch(function(error){const errors=instance.sanitizeErrors(error);instance.render(errors)})}sanitize(response){const sanitized={};return sanitized.class=classes$p.success,sanitized.items=[],response.data.shipping_rates&&response.data.shipping_rates.length>
120?response.data.shipping_rates.forEach(r=>{let item={};item.title=r.presentment_name,item.value=themeCurrency.formatMoney(r.price,theme.moneyFormat),sanitized.items.push(item)}):sanitized.items[0]={value:theme.strings.noShippingAvailable},sanitized}sanitizeErrors(response){const errors={};if(errors.class=classes$p.error,errors.items=[],typeof response.data=="object")for(const[key,value]of Object.entries(response.data)){let item={};item.title=key.toString(),item.value=value.toString(),errors.items.push(item)}else errors.items[0]={value:theme.strings.noShippingAvailable};return errors}init(){const htmlEl=document.querySelector(selectors$C.html);let locale="en";htmlEl.hasAttribute(selectors$C.lang)&&htmlEl.getAttribute(selectors$C.lang)!==""&&(locale=htmlEl.getAttribute(selectors$C.lang)),this.form&&themeAddresses.AddressForm(this.form,locale,{shippingCountriesOnly:!0}),this.country&&this.country.hasAttribute(selectors$C.defaultData)&&this.province&&this.province.hasAttribute(selectors$C.defaultData)&&this.country.addEventListener("change",function(){this.country.removeAttribute(selectors$C.defaultData),this.province.removeAttribute(selectors$C.defaultData)}),this.button&&this.button.addEventListener("click",function(e){for(e.preventDefault(),this.disableButtons();this.ratesWrapper.firstChild;)this.ratesWrapper.removeChild(this.ratesWrapper.firstChild);this.ratesWrapper.style.display="none";const shippingAddress={};let elemCountryVal=this.country.value,elemProvinceVal=this.province.value;const elemCountryData=this.country.getAttribute(selectors$C.defaultData);elemCountryVal===""&&elemCountryData&&elemCountryData!==""&&(elemCountryVal=elemCountryData);const elemProvinceData=this.province.getAttribute(selectors$C.defaultData);elemProvinceVal===""&&elemProvinceData&&elemProvinceData!==""&&(elemProvinceVal=elemProvinceData),shippingAddress.zip=this.zip.value||"",shippingAddress.country=elemCountryVal||"",shippingAddress.province=elemProvinceVal||"",this.estimate(shippingAddress)}.bind(this))}}const selectors$B={wrapper:"[data-quantity-selector]",increase:"[data-increase-quantity]",decrease:"[data-decrease-quantity]",input:"[data-quantity-input]"};class Quantity{constructor(wrapper){this.wrapper=wrapper,this.increase=this.wrapper.querySelector(selectors$B.increase),this.decrease=this.wrapper.querySelector(selectors$B.decrease),this.input=this.wrapper.querySelector(selectors$B.input),this.min=parseInt(this.input.getAttribute("min"),10),this.initButtons()}initButtons(){this.increase.addEventListener("click",function(e){e.preventDefault();let v=parseInt(this.input.value,10);v=isNaN(v)?0:v,v++,this.input.value=v,this.input.dispatchEvent(new Event("change"))}.bind(this)),this.decrease.addEventListener("click",function(e){e.preventDefault();let v=parseInt(this.input.value,10);v=isNaN(v)?0:v,v--,v=Math.max(this.min,v),this.input.value=v,this.input.dispatchEvent(new Event("change"))}.bind(this))}}function initQtySection(container){container.querySelectorAll(selectors$B.wrapper).forEach(qty=>{new Quantity(qty)})}function trackCart(cartData){let impressions=[],userProperties={};cartData?.items&&(cartData.items.forEach(function(item,i){const impression={id:item.sku,name:item.product_title,brand:item.vendor,category:item.product_type,variant:item.variant_title,price:item.presentment_price.toString(),quantity:item.quantity.toString(),product_id:item.product_id.toString(),variant_id:item.variant_id.toString(),position:i+1,list:"view cart",url:window.location.href};impressions.push(impression)}),window.ElevarDataLayer.push({event:"dl_view_cart",user_properties:userProperties,cart_total:(cartData.total_price/100).toString(),ecommerce:{currencyCode:cartData.currency,actionField:{list:"Shopping Cart"},impressions}}))}const selectors$A={drawer:'[data-drawer="drawer-cart"]',shipping:"[data-shipping-estimate-form]",loader:"[data-cart-loading]",form:"[data-cart-form]",emptystate:"[data-cart-empty]",progress:"[data-cart-progress]",items:"[data-line-items]",subtotal:"[data-cart-subtotal]",bottom:"[data-cart-bottom]",quantity:"[data-quantity-selector]",errors:"[data-form-errors]",item:"[data-cart-item]",finalPrice
12:"[data-cart-final]",key:"data-update-cart",remove:"data-remove-key",pageUpsellWrapper:"[data-cart-page-upsell-wrapper]",cartPage:'[data-section-type="cart"]',bar:"[data-cart-shipping-bar-wrapper]",ship:"[data-cart-message]",itemLoadbar:"[data-item-loadbar]",cartMessageContainer:"[data-cart-message-container]",apiContent:"[data-api-content]"},classes$o={hidden:"cart--hidden",loading:"cart--loading"};function setCartLoading(isLoading){const cartDrawer2=document.getElementById("drawer-cart");cartDrawer2&&(isLoading?cartDrawer2.classList.add("cart--loading"):cartDrawer2.classList.remove("cart--loading"))}class CartItems{constructor(section){this.section=section,this.container=section.container,this.cartMessages=document.querySelectorAll(selectors$A.cartMessageContainer),this.bar=this.container.querySelector(selectors$A.bar),this.ship=this.container.querySelector(selectors$A.ship),this.drawer=this.container.querySelector(selectors$A.drawer),this.form=this.container.querySelector(selectors$A.form),this.loader=this.container.querySelector(selectors$A.loader),this.bottom=this.container.querySelector(selectors$A.bottom),this.items=this.container.querySelector(selectors$A.items),this.subtotal=this.container.querySelector(selectors$A.subtotal),this.errors=this.container.querySelector(selectors$A.errors),this.finalPrice=this.container.querySelector(selectors$A.finalPrice),this.emptystate=this.container.querySelector(selectors$A.emptystate),this.progress=this.container.querySelector(selectors$A.progress),this.latestClick=null,this.cart=null,this.stale=!0,this.cartPage=document.querySelector(selectors$A.cartPage),this._cartMemberPriceCache={},this._cartIsSubscribedMember={},this._loadFormId=0,this._updateTotalId=0,this._cartItemEventsBound=!1,this._pendingCartUpdates=new window.Map,this._cartRefreshPromise=null,this._cartRefreshPending=!1,this.listen()}listen(){this.bindCartItemEvents(),document.addEventListener("theme:cart:change",function(event){const detail=event.detail;if(!detail?.cart)return;this.cart=detail.cart,this.stale=!0,detail.source!=="cart-items"&&window.theme.state&&window.theme.state.cartOpen&&this.requestCartRefresh()}.bind(this)),document.addEventListener("theme:cart:init",function(){this.init()}.bind(this)),document.addEventListener("theme:cart:reload",function(){this.stale=!0,this.requestCartRefresh()}.bind(this)),this.drawer&&(this.drawer.addEventListener("theme:drawer:open",function(){if(window.theme.state.cartOpen=!0,this.requestCartRefresh(),localStorage.getItem("clear-tracking")){window.resetFindingMethod(),window.resetPromoClick(),localStorage.removeItem("clear-tracking");let clearTrack=localStorage.setItem("clear-tracking",!1)}}.bind(this)),this.drawer.addEventListener("theme:drawer:close",function(){window.theme.state.cartOpen=!1})),window.addEventListener("authentic:membership-added",()=>{this.reloadCart()}),window.addEventListener("authentic:membership-removed",()=>{this.reloadCart()}),new CartNotes(this.container),new CartShippingMessage(this.container)}bindCartItemEvents(){const root=this.form||this.items;!root||this._cartItemEventsBound||(this._cartItemEventsBound=!0,root.addEventListener("click",function(e){const target=e.target instanceof Element?e.target:e.target.parentElement;if(!target)return;const increase=target.closest(selectors$B.increase),decrease=target.closest(selectors$B.decrease);if(increase||decrease){const control=increase||decrease;if(!root.contains(control))return;e.preventDefault();const wrapper=control.closest(selectors$B.wrapper),input=wrapper&&wrapper.querySelector(selectors$B.input);if(!input)return;const min=parseInt(input.getAttribute("min"),10);let v=parseInt(input.value,10);v=isNaN(v)?0:v,increase?v++:(v--,v=Math.max(isNaN(min)?0:min,v)),input.value=v,input.dispatchEvent(new Event("change",{bubbles:!0}));return}const remover=target.closest(`[${selectors$A.remove}]`);if(!remover||!root.contains(remover))return;e.preventDefault();const key=remover.getAttribute(selectors$A.remove);this.latestClick=remover.closest(selectors$A.item),this.lockState(),this.updateCart(key,0)}.bind(this)),root.addEventListener("change",function(e){const target=e.target instanceof Element?e.target:e.target.parentElement;if(!target)return;const input=target.closest(`[${selectors$A.key}]`);if(!input||!root.contains(input))return;const key=input.getAttribute(selectors$A.key);if(!key)return;const quantity=input.valueAsNumber;!Number.isInteger(quantity)||quantity<0||(this.latestClick=input.closest(selectors$A.
12item),this.lockState(),this.updateCart(key,quantity))}.bind(this)))}init(){return setCartLoading(!0),(window.theme.getCart?window.theme.getCart():(window.theme.fetchWithRetry||window.fetch).call(window,`${window.theme.routes.cart}.js`).then(this.handleErrors).then(response=>response.json())).then(response=>(this.cart=response,this.fireChange(response),setCartLoading(!1),response)).catch(e=>{console.error(e),setCartLoading(!1)})}loadHTML(){if(!this.stale)return Promise.resolve();this.stale=!1;const loadPromise=this.cart&&this.cart.item_count>0?this.loadForm():Promise.resolve().then(()=>{this.showEmpty(),this.cartMessages.forEach(message=>{new CartShippingMessage(message)})});return Promise.resolve(loadPromise).then(()=>{trackCart(this.cart),window.dispatchEvent(new CustomEvent("start-cart-recommendations",{bubbles:!0}))}).catch(e=>{console.error(e),this.stale=!0}).finally(()=>{this.loader&&this.loader.classList.remove(classes$o.loading)})}requestCartRefresh(){return this._cartRefreshPromise?(this._cartRefreshPending=!0,this._cartRefreshPromise):(this._cartRefreshPromise=this.performCartRefresh().catch(e=>{console.error("Cart refresh failed:",e.status||e),this.stale=!0}).finally(()=>{this._cartRefreshPromise=null}),this._cartRefreshPromise)}performCartRefresh(forceFresh=!1){return this.prepareCartRefresh(forceFresh).then(()=>this.cart?this.loadHTML():this.init().then(()=>this.loadHTML())).then(()=>{if(!this._cartRefreshPending||!this.stale){this._cartRefreshPending=!1;return}return this._cartRefreshPending=!1,this.performCartRefresh(!0)})}prepareCartRefresh(forceFresh){return forceFresh?this.fetchFreshCart().then(freshCart=>{this.cart=freshCart,this.fireChange(freshCart),this.stale=!0}).catch(e=>{console.error("Cart refresh fetch failed:",e.status||e),this.stale=!0}):Promise.resolve()}reloadCart(){return setCartLoading(!0),(window.theme.getCart?window.theme.getCart(!0):(window.theme.fetchWithRetry||window.fetch).call(window,`${window.theme.routes.cart}.js`).then(response=>response.json())).then(data=>(this.cart=data,this.fireChange(data),this.stale=!0,this.requestCartRefresh())).then(()=>{setCartLoading(!1)}).catch(e=>{console.error(e),setCartLoading(!1)})}InitRelatedItems(){const scope=this.items||this.form||this.container;[...scope.querySelectorAll("[data-related-products]")].forEach(item=>{if(item.children.length===0){const remover=item.getAttribute("data-related-products"),hideRelatedDiv=scope.querySelector('[data-cart-related-toggle-key="'+remover+'"]');hideRelatedDiv&&(hideRelatedDiv.style.display="none")}}),scope.querySelectorAll(".cart-get-set-toggle").forEach(CGSButton=>{CGSButton.addEventListener("click",function(){let showId=this.getAttribute("data-cart-related-toggle-key"),showRelatedDiv=scope.querySelector('[data-cart-related-key="'+showId+'"]');showRelatedDiv&&showRelatedDiv.classList.add("open")})}),scope.querySelectorAll(".related-closer").forEach(CGSButton=>{CGSButton.addEventListener("click",function(){let hideId=this.getAttribute("data-cart-close-key"),hideRelatedDiv=scope.querySelector('[data-cart-related-key="'+hideId+'"]');hideRelatedDiv&&hideRelatedDiv.classList.remove("open")})}),this.InitFSFallbackItems()}InitFSFallbackItems(){const fallbackContainers=document.querySelectorAll('[data-fs-fallback="true"]');if(fallbackContainers.length===0)return;const widgetId=window.siteGlobals?.ctlFsFallbackWidgetId;if(!widgetId)return;const cartProductIds=new Set;document.querySelectorAll("[data-cart-item]").forEach(item=>{cartProductIds.add(item.getAttribute("data-cart-item"))}),(cb=>{if(window.fast_simon_sdk_ready){cb();return}const check=setInterval(()=>{window.fast_simon_sdk_ready&&(clearInterval(check),cb())},100)})(()=>{fallbackContainers.forEach(container=>{const productId=container.getAttribute("data-product-id"),lineKey=container.getAttribute("data-related-products");!productId||!lineKey||window.FastSimonSDK.productRecommendationByWidget({productID:productId,withAttributes:!1,widgetsIDS:[widgetId],callback:response=>{const filtered=(response?.payload?.[0]?.payload||[]).filter(p=>!cartProductIds.has(String(p.id)));if(filtered.length===0)return;const fetchRequests=filtered.map(p=>{const handle=(p.u||"").replace(/^\/products\//,"").split("?")[0];return`${window.theme.routes.root_url}products/${handle}?section_id=api-product-clip`}).map(url=>fetch(url).then(res=>{if(!res.ok)throw new Error(res.statusText);return res.text()}));Promise.allSettled(fetchRequests).then(results=>{let hasProducts=!1;
12if(results.forEach(result=>{if(result.status==="fulfilled"){const temp=document.createElement("div");temp.innerHTML=result.value;const content=temp.querySelector("[data-api-content]");content&&content.innerHTML.trim()&&(container.insertAdjacentHTML("beforeend",content.innerHTML),hasProducts=!0)}}),hasProducts){container.classList.add("ctl--fs-powered");const toggleBtn=document.querySelector(`[data-cart-related-toggle-key="${lineKey}"]`);toggleBtn&&(toggleBtn.style.display="")}})}})})})}lockState(){if(this.latestClick){const loadbar=this.latestClick.querySelector(selectors$A.itemLoadbar);loadbar&&(loadbar.style.display="block")}this.loader.classList.add(classes$o.loading)}fetchFreshCart(){return window.theme.getCart?window.theme.getCart(!0):(window.theme.fetchWithRetry||window.fetch).call(window,`${window.theme.routes.cart}.js`,{cache:"no-store"}).then(this.handleErrors).then(response=>response.json())}resyncItems(cart){return Promise.resolve(cart||this.fetchFreshCart()).then(freshCart=>{if(Array.isArray(freshCart?.items)){const validKeys=new Set(freshCart.items.map(item=>item.key));for(const key of this._pendingCartUpdates.keys())validKeys.has(key)||this._pendingCartUpdates.delete(key)}return this.cart=freshCart,this.fireChange(freshCart),slideUp(this.errors),this.stale=!0,this.requestCartRefresh()})}updateCart(clickedKey,newQuantity){if(!(!Number.isInteger(newQuantity)||newQuantity<0)){if(this._cartUpdateInFlight){this._pendingCartUpdates.set(clickedKey,newQuantity);return}return this._cartUpdateInFlight=!0,setCartLoading(!0),this.fetchFreshCart().then(cart=>{if(!Array.isArray(cart?.items))throw new Error("Could not update cart, please reload");return cart.items.some(item=>item.key===clickedKey)?(window.theme.fetchWithRetry||window.fetch).call(window,`${window.theme.routes.cart}/change.js`,{method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:clickedKey,quantity:newQuantity})}).then(this.handleErrors).then(response=>response.json()).then(response=>this.resyncItems(response)):this.resyncItems(cart)}).catch(e=>{if(e.json?.message==="no valid id or line parameter"||e.json?.description==="no valid id or line parameter")return this.resyncItems();throw e}).catch(e=>{if(e instanceof FetchError){const heading=`<p>${e.json?.message||e.message||"Could not update cart, please reload"}</p>`,paragraph=e.json?.description||"";this.showError([heading,paragraph].join(" "))}else{console.error("Cart update failed:",e.status||e);const error=`<p>${e.message||"Could not update cart, please reload"}</p>`;this.showError(error)}return this.loadForm({preserveError:!0})}).finally(()=>{setCartLoading(!1),this.loader&&this.loader.classList.remove(classes$o.loading),this._cartUpdateInFlight=!1;
12const pending=this._pendingCartUpdates.entries().next().value;pending&&(this._pendingCartUpdates.delete(pending[0]),this.updateCart(pending[0],pending[1]))})}}fireChange(newCart){document.dispatchEvent(new CustomEvent("theme:cart:change",{detail:{cart:newCart,source:"cart-items"},bubbles:!0}))}updateTotal(){if(this.cart&&this.cart.total_price){const price=themeCurrency.formatMoney(this.cart.total_price,theme.moneyFormat);this.finalPrice.innerHTML=price.replace(".00","")}if(this.subtotal&&this.cart){const totalRequestId=++this._updateTotalId;setCartLoading(!0),(window.theme.fetchWithRetry||window.fetch).call(window,`${window.theme.routes.root_url}?section_id=api-cart-subtotal`).then(this.handleErrors).then(response=>response.text()).then(response=>{if(totalRequestId!==this._updateTotalId)return;const fresh=document.createElement("div");fresh.innerHTML=response,this.subtotal.innerHTML=fresh.querySelector(selectors$A.apiContent).innerHTML,setCartLoading(!1)}).catch(e=>{totalRequestId===this._updateTotalId&&(console.error(e),setCartLoading(!1))})}}showError(message){slideUp(this.errors),this.errors.innerHTML=message,window.setTimeout(()=>{slideDown(this.errors)},600)}loadForm(options2={}){const requestId=++this._loadFormId;return(window.theme.fetchWithRetry||window.fetch).call(window,`${window.theme.routes.root_url}?section_id=api-cart-items`).then(this.handleErrors).then(response=>response.text()).then(response=>{if(requestId!==this._loadFormId)return;const fresh=document.createElement("div");fresh.innerHTML=response;const apiContent=fresh.querySelector(selectors$A.apiContent);if(!apiContent||!this.items)throw new Error("Cart items section missing api content");this.items.innerHTML=apiContent.innerHTML,this.showForm(),this.initQuantity(),this.initQuickview(),this.updateTotal()}).catch(e=>{requestId===this._loadFormId&&(console.error(e),this.stale=!0,setCartLoading(!1),this.loader&&this.loader.classList.remove(classes$o.loading),options2.preserveError||this.showError("<p>Unable to load cart. Please try again.</p>"))})}initQuickview(){const pageUpsellWrapper=this.items.querySelector(selectors$A.pageUpsellWrapper),oldPageUpsellWrapper=this.bottom.querySelector(selectors$A.pageUpsellWrapper);oldPageUpsellWrapper&&oldPageUpsellWrapper.remove(),this.cartPage&&pageUpsellWrapper&&this.bottom.insertBefore(pageUpsellWrapper,this.bottom.firstChild)}initQuantity(){this.InitRelatedItems()}showForm(){this.bar&&this.bar.classList.remove(classes$o.hidden),this.ship&&this.ship.classList.remove(classes$o.hidden),this.progress&&this.progress.classList.remove(classes$o.hidden),this.form.classList.remove(classes$o.hidden),this.bottom.classList.remove(classes$o.hidden),this.loader.classList.remove(classes$o.loading),this.emptystate.classList.add(classes$o.hidden)}showEmpty(){this.bar&&this.bar.classList.add(classes$o.hidden),this.ship&&this.ship.classList.add(classes$o.hidden),this.progress&&this.progress.classList.add(classes$o.hidden),this.emptystate.classList.remove(classes$o.hidden),this.loader.classList.remove(classes$o.loading),this.loader&&this.loader.hasAttribute("data-cart-loading")&&this.loader.classList.remove(classes$o.loading),this.form.classList.add(classes$o.hidden),this.bottom.classList.add(classes$o.hidden)}handleErrors(response){return response.ok?response:response.json().then(function(json){throw new FetchError({status:response.statusText,headers:response.headers,json})})}}const cartDrawer={onLoad(){this.container.querySelector(selectors$A.drawer)&&(this.cart=new CartItems(this)),this.container.querySelector(selectors$A.shipping)&&new ShippingCalculator(this)},onUnload:function(){this.cart&&typeof this.cart.unload=="function"&&this.cart.unload()}},selectors$z={accordionGroup:"[data-accordion-group]",accordionToggle:"data-accordion-trigger",accordionBody:"[data-accordion-body]",accordionBodyMobile:"data-accordion-body-mobile",rangeSlider:"data-range-holder",section:"[data-section-id]"},classes$n={open:"accordion-is-open"};let sections$c={};class Accordion{constructor(el){this.body=el,this.key=this.body.id;const btnSelector=`[${selectors$z.accordionToggle}='${this.key}']`,scope=this.body.closest(selectors$z.section);this.trigger=scope&&scope.querySelector(btnSelector)||document.querySelector(btnSelector),this.toggleEvent=e=>this.clickEvents(e),this.keyboardEvent=e=>this.keyboardEvents(e),this.hideEvent=()=>this.hideEvents(),this.resizeEvent=()=>this.handleResize(),this.syncBodies=this.getSiblings(),this.isInitialized=!1,this.isMobileMode=!1,this.body.hasAttribute(selectors$z.accordionBodyMobile)?this.mobileAccordions():this.init()}mobileAccordions(){const isMobile=window.innerWidth<window.theme.sizes.medium;isMobile&&!this.isInitialized?(this.init(),this.setDefaultState(),this.isMobileMode=!0):!isMobile&&this.isInitialized&&(this.resetMobileAccordions(),this.body.removeAttribute("style"),this.isMobileMode=!1),this.resizeListenerAdded||(document.addEventListener("theme:resize",this.resizeEvent),this.resizeListenerAdded=!0)}handleResize(){const isMobile=window.innerWidth<window.theme.sizes.medium;isMobile&&!this.isMobileMode?(this.init(),this.setDefaultState(),this.isMobileMode=!0):!isMobile&&this.isMobileMode&&(this.resetMobileAccordions(),this.body.removeAttribute("style"),this.isMobileMode=!1)}init(){if(this.isInitialized||!this.trigger)return;this.trigger.setAttribute("aria-haspopup",!0),this.trigger.setAttribute("aria-expanded",!1),this.trigger.setAttribute("aria-controls",this.key),this.setDefaultState();const eventType="ontouchstart"in window?"touchstart":"click";this.trigger.addEventListener(eventType,this.toggleEvent),this.body.addEventListener("keyup",this.keyboardEvent),this.body.addEventListener("theme:accordion:close",this.hideEvent),this.isInitialized=!0}hideEvents(){this.hideAccordion()}clickEvents(e){e.preventDefault(),this.toggleState()}keyboardEvents(e){e.code==="Escape"&&(this.hideAccordion(),this.trigger.focus())}resetMobileAccordions(){if(!this.isInitialized)return;const eventType="ontouchstart"in window?"touchstart":"click";this.trigger.removeEventListener(eventType,this.toggleEvent),this.body.removeEventListener("keyup",this.keyboardEvent),this.body.removeEventListener("theme:accordion:close",this.hideEvent),this.isInitialized=!1}
12setDefaultState(){this.trigger.classList.contains(classes$n.open)?(this.trigger.setAttribute("aria-expanded","true"),this.body.classList.remove("accordion-is-closed")):(this.trigger.setAttribute("aria-expanded","false"),this.body.classList.add("accordion-is-closed"))}getSiblings(){const section=this.body.closest(selectors$z.section);if(!section)return[];const syncWrapper=[...section.querySelectorAll(selectors$z.accordionGroup)].filter(el=>el.contains(this.body)).shift();return syncWrapper?[...syncWrapper.querySelectorAll(selectors$z.accordionBody)].filter(el=>!el.contains(this.body)):[]}closeSiblings(){this.syncBodies.forEach(accordionBody=>{accordionBody.dispatchEvent(new CustomEvent("theme:accordion:close",{bubbles:!1}))})}toggleState(){this.trigger.classList.contains(classes$n.open)?this.hideAccordion():(this.showAccordion(),this.closeSiblings(),this.body.hasAttribute(selectors$z.rangeSlider)&&setTimeout(()=>{document.dispatchEvent(new CustomEvent("theme:price-range:reset",{bubbles:!1}))},400))}hideAccordion(){this.trigger.classList.remove(classes$n.open),this.trigger.setAttribute("aria-expanded","false"),this.body.classList.add("accordion-is-closed")}showAccordion(){this.trigger.classList.add(classes$n.open),this.trigger.setAttribute("aria-expanded","true"),this.body.classList.remove("accordion-is-closed"),setTimeout(()=>{this.checkInViewportAndScrollTo()},500)}checkInViewportAndScrollTo(){const rect=this.trigger.getBoundingClientRect(),windowScrollY=(window.pageYOffset||document.documentElement.scrollTop)-(document.documentElement.clientTop||0);rect.top>=0&&rect.left>=0&&rect.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&rect.right<=(window.innerWidth||document.documentElement.clientWidth)||window.scrollTo({top:windowScrollY+rect.top,left:0,behavior:"smooth"})}onBlockSelect(evt){this.body.contains(evt.target)&&this.showAccordion()}onBlockDeselect(evt){this.body.contains(evt.target)&&this.hideAccordion()}}function initAccordionsInRoot(root){!root||typeof root.querySelectorAll!="function"||root.querySelectorAll(selectors$z.accordionBody).forEach(body=>{try{new Accordion(body)}catch(err){console.warn("Accordion init failed",err)}})}document.addEventListener("theme:accordion:bind",function(e){const root=e.detail&&e.detail.root?e.detail.root:document.getElementById("more-info-modal-content");root&&initAccordionsInRoot(root)});const accordion={onLoad(){sections$c[this.id]=[],this.container.querySelectorAll(selectors$z.accordionBody).forEach(el=>{sections$c[this.id].push(new Accordion(el))})},onUnload:function(){sections$c[this.id].forEach(el=>{typeof el.unload=="function"&&el.unload()})},onSelect:function(){this.type==="accordion-single"&&this.container.querySelector(`[${selectors$z.accordionToggle}]`).click()},onDeselect:function(){this.type==="accordion-single"&&this.container.querySelector(`[${selectors$z.accordionToggle}]`).click()},onBlockSelect(evt){sections$c[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockSelect(evt)})},onBlockDeselect(evt){sections$c[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockDeselect(evt)})}},hideElement=elem=>{elem&&(elem.style.display="none")},selectors$y={inputSearch:'input[type="search"]',focusedElements:'[aria-selected="true"] a',resetButton:'button[type="reset"]'},classes$m={hidden:"is-hidden"};class HeaderSearchForm extends HTMLElement{constructor(){super(),this.input=this.querySelector(selectors$y.inputSearch),this.resetButton=this.querySelector(selectors$y.resetButton),this.input&&(this.input.form.addEventListener("reset",this.onFormReset.bind(this)),this.input.addEventListener("input",debounce(event=>{this.onChange(event)},300).bind(this)))}toggleResetButton(){const resetIsHidden=this.resetButton.classList.contains(classes$m.hidden);this.input.value.length>0&&resetIsHidden?this.resetButton.classList.remove(classes$m.hidden):this.input.value.length===0&&!resetIsHidden&&this.resetButton.classList.add(classes$m.hidden)}onChange(){this.toggleResetButton()}shouldResetForm(){return!document.querySelector(selectors$y.focusedElements)}onFormReset(event){event.preventDefault(),this.shouldResetForm()&&(this.input.value="",this.toggleResetButton(),event.target.querySelector(selectors$y.inputSearch).focus())}}customElements.define("header-search-form",HeaderSearchForm);const selectors$x={allVisibleElements:'[role="option"]',ariaSelected:'[aria-selected="true"]',predictiveSearch:"predictive-search",predictiveSearchResults:"[data-predictive-search-results]",predictiveSearchStatus:"[data-predictive-search-status]",searchInput:"[data-predictive-search-input]",searchResultsLiveRegion:"[data-predictive-search-live-region-count-value]",searchResultsGroupsWrapper:"data-search-results-groups-wrapper",searchForText:"[data-predictive-search-search-for-text]",sectionPredictiveSearch:"#shopify-section-predictive-search",selectedLink:'[aria-selected="true"] a',selectedOption:'[aria-selected="true"] a, button[aria-selected="true"]',loader:"[data-loading-indicator]"};class PredictiveSearch extends HeaderSearchForm{constructor(){super(),this.wrapper=this,this.a11y=a11y,this.abortController=new AbortController,this.allPredictiveSearchInstances=document.querySelectorAll(selectors$x.predictiveSearch),this.cachedResults={},this.input=this.wrapper.querySelector(selectors$x.searchInput),this.isOpen=!1,this.predictiveSearchResults=this.querySelector(selectors$x.predictiveSearchResults),this.searchTerm="",this.loader=this.wrapper.querySelector(selectors$x.loader)}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 newSearchTerm=this.getQuery();if((!this.searchTerm||!newSearchTerm.startsWith(this.searchTerm))&&this.querySelector(selectors$x.searchResultsGroupsWrapper)?.remove(),this.updateSearchForTerm(this.searchTerm,newSearchTerm),this.searchTerm=newSearchTerm,!this.searchTerm.length){this.reset();return}this.getSearchResults(this.searchTerm)}onFormSubmit(event){(!this.getQuery().length||this.querySelector(selectors$x.selectedLink))&&event.preventDefault()}onFormReset(event){super.onFormReset(event),super.shouldResetForm()&&(this.searchTerm="",this.abortController.abort(),this.abortController=new AbortController,this.closeResults(!0))}shouldResetForm(){return!document.querySelector(selectors$x.selectedLink)}onFocus(){const currentSearchTerm=this.getQuery();currentSearchTerm.length&&(this.searchTerm!==currentSearchTerm?this.onChange():this.getAttribute("results")==="true"?this.open():this.getSearchResults(this.searchTerm))}onFocusOut(){setTimeout(()=>{this.contains(document.activeElement)||this.close()})}onKeyup(event){switch(this.getQuery().length||this.close(!0),event.preventDefault(),event.code){case"ArrowUp":this.switchOption("up");break;case"ArrowDown":this.switchOption("down");break;case"Enter":this.selectOption();break}}onKeydown(event){(event.code==="ArrowUp"||event.code==="ArrowDown")&&event.preventDefault()}updateSearchForTerm(previousTerm,newTerm){const searchForTextElement=this.querySelector(selectors$x.searchForText),currentButtonText=searchForTextElement?.innerText;if(currentButtonText){if(currentButtonText.match(previousTerm)?.length>1)return;const newButtonText=currentButtonText.replace(previousTerm,newTerm);searchForTextElement.innerText=newButtonText}}switchOption(direction){if(!this.getAttribute("open"))return;const moveUp=direction==="up",selectedElement=this.querySelector(selectors$x.ariaSelected),allVisibleElements=Array.from(this.querySelectorAll(selectors$x.allVisibleElements)).filter(element=>element.offsetParent!==null);let activeElementIndex=0;if(moveUp&&!selectedElement)return;let selectedElementIndex=-1,i=0;for(;selectedElementIndex===-1&&i<=allVisibleElements.length;)allVisibleElements[i]===selectedElement&&(selectedElementIndex=i),i++;if(this.statusElement.textContent="",!moveUp&&selectedElement?activeElementIndex=selectedElementIndex===allVisibleElements.length-1?0:selectedElementIndex+1:moveUp&&(activeElementIndex=selectedElementIndex===0?allVisibleElements.length-1:selectedElementIndex-1),activeElementIndex===selectedElementIndex)return;const activeElement=allVisibleElements[activeElementIndex];activeElement.setAttribute("aria-selected",!0),selectedElement&&selectedElement.setAttribute("aria-selected",!1),this.input.setAttribute("aria-activedescendant",activeElement.id)}selectOption(){const selectedOption=this.querySelector(selectors$x.selectedOption);selectedOption&&selectedOption.click()}getSearchResults(searchTerm){const queryKey=searchTerm.replace(" ","-").toLowerCase();if(this.setLiveRegionLoadingState(),this.cachedResults[queryKey]){this.renderSearchResults(this.cachedResults[queryKey]);return}showElement(this.loader),fetch(`${theme.routes.predictive_search_url}?q=${encodeURIComponent(searchTerm)}&section_id=predictive-search`,{signal:this.abortController.signal}).then(this.handleErrors).then(response=>response.text()).then(response=>{const resultsMarkup=new DOMParser().parseFromString(response,"text/html").querySelector(selectors$x.sectionPredictiveSearch).innerHTML;
12this.allPredictiveSearchInstances.forEach(predictiveSearchInstance=>{predictiveSearchInstance.cachedResults[queryKey]=resultsMarkup}),this.renderSearchResults(resultsMarkup)}).catch(e=>{console.error(e)}).finally(()=>{hideElement(this.loader)})}setLiveRegionLoadingState(){this.statusElement=this.statusElement||this.querySelector(selectors$x.predictiveSearchStatus),this.loadingText=this.loadingText||this.getAttribute("data-loading-text"),this.setLiveRegionText(this.loadingText),this.setAttribute("loading",!0)}setLiveRegionText(statusText){this.statusElement.setAttribute("aria-hidden","false"),this.statusElement.textContent=statusText,setTimeout(()=>{this.statusElement.setAttribute("aria-hidden","true")},1e3)}renderSearchResults(resultsMarkup){this.predictiveSearchResults.innerHTML=resultsMarkup,this.setAttribute("results",!0),this.setLiveRegionResults(),this.open()}setLiveRegionResults(){this.removeAttribute("loading"),this.setLiveRegionText(this.querySelector(selectors$x.searchResultsLiveRegion).textContent)}open(){this.setAttribute("open",!0),this.input.setAttribute("aria-expanded",!0),this.isOpen=!0}close(clearSearchTerm=!1){this.closeResults(clearSearchTerm),this.isOpen=!1}closeResults(clearSearchTerm=!1){clearSearchTerm&&(this.input.value="",this.removeAttribute("results"));const selected=this.querySelector(selectors$x.ariaSelected);selected&&selected.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()}handleErrors(response){return response.ok?response:response.json().then(function(json){throw new FetchError({status:response.statusText,headers:response.headers,json})})}}function getWindowWidth(){return window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}function isDesktop(){return getWindowWidth()>=window.theme.sizes.small}const selectors$w={inputSearch:'input[type="search"]'};class MainSearch extends HeaderSearchForm{constructor(){super(),this.allSearchInputs=document.querySelectorAll(selectors$w.inputSearch),this.setupEventListeners()}setupEventListeners(){let allSearchForms=[];this.allSearchInputs.forEach(input=>allSearchForms.push(input.form)),this.input.addEventListener("focus",this.onInputFocus.bind(this)),!(allSearchForms.length<2)&&(allSearchForms.forEach(form=>form.addEventListener("reset",this.onFormReset.bind(this))),this.allSearchInputs.forEach(input=>input.addEventListener("input",this.onInput.bind(this))))}onFormReset(event){super.onFormReset(event),super.shouldResetForm()&&this.keepInSync("",this.input)}onInput(event){const target=event.target;this.keepInSync(target.value,target)}onInputFocus(){isDesktop()||this.scrollIntoView({behavior:"smooth"})}keepInSync(value,target){this.allSearchInputs.forEach(input=>{input!==target&&(input.value=value)})}}const selectors$v={drawer:"data-drawer-scrolls",slideruleOpen:"data-sliderule-open",slidedown:"data-slidedown",slideruleClose:"data-sliderule-close",sliderulePane:"data-sliderule-pane",slideruleWrappper:"[data-sliderule]",dataAnimates:"data-animates",children:`:scope > [data-animates],
13             :scope > * > [data-animates],
14             :scope > * > * >[data-animates],
15             :scope .sliderule-grid  > *`},classes$l={isVisible:"is-visible",isHiding:"is-hiding",isHidden:"is-hidden"};let sections$b={},navTimmer;class HeaderMobileSliderule{constructor(el){this.sliderule=el,this.wrapper=el.closest(selectors$v.wrapper),this.key=this.sliderule.id;const btnSelector=`[${selectors$v.slideruleOpen}='${this.key}']`,exitSelector=`[${selectors$v.slideruleClose}='${this.key}']`,slidedown=`[${selectors$v.slidedown}]`;this.trigger=document.querySelector(btnSelector),this.downTrigger=document.querySelectorAll(slidedown),this.drawer=document.querySelector(`[${selectors$v.drawer}]`),this.exit=document.querySelectorAll(exitSelector),this.pane=document.querySelector(`[${selectors$v.sliderulePane}]`),this.children=this.sliderule.querySelectorAll(selectors$v.children),this.trigger&&(this.trigger.setAttribute("aria-haspopup",!0),this.trigger.setAttribute("aria-expanded",!1),this.trigger.setAttribute("aria-controls",this.key)),this.clickEvents(),this.staggerChildAnimations(),document.addEventListener("theme:sliderule:close",this.closeSliderule.bind(this))}updateDrillState(){const depth=this.pane&&parseInt(this.pane.getAttribute(selectors$v.sliderulePane),10)||0;document.documentElement.classList.toggle("hamburger-nav-drilled",depth>0)}clickEvents(){this.trigger&&this.trigger.addEventListener("click",function(){window.checkIfPromotionsAreInview(),this.showSliderule()}.bind(this)),this.downTrigger&&this.downTrigger.forEach(element=>{element.addEventListener("click",function(){clearTimeout(navTimmer),navTimmer=setTimeout(()=>{element.closest(".sliderule__wrapper").classList.toggle("is-visible")},10)}.bind(this))}),this.exit.forEach(element=>{element.addEventListener("click",function(){this.hideSliderule()}.bind(this))})}keyboardEvents(){this.trigger.addEventListener("keyup",function(evt){evt.code==="Space"&&this.showSliderule()}.bind(this)),this.sliderule.addEventListener("keyup",function(evt){evt.code==="Escape"&&(this.hideSliderule(),this.buttons[0].focus())}.bind(this))}staggerChildAnimations(reverse=!1){(reverse?Array.prototype.slice.call(this.children).slice().reverse():this.children).forEac
15h((child,index)=>{child.style.transitionDelay=index*50+10+"ms"})}hideSliderule(close=!1){const parentSlideRulePanel=this.trigger.closest(".mobile__menu__dropdown");if(parentSlideRulePanel!=null){const parentSlideOuts=parentSlideRulePanel.querySelectorAll(".sliderule-grid > div");parentSlideRulePanel!=null&&parentSlideOuts.forEach(function(el){el.classList.remove(classes$l.isHidden),el.classList.add(classes$l.isVisible)})}const paneStyle=window.getComputedStyle(this.pane),paneTransitionDuration=parseFloat(paneStyle.getPropertyValue("transition-duration"))*1e3,children=close?this.pane.querySelectorAll(`.${classes$l.isVisible}`):this.children;this.pane.style.setProperty("--sliderule-height","auto"),this.pane.classList.remove("secondary-menu"),this.staggerChildAnimations(!0),this.pane.classList.add(classes$l.isHiding),this.sliderule.classList.add(classes$l.isHiding),this.sliderule.classList.remove(classes$l.isVisible),children.forEach(el=>{el.classList.remove(classes$l.isVisible)});const newPosition=parseInt(this.pane.dataset.sliderulePane,10)-1;this.pane.setAttribute(selectors$v.sliderulePane,newPosition),this.updateDrillState(),this.pane.querySelectorAll(`[${selectors$v.dataAnimates}="${newPosition}"] .sliderule__chevron--right`).forEach(el=>{el.style.opacity="1"});const hidedSelector=close?`[${selectors$v.dataAnimates}].${classes$l.isHidden}`:`[${selectors$v.dataAnimates}="${newPosition}"].${classes$l.isHidden}`,hidedItems=this.pane.querySelectorAll(hidedSelector);hidedItems.length&&hidedItems.forEach(element=>{element.classList.remove(classes$l.isHidden)}),setTimeout(()=>{this.pane.classList.remove(classes$l.isHiding),this.sliderule.classList.remove(classes$l.isHiding),this.staggerChildAnimations()},paneTransitionDuration)}showSliderule(){const parentSlideRulePanel=this.trigger.closest(".mobile__menu__dropdown");if(parentSlideRulePanel!=null){const parentSlideOuts=parentSlideRulePanel.querySelectorAll(".sliderule-grid > div.is-visible");parentSlideRulePanel!=null&&parentSlideOuts.forEach(function(el){el.classList.remove(classes$l.isVisible),el.classList.add(classes$l.isHidden)})}this.pane.style.setProperty("--sliderule-height","auto"),this.pane.classList.remove("secondary-menu"),this.sliderule.classList.add(classes$l.isVisible),this.children.forEach(el=>{el.classList.add(classes$l.isVisible)});const oldPosition=parseInt(this.pane.dataset.sliderulePane,10);this.pane.querySelectorAll(`[${selectors$v.dataAnimates}="${oldPosition}"] .sliderule__chevron--right`).forEach(el=>{el.style.opacity="0"});const newPosition=oldPosition+1;this.pane.setAttribute(selectors$v.sliderulePane,newPosition),this.updateDrillState();const hidedItems=this.pane.querySelectorAll(`[${selectors$v.dataAnimates}="${oldPosition}"]`);if(hidedItems.length){const hidedItemsTransition=parseFloat(window.getComputedStyle(hidedItems[0]).getPropertyValue("transition-duration"))*1e3;setTimeout(()=>{hidedItems.forEach(element=>{element.classList.add(classes$l.isHidden)})},hidedItemsTransition)}const newHeight=parseInt(this.trigger.nextElementSibling.offsetHeight);this.pane.style.setProperty("--sliderule-height",`${newHeight}px`),this.pane.classList.add("secondary-menu");const drawerScrollY=this.drawer.scrollTop,scrollToElement=this.pane.offsetTop;scrollToElement<drawerScrollY&&this.pane.offsetHeight>=this.drawer.offsetHeight&&this.drawer.scrollTo({top:scrollToElement,left:0,behavior:"smooth"})}closeSliderule(){this.pane&&this.pane.hasAttribute(selectors$v.sliderulePane)&&parseInt(this.pane.getAttribute(selectors$v.sliderulePane))>0&&(this.hideSliderule(!0),parseInt(this.pane.getAttribute(selectors$v.sliderulePane))>0&&this.pane.setAttribute(selectors$v.sliderulePane,0)),this.updateDrillState()}}const headerMobileSliderule={onLoad(){sections$b[this.id]=[],this.container.querySelectorAll(selectors$v.slideruleWrappper).forEach(el=>{sections$b[this.id].push(new HeaderMobileSliderule(el))})}},selectors$u={wrapper:"[data-product-add-popdown-wrapper]",closeDrawer:"[data-close-popdown]",apiContent:"[data-api-content]",cartSectionAjax:'[data-ajax-disable="false"]',ajaxDisabled:'[data-ajax-disable="true"]',cartToggleButton:'[data-drawer-toggle="drawer-cart"]',cartDrawer:'[data-drawer="drawer-cart"]'},classes$k={visible:"is-visible"};let globalTimer;class CartPopdown{constructor(){this.drawer=document.querySelector(selectors$u.wrapper),this.cartSectionAjax=document.querySelector(selectors$u.cartSectionAjax
15),this.ajaxDisabled=document.querySelector(selectors$u.ajaxDisabled),document.addEventListener("theme:cart:popdown",e=>{this.cartSectionAjax?this.cartSectionAjax.dispatchEvent(new CustomEvent("theme:cart:reload",{bubbles:!0})):this.ajaxDisabled?window.location.reload():this.renderPopdown(e)})}renderPopdown(event){const variant=event.detail.variant,url=`${window.theme.routes.root_url}variants/${variant.id}/?section_id=api-product-popdown`,instance=this;axios.get(url).then(function(response){const fresh=document.createElement("div");fresh.innerHTML=response.data,instance.drawer.innerHTML=fresh.querySelector(selectors$u.apiContent).innerHTML,instance.connectCartButton(),instance.connectCloseButton()}).catch(function(error){console.warn(error)})}connectCloseButton(){this.drawer.classList.add(classes$k.visible),this.drawer.querySelector(selectors$u.closeDrawer).addEventListener("click",function(e){e.preventDefault(),this.drawer.classList.remove(classes$k.visible)}.bind(this)),this.popdownTimer()}connectCartButton(){const cartButton=this.drawer.querySelector(selectors$u.cartToggleButton),cartDrawer2=document.querySelector(selectors$u.cartDrawer);cartDrawer2&&cartButton.addEventListener("click",function(e){e.preventDefault(),this.drawer.classList.remove(classes$k.visible),cartDrawer2.dispatchEvent(new CustomEvent("theme:drawer:open",{bubbles:!1}))}.bind(this))}popdownTimer(){clearTimeout(globalTimer),globalTimer=setTimeout(()=>{this.drawer.classList.remove(classes$k.visible)},5e3)}}const cartPopdown={onLoad(){new CartPopdown(this)}},selectors$t={widthContent:"[data-takes-space]",desktop:"[data-header-desktop]",cloneClass:"js__header__clone",showMobileClass:"js__show__mobile",backfill:"[data-header-backfill]",transparent:"data-header-transparent",overrideBorder:"header-override-border",firstSectionHasImage:"[data-overlay-header]",preventTransparentHeader:"[data-prevent-transparent-header]",navColorSection:'[data-section-type="page-template-nav-color"]',deadLink:'.navlink[href="#"]'},classes$j={hasOverlay:"has-overlay"};let sections$a={};class Header{constructor(el){this.wrapper=el,this.style=this.wrapper.dataset.style,this.desktop=this.wrapper.querySelector(selectors$t.desktop),this.transparent=this.wrapper.getAttribute(selectors$t.transparent)!=="false",this.overlayedImages=[],this.deadLinks=document.querySelectorAll(selectors$t.deadLink),this.killDeadLinks(),this.style!=="drawer"&&this.desktop&&(this.minWidth=this.getMinWidth(),this.listenWidth()),this.checkForImage(),window.dispatchEvent(new Event("resize")),document.addEventListener("theme:header:check",this.checkForImage.bind(this))}unload(){document.removeEventListener("theme:resize",this.checkWidth)}checkForImage(){let preventTransparentHeader=!1;const previousOverlays=this.overlayedImages;this.overlayedImages=[],previousOverlays.forEach(el=>{el.classList.remove(classes$j.hasOverlay),el.style.removeProperty("--full-screen")});for(const section of document.querySelectorAll(".main-content > .shopify-section"))if(!section.querySelector(selectors$t.navColorSection)){section.querySelector(selectors$t.preventTransparentHeader)?preventTransparentHeader=!0:this.overlayedImages=section.querySelectorAll(selectors$t.firstSectionHasImage);break}const backfill=document.querySelector(selectors$t.backfill);this.overlayedImages.length&&!preventTransparentHeader&&this.transparent?(backfill&&(backfill.style.display="none"),this.wrapper.setAttribute(selectors$t.transparent,"true"),this.listenOverlay()):(this.wrapper.setAttribute(selectors$t.transparent,"false"),backfill&&backfill.style.removeProperty("display")),this.overlayedImages.length&&!preventTransparentHeader&&!this.transparent?(this.wrapper.classList.add(selectors$t.overrideBorder),this.subtractHeaderHeight()):this.wrapper.classList.remove(selectors$t.overrideBorder)}listenOverlay(){document.addEventListener("theme:resize",this.checkWidth.bind(this)),window.addEventListener("theme:scroll:unlock",this.checkWidth.bind(this)),this.subtractAnnouncementHeight()}listenWidth(){document.addEventListener("theme:resize",this.checkWidth.bind(this)),window.addEventListener("theme:scroll:unlock",this.checkWidth.bind(this)),this.checkWidth()}killDeadLinks(){this.deadLinks.forEach(el=>{el.onclick=e=>{e.preventDefault()}})}subtractAnnouncementHeight(){const{windowHeight,announcementHeight}=readHeights();
15this.overlayedImages.forEach(el=>{el.style.setProperty("--full-screen",`${windowHeight-announcementHeight}px`),el.classList.add(classes$j.hasOverlay)})}subtractHeaderHeight(){const{windowHeight,headerHeight}=readHeights();this.overlayedImages.forEach(el=>{el.style.setProperty("--full-screen",`${windowHeight-headerHeight}px`)})}checkWidth(){if(document.documentElement.hasAttribute("data-scroll-locked"))return;const mobileMax=window.theme?.sizes?.medium;if(mobileMax&&window.innerWidth<=mobileMax){this.wrapper.classList.add(selectors$t.showMobileClass);return}window.innerWidth<this.minWidth?this.wrapper.classList.add(selectors$t.showMobileClass):this.wrapper.classList.remove(selectors$t.showMobileClass)}getMinWidth(){const comparitor=this.wrapper.cloneNode(!0);comparitor.classList.add(selectors$t.cloneClass),document.body.appendChild(comparitor);const wideElements=comparitor.querySelectorAll(selectors$t.widthContent);let minWidth=0;return wideElements.length===3?minWidth=_sumSplitWidths(wideElements):minWidth=_sumWidths(wideElements),document.body.removeChild(comparitor),minWidth+wideElements.length*20}}function _sumSplitWidths(nodes){let arr=[];return nodes.forEach(el=>{arr.push(el.clientWidth)}),arr[0]>arr[2]?arr[2]=arr[0]:arr[0]=arr[2],arr.reduce((a,b)=>a+b)}function _sumWidths(nodes){let width=0;return nodes.forEach(el=>{width+=el.clientWidth}),width}register("header",[{onLoad(){sections$a=new Header(this.container)},onUnload:function(){typeof sections$a.unload=="function"&&sections$a.unload()}},drawer,headerMobileSliderule,stickyHeader,hoverDisclosure,hoverUnderline,headerTotals,searchPopdown,swatchGridSection,cartDrawer,cartPopdown,accordion,ticker]),customElements.get("popout-select")||customElements.define("popout-select",PopoutSelect),customElements.get("radio-swatch")||customElements.define("radio-swatch",RadioSwatch),customElements.get("product-grid-item")||customElements.define("product-grid-item",ProductGridItem),customElements.get("product-grid-item-variant")||customElements.define("product-grid-item-variant",ProductGridItemVariant),customElements.get("product-grid-item-image")||customElements.define("product-grid-item-image",ProductGridItemImage),customElements.get("predictive-search")||customElements.define("predictive-search",PredictiveSearch),customElements.get("main-search")||customElements.define("main-search",MainSearch);const selectors$s={newsletterForm:"[data-newsletter-form]"},classes$i={success:"has-success",error:"has-error"},sections$9={};class NewsletterCheckForResult{constructor(newsletter){this.sessionStorage=window.sessionStorage,this.newsletter=newsletter,this.stopSubmit=!0,this.isChallengePage=!1,this.formID=null,this.checkForChallengePage(),this.newsletterSubmit=e=>this.newsletterSubmitEvent(e),this.isChallengePage||this.init()}init(){this.newsletter.addEventListener("submit",this.newsletterSubmit),this.showMessage()}newsletterSubmitEvent(e){this.stopSubmit&&(e.preventDefault(),e.stopImmediatePropagation(),this.removeStorage(),this.writeStorage(),this.stopSubmit=!1,this.newsletter.submit())}checkForChallengePage(){this.isChallengePage=window.location.pathname==="/challenge"}writeStorage(){this.sessionStorage!==void 0&&this.sessionStorage.setItem("newsletter_form_id",this.newsletter.id)}readStorage(){this.formID=this.sessionStorage.getItem("newsletter_form_id")}removeStorage(){this.sessionStorage.removeItem("newsletter_form_id")}showMessage(){if(this.readStorage(),this.newsletter.id===this.formID){const newsletter=document.getElementById(this.formID);window.location.search.indexOf("?customer_posted=true")!==-1?(newsletter.classList.remove(classes$i.error),newsletter.classList.add(classes$i.success)):window.location.search.indexOf("accepts_marketing")!==-1&&(newsletter.classList.remove(classes$i.success),newsletter.classList.add(classes$i.error)),this.removeStorage(),this.scrollToForm(newsletter)}}scrollToForm(newsletter){const rect=newsletter.getBoundingClientRect();rect.top>=0&&rect.left>=0&&rect.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&rect.right<=(window.innerWidth||document.documentElement.clientWidth)||setTimeout(()=>
15{window.scroll({top:rect.top,left:0,behavior:"smooth"})},400)}unload(){this.newsletter.removeEventListener("submit",this.newsletterSubmit)}}const newsletterCheckForResultSection={onLoad(){sections$9[this.id]=[],this.container.querySelectorAll(selectors$s.newsletterForm).forEach(form=>{sections$9[this.id].push(new NewsletterCheckForResult(form))})},onUnload(){sections$9[this.id].forEach(form=>{typeof form.unload=="function"&&form.unload()})}};register("footer",[accordion,newsletterCheckForResultSection]),customElements.get("popout-select")||customElements.define("popout-select",PopoutSelect);const defaultOptions$1={cc_load_policy:1,iv_load_policy:3,modestbranding:1,playsinline:1,controls:1,showinfo:0,ecver:2,fs:1,rel:0},selectors$r={player:"iframe, [data-replace]",videoId:"data-video-id"};function embedYoutube(uniqueKey,options2){const playerOptions={...defaultOptions$1,...options2},playerWrapper=document.querySelector(`[data-player="${uniqueKey}"]`),playerElement=playerWrapper.querySelector(selectors$r.player),youtubeKey=playerWrapper.querySelector(`[${selectors$r.videoId}]`).getAttribute(selectors$r.videoId);return loadScript({url:"https://www.youtube.com/iframe_api"}),window.youtubeLoaderPromise.then(()=>{let player=new window.YT.Player(playerElement,{videoId:youtubeKey,playerVars:{...playerOptions},events:{onStateChange:event=>{event.data==1?playerWrapper.dispatchEvent(new CustomEvent("play")):event.data==2&&playerWrapper.dispatchEvent(new CustomEvent("pause"))}}});return playerWrapper.addEventListener("pause",()=>{try{player.pauseVideo()}catch(e){console.warn(e)}}),playerWrapper.addEventListener("play",()=>{try{player.playVideo?player.playVideo():player.addEventListener("onReady",()=>{player.playVideo()})}catch(e){console.warn(e)}}),playerWrapper.addEventListener("destroy",()=>{try{player.destroy&&player.destroy()}catch(e){console.warn(e)}}),player}).catch(err=>{console.error(err)})}window.youtubeLoaderPromise=new Promise(resolve=>{window.onYouTubeIframeAPIReady=function(){resolve()}});const defaultOptions={autoplay:!0,loop:!0,controls:!0,muted:!1,playsinline:!0},selectors$q={player:"iframe, [data-replace]",videoId:"data-video-id"};function embedVimeo(uniqueKey,options2){const playerOptions={...defaultOptions,...options2}
15,playerWrapper=document.querySelector(`[data-player="${uniqueKey}"]`),playerElement=playerWrapper.querySelector(selectors$q.player),vimeoKey=playerWrapper.querySelector(`[${selectors$q.videoId}]`).getAttribute(selectors$q.videoId),loadedPromise=loadScript({url:"https://player.vimeo.com/api/player.js"}),vimeoSelector=`select-${uniqueKey}`;return playerElement.setAttribute("id",vimeoSelector),loadedPromise.then(()=>{const player=new window.Vimeo.Player(vimeoSelector,{...playerOptions,id:vimeoKey});return player.on("play",()=>{playerWrapper.dispatchEvent(new CustomEvent("play"))}),player.on("pause",()=>{playerWrapper.dispatchEvent(new CustomEvent("pause"))}),playerWrapper.addEventListener("pause",()=>{try{player.pause&&player.pause()}catch(e){console.warn(e)}}),playerWrapper.addEventListener("play",()=>{player.play&&player.getPaused().then(paused=>{paused&&player.play()})}),playerWrapper.addEventListener("destroy",()=>{try{player.destroy&&player.destroy()}catch(e){console.log(e)}}),player}).catch(err=>{console.error(err)})}const selectors$p={videoPopup:"[data-video-popup]",videoAutoplay:"[data-video-autoplay]",attrUnique:"data-unique",attrVideoId:"data-video-id",attrVideoType:"data-video-type",attrPlayer:"data-player"};class PopupVideo{constructor(section){this.container=section.container,this.triggers=this.container.querySelectorAll(selectors$p.videoPopup),this.backgroundVideo=this.container.querySelector(selectors$p.videoAutoplay),this.init()}init(){this.triggers.forEach(trigger=>{const unique=trigger.getAttribute(selectors$p.attrUnique),video=trigger.getAttribute(selectors$p.attrVideoId),type=trigger.getAttribute(selectors$p.attrVideoType),uniqueKey=`${video}-${unique}`,player=document.querySelector(`[${selectors$p.attrPlayer}="${uniqueKey}"]`);MicroModal.init({onShow:()=>{document.dispatchEvent(new CustomEvent("chat:hide",{bubbles:!0})),this.backgroundVideo&&typeof this.backgroundVideo.pause=="function"&&this.backgroundVideo.pause();let playerPromise={};type==="youtube"?playerPromise=embedYoutube(uniqueKey):type==="vimeo"&&(playerPromise=embedVimeo(uniqueKey)),playerPromise.then(()=>{player.dispatchEvent(new CustomEvent("play"))})},onClose:(modal2,el,event)=>{event.preventDefault(),document.dispatchEvent(new CustomEvent("chat:show",{bubbles:!0})),player.dispatchEvent(new CustomEvent("destroy")),this.backgroundVideo&&typeof this.backgroundVideo.play=="function"&&this.backgroundVideo.play()},openTrigger:`data-trigger-${video}-${unique}`})})}}const popupVideoSection={onLoad(){new PopupVideo(this)}},selectors$o={button:"[data-scroll-down]"};class ScrollButton{constructor(el){this.wrapper=el,this.init()}init(){const buttons=this.wrapper.querySelectorAll(selectors$o.button);buttons&&buttons.forEach(btn=>{btn.addEventListener("click",this.scroll.bind(this))})}scroll(){const bottom=this.wrapper.offsetTop+this.wrapper.clientHeight;window.scroll({top:bottom,left:0,behavior:"smooth"})}}const scrollButton={onLoad(){this.scrollButton=new ScrollButton(this.container)},onUnload:function(){delete this.scrollButton}};register("video",[parallaxImage,scrollButton,popupVideoSection]),register("page-faq",accordion),register("seo-faq",accordion),register("hero",[parallaxImage,scrollButton,customScrollbar]);const selectors$n={slider:"[data-slider]",photo:"[data-grid-slide]",wrapper:"[data-wrapper]",carouselCustomScrollbar:"data-custom-scrollbar-items"},attributes={showDots:"data-show-dots"},classes$h={wrapper:"wrapper",wrapperModifier:"wrapper--full",hide:"hide"},offsets={scrollbarWidth:window.innerWidth-document.documentElement.clientWidth,additionalOffsetWrapper:112},sections$8={};class Slider{constructor(container,el){if(this.container=container,this.slideshow=el,this.wrapper=this.container.querySelector(selectors$n.wrapper),this.wrapperWidth=Number(getComputedStyle(document.documentElement).getPropertyValue("--LAYOUT-WIDTH").replace("px","")),this.wrapperWidthWithGutter=this.wrapperWidth+offsets.additionalOffsetWrapper+offsets.scrollbarWidth,this.pageDots=this.slideshow.getAttribute(attributes.showDots)==="true",this.firstPhoto=this.container.querySelector(selectors$n.photo),this.firstPhoto){const buttonOffset=this.firstPhoto.offsetHeight/2;this.slideshow.style.setProperty("--buttons-top",`${buttonOffset}px`)}this.slideshow&&(this.flkty=null,this.init())}init(){const sliderOptions={initialIndex:0,accessibility:!0,autoPlay:!1,contain:!0,pageDots:this.pageDots,adaptiveHeight:!1,wrapAround:!1,groupCells:!1,cellAlign:"left",freeScroll:!0,prevNextButtons:!0,draggable:!0,rightToLeft:!1,watchCSS:!0,arrowShape:{x0:10,x1:60,y1:50,x2:75,y2:40,x3:35}};this.flkty=new Flickity(this.slideshow,sliderOptions),bindFlickityHiddenCellInert(this.flkty),this.container.addEventListener("theme:tab:change",()=>{this.flkty.resize()}),this.toggleWrapperModifier(),document.addEventListener("theme:resize:width",this.toggleWrapperModifier.bind(this)),this.slideshow.hasAttribute(selectors$n.carouselCustomScrollbar)&&new CustomScrollbar(this.container),new Siblings(this.container)}
15toggleWrapperModifier(){this.wrapper.classList.contains(classes$h.wrapper)&&this.wrapper.classList.toggle(classes$h.wrapperModifier,this.wrapperWidthWithGutter>=window.innerWidth)}onUnload(){this.slideshow&&this.flkty&&(this.flkty.options.watchCSS=!1,this.flkty.destroy())}}const productSliderSection={onLoad(){sections$8[this.id]=[],this.container.querySelectorAll(selectors$n.slider).forEach(el=>{sections$8[this.id].push(new Slider(this.container,el))})},onUnload(e){sections$8[this.id].forEach(el=>{typeof el.onUnload=="function"&&el.onUnload(e)})}};register("custom-content",[parallaxImage,popupVideoSection,swatchGridSection,productSliderSection]),customElements.get("radio-swatch")||customElements.define("radio-swatch",RadioSwatch),customElements.get("product-grid-item")||customElements.define("product-grid-item",ProductGridItem),customElements.get("product-grid-item-variant")||customElements.define("product-grid-item-variant",ProductGridItemVariant),customElements.get("product-grid-item-image")||customElements.define("product-grid-item-image",ProductGridItemImage);const sections$7=[],selectors$m={wrapper:"[data-slideshow-wrapper]",speed:"data-slideshow-speed",autoplay:"data-slideshow-autoplay",slideCount:"data-slideshow-slides",prevButton:"[data-slide-custom-prev]",nextButton:"[data-slide-custom-next]",slideshoIndex:"data-slideshow-index"},classes$g={isEnable:"flickity-enabled"};class Slideshow{constructor(section){this.container=section.container,this.wrapper=section.container.querySelector(selectors$m.wrapper),this.speed=this.wrapper.getAttribute(selectors$m.speed),this.autoplay=this.wrapper.getAttribute(selectors$m.autoplay)==="true",this.slideCount=parseInt(this.wrapper.getAttribute(selectors$m.slideCount),10),this.prevButtons=this.wrapper.querySelectorAll(selectors$m.prevButton),this.nextButtons=this.wrapper.querySelectorAll(selectors$m.nextButton),this.flkty=null,this.scrollEvent=()=>this.scrollEvents(),this.init()}init(){const settings={autoPlay:this.autoplay&&this.speed?parseInt(this.speed):!1,contain:!1,pageDots:!0,adaptiveHeight:!0,accessibility:!0,wrapAround:this.slideCount!==2,prevNextButtons:!1,draggable:!0,fade:!0,rightToLeft:!1};this.flkty=new FlickityFade(this.wrapper,settings),bindFlickityHiddenCellInert(this.flkty),this.prevButtons.length&&this.prevButtons.forEach(e=>{e.onclick=()=>{this.flkty.previous(!0,!1)}}),this.nextButtons.length&&this.nextButtons.forEach(e=>{e.onclick=()=>{this.flkty.next(!0,!1)}}),document.addEventListener("theme:scroll",this.scrollEvent)}scrollEvents(){if(this.flkty&&this.autoplay&&this.speed){const slideshow=this.flkty.element,slideshowBottomPosition=slideshow.getBoundingClientRect().top+window.scrollY+slideshow.offsetHeight;window.pageYOffset>slideshowBottomPosition?this.flkty.player.state==="playing"&&this.flkty.pausePlayer():this.flkty.player.state==="paused"&&this.flkty.playPlayer()}}unload(){document.removeEventListener("theme:scroll",this.scrollEvent),this.flkty&&this.wrapper&&this.wrapper.classList.contains(classes$g.isEnable)&&this.flkty.destroy()}onBlockSelect(evt){const slideIndex=evt.target.closest(`[${selectors$m.slideshoIndex}]`).getAttribute(selectors$m.slideshoIndex),select=parseInt(slideIndex);this.flkty.selectCell(select),this.flkty.stopPlayer()}onBlockDeselect(){this.autoplay&&this.flkty.playPlayer()}}register("slideshow",[{onLoad(){sections$7[this.id]=new Slideshow(this)},onUnload(){typeof sections$7[this.id].unload=="function"&&sections$7[this.id].unload()},onBlockSelect(evt){typeof sections$7[this.id].onBlockSelect=="function"&&sections$7[this.id].onBlockSelect(evt)},onBlockDeselect(evt){typeof sections$7[this.id].onBlockSelect=="function"&&sections$7[this.id].onBlockDeselect(evt)}},parallaxImage,scrollButton]);const selectors$l={rangeSlider:"[data-range-slider]",rangeDotLeft:"[data-range-left]",rangeDotRight:"[data-range-right]",rangeLine:"[data-range-line]",rangeHolder:"[data-range-holder]",dataMin:"data-se-min",dataMax:"data-se-max",dataMinValue:"data-se-min-value",dataMaxValue:"data-se-max-value",dataStep:"data-se-step",dataFilterUpdate:"data-range-filter-update",priceMin:"[data-field-price-min]",priceMax:"[data-field-price-max]"},classes$f={isInitialized:"is-initialized"};class RangeSlider{constructor(section){this.container=section.container,this.slider=section.querySelector(selectors$l.rangeSlider),this.slider&&(this.onMoveEvent=event=>this.onMove(event),this.onStopEvent=event=>this.onStop(event),this.onStartEvent=event=>this.onStart(event),this.startX=0,this.x=0,this.touchLeft=this.slider.querySelector(selectors$l.rangeDotLeft),this.touchRight=this.slider.querySelector(selectors$l.rangeDotRight),this.lineSpan=this.slider.querySelector(selectors$l.rangeLine),this.min=parseFloat(this.slider.getAttribute(selectors$l.dataMin)),this.max=parseFloat(this.slider.getAttribute(selectors$l.dataMax)),this.step=0,this.normalizeFact=26,this.init(),document.addEventListener("theme:price-range:reset",()=>{this.setDefaultValues()}))}init(){this.setDefaultValues(),this.touchLeft.addEventListener("mousedown",this.onStartEvent),this.touchRight.addEventListener("mousedown",this.onStartEvent),this.touchLeft.addEventListener("touchstart",this.onStartEvent),this.touchRight.addEventListener("touchstart",this.onStartEvent),this.slider.classList.add(classes$f.isInitialized)}setDefaultValues(){let defaultMinValue=this.min;this.slider.hasAttribute(selectors$l.dataMinValue)&&(defaultMinValue=parseFloat(this.slider.getAttribute(selectors$l.dataMinValue)));let defaultMaxValue=this.max;this.slider.hasAttribute(selectors$l.dataMaxValue)&&(defaultMaxValue=parseFloat(this.slider.getAttribute(selectors$l.dataMaxValue))),defaultMinValue<this.min&&(defaultMinValue=this.min),defaultMaxValue>this.max&&(defaultMaxValue=this.max),defaultMinValue>defaultMaxValue&&(defaultMinValue=defaultMaxValue),this.slider.getAttribute(selectors$l.dataStep)&&(this.step=Math.abs(parseFloat(this.slider.getAttribute(selectors$l.dataStep)))),this.reset(),this.maxX=this.slider.offsetWidth-this.touchRight.offsetWidth,this.selectedTouch=null,this.initialValue=this.lineSpan.offsetWidth-this.normalizeFact,this.setMinValue(defaultMinValue),this.setMaxValue(defaultMaxValue)}reset(){this.touchLeft.style.left="0px",this.touchRight.style.left=this.slider.offsetWidth-this.touchLeft.offsetWidth+"px",this.lineSpan.style.marginLeft="0px",this.lineSpan.style.width=this.slider.offsetWidth-this.touchLeft.offsetWidth+"px",this.startX=0,this.x=0}setMinValue(minValue){const ratio=(minValue-this.min)/(this.max-this.min);this.touchLeft.style.left=Math.ceil(ratio*(this.slider.offsetWidth-(this.touchLeft.offsetWidth+this.normalizeFact)))+"px",this.lineSpan.style.marginLeft=this.touchLeft.offsetLeft+"px",this.lineSpan.style.width=this.touchRight.offsetLeft-this.touchLeft.offsetLeft+"px",this.slider.setAttribute(selectors$l.dataMinValue,minValue)}setMaxValue(maxValue){const ratio=(maxValue-this.min)/(this.max-this.min);this.touchRight.style.left=Math.ceil(ratio*(this.slider.offsetWidth-(this.touchLeft.offsetWidth+this.normalizeFact))+this.normalizeFact)+"px",this.lineSpan.style.marginLeft=this.touchLeft.offsetLeft+"px",this.lineSpan.style.width=this.touchRight.offsetLeft-this.touchLeft.offsetLeft+"px",this.slider.setAttribute(selectors$l.dataMaxValue,maxValue)}onStart(event){event.preventDefault();let eventTouch=event;event.touches&&(eventTouch=event.touches[0]),event.currentTarget===this.touchLeft?this.x=this.touchLeft.offsetLeft:event.currentTarget===this.touchRight&&(this.x=this.touchRight.offsetLeft),this.startX=eventTouch.pageX-this.x,this.selectedTouch=event.currentTarget,document.addEventListener("mousemove",this.onMoveEvent),document.addEventListener("mouseup",this.onStopEvent),document.addEventListener("touchmove",this.onMoveEvent),document.addEventListener("touchend",this.onStopEvent)}onMove(event){let eventTouch=event;event.touches&&(eventTouch=event.touches[0]),this.x=eventTouch.pageX-this.startX,this.selectedTouch===this.touchLeft?(this.x>this.touchRight.offsetLeft-this.selectedTouch.offsetWidth+10?this.x=this.touchRight.offsetLeft-this.selectedTouch.offsetWidth+10:this.x<0&&(this.x=0),this.selectedTouch.style.left=this.x+"px"):this.selectedTouch===this.touchRight&&(this.x<this.touchLeft.offsetLeft+this.touchLeft.offsetWidth-10?this.x=this.touchLeft.offsetLeft+this.touchLeft.offsetWidth-10:this.x>this.maxX&&(this.x=this.maxX),this.selectedTouch.style.left=this.x+"px"),this.lineSpan.style.marginLeft=this.touchLeft.offsetLeft+"px",this.lineSpan.style.width=this.touchRight.offsetLeft-this.touchLeft.offsetLeft+"px",this.calculateValue(),this.slider.getAttribute("on-change")&&new Function("min, max",this.slider.getAttribute("on-change"))(this.slider.getAttribute(selectors$l.dataMinValue),this.slider.getAttribute(selectors$l.dataMaxValue)),this.onChange(this.slider.getAttribute(selectors$l.dataMinValue),this.slider.getAttribute(selectors$l.dataMaxValue))}onStop(event){document.removeEventListener("mousemove",this.onMoveEvent),document.removeEventListener("mouseup",this.onStopEvent),document.removeEventListener("touchmove",this.onMoveEvent),document.removeEventListener("touchend",this.onStopEvent),this.selectedTouch=null,this.calculateValue(),this.onChanged(this.slider.getAttribute(selectors$l.dataMinValue),this.slider.getAttribute(selectors$l.dataMaxValue))}onChange(min,max){const rangeHolder=this.slider.closest(selectors$l.rangeHolder);if(rangeHolder){const priceMin=rangeHolder.querySelector(selectors$l.priceMin),priceMax=rangeHolder.querySelector(selectors$l.priceMax);priceMin&&priceMax&&(priceMin.value=min,priceMax.value=max)}}onChanged(min,max){this.slider.hasAttribute(selectors$l.dataFilterUpdate)&&this.slider.dispatchEvent(new CustomEvent("theme:range:update",{bubbles:!0}))}calculateValue(){const newValue=(this.lineSpan.offsetWidth-this.normalizeFact)/this.initialValue;let minValue=this.lineSpan.offsetLeft/this.initialValue,maxValue=minValue+newValue;if(minValue=minValue*(this.max-this.min)+this.min,maxValue=maxValue*(this.max-this.min)+this.min,this.step!==0){let multi=Math.floor(minValue/this.step);minValue=this.step*multi,multi=Math.floor(maxValue/this.step),maxValue=this.step*multi}this.selectedTouch===this.touchLeft&&this.slider.setAttribute(selectors$l.dataMinValue,minValue),this.selectedTouch===this.touchRight&&this.slider.setAttribute(selectors$l.dataMaxValue,maxValue)}}const selectors$k={filtersWrappper:"data-filters",underlay:"[data-filters-underlay]",filtersHideDesktop:"data-default-hide",filtersToggle:"data-filters-toggle",focusable:'button, [href], input, select, textarea, [tabindex]:not
15([tabindex="-1"])',groupHeading:"data-group-heading",showMore:"data-show-more"},classes$e={show:"drawer--visible",defaultVisible:"filters--default-visible",hide:"hidden",expand:"is-expanded",hidden:"is-hidden",focusEnable:"focus-enabled"},sections$6={};class Filters{constructor(filters,refresh=!1){this.container=filters,this.underlay=this.container.querySelector(selectors$k.underlay),this.groupHeadings=this.container.querySelectorAll(`[${selectors$k.groupHeading}]`),this.showMoreButtons=this.container.querySelectorAll(`[${selectors$k.showMore}]`),this.triggerKey=this.container.getAttribute(selectors$k.filtersWrappper),this.selector=`[${selectors$k.filtersToggle}='${this.triggerKey}']`,this.filtersToggleButtons=document.querySelectorAll(this.selector),this.connectToggleMemory=evt=>this.connectToggleFunction(evt),this.connectShowHiddenOptions=evt=>this.showHiddenOptions(evt),this.connectToggle(refresh),this.onFocusOut(),this.expandingEvents(),this.shouldShowFiltersOnLoad()?this.showFilters():this.hideFilters()}unload(){this.filtersToggleButtons.length&&this.filtersToggleButtons.forEach(element=>{element.removeEventListener("click",this.connectToggleMemory)}),this.showMoreButtons.length&&this.showMoreButtons.forEach(button=>{button.removeEventListener("click",this.connectShowHiddenOptions)})}expandingEvents(){this.showMoreButtons.length&&this.showMoreButtons.forEach(button=>{button.addEventListener("click",throttle(this.connectShowHiddenOptions,500))})}showHiddenOptions(evt){const element=evt.target.hasAttribute(selectors$k.showMore)?evt.target:evt.target.closest(`[${selectors$k.showMore}]`);element.classList.add(classes$e.hidden),element.previousElementSibling.querySelectorAll(`.${classes$e.hidden}`).forEach(option=>{option.classList.remove(classes$e.hidden)})}connectToggle(refresh=!1){this.filtersToggleButtons.forEach(button=>{const isDynamic=button.closest(`[${selectors$k.filtersWrappper}]`)!==null;(isDynamic&&refresh||isDynamic&&!refresh||!isDynamic&&!refresh)&&button.addEventListener("click",this.connectToggleMemory.bind(this))})}connectToggleFunction(evt){evt.currentTarget.getAttribute("aria-expanded")==="true"?this.hideFilters():this.showFilters(),setTimeout(()=>{window.dispatchEvent(new Event("resize"))},200)}onFocusOut(){this.container.addEventListener("focusout",function(evt){if(window.innerWidth>=window.theme.sizes.medium)return;const childInFocus=evt.currentTarget.contains(evt.relatedTarget),isVisible=this.container.classList.contains(classes$e.show);document.body.classList.contains(classes$e.focusEnable)&&isVisible&&!childInFocus&&this.hideFilters()}.bind(this)),this.container.addEventListener("keyup",function(evt){evt.code==="Escape"&&(this.hideFilters(),this.filtersToggleButtons[0].focus())}.bind(this)),this.underlay.addEventListener("click",function(){this.hideFilters()}.bind(this))}shouldShowFiltersOnLoad(){const selector=`[${selectors$k.filtersHideDesktop}='false']`,showOnDesktop=document.querySelector(selector),isDesktop2=window.innerWidth>=window.theme.sizes.medium;if(showOnDesktop&&isDesktop2)return!0;{const cookieValue=this.getCookie("showFilters");if(cookieValue&&isDesktop2)try{return JSON.parse(cookieValue)}catch{return!1}return!1}}getCookie(name){const parts=`; ${document.cookie}`.split(`; ${name}=`);return parts.length===2?parts.pop().split(";").shift():null}showFilters(){this.filtersToggleButtons=document.querySelectorAll(this.selector),this.container.classList.remove(classes$e.hide),window.innerWidth<=window.theme?.sizes?.medium&&document.dispatchEvent(new CustomEvent("chat:hide",{bubbles:!0})),setTimeout(()=>{this.filtersToggleButtons.forEach(btn=>btn.setAttribute("aria-expanded",!0)),this.filtersToggleButtons.forEach(btn=>btn.classList.add(classes$e.show)),this.container.classList.add(classes$e.show),this.container.querySelector(selectors$k.focusable).focus()},1)}hideFilters(){this.filtersToggleButtons=document.querySelectorAll(this.selector),this.filtersToggleButtons.forEach(btn=>btn.setAttribute("aria-expanded",!1)),this.container.classList.remove(classes$e.show),this.container.classList.remove(classes$e.defaultVisible),this.filtersToggleButtons.forEach(btn=>btn.classList.remove(classes$e.show)),this.filtersToggleButtons.forEach(btn=>btn.classList.remove(classes$e.defaultVisible)),window.innerWidth<=window.theme?.sizes?.medium&&document.dispatchEvent(new CustomEvent("chat:show",{bubbles:!0})),setTimeout(()=>
15{this.container.classList.contains(classes$e.show)||this.container.classList.add(classes$e.hide)},800)}}const collectionFiltersSidebar={onLoad(){sections$6[this.id]=[],this.container.querySelectorAll(`[${selectors$k.filtersWrappper}]`).forEach(wrapper=>{sections$6[this.id].push(new Filters(wrapper))})},onUnload:function(){sections$6[this.id].forEach(filters=>{typeof filters.unload=="function"&&filters.unload()})}},selectors$j={collectionSidebar:"[data-collection-sidebar]",form:"[data-sidebar-filter-form]",inputs:"input, select, label, textarea",priceMin:"data-field-price-min",priceMax:"data-field-price-max",rangeMin:"data-se-min-value",rangeMax:"data-se-max-value",rangeMinDefault:"data-se-min",rangeMaxDefault:"data-se-max",productsContainer:"[data-products-grid]",filterUpdateUrlButton:"[data-filter-update-url]",activeFiltersHolder:"[data-active-filters]",activeFiltersCount:"[data-active-filters-count]",productsCount:"[data-products-count]",dataSort:"data-sort-enabled",collectionTools:"[data-collection-tools]",filtersWrappper:"[data-filters]",headerSticky:'[data-header-sticky="sticky"]',headerHeight:"[data-header-height]",gridLarge:"data-grid-large",gridSmall:"data-grid-small",accordionBody:"[data-accordion-body]",checkedOption:"input:checked",optionHolder:"[data-option-holder]"},classes$d={classHidden:"is-hidden",classLoading:"is-loading"},times={loadingDelay:1e3,scrollTime:1e3};class FiltersForm{constructor(section){this.section=section,this.container=this.section.container,this.sidebar=this.container.querySelector(selectors$j.collectionSidebar),this.form=section.container.querySelector(selectors$j.form),this.sort=this.container.querySelector(`[${selectors$j.dataSort}]`),this.productsContainer=this.container.querySelector(selectors$j.productsContainer),this.activeFiltersHolder=this.container.querySelector(selectors$j.activeFiltersHolder),this.activeFiltersCount=this.container.querySelector(selectors$j.activeFiltersCount),this.productsCount=this.container.querySelector(selectors$j.productsCount),this.headerIsSticky=document.querySelector(selectors$j.headerSticky)!==null,this.layoutLarge=this.container.querySelector(`[${selectors$j.gridLarge}]`),this.layoutSmall=this.container.querySelector(`[${selectors$j.gridSmall}]`),this.abortController=null,this.filterTimeout=null,this.intersectionObserver=null,this.productsContainer&&this.sidebar&&this.init(),this.sort&&this.container.addEventListener("theme:form:filter",e=>this.filtering(e)),(this.sidebar||this.sort)&&window.addEventListener("popstate",e=>this.filtering(e))}init(){this.showAllOptions(),this.form&&(new RangeSlider(this.form),this.sidebar.addEventListener("input",debounce(e=>{const type=e.type,target=e.target;if(!selectors$j.inputs.includes(type)||!this.form||typeof this.form.submit!="function")return;const priceMin=this.form.querySelector(`[${selectors$j.priceMin}]`),priceMax=this.form.querySelector(`[${selectors$j.priceMax}]`);if(target.hasAttribute(selectors$j.priceMin)||target.hasAttribute(selectors$j.priceMax)){const rangeMin=this.form.querySelector(`[${selectors$j.rangeMin}]`),rangeMax=this.form.querySelector(`[${selectors$j.rangeMax}]`);parseInt(rangeMin.getAttribute(selectors$j.rangeMinDefault));const rangeMaxDefault=parseInt(rangeMax.getAttribute(selectors$j.rangeMaxDefault));priceMin.value&&!priceMax.value&&(priceMax.value=rangeMaxDefault),priceMax.value&&!priceMin.value&&(priceMin.value=rangeMinDefault),priceMin.value<=rangeMinDefault&&priceMax.value>=rangeMaxDefault&&(priceMin.placeholder=rangeMinDefault,priceMax.placeholder=rangeMaxDefault,priceMin.value="",priceMax.value="")}this.filtering(e)},1500)),this.form.addEventListener("theme:range:update",e=>this.updateRange(e))),this.sidebar&&this.sidebar.addEventListener("click",e=>this.updateFilterFromUrl(e)),this.activeFiltersHolder&&this.activeFiltersHolder.addEventListener("click",e=>this.updateFilterFromUrl(e)),this.productsContainer&&this.productsContainer.addEventListener("click",e=>this.updateFilterFromUrl(e)),makeSwappers(this.sidebar)}updateRange(e){if(this.form&&typeof this.form.submit=="function"){const rangeMin=this.form.querySelector(`[${selectors$j.rangeMin}]`),rangeMax=this.form.querySelector(`[${selectors$j.rangeMax}]`),priceMin=this.form.querySelector(`[${selectors$j.priceMin}]`),priceMax=this.form.querySelector(`[${selectors$j.priceMax}]`);if(rangeMin&&rangeMax&&priceMin&&priceMax&&rangeMin.hasAttribute(selectors$j.rangeMin)&&rangeMax.hasAttribute(selectors$j.rangeMax)){const priceMinValue=parseInt(priceMin.placeholder),priceMaxValue=parseInt(priceMax.placeholder),rangeMinValue=parseInt(rangeMin.getAttribute(selectors$j.rangeMin)),rangeMaxValue=parseInt(rangeMax.getAttribute(selectors$j.rangeMax));(priceMinValue!==rangeMinValue||priceMaxValue!==rangeMaxValue)&&(priceMin.value=rangeMinValue,priceMax.value=rangeMaxValue,this.filtering(e))}}}updateFilterFromUrl(e){const target=e.target;if(target.matches(selectors$j.filterUpdateUrlButton)||target.closest(selectors$j.filterUpdateUrlButton)&&target){e.preventDefault();const button=target.matches(selectors$j.filterUpdateUrlButton)?target:target.closest(selectors$j.filterUpdateUrlButton);this.filtering(e,button.getAttribute("href"))}}addToHistory(e,replaceHref=""){const sortValue=this.sort?this.sort.getAttribute(selectors$j.dataSort):"";if(!e||e&&e.type!=="popstate"){if(replaceHref===""){const searchParams=new window.URL(window.location.href).searchParams,filterUrlParams=Object.fromEntries(searchParams),filterUrlRemoveString=searchParams.toString();if(filterUrlRemoveString.includes("filter.")||filterUrlRemoveString.includes("sort_by")||filterUrlRemoveString.includes("page"))for(const key in filterUrlParams)(key.includes("filter.")||key.includes("sort_by")||key.includes("page"))&&searchParams.delete(key);if(this.form){const formParams=new URLSearchParams(new FormData(this.form));
15for(let[key,val]of formParams.entries())key.includes("filter.")&&val&&searchParams.append(key,val);const rangeMin=this.form.querySelector(`[${selectors$j.rangeMin}]`),rangeMax=this.form.querySelector(`[${selectors$j.rangeMax}]`),priceMin=this.form.querySelector(`[${selectors$j.priceMin}]`),priceMax=this.form.querySelector(`[${selectors$j.priceMax}]`);if(rangeMin&&rangeMax&&priceMin&&priceMax&&rangeMin.hasAttribute(selectors$j.rangeMinDefault)&&rangeMax.hasAttribute(selectors$j.rangeMaxDefault)){const rangeMinDefault2=parseFloat(rangeMin.getAttribute(selectors$j.rangeMinDefault),10),rangeMaxDefault=parseFloat(rangeMax.getAttribute(selectors$j.rangeMaxDefault),10),priceMinValue=priceMin.value===""?parseFloat(priceMin.placeholder,10):parseFloat(priceMin.value,10),priceMaxValue=priceMax.value===""?parseFloat(priceMax.placeholder,10):parseFloat(priceMax.value,10);priceMinValue<=rangeMinDefault2&&priceMaxValue>=rangeMaxDefault&&(searchParams.delete("filter.v.price.gte"),searchParams.delete("filter.v.price.lte"))}}if(sortValue||e&&e.detail&&e.detail.href){const sortString=sortValue||e.detail.params;searchParams.set("sort_by",sortString)}const filterUrlString=searchParams.toString(),filterNewParams=filterUrlString?`?${filterUrlString}`:location.pathname;window.history.pushState(null,"",filterNewParams);return}window.history.pushState(null,"",replaceHref)}}getFilterResult(){this.abortController&&this.abortController.abort(),this.abortController=new AbortController,this.productsContainer.classList.add(classes$d.classLoading),this.getGridValues();const url=new window.URL(window.location.href);url.searchParams.set("section_id",this.section.id);const fetchUrl=`${window.location.pathname}${url.search}`;fetch(fetchUrl,{signal:this.abortController.signal}).then(response=>{if(!response.ok)throw new Error(`HTTP error! status: ${response.status}`);return response.text()}).then(response=>{if(this.abortController&&this.abortController.signal.aborted)return;const responseHolder=document.createElement("div");responseHolder.innerHTML=response,this.sidebar&&(this.sidebar.innerHTML=responseHolder.querySelector(selectors$j.collectionSidebar).innerHTML),this.activeFiltersCount&&(this.activeFiltersCount.innerHTML=responseHolder.querySelector(selectors$j.activeFiltersCount).innerHTML),this.productsContainer.innerHTML=responseHolder.querySelector(selectors$j.productsContainer).innerHTML,this.activeFiltersHolder.innerHTML=responseHolder.querySelector(selectors$j.activeFiltersHolder).innerHTML,this.activeFiltersHolder.parentNode.classList.toggle(classes$d.classHidden,this.activeFiltersHolder.innerHTML===""),this.productsCount&&(this.productsCount.innerHTML=responseHolder.querySelector(selectors$j.productsCount).innerHTML),this.setGridValues(),this.refreshFunctionalities(),setTimeout(()=>{this.productsContainer.classList.remove(classes$d.classLoading)},times.loadingDelay)}).catch(error=>{error.name!=="AbortError"&&(this.productsContainer.classList.remove(classes$d.classLoading),window.location.href=fetchUrl)})}refreshFunctionalities(){this.form=this.container.querySelector(selectors$j.form),this.form&&(new RangeSlider(this.form),this.form.addEventListener("theme:range:update",e=>this.updateRange(e))),this.container.querySelectorAll(selectors$j.filtersWrappper).forEach(filter=>{new Filters(filter,!0)}),this.container.querySelectorAll(selectors$j.accordionBody).forEach(accordion2=>{new Accordion(accordion2)}),new Siblings(this.container),this.sidebar&&makeSwappers(this.sidebar),makeGridSwatches(this.container),this.showAllOptions()}getGridValues(){this.layoutLarge&&(this.layoutLargeValue=this.layoutLarge.getAttribute(selectors$j.gridLarge)),this.layoutSmall&&(this.layoutSmallValue=this.layoutSmall.getAttribute(selectors$j.gridSmall))}setGridValues(){this.layoutLarge&&(this.layoutLarge=this.container.querySelector(`[${selectors$j.gridLarge}]`),this.layoutLarge.setAttribute(selectors$j.gridLarge,this.layoutLargeValue)),this.layoutSmall&&(this.layoutSmall=this.container.querySelector(`[${selectors$j.gridSmall}]`),this.layoutSmall.setAttribute(selectors$j.gridSmall,this.layoutSmallValue))}showAllOptions(){this.container.querySelectorAll(selectors$j.checkedOption).forEac
15h(option=>{if(option.closest(selectors$j.optionHolder)&&option.closest(selectors$j.optionHolder).classList.contains(classes$d.classHidden)){const button=option.closest(selectors$j.accordionBody).nextElementSibling;button.classList.contains(selectors$j.classHidden)||button.dispatchEvent(new Event("click"))}})}filtering(e,replaceHref=""){this.filterTimeout&&(clearTimeout(this.filterTimeout),this.filterTimeout=null),this.intersectionObserver&&(this.intersectionObserver.disconnect(),this.intersectionObserver=null);const headerH=this.headerIsSticky?document.querySelector(selectors$j.headerHeight).getBoundingClientRect().height:0,scrollToElement=this.container.offsetTop-headerH;let options2={root:null,rootMargin:`${headerH}px`,threshold:1};const handleFilterAndScroll=entries=>{const[entry]=entries;this.filterTimeout&&clearTimeout(this.filterTimeout),this.filterTimeout=setTimeout(()=>{this.addToHistory(e,replaceHref),this.getFilterResult(),this.filterTimeout=null},entry.isIntersecting?10:times.scrollTime),this.intersectionObserver.unobserve(this.productsContainer),!entry.isIntersecting&&window.scrollTo({top:scrollToElement,left:0,behavior:"smooth"})};this.intersectionObserver=new IntersectionObserver(handleFilterAndScroll,options2),this.intersectionObserver.observe(this.productsContainer)}}const collectionFiltersForm={onLoad(){this.filterForm=new FiltersForm(this)},onUnload(){this.filterForm&&typeof this.filterForm.unload=="function"&&this.filterForm.unload()}};register("search-page",[collectionFiltersSidebar,collectionFiltersForm,swatchGridSection,accordion]),customElements.get("popout-select")||customElements.define("popout-select",PopoutSelect),customElements.get("radio-swatch")||customElements.define("radio-swatch",RadioSwatch),customElements.get("product-grid-item")||customElements.define("product-grid-item",ProductGridItem),customElements.get("product-grid-item-variant")||customElements.define("product-grid-item-variant",ProductGridItemVariant),customElements.get("product-grid-item-image")||customElements.define("product-grid-item-image",ProductGridItemImage);const selectors$i={zoomImage:"[data-image-zoom]",modalContainer:"[data-modal-container]",attrUnique:"data-unique",image:"data-src"};class GalleryZoom{constructor(container){this.container=container,this.triggers=this.container.querySelectorAll(selectors$i.zoomImage),this.modalContainer=document.querySelector(selectors$i.modalContainer),this.init()}init(){this.triggers.forEach(trigger=>{const unique=trigger.getAttribute(selectors$i.attrUnique),modalIsAdded=this.modalContainer.querySelector(`#zoom-${unique}`);if(modalIsAdded){const newModal=this.container.querySelector(`#zoom-${unique}`);newModal&&(modalIsAdded.parentNode.removeChild(modalIsAdded),this.modalContainer.appendChild(newModal))}MicroModal.init({disableScroll:!0,openTrigger:`data-popup-${unique}`,onShow:modal2=>{document.dispatchEvent(new CustomEvent("chat:hide",{bubbles:!0}));var images=modal2.querySelectorAll(`[${selectors$i.image}]`,modal2);images.forEach(image=>{if(image.getAttribute("src")===null){const bigImage=image.getAttribute(selectors$i.image);image.setAttribute("src",bigImage)}})},onClose:(modal2,el,event)=>{event.preventDefault(),document.dispatchEvent(new CustomEvent("chat:show",{bubbles:!0}))}})})}}register("gallery",[{onLoad(){new GalleryZoom(this.container)}},popupVideoSection,customScrollbar]);const tokensReducer=(acc,token)=>{const{el,elStyle,elHeight,rowsLimit,rowsWrapped,options:options2}=acc;let oldBuffer=acc.buffer,newBuffer=oldBuffer;if(rowsWrapped===rowsLimit+1)return{...acc};const textBeforeWrap=oldBuffer;let newRowsWrapped=rowsWrapped,newHeight=elHeight;return el.innerHTML=newBuffer=oldBuffer.length?`${oldBuffer}${options2.delimiter}${token}${options2.replaceStr}`:`${token}${options2.replaceStr}`,parseFloat(elStyle.height)>parseFloat(elHeight)&&(newRowsWrapped++,newHeight=elStyle.height,newRowsWrapped===rowsLimit+1)?(el.innerHTML=newBuffer=textBeforeWrap[textBeforeWrap.length-1]==="."&&options2.replaceStr==="..."?`${textBeforeWrap}..`:`${textBeforeWrap}${options2.replaceStr}`,{...acc,elHeight:newHeight,rowsWrapped:newRowsWrapped}):(el.innerHTML=newBuffer=textBeforeWrap.length?`${textBeforeWrap}${options2.delimiter}${token}`:`${token}`,{...acc,buffer:newBuffer,elHeight:newHeight,rowsWrapped:newRowsWrapped})},ellipsis=(selector="",rows=1,options2={})=>{const opts={...{replaceStr:"...",debounceDelay:250,delimiter:" "},...options2},elements=selector&&(selector instanceof NodeList?selector:selector.nodeType===1?[selector]:document.querySelectorAll(selector));for(let i=0;i<elements.length;i++){const el=elements[i],elementHtml=el.innerHTML,commentRegex=/<!--[\s\S]*?-->/g,splittedText=elementHtml.replace(commentRegex,"").split(opts.delimiter);el.innerHTML="";const elStyle=window.getComputedStyle(el);splittedText.reduce(tokensReducer,{el,buffer:el.innerHTML,elStyle,elHeight:0,rowsLimit:rows,rowsWrapped:0,options:opts})}};function isTouch(){const isTouch2="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;return document.documentElement.classList.toggle("supports-touch",isTouch2),isTouch2}isTouch();let modelJsonSections={},models={},xrButtons={};const selectors$h={productSlideshow:"[data-product-slideshow]",productXr:"[data-shopify-xr]",dataMediaId:"data-media-id",dataModelId:"data-model-id",modelViewer:"model-viewer",dataModel3d:"data-shopify-model3d-id",modelJson:"#ModelJson-"};function initSectionModels(modelViewerContainer,sectionId){modelJsonSections[sectionId]={loaded:!1};const mediaId=modelViewerContainer.getAttribute(selectors$h.dataMediaId),modelViewerElement=modelViewerContainer.querySelector(selectors$h.modelViewer),modelId=modelViewerElement.getAttribute(selectors$h.dataModelId);if(modelViewerContainer.closest(selectors$h.productSlideshow)!==null){const xrButton=modelViewerContainer.closest(selectors$h.productSlideshow).parentElement.querySelector(selectors$h.productXr);xrButtons[sectionId]={$element:xrButton,defaultId:modelId}}models[mediaId]={modelId,mediaId,sectionId,$container:modelViewerContainer,$element:modelViewerElement},window.Shopify.loadFeatures([{name:"shopify-xr",version:"1.0",onLoad:setupShopifyXr}
15,{name:"model-viewer-ui",version:"1.0",onLoad:setupModelViewerUi}])}function setupShopifyXr(errors){if(errors){console.warn(errors);return}if(!window.ShopifyXR){document.addEventListener("shopify_xr_initialized",function(){setupShopifyXr()});return}for(const sectionId in modelJsonSections)if(modelJsonSections.hasOwnProperty(sectionId)){const modelSection=modelJsonSections[sectionId];if(modelSection.loaded)continue;const modelJson=document.querySelector(`${selectors$h.modelJson}${sectionId}`);modelJson&&(window.ShopifyXR.addModels(JSON.parse(modelJson.innerHTML)),modelSection.loaded=!0)}window.ShopifyXR.setupXRElements()}function setupModelViewerUi(errors){if(errors){console.warn(errors);return}for(const key in models)if(models.hasOwnProperty(key)){const model=models[key];model.modelViewerUi||(model.modelViewerUi=new Shopify.ModelViewerUI(model.$element)),setupModelViewerListeners(model)}}function setupModelViewerListeners(model){const xrButton=xrButtons[model.sectionId];model.$container.addEventListener("pause",function(){model.modelViewerUi.pause&&model.modelViewerUi.pause()}),model.$container.addEventListener("play",function(){model.modelViewerUi.play&&(model.modelViewerUi.play(),xrButton&&xrButton.$element&&model&&model.modelId&&selectors$h.dataModel3d&&xrButton.$element.setAttribute(selectors$h.dataModel3d,model.modelId))}),model.$element.addEventListener("shopify_model_viewer_ui_toggle_play",()=>{model.$container.dispatchEvent(new CustomEvent("theme:media:play"))}),model.$element.addEventListener("shopify_model_viewer_ui_toggle_pause",()=>{model.$container.dispatchEvent(new CustomEvent("theme:media:pause"))})}async function productNativeVideo(uniqueKey,options2){const opts=options2||{}
15,playerElement=document.querySelector(`[data-player="${uniqueKey}"]`),videoElement=playerElement.querySelector("video");await loadScript({name:"video-ui",version:"1.0"}),opts.loop&&videoElement&&(videoElement.loop=!0);const player=new window.Shopify.Plyr(videoElement);return opts.hideControls&&player.elements?.container&&(player.elements.container.setAttribute("data-quickview-plyr","true"),player.elements.controls&&player.elements.controls.setAttribute("aria-hidden","true")),playerElement.addEventListener("pause",()=>{player.pause&&player.pause()}),playerElement.addEventListener("play",()=>{try{player.play?player.paused&&player.play():player.addEventListener("onReady",()=>{player.play()})}catch(e){console.warn(e)}}),playerElement.addEventListener("destroy",()=>{try{player.destroy&&player.destroy()}catch(e){console.warn(e)}}),player}const selectors$g={productSlideshow:"[data-product-slideshow]",slideshowMobileStyle:"data-slideshow-mobile-style",slideshowDesktopStyle:"data-slideshow-desktop-style",productThumbs:"[data-product-thumbs]",leftThumbsHolder:"[data-thumbs-holder]",thumbImage:"[data-slideshow-thumbnail]",mediaSlide:"[data-media-slide]",dataMediaId:"data-media-id",dataMediaSelect:"data-media-select",mediaType:"data-type",videoPlayerExternal:'[data-type="external_video"]',videoPlayerNative:'[data-type="video"]',modelViewer:'[data-type="model"]',modelViewerTag:"model-viewer",allPlayers:"[data-player]",loopVideo:"data-enable-video-looping",verticalAlignment:"[data-thumbnails-left]",arrowPrev:"[data-thumbs-arrow-prev]",arrowNext:"[data-thumbs-arrow-next]",aspectRatio:"data-aspect-ratio",flickitylockHeight:"flickity-lock-height"},classes$c={flickityDisableClass:"flickity-disabled-mobile",flickityEnabled:"flickity-enabled",selected:"is-selected",active:"is-activated",show:"show",enableVideoDraggable:"enable-video-draggable"};class Media{constructor(section){this.section=section,this.container=section.container,this.slideshow=this.container.querySelector(selectors$g.productSlideshow),this.arrowPrev=this.container.querySelector(selectors$g.arrowPrev),this.arrowNext=this.container.querySelector(selectors$g.arrowNext),this.leftThumbsHolder=this.container.querySelector(selectors$g.leftThumbsHolder),this.thumbWrapper=this.container.querySelector(selectors$g.productThumbs),this.thumbImages=this.container.querySelectorAll(selectors$g.thumbImage),this.loopVideo=this.container.getAttribute(selectors$g.loopVideo)==="true",this.verticalAlignment=!!this.container.querySelector(selectors$g.verticalAlignment),this.flkty=null,this.thumbs=this.container.querySelector(selectors$g.productThumbs),this.currentSlide=null,this.mediaType=null,this.hasMobileSlider=!1,this.hasDesktopSlider=!1,this.init()}init(){}connectSliderMediaEvents(){resolution.isMobile()?this.createMobileSlider():this.createDesktopSlider()}createMobileSlider(){this.hasDesktopSlider&&this.flkty&&(this.destroySlider(),this.hasDesktopSlider=!1);const mobileOptions={autoPlay:!1,prevNextButtons:!1,pageDots:!0,adaptiveHeight:!0,accessibility:!0,watchCSS:!1,wrapAround:!0,rightToLeft:!1,dragThreshold:80,contain:!0,fade:!0};this.createSlider(mobileOptions),this.hasMobileSlider=!0}createDesktopSlider(){this.hasMobileSlider&&this.flkty&&(this.destroySlider(),this.hasMobileSlider=!1);const desktopOptions={autoPlay:!1,prevNextButtons:!1,pageDots:!1,adaptiveHeight:!0,accessibility:!0,watchCSS:!1,wrapAround:!0,rightToLeft:!1,dragThreshold:80,contain:!0,fade:!0};this.createSlider(desktopOptions),this.hasDesktopSlider=!0}createSlider(options2){this.flkty=new Flickity(this.slideshow,options2),bindFlickityHiddenCellInert(this.flkty),this.flkty.resize(),this.currentSlide=this.slideshow.querySelectorAll(selectors$g.mediaSlide)[0],this.setDraggable(),this.addEventListeners()}destroySlider(){this.removeEventListeners(),this.flkty.destroy()}storeEvents(){this.storeFlktyChange=e=>this.doFlktyChange(e),this.storeFlktySettle=e=>this.doFlktySettle(e),this.storeImageChange=e=>this.doImageChange(e),this.storeArrowPrevClick=e=>this.doArrowPrevClick(e),this.storeArrowNextClick=e=>this.doArrowNextClick(e),this.storeThumbClick=e=>this.doThumbClick(e),this.storeThumbContainerScroll=e=>this.doThumbContainerScroll(e)}
15addEventListeners(){this.flkty.on("change",this.storeFlktyChange),this.flkty.on("settle",this.storeFlktySettle),this.slideshow.addEventListener("theme:image:change",this.storeImageChange),this.arrowPrev?.addEventListener("click",this.storeArrowPrevClick),this.arrowNext?.addEventListener("click",this.storeArrowNextClick),this.thumbs?.addEventListener("scroll",this.storeThumbContainerScroll),this.thumbImages.forEach(thumb=>{thumb.addEventListener("click",this.storeThumbClick)})}removeEventListeners(){this.flkty.on("change",this.storeFlktyChange),this.flkty.on("settle",this.storeFlktySettle),this.slideshow.removeEventListener("theme:image:change",this.storeImageChange),this.arrowPrev?.removeEventListener("click",this.storeArrowPrevClick),this.arrowNext?.removeEventListener("click",this.storeArrowNextClick),this.thumbs?.removeEventListener("scroll",this.storeThumbContainerScroll),this.thumbImages.forEach(thumb=>{thumb.removeEventListener("click",this.storeThumbClick)})}addMediaEventListeners(media){media&&(media.addEventListener("play",()=>{(resolution.isMobile()||resolution.isTouch())&&this.updateDraggable(!1)}),media.addEventListener("pause",()=>{(resolution.isMobile()||resolution.isTouch())&&this.updateDraggable(!0)}))}doFlktyChange(index){(this.mediaType==="model"||this.mediaType==="video"||this.mediaType==="external_video")&&this.currentSlide.dispatchEvent(new CustomEvent("pause")),this.currentSlide=this.flkty.cells[index].element,this.slideshow.classList.remove(selectors$g.flickitylockHeight);const id=this.currentSlide.getAttribute(selectors$g.dataMediaId),currentThumb=this.thumbWrapper?.querySelector(`[${selectors$g.dataMediaSelect}="${id}"]`);this.thumbWrapper?.querySelector(`.${classes$c.active}`).classList.remove(classes$c.active),currentThumb?.classList.add(classes$c.active),this.scrollThumbs()}doFlktySettle(index){this.allSlides=this.flkty.cells,this.currentSlide=this.flkty.cells[index].element,this.setDraggable(),document.body.classList.contains(selectors$g.focusEnabled)&&this.currentSlide.dispatchEvent(new Event("focus")),this.scrollThumbs()}doImageChange(event){var mediaId=event.detail.id;const mediaIdString=`[${selectors$g.dataMediaId}="${mediaId}"]`,matchesMedia=cell=>cell.element.matches(mediaIdString),index=this.flkty.cells.findIndex(matchesMedia);this.flkty.select(index),this.scrollThumbs()}doThumbContainerScroll(){this.scrollThumbs("scroll")}doArrowPrevClick(){this.scrollThumbs("clickPrev")}doArrowNextClick(){this.scrollThumbs("clickNext")}doThumbClick(event){const id=event.currentTarget.getAttribute(selectors$g.dataMediaSelect);this.slideshow.dispatchEvent(new CustomEvent("theme:image:change",{detail:{id}}))}setDraggable(){this.currentSlide&&(this.mediaType=this.currentSlide.getAttribute(selectors$g.mediaType),this.mediaType==="model"||this.mediaType==="video"||this.mediaType==="external_video"?!resolution.isMobile()||!resolution.isTouch()?(this.currentSlide.dispatchEvent(new CustomEvent("play")),this.updateDraggable(!1)):this.updateDraggable(!0):this.updateDraggable(!0))}updateDraggable(state){this.flkty&&(this.flkty.options.draggable=state,this.flkty.updateDraggable(),this.slideshow.classList.toggle(classes$c.enableVideoDraggable,state))}detect3d(){const modelViewerElements=this.container.querySelectorAll(selectors$g.modelViewer);modelViewerElements&&(modelViewerElements.forEach(element=>{initSectionModels(element,this.section.id),element.addEventListener("theme:media:play",()=>{this.updateDraggable(!1)}),element.addEventListener("theme:media:pause",()=>{this.updateDraggable(!0)})}),document.addEventListener("shopify_xr_launch",function(){this.container.querySelectorAll(selectors$g.allPlayers).forEach(player=>{player.dispatchEvent(new CustomEvent("pause"))})}.bind(this)))}detectVideos(){const playerElements=this.section.container.querySelectorAll(`${selectors$g.videoPlayerExternal}, ${selectors$g.videoPlayerNative}`);for(var player of playerElements){const uniqueKey=player.dataset.player,host=player.dataset.host;let videoPlayerPromise;host==="youtube"?videoPlayerPromise=embedYoutube(uniqueKey):host==="vimeo"?videoPlayerPromise=embedVimeo(uniqueKey):videoPlayerPromise=productNativeVideo(uniqueKey),this.loopVideo===!0&&videoPlayerPromise.then(videoPlayer=>host?_setToLoop(videoPlayer,host):(videoPlayer.loop=!0,videoPlayer)).catch(err=>{console.error(err)}),this.addMediaEventListeners(player)}}pauseAllMedia(){this.container.querySelector(selectors$g.mediaSlide).dispatchEvent(new CustomEvent("pause"))}pauseOtherMedia(uniqueKey){this.container.querySelector(`${selectors$g.mediaSlide}:not([data-player="${uniqueKey}"])`).dispatchEvent(new CustomEvent("pause"))}destroy(){this.container.querySelectorAll(selectors$g.allPlayers
15).forEach(player=>{player.dispatchEvent(new CustomEvent("destroy"))})}scrollThumbs(event){if(this.thumbs=this.container.querySelector(selectors$g.productThumbs),this.thumbs){if(this.thumb=this.thumbs.querySelector(`.${classes$c.active}`),this.thumbItems=this.container.querySelectorAll(selectors$g.thumbImage),this.lastThumb=this.thumbItems[this.thumbItems.length-1],!this.thumb)return;this.thumbsScrollTop=this.thumbs.scrollTop,this.thumbsScrollLeft=this.thumbs.scrollLeft,this.thumbsWidth=this.thumbs.offsetWidth,this.thumbsHeight=this.slideshow.offsetWidth/this.thumb.getAttribute(selectors$g.aspectRatio),this.thumbsPositionBottom=this.thumbsScrollTop+this.thumbsHeight,this.thumbsPositionRight=this.thumbsScrollLeft+this.thumbsWidth,this.checkThumbPositions(),this.toggleToActiveThumb(event),this.toggleArrows()}}checkThumbPositions(){this.thumbWidth=this.thumb.offsetWidth,this.thumbHeight=this.thumb.offsetHeight,this.thumbPosTop=this.thumb.offsetTop,this.thumbPosLeft=this.thumb.offsetLeft,this.lastThumbRightPos=this.lastThumb.offsetLeft+this.thumbWidth,this.lastThumbBottomPos=this.lastThumb.offsetTop+this.thumbHe
15ight,this.scrollTopPosition=this.thumbPosTop+this.thumbHeight/2-this.thumbsHeight/2,this.scrollLeftPosition=this.thumbPosLeft+this.thumbWidth/2-this.thumbsWidth/2,this.topCheck=this.thumbsScrollTop>0,this.bottomCheck=this.thumbsPositionBottom<this.lastThumbBottomPos,this.leftCheck=this.thumbsScrollLeft>0,this.rightCheck=this.thumbsPositionRight<this.lastThumbRightPos,this.verticalCheck=this.bottomCheck||this.topCheck,this.horizontalCheck=this.rightCheck||this.leftCheck}toggleToActiveThumb(event){event!=="scroll"&&(event=="clickPrev"&&(this.verticalCheck?(this.scrollTopPosition=this.thumbsScrollTop-this.thumbsHeight,this.scrollLeftPosition=0):(this.scrollTopPosition=0,this.scrollLeftPosition=this.thumbsScrollLeft-this.thumbsWidth)),event=="clickNext"&&(this.verticalCheck?(this.scrollTopPosition=this.thumbsScrollTop+this.thumbsHeight,this.scrollLeftPosition=0):(this.scrollTopPosition=0,this.scrollLeftPosition=this.thumbsScrollLeft+this.thumbsWidth)),this.thumbs.scrollTo({top:this.scrollTopPosition,left:this.scrollLeftPosition,behavior:"smooth"}))}toggleArrows(){(this.verticalCheck||this.verticalAlignment&&!this.verticalCheck)&&(this.arrowPrev.classList.toggle(classes$c.show,this.topCheck),this.arrowNext.classList.toggle(classes$c.show,this.bottomCheck)),(this.horizontalCheck||!this.verticalAlignment&&!this.horizontalCheck)&&(this.arrowPrev.classList.toggle(classes$c.show,this.leftCheck),this.arrowNext.classList.toggle(classes$c.show,this.rightCheck))}}function _setToLoop(player,host){return host==="youtube"?player.addEventListener("onStateChange",event=>{event.data===0&&event.target.playVideo()}):host==="vimeo"&&player.on("ended",()=>{player.play()}),player}const selectors$f={pickupContainer:"data-store-availability-container",shopifySection:"[data-api-content]",drawer:"[data-pickup-drawer]",drawerOpen:"[data-pickup-drawer-open]",drawerClose:"[data-pickup-drawer-close]",drawerBody:"[data-pickup-body]"},classes$b={isVisible:"drawer--visible",isHidden:"hide",isPickupVisible:"is-pickup-visible"};let sections$5={};class PickupAvailability{constructor(section){this.container=section.container,this.drawer=null,this.buttonDrawerOpen=null,this.buttonDrawerClose=null,this.drawerBody=null,this.fetchPickupAvailability(),this.container.addEventListener("theme:variant:change",event=>this.fetchPickupAvailability(event))}fetchPickupAvailability(event){const container=this.container.querySelector(`[${selectors$f.pickupContainer}]`);if(!container)return;const variantID=event&&event.detail.variant?event.detail.variant.id:container.getAttribute(selectors$f.pickupContainer);if(event&&!event.detail.variant){container.classList.add(classes$b.isHidden);return}variantID&&fetch(`${window.theme.routes.root_url}variants/${variantID}/?section_id=api-pickup-availability`).then(this.handleErrors).then(response=>response.text()).then(text=>{const pickupAvailabilityHTML=new DOMParser().parseFromString(text,"text/html").querySelector(selectors$f.shopifySection).innerHTML;container.innerHTML=pickupAvailabilityHTML,container.classList.remove(classes$b.isHidden),this.drawer=this.container.querySelector(selectors$f.drawer),this.buttonDrawerOpen=this.container.querySelector(selectors$f.drawerOpen),this.buttonDrawerClose=this.container.querySelectorAll(selectors$f.drawerClose),this.drawerBody=this.container.querySelector(selectors$f.drawerBody),this.buttonDrawerOpen&&this.buttonDrawerOpen.addEventListener("click",()=>this.openDrawer()),this.buttonDrawerClose.length&&this.buttonDrawerClose.forEach(element=>{element.addEventListener("click",()=>this.closeDrawer())})}).catch(e=>{console.error(e)})}openDrawer(){this.drawer&&(document.body.classList.add(classes$b.isPickupVisible),this.drawer.classList.add(classes$b.isVisible),this.drawer.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0})),this.drawerBody.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0})))}closeDrawer(){this.drawer&&(document.body.classList.remove(classes$b.isPickupVisible),this.drawer.classList.remove(classes$b.isVisible),this.drawer.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0})),this.drawerBody.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0})))}handleErrors(response){return response.ok?response:response.json().then(function(json){throw new FetchError({status:response.statusText,headers:response.headers,json})})}}const pickupAvailability={onLoad(){sections$5[this.id]=new PickupAvailability(this)}},selectors$e={form:"[data-product-form]",optionPosition:"data-option-position",optionInput:'[name^="options"], [data-popout-option]',selectOptionValue:"data-value"},classes$a={soldOut:"sold-out",unavailable:"unavailable"};class SelloutVariants{constructor(section,productJSON){this.container=section,this.productJSON=productJSON,this.form=this.container.querySelector(selectors$e.form),this.formData=new FormData(this.form),this.optionElements=this.container.querySelectorAll(selectors$e.optionInput),this.productJSON&&this.form&&this.init()}init(){this.update()}
15update(){this.getCurrentState(),this.optionElements.forEach(el=>{const val=el.value||el.getAttribute(selectors$e.selectOptionValue),positionString=el.closest(`[${selectors$e.optionPosition}]`).getAttribute(selectors$e.optionPosition),position=parseInt(positionString,10)-1;let newVals=[...this.selections];newVals[position]=val;const found=this.productJSON.variants.find(element=>{let perfectMatch=!0;for(let index=0;index<newVals.length;index++)element.options[index]!==newVals[index]&&(perfectMatch=!1);return perfectMatch});el.classList.remove(classes$a.soldOut,classes$a.unavailable),typeof found>"u"?el.classList.add(classes$a.unavailable):found&&found.available===!1&&el.classList.add(classes$a.soldOut)})}getCurrentState(){this.formData=new FormData(this.form),this.selections=[];for(var value of this.formData.entries())value[0].includes("options[")&&this.selections.push(value[1])}}const selectors$d={outerSection:"[data-section-id]",quickviewModal:"[data-quickview-modal]",productForm:"[data-product-form]",productSlideshow:"[data-product-slideshow]",addToCart:"[data-add-to-cart]",addToCartText:"[data-add-to-cart-text]",comparePrice:"[data-compare-price]",comparePriceText:"[data-compare-text]",buttonsWrapper:"[data-buttons-wrapper]",originalSelectorId:"[data-product-select]",priceWrapper:"[data-price-wrapper]",priceButton:"[data-button-price]",productJson:"[data-product-json]",productPrice:"[data-product-price]",unitPrice:"[data-product-unit-price]",unitBase:"[data-product-base]",unitWrapper:"[data-product-unit]",dataEnableHistoryState:"data-enable-history-state",optionPosition:"data-option-position",optionValue:"[data-option-value]",subPrices:"[data-subscription-watch-price]",subSelectors:"[data-subscription-selectors]",priceOffWrap:"[data-price-off]",priceOffType:"[data-price-off-type]",priceOffAmount:"[data-price-off-amount]",salePrice:"[data-price-sale-amount]",subsToggle:"[data-toggles-group]",subsChild:"data-group-toggle",subDescription:"[data-plan-description]",remainingCount:"[data-remaining-count]",remainingMax:"data-remaining-max",remainingWrapper:"[data-remaining-wrapper]",remainingJSON:"[data-product-remaining-json]",isPreOrder:"[data-product-preorder]",idInput:'[name="id"]'},classes$9={hide:"hide",variantSoldOut:"variant--soldout",variantUnavailable:"variant--unavailable",productPriceSale:"product__price--sale",remainingLow:"count-is-low",remainingIn:"count-is-in",remainingOut:"count-is-out",remainingUnavailable:"count-is-unavailable"};class ProductForm extends HTMLElement{constructor(){super(),this.container=this}connectedCallback(){this.outerSection=this.container.closest(selectors$d.outerSection),this.quickview=this.container.closest(selectors$d.quickviewModal),this.outerWrapper=this.quickview?this.quickview:this.outerSection,this.productFormElement=this.container.querySelector(selectors$d.productForm),this.productForm=this.container.querySelector(selectors$d.productForm),this.slideshow=this.outerWrapper.querySelector(selectors$d.productSlideshow),this.enableHistoryState=this.outerSection&&this.outerSection.hasAttribute(selectors$d.dataEnableHistoryState)?this.outerSection.getAttribute(selectors$d.dataEnableHistoryState)==="true":!1,this.hasUnitPricing=this.outerWrapper.querySelector(selectors$d.unitWrapper),this.subSelectors=this.outerWrapper.querySelector(selectors$d.subSelectors),this.subPrices=this.outerWrapper.querySelector(selectors$d.subPrices),this.priceOffWrap=this.outerWrapper.querySelector(selectors$d.priceOffWrap),this.priceOffAmount=this.outerWrapper.querySelector(selectors$d.priceOffAmount),this.salePrice=this.outerWrapper.querySelector(selectors$d.salePrice),this.priceOffType=this.outerWrapper.querySelector(selectors$d.priceOffType),this.planDecription=this.outerWrapper.querySelector(selectors$d.subDescription),this.isPreOrder=this.container.querySelector(selectors$d.isPreOrder),this.remainingWrapper=this.outerWrapper.querySelector(selectors$d.remainingWrapper);const remainingMaxWrap=this.outerWrapper.querySelector(`[${selectors$d.remainingMax}]`);this.sellout=null,this._isSubscribedMember={},this.remainingWrapper&&remainingMaxWrap&&(this.remainingMaxInt=parseInt(remainingMaxWrap.getAttribute(selectors$d.remainingMax),10),this.remainingCount=this.outerWrapper.querySelector(selectors$d.remainingCount),this.remainingJSONWrapper=this.outerWrapper.querySelector(selectors$d.remainingJSON),this.remainingJSON=null,this.remainingJSONWrapper&&this.remainingJSONWrapper.innerHTML!==""?this.remainingJSON=JSON.parse(this.remainingJSONWrapper.innerHTML):console.warn("Missing product quantity JSON")),initQtySection(this.outerWrapper);let productJSONText=null;this.productJSON=null;const productElemJSON=this.outerWrapper.querySelector(selectors$d.productJson);productElemJSON&&(productJSONText=productElemJSON.innerHTML),productJSONText&&this.productForm?(this.productJSON=JSON.parse(productJSONText),this.sellout=new SelloutVariants(this.outerWrapper,this.productJSON),this.linkForm()):console.warn("Missing product form or product JSON"),this.productJSON&&new RecordRecentlyViewed(this.productJSON.handle,this.productJSON.id)}destroy(){this.productForm.destroy()}linkForm(){this.productForm=new ProductFormReader(this.outerWrapper,this.productFormElement,this.productJSON,{onOptionChange:this.onOptionChange.bind(this),onPlanChange:this.onPlanChange.bind(this),onQuantityChange:this.onQuantityChange.bind(this)}),this.pushState(this.productForm.getFormState(),!0),this.subsToggleListeners()}onOptionChange(evt){this.pushState(evt.dataset)}onPlanChange(evt){this.subPrices&&this.pushState(evt.dataset)}onQuantityChange(evt){const formState=evt.dataset;this.productState=this.setProductState(formState),this.updateButtonPrices(formState)}pushState(formState,init=!1){this.productState=this.setProductState(formState),this.updateProductImage(formState),this.updateAddToCartState(formState),this.updateProductPrices(formState),this.updateSaleText(formState),this.updateSubscriptionText(formState),this.updateLegend(formState),this.updateRemaining(formState),this.fireHookEvent(formState),this.sellout&&this.sellout.update(formState),this.enableHistoryState&&!init&&this.updateHistoryState(formState)}updateAddToCartAriaLabels(){const addToCart=this.outerWrapper.querySelector(selectors$d.buttonsWrapper)?.querySelectorAll(selectors$d.addToCart);addToCart?.length&&addToCart.forEach(button=>{const ready=button.querySelector(".btn-state-ready");if(!ready)return;const parts=[];for(const span of ready.children){if(span.nodeType!==1||span.classList.contains("cta__dot"))continue;const style=window.getComputedStyle(span);if(style.display==="none"||style.visibility==="hidden")continue;const text=(span.textContent||"").replace(/\s+/g," ").trim();text&&parts.push(text)}const name=parts.join(" ");name&&button.setAttribute("aria-label",name)})}updateAddToCartState(formState){const variant=formState.variant;let addText=theme.strings.addToCart;
15const priceWrapper=this.outerWrapper.querySelectorAll(selectors$d.priceWrapper),buttonsWrapper=this.outerWrapper.querySelector(selectors$d.buttonsWrapper),addToCart=buttonsWrapper?.querySelectorAll(selectors$d.addToCart),addToCartText=buttonsWrapper?.querySelectorAll(selectors$d.addToCartText);if(this.isPreOrder&&(addText=theme.strings.preOrder),priceWrapper.length&&variant&&priceWrapper.forEach(element=>{element.classList.remove(classes$9.hide)}),addToCart?.length&&addToCart.forEach(element=>{variant&&variant.available?element.disabled=!1:element.disabled=!0}),addToCartText?.length&&addToCartText.forEach(element=>{variant?variant.available?element.innerHTML=element.getAttribute("data-addToCartText"):element.innerHTML=element.getAttribute("data-SoldOutText"):element.innerHTML=element.getAttribute("data-comingsoonText")}),buttonsWrapper){if(variant){variant.available?buttonsWrapper.classList.remove(classes$9.variantSoldOut,classes$9.variantUnavailable):(buttonsWrapper.classList.add(classes$9.variantSoldOut),buttonsWrapper.classList.remove(classes$9.variantUnavailable));const formSelect=buttonsWrapper.querySelector(selectors$d.originalSelectorId);formSelect&&(formSelect.value=variant.id);const pd={vid:variant.id.toString(),color:document.querySelector('.quickview__form__wrapper [data-option-position="1"] .radio__legend__label[data-option-value]')?.textContent||"",size:document.querySelector('.quickview__form__wrapper [data-option-position="2"] .radio__legend__label[data-option-value]')?.textContent||"",width:document.querySelector('.quickview__form__wrapper [data-option-position="3"] .radio__legend__label[data-option-value]')?.textContent||""};window.setPDPProductTrackingDetails&&window.setPDPProductTrackingDetails(pd)}else buttonsWrapper.classList.add(classes$9.variantUnavailable),buttonsWrapper.classList.remove(classes$9.variantSoldOut);if(document.querySelector('[data-quickview-head][data-exclude-swatch-width="false"]')){var biggestWidth3=0;[...document.querySelectorAll('.quickview__modal .selector-wrapper[data-option-position="3"] .radio__inputs .radio__button label')].forEach((item=>{var width=item.offsetWidth;width>biggestWidth3&&(biggestWidth3=width)})),[...document.querySelectorAll('.quickview__modal .selector-wrapper[data-option-position="3"] .radio__inputs .radio__button label')].forEach((item=>{item.style.width=biggestWidth3+"px"}));var biggestWidth2=0;[...document.querySelectorAll('.quickview__modal .selector-wrapper[data-option-position="2"] .radio__inputs .radio__button label')].forEach((item=>{var width=item.offsetWidth;width>biggestWidth2&&(biggestWidth2=width)})),[...document.querySelectorAll('.quickview__modal .selector-wrapper[data-option-position="2"] .radio__inputs .radio__button label')].forEach((item=>{item.style.width=biggestWidth2+"px"}))}}this.updateAddToCartAriaLabels()}updateLegend(formState){const variant=formState.variant;variant&&this.container.parentNode.querySelectorAll(selectors$d.optionValue).forEach(val=>{const wrapper=val.closest(`[${selectors$d.optionPosition}]`);if(wrapper){const position=wrapper.getAttribute(selectors$d.optionPosition),index=parseInt(position,10)-1;this.newValue=variant.options[index],val.innerHTML=this.newValue}})}updateHistoryState(formState){const variant=formState.variant,plan=formState.plan,location2=window.location.href;if(variant&&location2.includes("/product")){const url=new window.URL(location2),params=url.searchParams;params.set("variant",variant.id),plan&&plan.detail&&plan.detail.id&&this.productState.hasPlan?params.set("selling_plan",plan.detail.id):params.delete("selling_plan"),url.search=params.toString();const urlString=url.toString();window.history.replaceState({path:urlString},"",urlString)}}updateRemaining(formState){const variant=formState.variant;if(variant&&this.remainingWrapper&&this.remainingJSON&&this.remainingCount){const newQuantity=this.remainingJSON[variant.id];newQuantity&&newQuantity<=this.remainingMaxInt&&newQuantity>0?(this.remainingWrapper.classList.remove(classes$9.remainingIn,classes$9.remainingOut,classes$9.remainingUnavailable),this.remainingWrapper.classList.add(classes$9.remainingLow),this.remainingCount.innerHTML=newQuantity):this.productState.soldOut?(this.remainingWrapper.classList.remove(classes$9.remainingLow,classes$9.remainingIn,classes$9.remainingUnavailable),this.remainingWrapper.classList.add(classes$9.remainingOut)):this.productState.available&&(this.remainingWrapper.classList.remove(classes$9.remainingLow,classes$9.remainingOut,classes$9.remainingUnavailable),this.remainingWrapper.classList.add(classes$9.remainingIn))}else this.remainingWrapper&&(this.remainingWrapper.classList.remove(classes$9.remainingIn,classes$9.remainingOut,classes$9.remainingLow),this.remainingWrapper.classList.add(classes$9.remainingUnavailable))}getBaseUnit(variant){return variant.unit_price_measurement.reference_value===1?variant.unit_price_measurement.reference_unit:variant.unit_price_measurement.reference_value+variant.unit_price_measurement.reference_unit}subsToggleListeners(){this.outerWrapper.querySelectorAll(selectors$d.subsToggle).forEach(toggle=>{toggle.addEventListener("change",function(e){const val=e.target.value.toString(),selected=this.outerWrapper.querySelector(`[${selectors$d.subsChild}="${val}"]`),groups=this.outerWrapper.querySelectorAll(`[${selectors$d.subsChild}]`);if(selected){selected.classList.remove(classes$9.hide);const first=selected.querySelector('[name="selling_plan"]');first.checked=!0,first.dispatchEvent(new Event("change"))}groups.forEach(group=>{group!==selected&&(group.classList.add(classes$9.hide),group.querySelectorAll('[name="selling_plan"]').forEach(plan=>{plan.checked=!1,plan.dispatchEvent(new Event("change"))}))})}.bind(this))})}updateSaleText(formState){this.productState.planSale?this.updateSaleTextSubscription(formState):this.productState.onSale?this.updateSaleTextStandard(formState):this.priceOffWrap&&this.priceOffWrap.classList.add(classes$9.hide)}updateSaleTextStandard(formState){if(!this.priceOffType)return;this.priceOffType.innerHTML=window.theme.strings.sale||"sale";const variant=formState.variant;if(window.theme.settings.badge_sale_type&&window.theme.settings.badge_sale_type==="percentage"){const discountFloat=(variant.compare_at_price-variant.price)/variant.compare_at_price,discountInt=Math.floor(discountFloat*100);this.priceOffAmount.innerHTML=`${discountInt}%`,this.salePrice.innerHTML=variant.compare_at_price,this.priceOffWrap.classList.add("markdown")}else{const discount=variant.compare_at_price-variant.price;this.priceOffAmount.innerHTML=this.formattingMoney(discount),this.salePrice.innerHTML=variant.compare_at_price,this.priceOffWrap.classList.add("markdown")}this.priceOffWrap.classList.remove(classes$9.hide)}updateSaleTextSubscription(formState){this.priceOffType.innerHTML=window.theme.strings.subscription||"subscripton";const variant=formState.variant,adjustment=formState.plan.detail.price_adjustments[0],discount=adjustment.value;
15adjustment&&adjustment.value_type==="percentage"?this.priceOffAmount.innerHTML=`${discount}%`:adjustment&&adjustment.value_type==="price"?this.priceOffAmount.innerHTML=this.formattingMoney(variant.price-adjustment.value):this.priceOffAmount.innerHTML=this.formattingMoney(discount),this.priceOffWrap.classList.remove(classes$9.hide)}updateSubscriptionText(formState){formState.plan&&this.planDecription&&formState.plan.detail.description!==null?(this.planDecription.innerHTML=formState.plan.detail.description,this.planDecription.classList.remove(classes$9.hide)):this.planDecription&&this.planDecription.classList.add(classes$9.hide)}getPrices(formState){const variant=formState.variant,plan=formState.plan;let comparePrice="",price="";return this.productState.available&&(comparePrice=variant.compare_at_price,price=variant.price),this.productState.hasPlan&&(price=plan.allocation.price),this.productState.planSale&&(comparePrice=plan.allocation.compare_at_price,price=plan.allocation.price),{price,comparePrice}}async getButtonMembershipPrice(currentPrice,productId){if(!currentPrice)return;const priceString=currentPrice.toString();let memberPrice="";const host=window.Shopify?.theme?.role==="development"?"www.vincecamuto.com":window.location.host;try{const data=await(await fetch(`https://${host}/apps/authentic/public/products/${productId}/member-price?price=${priceString}`)).json();if(data.eligible===!1)return;memberPrice=data.price}catch(error){console.error("Error in getButtonMembershipPrice:",error),memberPrice=""}return memberPrice}updateButtonPrices(formState){const priceButtons=this.outerWrapper.querySelectorAll(selectors$d.priceButton),{price}=this.getPrices(formState);priceButtons.length&&(priceButtons.forEach(btn=>{const btnPrice=formState.quantity*price;btn.innerHTML=this.formattingMoney(btnPrice).replace(".00","")}),this.updateAddToCartAriaLabels())}async updateProductPrices(formState){const variant=formState.variant,priceWrappers=this.outerWrapper.querySelectorAll(selectors$d.priceWrapper),priceButtons=this.outerWrapper.querySelectorAll(selectors$d.priceButton),{price,comparePrice}=this.getPrices(formState);if(!this._cachedSubscriptionData&&window.authenticGlobal?.getSubscriptionDetails)try{this._cachedSubscriptionData=await window.authenticGlobal.getSubscriptionDetails()}catch(error){console.warn("Error getting subscription details:",error),this._cachedSubscriptionData=null}const subscriptionData=this._cachedSubscriptionData;if(priceWrappers.forEach(wrap2=>{const comparePriceEl=wrap2.querySelector(selectors$d.comparePrice),productPriceEl=wrap2.querySelector(selectors$d.productPrice),comparePriceText=wrap2.querySelector(selectors$d.comparePriceText);comparePriceEl&&(this.productState.onSale||this.productState.planSale?(comparePriceEl.classList.remove(classes$9.hide),comparePriceText.classList.remove(classes$9.hide),productPriceEl.classList.add(classes$9.productPriceSale)):(comparePriceEl.classList.add(classes$9.hide),comparePriceText.classList.add(classes$9.hide),productPriceEl.classList.remove(classes$9.productPriceSale)),comparePriceEl.innerHTML=this.formattingMoney(comparePrice)),productPriceEl&&(variant?productPriceEl.innerHTML=this.formattingMoney(price).replace(".00",""):productPriceEl.innerHTML="&nbsp;")}),priceButtons.length){const subProductId=window.authenticSubProductId.split("/").pop();let cartData;try{cartData=window.theme&&window.theme.getCart?await window.theme.getCart():await(await fetch("/cart.js")).json()}catch(error){console.error("Error fetching cart:",error),cartData={items:[]}}const isMiniPDP=document.querySelector(".mini-product-single")!==null;for(const btn of priceButtons){let btnPrice=formState.quantity*price;if(btn.dataset.useMemberPrice==="true"&&variant&&!isMiniPDP){const hasSubProduct=cartData.items?.some(item=>item.product_id.toString()===subProductId),subDiscountApplied=cartData.cart_level_discount_applications?.some(disc=>disc.title==="AUTHENTIC")??!1;if(hasSubProduct||subscriptionData?.subscribed===!0||subDiscountApplied){btnPrice=price;const memberPrice=await this.getButtonMembershipPrice(btnPrice,btn.dataset.membershipProductId);memberPrice&&memberPrice!==0?btn.innerHTML=this.formattingMoney(memberPrice).replace(".00",""):btn.innerHTML=this.formattingMoney(btnPrice).replace(".00","")}else btn.innerHTML=this.formattingMoney(btnPrice).replace(".00","")}else btn.innerHTML=this.formattingMoney(btnPrice).replace(".00","")}this.updateAddToCartAriaLabels()}this.hasUnitPricing&&this.updateProductUnits(formState)}updateProductUnits(formState){const variant=formState.variant,plan=formState.plan;let unitPrice=null;if(variant&&variant.unit_price&&(unitPrice=variant.unit_price),plan&&plan.allocation&&plan.allocation.unit_price&&(unitPrice=plan.allocation.unit_price),unitPrice){const base=this.getBaseUnit(variant);this.outerWrapper.querySelector(selectors$d.unitPrice).innerHTML=this.formattingMoney(unitPrice),this.outerWrapper.querySelector(selectors$d.unitBase).innerHTML=base,showElement(this.outerWrapper.querySelector(selectors$d.unitWrapper))}else hideElement(this.outerWrapper.querySelector(selectors$d.unitWrapper))}fireHookEvent(formState){const variant=formState.variant;
15this.container.dispatchEvent(new CustomEvent("theme:variant:change",{detail:{variant},bubbles:!0}))}setProductState(dataset){const variant=dataset.variant,plan=dataset.plan,productState={available:!0,soldOut:!1,onSale:!1,showUnitPrice:!1,requiresPlan:!1,hasPlan:!1,planPerDelivery:!1,planSale:!1};return!variant||variant.requires_selling_plan&&!plan?productState.available=!1:(variant.available||(productState.soldOut=!0),variant.compare_at_price>variant.price&&(productState.onSale=!0),variant.unit_price&&(productState.showUnitPrice=!0),this.productJSON&&this.productJSON.requires_selling_plan&&(productState.requiresPlan=!0),plan&&this.subPrices&&(productState.hasPlan=!0,plan.allocation.per_delivery_price!==plan.allocation.price&&(productState.planPerDelivery=!0),plan.allocation.compare_at_price>plan.allocation.price&&(productState.planSale=!0))),productState}updateProductImage(formState){const variant=formState.variant;variant&&this.slideshow&&variant.featured_media&&variant.featured_media.id&&this.slideshow.dispatchEvent(new CustomEvent("theme:image:change",{detail:{id:variant.featured_media.id}}))}formattingMoney(money){return theme.settings.currency_code_enable,themeCurrency.formatMoney(money,theme.moneyFormat)}}class ProductComplimentary extends HTMLElement{constructor(){super()}connectedCallback(){fetch(this.dataset.url).then(response=>response.text()).then(text=>{const fresh=document.createElement("div");fresh.innerHTML=text;const newContent=fresh.querySelector("[data-api-content]");newContent&&(this.innerHTML=newContent.innerHTML);const loader=this.closest("[data-product-complimentary-loaded]");loader&&newContent.innerHTML.trim()!==""&&loader.classList.remove("js-unloaded")}).catch(e=>{console.error(e)})}}const selectors$c={slideshow:"[data-product-slideshow]",singeImage:"[data-product-image]",zoomButton:"[data-zoom-button]",zoomWrapper:"[data-zoom-wrapper]",mediaId:"data-media-id"};function productPhotoswipeZoom(container,json){return loadScript({url:window.theme.assets.photoswipe}).then(()=>{const PhotoSwipe=window.themePhotoswipe.PhotoSwipe.default,PhotoSwipeUI=window.themePhotoswipe.PhotoSwipeUI.default;container.querySelectorAll(selectors$c.zoomButton).forEach(trigger=>{trigger.addEventListener("click",event=>{const el=container.querySelector(selectors$c.zoomWrapper),dataId=event.target.closest(`[${selectors$c.mediaId}]`).getAttribute(selectors$c.mediaId).toString(),items=[];for(let i=0;i<json.media.length;i++)json.media[i].media_type==="image"&&(items[items.length]={src:json.media[i].src,w:json.media[i].width,h:json.media[i].height,id:json.media[i].id});const findImage=element=>element.id.toString()===dataId,options2={index:items.findIndex(findImage),showHideOpacity:!0,showAnimationDuration:150,hideAnimationDuration:250,bgOpacity:1,spacing:0,allowPanToNext:!1,maxSpreadZoom:3,history:!1,loop:!0,pinchToClose:!1,modal:!1,closeOnScroll:!1,closeOnVerticalDrag:!0,getDoubleTapZoom:function(isMouseClick,item){return isMouseClick?1.67:item.initialZoomLevel<.7?1:1.3},getThumbBoundsFn:function(){let imageLocation=container.querySelector(selectors$c.slideshow);imageLocation||(imageLocation=container.querySelector(selectors$c.singeImage));const pageYScroll=window.pageYOffset||document.documentElement.scrollTop,rect=imageLocation.getBoundingClientRect();return{x:rect.left,y:rect.top+pageYScroll,w:rect.width}}};el.dispatchEvent(new CustomEvent("theme:scroll:lock",{bubbles:!0}));const gallery=new PhotoSwipe(el,PhotoSwipeUI,items,options2);gallery.init(),gallery.listen("close",function(){document.dispatchEvent(new CustomEvent("theme:scroll:unlock",{bubbles:!0}))})})})}).catch(e=>console.error(e))}const selectors$b={body:"body",dataRelatedSectionElem:"[data-related-section]",dataTabsHolder:"[data-tabs-holder]",dataTab:"data-tab",dataTabIndex:"data-tab-index",blockId:"data-block-id",tabsLi:".tabs > button",tabLink:".tab-link",tabLinkRecent:".tab-link__recent",tabContent:".tab-content",scrollbarHolder:"[data-scrollbar]",scrollbarArrowPrev:"[data-scrollbar-arrow-prev]",scrollbarArrowNext:"[data-scrollbar-arrow-next]",firstElement:"a:first-child, input
15:first-child"},classes$8={classCurrent:"current",classGTBoldClass:"gt-p__bold",classGTNormalClass:"gt-p",classHide:"hide",classAlt:"alt",isFocused:"is-focused"},sections$4={};class GlobalTabs{constructor(holder){this.container=holder,this.body=document.querySelector(selectors$b.body),this.accessibility=window.accessibility,this.container&&(this.scrollbarHolder=this.container.querySelectorAll(selectors$b.scrollbarHolder),this.init(),this.initNativeScrollbar())}init(){const ctx=this.container,tabsNavList=ctx.querySelectorAll(selectors$b.tabsLi),firstTabLink=ctx.querySelector(`${selectors$b.tabLink}-0`),firstTabContent=ctx.querySelector(`${selectors$b.tabContent}-0`);firstTabContent&&(firstTabContent.classList.add(classes$8.classCurrent),firstTabContent.classList.add(classes$8.classGTBoldClass),firstTabContent.classList.remove(classes$8.classGTNormalClass)),firstTabLink&&(firstTabLink.classList.add(classes$8.classCurrent),firstTabLink.classList.add(classes$8.classGTBoldClass),firstTabLink.classList.remove(classes$8.classGTNormalClass)),this.checkVisibleTabLinks(),this.container.addEventListener("theme:tabs:check",()=>this.checkRecentTab()),this.container.addEventListener("theme:tabs:hide",()=>this.hideRelatedTab()),tabsNavList.length&&tabsNavList.forEach(element=>{const tabId=parseInt(element.getAttribute(selectors$b.dataTab)),tab=ctx.querySelector(`${selectors$b.tabContent}-${tabId}`);element.addEventListener("click",()=>{this.tabChange(element,tab)}),element.addEventListener("keyup",event=>{(event.code==="Space"||event.code==="Enter")&&this.body.classList.contains(classes$8.isFocused)&&(this.tabChange(element,tab),tab.querySelector("a, input")&&(this.accessibility.lastFocused=element,this.accessibility.a11y.trapFocus(tab,{elementToFocus:tab.querySelector(selectors$b.firstElement)})))})})}tabChange(element,tab){this.container.querySelector(`${selectors$b.tabsLi}.${classes$8.classCurrent}`).classList.add(classes$8.classGTNormalClass),this.container.querySelector(`${selectors$b.tabsLi}.${classes$8.classCurrent}`).classList.remove(classes$8.classGTBoldClass),this.container.querySelector(`${selectors$b.tabsLi}.${classes$8.classCurrent}`).classList.remove(classes$8.classCurrent),this.container.querySelector(`${selectors$b.tabContent}.${classes$8.classCurrent}`).classList.add(classes$8.classGTNormalClass),this.container.querySelector(`${selectors$b.tabContent}.${classes$8.classCurrent}`).classList.remove(classes$8.classGTBoldClass),this.container.querySelector(`${selectors$b.tabContent}.${classes$8.classCurrent}`).classList.remove(classes$8.classCurrent),element.classList.add(classes$8.classCurrent),element.classList.remove(classes$8.classGTNormalClass),element.classList.add(classes$8.classGTBoldClass),tab.classList.add(classes$8.classCurrent),tab.classList.remove(classes$8.classGTNormalClass),tab.classList.add(classes$8.classGTBoldClass),element.classList.contains(classes$8.classHide)&&tab.classList.add(classes$8.classHide),this.checkVisibleTabLinks(),this.container.dispatchEvent(new CustomEvent("theme:tab:change"))}initNativeScrollbar(){this.scrollbarHolder.length&&this.scrollbarHolder.forEach(scrollbar=>{new NativeScrollbar(scrollbar)})}checkVisibleTabLinks(){const tabsNavList=this.container.querySelectorAll(selectors$b.tabsLi),tabsNavListHided=this.container.querySelectorAll(`${selectors$b.tabLink}.${classes$8.classHide}`);tabsNavList.length-tabsNavListHided.length<2?this.container.classList.add(classes$8.classAlt):this.container.classList.remove(classes$8.classAlt)}checkRecentTab(){const tabLink=this.container.querySelector(selectors$b.tabLinkRecent);if(tabLink){tabLink.classList.remove(classes$8.classHide);const tabLinkIdx=parseInt(tabLink.getAttribute(selectors$b.dataTab)),tabContent=this.container.querySelector(`${selectors$b.tabContent}[${selectors$b.dataTabIndex}="${tabLinkIdx}"]`);tabContent&&tabContent.classList.remove(classes$8.classHide),this.checkVisibleTabLinks(),this.initNativeScrollbar()}}hideRelatedTab(){const relatedSection2=this.container.querySelector(selectors$b.dataRelatedSectionElem);if(!relatedSection2)return;const parentTabContent=relatedSection2.closest(`${selectors$b.tabContent}.${classes$8.classCurrent}`);if(!parentTabContent)return;const parentTabContentIdx=parseInt(parentTabContent.getAttribute(selectors$b.dataTabIndex)),tabsNavList=this.container.querySelectorAll(selectors$b.tabsLi);if(tabsNavList.length>parentTabContentIdx){const nextTabsNavLink=tabsNavList[parentTabContentIdx].nextElementSibling;nextTabsNavLink&&(tabsNavList[parentTabContentIdx].classList.add(classes$8.classHide),nextTabsNavLink.dispatchEvent(new Event("click")),this.initNativeScrollbar())}}onBlockSelect(evt){const element=this.container.querySelector(`${selectors$b.tabLink}[${selectors$b.blockId}="${evt.detail.blockId}"]`);element&&(element.dispatchEvent(new Event("click")),element.parentNode.scrollTo({top:0,left:element.offsetLeft-element.clientWidth,behavior:"smooth"}))}}const tabs={onLoad(){sections$4[this.id]=[],this.container.querySelectorAll(selectors$b.dataTabsHolder).forEach(holder=>{sections$4[this.id].push(new GlobalTabs(holder))})}
15,onBlockSelect(e){sections$4[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockSelect(e)})}},selectors$a={urlInput:"[data-share-url]",section:"data-section-type",shareDetails:"[data-share-details]",shareSummary:"[data-share-summary]",shareCopy:"[data-share-copy]",shareButton:"[data-share-button]",closeButton:"[data-close-button]",successMessage:"[data-success-message]",shareHolder:"[data-share-holder]"},classes$7={hidden:"is-hidden"};class ShareButton extends HTMLElement{constructor(){super(),this.container=this.closest(`[${selectors$a.section}]`),this.mainDetailsToggle=this.querySelector(selectors$a.shareDetails),this.shareButton=this.querySelector(selectors$a.shareButton),this.shareCopy=this.querySelector(selectors$a.shareCopy),this.shareSummary=this.querySelector(selectors$a.shareSummary),this.closeButton=this.querySelector(selectors$a.closeButton),this.successMessage=this.querySelector(selectors$a.successMessage),this.shareHolder=this.querySelector(selectors$a.shareHolder),this.urlInput=this.querySelector(selectors$a.urlInput),this.urlToShare=this.urlInput?this.urlInput.value:document.location.href,this.init(),this.updateShareLink()}init(){navigator.share?(this.mainDetailsToggle.classList.add(classes$7.hidden),this.shareButton.classList.remove(classes$7.hidden),this.shareButton.addEventListener("click",()=>{navigator.share({url:this.urlToShare,title:document.title})})):(this.mainDetailsToggle.addEventListener("toggle",this.toggleDetails.bind(this)),this.mainDetailsToggle.addEventListener("focusout",()=>{setTimeout(()=>{this.contains(document.activeElement)||this.close()})}),this.shareCopy.addEventListener("click",this.copyToClipboard.bind(this)),this.closeButton.addEventListener("click",this.close.bind(this)),this.container.addEventListener("keyup",this.keyboardEvents.bind(this)))}updateShareLink(){this.container.getAttribute(selectors$a.section)=="product"&&this.container.addEventListener("theme:variant:change",event=>{event.detail.variant&&(this.urlToShare=`${this.urlToShare.split("?")[0]}?variant=${event.detail.variant.id}`,this.urlInput&&(this.urlInput.value=`${this.urlToShare.split("?")[0]}?variant=${event.detail.variant.id}`))})}toggleDetails(){this.mainDetailsToggle.open||(this.successMessage.classList.add(classes$7.hidden),this.successMessage.textContent="",this.closeButton.classList.add(classes$7.hidden),this.shareCopy.focus())}copyToClipboard(){navigator.clipboard.writeText(this.urlInput.value).then(()=>{this.successMessage.classList.remove(classes$7.hidden),this.successMessage.textContent=theme.strings.successMessage,this.closeButton.classList.remove(classes$7.hidden),this.closeButton.focus()})}close(){this.mainDetailsToggle.removeAttribute("open"),this.shareSummary.setAttribute("aria-expanded",!1)}keyboardEvents(e){e.code==="Escape"&&(this.mainDetailsToggle.focus(),this.close())}}const selectors$9={groupImage:"data-image-filter",slider:"[data-product-slideshow]",thumbSlider:"[data-product-thumbs]",thumbs:"[data-slideshow-thumbnail]",slides:"[data-media-slide]"},classes$6={hide:"hide",flickityEnable:"flickity-enabled"};class GroupVariantImages{constructor(section){this.section=section,this.container=section.container,this.slider=this.container.querySelector(selectors$9.slider),this.thumbSlider=this.container.querySelector(selectors$9.thumbSlider),this.thumbs=this.container.querySelectorAll(selectors$9.thumbs),this.slides=this.container.querySelectorAll(selectors$9.slides),this.variantImage=null,this.listen()}listen(){this.container.addEventListener("theme:variant:change",event=>{event.detail.variant&&(this.variantImage=event.detail.variant.featured_image,this.filterImages())})}filterImages(){this.variantImage!==null&&this.variantImage.alt!==null?(this.variantImageAlt=this.variantImage.alt.split("#")[1],this.showImages()):this.resetImages(),this.refreshSliders()}resetImages(){this.thumbs.forEach(thumb=>
15thumb.classList.remove(classes$6.hide)),this.slides.forEach(slide=>slide.classList.remove(classes$6.hide))}showImages(){this.thumbs.forEach(thumb=>{thumb.getAttribute(selectors$9.groupImage)===""||thumb.getAttribute(selectors$9.groupImage)===this.variantImageAlt?thumb.classList.remove(classes$6.hide):thumb.classList.add(classes$6.hide)}),this.slides.forEach(slide=>{slide.getAttribute(selectors$9.groupImage)===""||slide.getAttribute(selectors$9.groupImage)===this.variantImageAlt?slide.classList.remove(classes$6.hide):slide.classList.add(classes$6.hide)})}refreshSliders(){if(this.slider!==null&&this.slider.classList.contains(classes$6.flickityEnable)){const slider=FlickityFade.data(this.slider);typeof slider<"u"&&slider.reloadCells()}if(this.thumbSlider!==null&&this.thumbSlider.classList.contains(classes$6.flickityEnable)){const thumbSlider=FlickitySync.data(this.thumbSlider);typeof thumbSlider<"u"&&thumbSlider.reloadCells()}}}const selectors$8={productJson:"[data-product-json]",zoomButton:"[data-zoom-button]",toggleTruncateHolder:"[data-truncated-holder]",toggleTruncateButton:"[data-truncated-button]",toggleTruncateContent:"data-truncated-content"},classes$5={classExpanded:"is-expanded",classVisible:"is-visible"},sections$3=[];class ProductTemplate{constructor(section){this.section=section,this.id=section.id,this.container=section.container,this.settings=section.settings,modal(this.id),this.media=new Media(section),new GroupVariantImages(section);const productJSON=this.container.querySelector(selectors$8.productJson);if(productJSON&&productJSON.innerHTML!=="")this.product=JSON.parse(productJSON.innerHTML);else{console.error("Missing product JSON");return}this.truncateElementHolder=this.container.querySelector(selectors$8.toggleTruncateHolder),this.truncateElement=this.container.querySelector(`[${selectors$8.toggleTruncateContent}]`),this.resizeEventTruncate=()=>this.truncateText(),this.init()}init(){}truncateText(){if(this.truncateElementHolder.classList.contains(classes$5.classVisible))return;const styles2=this.truncateElement.querySelectorAll("style");styles2.length&&styles2.forEach(style=>{this.truncateElementHolder.prepend(style)});const truncateElementCloned=this.truncateElement.cloneNode(!0),truncateElementClass=this.truncateElement.getAttribute(selectors$8.toggleTruncateContent),truncateNextElement=this.truncateElement.nextElementSibling;truncateNextElement&&truncateNextElement.remove(),this.truncateElement.parentElement.append(truncateElementCloned);const truncateAppendedElement=this.truncateElement.nextElementSibling;truncateAppendedElement.classList.add(truncateElementClass),truncateAppendedElement.removeAttribute(selectors$8.toggleTruncateContent),showElement(truncateAppendedElement),ellipsis(truncateAppendedElement,5,{replaceStr:"",delimiter:" "}),hideElement(truncateAppendedElement),this.truncateElement.innerHTML!==truncateAppendedElement.innerHTML?this.truncateElementHolder.classList.add(classes$5.classExpanded):(truncateAppendedElement.remove(),this.truncateElementHolder.classList.remove(classes$5.classExpanded)),this.toggleTruncatedContent(this.truncateElementHolder)}toggleTruncatedContent(holder){const toggleButton=holder.querySelector(selectors$8.toggleTruncateButton);toggleButton&&toggleButton.addEventListener("click",e=>{e.preventDefault(),holder.classList.remove(classes$5.classExpanded),holder.classList.add(classes$5.classVisible)})}onBlockSelect(event){const block=this.container.querySelector(`[data-block-id="${event.detail.blockId}"]`);block&&block.dispatchEvent(new Event("click"))}onBlockDeselect(event){const block=this.container.querySelector(`[data-block-id="${event.detail.blockId}"]`);block&&block.dispatchEvent(new Event("click"))}onUnload(){this.media.destroy(),this.truncateElementHolder&&this.truncateElement&&document.removeEventListener("theme:resize",this.resizeEventTruncate)}}register("product",[{onLoad(){sections$3[this.id]=new ProductTemplate(this)},onUnload(){typeof sections$3[this.id].unload=="function"&&sections$3[this.id].unload()},onBlockSelect(evt){typeof sections$3[this.id].onBlockSelect=="function"&&sections$3[this.id].onBlockSelect(evt)},onBlockDeselect(evt){typeof sections$3[this.id].onBlockDeselect=="function"&&sections$3[this.id].onBlockDeselect(evt)}},pickupAvailability,accordion,tabs,swapperSection]),customElements.get("product-form")||customElements.define("product-form",ProductForm),
15customElements.get("product-complimentary")||customElements.define("product-complimentary",ProductComplimentary),customElements.get("radio-swatch")||customElements.define("radio-swatch",RadioSwatch),customElements.get("popout-select")||customElements.define("popout-select",PopoutSelect),customElements.get("share-button")||customElements.define("share-button",ShareButton);const selectors$7={toggle:"data-toggle-grid",large:"data-grid-large",small:"data-grid-small"},classes$4={active:"is-active"},options={breakpoint:window.theme.sizes.small};var sections$2={};class Toggle{constructor(toggle,container){this.container=container||document,this.toggle=toggle,this.value=this.toggle.getAttribute(selectors$7.toggle),this.toggleFunction=evt=>this.toggleEvent(evt),this.init()}init(){this.toggle.addEventListener("click",this.toggleFunction),document.addEventListener("theme:resize:width",this.toggleFunction),this.toggleEvent(!1)}unload(){this.toggle.removeEventListener("click",this.toggleFunction),document.removeEventListener("theme:resize:width",this.toggleFunction)}toggleEvent(evt=!0){const clickEvent=evt&&evt.type==="click",selector=window.innerWidth>=options.breakpoint?selectors$7.large:selectors$7.small,grid=this.container.querySelector(`[${selector}]`),gridNumber=grid.getAttribute(selector),activeToggle=this.toggle.parentElement.querySelector(`[${selectors$7.toggle}].${classes$4.active}`);let currentToggle=this.toggle.parentElement.querySelector(`[${selectors$7.toggle}="${gridNumber}"]`);clickEvent&&(currentToggle=this.toggle,grid.setAttribute(selector,this.value)),activeToggle&&activeToggle.classList.remove(classes$4.active),currentToggle&&currentToggle.classList.add(classes$4.active)}}const toggleSection={onLoad(){sections$2[this.id]=[],this.container.querySelectorAll(`[${selectors$7.toggle}]`).forEach(button=>{sections$2[this.id].push(new Toggle(button,this.container))})},onUnload:function(){sections$2[this.id].forEach(toggle=>{typeof toggle.unload=="function"&&toggle.unload()})}},selectors$6={sort:"data-sort-enabled",sortLinks:"[data-sort-link]",sortButtonText:"[data-sort-button-text]",sortValue:"data-value"},classes$3={active:"popout-list__item--current"};class Sort{constructor(section){this.container=section.container,this.sort=this.container.querySelector(`[${selectors$6.sort}]`),this.sortLinks=this.container.querySelectorAll(selectors$6.sortLinks),this.sortButtonText=this.container.querySelector(selectors$6.sortButtonText),this.sort&&this.init()}init(){this.sortLinks.forEach(link=>{link.addEventListener("click",e=>{e.preventDefault(),this.sortingResults(e)})})}sortingResults(e){const link=e.currentTarget,sort=link.getAttribute(selectors$6.sortValue),text=link.innerText;this.sortButtonText.innerText=text,this.sortButtonText.parentNode.dispatchEvent(new Event("click")),this.sort.querySelector(`.${classes$3.active}`).classList.remove(classes$3.active),link.parentNode.classList.add(classes$3.active),this.sort.setAttribute(selectors$6.sort,sort),this.container.dispatchEvent(new CustomEvent("theme:form:filter",{bubbles:!0,detail:{params:sort}}))}}var selectors$5={swatch:"data-swatch"};class Collection{constructor(section){this.section=section,this.container=this.section.container,this.swatches=this.container.querySelectorAll(`[${selectors$5.swatch}]`),this.init()}init(){new Sort(this.section)}}register("collection",[{onLoad(){this.collection=new Collection(this)}},collectionFiltersSidebar,collectionFiltersForm,toggleSection,swatchGridSection,accordion,siblings]),customElements.get("popout-select")||customElements.define("popout-select",PopoutSelect),customElements.get("radio-swatch")||customElements.define("radio-swatch",RadioSwatch),customElements.get("product-grid-item")||customElements.define("product-grid-item",ProductGridItem),customElements.get("product-grid-item-variant")||customElements.define("product-grid-item-variant",ProductGridItemVariant),customElements.get("product-grid-item-image")||customElements.define("product-grid-item-image",ProductGridItemImage),register("collection-row",[swatchGridSection,siblings,customScrollbar]),customElements.get("radio-swatch")||customElements.define("radio-swatch",RadioSwatch),customElements.get("product-grid-item")||customElements.define("product-grid-item",ProductGridItem),customElements.get("product-grid-item-variant")||customElements.define("product-grid-item-variant",ProductGridItemVariant),customElements.get("product-grid-item-image")||customElements.define("product-grid-item-image",ProductGridItemImage),register("collection-tabs",[tabs,productSliderSection,swatchGridSection]),customElements.get("radio-swatch")||customElements.define("radio-swatch",RadioSwatch),customElements.get("product-grid-item")||customElements.define("product-grid-item",ProductGridItem),customElements.get("product-grid-item-variant")||customElements.define("product-grid-item-variant",ProductGridItemVariant),customElements.get("product-grid-item-image")||customElements.define("product-grid-item-image",ProductGridItemImage);var styles={};styles.basic=[],styles.light=[{featureType:"administrative",elementType:"labels",stylers:[{visibility:"on"},{lightness:"64"},{hue:"#ff0000"}]},{featureType:"administrative",elementType:"labels.text.fill",stylers:[{color:"#bdbdbd"}]},{featureType:"administrative",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"landscape",elementType:"all",stylers:[{color:"#f0f0f0"},{visibility:"simplified"}]},{featureType:"landscape.natural.landcover",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"landscape.natural.terrain",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"geometry.fill",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"labels",stylers:[{lightness:"100"}]},{featureType:"poi.park",elementType:"all",stylers:[{visibility:"on"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{saturation:"-41"},{color:"#e8ede7"}]},{featureType:"poi.park",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"all",stylers:[{saturation:"-100"}]},{featureType:"road",elementType:"labels",stylers:[{lightness:"25"},{gamma:"1.06"},{saturation:"-100"}]},{featureType:"road.highway",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{gamma:"10.00"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{weight:"0.01"},{visibility:"simplified"}]},{featureType:"road.highway",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{weight:"0.01"}]},{featureType:"road.highway",elementType:"labels.text.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.arterial",elementType:"geometry.fill",stylers:[{weight:"0.8"}]},{featureType:"road.arterial",elementType:"geometry.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.arterial",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.local",elementType:"geometry.fill",stylers:[{weight:"0.01"}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{gamma:"10.00"},{lightness:"100"},{weight:"0.4"}]},{featureType:"road.local",elementType:"labels",stylers:[{visibility:"simplified"},{weight:"0.01"},{lightness:"39"}]},{featureType:"road.local",elementType:"labels.text.stroke",stylers:[{weight:"0.50"},{gamma:"10.00"},{lightness:"100"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"all",stylers:[{color:"#cfe5ee"},{visibility:"on"}]}],styles.light_blank=[{featureType:"all",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"administrative",elementType:"labels",stylers:[{visibility:"off"},{lightness:"64"},{hue:"#ff0000"}]},{featureType:"administrative",elementType:"labels.text.fill",stylers:[{color:"#bdbdbd"}]},{featureType:"administrative",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"landscape",elementType:"all",stylers:[{color:"#f0f0f0"},{visibility:"simplified"}]},{featureType:"landscape.natural.landcover",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"landscape.natural.terrain",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"geometry.fill",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"labels",stylers:[{lightness:"100"}]},{featureType:"poi.park",elementType:"all",stylers:[{visibility:"on"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{saturation:"-41"},{color:"#e8ede7"}]},{featureType:"poi.park",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"all",stylers:[{saturation:"-100"}]},{featureType:"road",elementType:"labels",stylers:[{lightness:"25"},{gamma:"1.06"},{saturation:"-100"},{visibility:"off"}]},{featureType:"road.highway",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{gamma:"10.00"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{weight:"0.01"},{visibility:"simplified"}]},{featureType:"road.highway",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{weight:"0.01"}]},{featureType:"road.highway",elementType:"labels.text.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.arterial",elementType:"geometry.fill",stylers:[{weight:"0.8"}]},{featureType:"road.arterial",elementType:"geometry.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.arterial",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.local",elementType:"geometry.fill",stylers:[{weight:"0.01"}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{gamma:"10.00"},{lightness:"100"},{weight:"0.4"}]},{featureType:"road.local",elementType:"labels",stylers:[{visibility:"off"},{weight:"0.01"},{lightness:"39"}]},{featureType:"road.local",elementType:"labels.text.stroke",stylers:[{weight:"0.50"},{gamma:"10.00"},{lightness:"100"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"all",stylers:[{color:"#cfe5ee"},{visibility:"on"}]}],styles.white_blank=[{featureType:"all",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"administrative",elementType:"labels.text.fill",stylers:[{color:"#444444"}]},{featureType:"landscape",elementType:"all",stylers:[{color:"#f2f2f2"}]},{featureType:"poi",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"all",stylers:[{saturation:-100},{lightness:45}]},{featureType:"road.highway",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{weight:"0.8"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{weight:"0.8"}]},{featureType:"road.highway",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{weight:"0.8"}]},{featureType:"road.highway",elementType:"labels.text.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.arterial",elementType:"geometry.stroke",stylers:[{weight:"0"}]},{featureType:"road.arterial",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{weight:"0.01"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"all",stylers:[{color:"#e4e4e4"},{visibility:"on"}]}],styles.white_label=[{featureType:"all",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"all",elementType:"labels",stylers:[{visibility:"simplified"}]},{featureType:"administrative",elementType:"labels",stylers:[{gamma:"3.86"},{lightness:"100"}]},{featureType:"administrative",elementType:"labels.text.fill",stylers:[{color:"#cccccc"}]},{featureType:"landscape",elementType:"all",stylers:[{color:"#f2f2f2"}]},{featureType:"poi",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"all",stylers:[{saturation:-100},{lightness:45}]},{featureType:"road.highway",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{weight:"0.8"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{weight:"0.8"}]},{featureType:"road.highway",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{weight:"0.8"}]},{featureType:"road.highway",elementType:"labels.text.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.arterial",elementType:"geometry.stroke",stylers:[{weight:"0"}]},{featureType:"road.arterial",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.local",elementType:"labels.text",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"all",stylers:[{color:"#e4e4e4"},{visibility:"on"}]}],styles.dark_blank=[{featureType:"all",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"all",elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#000000"},{lightness:40}]},{featureType:"all",elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#000000"},{lightness:16}]},{featureType:"all",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#000000"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#000000"},{lightness:17},{weight:1.2}]},{featureType:"administrative",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#000000"},{lightness:20}]},{featureType:"landscape",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#000000"},{lightness:21}]},{featureType:"road",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#000000"},{lightness:17},{weight:"0.8"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#000000"},{lightness:29},{weight:"0.01"}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#000000"},{lightness:18}]},{featureType:"road.arterial",elementType:"geometry.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#000000"},{lightness:16}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{weight:"0.01"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#000000"},{lightness:19}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#000000"},{lightness:17}]}],styles.dark_label=[{featureType:"all",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"all",elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#000000"},{lightness:40}]},{featureType:"all",elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#000000"},{lightness:16}]},{featureType:"all",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#000000"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#000000"},{lightness:17},{weight:1.2}]},{featureType:"administrative",elementType:"labels",stylers:[{visibility:"simplified"},{lightness:"-82"}]},{featureType:"administrative",elementType:"labels.text.stroke",stylers:[{invert_lightness:!0}
15,{weight:"7.15"}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#000000"},{lightness:20}]},{featureType:"landscape",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#000000"},{lightness:21}]},{featureType:"road",elementType:"labels",stylers:[{visibility:"simplified"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#000000"},{lightness:17},{weight:"0.8"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#000000"},{lightness:29},{weight:"0.01"}]},{featureType:"road.highway",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#000000"},{lightness:18}]},{featureType:"road.arterial",elementType:"geometry.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#000000"},{lightness:16}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{weight:"0.01"}]},{featureType:"road.local",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#000000"},{lightness:19}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#000000"},{lightness:17}]}];function mapStyle(key){return styles[key]}window.theme.allMaps=window.theme.allMaps||{};let allMaps=window.theme.allMaps;const selectors$4={mapContainer:"[data-map-container]",style:"data-style",apiKey:"data-api-key",zoom:"data-zoom",address:"data-address",latLongCorrection:"data-latlong-correction",lat:"data-lat",long:"data-long"};class Map{constructor(section){this.container=section.container,this.mapWrap=this.container.querySelector(selectors$4.mapContainer),this.styleString=this.container.getAttribute(selectors$4.style)||"",this.key=this.container.getAttribute(selectors$4.apiKey),this.zoomString=this.container.getAttribute(selectors$4.zoom)||14,this.address=this.container.getAttribute(selectors$4.address),this.enableCorrection=this.container.getAttribute(selectors$4.latLongCorrection),this.lat=this.container.getAttribute(selectors$4.lat),this.long=this.container.getAttribute(selectors$4.long),this.key&&this.initMaps()}initMaps(){const urlKey=`https://maps.googleapis.com/maps/api/js?key=${this.key}`;loadScript({url:urlKey}).then(()=>this.enableCorrection==="true"&&this.lat!==""&&this.long!==""?new window.google.maps.LatLng(this.lat,this.long):geocodeAddressPromise(this.address)).then(center=>{var zoom=parseInt(this.zoomString,10);const styles2=mapStyle(this.styleString);var mapOptions={zoom,styles:styles2,center,draggable:!0,clickableIcons:!1,scrollwheel:!1,zoomControl:!1,disableDefaultUI:!0};return createMap(this.mapWrap,mapOptions)}).then(map=>{this.map=map,allMaps[this.id]=map}).catch(e=>{console.log("Failed to load Google Map"),console.log(e)})}onUnload(){typeof window.google<"u"&&window.google.maps.event.clearListeners(this.map,"resize")}}function createMap(container,options2){var map=new window.google.maps.Map(container,options2),center=map.getCenter();return new window.google.maps.Marker({map,position:center}),window.google.maps.event.addDomListener(window,"resize",function(){window.google.maps.event.trigger(map,"resize"),map.setCenter(center)}),map}function geocodeAddressPromise(address){return new Promise((resolve,reject)=>{var geocoder=new window.google.maps.Geocoder;geocoder.geocode({address},function(results,status){if(status=="OK"){var latLong={lat:results[0].geometry.location.lat(),lng:results[0].geometry.location.lng()};resolve(latLong)}else reject(status)})})}register("section-map",{onLoad(){allMaps[this.id]=new Map(this)},onUnload(){typeof allMaps[this.id].unload=="function"&&allMaps[this.id].unload()}}),register("section-columns",[popupVideoSection,customScrollbar]);const selectors$3={dataRelatedSectionElem:"[data-related-section]",dataRelatedProduct:"[data-grid-item]",carousel:"[data-carousel]",dataLimit:"data-limit",dataMinimum:"data-minimum",dataLargeLayout:"data-layout-desktop",dataMediumLayout:"data-layout-tablet",dataSmallLayout:"data-layout-mobile",recentlyViewed:"[data-recent-wrapper]",recentlyViewedWrapper:"[data-recently-viewed-wrapper]",productId:"data-product-id"};class Related{constructor(section){this.section=section,this.container=section.container,this.init(),this.container.addEventListener("theme:recent-products:added",()=>{this.recent()})}init(){const relatedSection2=this.container.querySelector(selectors$3.dataRelatedSectionElem);if(!relatedSection2)return;const productId=relatedSection2.getAttribute(selectors$3.productId),limit=relatedSection2.getAttribute(selectors$3.dataLimit),layoutLarge=relatedSection2.getAttribute(selectors$3.dataLargeLayout),layoutMedium=relatedSection2.getAttribute(selectors$3.dataMediumLayout),layoutSmall=relatedSection2.getAttribute(selectors$3.dataSmallLayout),requestUrl=`${window.theme.routes.product_recommendations_url||"/recommendations/products/"}
15?section_id=related&limit=${limit}&product_id=${productId}`;axios.get(requestUrl).then(response=>{const fresh=document.createElement("div");fresh.innerHTML=response.data;const inner=fresh.querySelector(selectors$3.dataRelatedSectionElem);if(inner.querySelector(selectors$3.dataRelatedProduct)){const innerHtml=inner.innerHTML;relatedSection2.innerHTML=innerHtml,relatedSection2.querySelector(selectors$3.carousel).style.setProperty("--grid-large-items",layoutLarge),relatedSection2.querySelector(selectors$3.carousel).style.setProperty("--grid-medium-items",layoutMedium),relatedSection2.querySelector(selectors$3.carousel).style.setProperty("--grid-small-items",layoutSmall),relatedSection2.dispatchEvent(new CustomEvent("theme:related-products:added",{bubbles:!0}))}else relatedSection2.dispatchEvent(new CustomEvent("theme:tabs:hide",{bubbles:!0}))}).catch(function(error){console.warn(error)})}recent(){const recentlyViewedHolder=this.container.querySelector(selectors$3.recentlyViewed),recentlyViewedWrapper=this.container.querySelector(selectors$3.recentlyViewedWrapper),recentProducts2=this.container.querySelectorAll(selectors$3.dataRelatedProduct),minimumNumberProducts=recentlyViewedHolder.hasAttribute(selectors$3.dataMinimum)?parseInt(recentlyViewedHolder.getAttribute(selectors$3.dataMinimum)):4,checkRecentInRelated=!recentlyViewedWrapper&&recentProducts2.length>0,checkRecentOutsideRelated=recentlyViewedWrapper&&recentProducts2.length>=minimumNumberProducts;(checkRecentInRelated||checkRecentOutsideRelated)&&recentlyViewedHolder.dispatchEvent(new CustomEvent("theme:tabs:check",{bubbles:!0}))}}register("related",[{onLoad(){this.section=new Related(this)}},tabs,recentProducts]),customElements.get("radio-swatch")||customElements.define("radio-swatch",RadioSwatch),customElements.get("product-grid-item")||customElements.define("product-grid-item",ProductGridItem),customElements.get("product-grid-item-variant")||customElements.define("product-grid-item-variant",ProductGridItemVariant),customElements.get("product-grid-item-image")||customElements.define("product-grid-item-image",ProductGridItemImage);const selectors$2={ajaxDisable:"data-ajax-disable",shipping:"[data-shipping-estimate-form]",input:"[data-update-cart]",update:"[data-update-button]",bottom:"[data-cart-bottom]",upsellWrapper:"[data-cart-page-upsell-wrapper]"},classes$2={dirty:"cart--dirty",heartBeat:"heart-beat"},cartSection={onLoad(){if(this.container.querySelector(selectors$2.shipping)&&new ShippingCalculator(this),this.disabled=this.container.getAttribute(selectors$2.ajaxDisable)=="true",this.disabled){this.cart=new DisabledCart(this);return}this.cart=new CartItems(this),this.cart.init().then(()=>{this.cart.loadHTML()})}};class DisabledCart{constructor(section){window.theme.state.cartOpen=!0,this.section=section,this.container=section.container,this.inputs=this.container.querySelectorAll(selectors$2.input),this.quantityWrappers=this.container.querySelectorAll(selectors$2.qty),this.updateBtn=this.container.querySelector(selectors$2.update),this.upsellWrapper=this.container.querySelector(selectors$2.upsellWrapper),this.initQuantity(),this.initInputs(),this.upsellWrapper&&this.moveUpsell()}initQuantity(){initQtySection(this.container)}moveUpsell(){const bottom=this.container.querySelector(selectors$2.bottom);bottom.insertBefore(this.upsellWrapper,bottom.firstChild)}initInputs(){this.inputs.forEach(input=>{input.addEventListener("change",function(){this.updateBtn.classList.add(classes$2.dirty),this.updateBtn.classList.add(classes$2.heartBeat),setTimeout(function(){this.updateBtn.classList.remove(classes$2.heartBeat)}.bind(this),1300)}.bind(this))})}}register("cart",[cartSection,accordion]),register("accordion-single",accordion);const fadeIn=(el,display,callback=null)=>{el.style.opacity=0,el.style.display=display||"block",(function fade(){let val=parseFloat(el.style.opacity);(val+=.1)>1||(el.style.opacity=val,requestAnimationFrame(fade)),val===1&&typeof callback=="function"&&callback()})()},fadeOut=(el,callback=null)=>{el.style.opacity=1,(function fade(){(el.style.opacity-=.1)<0?el.style.display="none":requestAnimationFrame(fade),parseFloat(el.style.opacity)===0&&typeof callback=="function"&&callback()})()},selectors$1={tracking:"[data-tracking-consent]",trackingAccept:"[data-confirm-cookies]",close:"[data-close-modal]",popupInner:"[data-popup-inner]",newsletterPopup:"[data-newsletter]",newsletterPopupHolder:"[data-newsletter-holder]",newsletterField:"[data-newsletter-field]",newsletterForm:"[data-newsletter-form]",promoPopup:"[data-promo-text]",delayAttribite:"data-popup-delay",cookieNameAttribute:"data-cookie-name",dataTargetReferrer:"data-target-referrer"}
15,classes$1={hide:"hide",hasValue:"has-value",success:"has-success",error:"has-error",desktop:"desktop",mobile:"mobile"};let sections$1={};class PopupCookie{constructor(name,value){this.configuration={expires:null,path:"/",domain:window.location.hostname},this.name=name,this.value=value}write(){(document.cookie.indexOf("; ")!==-1&&!document.cookie.split("; ").find(row=>row.startsWith(this.name))||document.cookie.indexOf("; ")===-1)&&(document.cookie=`${this.name}=${this.value}; expires=${this.configuration.expires}; path=${this.configuration.path}; domain=${this.configuration.domain}`)}read(){return document.cookie.indexOf("; ")!==-1&&document.cookie.split("; ").find(row=>row.startsWith(this.name))?document.cookie.split("; ").find(row=>row.startsWith(this.name)).split("=")[1]:!1}destroy(){document.cookie.split("; ").find(row=>row.startsWith(this.name))&&(document.cookie=`${this.name}=null; expires=${this.configuration.expires}; path=${this.configuration.path}; domain=${this.configuration.domain}`)}}class DelayShow{constructor(holder,element){this.show=!0,this.element=element,this.delay=holder.getAttribute(selectors$1.delayAttribite),this.delay==="always"&&this.always(),this.delay==="delayed"&&this.delayed(),this.delay==="bottom"&&this.bottom(),this.delay==="idle"&&this.idle()}hide(){this.show=!1}always(){this.show&&fadeIn(this.element)}delayed(){setTimeout(()=>{this.always()},1e4)}bottom(){let raf2;const onScroll=()=>{raf2&&window.cancelAnimationFrame(raf2),raf2=window.requestAnimationFrame(()=>{window.requestIdleCallback(()=>{Math.round(window.scrollY+window.innerHeight)>=Math.round(document.body.clientHeight)&&(this.always(),window.removeEventListener("scroll",onScroll,{passive:!0}))},{timeout:300})})};window.addEventListener("scroll",onScroll,{passive:!0})}onScroll(){}idle(){let timer=0,idleTime=6e4;const documentEvents=["mousemove","mousedown","click","touchmove","touchstart","touchend","keydown","keypress"],windowEvents=["load","resize","scroll"],startTimer=()=>{timer=setTimeout(()=>{timer=0,this.always()},idleTime),documentEvents.forEach(eventType=>{document.addEventListener(eventType,resetTimer)}),windowEvents.forEach(eventType=>{window.addEventListener(eventType,resetTimer)})},resetTimer=()=>{timer&&clearTimeout(timer),documentEvents.forEach(eventType=>{document.removeEventListener(eventType,resetTimer)}),windowEvents.forEach(eventType=>{window.removeEventListener(eventType,resetTimer)}),startTimer()};startTimer()}}class TargetReferrer{constructor(el){this.el=el,this.locationPath=location.href,this.el.hasAttribute(selectors$1.dataTargetReferrer)&&this.init()}init(){this.locationPath.indexOf(this.el.getAttribute(selectors$1.dataTargetReferrer))===-1&&!window.Shopify.designMode&&this.el.parentNode.removeChild(this.el)}}class Tracking{constructor(el){this.popup=el,this.modal=document.querySelector(selectors$1.tracking),this.modalInner=this.popup.querySelector(selectors$1.popupInner),this.close=this.modal.querySelector(selectors$1.close),this.acceptButton=this.modal.querySelector(selectors$1.trackingAccept),this.enable=this.modal.getAttribute("data-enable")==="true",this.showPopup=!1,window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],error=>{if(error)throw error;const userCanBeTracked=window.Shopify.customerPrivacy.userCanBeTracked(),userTrackingConsent=window.Shopify.customerPrivacy.getTrackingConsent();this.showPopup=!userCanBeTracked&&userTrackingConsent==="no_interaction"&&this.enable,window.Shopify.designMode&&(this.showPopup=!0),this.init()})}init(){this.showPopup&&fadeIn(this.modalInner),this.clickEvents()}clickEvents(){this.close.addEventListener("click",event=>{event.preventDefault(),window.Shopify.customerPrivacy.setTrackingConsent(!1,()=>fadeOut(this.modalInner))}),this.acceptButton.addEventListener("click",event=>{event.preventDefault(),window.Shopify.customerPrivacy.setTrackingConsent(!0,()=>fadeOut(this.modalInner))}),document.addEventListener("trackingConsentAccepted",function(){console.log("trackingConsentAccepted event fired")})}onBlockSelect(evt){this.popup.contains(evt.target)&&this.showPopup&&fadeIn(this.modalInner)}onBlockDeselect(evt){this.popup.contains(evt.target)&&fadeOut(this.modalInner)}}class PromoText{constructor(el){this.popup=el,this.popupInner=this.popup.querySelector(selectors$1.popupInner),this.close=this.popup.querySelector(selectors$1.close),this.cookie=new PopupCookie(this.popup.getAttribute(selectors$1.cookieNameAttribute),"user_has_closed"),this.isTargeted=new TargetReferrer(this.popup),this.hasDeviceClass="",this.init()}init(){(!(this.cookie.read()!==!1)||window.Shopify.designMode)&&(window.Shopify.designMode?fadeIn(this.popupInner):new DelayShow(this.popup,this.popupInner),this.clickEvents())}clickEvents(){this.close.addEventListener("click",event=>{event.preventDefault(),fadeOut(this.popupInner),this.cookie.write()})}
15onBlockSelect(evt){this.popup.classList.contains(classes$1.mobile)&&(this.hasDeviceClass=classes$1.mobile),this.popup.classList.contains(classes$1.desktop)&&(this.hasDeviceClass=classes$1.desktop),this.hasDeviceClass!==""&&this.popup.classList.remove(this.hasDeviceClass),this.popup.contains(evt.target)&&fadeIn(this.popupInner)}onBlockDeselect(evt){this.popup.contains(evt.target)&&fadeOut(this.popupInner),this.hasDeviceClass!==""&&this.popup.classList.add(this.hasDeviceClass)}}class NewsletterPopup{constructor(el){this.popup=el,this.popupInner=this.popup.querySelector(selectors$1.popupInner),this.holder=this.popup.querySelector(selectors$1.newsletterPopupHolder),this.close=this.popup.querySelector(selectors$1.close),this.newsletterField=this.popup.querySelector(selectors$1.newsletterField),this.cookie=new PopupCookie(this.popup.getAttribute(selectors$1.cookieNameAttribute),"newsletter_is_closed"),this.form=this.popup.querySelector(selectors$1.newsletterForm),this.isTargeted=new TargetReferrer(this.popup),this.delayShow=null,this.init()}init(){(!(this.cookie.read()!==!1)||window.Shopify.designMode)&&(this.show(),this.checkForSuccess())}show(){window.Shopify.designMode?fadeIn(this.popupInner):this.delayShow=new DelayShow(this.popup,this.popupInner),this.inputField(),this.closePopup()}preventDelayShow(){this.delayShow&&this.delayShow.hide()}checkForSuccess(){const hasError=this.form.classList.contains(classes$1.error),hasSuccess=this.form.classList.contains(classes$1.success);(hasSuccess||hasError)&&(fadeIn(this.popupInner),this.preventDelayShow(),hasSuccess&&this.cookie.write())}closePopup(){this.close.addEventListener("click",event=>{event.preventDefault(),fadeOut(this.popupInner),this.cookie.write(),this.preventDelayShow()})}inputField(){this.newsletterField.addEventListener("input",()=>{this.newsletterField.value!==""&&this.holder.classList.add(classes$1.hasValue,this.newsletterField.value!=="")}),this.newsletterField.addEventListener("focus",()=>{this.newsletterField.value!==""&&this.holder.classList.add(classes$1.hasValue,this.newsletterField.value!=="")}),this.newsletterField.addEventListener("focusout",()=>{setTimeout(()=>{this.holder.classList.remove(classes$1.hasValue)},2e3)})}onBlockSelect(evt){this.popup.contains(evt.target)&&fadeIn(this.popupInner)}onBlockDeselect(evt){this.popup.contains(evt.target)&&fadeOut(this.popupInner)}}register("popups",[newsletterCheckForResultSection,{onLoad(){sections$1[this.id]=[],this.container.querySelectorAll(selectors$1.tracking).forEach(el=>{sections$1[this.id].push(new Tracking(el))}),this.container.querySelectorAll(selectors$1.newsletterPopup).forEach(el=>{sections$1[this.id].push(new NewsletterPopup(el))}),this.container.querySelectorAll(selectors$1.promoPopup).forEach(el=>{sections$1[this.id].push(new PromoText(el))})},onBlockSelect(evt){sections$1[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockSelect(evt)})},onBlockDeselect(evt){sections$1[this.id].forEach(el=>{typeof el.onBlockDeselect=="function"&&el.onBlockDeselect(evt)})}}]),register("tabs",tabs);const selectors={dot:"data-look-dot"},classes={active:"is-active",expand:"is-expanded"},sections={};class Look{constructor(section){this.section=section,this.container=this.section.container,this.dots=this.container.querySelectorAll(`[${selectors.dot}]`),this.currentDot=this.container.querySelector(`[${selectors.dot}].${classes.active}`),this.init()}init(){this.clickEventsDot=e=>this.clickEventShowProductsHolder(e),this.addEvents()}addEvents(){this.dots.forEach(dot=>{dot.addEventListener("click",this.clickEventsDot)})}clickEventShowProductsHolder(e){this.currentDot=e.currentTarget;const productHandle=this.currentDot.getAttribute("data-product-handle");productHandle&&productHandle!=="null"&&(e.preventDefault(),e.stopPropagation(),this.openQuickview(productHandle))}hideDots(dotId){this.container.querySelectorAll(`[data-look-dot="${dotId}"]`).forEach(dot=>{dot.style.display="none"})}openQuickview(handle){window.fetch(`${window.theme.routes.root_url}products/${handle}.json`).then(response=>{if(!response.ok){const dotId=this.currentDot.getAttribute("data-look-dot");this.hideDots(dotId);return}let quickviewElement=document.querySelector(`product-quickview[data-quickview="${handle}"]`);if(!quickviewElement){quickviewElement=document.createElement("product-quickview"),quickviewElement.setAttribute("data-quickview",handle);const quickviewHolder=document.createElement("div");quickviewHolder.setAttribute("data-quickview-holder",handle);const button=document.createElement("button");button.setAttribute(`data-popup-${handle}`,handle),button.style.display="none";const modalTemplate=document.createElement("script");modalTemplate.setAttribute("data-quickview-modal-template",""),modalTemplate.setAttribute("type","text/x-template"),modalTemplate.innerHTML=`
16              <div
17                class="drawer drawer--right quickview__modal"
18                data-quickview-modal
19                data-form-holder
20                id="${handle}"
21                aria-hidden="true"
22              >
23                <div class="drawer__content" data-product-quickview-ajax></div>
24                <span class="drawer__underlay" data-micromodal-close tabindex="-1">
25                  <span class="drawer__underlay__fill"></span>
26                  <span class="drawer__underlay__blur"></span>
27                </span>
28              </div>
29            `,quickviewHolder.appendChild(button),quickviewHolder.appendChild(modalTemplate),quickviewElement.appendChild(quickviewHolder),document.body.appendChild(quickviewElement)}setTimeout(()=>{const triggerButton=quickviewElement.querySelector(`[data-popup-${handle}]`);triggerButton&&triggerButton.click()},100)}).catch(()=>{const dotId=this.currentDot.getAttribute("data-look-dot");this.hideDots(dotId)})}removeEvents(){this.dots.forEach(dot=>{dot.removeEventListener("click",this.clickEventsDot)})}onUnload(){this.removeEvents()}}register("look",[{onLoad(){sections[this.id]=[],sections[this.id].push(new Look(this))},onUnload(){sections[this.id].forEach(el=>{typeof el.onUnload=="function"&&el.onUnload()})},onBlockSelect(e){sections[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockSelect(e)})},onBlockDeselect(e){sections[this.id].forEach(el=>{typeof el.onBlockDeselect=="function"&&el.onBlockDeselect(e)})}}]);const calloutSections={};class ProductAttributeCallouts{constructor(section){this.container=section.container,this.clickEvent=e=>this.clickEventHighlight(e),this.container.addEventListener("click",this.clickEvent)}clickEventHighlight(e){const trigger=e.target.closest("[data-pac-trigger]");!trigger||!this.container.contains(trigger)||this.setActive(trigger.getAttribute("data-pac-index"))}setActive(index){index&&(this.container.querySelectorAll("[data-pac-trigger]").forEach(trigger=>{const isActive=trigger.getAttribute("data-pac-index")===index;trigger.classList.toggle(classes.active,isActive),trigger.setAttribute("aria-pressed",isActive)}),this.container.querySelectorAll("[data-pac-item]").forEach(item=>{item.classList.toggle(classes.active,item.getAttribute("data-pac-index")===index)}))}onBlockSelect(e){const item=e.target.closest("[data-pac-item]");item&&this.setActive(item.getAttribute("data-pac-index"))}onUnload(){this.container.removeEventListener("click",this.clickEvent)}}register("product-attribute-callouts",[{onLoad(){calloutSections[this.id]=[],calloutSections[this.id].push(new ProductAttributeCallouts(this))},onUnload(){calloutSections[this.id].forEach(el=>{typeof el.onUnload=="function"&&el.onUnload()}),delete calloutSections[this.id]},onBlockSelect(e){calloutSections[this.id].forEach(el=>{typeof el.onBlockSelect=="function"&&el.onBlockSelect(e)})}}]);const wrap=(toWrap,wrapperClass="",wrapper)=>(wrapper=wrapper||document.createElement("div"),wrapper.classList.add(wrapperClass),toWrap.parentNode.insertBefore(wrapper,toWrap),wrapper.appendChild(toWrap));window.theme.settings.animate_scroll&&AOS.init({once:!0}),document.addEventListener("DOMContentLoaded",function(){const menuEl=document.querySelector("[data-header-height]");if(menuEl){const menuHeight=menuEl.clientHeight||0;document.documentElement.style.setProperty("--menu-height",`${menuHeight}px`)}load("*"),window.theme.settings.animate_hover&&document.body.classList.add("theme-animate-hover"),document.querySelectorAll(".rte table").forEach(table=>{wrap(table,"rte__table-wrapper")}),document.querySelectorAll('.rte iframe[src*="youtube.com/embed"], .rte iframe[src*="player.vimeo"], .rte iframe#admin_bar_iframe').forEach(frame=>{wrap(frame,"rte__video-wrapper")}),document.addEventListener("mousedown",()=>{document.body.classList.remove("focus-enabled")}),document.addEventListener("keyup",event=>{event.code==="Tab"&&document.body.classList.add("focus-enabled")}),document.addEventListener("pointerdown",event=>event.target.closest(".flickity-enabled")?.setAttribute("data-flickity-pointer-focus",""),!0),document.addEventListener("keydown",()=>document.querySelectorAll("[data-flickity-pointer-focus]").forEach(el=>el.removeAttribute("data-flickity-pointer-focus"))),document.addEventListener("focusout",event=>event.target.closest?.(".flickity-enabled")?.removeAttribute("data-flickity-pointer-focus"),!0),window.navigator.cookieEnabled&&(document.documentElement.className=document.documentElement.className.replace("supports-no-cookies","supp
29orts-cookies")),focusHash(),bindInPageLinks(),"scrollBehavior"in document.documentElement.style||loadScript({url:window.theme.assets.smoothscroll}),typeof authenticGlobal<"u"&&(authenticGlobal.onBeforeAuthenticPopupOpen=()=>{document.querySelector("[data-drawer='drawer-cart']").dispatchEvent(new CustomEvent("theme:drawer:close"))});var acctDashNav=document.querySelectorAll("#acctDashNav");if(acctDashNav!=null){var appsMenuItems=document.querySelectorAll("#acctDashNav > li"),subMenuItems=document.querySelectorAll("#acctDashNav > li li"),keys={tab:9,enter:13,esc:27,space:32,left:37,up:38,right:39,down:40},currentIndex,subIndex,gotoIndex=function(idx){idx==appsMenuItems.length?idx=0:idx<0&&(idx=appsMenuItems.length-1),appsMenuItems[idx].focus(),currentIndex=idx},gotoSubIndex=function(menu,idx){var items=menu.querySelectorAll("li");idx==items.length?idx=0:idx<0&&(idx=items.length-1),items[idx].focus(),subIndex=idx};Array.prototype.forEach.call(appsMenuItems,function(el,i){i==0?(el.setAttribute("tabindex","0"),el.addEventListener("focus",function(){currentIndex=0})):el.setAttribute("tabindex","-1"),el.addEventListener("focus",function(){subIndex=0,Array.prototype.forEach.call(appsMenuItems,function(el2,i2){el2.setAttribute("aria-expanded","false")})}),el.addEventListener("click",function(event){return this.getAttribute("aria-expanded")=="false"||this.getAttribute("aria-expanded")==null?this.setAttribute("aria-expanded","true"):this.setAttribute("aria-expanded","false"),event.preventDefault(),!1}),el.addEventListener("keydown",function(event){var prevdef2=!1;switch(event.keyCode){case keys.right:gotoIndex(currentIndex+1),prevdef2=!0;break;case keys.left:gotoIndex(currentIndex-1),prevdef2=!0;break;case keys.tab:event.shiftKey?gotoIndex(currentIndex-1):gotoIndex(currentIndex+1),prevdef2=!0;break;case keys.enter:case keys.down:this.click(),subIndex=0,gotoSubIndex(this.querySelector("ul"),0),prevdef2=!0;break;case keys.up:this.click();var submenu=this.querySelector("ul");subIndex=submenu.querySelectorAll("li").length-1,gotoSubIndex(submenu,subIndex),prevdef2=!0;break;case keys.esc:document.querySelector("#escape").setAttribute("tabindex","-1"),document.querySelector("#escape").focus(),prevdef2=!0}prevdef2&&event.preventDefault()})}),Array.prototype.forEach.call(subMenuItems,function(el,i){el.setAttribute("tabindex","-1"),el.addEventListener("keydown",function(event){switch(event.keyCode){case keys.tab:event.shiftKey?gotoIndex(currentIndex-1):gotoIndex(currentIndex+1),prevdef=!0;break;case keys.right:gotoIndex(currentIndex+1),prevdef=!0;break;case keys.left:gotoIndex(currentIndex-1),prevdef=!0;break;case keys.esc:gotoIndex(currentIndex),prevdef=!0;break;case keys.down:gotoSubIndex(this.parentNode,subIndex+1),prevdef=!0;break;case keys.up:gotoSubIndex(this.parentNode,subIndex-1),prevdef=!0;break;case keys.enter:case keys.space:alert(this.innerText),prevdef=!0;break}return prevdef&&(event.preventDefault(),event.stopPropagation()),!1}),el.addEventListener("click",function(event){return event.stopPropagation(),!1})})}})})(themeVendor.AOS,themeVendor.FlickityFade,themeVendor.BodyScrollLock,themeVendor.Flickity,themeVendor.Sqrl,themeVendor.MicroModal,themeVendor.axios,themeVendor.Rellax,themeVendor.themeCurrency,themeVendor.themeAddresses,themeVendor.FlickitySync),window.addEventListener("scroll",function(){var scrollPosition=window.scrollY,nav=document.querySelector(".collection__nav");nav!=null&&(scrollPosition>200?nav.classList.add("collection__nav-box-shadow"):nav.classList.remove("collection__nav-box-shadow"))});var filterBtn=document.querySelector(".collection__filters__toggle");filterBtn!=null&&document.addEventListener("DOMContentLoaded",function(){var closeBtn=document.getElementById("filterBtnClose"),drawerUnderlay=document.querySelector(".filter-underlay"),bodyEl=document.body;filterBtn.addEventListener("click",function(){bodyEl.classList.add("overflow-hidden-mobile")}),closeBtn.addEventListener("click",function(){bodyEl.classList.remove("overflow-hidden-mobile")}),drawerUnderlay.addEventListener("click",function(){bodyEl.classList.remove("overflow-hidden-mobile")})});let plpDescReadMore=document.querySelector(".seo-description-faq-text a[href^='#']");if(plpDescReadMore!=null){plpDescReadMore.parentElement.classList.add("seo-description-faq-readmore");let plpDescContentAll=document.querySelector(".seo-description-faq-text .metafield-rich_text_field"),plpDescContentArray=Array(...plpDescContentAll.children),plpDescNewArray=[];var plpDescReadMoreIndex=0;plpDescContentArray.forEach((element,index)=>{element.classList.contains("seo-description-faq-readmore")&&(plpDescReadMoreIndex=index,plpDescNewArray=plpDescContentArray.slice(index+1))}),plpDescContentArray.forEach((element,index)=>{index>plpDescReadMoreIndex&&plpDescContentAll.removeChild(plpDescContentArray[index])});let plpHTMLString="";plpDescNewArray.forEach(element=>{plpHTMLString=plpHTMLString+element.outerHTML}),plpHTMLString=`<div class="seo-description-faq-more hide">${plpHTMLString}</div>`,plpDescReadMore.insertAdjacentHTML("beforebegin",plpHTMLString);let plpDescReadMoreContent=document.querySelector(".seo-description-faq-more");plpDescReadMore.addEventListener("click",function(event){event.preventDefault(),plpDescReadMoreContent.classList.contains("hide")?(plpDescReadMoreContent.classList.remove("hide"),plpDescReadMore.innerText="Read less"):(plpDescReadMoreContent.classList.add("hide"),plpDescReadMore.innerText="Read more")})}function triggerKlaviyoPopupBtns(carousel){let reminderButtons=carousel.querySelectorAll(".product__grid__reminder__button");reminderButtons.length>0&&reminderButtons.forEach(button=>{button.removeEventListener("click");let klaviyoFormIdPopup=button.getAttribute("data-klaviyo-form-id-popup");button.classList.add("trigger_ready"),button.addEventListener("click",function(event){event.preventDefault(),event.stopPropagation(),window._klOnsite=window._klOnsite||[],window._klOnsite.push(["openForm",klaviyoFormIdPopup])})})}function triggerKlaviyoPopupQuickView(quickview){let quickviewBtn=quickview.querySelector(".product__grid__reminder__button");if(!quickviewBtn)return;let klaviyoFormIdPopup=quickviewBtn.getAttribute("data-klaviyo-form-id-popup");klaviyoFormIdPopup&&klaviyoFormIdPopup.length>0&&(quickviewBtn.classList.add("trigger_ready"),quickviewBtn.addEventListener("click",function(event){event.preventDefault(),event.stopPropagation(),window._klOnsite=window._klOnsite||[],window._klOnsite.push(["openForm",klaviyoFormIdPopup])}))}function triggerKlaviyoProductGrid(productGrid){let reminderButtons=productGrid.querySelectorAll(".product__grid__reminder__button");reminderButtons.length>0&&reminderButtons.forEach(button=>{button.removeEventListener("click");let klaviyoFormIdPopup=button.getAttribute("data-klaviyo-form-id-popup");button.classList.add("trigger_ready"),button.addEventListener("click",function(event){event.preventDefault(),event.stopPropagation(),window._klOnsite=window._klOnsite||[],window._klOnsite.push(["openForm",klaviyoFormIdPopup])})})}document.addEventListener("DOMContentLoaded",function(){let productGrid=document.querySelectorAll("[data-section-type='collection-row']");productGrid?.forEach(grid=>{triggerKlaviyoProductGrid(grid)})}),document.addEventListener("click",function(event){const button=event.target.closest(".product__grid__reminder__button");if(!button||button.classList.contains("trigger_ready"))return;const klaviyoFormIdPopup=button.getAttribute("data-klaviyo-form-id-popup");klaviyoFormIdPopup&&(event.preventDefault(),event.stopPropagation(),window._klOnsite=window._klOnsite||[],window._klOnsite.push(["openForm",klaviyoFormIdPopup]))});
30//# sourceMappingURL=/cdn/shop/t/665/assets/theme.dev.js.map?v=74157661851958395911790865529

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.