function getFocusableElements(e){return Array.from(e.querySelectorAll("summary, a[href], button:enabled, [tabindex]:not([tabindex^='-']), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe"))}document.querySelectorAll('[id^="Details-"] summary').forEach(e=>{e.setAttribute("role","button"),e.setAttribute("aria-expanded","false"),e.nextElementSibling.getAttribute("id")&&e.setAttribute("aria-controls",e.nextElementSibling.id),e.addEventListener("click",e=>{e.currentTarget.setAttribute("aria-expanded",!e.currentTarget.closest("details").hasAttribute("open"))}),e.closest("header-drawer")||e.parentElement.addEventListener("keyup",onKeyUpEscape)});let trapFocusHandlers={};function trapFocus(t,e=t){var n=getFocusableElements(t),o=n[0],i=n[n.length-1];removeTrapFocus(),trapFocusHandlers.focusin=e=>{e.target!==t&&e.target!==i&&e.target!==o||document.addEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.focusout=function(){document.removeEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.keydown=function(e){"TAB"===e.code.toUpperCase()&&(e.target!==i||e.shiftKey||(e.preventDefault(),o.focus()),e.target===t||e.target===o)&&e.shiftKey&&(e.preventDefault(),i.focus())},document.addEventListener("focusout",trapFocusHandlers.focusout),document.addEventListener("focusin",trapFocusHandlers.focusin),e.focus()}try{document.querySelector(":focus-visible")}catch{focusVisiblePolyfill()}function focusVisiblePolyfill(){let t=["ARROWUP","ARROWDOWN","ARROWLEFT","ARROWRIGHT","TAB","ENTER","SPACE","ESCAPE","HOME","END","PAGEUP","PAGEDOWN"],e=null,n=null;window.addEventListener("keydown",e=>{t.includes(e.code.toUpperCase())&&(n=!1)}),window.addEventListener("mousedown",e=>{n=!0}),window.addEventListener("focus",()=>{e&&e.classList.remove("focused"),n||(e=document.activeElement).classList.add("focused")},!0)}function pauseAllMedia(){document.querySelectorAll(".js-youtube").forEach(e=>{e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),document.querySelectorAll(".js-vimeo").forEach(e=>{e.contentWindow.postMessage('{"method":"pause"}',"*")}),document.querySelectorAll("video").forEach(e=>e.pause()),document.querySelectorAll("product-model").forEach(e=>{e.modelViewerUI&&e.modelViewerUI.pause()})}function removeTrapFocus(e=null){document.removeEventListener("focusin",trapFocusHandlers.focusin),document.removeEventListener("focusout",trapFocusHandlers.focusout),document.removeEventListener("keydown",trapFocusHandlers.keydown),e&&e.focus()}function onKeyUpEscape(e){var t;"ESCAPE"===e.code.toUpperCase()&&(e=e.target.closest("details[open]"))&&(t=e.querySelector("summary"),e.removeAttribute("open"),t.setAttribute("aria-expanded",!1),t.focus())}class QuantityInput extends HTMLElement{constructor(){super(),this.input=this.querySelector("input"),this.changeEvent=new Event("change",{bubbles:!0}),this.querySelectorAll("button").forEach(e=>e.addEventListener("click",this.onButtonClick.bind(this)))}onButtonClick(e){e.preventDefault();var t=this.input.value;"plus"===e.target.name?this.input.stepUp():this.input.stepDown(),t!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}}function debounce(t,n){let o;return(...e)=>{clearTimeout(o),o=setTimeout(()=>t.apply(this,e),n)}}function fetchConfig(e="json"){return{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/"+e}}}customElements.define("quantity-input",QuantityInput),void 0===window.Shopify&&(window.Shopify={}),Shopify.bind=function(e,t){return function(){return e.apply(t,arguments)}},Shopify.setSelectorByValue=function(e,t){for(var n=0,o=e.options.length;ne.addEventListener("click",this.onSummaryClick.bind(this))),this.querySelectorAll("button").forEach(e=>e.addEventListener("click",this.onCloseButtonClick.bind(this)))}onKeyUp(e){var t;"ESCAPE"===e.code.toUpperCase()&&(t=e.target.closest("details[open]"))&&(t===this.mainDetailsToggle?this.closeMenuDrawer(e,this.mainDetailsToggle.querySelector("summary")):this.closeSubmenu(t))}onSummaryClick(e){let t=e.currentTarget,n=t.parentNode;var o=n.hasAttribute("open");let i=window.matchMedia("(prefers-reduced-motion: reduce)");function s(){trapFocus(t.nextElementSibling,n.querySelector("button")),t.nextElementSibling.removeEventListener("transitionend",s)}n===this.mainDetailsToggle?(o&&e.preventDefault(),o?this.closeMenuDrawer(e,t):this.openMenuDrawer(t)):setTimeout(()=>{n.classList.add("menu-opening"),t.setAttribute("aria-expanded",!0),!i||i.matches?s():t.nextElementSibling.addEventListener("transitionend",s)},100)}openMenuDrawer(e){setTimeout(()=>{this.mainDetailsToggle.classList.add("menu-opening")}),e.setAttribute("aria-expanded",!0),trapFocus(this.mainDetailsToggle,e),document.body.classList.add("overflow-hidden-"+this.dataset.breakpoint)}closeMenuDrawer(e,t=!1){void 0!==e&&(this.mainDetailsToggle.classList.remove("menu-opening"),this.mainDetailsToggle.querySelectorAll("details").forEach(e=>{e.removeAttribute("open"),e.classList.remove("menu-opening")}),document.body.classList.remove("overflow-hidden-"+this.dataset.breakpoint),removeTrapFocus(t),this.closeAnimation(this.mainDetailsToggle))}onFocusOut(e){setTimeout(()=>{this.mainDetailsToggle.hasAttribute("open")&&!this.mainDetailsToggle.contains(document.activeElement)&&this.closeMenuDrawer()})}onCloseButtonClick(e){e=e.currentTarget.closest("details");this.closeSubmenu(e)}closeSubmenu(e){e.classList.remove("menu-opening"),e.querySelector("summary").setAttribute("aria-expanded",!1),removeTrapFocus(),this.closeAnimation(e)}closeAnimation(t){let n,o=e=>{e-(n=void 0===n?e:n)<400?window.requestAnimationFrame(o):(t.removeAttribute("open"),t.closest("details[open]")&&trapFocus(t.closest("details[open]"),t.querySelector("summary")))};window.requestAnimationFrame(o)}}customElements.define("menu-drawer",MenuDrawer);class HeaderDrawer extends MenuDrawer{constructor(){super()}openMenuDrawer(e){this.header=this.header||document.getElementById("shopify-section-header"),this.borderOffset=this.borderOffset||this.closest(".header-wrapper").classList.contains("header-wrapper--border-bottom")?1:0,document.documentElement.style.setProperty("--header-bottom-position",parseInt(this.header.getBoundingClientRect().bottom-this.borderOffset)+"px"),setTimeout(()=>{this.mainDetailsToggle.classList.add("menu-opening")}),e.setAttribute("aria-expanded",!0),trapFocus(this.mainDetailsToggle,e),document.body.classList.add("overflow-hidden-"+this.dataset.breakpoint)}}customElements.define("header-drawer",HeaderDrawer);class ModalDialog extends HTMLElement{constructor(){super(),this.querySelector('[id^="ModalClose-"]').addEventListener("click",this.hide.bind(this)),this.addEventListener("keyup",e=>{"ESCAPE"===e.code.toUpperCase()&&this.hide()}),this.classList.contains("media-modal")?this.addEventListener("pointerup",e=>{"mouse"!==e.pointerType||e.target.closest("deferred-media, product-model")||this.hide()}):this.addEventListener("click",e=>{"MODAL-DIALOG"===e.target.nodeName&&this.hide()})}show(e){this.openedBy=e;e=this.querySelector(".template-popup");document.body.classList.add("overflow-hidden"),this.setAttribute("open",""),e&&e.loadContent(),trapFocus(this,this.querySelector('[role="dialog"]')),window.pauseAllMedia()}hide(){document.body.classList.remove("overflow-hidden"),this.removeAttribute("open"),removeTrapFocus(this.openedBy),window.pauseAllMedia()}}customElements.define("modal-dialog",ModalDialog);class ModalOpener extends HTMLElement{constructor(){super();let t=this.querySelector("button");t&&t.addEventListener("click",()=>{var e=document.querySelector(this.getAttribute("data-modal"));e&&e.show(t)})}}customElements.define("modal-opener",ModalOpener);class DeferredMedia extends HTMLElement{constructor(){super();var e=this.querySelector('[id^="Deferred-Poster-"]');e&&e.addEventListener("click",this.loadContent.bind(this))}loadContent(){var e;window.pauseAllMedia(),this.getAttribute("loaded")||((e=document.createElement("div")).appendChild(this.querySelector("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0),this.appendChild(e.querySelector("video, model-viewer, iframe")).focus())}}customElements.define("deferred-media",DeferredMedia);