1var __defProp=Object.defineProperty,__defNormalProp=(t,e,i)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,__publicField=(t,e,i)=>(__defNormalProp(t,"symbol"!=typeof e?e+"":e,i),i),__accessCheck=(t,e,i)=>{if(!e.has(t))throw TypeError("Cannot "+i)},__privateGet=(t,e,i)=>(__accessCheck(t,e,"read from private field"),i?i.call(t):e.get(t)),__privateAdd=(t,e,i)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,i)},__privateSet=(t,e,i,n)=>(__accessCheck(t,e,"write to private field"),n?n.call(t,i):e.set(t,i),i),__privateWrapper=(t,e,i,n)=>({set _(n){__privateSet(t,e,n,i)},get _(){return __privateGet(t,e,n)}}),__privateMethod=(t,e,i)=>(__accessCheck(t,e,"access private method"),i),CountrySelector=class extends HTMLElement{constructor(){super(),this._onCountryChangedListener=this._onCountryChanged.bind(this)}connectedCallback(){this.countryElement=this.querySelector('[name="address[country]"]'),this.provinceElement=this.querySelector('[name="address[province]"]'),this.countryElement.addEventListener("change",this._onCountryChangedListener),""!==this.getAttribute("country")?(this.countryElement.selectedIndex=Math.max(0,Array.from(this.countryElement.options).findIndex((t=>t.textContent===this.getAttribute("country")))),this.countryElement.dispatchEvent(new Event("change"))):this._onCountryChanged()}disconnectedCallback(){this.countryElement.removeEventListener("change",this._onCountryChangedListener)}_onCountryChanged(){const t=this.countryElement.options[this.countryElement.selectedIndex],e=JSON.parse(t.getAttribute("data-provinces"));this.provinceElement.parentElement.hidden=0===e.length,0!==e.length&&(this.provinceElement.innerHTML="",e.forEach((t=>{const e=t[1]===this.getAttribute("province");this.provinceElement.options.add(new Option(t[1],t[0],e,e))})))}};function formatMoney(t,e=""){"string"==typeof t&&(t=t.replace(".",""));const i=/\{\{\s*(\w+)\s*\}\}/,n=e||window.themeVariables.settings.moneyFormat;function s(t,e){return null==t||t!=t?e:t}function a(t,e,i,n){if(e=s(e,2),i=s(i,","),n=s(n,"."),isNaN(t)||null==t)return 0;let a=(t=(t/100).toFixed(e)).split(".");return a[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+i)+(a[1]?n+a[1]:"")}let r="";switch(n.match(i)[1]){case"amount":r=a(t,2);break;case"amount_no_decimals":r=a(t,0);break;case"amount_with_space_separator":r=a(t,2," ",".");break;case"amount_with_comma_separator":r=a(t,2,".",",");break;case"amount_with_apostrophe_separator":r=a(t,2,"'",".");break;case"amount_no_decimals_with_comma_separator":r=a(t,0,".",",");break;case"amount_no_decimals_with_space_separator":r=a(t,0," ");break;case"amount_no_decimals_with_apostrophe_separator":r=a(t,0,"'")}return n.indexOf("with_comma_separator"),n.replace(i,r)}window.customElements.get("country-selector")||window.customElements.define("country-selector",CountrySelector);var _callback,_duration,_remainingTime,_startTime,_timer,_state,_onVisibilityChangeListener,_onVisibilityChange,onVisibilityChange_fn,cachedMap=new Map;function cachedFetch(t,e){const i=t;return cachedMap.has(i)?Promise.resolve(new Response(new Blob([cachedMap.get(i)]))):fetch(t,e).then((t=>{if(200===t.status){const e=t.headers.get("Content-Type");e&&(e.match(/application\/json/i)||e.match(/text\//i))&&t.clone().text().then((t=>{cachedMap.set(i,t)}))}return t}))}function extractSectionId(t){return(t=t.classList.contains("shopify-section")?t:t.closest(".shopify-section")).id.replace("shopify-section-","")}function throttle(t){let e,i=null;const n=(...n)=>{var s;e=n,null===i&&(i=requestAnimationFrame((s=this,()=>{i=null,t.apply(s,e)})))};return n.cancel=()=>{cancelAnimationFrame(i),i=null},n}function debounce(t,e){let i=null;return(...n)=>{clearTimeout(i),i=setTimeout((()=>{t.apply(this,n)}),e)}}function waitForEvent(t,e){return new Promise((i=>{const n=s=>{s.target===t&&(t.removeEventListener(e,n),i(s))};t.addEventListener(e,n)}))}var Player=class extends EventTarget{constructor(t,e=!0){super(),__privateAdd(this,_onVisibilityChange),__privateAdd(this,_callback,void 0),__privateAdd(this,_duration,void 0),__privateAdd(this,_remainingTime,void 0),__privateAdd(this,_startTime,void 0),__privateAdd(this,_timer,void 0),__privateAdd(this,_state,"paused"),__privateAdd(this,_onVisibilityChangeListener,__privateMethod(this,_onVisibilityChange,onVisibilityChange_fn).bind(this)),__privateSet(this,_callback,(()=>this.dispatchEvent(new CustomEvent("player:end")))),__privateSet(this,_duration,__privateSet(this,_remainingTime,1e3*t)),e&&document.addEventListener("visibilitychange",__privateGet(this,_onVisibilityChangeListener))}pause(){"started"===__privateGet(this,_state)&&(clearTimeout(__privateGet(this,_timer)),__privateSet(this,_state,"paused"),__privateSet(this,_remainingTime,__privateGet(this,_remainingTime)-((new Date).getTime()-__privateGet(this,_startTime))),this.dispatchEvent(new CustomEvent("player:pause")))}resume(t=!1){"stopped"!==__privateGet(this,_state)&&(t?this.start():(clearTimeout(__privateGet(this,_timer)),__privateSet(this,_startTime,(new Date).getTime()),__privateSet(this,_state,"started"),__privateSet(this,_timer,setTimeout(__privateGet(this,_callback),__privateGet(this,_remainingTime))),this.dispatchEvent(new CustomEvent("player:resume"))))}start(){clearTimeout(__privateGet(this,_timer)),__privateSet(this,_startTime,(new Date).getTime()),__privateSet(this,_state,"started"),__privateSet(this,_remainingTime,__privateGet(this,_duration)),__privateSet(this,_timer,setTimeout(__privateGet(this,_callback),__privateGet(this,_remainingTime))),this.dispatchEvent(new CustomEvent("player:start"))}stop(){clearTimeout(__privateGet(this,_timer)),__privateSet(this,_state,"stopped"),this.dispatchEvent(new CustomEvent("player:stop"))}};_callback=new WeakMap,_duration=new WeakMap,_remainingTime=new WeakMap,_startTime=new WeakMap,_timer=new WeakMap,_state=new WeakMap,_onVisibilityChangeListener=new WeakMap,_onVisibilityChange=new WeakSet,onVisibilityChange_fn=function(){"hidden"===document.visibilityState?this.pause():"visible"===document.visibilityState&&this.resume()};
1var ConfirmButton=class extends HTMLButtonElement{constructor(){super(),this.addEventListener("click",(t=>{window.confirm(this.getAttribute("data-message")??"Are you sure you wish to do this?")||t.preventDefault()}))}};window.customElements.get("confirm-button")||window.customElements.define("confirm-button",ConfirmButton,{extends:"button"});var PageDots=class extends HTMLElement{connectedCallback(){this._abortController=new AbortController,this.items=Array.from(this.children),this.items.forEach(((t,e)=>t.addEventListener("click",(()=>this.select(e)),{signal:this._abortController.signal}))),this.addEventListener("control:filter",this._filterItems,{signal:this._abortController.signal}),this.controlledElement&&this.controlledElement.addEventListener("carousel:change",(t=>this.select(t.detail.index,!1)),{signal:this._abortController.signal}),Shopify.designMode&&this.addEventListener("shopify:block:select",(t=>this.select(this.items.indexOf(t.target))))}disconnectedCallback(){this._abortController.abort()}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}get selectedIndex(){return this.items.findIndex((t=>"true"===t.getAttribute("aria-current")))}select(t,e=!0){this.hasAttribute("align-selected")&&this.scrollTo({left:this.items[t].offsetLeft-this.clientWidth/2+this.items[t].clientWidth/2,top:this.items[t].offsetTop-this.clientHeight/2-this.items[t].clientHeight/2,behavior:window.matchMedia("(prefers-reduced-motion: no-preference)").matches?"smooth":"auto"}),this.selectedIndex!==t&&(this.items.forEach(((e,i)=>e.setAttribute("aria-current",t===i?"true":"false"))),e&&this._dispatchEvent(t))}_filterItems(t){this.items.forEach(((e,i)=>e.hidden=t.detail.filteredIndexes.includes(i)))}_dispatchEvent(t){(this.controlledElement??this).dispatchEvent(new CustomEvent("control:select",{bubbles:!0,cancelable:!0,detail:{index:t}}))}},PrevButton=class extends HTMLButtonElement{connectedCallback(){this._abortController=new AbortController,this.addEventListener("click",(()=>(this.controlledElement??this).dispatchEvent(new CustomEvent("control:prev",{bubbles:!0,cancelable:!0}))),{signal:this._abortController.signal}),this.controlledElement&&(this.controlledElement.addEventListener("scroll:edge-nearing",(t=>this.disabled="start"===t.detail.position),{signal:this._abortController.signal}),this.controlledElement.addEventListener("scroll:edge-leaving",(t=>this.disabled="start"!==t.detail.position&&this.disabled),{signal:this._abortController.signal}))}disconnectedCallback(){this._abortController.abort()}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}},NextButton=class extends HTMLButtonElement{connectedCallback(){this._abortController=new AbortController,this.addEventListener("click",(()=>(this.controlledElement??this).dispatchEvent(new CustomEvent("control:next",{bubbles:!0,cancelable:!0}))),{signal:this._abortController.signal}),this.controlledElement&&(this.controlledElement.addEventListener("scroll:edge-nearing",(t=>this.disabled="end"===t.detail.position),{signal:this._abortController.signal}),this.controlledElement.addEventListener("scroll:edge-leaving",(t=>this.disabled="end"!==t.detail.position&&this.disabled),{signal:this._abortController.signal}))}disconnectedCallback(){this._abortController.abort()}get controlledElement(){return this.hasAttribute("aria-controls")?document.getElementById(this.getAttribute("aria-controls")):null}};window.customElements.get("page-dots")||window.customElements.define("page-dots",PageDots),window.customElements.get("prev-button")||window.customElements.define("prev-button",PrevButton,{extends:"button"}),window.customElements.get("next-button")||window.customElements.define("next-button",NextButton,{extends:"button"});import{timeline}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var CopyButton=class extends HTMLButtonElement{constructor(){super(),this.append(this.contentElement,this.animationElement),this.addEventListener("click",this._copyToClipboard.bind(this))}get contentElement(){return this._contentElement?this._contentElement:(this._contentElement=document.createElement("div"),this._contentElement.append(...this.childNodes),this._contentElement=this._contentElement||document.createElement("div").append())}get animationElement(){return this._animationElement=this._animationElement||document.createRange().createContextualFragment('\n <sp
1an class="button__feedback"> \n <svg role="presentation" focusable="false" fill="none" width="18px" height="18px" viewBox="0 0 20 20">\n <circle cx="10" cy="10" r="9" stroke="currentColor" stroke-width="2"/>\n <path d="m6 9.8 2.63 2.8L14 7" stroke="currentColor" stroke-width="2"/>\n </svg>\n </span>\n ').firstElementChild}async _copyToClipboard(){navigator.clipboard&&(await navigator.clipboard.writeText(this.getAttribute("data-text")||""),timeline([[this.contentElement,{y:["translateY(0)","translateY(-10px)"],opacity:0},{duration:.15}],[this.animationElement,{transform:["translateY(10px)","translateY(0)"],opacity:[0,1]},{duration:.15}],[this.animationElement,{transform:["translateY(0)","translateY(-10px)"],opacity:0},{duration:.15,at:"+0.5"}],[this.contentElement,{transform:["translateY(10px)","translateY(0)"],opacity:1},{duration:.15}]]))}};window.customElements.get("copy-button")||window.customElements.define("copy-button",CopyButton,{extends:"button"});import{animate,timeline as timeline2,stagger}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var CustomButton=class extends HTMLButtonElement{static get observedAttributes(){return["aria-busy"]}constructor(){super(),"submit"===this.type&&this.form&&this.form.addEventListener("submit",(()=>this.setAttribute("aria-busy","true"))),this.append(this.contentElement,this.animationElement),window.addEventListener("pageshow",(()=>this.removeAttribute("aria-busy")))}get contentElement(){return this._contentElement?this._contentElement:(this._contentElement=document.createElement("div"),this._contentElement.append(...this.childNodes),this._contentElement=this._contentElement||document.createElement("div").append())}get animationElement(){return this._animationElement=this._animationElement||document.createRange().createContextualFragment('\n <span class="button__loader">\n <span></span>\n <span></span>\n <span></span>\n </span>\n ').firstElementChild}async attributeChangedCallback(t,e,i){"true"===i?(timeline2([[this.contentElement,{transform:["translateY(0)","translateY(-10px)"],opacity:0},{duration:.15}],[this.animationElement,{transform:["translateY(10px)","translateY(0)"],opacity:1},{duration:.15}]]),animate(this.animationElement.children,{opacity:[1,.1]},{duration:.35,delay:stagger(.35/3),direction:"alternate",repeat:1/0})):timeline2([[this.animationElement,{transform:["translateY(0)","translateY(-10px)"],opacity:0},{duration:.15}],[this.contentElement,{transform:["translateY(10px)","translateY(0)"],opacity:1},{duration:.15}]])}};window.customElements.get("custom-button")||window.customElements.define("custom-button",CustomButton,{extends:"button"});var _reveal,reveal_fn,ShareButton=class extends HTMLButtonElement{constructor(){super(),navigator.share&&this.addEventListener("click",this._showSystemShare)}_showSystemShare(){navigator.share({title:this.hasAttribute("share-title")?this.getAttribute("share-title"):document.title,url:this.hasAttribute("share-url")?this.getAttribute("share-url"):window.location.href})}};window.customElements.get("share-button")||window.customElements.define("share-button",ShareButton,{extends:"button"});import{stagger as stagger2}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";function getHeadingKeyframe(t,e={}){if(!t)return[];const i=t.querySelector("split-lines")?.lines;if("fade"===window.themeVariables.settings.headingApparition||!i)return[t,{opacity:[0,1]},{duration:.2,...e}];switch(t.style.opacity="1",window.themeVariables.settings.headingApparition){case"split_fade":return[i,{transform:["translateY(0.5em)","translateY(0)"],opacity:[0,1]},{duration:.3,delay:stagger2(.1),...e}];case"split_clip":return[i,{clipPath:["inset(0 0 100% 0)","inset(0 0 -0.3em 0)"],transform:["translateY(100%)","translateY(0)"],opacity:[0,1]},{duration:.7,delay:stagger2(.15),easing:[.22,1,.36,1],...e}];case"split_rotation":const t=i.map((t=>t.querySelector("span")));return t.forEach((t=>
1t.style.transformOrigin="top left")),i.forEach((t=>t.style.clipPath="inset(0 0 -0.3em 0)")),[t,{transform:["translateY(0.5em) rotateZ(5deg)","translateY(0) rotateZ(0)"],opacity:[0,1]},{duration:.4,delay:stagger2(.1),...e}]}}import{animate as animate2,stagger as stagger3,inView}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var _abortController,_onPointerLeave,onPointerLeave_fn,_onPointerMove,onPointerMove_fn,RevealItems=class extends HTMLElement{constructor(){super(),__privateAdd(this,_reveal),window.matchMedia("(prefers-reduced-motion: no-preference)").matches&&inView(this,__privateMethod(this,_reveal,reveal_fn).bind(this),{margin:this.getAttribute("margin")??"-50px 0px"})}};_reveal=new WeakSet,reveal_fn=function(){this.style.opacity="1",animate2(this.hasAttribute("selector")?this.querySelectorAll(this.getAttribute("selector")):this.children,{opacity:[0,1],transform:["translateY(15px)","translateY(0)"]},{duration:.35,delay:stagger3(.05,{easing:"ease-out"}),easing:"ease"})},window.customElements.get("reveal-items")||window.customElements.define("reveal-items",RevealItems);var _domElement,_thresholdDistance,_thresholdTime,_signal,_firstClientX,_tracking,_start,_touchStart,touchStart_fn,_preventTouch,preventTouch_fn,_gestureStart,gestureStart_fn,_gestureMove,gestureMove_fn,_gestureEnd,gestureEnd_fn,CustomCursor=class extends HTMLElement{constructor(){super(...arguments),__privateAdd(this,_onPointerLeave),__privateAdd(this,_onPointerMove),__privateAdd(this,_abortController,void 0)}connectedCallback(){__privateSet(this,_abortController,new AbortController),this.parentElement.addEventListener("pointermove",__privateMethod(this,_onPointerMove,onPointerMove_fn).bind(this),{passive:!0,signal:__privateGet(this,_abortController).signal}),this.parentElement.addEventListener("pointerleave",__privateMethod(this,_onPointerLeave,onPointerLeave_fn).bind(this),{signal:__privateGet(this,_abortController).signal})}disconnectedCallback(){__privateGet(this,_abortController).abort()}};_abortController=new WeakMap,_onPointerLeave=new WeakSet,onPointerLeave_fn=function(){this.classList.remove("is-visible","is-half-start","is-half-end")},_onPointerMove=new WeakSet,onPointerMove_fn=function(t){if(t.target.matches("button, a[href], button :scope, a[href] :scope"))return this.classList.remove("is-visible");const e=this.parentElement.getBoundingClientRect(),i=(e.left+e.right)/2,n=t.pageX<i;this.classList.toggle("is-half-start",n),this.classList.toggle("is-half-end",!n),this.classList.add("is-visible");const s=t.clientY-e.y-this.clientHeight/2,a=t.clientX-e.x-this.clientWidth/2;this.style.translate=`${a.toFixed(3)}px ${s.toFixed(3)}px`,this.style.transform=`${a.toFixed(3)}px ${s.toFixed(3)}px`},window.customElements.get("custom-cursor")||window.customElements.define("custom-cursor",CustomCursor);var GestureArea=class{constructor(t,{thresholdDistance:e=80,thresholdTime:i=500,signal:n=null}={}){__privateAdd(this,_touchStart),__privateAdd(this,_preventTouch),__privateAdd(this,_gestureStart),__privateAdd(this,_gestureMove),__privateAdd(this,_gestureEnd),__privateAdd(this,_domElement,void 0),__privateAdd(this,_thresholdDistance,void 0),__privateAdd(this,_thresholdTime,void 0),__privateAdd(this,_signal,void 0),__privateAdd(this,_firstClientX,void 0),__privateAdd(this,_tracking,!1),__privateAdd(this,_start,{}),__privateSet(this,_domElement,t),__privateSet(this,_thresholdDistance,e),__privateSet(this,_thresholdTime,i),__privateSet(this,_signal,n),__privateGet(this,_domElement).addEventListener("touchstart",__privateMethod(this,_touchStart,touchStart_fn).bind(this),{passive:!0,signal:__privateGet(this,_signal)}),__privateGet(this,_domElement).addEventListener("touchmove",__privateMethod(this,_preventTouch,preventTouch_fn).bind(this),{passive:!1,signal:__privateGet(this,_signal)}),__privateGet(this,_domElement).addEventListener("pointerdown",__privateMethod(this,_gestureStart,gestureStart_fn).bind(this),{signal:__privateGet(this,_signal)}),__privateGet(this,_domElement).addEventListener("pointermove",__privateMethod(this,_gestureMove,gestureMove_fn).bind(this),{passive:!1,signal:__privateGet(this,_signal)}
1),__privateGet(this,_domElement).addEventListener("pointerup",__privateMethod(this,_gestureEnd,gestureEnd_fn).bind(this),{signal:__privateGet(this,_signal)}),__privateGet(this,_domElement).addEventListener("pointerleave",__privateMethod(this,_gestureEnd,gestureEnd_fn).bind(this),{signal:__privateGet(this,_signal)}),__privateGet(this,_domElement).addEventListener("pointercancel",__privateMethod(this,_gestureEnd,gestureEnd_fn).bind(this),{signal:__privateGet(this,_signal)})}};_domElement=new WeakMap,_thresholdDistance=new WeakMap,_thresholdTime=new WeakMap,_signal=new WeakMap,_firstClientX=new WeakMap,_tracking=new WeakMap,_start=new WeakMap,_touchStart=new WeakSet,touchStart_fn=function(t){__privateSet(this,_firstClientX,t.touches[0].clientX)},_preventTouch=new WeakSet,preventTouch_fn=function(t){Math.abs(t.touches[0].clientX-__privateGet(this,_firstClientX))>10&&t.preventDefault()},_gestureStart=new WeakSet,gestureStart_fn=function(t){__privateSet(this,_tracking,!0),__privateSet(this,_start,{time:(new Date).getTime(),x:t.clientX,y:t.clientY})},_gestureMove=new WeakSet,gestureMove_fn=function(t){__privateGet(this,_tracking)&&t.preventDefault()},_gestureEnd=new WeakSet,gestureEnd_fn=function(t){if(!__privateGet(this,_tracking))return;__privateSet(this,_tracking,!1);const e=(new Date).getTime()-__privateGet(this,_start).time,i=t.clientX-__privateGet(this,_start).x,n=t.clientY-__privateGet(this,_start).y;if(e>__privateGet(this,_thresholdTime))return;let s;0!==i||0!==n||t.target.matches("a, button, a :scope, button :scope")?i>__privateGet(this,_thresholdDistance)&&Math.abs(n)<__privateGet(this,_thresholdDistance)?s="swiperight":-i>__privateGet(this,_thresholdDistance)&&Math.abs(n)<__privateGet(this,_thresholdDistance)?s="swipeleft":n>__privateGet(this,_thresholdDistance)&&Math.abs(i)<__privateGet(this,_thresholdDistance)?s="swipedown":-n>__privateGet(this,_thresholdDistance)&&Math.abs(i)<__privateGet(this,_thresholdDistance)&&(s="swipeup"):s="tap",s&&__privateGet(this,_domElement).dispatchEvent(new CustomEvent(s,{bubbles:!0,composed:!0,detail:{originalEvent:t}}))};var _resizeObserver,_checkPositionListener,_initialTop,_lastKnownY,_currentTop,_position,_recalculateStyles,recalculateStyles_fn,_checkPosition,checkPosition_fn,HeightObserver=class extends HTMLElement{constructor(){super(),window.ResizeObserver&&new ResizeObserver(this._updateCustomProperties.bind(this)).observe(this)}connectedCallback(){window.ResizeObserver||document.documentElement.style.setProperty(`--${this.getAttribute("variable")}-height`,`${this.clientHeight.toFixed(1)}px`)}_updateCustomProperties(t){requestAnimationFrame((()=>{t.forEach((t=>{if(t.target===this){const e=t.borderBoxSize?t.borderBoxSize.length>0?t.borderBoxSize[0].blockSize:t.borderBoxSize.blockSize:t.target.clientHeight;document.documentElement.style.setProperty(`--${this.getAttribute("variable")}-height`,`${Math.round(e)}px`)}}))}))}};window.customElements.get("height-observer")||window.customElements.define("height-observer",HeightObserver);import{inView as inView2}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var SafeSticky=class extends HTMLElement{constructor(){super(...arguments),__privateAdd(this,_recalculateStyles),__privateAdd(this,_checkPosition),__privateAdd(this,_resizeObserver,new ResizeObserver(__privateMethod(this,_recalculateStyles,recalculateStyles_fn).bind(this))),__privateAdd(this,_checkPositionListener,throttle(__privateMethod(this,_checkPosition,checkPosition_fn).bind(this))),__privateAdd(this,_initialTop,0),__privateAdd(this,_lastKnownY,0),__privateAdd(this,_currentTop,0),__privateAdd(this,_position,"relative")}connectedCallback(){inView2(this,(()=>(__privateGet(this,_resizeObserver).observe(this),window.addEventListener("scroll",__privateGet(this,_checkPositionListener)),()=>{__privateGet(this,_resizeObserver).unobserve(this),window.removeEventListener("scroll",__privateGet(this,_checkPositionListener))})),{margin:"500px"})}disconnectedCallback(){window.removeEventListener("scroll",__privateGet(this,_checkPositionListener))}};_resizeObserver=new WeakMap,_checkPositionListener=new WeakMap,_initialTop=new WeakMap,_lastKnownY=new WeakMap,_currentTop=new WeakMap,_position=new WeakMap,_recalculateStyles=new WeakSet,recalculateStyles_fn=function(){this.style.removeProperty("top");const t=getComputedStyle(this);__privateSet(this,_initialTop,parseInt(t.top)),__privateSet(this,_position,t.position),__privateMethod(this,_checkPosition,checkPosition_fn).call(this)},_checkPosition=new WeakSet,checkPosition_fn=function(){if("sticky"!==__privateGet(this,_position))return this.style.removeProperty("top");let t=this.getBoundingClientRect().top+window.scrollY-this.offsetTop+__privateGet(this,_initialTop
1),e=this.clientHeight-window.innerHeight+20;window.scrollY<__privateGet(this,_lastKnownY)?__privateSet(this,_currentTop,__privateGet(this,_currentTop)-(window.scrollY-__privateGet(this,_lastKnownY))):__privateSet(this,_currentTop,__privateGet(this,_currentTop)+(__privateGet(this,_lastKnownY)-window.scrollY)),__privateSet(this,_currentTop,Math.min(Math.max(__privateGet(this,_currentTop),-e),t,__privateGet(this,_initialTop))),__privateSet(this,_lastKnownY,window.scrollY),this.style.top=`${Math.round(__privateGet(this,_currentTop))}px`},window.customElements.get("safe-sticky")||window.customElements.define("safe-sticky",SafeSticky);var ScrollArea=class{constructor(t,e=null){this._element=t,this._allowTriggerNearingStartEvent=!1,this._allowTriggerLeavingStartEvent=!0,this._allowTriggerNearingEndEvent=!0,this._allowTriggerLeavingEndEvent=!1,new ResizeObserver(this._checkIfScrollable.bind(this)).observe(t),this._element.addEventListener("scroll",throttle(this._onScroll.bind(this)),{signal:e?.signal})}get scrollNearingThreshold(){return 125}get scrollDirection(){return this._element.scrollWidth>this._element.clientWidth?"inline":this._element.scrollHeight>this._element.clientHeight?"block":"none"}_checkIfScrollable(){this._element.classList.toggle("is-scrollable","none"!==this.scrollDirection)}_onScroll(){let t;clearTimeout(this._scrollTimeout),this._lastScrollPosition=this._lastScrollPosition??("inline"===this.scrollDirection?Math.abs(this._element.scrollLeft):Math.abs(this._element.scrollTop)),"inline"===this.scrollDirection?(t=this._lastScrollPosition>Math.abs(this._element.scrollLeft)?"start":"end",this._lastScrollPosition=Math.abs(this._element.scrollLeft)):(t=this._lastScrollPosition>Math.abs(this._element.scrollTop)?"start":"end",this._lastScrollPosition=Math.abs(this._element.scrollTop));const e=Math.round(Math.abs("inline"===this.scrollDirection?this._element.scrollLeft:this._element.scrollTop)),i=Math.round("inline"===this.scrollDirection?this._element.scrollWidth-this._element.clientWidth:this._element.scrollHeight-this._element.clientHeight);"start"===t&&this._allowTriggerNearingStartEvent&&e<=this.scrollNearingThreshold?(this._allowTriggerNearingStartEvent=!1,this._allowTriggerLeavingStartEvent=!0,this._element.dispatchEvent(new CustomEvent("scroll:edge-nearing",{bubbles:!0,detail:{position:"start"}}))):"end"===t&&e>this.scrollNearingThreshold&&(this._allowTriggerNearingStartEvent=!0,this._allowTriggerLeavingStartEvent&&(this._allowTriggerLeavingStartEvent=!1,this._element.dispatchEvent(new CustomEvent("scroll:edge-leaving",{bubbles:!0,detail:{position:"start"}})))),"end"===t&&this._allowTriggerNearingEndEvent&&i<=e+this.scrollNearingThreshold?(this._allowTriggerNearingEndEvent=!1,this._allowTriggerLeavingEndEvent=!0,this._element.dispatchEvent(new CustomEvent("scroll:edge-nearing",{bubbles:!0,detail:{position:"end"}}))):"start"===t&&i>e+this.scrollNearingThreshold&&(this._allowTriggerNearingEndEvent=!0,this._allowTriggerLeavingEndEvent&&(this._allowTriggerLeavingEndEvent=!1,this._element.dispatchEvent(new CustomEvent("scroll:edge-leaving",{bubbles:!0,detail:{position:"end"}})))),void 0===window.onscrollend&&(this._scrollTimeout=setTimeout((()=>{this._element.dispatchEvent(new CustomEvent("scrollend",{bubbles:!0,composed:!0}))}),75))}},ScrollProgress=class extends HTMLElement{connectedCallback(){this.scrolledElement.addEventListener("scroll",throttle(this._updateScrollProgress.bind(this))),window.ResizeObserver&&new ResizeObserver(this._updateScrollProgress.bind(this)).observe(this.scrolledElement)}get scrolledElement(){return this._scrolledElement=this._scrolledElement||document.getElementById(this.getAttribute("observes"))}_updateScrollProgress(){const t=(("ltr"===document.dir?this.scrolledElement.scrollLeft:Math.abs(this.scrolledElement.scrollLeft))+this.scrolledElement.clientWidth)/this.scrolledElement.scrollWidth;this.style.setProperty("--scroll-progress",Math.max(0,Math.min(t,1)).toFixed(6))}};window.customElements.get("scroll-progress")||window.customElements.define("scroll-progress",ScrollProgress);var _requireSplit,_lastScreenWidth,_split,split_fn,_onWindowResized,onWindowResized_fn,template="\n <style>\n :host {\n display: inline-block;\n contain: layout;\n position: relative;\n }\n \n :host([hidden]) {\n display: none;\n }\n \n s {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n background-image:\n var(--scroll-shadow-top, linear-gradient(to bottom, rgb(var(--background)), rgb(var(--background) / 0))),\n var(--scroll-shadow-bottom, linear-gradient(to top, rgb(var(--background)), rgb(var(--background) / 0))),\n var(--scroll-shadow-left, linear-gradient(to right, rgb(var(--background)), rgb(var(--background) / 0))),\n var(--scroll-shadow-right, linear-gradient(to left, rgb(var(--background)), rgb(var(--background) / 0)));\n background-position: top, bottom, left, right;\n background-repeat: no-repeat;\n background-size: 100% var(--top, 0), 100% var(--bottom, 0), var(--left, 0) 100%, var(--right, 0) 100%;\n }\n </style>\n <slot></slot>\n <s></s>\n",Updater=class{constructor(t){this.scheduleUpdate=throttle((()=>this.update(t,getComputedStyle(t)))),this.resizeObserver=new ResizeObserver(this.scheduleUpdate.bind(this))}start(t){this.element&&this.stop(),t&&(t.addEventListener("scroll",this.scheduleUpdate),this.resizeObserver.observe(t),this.element=t)}stop(){this.element&&(this.element.removeEventListener("scroll",this.scheduleUpdate),this.resizeObserver.unobserve(this.element),this.element=null)}update(t,e){if(!this.element)return;const i=e.getPropertyValue("--scroll-shadow-size")?parseInt(e.getPropertyValue("--scroll-shadow-size")):0,n={top:Math.max(this.element.scrollTop,0),bottom:Math.max(this.element.scrollHeight-this.element.offsetHeight-this.element.scrollTop,0),left
1:Math.max(this.element.scrollLeft,0),right:Math.max(this.element.scrollWidth-this.element.offsetWidth-this.element.scrollLeft,0)};requestAnimationFrame((()=>{for(const e of["top","bottom","left","right"])t.style.setProperty(`--${e}`,`${n[e]>i?i:n[e]}px`)}))}},ScrollShadow=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=template,this.updater=new Updater(this.shadowRoot.lastElementChild)}connectedCallback(){this.shadowRoot.querySelector("slot").addEventListener("slotchange",this.start),this.start()}disconnectedCallback(){this.updater.stop()}start(){this.firstElementChild&&this.updater.start(this.firstElementChild)}};"ResizeObserver"in window&&!window.customElements.get("scroll-shadow")&&window.customElements.define("scroll-shadow",ScrollShadow);var SplitLines=class extends HTMLElement{constructor(){super(),__privateAdd(this,_split),__privateAdd(this,_onWindowResized),__privateAdd(this,_requireSplit,!0),__privateAdd(this,_lastScreenWidth,window.innerWidth),this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(document.createRange().createContextualFragment("<slot></slot>")),window.addEventListener("resize",throttle(__privateMethod(this,_onWindowResized,onWindowResized_fn).bind(this))),new MutationObserver(__privateMethod(this,_split,split_fn).bind(this,!0)).observe(this,{characterData:!0,attributes:!1,childList:!1,subtree:!0})}connectedCallback(){__privateMethod(this,_split,split_fn).call(this)}get lines(){return Array.from(this.shadowRoot.children)}};_requireSplit=new WeakMap,_lastScreenWidth=new WeakMap,_split=new WeakSet,split_fn=function(t=!1){if(!__privateGet(this,_requireSplit)&&!t)return;this.shadowRoot.innerHTML=this.textContent.replace(/./g,"<span>$&</span>").replace(/\s/g," ");const e=new Map;Array.from(this.shadowRoot.children).forEach((t=>{const i=Math.round(t.getBoundingClientRect().top);e.set(i,(e.get(i)||"").concat(t.textContent))})),this.shadowRoot.replaceChildren(...Array.from(e.values(),(t=>document.createRange().createContextualFragment(`\n <span style="display: inline-block;">\n <span style="display: block">${t}</span>\n </span>\n `)))),__privateSet(this,_requireSplit,!1)},_onWindowResized=new WeakSet,onWindowResized_fn=function(){__privateGet(this,_lastScreenWidth)!==window.innerWidth&&(__privateMethod(this,_split,split_fn).call(this,!0),__privateSet(this,_lastScreenWidth,window.innerWidth))},window.customElements.get("split-lines")||window.customElements.define("split-lines",SplitLines);import{scroll}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var VisibilityProgress=class extends HTMLElement{connectedCallback(){scroll((t=>{this.style.setProperty("--visibility-progress",t.y.progress)}),{target:this,offset:["start end","end start"]})}};window.customElements.get("visibility-progress")||window.customElements.define("visibility-progress",VisibilityProgress);import{timeline as timeline3,inView as inView3}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var BaseCarousel=class extends HTMLElement{connectedCallback(){this._abortController=new AbortController,this._reloaded=!1,Shopify.designMode&&this.closest(".shopify-section").addEventListener("shopify:section:select",(t=>this._reloaded=t.detail.load)),this.items.length>1&&(Shopify.designMode&&this.addEventListener("shopify:block:select",(t=>this.select(this.items.indexOf(t.target),{animate:!t.detail.load}))),this.hasAttribute("adaptive-height")&&(this.addEventListener("carousel:settle",this._adjustHeight),this._adjustHeight()),this.addEventListener("carousel:select",this._preloadImages,{signal:this._abortController.signal}),this.addEventListener("carousel:filter",this._filterItems,{signal:this._abortController.signal}),this.addEventListener("control:prev",this.previous,{signal:this._abortController.signal}),this.addEventListener("control:next",this.next,{signal:this._abortController.signal}),this.addEventListener("control:select",(t=>this.select(t.detail.index)),{signal:this._abortController.signal})),0===this.selectedIndex?this._dispatchEvent("carousel:select",0):this.select(this.selectedIndex,{animate:!1,force:!0})}disconnectedCallback(){this._abortController.abort()}get items(){return this.hasAttribute("reversed")?this._items=this._items||Array.from(this.hasAttribute("selector")?this.querySelectorAll(this.getAttribute("selector")):this.children).reverse():this._items=this._items||Array.from(this.hasAttribute("selector")?this.querySelectorAll(this.getAttribute("selector")):this.children)}get visibleItems(){return this.items.filter((t=>null!==t.offsetParent))}get selectedIndex(){return this._selectedIndex=this._selectedIndex??parseInt(this.getAttribute("initial-index")||0)}get selectedIndexAmongVisible(){return this.visibleItems.indexOf(this.selectedSlide)}get loop(){return!1}get selectedSlide(){return this.items[this.selectedIndex]}get previousSlide(){return this.visibleItems[this.loop?(this.selectedIndexAmongVisible-1+this.visibleItems.length)%this.visibleItems.length:Math.max(this.selectedIndexAmongVisible-1,0)]}get nextSlide(){return this.visibleItems[this.loop?(this.selectedIndexAmongVisible+1+this.visibleItems.length)%this.visibleItems.length:Math.min(this.selectedIndexAmongVisible+1,this.visibleItems.length-1)]}previous(t=!0){this.select(this.items.indexOf(this.previousSlide),{direction:"previous",animate:t})}next(t=!0){this.select(this.items.indexOf(this.nextSlide),{direction:"next",animate:t})}_transitionTo(t,e,i={}){}_adjustHeight(){this.hasAttribute("adaptive-height")&&this.selectedSlide.clientHeight!==this.clientHeight&&(this.style.maxHeight=`${this.selectedSlide.clientHeight}px`)}
1_filterItems(t){this.items.forEach(((e,i)=>e.hidden=t.detail.filteredIndexes.includes(i)))}_preloadImages(){[this.previousSlide,this.nextSlide].forEach((t=>{t&&Array.from(t.querySelectorAll('img[loading="lazy"]')).forEach((t=>t.setAttribute("loading","eager")))}))}_dispatchEvent(t,e){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:{slide:this.items[e],index:e}}))}},EffectCarousel=class extends BaseCarousel{connectedCallback(){super.connectedCallback(),this.items.length>1&&(this.swipeable&&(new GestureArea(this,{signal:this._abortController.signal}),this.addEventListener("swipeleft",this.next,{signal:this._abortController.signal}),this.addEventListener("swiperight",this.previous,{signal:this._abortController.signal})),this.hasAttribute("autoplay")&&(this._player=new Player(this.getAttribute("autoplay")),this._player.addEventListener("player:end",this.next.bind(this)),inView3(this,(()=>this._player.resume(!0))),Shopify.designMode&&(this.addEventListener("shopify:block:select",(()=>this._player.stop()),{signal:this._abortController.signal}),this.addEventListener("shopify:block:deselect",(()=>this._player.start()),{signal:this._abortController.signal}))))}get player(){return this._player}get loop(){return!0}get swipeable(){return"false"!==this.getAttribute("swipeable")}async select(t,{direction:e,animate:i=!0}={}){const n=this.selectedIndex;if(this._selectedIndex=t,this._dispatchEvent("carousel:select",t),e||(e=t>n?"next":"previous"),t!==n){const[s,a]=[this.items[n],this.items[t]];this._dispatchEvent("carousel:change",t),this.player?.pause(),await this._transitionTo(s,a,{direction:e,animate:i}),this.player?.resume(!0),this._dispatchEvent("carousel:settle",t)}}_transitionTo(t,e,{direction:i="next",animate:n=!0}={}){t.classList.remove("is-selected"),e.classList.add("is-selected");return timeline3([[t,{opacity:[1,0],visibility:["visible","hidden"],zIndex:0},{zIndex:{easing:"step-end"}}],[e,{opacity:[0,1],visibility:["hidden","visible"],zIndex:1},{at:"<",zIndex:{easing:"step-end"}}]],{duration:n?.3:0}).finished}};window.customElements.get("effect-carousel")||window.customElements.define("effect-carousel",EffectCarousel);var ScrollCarousel=class extends BaseCarousel{constructor(){super(),window.ResizeObserver&&new ResizeObserver(throttle(this._adjustHeight.bind(this))).observe(this)}connectedCallback(){this._hasPendingProgrammaticScroll=!1,this._scrollArea=new ScrollArea(this,this._abortController),super.connectedCallback(),this.addEventListener("scroll",throttle(this._onCarouselScroll.bind(this)),{signal:this._abortController.signal}),this.addEventListener("scrollend",this._onScrollSettled,{signal:this._abortController.signal})}get itemOffset(){return this.visibleItems.length<2?0:this.visibleItems[1].offsetLeft-this.visibleItems[0].offsetLeft}get slidesPerPage(){return this.visibleItems.length<2?1:Math.floor((this.clientWidth-this.visibleItems[0].offsetLeft)/(Math.abs(this.itemOffset)-(parseInt(getComputedStyle(this).gap)||0)))}get totalPages(){return this.visibleItems.length<2?1:this.visibleItems.length-this.slidesPerPage+1}select(t,{animate:e=!0,force:i=!1}={}){const n=this.selectedIndex;if(!this.offsetParent||"none"===this._scrollArea.scrollDirection)return this._selectedIndex=t;const s=this.visibleItems.indexOf(this.items[t]);if(t=this.items.indexOf(this.visibleItems[Math.min(this.totalPages,s)]),this._selectedIndex=t,this._dispatchEvent("carousel:select",t),t!==n||i){const[i,s]=[this.items[n],this.items[t]];this._dispatchEvent("carousel:change",t),this._transitionTo(i,s,{animate:e})}}_transitionTo(t,e,{animate:i=!0}={}){t.classList.remove("is-selected"),e.classList.add("is-selected");let n=0;switch(this._extractSlideAlign(e)){case"start":n=this.itemOffset*this.visibleItems.indexOf(e);break;case"center":n=e.offsetLeft-(this.clientWidth/2-(parseInt(getComputedStyle(this).scrollPaddingInline)||0))+e.clientWidth/2}this._hasPendingProgrammaticScroll=i,this.scrollTo({left:n,behavior:i?"smooth":"auto"})}_onCarouselScroll(){if(this._hasPendingProgrammaticScroll||"none"===this._scrollArea.scrollDirection)return;const t=this.items.indexOf(this.visibleItems[Math.round(this.scrollLeft/this.itemOffset)]);t!==this.selectedIndex&&(this._selectedIndex=t,this._dispatchEvent("carousel:select",this.selectedIndex),this._dispatchEvent("carousel:change",this.selectedIndex))}_onScrollSettled(){this._hasPendingProgrammaticScroll=!1,this._dispatchEvent("carousel:settle",this.selectedIndex)}_adjustHeight(){this.style.maxHeight=null,"none"!==this._scrollArea.scrollDirection&&super._adjustHeight()}_extractSlideAlign(t){return"center"===getComputedStyle(t).scrollSnapAlign?"center":"start"}};
1window.customElements.get("scroll-carousel")||window.customElements.define("scroll-carousel",ScrollCarousel);import{animate as animate3}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var createCartPromise=()=>new Promise((async t=>{t(await(await fetch(`${Shopify.routes.root}cart.js`)).json())})),fetchCart=createCartPromise();document.addEventListener("cart:change",(t=>{fetchCart=t.detail.cart})),window.addEventListener("pageshow",(t=>{t.persisted&&(fetchCart=createCartPromise())}));var _lockLayerCount,_isLocked,CartCount=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}).appendChild(document.createRange().createContextualFragment("<span><slot></slot></span>"))}connectedCallback(){this._abortController=new AbortController,document.addEventListener("cart:change",(t=>this.itemCount=t.detail.cart.item_count),{signal:this._abortController.signal}),document.addEventListener("cart:refresh",this._updateFromServer.bind(this),{signal:this._abortController.signal}),window.addEventListener("pageshow",this._updateFromServer.bind(this))}disconnectedCallback(){this._abortController.abort()}async _updateFromServer(){this.itemCount=(await fetchCart).item_count}get itemCount(){return parseInt(this.innerText)}set itemCount(t){this.itemCount!==t&&(0===t?(animate3(this,{opacity:0},{duration:.1}),this.innerText=t):0===this.itemCount?(animate3(this,{opacity:1},{duration:.1}),this.innerText=t):(async()=>{await animate3(this.shadowRoot.firstElementChild,{transform:["translateY(-50%)"],opacity:0},{duration:.25,easing:[1,0,0,1]}).finished,this.innerText=t,animate3(this.shadowRoot.firstElementChild,{transform:["translateY(50%)","translateY(0)"],opacity:1},{duration:.25,easing:[1,0,0,1]})})())}};window.customElements.get("cart-count")||window.customElements.define("cart-count",CartCount);import{animate as animate4}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";import{FocusTrap,Delegate}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var _DialogElement=class t extends HTMLElement{constructor(){super(),__privateAdd(this,_isLocked,!1),this.addEventListener("dialog:force-close",(t=>{this.hide(),t.stopPropagation()}))}static get observedAttributes(){return["id","open"]}connectedCallback(){this.id&&this.delegate.off().on("click",`[aria-controls="${this.id}"]`,this._onToggleClicked.bind(this)),this._abortController=new AbortController,this.setAttribute("role","dialog"),Shopify.designMode&&(this.addEventListener("shopify:block:select",(t=>this.show(!t.detail.load)),{signal:this._abortController.signal}),this.addEventListener("shopify:block:deselect",this.hide,{signal:this._abortController.signal}),this._shopifySection=this._shopifySection||this.closest(".shopify-section"),this._shopifySection&&(this.hasAttribute("handle-section-events")&&(this._shopifySection.addEventListener("shopify:section:select",(t=>this.show(!t.detail.load)),{signal:this._abortController.signal}),this._shopifySection.addEventListener("shopify:section:deselect",this.hide.bind(this),{signal:this._abortController.signal})),this._shopifySection.addEventListener("shopify:section:unload",(()=>this.remove()),{signal:this._abortController.signal})))}disconnectedCallback(){this._abortController.abort(),this.delegate.off(),this.focusTrap?.deactivate({onDeactivate:!1}),__privateGet(this,_isLocked)&&(__privateSet(this,_isLocked,!1),document.documentElement.classList.toggle("lock",--__privateWrapper(t,_lockLayerCount)._>0))}show(t=!0){if(!this.open)return this.setAttribute("open",t?"":"immediate"),waitForEvent(this,"dialog:after-show")}hide(){if(this.open)return this.removeAttribute("open"),waitForEvent(this,"dialog:after-hide")}get delegate(){return this._delegate=this._delegate||new Delegate(document.body)}get controls(){return Array.from(this.getRootNode().querySelectorAll(`[aria-controls="${this.id}"]`))}get open(){return this.hasAttribute("open")}get shouldTrapFocus(){return!0}get shouldLock(){return!1}get shouldAppendToBody(){return!1}get initialFocus(){return this.hasAttribute("initial-focus")?this.getAttribute("initial-focus"):this.hasAttribute("tabindex")?this:this.querySelector('input:not([type="hidden"])')||!1}get preventScrollWhenTrapped(){return!0}get focusTrap(){return this._focusTrap=this._focusTrap||new FocusTrap.createFocusTrap([this,this.shadowRoot],{onDeactivate:this.hide.bind(this),allowOutsideClick:this._allowOutsideClick.bind(this),initialFocus:!!window.matchMedia("screen and (pointer: fine)").matches&&this.initialFocus,fallbackFocus:this,preventScroll:this.preventScrollWhenTrapped})}attributeChangedCallback(e,i,n){switch(e){case"id":n&&this.delegate.off().on("click",`[aria-controls="${this.id}"]`,this._onToggleClicked.bind(this));break;
1case"open":if(this.controls.forEach((t=>t.setAttribute("aria-expanded",null===n?"false":"true"))),null!==i||""!==n&&"immediate"!==n){if(null!==i&&null===n){this.setAttribute("inert","");const e=this._hideTransition()||Promise.resolve();e.then((()=>{this.parentElement===document.body&&this._originalParentBeforeAppend&&(this._originalParentBeforeAppend.appendChild(this),this._originalParentBeforeAppend=null),this.dispatchEvent(new CustomEvent("dialog:after-hide",{bubbles:!0}))})),this.focusTrap?.deactivate({checkCanReturnFocus:()=>e}),this.shouldLock&&(__privateSet(this,_isLocked,!1),document.documentElement.classList.toggle("lock",--__privateWrapper(t,_lockLayerCount)._>0))}}else{this.removeAttribute("inert"),this._originalParentBeforeAppend=null,this.shouldAppendToBody&&this.parentElement!==document.body&&(this._originalParentBeforeAppend=this.parentElement,document.body.append(this));const e=this._showTransition("immediate"!==n)||Promise.resolve();e.then((()=>{this.dispatchEvent(new CustomEvent("dialog:after-show",{bubbles:!0}))})),this.shouldTrapFocus&&this.focusTrap.activate({checkCanFocusTrap:()=>e}),this.shouldLock&&(__privateSet(t,_lockLayerCount,__privateGet(t,_lockLayerCount)+1),__privateSet(this,_isLocked,!0),document.documentElement.classList.add("lock"))}this.dispatchEvent(new CustomEvent("toggle",{bubbles:!0}))}}_showTransition(t=!0){}_hideTransition(){}_allowOutsideClick(t){return"TouchEvent"in window&&t instanceof TouchEvent?this._allowOutsideClickTouch(t):this._allowOutsideClickMouse(t)}_allowOutsideClickTouch(t){return t.target.addEventListener("touchend",(t=>{const e=document.elementFromPoint(t.changedTouches.item(0).clientX,t.changedTouches.item(0).clientY);this.contains(e)||this.hide()}),{once:!0}),!1}_allowOutsideClickMouse(t){if("click"!==t.type)return!1;this.contains(t.target)||this.hide();let e=t.target,i=t.target.closest("[aria-controls]");return i&&i.getAttribute("aria-controls")===this.id&&(e=i),this.id!==e.getAttribute("aria-controls")}_onToggleClicked(t){t?.preventDefault(),this.open?this.hide():this.show()}};_lockLayerCount=new WeakMap,_isLocked=new WeakMap,__privateAdd(_DialogElement,_lockLayerCount,0);var DialogElement=_DialogElement,CloseButton=class extends HTMLButtonElement{constructor(){super(),this.addEventListener("click",(()=>this.dispatchEvent(new CustomEvent("dialog:force-close",{bubbles:!0,cancelable:!0,composed:!0}))))}};window.customElements.get("dialog-element")||window.customElements.define("dialog-element",DialogElement),window.customElements.get("close-button")||window.customElements.define("close-button",CloseButton,{extends:"button"});import{animate as motionAnimate,timeline as motionTimeline}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var reduceDrawerAnimation=window.matchMedia("(prefers-reduced-motion: reduce)").matches||JSON.parse("false"),Drawer=class extends DialogElement{constructor(){super();const t=document.getElementById(this.template).content.cloneNode(!0);this.attachShadow({mode:"open"}).appendChild(t),this.shadowRoot.addEventListener("slotchange",(t=>this._updateSlotVisibility(t.target)))}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-modal","true"),this.shadowRoot.querySelector('[part="overlay"]')?.addEventListener("click",this.hide.bind(this),{signal:this._abortController.signal}),Array.from(this.shadowRoot.querySelectorAll("slot")).forEach((t=>this._updateSlotVisibility(t)))}get template(){return this.getAttribute("template")||"drawer-default-template"}get shouldLock(){return!0}get shouldAppendToBody(){return!0}get openFrom(){return window.matchMedia(`${window.themeVariables.breakpoints["sm-max"]}`).matches?"bottom":this.getAttribute("open-from")||"right"}_getClipPathProperties(){switch(this.openFrom){case"left":return"ltr"===document.dir?["inset(0 100% 0 0 round var(--rounded-sm))","inset(0 0 0 0 round var(--rounded-sm))"]:["inset(0 0 0 100% round var(--rounded-sm))","inset(0 0 0 0 round var(--rounded-sm))"];case"right":return"ltr"===document.dir?["inset(0 0 0 100% round var(--rounded-sm))","inset(0 0 0 0 round var(--rounded-sm)"]:["inset(0 100% 0 0 round var(--rounded-sm))","inset(0 0 0 0 round var(--rounded-sm))"];case"bottom":return["inset(100% 0 0 0 round var(--rounded-sm))","inset(0 0 0 0 round var(--rounded-sm))"];case"top":return["inset(0 0 100% 0 round var(--rounded-sm))","inset(0 0 0 0 round var(--rounded-sm))"]}}_setInitialPosition(){this.style.left="ltr"===document.dir&&"left"===this.openFrom||"rtl"===document.dir&&"right"===this.openFrom?"0px":null,this.style.right=""===this.style.left?"0px":null,this.style.bottom="bottom"===this.openFrom?"0px":null,this.style.top=""===this.style.bottom?"0px":null}_showTransition(t=!0){let e;if(this._setInitialPosition(),reduceDrawerAnimation)e=motionAnimate(this,{opacity:[0,1],visibility:["hidden","visible"]},{duration:.2});else{let t=this.shadowRoot.querySelector('[part="content"]'),i=this.shadowRoot.querySelector('[part="outside-close-button"]');e=motionTimeline([[this,{opacity:[0,1],visibility:["hidden","visible"]},{duration:.15}],[t,{clipPath:this._getClipPathProperties()},{duration:.4,easing:[.86,0,.07,1]}],[t.children,{opacity:[0,1]},{duration:.15}],[i,{opacity:[0,1]},{at:"<",duration:.15}]])}return t?e.play():e.finish(),e.finished.then((()=>this.classList.add("show-close-cursor")))}_hideTransition(){let t;if(reduceDrawerAnimation)t=motionAnimate(this,{opacity:[1,0],visibility:["visibility","hidden"]},{duration:.2});else{let e=this.shadowRoot.querySelector('[part="content"]'),i=this.shadowRoot.querySelector('[part="outside-close-button"]');t=motionTimeline([[i,{opacity:[null,0]},{duration:.15}],[e.children,{opacity:[null,0]},{at:"<",duration:.15}],[e,{clipPath:this._getClipPathProperties().reverse()},{duration:.4,easing:[.86,0,.07,1]}],[this,{opacity:[null,0],visibility:["visible","hidden"]},{duration:.15}]])}return t.finished.then((()=>this.classList.remove("show-close-cursor")))}_updateSlotVisibility(t){["header","footer","body"].includes(t.name)&&(t.parentElement.hidden=0===t.assignedElements({flatten:!0}).length)}};window.customElements.get("x-drawer")||window.customElements.define("x-drawer",Drawer);import{animate as motionAnimate2,timeline as motionTimeline2}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var Popover=class extends DialogElement{constructor(){super(),this.attachShadow({mode:"open"}).appendChild(document.getElementById(this.template).content.cloneNode(!0))}connectedCallback(){super.connectedCallback(),this.shadowRoot.querySelector('[part="overlay"]')?.addEventListener("click",this.hide.bind(this),{signal:this._abortController.signal}
1),this.controls.forEach((t=>t.setAttribute("aria-haspopup","dialog"))),this.hasAttribute("close-on-listbox-select")&&this.addEventListener("listbox:select",this.hide,{signal:this._abortController.signal})}get template(){return this.getAttribute("template")||"popover-default-template"}get shouldLock(){return window.matchMedia("screen and (max-width: 999px)").matches}get shouldAppendToBody(){return window.matchMedia("screen and (max-width: 999px)").matches}get anchor(){return{vertical:this.getAttribute("anchor-vertical")||"start",horizontal:this.getAttribute("anchor-horizontal")||"end"}}_showTransition(t=!0){let e,i=this.shadowRoot.querySelector('[part="content"]'),n=this.shadowRoot.querySelector('[part="outside-close-button"]');if(this.style.display="block",window.matchMedia("screen and (max-width: 999px)").matches)this.style.left="0px",this.style.right=null,this.style.bottom="0px",this.style.top=null,e=motionTimeline2([[this,{opacity:[0,1],visibility:["hidden","visible"]},{duration:.15}],[i,{clipPath:["inset(100% 0 0 0 round 8px)","inset(0 0 0 0 round 8px"]},{duration:.4,easing:[.86,0,.07,1]}],[i.children,{opacity:[0,1]},{duration:.15}],[n,{opacity:[0,1]},{at:"<",duration:.15}]]);else{let t="var(--popover-anchor-block-spacing)",n="var(--popover-anchor-inline-spacing)";this.style.left="start"===this.anchor.horizontal?n:null,this.style.right="end"===this.anchor.horizontal?n:null,"center"===this.anchor.vertical?(this.style.top=`calc(50% - ${parseInt(this.clientHeight/2)}px)`,this.style.bottom=null):(this.style.top="end"===this.anchor.vertical?`calc(100% + ${t})`:null,this.style.bottom="start"===this.anchor.vertical?`calc(100% + ${t})`:null),e=motionTimeline2([[this,{opacity:[0,1],visibility:["hidden","visible"]},{duration:.15}],[i,{clipPath:"none"},{at:"<",duration:0}],[i.children,{opacity:1},{at:"<",duration:0}]])}return t?e.play():e.finish(),e.finished}_hideTransition(){let t;if(window.matchMedia("screen and (max-width: 999px)").matches){let e=this.shadowRoot.querySelector('[part="content"]'),i=this.shadowRoot.querySelector('[part="outside-close-button"]');t=motionTimeline2([[i,{opacity:[null,0]},{duration:.15}],[e.children,{opacity:[null,0]},{at:"<",duration:.15}],[e,{clipPath:[null,"inset(100% 0 0 0 round 8px)"]},{duration:.4,easing:[.86,0,.07,1]}],[this,{opacity:[null,0],visibility:["visible","hidden"]},{duration:.15}]])}else t=motionAnimate2(this,{opacity:[null,0],visibility:["visible","hidden"]},{duration:.15});return t.finished.then((()=>this.style.display="none"))}};window.customElements.get("x-popover")||window.customElements.define("x-popover",Popover);import{Delegate as Delegate2}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var PrivacyBar=class extends HTMLElement{constructor(){if(super(),this._delegate=new Delegate2(this),window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1",onLoad:this._onConsentLibraryLoaded.bind(this)}]),Shopify.designMode){const t=this.closest(".shopify-section");t.addEventListener("shopify:section:select",this.show.bind(this)),t.addEventListener("shopify:section:deselect",this.hide.bind(this))}}connectedCallback(){this._delegate.on("click",'[data-action="accept"]',this._acceptPolicy.bind(this)),this._delegate.on("click",'[data-action="decline"]',this._declinePolicy.bind(this)),this._delegate.on("click",'[data-action="close"]',this.hide.bind(this))}disconnectedCallback(){this._delegate.off()}show(){this.hidden=!1}hide(){this.hidden=!0}_onConsentLibraryLoaded(){window.Shopify.customerPrivacy?.shouldShowBanner()&&this.show()}_acceptPolicy(){window.Shopify.customerPrivacy?.setTrackingConsent(!0,this.hide.bind(this))}_declinePolicy(){window.Shopify.customerPrivacy?.setTrackingConsent(!1,this.hide.bind(this))}};window.customElements.get("privacy-bar")||window.customElements.define("privacy-bar",PrivacyBar);var CartDrawer=class extends Drawer{constructor(){super(),this._onPrepareBundledSectionsListener=this._onPrepareBundledSections.bind(this),this._onCartChangedListener=this._onCartChanged.bind(this),this._onCartRefreshListener=this._onCartRefresh.bind(this),this._onVariantAddedListener=this._onVariantAdded.bind(this),window.addEventListener("pageshow",this._onPageShow.bind(this))}connectedCallback(){super.connectedCallback(),document.addEventListener("cart:prepare-bundled-sections",this._onPrepareBundledSectionsListener),document.addEventListener("cart:change",this._onCartChangedListener),document.addEventListener("cart:refresh",this._onCartRefreshListener),document.addEventListener("variant:add",this._onVariantAddedListener)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("cart:prepare-bundled-sections",this._onPrepareBundledSectionsListener),document.removeEventListener("cart:change",this._onCartChangedListener),document.removeEventListener("cart:refresh",this._onCartRefreshListener),document.removeEventListener("variant:add",this._onVariantAddedListener)}get shouldAppendToBody(){return!1}get openFrom(){return"right"}_onPrepareBundledSections(t){t.detail.sections.push(extractSectionId(this))}async _onCartChanged(t){const e=(new DOMParser).parseFromString(t.detail.cart.sections[extractSectionId(this)],"text/html");if(t.detail.cart.item_count>0){const i=this.querySelector(".cart-drawer__line-items"),n=e.querySelector(".cart-drawer__line-items");i?(setTimeout((()=>{i.innerHTML=n.innerHTML}),"variant:add"===t.detail.baseEvent?0:1250),this.querySelector('[slot="footer"]').replaceChildren(...e.querySelector('[slot="footer"]').childNodes)):this.replaceChildren(document.createRange().createContextualFragment(e.querySelector(".cart-drawer").innerHTML))}else await animate4(this.children,{opacity:0}
1,{duration:.15}).finished,this.replaceChildren(...e.querySelector(".cart-drawer").childNodes),animate4(this.querySelector(".empty-state"),{opacity:[0,1],transform:["translateY(20px)","translateY(0)"]},{duration:.15})}_onPageShow(t){t.persisted&&this._onCartRefresh()}_onVariantAdded(t){"drawer"!==window.themeVariables.settings.cartType||t.detail?.blockCartDrawerOpening||this.show()}async _onCartRefresh(){const t=document.createElement("div");t.innerHTML=await(await fetch(`${window.Shopify.routes.root}?section_id=${extractSectionId(this)}`)).text(),this.replaceChildren(...t.querySelector("#cart-drawer").children)}},CartNotificationDrawer=class extends Drawer{constructor(){super(),this._onVariantAddedListener=this._onVariantAdded.bind(this)}connectedCallback(){super.connectedCallback(),document.addEventListener("variant:add",this._onVariantAddedListener)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("variant:add",this._onVariantAddedListener)}async show(){return this.style.display="block",super.show()}async hide(){super.hide()?.then((()=>{this.style.display="none"}))}_onVariantAdded(t){if("popover"!==window.themeVariables.settings.cartType||t.detail?.blockCartDrawerOpening)return;const e=document.createElement("div");e.innerHTML=t.detail.cart.sections["variant-added"],this.replaceChildren(...e.querySelector(".shopify-section").children),this.show()}},LineItem=class extends HTMLElement{connectedCallback(){this.pillLoaderElement=this.querySelector("pill-loader"),this.addEventListener("line-item:will-change",this._onWillChange.bind(this)),this.addEventListener("line-item:change",this._onChanged.bind(this))}_onWillChange(){this.pillLoaderElement.setAttribute("aria-busy","true")}async _onChanged(t){if(this.pillLoaderElement.removeAttribute("aria-busy"),0===t.detail.cart.item_count||0!==t.detail.quantity)return;let e=0;this.nextElementSibling&&(e=`-${getComputedStyle(this.nextElementSibling).paddingTop}`),await animate4(this,{height:[`${this.clientHeight}px`,0],marginBottom:[0,e],overflow:"hidden",opacity:[1,0]},{duration:.2,easing:"ease"}).finished,this.remove()}};window.customElements.get("cart-drawer")||window.customElements.define("cart-drawer",CartDrawer),window.customElements.get("cart-notification-drawer")||window.customElements.define("cart-notification-drawer",CartNotificationDrawer),window.customElements.get("line-item")||window.customElements.define("line-item",LineItem);var CartNote=class extends HTMLElement{constructor(){super(),this.addEventListener("change",this._onNoteChanged)}_onNoteChanged(t){"note"===t.target.getAttribute("name")&&fetch(`${Shopify.routes.root}cart/update.js`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({note:t.target.value}),keepalive:!0})}},CartNoteDialog=class extends DialogElement{constructor(){super(),this.addEventListener("change",this._onNoteChanged)}_onNoteChanged(t){""===t.target.value?this.controls.forEach((t=>t.innerHTML=`<span class="link text-sm text-subdued">${window.themeVariables.strings.addOrderNote}</span>`)):this.controls.forEach((t=>t.innerHTML=`<span class="link text-sm text-subdued">${window.themeVariables.strings.editOrderNote}</span>`))}};window.customElements.get("cart-note")||window.customElements.define("cart-note",CartNote),window.customElements.get("cart-note-dialog")||window.customElements.define("cart-note-dialog",CartNoteDialog);var FreeShippingBar=class extends HTMLElement{static get observedAttributes(){return["threshold","total-price"]}constructor(){super(),this._onCartChangedListener=this._onCartChanged.bind(this)}async connectedCallback(){this.threshold=Math.round(this.threshold*(Shopify.currency.rate||1)),document.addEventListener("cart:change",this._onCartChangedListener)}disconnectedCallback(){document.removeEventListener("cart:change",this._onCartChangedListener)}get threshold(){return parseFloat(this.getAttribute("threshold"))}set threshold(t){this.setAttribute("threshold",t)}get totalPrice(){return parseFloat(this.getAttribute("total-price"))}set totalPrice(t){this.setAttribute("total-price",t)}async attributeChangedCallback(t,e,i){await window.customElements.whenDefined("progress-bar");const n=this.querySelector("progress-bar");switch(t){case"threshold":n.valueMax=i;break;case"total-price":n.valueNow=i}this._updateMessage()}_updateMessage(){const t=this.querySelector("span");if(this.totalPrice>=this.threshold)t.innerHTML=this.getAttribute("reached-message");else{const e=`<span class="bold text-accent">${formatMoney(this.threshold-this.totalPrice).replace(/\$/g,"$$$$")}</span>`;t.innerHTML=this.getAttribute("unreached-message").replace(new RegExp("({{.*}})","g"),e)}}_onCartChanged(t){const e=t.detail.cart.items.filter((t=>t.requires_shipping)).reduce(((t,e)=>t+e.final_line_price),0),i=t.detail.cart.cart_level_discount_applications.reduce(((t,e)=>t+e.total_allocated_amount),0);this.totalPrice=e-i}};window.customElements.get("free-shipping-bar")||window.customElements.define("free-shipping-bar",FreeShippingBar);var LineItemQuantity=class extends HTMLElement{constructor(){super(),this.addEventListener("change",this._onQuantityChanged),this.addEventListener("click",this._onRemoveLinkClicked)}_onQuantityChanged(t){t.target.hasAttribute("data-line-key")&&this._changeLineItemQuantity(t.target.getAttribute("data-line-key"),parseInt(t.target.value))}_onRemoveLinkClicked(t){if("A"!==t.target.tagName||!t.target.href.includes("/cart/change"))return;t.preventDefault();const e=new URL(t.target.href);this._changeLineItemQuantity(e.searchParams.get("id"),parseInt(e.searchParams.get("quantity")))}async _changeLineItemQuantity(t,e){if("cart"===window.themeVariables.settings.pageType)window.location.href=`${Shopify.routes.root}cart/change?id=${t}&quantity=${e}`;else{const i=this.closest("line-item");i?.dispatchEvent(new CustomEvent("line-item:will-change",{bubbles:!0,detail:{targetQuantity:e}}));let n=[];document.documentElement.dispatchEvent(new CustomEvent("cart:prepare-bundled-sections",{bubbles:!0,detail:{sections:n}}));const s=await(await fetch(`${Shopify.routes.root}cart/change.js`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:t,quantity:e,sections:n})})).json(),a=s.items.filter((e=>e.key===t));
1i?.dispatchEvent(new CustomEvent("line-item:change",{bubbles:!0,detail:{quantity:0===a.length?0:a[0].quantity,cart:s}})),document.documentElement.dispatchEvent(new CustomEvent("cart:change",{bubbles:!0,detail:{baseEvent:"line-item:change",cart:s}}))}}};window.customElements.get("line-item-quantity")||window.customElements.define("line-item-quantity",LineItemQuantity);var ShippingEstimator=class extends HTMLElement{constructor(){super(),this._estimateShippingListener=this._estimateShipping.bind(this)}connectedCallback(){this.submitButton=this.querySelector('[type="submit"]'),this.resultsElement=this.lastElementChild,this.submitButton.addEventListener("click",this._estimateShippingListener)}disconnectedCallback(){this.submitButton.removeEventListener("click",this._estimateShippingListener)}async _estimateShipping(t){t.preventDefault();const e=this.querySelector('[name="address[zip]"]').value,i=this.querySelector('[name="address[country]"]').value,n=this.querySelector('[name="address[province]"]').value;this.submitButton.setAttribute("aria-busy","true");const s=await fetch(`${Shopify.routes.root}cart/prepare_shipping_rates.json?shipping_address[zip]=${e}&shipping_address[country]=${i}&shipping_address[province]=${n}`,{method:"POST"});if(s.ok){const t=await this._getAsyncShippingRates(e,i,n);this._formatShippingRates(t)}else{const t=await s.json();this._formatError(t)}this.resultsElement.hidden=!1,this.submitButton.removeAttribute("aria-busy")}async _getAsyncShippingRates(t,e,i){const n=await fetch(`${Shopify.routes.root}cart/async_shipping_rates.json?shipping_address[zip]=${t}&shipping_address[country]=${e}&shipping_address[province]=${i}`),s=await n.text();return"null"===s?this._getAsyncShippingRates(t,e,i):JSON.parse(s).shipping_rates}_formatShippingRates(t){let e=t.map((t=>`<li>${t.presentment_name}: ${t.currency} ${t.price}</li>`));this.resultsElement.innerHTML=`\n <div class="v-stack gap-2">\n <p>${0===t.length?window.themeVariables.strings.shippingEstimatorNoResults:1===t.length?window.themeVariables.strings.shippingEstimatorOneResult:window.themeVariables.strings.shippingEstimatorMultipleResults}</p>\n ${""===e?"":`<ul class="list-disc" role="list">${e.join("")}</ul>`}\n </div>\n `}_formatError(t){let e=Object.keys(t).map((e=>`<li>${t[e]}</li>`));this.resultsElement.innerHTML=`\n <div class="v-stack gap-2">\n <p>${window.themeVariables.strings.shippingEstimatorError}</p>\n <ul class="list-disc" role="list">${e}</ul>\n </div>\n `}};window.customElements.get("shipping-estimator")||window.customElements.define("shipping-estimator",ShippingEstimator);var FacetApplyButton=class extends HTMLButtonElement{constructor(){super(),this.addEventListener("click",this._closeDrawer),this.form.addEventListener("change",this._updateCount.bind(this)),this.filterCountElement=document.createElement("span"),this.appendChild(this.filterCountElement)}connectedCallback(){this._updateCount()}_updateCount(){const t=new FormData(this.form);this.filterCountElement.innerText=` (${Array.from(t.values()).filter((t=>""!==t)).length})`}async _closeDrawer(){this.closest("facet-drawer").hide()}};
1window.customElements.get("facet-apply-button")||window.customElements.define("facet-apply-button",FacetApplyButton,{extends:"button"});var FacetDialog=class extends DialogElement{get initialFocus(){return!1}};window.customElements.get("facet-dialog")||window.customElements.define("facet-dialog",FacetDialog);var FacetDrawer=class extends Drawer{constructor(){super(),this.addEventListener("dialog:after-hide",this._submitForm)}_submitForm(){this.querySelector("#facet-form").dispatchEvent(new Event("submit"))}};window.customElements.get("facet-drawer")||window.customElements.define("facet-drawer",FacetDrawer);import{animate as animate5}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var FacetFloatingFilter=class extends HTMLElement{connectedCallback(){new IntersectionObserver(this._onFooterVisibilityChanged.bind(this),{rootMargin:"50px 0px"}).observe(document.querySelector(".shopify-section--footer"))}_onFooterVisibilityChanged(t){t[0].isIntersecting?animate5(this,{opacity:0,transform:[null,"translateY(15px)"],visibility:"hidden"},{duration:.15}):animate5(this,{opacity:1,transform:[null,"translateY(0)"],visibility:"visible"},{duration:.15})}};window.customElements.get("facet-floating-filter")||window.customElements.define("facet-floating-filter",FacetFloatingFilter);var abortController=null,openElements=new Set;document.addEventListener("facet:update",(async t=>{abortController&&abortController.abort(),abortController=new AbortController;const e=t.detail.url,i=document.getElementById(`shopify-section-${e.searchParams.get("section_id")}`);i.classList.add("is-loading");const n=new URL(e);n.searchParams.delete("section_id"),history.replaceState({},"",n.toString());try{const t=(new DOMParser).parseFromString(await(await cachedFetch(e.toString(),{signal:abortController.signal})).text(),"text/html");Array.from(t.querySelectorAll("details, facet-dialog")).forEach((t=>{openElements.has(t.id)&&t.setAttribute("open","")})),i.replaceChildren(...document.importNode(t.querySelector(".shopify-section"),!0).childNodes),i.classList.remove("is-loading");const n=window.matchMedia("(min-width: 700px) and (max-width: 999px)").matches?i.querySelector(".collection__results"):i.querySelector(".collection__results product-list");n.getBoundingClientRect().top<parseInt(getComputedStyle(n).scrollPaddingTop||0)&&n.scrollIntoView({block:"start",behavior:"smooth"})}catch(t){}}));var FacetForm=class extends HTMLFormElement{constructor(){super(),this._isDirty=!1,this.addEventListener("change",this._onFormChanged),this.addEventListener("submit",this._onFormSubmitted)}connectedCallback(){Array.from(this.querySelectorAll("details, facet-dialog")).forEach((t=>{t.open&&openElements.add(t.id),t.addEventListener("toggle",(()=>{t.open?openElements.add(t.id):openElements.delete(t.id)}))}))}_buildUrl(){const t=new URLSearchParams(new FormData(this)),e=new URL(this.action);return e.search="",t.forEach(((t,i)=>e.searchParams.append(i,t))),["page","filter.v.price.gte","filter.v.price.lte"].forEach((t=>{""===e.searchParams.get(t)&&e.searchParams.delete(t)})),e.searchParams.set("section_id",this.getAttribute("section-id")),e}_onFormChanged(){this._isDirty=!0,this.hasAttribute("update-on-change")?this.dispatchEvent(new Event("submit",{cancelable:!0})):cachedFetch(this._buildUrl().toString())}_onFormSubmitted(t){t.preventDefault(),this._isDirty&&(this.dispatchEvent(new CustomEvent("facet:update",{bubbles:!0,detail:{url:this._buildUrl()}})),this._isDirty=!1)}};window.customElements.get("facet-form")||window.customElements.define("facet-form",FacetForm,{extends:"form"});var FacetLink=class extends HTMLAnchorElement{constructor(){super(),this.addEventListener("click",this._onFacetUpdate)}_onFacetUpdate(t){t.preventDefault();const e=t.target.closest(".shopify-section").id.replace("shopify-section-",""),i=new URL(this.href);i.searchParams.set("section_id",e),this.dispatchEvent(new CustomEvent("facet:update",{bubbles:!0,detail:{url:i}}))}};window.customElements.get("facet-link")||window.customElements.define("facet-link",FacetLink,{extends:"a"});var FacetSortBy=class extends HTMLElement{constructor(){super(),this.addEventListener("listbox:change",this._onValueChanged)}_onValueChanged(t){const e=new URL(location.href),i=t.target.closest(".shopify-section").id.replace("shopify-section-","");e.searchParams.set("sort_by",t.detail.value),e.searchParams.set("section_id",i),e.searchParams.delete("page"),this.dispatchEvent(new CustomEvent("facet:update",{bubbles:!0,detail:{url:e}}))}};window.customElements.get("facet-sort-by")||window.customElements.define("facet-sort-by",FacetSortBy);import{animate as animate6,timeline as timeline4,stagger as stagger4}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var PillLoader=class extends HTMLElement{static get observedAttributes(){return["aria-busy"]}connectedCallback(){this.innerHTML='\n <div class="loader-dots">
1\n <span></span>\n <span></span>\n <span></span>\n </div>\n \n <svg class="loader-checkmark" fill="none" width="9" height="8" viewBox="0 0 9 8">\n <path d="M1 3.5 3.3 6 8 1" stroke="currentColor" stroke-width="2"/>\n </svg>\n '}attributeChangedCallback(t,e,i){"true"===i?(timeline4([[this,{opacity:[0,1],visibility:"visible",transform:["translateY(5px)","translateY(0)"]},{duration:.15}],[this.firstElementChild,{opacity:1,transform:["translateY(0)"]},{duration:.15,at:"<"}],[this.lastElementChild,{opacity:0},{duration:0,at:"<"}]]),animate6(this.firstElementChild.querySelectorAll("span"),{opacity:[1,.1]},{duration:.35,delay:stagger4(.35/3),direction:"alternate",repeat:1/0})):timeline4([[this.firstElementChild,{opacity:0,transform:["translateY(0)","translateY(-2px)"]},{duration:.15}],[this.lastElementChild,{opacity:1,transform:["translateY(2px)","translateY(0)"]},{duration:.15}],[this,{opacity:0,transform:["translateY(0)","translateY(-5px)"],visibility:"hidden"},{duration:.15,at:"+0.8"}]])}};window.customElements.get("pill-loader")||window.customElements.define("pill-loader",PillLoader);var ProgressBar=class extends HTMLElement{static get observedAttributes(){return["aria-valuenow","aria-valuemax"]}set valueMax(t){this.setAttribute("aria-valuemax",t)}set valueNow(t){this.setAttribute("aria-valuenow",t)}attributeChangedCallback(){this.style.setProperty("--progress",`${Math.min(1,this.getAttribute("aria-valuenow")/this.getAttribute("aria-valuemax"))}`)}};window.customElements.get("progress-bar")||window.customElements.define("progress-bar",ProgressBar);var PriceRange=class extends HTMLElement{connectedCallback(){this._abortController=new AbortController,this.rangeLowerBound=this.querySelector('input[type="range"]:first-child'),this.rangeHigherBound=this.querySelector('input[type="range"]:last-child'),this.textInputLowerBound=this.querySelector('input[name="filter.v.price.gte"]'),this.textInputHigherBound=this.querySelector('input[name="filter.v.price.lte"]'),this.textInputLowerBound.addEventListener("focus",(()=>this.textInputLowerBound.select()),{signal:this._abortController.signal}),this.textInputHigherBound.addEventListener("focus",(()=>this.textInputHigherBound.select()),{signal:this._abortController.signal}),this.textInputLowerBound.addEventListener("change",(t=>{t.preventDefault(),t.target.value=Math.max(Math.min(parseInt(t.target.value),parseInt(this.textInputHigherBound.value||t.target.max)-1),t.target.min),this.rangeLowerBound.value=t.target.value,this.rangeLowerBound.parentElement.style.setProperty("--range-min",parseInt(this.rangeLowerBound.value)/parseInt(this.rangeLowerBound.max)*100+"%")}),{signal:this._abortController.signal}),this.textInputHigherBound.addEventListener("change",(t=>{t.preventDefault(),t.target.value=Math.min(Math.max(parseInt(t.target.value),parseInt(this.textInputLowerBound.value||t.target.min)+1),t.target.max),this.rangeHigherBound.value=t.target.value,this.rangeHigherBound.parentElement.style.setProperty("--range-max",parseInt(this.rangeHigherBound.value)/parseInt(this.rangeHigherBound.max)*100+"%")}),{signal:this._abortController.signal}),this.rangeLowerBound.addEventListener("change",(t=>{t.stopPropagation(),this.textInputLowerBound.value=t.target.value,this.textInputLowerBound.dispatchEvent(new Event("change",{bubbles:!0}))}),{signal:this._abortController.signal}),this.rangeHigherBound.addEventListener("change",(t=>{t.stopPropagation(),this.textInputHigherBound.value=t.target.value,this.textInputHigherBound.dispatchEvent(new Event("change",{bubbles:!0}))}),{signal:this._abortController.signal}),this.rangeLowerBound.addEventListener("input",(t=>{t.target.value=Math.min(parseInt(t.target.value),parseInt(this.textInputHigherBound.value||t.target.max)-1),t.target.parentElement.style.setProperty("--range-min",parseInt(t.target.value)/parseInt(t.target.max)*100+"%"),this.textInputLowerBound.value=t.target.value}),{signal:this._abortController.signal}),this.rangeHigherBound.addEventListener("input",(t=>{t.target.value=Math.max(parseInt(t.target.value),parseInt(this.textInputLowerBound.value||t.target.min)+1),t.target.parentElement.style.setProperty("--range-max",parseInt(t.target.value)/parseInt(t.target.max)*100+"%"),this.textInputHigherBound.value=t.target.value}),{signal:this._abortController.signal})}disconnectedCallback(){this._abortController.abort()}};window.customElements.get("price-range")||window.customElements.define("price-range",PriceRange);var QuantitySelector=class extends HTMLElement{connectedCallback(){this._abortController=new AbortController,this.inputElement=this.querySelector("input"),this.querySelector("button:first-of-type").addEventListener("click",(()=>this.inputElement.quantity=this.inputElement.quantity-1),{signal:this._abortController.signal}),this.querySelector("button:last-of-type").addEventListener("click",(()=>this.inputElement.quantity=this.inputElement.quantity+1),{signal:this._abortController.signal})}disconnectedCallback(){this._abortController.abort()}},QuantityInput=class extends HTMLInputElement{constructor(){super(),this.addEventListener("input",this._onValueInput),this.addEventListener("change",this._onValueChanged),this.addEventListener("keydown",this._onKeyDown),this.addEventListener("focus",this.select)}
1disconnectedCallback(){this._abortController?.abort()}get quantity(){return parseInt(this.value)}set quantity(t){const e=("number"==typeof t||"string"==typeof t&&""!==t.trim())&&!isNaN(t);""!==t&&((!e||t<0)&&(t=parseInt(t)||1),this.value=Math.max(this.min||1,Math.min(t,this.max||Number.MAX_VALUE)).toString(),this.size=Math.max(this.value.length+1,2))}_onValueInput(){this.quantity=this.value}_onValueChanged(){""===this.value&&(this.quantity=1)}_onKeyDown(t){t.stopPropagation();const e=this.quantity;"ArrowUp"===t.key?this.quantity=this.quantity+1:"ArrowDown"===t.key&&(this.quantity=this.quantity-1),e!==this.quantity&&(this._abortController=new AbortController,this.addEventListener("blur",(()=>this.dispatchEvent(new Event("change",{bubbles:!0}))),{once:!0,signal:this._abortController.signal}))}};window.customElements.get("quantity-selector")||window.customElements.define("quantity-selector",QuantitySelector),window.customElements.get("quantity-input")||window.customElements.define("quantity-input",QuantityInput,{extends:"input"});var _accessibilityInitialized,_hiddenInput,_onOptionClicked,onOptionClicked_fn,_onInputChanged,onInputChanged_fn,_onKeyDown,onKeyDown_fn,ResizableTextarea=class extends HTMLTextAreaElement{constructor(){super(),this.addEventListener("input",this._onInput)}_onInput(){this.style.height="auto",this.style.height=this.scrollHeight+2+"px"}};window.customElements.get("resizable-textarea")||window.customElements.define("resizable-textarea",ResizableTextarea,{extends:"textarea"});var _recipientCheckbox,_recipientOtherProperties,_recipientFieldsContainer,_synchronizeProperties,synchronizeProperties_fn,Listbox=class extends HTMLElement{constructor(){super(),__privateAdd(this,_onOptionClicked),__privateAdd(this,_onInputChanged),__privateAdd(this,_onKeyDown),__privateAdd(this,_accessibilityInitialized,!1),__privateAdd(this,_hiddenInput,void 0),this.addEventListener("keydown",__privateMethod(this,_onKeyDown,onKeyDown_fn))}static get observedAttributes(){return["aria-activedescendant"]}connectedCallback(){__privateGet(this,_accessibilityInitialized)||(this.setAttribute("role","listbox"),__privateSet(this,_hiddenInput,this.querySelector('input[type="hidden"]')),__privateGet(this,_hiddenInput)?.addEventListener("change",__privateMethod(this,_onInputChanged,onInputChanged_fn).bind(this)),Array.from(this.querySelectorAll('[role="option"]')).forEach((t=>{t.addEventListener("click",__privateMethod(this,_onOptionClicked,onOptionClicked_fn).bind(this)),t.id="option-"+(crypto.randomUUID?crypto.randomUUID():Math.floor(1e4*Math.random())),"true"===t.getAttribute("aria-selected")&&this.setAttribute("aria-activedescendant",t.id)})),__privateSet(this,_accessibilityInitialized,!0))}attributeChangedCallback(t,e,i){"aria-activedescendant"===t&&null!==e&&i!==e&&Array.from(this.querySelectorAll('[role="option"]')).forEach((t=>{t.id===i?(t.setAttribute("aria-selected","true"),__privateGet(this,_hiddenInput)&&__privateGet(this,_hiddenInput).value!==t.value&&(__privateGet(this,_hiddenInput).value=t.value,__privateGet(this,_hiddenInput).dispatchEvent(new Event("change",{bubbles:!0}))),this.hasAttribute("aria-owns")&&this.getAttribute("aria-owns").split(" ").forEach((e=>{document.getElementById(e).textContent=t.getAttribute("title")||t.innerText||t.value})),t.dispatchEvent(new CustomEvent("listbox:change",{bubbles:!0,detail:{value:t.value}}))):t.setAttribute("aria-selected","false")}))}};function imageLoaded(t){return t?(t=t instanceof Element?[t]:Array.from(t),Promise.all(t.map((t=>new Promise((e=>{"IMG"===t.tagName&&t.complete||!t.offsetParent?e():t.onload=()=>e()})))))):Promise.resolve()}function generateSrcset(t,e=[]){const i=new URL(t.src);return e.filter((e=>e<=t.width)).map((t=>(i.searchParams.set("width",t.toString()),`${i.href} ${t}w`))).join(", ")}function createMediaImg(t,e=[],i={}){const n=new Image(t.preview_image.width,t.preview_image.height),s=new URL(t.preview_image.src);for(const t in i)n.setAttribute(t,i[t]);return n.alt=t.alt,n.src=s.href,n.srcset=generateSrcset(t.preview_image,e),n}_accessibilityInitialized=new WeakMap,_hiddenInput=new WeakMap,_onOptionClicked=new WeakSet,onOptionClicked_fn=function(t){this.setAttribute("aria-activedescendant",t.currentTarget.id),t.currentTarget.dispatchEvent(new CustomEvent("listbox:select",{bubbles:!0,detail:{value:t.currentTarget.value}}))},_onInputChanged=new WeakSet,onInputChanged_fn=function(t){this.setAttribute("aria-activedescendant",this.querySelector(`[role="option"][value="${CSS.escape(t.target.value)}"]`).id)},_onKeyDown=new WeakSet,onKeyDown_fn=function(t){"ArrowUp"===t.key?(t.target.previousElementSibling?.focus(),t.preventDefault()):"ArrowDown"===t.key&&(t.target.nextElementSibling?.focus(),t.preventDefault())},window.customElements.get("x-listbox")||window.customElements.define("x-listbox",Listbox);var GiftCardRecipient=class extends HTMLElement{constructor(){super(...arguments),__privateAdd(this,_synchronizeProperties),__privateAdd(this,_recipientCheckbox,void 0),__privateAdd(this,_recipientOtherProperties,[]),__privateAdd(this,_recipientFieldsContainer,void 0)}connectedCallback(){const t=Array.from(this.querySelectorAll('[name*="properties"]')),e="properties[__shopify_send_gift_card_to_recipient]";__privateSet(this,_recipientCheckbox,t.find((t=>t.name===e))),__privateSet(this,_recipientOtherProperties,t.filter((t=>t.name!==e))),__privateSet(this,_recipientFieldsContainer,this.querySelector(".gift-card-recipient__fields")),__privateGet(this,_recipientCheckbox)?.addEventListener("change",__privateMethod(this,_synchronizeProperties,synchronizeProperties_fn).bind(this)),__privateMethod(this,_synchronizeProperties,synchronizeProperties_fn).call(this)}};_recipientCheckbox=new WeakMap,_recipientOtherProperties=new WeakMap,_recipientFieldsContainer=new WeakMap,_synchronizeProperties=new WeakSet,synchronizeProperties_fn=function(){__privateGet(this,_recipientOtherProperties).forEac
1h((t=>t.disabled=!__privateGet(this,_recipientCheckbox).checked)),__privateGet(this,_recipientFieldsContainer).classList.toggle("js:hidden",!__privateGet(this,_recipientCheckbox).checked)},window.customElements.get("gift-card-recipient")||window.customElements.define("gift-card-recipient",GiftCardRecipient);var ProductLoader=class{static load(t){if(t)return this.loadedProducts[t]||(this.loadedProducts[t]=new Promise((async(e,i)=>{const n=await fetch(`${Shopify.routes.root}products/${t}.js`);if(n.ok){e(await n.json())}else i(`\n Attempted to load information for product with handle ${t}, but this product is in "draft" mode. You won't be able to\n switch between variants or access to per-variant information. To fully preview this product, change temporarily its status\n to "active".\n `)}))),this.loadedProducts[t]}};__publicField(ProductLoader,"loadedProducts",{});import{Delegate as Delegate3}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var ProductCard=class extends HTMLElement{constructor(){super(),this._delegate=new Delegate3(this),this.addEventListener("pointerover",(()=>ProductLoader.load(this.getAttribute("handle"))),{once:!0})}connectedCallback(){this._delegate.on("change",'[type="radio"]',this._onSwatchChanged.bind(this)),this._delegate.on("pointerover",'[type="radio"] + label',this._onSwatchHovered.bind(this),!0)}disconnectedCallback(){this._delegate.off()}async _onSwatchHovered(t,e){const i=await this._getMatchingVariant(e.control),n=this.querySelector(".product-card__image--primary");i.hasOwnProperty("featured_media")&&this._createImageElement(i.featured_media,n.className,n.sizes)}async _onSwatchChanged(t,e){const i=await this._getMatchingVariant(e);if(this.querySelectorAll(`a[href^="${this.product.url}"`).forEach((t=>{const e=new URL(t.href);e.searchParams.set("variant",i.id),t.href=`${e.pathname}${e.search}${e.hash}`})),!i.hasOwnProperty("featured_media"))return;const n=this.querySelector(".product-card__image--primary"),s=this.querySelector(".product-card__image--secondary"),a=this._createImageElement(i.featured_media,n.className,n.sizes);n.src!==a.src&&(s&&s.replaceWith(this._createImageElement(this.product.media[i.featured_media.position]||this.product.media[1],s.className,s.sizes)),await n.animate({opacity:[1,0]},{duration:250,easing:"ease-in",fill:"forwards"}).finished,await new Promise((t=>a.complete?t():a.onload=()=>t())),n.replaceWith(a),a.animate({opacity:[0,1]},{duration:250,easing:"ease-in"}))}_createImageElement(t,e,i){const n=t.preview_image,s=new Image(n.width,n.height);return s.className=e,s.alt=t.alt,s.sizes=i,s.src=n.src,s.srcset=generateSrcset(n,[200,300,400,500,600,700,800,1e3,1200,1400,1600,1800]),s}async _getMatchingVariant(t){return this.product=await ProductLoader.load(this.getAttribute("handle")),this.product.variants.find((e=>e[`option${t.closest("[data-option-position]").getAttribute("data-option-position")}`]===t.value))}};window.customElements.get("product-card")||window.customElements.define("product-card",ProductCard);var ProductForm=class extends HTMLFormElement{constructor(){super(),this.addEventListener("submit",this._onSubmit)}connectedCallback(){this.id.disabled=!1}async _onSubmit(t){if(t.preventDefault(),!this.checkValidity())return void this.reportValidity();const e=Array.from(this.elements).filter((t=>"submit"===t.type));e.forEach((t=>{t.setAttribute("disabled","disabled"),t.setAttribute("aria-busy","true")}));let i=["variant-added"];document.documentElement.dispatchEvent(new CustomEvent("cart:prepare-bundled-sections",{bubbles:!0,detail:{sections:i}}));const n=new FormData(this);n.set("sections",i.join(",")),n.set("sections_url",`${Shopify.routes.root}variants/${this.id.value}`);const s=await fetch(`${Shopify.routes.root}cart/add.js`,{body:n,method:"POST",headers:{"X-Requested-With":"XMLHttpRequest"}});e.forEach((t=>{t.removeAttribute("disabled"),t.removeAttribute("aria-busy")}));const a=await s.json();if(s.ok){if("page"===window.themeVariables.settings.cartType||"cart"===window.themeVariables.settings.pageType)return window.location.href=`${Shopify.routes.root}cart`;const t=await(await fetch(`${Shopify.routes.root}cart.js`)).json();t.sections=a.sections,this.dispatchEvent(new CustomEvent("variant:add",{bubbles:!0,detail:{items:a.hasOwnProperty("items")?a.items:[a],cart:t}})),document.documentElement.dispatchEvent(new CustomEvent("cart:change",{bubbles:!0,detail:{baseEvent:"variant:add",cart:t}}))}else this.dispatchEvent(new CustomEvent("cart:error",{bubbles:!0,detail:{error:a.description}}))}};window.customElements.get("product-form")||window.customElements.define("product-form",ProductForm,{extends:"form"});var BuyButtons=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this),this._onCartErrorListener=this._onCartError.bind(this)}
1connectedCallback(){this._productForm=document.forms[this.getAttribute("form")],this._productForm?.addEventListener("variant:change",this._onVariantChangedListener),this._productForm?.addEventListener("cart:error",this._onCartErrorListener)}disconnectedCallback(){this._productForm?.removeEventListener("variant:change",this._onVariantChangedListener),this._productForm?.removeEventListener("cart:error",this._onCartErrorListener)}_onVariantChanged(t){const e=this.querySelector('button[type="submit"]'),i=this.querySelector(".shopify-payment-button");e.classList.remove("button--secondary","button--subdued"),e.disabled=!t.detail.variant||!t.detail.variant.available;const n="custom-button"===e.getAttribute("is")?e.firstElementChild:e;t.detail.variant?(e.classList.add(t.detail.variant.available?i||this.hasAttribute("force-secondary-button")?"button--secondary":"button":"button--subdued"),n.innerHTML=t.detail.variant.available?this.getAttribute("template").includes("pre-order")?window.themeVariables.strings.preOrderButton:window.themeVariables.strings.addToCartButton:window.themeVariables.strings.soldOutButton,i&&(i.style.display=t.detail.variant.available?"block":"none")):(n.innerHTML=window.themeVariables.strings.unavailableButton,e.classList.add("button--subdued"),i&&(i.style.display="none"))}_onCartError(t){const e=document.createElement("div");e.classList.add("banner","banner--error","justify-center"),e.setAttribute("role","alert"),e.style.gridColumn="1/-1",e.style.marginBottom="1rem",e.innerHTML=`\n <svg role="presentation" focusable="false" width="18" height="18" class="offset-icon icon icon-error" style="--icon-height: 18px" viewBox="0 0 18 18">\n <path d="M0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9Z" fill="currentColor"></path>\n <path d="M5.29289 6.70711L11.2929 12.7071L12.7071 11.2929L6.70711 5.29289L5.29289 6.70711ZM6.70711 12.7071L12.7071 6.70711L11.2929 5.2929L5.29289 11.2929L6.70711 12.7071Z" fill="#ffffff"></path>\n </svg>\n \n <p>${t.detail.error}</p>\n `,this.before(e),setTimeout((async()=>{await e.animate({opacity:[1,0]},{duration:250,fill:"forwards"}).finished,e.remove()}),5e3)}};window.customElements.get("buy-buttons")||window.customElements.define("buy-buttons",BuyButtons);var PaymentTerms=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}_onVariantChanged(t){if(t.detail.variant){const e=this.querySelector('[name="id"]');e.value=t.detail.variant.id,e.dispatchEvent(new Event("change",{bubbles:!0}))}}};window.customElements.get("payment-terms")||window.customElements.define("payment-terms",PaymentTerms);var PickupAvailability=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}async _onVariantChanged(t){if(t.detail.variant){const e=document.createElement("div");e.innerHTML=await(await fetch(`${Shopify.routes.root}variants/${t.detail.variant.id}?section_id=pickup-availability`)).text(),this.replaceChildren(...e.querySelector("pickup-availability").childNodes)}else this.innerHTML=""}};window.customElements.get("pickup-availability")||window.customElements.define("pickup-availability",PickupAvailability);var _onVariantChanged,onVariantChanged_fn,currencyFormat=window.themeVariables.settings.currencyCodeEnabled?window.themeVariables.settings.moneyWithCurrencyFormat:window.themeVariables.settings.moneyFormat,SalePrice=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}_onVariantChanged(t){const e=t.detail.variant;this.lastChild.replaceWith(document.createRange().createContextualFragment(formatMoney(e.price,currencyFormat))),this.classList.toggle("text-on-sale",e.compare_at_price>e.price)}},CompareAtPrice=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}_onVariantChanged(t){const e=t.detail.variant;this.lastChild.replaceWith(document.createRange().createContextualFragment(formatMoney(e.compare_at_price,currencyFormat))),this.hidden=!(e.compare_at_price>e.price)}},UnitPrice=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}_onVariantChanged(t){const e=t.detail.variant;if(!e.unit_price)return this.hidden=!0;const i=1!==e.unit_price_measurement.reference_value?e.unit_price_measurement.reference_value:"",n=document.createRange().createContextualFragment(`${formatMoney(e.unit_price)}/${i}${e.unit_price_measurement.reference_unit}`);this.lastChild.replaceWith(n),this.hidden=!1}};window.customElements.get("sale-price")||window.customElements.define("sale-price",SalePrice),window.customElements.get("compare-at-price")||window.customElements.define("compare-at-price",CompareAtPrice),window.customElements.get("unit-price")||window.customElements.define("unit-price",UnitPrice);var _onVariantChanged2,onVariantChanged_fn2,SoldOutBadge=class extends HTMLElement{constructor(){super(...arguments),__privateAdd(this,_onVariantChanged),__publicField(this,"_onVariantChangedListener",__privateMethod(this,_onVariantChanged,onVariantChanged_fn).bind(this))}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}};_onVariantChanged=new WeakSet,onVariantChanged_fn=function(t){this.hidden=t.detail.variant.available};var OnSaleBadge=class extends HTMLElement{constructor(){super(...arguments),__privateAdd(this,_onVariantChanged2),__publicField(this,"_onVariantChangedListener",__privateMethod(this,_onVariantChanged2,onVariantChanged_fn2).bind(this))}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}};_onVariantChanged2=new WeakSet,onVariantChanged_fn2=function(t){const e=t.detail.variant;if(e.compare_at_price>e.price){if(this.hidden=!1,this.hasAttribute("discount-mode")){const t="percentage"===this.getAttribute("discount-mode")?`${Math.round(100*(e.compare_at_price-e.price)/e.compare_at_price)}%`:formatMoney(e.compare_at_price-e.price);this.innerHTML=`${window.themeVariables.strings.discountBadge.replace("@@",t)}`}}else this.hidden=!0},window.customElements.get("sold-out-badge")||window.customElements.define("sold-out-badge",SoldOutBadge),window.customElements.get("on-sale-badge")||window.customElements.define("on-sale-badge",OnSaleBadge);var VariantInventory=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}_onVariantChanged(t){const e=t.detail.variant?t.detail.variant.id:null;
1Array.from(this.children).forEach((t=>t.toggleAttribute("hidden",e!==parseInt(t.getAttribute("data-variant-id")))))}};window.customElements.get("variant-inventory")||window.customElements.define("variant-inventory",VariantInventory);var VariantMedia=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){this.sizesAttribute=this.querySelector("img").sizes,this.classAttribute=this.querySelector("img").className,document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}get widths(){return this.getAttribute("widths").split(",").map((t=>parseInt(t)))}_onVariantChanged(t){t.detail.variant&&t.detail.variant.featured_media&&this.replaceChildren(createMediaImg(t.detail.variant.featured_media,this.widths,{class:this.classAttribute,sizes:this.sizesAttribute}))}};window.customElements.get("variant-media")||window.customElements.define("variant-media",VariantMedia);var VariantSku=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}_onVariantChanged(t){t.detail.variant?(this.innerText=`${window.themeVariables.strings.sku} ${t.detail.variant.sku}`,this.hidden=!t.detail.variant.sku):this.hidden=!0}};window.customElements.get("variant-sku")||window.customElements.define("variant-sku",VariantSku);import{PhotoSwipeLightbox}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var _scopeFromPassed,_scopeToReached,_intersectionObserver,ProductGallery=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener),this._carousels=Array.from(this.querySelectorAll("media-carousel")),this._pageDots=Array.from(this.querySelectorAll("page-dots")),this._viewInSpaceButton=this.querySelector("[data-shopify-xr]"),this._customCursor=this.querySelector(".product-gallery__cursor"),this.addEventListener("carousel:change",this._onCarouselChanged),this._viewInSpaceButton&&this.addEventListener("carousel:settle",this._updateViewInSpaceButton),this.hasAttribute("allow-zoom")&&this.addEventListener("lightbox:open",(t=>this.openZoom(t.detail.index)))}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}get photoswipe(){if(this._photoswipe)return this._photoswipe;const t=new PhotoSwipeLightbox({pswpModule:()=>import("//olimpo-flex.com/cdn/shop/t/52/assets/photoswipe.min.js?v=96595610301167188461783160273"),bgOpacity:1,maxZoomLevel:parseInt(this.getAttribute("allow-zoom"))||3,closeTitle:window.themeVariables.strings.closeGallery,zoomTitle:window.themeVariables.strings.zoomGallery,errorMsg:window.themeVariables.strings.errorGallery,arrowPrev:!1,arrowNext:!1,counter:!1,zoom:!1,closeSVG:'<svg fill="none" xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56">\n <path d="M56 28C56 12.536 43.464 0 28 0S0 12.536 0 28s12.536 28 28 28 28-12.536 28-28Z" fill="#fff"/>\n <path d="M55.5 28C55.5 12.812 43.188.5 28 .5S.5 12.812.5 28 12.812 55.5 28 55.5 55.5 43.188 55.5 28Z" stroke="#252627" stroke-opacity=".12"/>\n <path d="m22.344 22.343 11.313 11.314m-11.313 0 11.313-11.313" stroke="#252627" stroke-width="2"/>\n </svg>'});return t.addFilter("thumbEl",((t,e)=>e.thumbnailElement)),t.on("uiRegister",(()=>{t.pswp.ui.registerElement({name:"bottom-bar",order:5,appendTo:"wrapper",html:'\n <div class="pagination">\n <button class="pagination__item group" rel="prev">
1\n <span class="animated-arrow animated-arrow--reverse"></span>\n </button>\n \n <span class="pagination__current text-sm">\n <span class="pagination__current-page">1</span> / <span class="pagination__page-count"></span>\n </span>\n \n <button class="pagination__item group" rel="next">\n <span class="animated-arrow"></span>\n </button>\n </div>\n ',onInit:(t,e)=>{t.querySelector(".pagination__page-count").innerText=e.getNumItems(),t.querySelector('[rel="prev"]')?.addEventListener("click",(()=>e.prev())),t.querySelector('[rel="next"]')?.addEventListener("click",(()=>e.next())),e.on("change",(()=>{t.querySelector(".pagination__current-page").innerText=e.currIndex+1}))}})})),t.init(),this._photoswipe=t}openZoom(t=0){const e=Array.from(this.querySelectorAll('.product-gallery__media[data-media-type="image"]:not([hidden]) > img')).map((t=>({thumbnailElement:t,src:t.src,srcset:t.srcset,msrc:t.currentSrc||t.src,width:parseInt(t.getAttribute("width")),height:parseInt(t.getAttribute("height")),alt:t.alt,thumbCropped:!0})));this.photoswipe.loadAndOpen(t,e)}_updateViewInSpaceButton(t){"model"===t.detail.slide.getAttribute("data-media-type")?this._viewInSpaceButton.setAttribute("data-shopify-model3d-id",t.detail.slide.getAttribute("data-media-id")):this._viewInSpaceButton.setAttribute("data-shopify-model3d-id",this._viewInSpaceButton.getAttribute("data-shopify-model3d-default-id"))}_onCarouselChanged(t){this._customCursor&&this._customCursor.toggleAttribute("hidden","image"!==t.detail.slide.getAttribute("data-media-type"))}_onVariantChanged(t){const e=this._getFilteredMediaIndexes(t.detail.product,t.detail.variant);this._carousels.forEach((t=>t.dispatchEvent(new CustomEvent("carousel:filter",{detail:{filteredIndexes:e}})))),this._pageDots.forEach((t=>t.dispatchEvent(new CustomEvent("control:filter",{detail:{filteredIndexes:e}})))),(t.detail.variant.featured_media&&t.detail.previousVariant.featured_media&&t.detail.previousVariant.featured_media.id!==t.detail.variant.featured_media.id||!t.detail.previousVariant.featured_media&&t.detail.variant.featured_media)&&this._carousels.forEach((e=>e.select(t.detail.variant.featured_media.position-1,{animate:!1})))}_getFilteredMediaIndexes(t,e){const i=[];return t.media.forEach((n=>{let s=e.featured_media&&n.position===e.featured_media.position;if(n.alt?.includes("#")&&n.alt!==t.title&&!s){const s=n.alt.split("#").pop().split("_");t.options.forEach((t=>{t.name.toLowerCase()===s[0].toLowerCase()&&e.options[t.position-1].toLowerCase()!==s[1].trim().toLowerCase()&&i.push(n.position-1)}))}})),i}},MediaCarousel=class extends ScrollCarousel{connectedCallback(){super.connectedCallback(),this._onGestureChangedListener=this._onGestureChanged.bind(this),this.addEventListener("gesturestart",this._onGestureStart,{capture:!1,signal:this._abortController.signal}),this.addEventListener("carousel:settle",this._onMediaSettled,{signal:this._abortController.signal}),this.addEventListener("click",this._onGalleryClick)}_onMediaSettled(t){const e=t.detail.slide;switch(this.items.filter((t=>["video","external_video","model"].includes(t.getAttribute("data-media-type")))).forEach((t=>t.firstElementChild.pause())),e.getAttribute("data-media-type")){case"external_video":case"video":this.hasAttribute("autoplay")&&e.firstElementChild.play();break;case"model":window.matchMedia("(min-width: 1000px)").matches&&e.firstElementChild.play()}}_onGalleryClick(t){if(t.target.matches("button, a[href], button :scope, a[href] :scope")||!window.matchMedia("screen and (pointer: fine)").matches)return;if("image"!==this.selectedSlide.getAttribute("data-media-type"))return;const e=t.currentTarget.getBoundingClientRect();t.clientX-e.left>this.clientWidth/2?this.next():this.previous()}_onGestureStart(t){t.preventDefault(),this.addEventListener("gesturechange",this._onGestureChangedListener,{capture:!1,signal:this._abortController.signal})}_onGestureChanged(t){if(t.preventDefault(),t.scale>1.5){const t=this.visibleItems.filter((t=>"image"===t.getAttribute("data-media-type"))).indexOf(this.selectedSlide);this.dispatchEvent(new CustomEvent("lightbox:open",{bubbles:!0,detail:{index:t}})),this.removeEventListener("gesturechange",this._onGestureChangedListener)}}},ProductZoomButton=class extends HTMLButtonElement{constructor(){super(),this.addEventListener("click",this._onButtonClicked)}_onButtonClicked(){let t,e=this.closest(".product-gallery__media");if(e){t=this.closest("media-carousel").visibleItems.filter((t=>"image"===t.getAttribute("data-media-type"))).indexOf(e)}else{const e=this.closest(".product-gallery__media-list-wrapper").querySelector("media-carousel");t=e.visibleItems.filter((t=>"image"===t.getAttribute("data-media-type"))).indexOf(e.selectedSlide)}this.dispatchEvent(new CustomEvent("lightbox:open",{bubbles:!0,detail:{index:t}}))}};window.customElements.get("product-gallery")||window.customElements.define("product-gallery",ProductGallery),window.customElements.get("product-zoom-button")||window.customElements.define("product-zoom-button",ProductZoomButton,{extends:"button"}),window.customElements.get("media-carousel")||window.customElements.define("media-carousel",MediaCarousel);var ProductQuickAdd=class extends HTMLElement{constructor(){super(...arguments),__privateAdd(this,_scopeFromPassed,!1),__privateAdd(this,_scopeToReached,!1),__privateAdd(this,_intersectionObserver,new IntersectionObserver(this._onObserved.bind(this)))}connectedCallback(){this._scopeFrom=document.getElementById(this.getAttribute("form")),this._scopeTo=document.querySelector(".footer"),this._scopeFrom&&this._scopeTo&&(__privateGet(this,_intersectionObserver).observe(this._scopeFrom),__privateGet(this,_intersectionObserver).observe(this._scopeTo))}disconnectedCallback(){__privateGet(this,_intersectionObserver).disconnect()}_onObserved(t){t.forEach((t=>{t.target===this._scopeFrom&&__privateSet(this,_scopeFromPassed,t.boundingClientRect.bottom<0),t.target===this._scopeTo&&__privateSet(this,_scopeToReached,t.isIntersecting)})),this.classList.toggle("is-visible",__privateGet(this,_scopeFromPassed)&&!__privateGet(this,_scopeToReached))}};_scopeFromPassed=new WeakMap,_scopeToReached=new WeakMap,_intersectionObserver=new WeakMap,window.customElements.get("product-quick-add")||window.customElements.define("product-quick-add",ProductQuickAdd);import{animate as animate7,timeline as timeline5}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var QuickBuyDrawer=class extends Drawer{constructor(){super(),this._hasLoaded=!1,this.addEventListener("variant:add",this._onVariantAdded.bind(this))}async show(){if(this.style.display="block",!this._hasLoaded){[this,...this.controls].forEac
1h((t=>t.setAttribute("aria-busy","true")));const t=await(await fetch(`${window.Shopify.routes.root}products/${this.getAttribute("handle")}`)).text();[this,...this.controls].forEach((t=>t.setAttribute("aria-busy","false")));const e=(new DOMParser).parseFromString(t,"text/html").getElementById("quick-buy-content").content;Array.from(e.querySelectorAll("noscript")).forEach((t=>t.remove())),this.replaceChildren(e),Shopify.PaymentButton?.init(),this._hasLoaded=!0}return super.show()}async hide(){return super.hide()?.then((()=>{this.style.display="none"}))}_onVariantAdded(t){t.detail.blockCartDrawerOpening=!0;const e=this.shadowRoot.querySelector('[part="content"]'),i=e.clientHeight;animate7(e.children,{opacity:0,visibility:"hidden"},{duration:.15}),this.replaceChildren(...(new DOMParser).parseFromString(t.detail.cart.sections["variant-added"],"text/html").querySelector(".shopify-section").children),requestAnimationFrame((async()=>{await timeline5([[e,{height:[`${i}px`,`${e.clientHeight}px`]},{duration:.35,easing:[.86,0,.07,1]}],[e.children,{opacity:[0,1],visibility:"visible"},{duration:.15}]]).finished,e.style.height=null})),this._hasLoaded=!1}};window.customElements.get("quick-buy-drawer")||window.customElements.define("quick-buy-drawer",QuickBuyDrawer);var VariantPicker=class extends HTMLElement{async connectedCallback(){this._abortController=new AbortController,this.masterSelector=document.forms[this.getAttribute("form")].id,this.optionSelectors=Array.from(this.querySelectorAll("[data-option-selector]")),this.masterSelector?(this.product=await ProductLoader.load(this.productHandle),this.optionSelectors.forEach((t=>{t.addEventListener("change",this._onOptionChanged.bind(this),{signal:this._abortController.signal})})),this.masterSelector.addEventListener("change",this._onMasterSelectorChanged.bind(this),{signal:this._abortController.signal}),this._updateDisableSelectors(),this.selectVariant(this.selectedVariant.id)):console.warn(`The variant selector for product with handle ${this.productHandle} is not linked to any product form.`)}disconnectedCallback(){this._abortController.abort()}get selectedVariant(){return this._getVariantById(parseInt(this.masterSelector.value))}get productHandle(){return this.getAttribute("handle")}get hideSoldOutVariants(){return this.hasAttribute("hide-sold-out-variants")}get updateUrl(){return this.hasAttribute("update-url")}selectVariant(t){this._isVariantSelectable(this._getVariantById(t))||(t=this._getFirstMatchingAvailableOrSelectableVariant().id);const e=this.selectedVariant;if(!e||e.id!==t){if(this.masterSelector.value=t,this.masterSelector.dispatchEvent(new Event("change",{bubbles:!0})),this.updateUrl&&history.replaceState){const e=new URL(window.location.href);t?e.searchParams.set("variant",t):e.searchParams.delete("variant"),window.history.replaceState({path:e.toString()},"",e.toString())}this._updateDisableSelectors(),this.masterSelector.form.dispatchEvent(new CustomEvent("variant:change",{bubbles:!0,detail:{product:this.product,variant:this.selectedVariant,previousVariant:e}}))}}_onOptionChanged(t){t.target.name.startsWith("option")&&this.selectVariant(this._getVariantFromOptions()?.id)}_onMasterSelectorChanged(){(this.selectedVariant?.options||[]).forEach(((t,e)=>{let i=this.optionSelectors[e].querySelector(`input[type="radio"][name="option${e+1}"][value="${CSS.escape(t)}"], input[type="hidden"][name="option${e+1}"], select[name="option${e+1}"]`),n=!1;"SELECT"===i.tagName||"INPUT"===i.tagName&&"hidden"===i.type?(n=i.value!==t,i.value=t):"INPUT"===i.tagName&&"radio"===i.type&&(n=!i.checked&&i.value===t,i.checked=i.value===t),n&&i.dispatchEvent(new Event("change",{bubbles:!0}))}))}_getVariantById(t){return this.product.variants.find((e=>e.id===t))}_getVariantFromOptions(){const t=this._getSelectedOptionValues();return this.product.variants.find((e=>e.options.every(((e,i)=>e===t[i]))))}_isVariantSelectable(t){return!!t&&(t.available||!this.hideSoldOutVariants&&!t.available)}_getFirstMatchingAvailableOrSelectableVariant(){let t=this._getSelectedOptionValues(),e=null,i=0;do{t.pop(),i+=1,e=this.product.variants.find((e=>this.hideSoldOutVariants?e.available&&e.options.slice(0,e.options.length-i).every(((e,i)=>e===t[i])):e.options.slice(0,e.options.length-i).every(((e,i)=>e===t[i]))))}while(!e&&t.length>0);return e}_getSelectedOptionValues(){return this.optionSelectors.map((t=>t.querySelector('input[name^="option"][type="hidden"], input[name^="option"]:checked, select[name^="option"]').value))}_updateDisableSelectors(){const t=this.selectedVariant;if(!t)return;const e=(t,e,i,n)=>{const s=Array.from(t.querySelectorAll("[data-option-value]"))[e];s.toggleAttribute("hidden",!n),this.hideSoldOutVariants?s.toggleAttribute("hidden",!i):s.classList.toggle("is-disabled",!i)};this.optionSelectors&&this.optionSelectors[0]&&this.product.options[0].values.forEac
1h(((i,n)=>{const s=this.product.variants.some((t=>t.option1===i&&t)),a=this.product.variants.some((t=>t.option1===i&&t.available));e(this.optionSelectors[0],n,a,s),this.optionSelectors[1]&&this.product.options[1].values.forEach(((i,n)=>{const s=this.product.variants.some((e=>e.option2===i&&e.option1===t.option1&&e)),a=this.product.variants.some((e=>e.option2===i&&e.option1===t.option1&&e.available));e(this.optionSelectors[1],n,a,s),this.optionSelectors[2]&&this.product.options[2].values.forEach(((i,n)=>{const s=this.product.variants.some((e=>e.option3===i&&e.option1===t.option1&&e.option2===t.option2&&e)),a=this.product.variants.some((e=>e.option3===i&&e.option1===t.option1&&e.option2===t.option2&&e.available));e(this.optionSelectors[2],n,a,s)}))}))}))}},VariantOptionValue=class extends HTMLElement{constructor(){super(),this._onVariantChangedListener=this._onVariantChanged.bind(this)}connectedCallback(){document.forms[this.getAttribute("form")]?.addEventListener("variant:change",this._onVariantChangedListener)}disconnectedCallback(){document.forms[this.getAttribute("form")]?.removeEventListener("variant:change",this._onVariantChangedListener)}_onVariantChanged(t){this.innerHTML=t.detail.variant[this.getAttribute("for")]}};window.customElements.get("variant-picker")||window.customElements.define("variant-picker",VariantPicker),window.customElements.get("variant-option-value")||window.customElements.define("variant-option-value",VariantOptionValue);import{inView as inView4}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var BaseMedia=class extends HTMLElement{static get observedAttributes(){return["playing"]}connectedCallback(){this._abortController=new AbortController,this.hasAttribute("autoplay")&&inView4(this,this.play.bind(this),{margin:"0px 0px 0px 0px"})}disconnectedCallback(){this._abortController.abort()}get playing(){return this.hasAttribute("playing")}get player(){return this._playerProxy=this._playerProxy||new Proxy(this._playerTarget(),{get:(t,e)=>async()=>{t=await t,this._playerHandler(t,e)}})}play(){this.playing||this.player.play()}pause(){this.playing&&this.player.pause()}attributeChangedCallback(t,e,i){"playing"===t&&(null===e&&""===i?(this.dispatchEvent(new CustomEvent("media:play",{bubbles:!0})),this.hasAttribute("group")&&Array.from(document.querySelectorAll(`[group="${this.getAttribute("group")}"]`)).filter((t=>t!==this)).forEach((t=>{t.pause()}))):null===i&&this.dispatchEvent(new CustomEvent("media:pause",{bubbles:!0})))}},ModelMedia=class extends BaseMedia{connectedCallback(){super.connectedCallback(),this.player}_playerTarget(){return new Promise((t=>{this.setAttribute("loaded",""),window.Shopify.loadFeatures([{name:"shopify-xr",version:"1.0",onLoad:this._setupShopifyXr.bind(this)},{name:"model-viewer-ui",version:"1.0",onLoad:()=>{const e=this.querySelector("model-viewer");e.addEventListener("shopify_model_viewer_ui_toggle_play",(()=>this.setAttribute("playing",""))),e.addEventListener("shopify_model_viewer_ui_toggle_pause",(()=>this.removeAttribute("playing"))),this.setAttribute("can-play",""),t(new window.Shopify.ModelViewerUI(e,{focusOnPlay:!0}))}}])}))}_playerHandler(t,e){t[e]()}async _setupShopifyXr(){if(window.ShopifyXR){const t=(await ProductLoader.load(this.getAttribute("handle"))).media.filter((t=>"model"===t.media_type));window.ShopifyXR.addModels(t),window.ShopifyXR.setupXRElements()}else document.addEventListener("shopify_xr_initialized",this._setupShopifyXr.bind(this))}};window.customElements.get("model-media")||window.customElements.define("model-media",ModelMedia);var onYouTubePromise=new Promise((t=>{window.onYouTubeIframeAPIReady=()=>t()})),VideoMedia=class extends BaseMedia{connectedCallback(){super.connectedCallback(),this.hasAttribute("autoplay")||this.addEventListener("click",this.play,{once:!0,signal:this._abortController.signal}),this.hasAttribute("show-play-button")&&!this.shadowRoot&&this.attachShadow({mode:"open"}).appendChild(document.createRange().createContextualFragment('\n <slot></slot>\n \n <svg part="play-button" fill="none" width="48" height="48" viewBox="0 0 48 48">\n <path d="M48 24C48 10.745 37.255 0 24 0S0 10.745 0 24s10.745 24 24 24 24-10.745 24-24Z" fill="#f0f0f0"/>\n <path d="M18.578 32.629a.375.375 0 0 1-.578-.316V15.687c0-.297.328-.476.578-.316l12.931 8.314c.23.147.23.483 0 .63L18.578 32.63Z" fill="#1a1a1a"/>\n <path d="M24 .5C36.979.5 47.5 11.021 47.5 24S36.979 47.5 24 47.5.5 36.979.5 24 11.021.5 24 .5Z" stroke="#1a1a1a" stroke-opacity=".12"/>\n </svg>\n '))}
1_playerTarget(){if(this.hasAttribute("host"))return this.setAttribute("loaded",""),new Promise((async t=>{const e=this.querySelector("template");e&&e.replaceWith(e.content.firstElementChild.cloneNode(!0));const i=this.hasAttribute("autoplay")||window.matchMedia("screen and (max-width: 999px)").matches,n=document.createElement("script");if(n.type="text/javascript","youtube"===this.getAttribute("host")){window.YT&&window.YT.Player||(n.src="https://www.youtube.com/iframe_api",document.head.appendChild(n),await new Promise((t=>{n.onload=t}))),await onYouTubePromise,this.setAttribute("can-play","");const e=new YT.Player(this.querySelector("iframe"),{events:{onReady:()=>{i&&e.mute(),t(e)},onStateChange:t=>{t.data===YT.PlayerState.PLAYING?this.setAttribute("playing",""):t.data!==YT.PlayerState.ENDED&&t.data!==YT.PlayerState.PAUSED||this.removeAttribute("playing")}}})}if("vimeo"===this.getAttribute("host")){window.Vimeo&&window.Vimeo.Player||(n.src="https://player.vimeo.com/api/player.js",document.head.appendChild(n),await new Promise((t=>{n.onload=t})));const e=new Vimeo.Player(this.querySelector("iframe"));i&&e.setMuted(!0),this.setAttribute("can-play",""),e.on("play",(()=>{this.setAttribute("playing","")})),e.on("pause",(()=>this.removeAttribute("playing"))),e.on("ended",(()=>this.removeAttribute("playing"))),t(e)}}));{const t=this.querySelector("video");return this.setAttribute("loaded",""),this.setAttribute("can-play",""),t.addEventListener("play",(()=>{this.setAttribute("playing",""),this.removeAttribute("suspended")})),t.addEventListener("pause",(()=>{!t.seeking&&t.paused&&this.removeAttribute("playing")})),t}}_playerHandler(t,e){"youtube"===this.getAttribute("host")?"play"===e?t.playVideo():t.pauseVideo():"play"!==e||this.hasAttribute("host")?t[e]():t.play().catch((e=>{if("NotAllowedError"===e.name){this.setAttribute("suspended",""),t.controls=!0;const e=t.previousElementSibling?.currentSrc;e&&(t.poster=e)}}))}};window.customElements.get("video-media")||window.customElements.define("video-media",VideoMedia);import{timeline as timeline6}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var AnimatedDetails=class extends HTMLDetailsElement{constructor(){super(),this.summaryElement=this.firstElementChild,this.contentElement=this.lastElementChild,this._open=this.hasAttribute("open"),this.summaryElement.addEventListener("click",this._onSummaryClicked.bind(this)),Shopify.designMode&&(this.addEventListener("shopify:block:select",(()=>this.open=!0)),this.addEventListener("shopify:block:deselect",(()=>this.open=!1)))}set open(t){t!==this._open&&(this._open=t,this.isConnected?this._transition(t):t?this.setAttribute("open",""):this.removeAttribute("open"))}get open(){return this._open}_onSummaryClicked(t){t.preventDefault(),this.open=!this.open}_transition(t){}},AccordionDisclosure=class extends AnimatedDetails{static get observedAttributes(){return["open"]}constructor(){super(),this.setAttribute("aria-expanded",this._open?"true":"false")}set open(t){super.open=t,this.setAttribute("aria-expanded",t?"true":"false")}get open(){return super.open}async _transition(t){this.style.overflow="hidden",t?(this.setAttribute("open",""),await timeline6([[this,{height:[`${this.summaryElement.clientHeight}px`,`${this.scrollHeight}px`]},{duration:.25,easing:"ease"}],[this.contentElement,{opacity:[0,1],transform:["translateY(0)","translateY(-4px)"]},{duration:.15,at:"-0.1"}]]).finished):(await timeline6([[this.contentElement,{opacity:0},{duration:.15}],[this,{height:[`${this.clientHeight}px`,`${this.summaryElement.clientHeight}px`]},{duration:.25,at:"<",easing:"ease"}]]).finished,this.removeAttribute("open")),this.style.height="auto",this.style.overflow="visible"}attributeChangedCallback(t,e,i){"open"===t&&this.setAttribute("aria-expanded",""===i?"true":"false")}};window.customElements.get("accordion-disclosure")||window.customElements.define("accordion-disclosure",AccordionDisclosure,{extends:"details"});import{animate as animate8}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var Tabs=class extends HTMLElement{static get observedAttributes(){return["selected-index"]}constructor(){super(),this.shadowRoot||this.attachShadow({mode:"open"}).appendChild(this.querySelector("template").content.cloneNode(!0)),Shopify.designMode&&this.addEventListener("shopify:block:select",(t=>this.selectedIndex=this.buttons.indexOf(t.target))),this.addEventListener("keydown",this._handleKeyboard)}connectedCallback(){this._abortController=new AbortController,this.buttons=Array.from(this.shadowRoot.querySelector('slot[name="title"]').assignedNodes(),(t=>t.matches("button")&&t||t.querySelector("button"))),this.panels=Array.from(this.shadowRoot.querySelector('slot[name="content"]').assignedNodes()),this.buttons.forEach(((t,e)=>t.addEventListener("click",(()=>this.selectedIndex=e),{signal:this._abortController.signal}))),this.selectedIndex=this.selectedIndex,this._setupAccessibility()}disconnectedCallback(){this._abortController.abort()}get animationDuration(){return this.hasAttribute("animation-duration")?parseFloat(this.getAttribute("animation-duration")):.15}get selectedIndex(){return parseInt(this.getAttribute("selected-index"))||0}set selectedIndex(t){this.setAttribute("selected-index",Math.min(Math.max(t,0),this.buttons.length-1).toString()),this.style.setProperty("--selected-index",this.selectedIndex.toString()),this.style.setProperty("--item-count",this.buttons.length.toString())}attributeChangedCallback(t,e,i){this.buttons.forEach(((t,e)=>t.setAttribute("aria-selected",e===parseInt(i)?"true":"false"))),"selected-index"===t&&null!==e&&e!==i&&this._transition(this.panels[parseInt(e)],this.panels[parseInt(i)])}_setupAccessibility(){const t=crypto.randomUUID?crypto.randomUUID():Math.floor(1e4*Math.random());this.buttons.forEach(((e,i)=>{e.setAttribute("role","tab"),e.setAttribute("aria-controls",`tab-panel-${t}-${i}`),e.id=`tab-${t}-${i}`}
1)),this.panels.forEach(((e,i)=>{e.setAttribute("role","tabpanel"),e.setAttribute("aria-labelledby",`tab-${t}-${i}`),e.id=`tab-panel-${t}-${i}`,e.hidden=i!==this.selectedIndex}))}_handleKeyboard(t){-1!==this.buttons.indexOf(document.activeElement)&&["ArrowLeft","ArrowRight"].includes(t.key)&&("ArrowLeft"===t.key?this.selectedIndex=(this.selectedIndex-1+this.buttons.length)%this.buttons.length:this.selectedIndex=(this.selectedIndex+1+this.buttons.length)%this.buttons.length,this.buttons[this.selectedIndex].focus())}async _transition(t,e){await animate8(t,{opacity:[1,0]},{duration:this.animationDuration}).finished,t.hidden=!0,e.hidden=!1,await animate8(e,{opacity:[0,1]},{duration:this.animationDuration}).finished}};window.customElements.get("x-tabs")||window.customElements.define("x-tabs",Tabs);import{animate as animate9}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var PredictiveSearch=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(document.createRange().createContextualFragment('<slot name="idle"></slot>'))}connectedCallback(){this._searchForm=this.closest("form"),this._queryInput=this._searchForm.elements.q,this._searchForm.addEventListener("submit",this._onFormSubmitted.bind(this)),this._searchForm.addEventListener("reset",this._onSearchCleared.bind(this)),this._queryInput.addEventListener("input",debounce(this._onInputChanged.bind(this),this.autoCompleteDelay))}get autoCompleteDelay(){return 280}supportsPredictiveApi(){return JSON.parse(document.getElementById("shopify-features").innerHTML).predictiveSearch}_onInputChanged(){if(""===this._queryInput.value)return this._onSearchCleared();this._abortController?.abort(),this._abortController=new AbortController;try{return this.supportsPredictiveApi()?this._doPredictiveSearch():this._doFallbackSearch()}catch(t){if("AbortError"!==t.name)throw t}}_onFormSubmitted(t){if(""===this._queryInput.value)return t.preventDefault()}async _doPredictiveSearch(){await this._transitionToSlot("loading");const t=`q=${this._queryInput.value}§ion_id=${this.getAttribute("section-id")}&resources[limit]=10&resources[limit_scope]=each`,e=(new DOMParser).parseFromString(await(await cachedFetch(`${window.Shopify.routes.root}search/suggest?${t}`,{signal:this._abortController.signal})).text(),"text/html");return this.querySelector('[slot="results"]').replaceWith(document.importNode(e.querySelector('[slot="results"]'),!0)),this._transitionToSlot("results")}async _doFallbackSearch(){await this._transitionToSlot("loading");const t=`q=${this._queryInput.value}§ion_id=${this.getAttribute("section-id")}&resources[limit]=10&resources[limit_scope]=each`,e=(new DOMParser).parseFromString(await(await cachedFetch(`${window.Shopify.routes.root}search?${t}`,{signal:this._abortController.signal})).text(),"text/html");return this.querySelector('[slot="results"]').replaceWith(document.importNode(e.querySelector('[slot="results"]'),!0)),this._transitionToSlot("results")}_onSearchCleared(){return this._abortController?.abort(),this._queryInput.focus(),this._transitionToSlot("idle")}async _transitionToSlot(t){if(this.shadowRoot.firstElementChild.name!==t)return await animate9(this.shadowRoot.firstElementChild.assignedNodes(),{opacity:[1,0]},{duration:.1}).finished,this.shadowRoot.firstElementChild.setAttribute("name",t),animate9(this.shadowRoot.firstElementChild.assignedNodes(),{opacity:[0,1],transform:["translateY(5px)","translateY(0)"]},{duration:.1}).finished}};window.customElements.get("predictive-search")||window.customElements.define("predictive-search",PredictiveSearch);var _reveal2,reveal_fn2,SearchDrawer=class extends Drawer{get shouldAppendToBody(){return!1}get openFrom(){return window.matchMedia(`${window.themeVariables.breakpoints["sm-max"]}`).matches?"top":this.getAttribute("open-from")||"right"}};window.customElements.get("search-drawer")||window.customElements.define("search-drawer",SearchDrawer);import{animate as animate10,inView as inView5}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";var SectionHeader=class extends HTMLElement{constructor(){super(...arguments),__privateAdd(this,_reveal2)}connectedCallback(){window.matchMedia("(prefers-reduced-motion: no-preference)").matches&&inView5(this,__privateMethod(this,_reveal2,reveal_fn2).bind(this),{margin:"0px 0px -100px 0px"})}};_reveal2=new WeakSet,reveal_fn2=function(){const t=getHeadingKeyframe(this.querySelector('h2[reveal-on-scroll="true"]'));animate10(...t)},window.customElements.get("section-header")||window.customElements.define("section-header",SectionHeader);var MarqueeText=class extends HTMLElement{constructor(){super(),window.ResizeObserver&&new ResizeObserver(this._calculateDuration.bind(this)).observe(this)}_calculateDuration(t){const e=parseInt(this.getAttribute("scrolling-speed")||5),i=t[0].contentRect.width,n=1+(Math.min(1600,i)-375)/1225;this.style.setProperty("--marquee-animation-duration",`${(e*n*t[0].target.querySelector("span").clientWidth/i).toFixed(3)}s`)}};window.customElements.get("marquee-text")||window.customElements.define("marquee-text",MarqueeText);
1import{Delegate as Delegate4}from"//olimpo-flex.com/cdn/shop/t/52/assets/vendor.min.js?v=20880576495916334881783160278";(()=>{const t=new Delegate4(document.documentElement);window.themeVariables.settings.showPageTransition&&"animate"in document.documentElement&&window.matchMedia("(prefers-reduced-motion: no-preference)").matches&&t.on("click","a",(async(t,e)=>{t.defaultPrevented||t.ctrlKey||t.metaKey||e.hostname===window.location.hostname&&e.pathname!==window.location.pathname&&(t.preventDefault(),await document.body.animate({opacity:[1,0]},{duration:75,fill:"forwards"}).finished,window.location=e.href)})),window.matchMedia("(prefers-reduced-motion: no-preference)").matches&&t.on("click",'a[href*="#"]',((t,e)=>{if(t.defaultPrevented||e.pathname!==window.location.pathname||e.search!==window.location.search)return;const i=new URL(e.href);if(""===i.hash)return;const n=document.querySelector(i.hash);n&&(t.preventDefault(),n.scrollIntoView({block:"start",behavior:"smooth"}))}));const e=()=>{const t=window.innerWidth-document.body.clientWidth;t>0&&document.documentElement.style.setProperty("--scrollbar-width",`${t}px`)};e(),window.addEventListener("resize",throttle(e))})();export{AccordionDisclosure,AnimatedDetails,BuyButtons,CartCount,CartDrawer,CartNote,CartNotificationDrawer,CompareAtPrice,ConfirmButton,CopyButton,CountrySelector,CustomButton,CustomCursor,DialogElement,Drawer,EffectCarousel,FacetApplyButton,FacetDialog,FacetDrawer,FacetFloatingFilter,FacetForm,FacetLink,FacetSortBy,FreeShippingBar,GestureArea,GiftCardRecipient,HeightOb
1server,LineItem,LineItemQuantity,Listbox,MarqueeText,MediaCarousel,ModelMedia,NextButton,OnSaleBadge,PageDots,PaymentTerms,PickupAvailability,PillLoader,Player,Popover,PredictiveSearch,PrevButton,PriceRange,PrivacyBar,ProductCard,ProductForm,ProductGallery,ProductLoader,ProductQuickAdd,ProductZoomButton,ProgressBar,QuantitySelector,QuickBuyDrawer,ResizableTextarea,RevealItems,SafeSticky,SalePrice,ScrollArea,ScrollCarousel,ScrollProgress,ScrollShadow,SearchDrawer,SectionHeader,ShareButton,ShippingEstimator,SoldOutBadge,SplitLines,Tabs,UnitPrice,VariantInventory,VariantMedia,VariantPicker,VariantSku,VideoMedia,VisibilityProgress,cachedFetch,createMediaImg,debounce,extractSectionId,fetchCart,formatMoney,generateSrcset,getHeadingKeyframe,imageLoaded,throttle,waitForEvent};
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.