(()=>{"use strict";function t(t){const e={"&":"&","<":"<",">":">",'"':""","'":"'"};return t.toString().replace(/[&<>"']/g,(t=>e[t]))}function e(e,n=!1,i=0){let{uuid:r,type:o,position:s,content:a,close_button:l,design:c,animation_settings:d,slider_settings:u}=e;if(!(o&&s&&a&&c))return"";let p="";try{p=window.Shopify?.locale}catch(t){console.log("error get locale",t)}const h="bstndsls-bar",g="bstndsls-sh-bar-"+r;let m=`${g} ${g}--${o} ${g}--${s.location}`,f=e?.target?.pages;const y=function(t,e,n,i,r={},o=""){let s="";if("marquee"===n){const t=r.speed||5;s+=`\n .${h}-marquee .${h}-announcement-clickable {\n text-decoration: none;\n color: inherit;\n cursor: pointer;\n }\n .${h}-marquee {\n position: relative;\n overflow: hidden;\n --move-initial: 0%;\n --move-final: -50%;\n }\n .${h}-marquee-inner {\n width: fit-content;\n display: flex;\n position: relative;\n transform: translate3d(var(--move-initial), 0, 0);\n animation: ${h}-marquee ${1e3/t}s linear infinite;\n animation-play-state: running;\n }\n .${h}-marquee-content {\n flex-shrink: 0;\n display: flex;\n justify-content: space-around;\n min-width: 50%;\n white-space: nowrap;\n }\n .${h}-marquee[data-direction="right"] .${h}-marquee-inner {\n animation-direction: reverse;\n }\n .${g}:hover .${h}-marquee[data-cursor-stop="true"] .${h}-marquee-inner {\n animation-play-state: paused;\n }\n @keyframes ${h}-marquee {\n 0% {\n transform: translate3d(var(--move-initial), 0, 0);\n }\n 100% {\n transform: translate3d(var(--move-final), 0, 0);\n }\n }\n `}else if("slider"===n){let e="#"+t.slider.nav.color,n="background: #"+t.slider.nav.background,i="background: #"+t.slider.nav.background+"90";t.slider.nav.hideBackground&&(n="background: transparent",i="background: transparent"),s+=`\n .${h}-slider {\n position: relative;\n overflow: hidden;\n width: 100%;\n }\n .${h}-slider.${h}-with-nav {\n padding: 0px 38px 0px 38px;\n }\n .${h}-slider-container {\n display: flex;\n transition: transform 0.5s ease;\n }\n .${h}-slide {\n flex: 0 0 100%;\n opacity: 0;\n transition: opacity 0.5s ease;\n }\n .${h}-slide.${h}-active {\n opacity: 1;\n }\n .${h}-slider-prev, .${h}-slider-next {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n ${n};\n border: none;\n border-radius: 50%;\n width: 30px;\n height: 30px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: background 0.3s ease;\n z-index: 10;\n padding: 0;\n margin: 0;\n }\n .${h}-slider-prev:hover, .${h}-slider-next:hover {\n ${i};\n }\n .${h}-slider-prev { left: 10px; }\n .${h}-slider-next { right: 10px; }\n .${h}-slider-prev svg, .${h}-slider-next svg {\n width: 24px;\n height: 24px;\n }\n .${h}-slider-prev svg *, .${h}-slider-next svg * {\n fill: ${e};\n stroke: ${e};\n }\n `}let a,l="default"===t.content.font.trim()?"":`font-family: ${t.content.font};`,c=t.content.size,d=.9*c;try{const e=t?.content?.sizeMobile??null;null!==e&&0!==e&&(d=c*(e/100))}catch(t){}a=i||"position"===o?"position: relative;":"bottom"===e.location?"position: fixed; bottom: 0;":`position: ${e.fixed?"sticky":"relative"};`;let u=89;i||"position"!==o||(u=1);try{u=t?.useZIndex&&null!=t?.zIndex?t.zIndex:u}catch(t){}return`\n .${g} {\n width: 100%;\n padding: 0px;\n ${l}\n font-size: ${c}px;\n color: #${t.content.color};\n text-align: center;\n ${a}\n ${e.location}: 0;\n z-index: ${u};\n ${i?"margin-top: 0;":""}\n box-sizing: border-box;\n min-height: ${Math.max(40,2*c)}px;\n display: flex; overflow: hidden;\n align-items: center; justify-content: center;\n line-height: 1.5;\n }\n .${g} .${h}-announcement-content {\n flex-grow: 1;\n padding: 5px 0;\n }\n @media (max-width: 500px) {\n .${g} .${h}-announcement-content {\n flex-direction: column;\n gap: 8px;\n }\n .${g} {\n font-size: ${d}px;\n }\n\n }\n .${g} .${h}-announcement-clickable {\n display: inline-block; width: 100%; height: 100%;\n align-items: center; justify-content: center;\n text-decoration: none; color: inherit;\n cursor: pointer;\n }\n .${g} .${h}-announcement-text {\n padding: 0px 8px;\n display: inline-block;\n word-break: break-word;\n }\n .${g}--sticky {\n position: fixed;\n }\n .${g} .${h}-announcement-action {\n color: #${t.action.color};\n background-color: #${t.action.background};\n border-radius: ${t.action.borderRadius}px;\n padding: 4px 8px;\n text-decoration: none;\n display: inline-flex;\n align-items: center;\n border: none;\n cursor: pointer;\n display: inline-block;\n word-break: break-word;\n ${l}\n }\n .${g} .${h}-announcement-action:hover {\n opacity: 0.92;\n }\n .${g} .${h}-coupon-container {\n display: inline-flex;\n align-items: stretch;\n border-radius: ${t.action.couponBorderRadius}px;\n border: 1px dashed #${t.action.couponColor};\n border: calc(${c}px * 0.15) dashed #${t.action.couponColor};\n }\n @media (max-width: 500px) {\n .${g} .${h}-coupon-container {\n border: calc(${d}px * 0.15) dashed #${t.action.couponColor};\n }\n }\n .${g} .${h}-coupon {\n color: #${t.action.couponColor};\n background-color: #${t.action.couponBackground};\n padding: 2px 8px;\n display: inline-block;\n word-break: break-word;\n align-items: center;\n font-weight: bold;\n border: none;\n border-radius: ${t.action.couponBorderRadius}px;\n ${l}\n }\n .${g} .${h}-coupon-copy {\n border-radius: ${t.action.couponBorderRadius}px 0 0 ${t.action.couponBorderRadius}px;\n }\n .${g} .${h}-copy-button {\n background-color: #${t.action.couponBackground};\n border: none;\n border-left: 1px dashed #${t.action.couponColor};\n border-left: calc(${c}px * 0.15) dashed #${t.action.couponColor};\n padding: 0 8px;\n cursor: pointer;\n display: flex;\n align-items: center; justify-content: center;\n height: auto !important;\n border-radius: 0 ${t.action.couponBorderRadius}px ${t.action.couponBorderRadius}px 0;\n }\n .${g} .${h}-copy-button svg {\n width: ${c}px;\n height: ${c}px;\n fill: #${t.action.couponColor};\n }\n\n @media (max-width: 500px) {\n .${g} .${h}-copy-button {\n border-left: calc(${d}px * 0.15) dashed #${t.action.couponColor};\n padding: 0 6px;\n }\n .${g} .${h}-copy-button svg {\n width: ${d}px;\n height: ${d}px;\n }\n }\n .${g} .${h}-copy-button:hover {\n opacity: 0.8;\n }\n\n ${s}\n `}(c,s,o,n,d,f);function $(e,n){if(!e.code||""===e.code.trim())return"";let i=h+"-coupon";return e.isCopy&&(i+=` ${h}-coupon-copy`),`\n
\n
${t(e.code)}\n ${e.isCopy?`\n
\n `:""}\n
\n `}function b(e,n,i){if(!e||!e.text)return"";const{text:r,action:o}=e;let s="",{paddingLeft:a,paddingRight:l}=i;if(s.length>0&&(l="16px"),o)switch(o.type){case"clickable":return`\n ${t(r)}\n `;case"button":o.text&&""!==o.text.trim()&&(s=`${t(o.text)}`);break;case"coupon":s=$(o)}return`${t(r)} ${s}
`}function v(t,e,n,i=!1){e="#"+e;const o=Math.max(24,1.5*n);return`\n \n `}let x="0",w="0";const k=Math.max(24,1.5*c.content.size);w=`${k}px`;let S="",C="";if("marquee"===o){x=`${k}px`,w="0";let e="0";l.show||(x="0",e="6px");let n=a.animation.action;switch(n.type){case"button":S=`${t(n.text)}`;break;case"coupon":S=$(n)}S.length>0&&(S=`${S}
`),C=`padding-right: ${x}; padding-left: ${w};`}else l.show||(x="8px",w="8px");let B=function(r,a){let l="";s.sticky&&(m+=` ${g}--sticky`);let c=e?.multilang_enabled;void 0===c&&(c=!1);let f=e?.base_language;void 0===f&&(f="");let y="",$=!1;if(c&&f&&p&&!n){let t=o;"slider"===o?t="slider":"marquee"===o?t="animation":"simple"===o&&(t="simple"),$=!0,e.content_lang[p]?y=e.content_lang[p][t]:$=!1}if(!$||n)switch(o){case"simple":y=e.content.simple;break;case"marquee":y=e.content.animation;break;case"slider":y=e.content.slider;break;default:y=""}switch(o){case"simple":l=b(y,0,{paddingLeft:r,paddingRight:a});break;case"marquee":l=function(e,n){if(!e||!e.text)return"";const{text:i,action:r}=e,{cursorStop:o,direction:s}=n,a=t(i)+" ";let l=Math.ceil(750/a.length),c=a.repeat(l);r&&"clickable"===r.type&&(c=`${c}`);const d=`\n \n ${c}\n
\n `;return``}(y,d);break;case"slider":l=function(t,e,n,r){if(!t||0===t.length)return"";let{autoPlay:o,duration:s,cursorStop:a,direction:l}=e,c=t.map(((t,e)=>`\n \n ${b(t,0,r)}\n
\n `)).join(""),d=e.showNav,u="";return d&&(u=`\n \n `),`\n \n `}(y,u,0,{paddingLeft:r,paddingRight:a});break;default:l=""}return l}(w,x);return`\n \n `#${t}`)).join(", ");if("linear"===e)return`linear-gradient(to right, ${i})`;if("radial"===e)return`radial-gradient(circle, ${i})`}return"transparent"}(c.background)}; box-sizing: border-box; align-items: center;\n ${C}\n ">\n
\n
\n ${B}\n
\n ${S}\n ${function(){if(!l.show)return"";let t=l.color;return"simple"===o||"slider"===o?`
\n ${v(0,t,c.content.size)}\n
`:"marquee"===o?`
\n ${v(0,t,c.content.size,!0)}\n
`:void 0}()}\n
\n
\n`}const n=async function(){const t=new AbortController,e=setTimeout((()=>t.abort()),1e4);try{const n=await fetch("https://geoip.boostandsales.com/",{method:"GET",headers:{"Content-Type":"application/json"},signal:t.signal});clearTimeout(e);const i=await n.json();return{ok:n.ok,geo:i.geo,code:n.ok?"ok":400===n.status?"bad_request":"other_error"}}catch(t){return clearTimeout(e),"AbortError"===t.name?{ok:!1,code:"timeout_error",geo:""}:"TypeError"===t.name&&"Failed to fetch"===t.message?{ok:!1,code:"network_error",geo:""}:{ok:!1,code:"unknown_error",geo:""}}};function i(t,e,n=!1){const i=e.match(/GMT([+-])(\d{1,2})(?::(\d{2}))?/);if(!i)throw new Error("Invalid time zone format");const r=i[1];let o=60*parseInt(i[2],10)+(i[3]?parseInt(i[3],10):0);"-"===r&&(o=-o);const s=t.getTime()+6e4*o;if(n){let t=new Date(s);return new Date(t.getTime()+6e4*t.getTimezoneOffset())}return new Date(s)}const r="bstndsls-bar",o={autoPlay:!0,slider_settings:{duration:5}};class s{constructor(t,e){this.settings={...o,...t},this.element=e,this.intervalId=null,this.currentSlide=0,this.sliderContainer=this.element.querySelector(`.${r}-slider-container`),this.slides=this.element.querySelectorAll(`.${r}-slide`),this.prevButton=this.element.querySelector(`.${r}-slider-prev`),this.nextButton=this.element.querySelector(`.${r}-slider-next`),this.isVisible=!0,this.intersectionObserver=null,this.prevButtonHandler=this.showPreviousSlide.bind(this),this.nextButtonHandler=this.showNextSlide.bind(this)}init(){this.addEventListeners(),this.showSlide(this.currentSlide),this.setupVisibilityObserver(),this.settings.autoPlay&&this.startSliderInterval()}addEventListeners(){this.prevButton&&this.nextButton&&(this.prevButton.addEventListener("click",this.prevButtonHandler),this.nextButton.addEventListener("click",this.nextButtonHandler))}showPreviousSlide(){this.showSlide(this.currentSlide-1)}showNextSlide(){this.showSlide(this.currentSlide+1)}showSlide(t){t=this.normalizeIndex(t),this.currentSlide=t,this.updateSliderPosition(),this.updateActiveClass(),this.restartInterval()}normalizeIndex(t){return t<0?this.slides.length-1:t>=this.slides.length?0:t}updateSliderPosition(){this.sliderContainer.style.transform=`translateX(-${100*this.currentSlide}%)`}updateActiveClass(){this.slides.forEach(((t,e)=>{t.classList.toggle(`${r}-active`,e===this.currentSlide)}))}startSliderInterval(){if(this.clearSliderInterval(),this.isVisible){const t=1e3*this.settings.slider_settings.duration;this.intervalId=setInterval((()=>this.showSlide(this.currentSlide+1)),t)}}clearSliderInterval(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}restartInterval(){this.settings.autoPlay&&this.startSliderInterval()}setupVisibilityObserver(){this.intersectionObserver=new IntersectionObserver((t=>{t.forEach((t=>{t.isIntersecting?(this.isVisible=!0,this.restartInterval()):(this.isVisible=!1,this.clearSliderInterval())}))}),{threshold:.5}),this.intersectionObserver.observe(this.element)}destroy(){this.clearSliderInterval(),this.intersectionObserver&&this.intersectionObserver.disconnect(),this.prevButton&&this.nextButton&&(this.prevButton.removeEventListener("click",this.prevButtonHandler),this.nextButton.removeEventListener("click",this.nextButtonHandler)),this.slides.forEach((t=>{t.classList.remove(`${r}-active`)})),this.sliderContainer.style.transform=""}}function a(t){const e=t.querySelectorAll(`.${r}-slider`),n={autoPlay:"true"===e[0].dataset.autoPlay,slider_settings:{duration:parseInt(e[0].dataset.duration,10)||o.slider_settings.duration}};e.forEach((t=>{if(t.sliderInstance)return;const e=new s(n,t);e.init(),t.sliderInstance=e}))}function l(t){const e=t.sliderInstance;e&&"function"==typeof e.destroy&&(e.destroy(),delete t.sliderInstance)}class c{constructor(t={}){this.endpoint=t.endpoint||"https://stats.boostandsales.com/api/bar",this.uuid=t.uuid||null,this.debug=t.debug||!1,this.initClipboardTracking()}log(...t){this.debug}getCouponCopyStorageKey(t){return"BoostAndSalesBar_"+t+"_coupon_copy"}checkCouponCopyStorage(t){return localStorage.getItem(this.getCouponCopyStorageKey(t))}canSendCouponCopyAnalytics(t){const e=this.checkCouponCopyStorage(t);if(!e)return!0;try{const n=JSON.parse(e),i=Math.floor(Date.now()/1e3);return n.copyUnixTime+60<=i&&(localStorage.removeItem(this.getCouponCopyStorageKey(t)),!0)}catch(e){return localStorage.removeItem(this.getCouponCopyStorageKey(t)),!0}}saveCouponCopyTime(t){const e=Math.floor(Date.now()/1e3),n=JSON.stringify({copyUnixTime:e});localStorage.setItem(this.getCouponCopyStorageKey(t),n)}setUUID(t){this.uuid=t}async sendAnalytics(t){if(!this.uuid)return!1;const e=`${this.uuid}:${t}`;try{return navigator.sendBeacon?navigator.sendBeacon(this.endpoint,e):(await fetch(this.endpoint,{method:"POST",headers:{"Content-Type":"text/plain"},body:e,keepalive:!0})).ok}catch(t){return!1}}trackView(){this.sendAnalytics("views")}trackClick(){this.sendAnalytics("click")}async trackCouponCopy(){if(!this.uuid)return!1;if(!this.canSendCouponCopyAnalytics(this.uuid))return!1;const t=await this.sendAnalytics("coupon_copy");return t&&this.saveCouponCopyTime(this.uuid),t}initClipboardTracking(){document.addEventListener("copy",(t=>{try{const t=window.getSelection().toString();t&&this.isCouponCode(t)&&this.trackCouponCopy().catch((t=>{}))}catch(t){}}))}isCouponCode(t){const e=t.trim();if(!e)return!1;const n=document.querySelectorAll(".bstndsls-bar-coupon");for(const t of n)if(t.textContent.trim()===e)return!0;return!1}initBarTracking(t,e){t&&(this.setUUID(e),this.trackView(),t.querySelectorAll(".bstndsls-bar-announcement-clickable, .bstndsls-bar-announcement-action").forEach((t=>{t.addEventListener("click",(()=>{this.trackClick()}))})),t.querySelectorAll(".bstndsls-bar-copy-button").forEach((t=>{t.addEventListener("click",(()=>{this.trackCouponCopy().catch((t=>{}))}))})),t.classList.contains("bstndsls-bar-announcement-clickable")&&t.addEventListener("click",(()=>{this.trackClick()})))}destroy(){}}window.AnnouncementBarAnalytics=c;const d=c;function u(t){const{uuid:e}=t,n=new d({debug:!1});return new Promise((t=>{const n=()=>{const i=document.querySelector(`[data-shBarsShopifyHeader="${e}"]`)||document.querySelector(`.bstndsls-sh-bar-${e}`);i?t(i):setTimeout(n,100)};n()})).then((t=>(n.initBarTracking(t,e),n))),n}function p(t,e,n){const i=document.querySelector(`[${t}="${n}"]`);if(!i)return;const r=()=>i.offsetHeight;if(!r())return{updateSpacerHeight:()=>{},cleanup:()=>{}};let o=document.querySelector(`[${t}Spacer="${n}"]`);o||(o=document.createElement("div"),o.dataset[e]=n,document.body.appendChild(o));const s=()=>{let t=r();t-=2,o.style.minHeight=`${t}px`,o.style.display="block",o.style.padding="1px",t||a()};s(),window.addEventListener("resize",s);const a=()=>{window.removeEventListener("resize",s),o&&o.remove()};return{updateSpacerHeight:s,cleanup:a}}function h(t,e){switch(t){case"all":default:return!0;case"home":let t=(window.Shopify?.routes?.root||"/").replace(/\/$/,"")||"/";return window.location.pathname===t;case"product":return-1!==window.location.pathname.indexOf("/products/");case"collection":return-1!==window.location.pathname.indexOf("/collections/");case"custom":return function(t,e){let n=window.location.href;try{switch(t){case"is":return n===e;case"is_not":return n!==e;case"contains":return-1!==n.indexOf(e);case"does_not_contain":return-1===n.indexOf(e);case"starts_with":return n.startsWith(e);case"ends_with":return n.endsWith(e);case"matches":return new RegExp(e).test(n);default:return!1}}catch(t){return!1}}(e.condition,e.value)}}function g(t){if("always"===t.type)return!0;let e=new Date,n=t.timezone;switch(n=n.match(/GMT[+-]\d{1,2}:\d{2}/)[0],t.type){case"hourly":return function(t,e,n,r){try{let o,s,a;if(n)o=t.getDay(),s=t.getHours();else{const e=i(t,r);o=e.getUTCDay(),s=e.getUTCHours()}if(a=0===o?6:o-1,a<0||a>6||s<0||s>23||!Array.isArray(e[a]))throw new Error("");return 1===e[a][s]}catch(t){return!1}}(e,t.hourly,t.localTime,n);case"days":return function(t,e,n,r){try{const o=n?t:i(t,r,!0);let{start:s,end:a,type:l,days:c,period:d}=e,u=0===o.getDay()?7:o.getDay();if(["everyday","weekdays","weekends"].includes(d)&&(l="period"),"day"===l){if(!c.includes(u))return!1}else switch(d){case"everyday":break;case"weekdays":if(6===u||7===u)return!1;break;case"weekends":if(6!==u&&7!==u)return!1}let p=o.getHours(),h=o.getMinutes(),g=s&&""!==s.trim()?s.trim():"00:00";/^24(:\d{2})?$/.test(g)&&(g="23:59");let m=a&&""!==a.trim()?a.trim():"23:59";return/^24(:\d{2})?$/.test(m)&&(m="23:59"),function(t,e,n,i){function r(t){const[e,n]=t.split(":").map(Number);return 60*e+n}const o=r(t),s=r(e),a=60*n+i;return o===s?a===o:o=o&&a<=s:a>=o||a<=s}(g,m,p,h)}catch(t){return!1}}(e,t.days_interval,t.localTime,n);case"interval":return function(t,e,n,r){try{const o=n?t:i(t,r,!0),{start:s,end:a,time_start:l,time_end:c}=e;if(""===s&&""===a)return!0;function d(t,e=!1){return t&&""!==t.trim()?(t=t.trim(),/^24(:\d{2})?$/.test(t)?"23:59":t):e?"23:59":"00:00"}function u(t,e="00:00",n=!1){const[i,r,o]=t.split("-").map(Number),[s,a]=e.split(":").map(Number);return new Date(i,r-1,o,s,a,n?59:0)}function p(t){const{start:e,end:n,time_start:i,time_end:r}=t,o=d(i,!1),s=d(r,!0);return{startDate:u(e,o,!1),endDate:u(n,s,!0)}}const h={start:s,end:a,time_start:l,time_end:c},{startDate:g,endDate:m}=p(h);if(isNaN(g)||isNaN(m))throw new Error("");return o>=g&&o<=m}catch(f){return console.error("interval error:",f),!1}}(e,t.date_range,t.localTime,n);default:return!0}}const m=t=>"BoostAndSalesBar_"+t,f=t=>localStorage.getItem(m(t)),y=(t=[])=>{try{let t=document.getElementById("bstndsls-fixed-top-style");t&&t.remove()}catch(t){return!1}if(0===t.length)return!1;let e=0;for(let n=0;ne&&(e=o)}if(0===e)return!1;let n=document.createElement("style");n.id="bstndsls-fixed-top-style";let i="";if(document.querySelector('.site-header[data-sticky="true"]'))i=`.site-header[data-sticky="true"].site-header--stuck, .drawer--left.drawer--is-open, .drawer--right.drawer--is-open, #CartDrawer {top: ${e}px !important;}`;else if(document.querySelector("#megamenuWrapper")){let t=document.querySelector("#megamenuWrapper");"sticky"===window.getComputedStyle(t).position&&(i=`#megamenuWrapper {top: ${e}px !important;}`)}else i=document.querySelector("#header.mobile_nav-fixed--true")?`#header.mobile_nav-fixed--true, .main-nav__wrapper.sticky_nav.sticky_nav--stick {top: ${e}px !important;}`:document.querySelector('#site-control[data-positioning="sticky"]')?`#site-control[data-positioning="sticky"] {top: ${e}px !important;}`:`.shopify-section-header-sticky:not(.shopify-section-header-hidden) {top: ${e}px !important;}`;try{if(window.Shopify.theme.name.toLowerCase().includes("tycoonsol showcase_")){i+=`#page-menu {margin-top: ${e}px !important;}`;for(let e=0;ee)continue;localStorage.removeItem(m(o.uuid))}catch(t){localStorage.removeItem(m(o.uuid))}if(h(o.target.pages,o.target.pages_custom)&&("all"===o.target.device||o.target.device===t)&&g(o.schedule)){if("selected"===o.target.countries&&o.target.countries_list.length>0&&(r||(r=(await n()).geo),!o.target.countries_list.includes(r)))continue;i.push(o)}}if(0===i.length)return;let o=[],s=[];for(let t=0;t0&&(d=y(o)),d||s.length}))})();