PageSourceSearch

https://www.shortylove.com/account/login

html shortylove.com collected 2026-09-25 15:22:40 UTC 433,226 bytes, 3,251 lines download raw bytes

1<!doctype html>
2
3<html lang="en" dir="ltr">
4  <head>
5    
5<script async="async" src="https://240.1.2.3/js/mm_ae86aa0b-ffa9-4269-8908-b24b2835a34e-04468825.js"></script>
5
6<!-- Start of Shoplift scripts -->
7<!-- 2026-05-07T22:31:46.7907064Z -->
8<style>.shoplift-hide { opacity: 0 !important; }</style>
9<style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style>
10<script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2026-09-25T14:30:07.8259489Z */(function(){"use strict";var te=document.createElement("style");te.textContent=`#shoplift-preview-control{position:fixed;max-width:332px;height:56px;background-color:#141414;z-index:9999;bottom:20px;display:flex;border-radius:8px;box-shadow:13px 22px 7px #0000,9px 14px 7px #00000003,5px 8px 6px #0000000d,2px 4px 4px #00000017,1px 1px 2px #0000001a,0 0 #0000001a;align-items:center;margin:0 auto;left:16px;right:16px;opacity:0;transform:translateY(20px);visibility:hidden;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s .4s}#shoplift-preview-control.visible{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s 0s}#shoplift-preview-control *{font-family:Inter,sans-serif;color:#fff;box-sizing:border-box;font-size:16px}#shoplift-preview-variant-title{font-weight:400;line-height:140%;font-size:16px;text-align:start;letter-spacing:-.16px;flex-grow:1;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}#shoplift-preview-variant-selector{position:relative;display:block;padding:6px 0;height:100%;min-width:0;flex:1 1 auto}#shoplift-preview-variant-menu-trigger{border:none;cursor:pointer;width:100%;background-color:transparent;padding:0 16px;border-left:1px solid #333;border-right:1px solid #333;height:100%;display:flex;align-items:center;justify-content:start;gap:8px}#shoplift-preview-variant-selector .menu-variant-label{width:24px;height:24px;border-radius:50%;padding:6px;display:flex;justify-content:center;align-items:center;font-size:12px;font-style:normal;font-weight:600;line-height:100%;letter-spacing:-.12px;flex-shrink:0}#shoplift-preview-variant-selector .preview-variant-menu{position:absolute;bottom:110%;transform:translate3d(0,20px,0);visibility:hidden;pointer-events:none;opacity:0;cursor:pointer;background-color:#141414;border:1px solid #141414;border-radius:6px;width:100%;max-height:156px;overflow-y:auto;box-shadow:0 8px 16px #0003;z-index:1;transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s .3s}#shoplift-preview-variant-selector .preview-variant-menu.preview-variant-menu__visible{visibility:visible;pointer-events:auto;opacity:100;transform:translateZ(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s 0s}@media screen and (max-width:400px){#shoplift-preview-variant-selector .preview-variant-menu{position:fixed;left:0;right:0;width:auto;bottom:110%}}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item{padding:12px 16px;display:flex;overflow:hidden}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item .menu-variant-label{margin-right:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item span{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;white-space:nowrap;color:#f6f6f6;font-size:14px;font-style:normal;font-weight:500}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:hover{background-color:#545454}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:last-of-type{border-bottom-left-radius:6px;border-bottom-right-radius:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}#shoplift-preview-control div:has(#shoplift-exit-preview-button){padding:0 16px}#shoplift-exit-preview-button{padding:6px 8px;font-weight:500;line-height:75%;border-radius:4px;background-color:transparent;border:none;text-decoration:none}#shoplift-exit-preview-button:hover{cursor:pointer;background-color:#333}#shoplift-preview-subscription-warning{position:relative;display:flex;align-items:center;gap:6px;padding:6px 10px;margin:0 4px;border-left:1px solid #333;cursor:help;outline:none}#shoplift-preview-subscription-warning__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#f59e0b;color:#141414!important;font-weight:700;font-size:12px!important;line-height:1;flex-shrink:0}#shoplift-preview-subscription-warning__label{font-size:13px!important;font-weight:500;color:#fbbf24!important;text-wrap:nowrap;white-space:nowrap}#shoplift-preview-subscription-warning__tooltip{position:absolute;bottom:calc(100% + 8px);right:0;max-width:320px;width:max-content;padding:10px 12px;border-radius:6px;background-color:#1f1f1f;color:#fff!important;font-size:12px!important;line-height:1.4!important;box-shadow:0 8px 16px #0000004d;z-index:10000;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s .2s;pointer-events:none}#shoplift-preview-subscription-warning__tooltip.shoplift-preview-subscription-warning__tooltip--visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s 0s}#shoplift-preview-subscription-warning:focus-visible{box-shadow:inset 0 0 0 2px #f59e0b;border-radius:4px}#shoplift-preview-control:has(#shoplift-preview-subscription-warning){max-width:480px}/*$vite$:1*/`,document.head.appendChild(te);var fe=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!cam)scan|(?<!lib)http|24x
107|;\\s\\w+;$|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+/1\\.0;|\\bbw/|\\bdlc\\b|\\bort/|\\bperl\\b|\\btime/|\\||^[<\\(;]|^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^blackbox exporter|^bot|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^exodusmovement|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^ps_daily/|^python|^rank|^read|^reed|^remove\\.bg/|^rest|^rss|^snapchat|^sora |^space bison|^stape/|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|abuse|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|attracta|audit|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|collapsify\\b|convertify|cookiehubverify/|crawl|cursor/|cypress/|dareboost|datanyze|dejaclick|detect|discovery|dmbrowser|download|exaleadcloudview|feed|firephp|foregenix|functionize|grab|hardenize\\b|headless|hotjar|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|linktiger|mail\\.ru/|manager|manus-user/|marketgoo/|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|openvas|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|playwright|powermarks|preview|productfinder|prospectingstudio|proxy|ptst[ /]\\d|radar|readable/|retriever|rexx;|rigor|rss\\b|scrape|securityheaders|selenium|server|silktide|sindup/|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|testlocally|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|watchtowr|webglance|webkit2png|whatcms/|xtate/",ge=/bot|crawl|http|lighthouse|scan|search|spider/i,z;function me(){if(z instanceof RegExp)return z;try{z=new RegExp(fe,"i")}catch{z=ge}return z}var ye=a=>typeof a=="string"&&a!=="";function ve(a){return ye(a)&&me().test(a)}var we=ve;class X{timestamp;constructor(){this.timestamp=new Date}}class be extends X{type;testId;hypothesisId;constructor(e,t,i){super(),this.type=3,this.testId=e,this.hypothesisId=t,this.timestamp=i}}class Se extends X{type;path;constructor(e){super(),this.type=4,this.path=e}}class Ce extends X{type;cart;constructor(e){super(),this.type=5,this.cart=e}}class ie extends Error{isBot;constructor(){super(),this.isBot=!0}}function Te(a,e,t){for(const i of e.selectors){const s=a.querySelectorAll(i.cssSelector);for(let r=0;r<s.length;r++)t(e.testId,e.hypothesisId)}re(a,e,(i,s,r,o,n)=>n(s,r),t)}function U(a,e,t){for(const i of e.selectors)ne(a,e.testId,e.hypothesisId,i,t??(()=>{}));re(a,e,ne,t??(()=>{}))}function se(a){return a.urlPatterns.reduce((e,t)=>{switch(t.operator){case"contains":return e+`.*${t}.*`;case"endsWith":return e+`.*${t}`;case"startsWith":return e+`${t}.*`}},"")}function re(a,e,t,i){new MutationObserver(()=>{for(const r of e.selectors)t(a,e.testId,e.hypothesisId,r,i)}).observe(a.documentElement,{childList:!0,subtree:!0})}function ne(a,e,t,i,s){const r=a.querySelectorAll(i.cssSelector);for(let o=0;o<r.length;o++){let n=r.item(o);if(n instanceof HTMLElement&&n.dataset.shoplift!==""){n.dataset.shoplift="";for(const l of i.actions.sort(Re))n=Ie(a,i.cssSelector,n,l)}}return r.length>0&&s?(s(e,t),!0):!1}function Ie(a,e,t,i){switch(i.type){case"innerHtml":t.innerHTML=i.value;break;case"attribute":Pe(t,i.scope,i.value);break;case"css":Ae(a,e,i.value);break;case"js":ke(a,t,i);break;case"copy":return Ee(t);case"remove":xe(t);break;case"move":_e(t,parseInt(i.value));break}return t}function Pe(a,e,t){a.setAttribute(e,t)}function Ae(a,e,t){const i=a.createElement("style");i.innerHTML=`${e} { ${t} }`,a.getElementsByTagName("head")[0]?.appendChild(i)}function ke(a,e,t){Function("document","element",`"use strict"; ${t.value}`)(a,e)}function Ee(a){const e=a.cloneNode(!0);if(!a.parentNode)throw"Can't copy node outside of DOM";return a.parentNode.insertBefore(e,a.nextSibling),e}function xe(a){a.remove()}function _e(a,e){if(e===0)return;const t=Array.prototype.slice.call(a.parentElement.children).indexOf(a),i=Math.min(Math.max(t+e,0),a.parentElement.children.length-1);a.parentElement.children.item(i).insertAdjacentElement(e>0?"afterend":"beforebegin",a)}function Re(a,e){return oe(a)-oe(e)}function oe(a){return a.type==="copy"||a.type==="remove"?0:1}
10const M={Template:0,UrlRedirect:2,Script:3,Price:5},De="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.96001%207.90004C9.86501%207.90004%209.77001%207.86504%209.69501%207.79004L6.43501%204.53004C6.19501%204.29004%205.80501%204.29004%205.56501%204.53004L2.30501%207.79004C2.16001%207.93504%201.92001%207.93504%201.77501%207.79004C1.63001%207.64504%201.63001%207.40504%201.77501%207.26004L5.03501%204.00004C5.56501%203.47004%206.43001%203.47004%206.96501%204.00004L10.225%207.26004C10.37%207.40504%2010.37%207.64504%2010.225%207.79004C10.15%207.86004%2010.055%207.90004%209.96001%207.90004Z'%20fill='white'/%3e%3c/svg%3e",Ve="data:image/svg+xml,%3csvg%20width='14'%20height='24'%20viewBox='0%200%2014%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.3976%2014.5255C12.2833%2013.8788%2012.0498%2013.3024%2011.6952%2012.7961C11.3416%2012.2898%2010.9209%2011.8353%2010.4353%2011.4317C9.94868%2011.0291%209.43546%2010.6488%208.89565%2010.292C8.48487%2010.049%208.09577%209.78565%207.72637%209.50402C7.35697%209.2224%207.08016%208.89503%206.89694%208.51987C6.71273%208.14471%206.67826%207.69533%206.79055%207.1697C6.86345%206.83216%206.97476%206.54647%207.12351%206.31162C7.27324%206.07778%207.47124%205.89986%207.7175%205.77684C7.96377%205.65483%208.21989%205.59383%208.48389%205.59383C8.88087%205.59383%209.17639%205.7016%209.3734%205.91714C9.56943%206.13268%209.68271%206.42345%209.71424%206.78946C9.74576%207.15547%209.72015%207.55401%209.63839%207.98509C9.55663%208.41617%209.43645%208.84724%209.27687%209.27934L13.5127%208.80149C13.9638%207.52656%2014.1017%206.42447%2013.9264%205.49725C13.751%204.56901%2013.2664%203.85122%2012.4724%203.34491C12.239%203.19648%2011.9779%203.07041%2011.6893%202.96569L12.0026%201.50979L9.86397%200L7.3875%201.50979L7.11169%202.78878C6.65166%202.8874%206.21724%203.01957%205.8114%203.19038C4.85292%203.594%204.06684%204.15115%203.45117%204.86385C2.83452%205.57655%202.42571%206.40108%202.22378%207.33847C2.06616%208.06947%202.04942%208.70796%202.17551%209.25087C2.30061%209.7948%202.52028%2010.2828%202.8355%2010.7139C3.14974%2011.145%203.51816%2011.5344%203.93977%2011.881C4.36039%2012.2288%204.782%2012.5521%205.20164%2012.851C5.68334%2013.1702%206.13844%2013.5169%206.56497%2013.8921C6.99052%2014.2672%207.31954%2014.7125%207.55004%2015.228C7.78055%2015.7445%207.81502%2016.3769%207.65347%2017.1262C7.56482%2017.5389%207.43676%2017.8765%207.27028%2018.1388C7.10381%2018.4011%206.89596%2018.5983%206.64772%2018.7295C6.3985%2018.8606%206.12071%2018.9267%205.8114%2018.9267C5.21641%2018.9267%204.79776%2018.6034%204.62833%2018.1632C4.4589%2017.7229%204.47367%2017.2583%204.60075%2016.5639C4.72782%2015.8705%205.05092%2015.1395%205.37107%2014.3699H1.17665C1.17665%2014.3699%200.207341%2016.1115%200.0310135%2017.6762C-0.0655232%2018.5302%200.0635208%2019.2653%200.41519%2019.8844C0.76686%2020.5036%201.33032%2020.9814%202.10655%2021.319C2.39222%2021.443%202.7104%2021.5447%203.05813%2021.623L2.54589%2024H7.17473L7.7047%2021.5386C8.08493%2021.442%208.43857%2021.3231%208.76562%2021.1787C9.73985%2020.7476%2010.52%2020.1427%2011.1071%2019.3649C11.6932%2018.5871%2012.0873%2017.7291%2012.2892%2016.7917C12.4744%2015.9295%2012.5099%2015.1741%2012.3966%2014.5275L12.3976%2014.5255Z'%20fill='white'/%3e%3c/svg%3e";async function Oe(a){let e=a.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";const t=atob(e),i=Uint8Array.from(t,o=>
10o.charCodeAt(0)),s=new Blob([i]).stream().pipeThrough(new DecompressionStream("gzip")),r=await new Response(s).text();return JSON.parse(r)}function F(a,e){return typeof e=="string"&&/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d+(?:Z|[+-]\d+)/.test(e)?new Date(e):e}function ee(a,e){return e}function q(a,e=!1,t=!1,i=","){const s=a/100;if(t){const o=Math.round(s).toLocaleString("en-US");return i!==","?o.replace(/,/g,i):o}else{const r=e?",":".",o=s.toFixed(2).split("."),n=parseInt(o[0],10),l=o[1]??"00",c=n.toLocaleString("en-US");return i!==","?`${c.replace(/,/g,i)}${r}${l}`:e?`${c.replace(/,/g,".")}${r}${l}`:`${c}${r}${l}`}}function H(a,e,t,i){const s=e.replace("{{amount}}",q(a,!1,!1)).replace("{{amount_no_decimals}}",q(a,!1,!0)).replace("{{amount_with_comma_separator}}",q(a,!0,!1)).replace("{{amount_no_decimals_with_comma_separator}}",q(a,!0,!0)).replace("{{amount_with_space_separator}}",q(a,!1,!1," ")).replace("{{amount_no_decimals_with_space_separator}}",q(a,!1,!0," ")).replace("{{amount_with_apostrophe_separator}}",q(a,!1,!1,"'")).replace("{{amount_no_decimals_with_apostrophe_separator}}",q(a,!1,!0,"'")).replace("{{amount_with_period_and_space_separator}}",q(a,!1,!1,". ")).replace("{{amount_no_decimals_with_period_and_space_separator}}",q(a,!1,!0,". "));return i?`${s} ${t}`:s}function ae(a){return a.replace(/[^\d.,\s-]/g,"").trim()}function j(a){const e=new Map;for(const[t,i,s]of a.variants)e.set(t,{priceInCents:i,compareAtPriceInCents:s});return e}function Le(a,e,t,i){const{priceInCents:s,compareAtPriceInCents:r}=t,{moneyFormat:o,currency:n,currencyCodeEnabled:l}=i;if(a.getAttribute("data-sl-attribute-p")===e)a.innerHTML=H(s,o,n,l);else if(a.getAttribute("data-sl-attribute-cap")===e)r<=0||r<=s?a.remove():a.innerHTML=H(r,o,n,l);else if(a.getAttribute("data-sl-attribute-discount")===e&&!(r<=0||r<=s)){const d=Math.round((r-s)/r*100),u=ae(H(r-s,o,n,!1)),h=a.getAttribute("data-sl-format")||"percent";h==="percent"?a.textContent=`-${d}%`:h==="amount"?a.textContent=`-${u}`:h==="both"&&(a.textContent=`-${d}% (-${u})`)}}function $e(a){const e=[],t={id:"url-pattern",operator:"contains",value:"/"};for(const[i,s,r]of a.variants){e.push({id:`p-${i}`,cssSelector:`[data-sl-attribute-p="${i}"]`,urlPatterns:[t],actions:[{id:`p-action-${i}`,type:"innerHtml",scope:"price",value:H(s,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]});const o=r<=0||r<=s;if(e.push({id:`cap-${i}`,cssSelector:`[data-sl-attribute-cap="${i}"]`,urlPatterns:[t],actions:[{id:`cap-action-${i}`,type:o?"remove":"innerHtml",scope:"compare-at-price",value:o?"":H(r,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]}),!o&&r>s){const n=Math.round((r-s)/r*100),l=ae(H(r-s,a.moneyFormat,a.currency,!1));e.push({id:`d-${i}`,cssSelector:`[data-sl-attribute-discount="${i}"]`,urlPatterns:[t],actions:[{id:`d-action-${i}`,type:"js",scope:null,value:`var format = element.getAttribute('data-sl-format') || 'percent';                    if (format === 'percent') {                      element.textContent = '-${n}%';                    } else if (format === 'amount') {                      element.textContent = '-${l}';                    } else if (format === 'both') {                      element.textContent = '-${n}% (-${l})';                    }`}]})}}return e}const Me=a=>{let e=5381;for(let t=0;t<a.length;t++)e=(e*33^a.charCodeAt(t))>>>0;return e.toString(36)},qe=()=>Math.random().toString(36).slice(2,10)+Date.now().toString(36).slice(-4),He=a=>btoa(JSON.stringify(a)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),K=a=>a.replace(/#slr-[a-z0-9]+$/,""),tt="modulepreload",it=function(a){return"/"+a},st={},Ne=function(e,t,i){let s=Promise.resolve();function r(o){const n=new Event("vite:preloadError",{cancelable:!0});if(n.payload=o,window.dispatchEvent(n),!n.defaultPrevented)throw o}return s.then(o=>{for(const n of o||[])n.status==="rejected"&&r(n.reason);return e().catch(r)})};function le(a,e,t){const i=t?a.plans.filter(c=>!c.variantId||c.variantId===t):a.plans,s=[],r=[];for(const c of i)c.direction==="decrease"?(s.push(c.existingShopifyPlanId),r.push(c.createdShopifyPlanId)):(s.push(c.createdShopifyPlanId),r.push(c.existingShopifyPlanId));const o=e?s:r,n=e?r:s;if(t)for(const c of a.plans)for(const d of[c.existingShopifyPlanId,c.createdShopifyPlanId])d&&!o.includes(d)&&!n.includes(d)&&n.push(d);const l={};for(let c=0;c<n.length;c++){const d=n[c],u=o[c];d&&u&&(l[d]=u)}return{showPlanIds:o,hidePlanIds:n,swapMap:l}}function ce(a,e,t){const i=e?a.plans.find(r=>r.variantId===e):void 0;if(i)return i.direction;if(t){const r=a.plans.find(o=>o.productId===t);if(r)return r.direction}return a.plans.find(r=>!r.variantId)?.direction??null}function J(a,e){const t=e?a.plans.filter(r=>!r.productId||r.productId===e):a.plans,i={};for(const r of t)i[r.existingShopifyPlanId]=r.existingDiscountAmount,i[r.createdShopifyPlanId]=r.existingDiscountAmount;
10const s=Math.max(...Object.values(i),0);return{discountMap:i,maxDiscount:s}}function W(a){const e=document.querySelector('form[action*="/cart/add"] input[name="product-id"]')?.value;if(e)return e;if(a){for(const r of Array.from(document.querySelectorAll("[data-sl-attribute-p]"))){const o=r.getAttribute("data-sl-attribute-p");if(!o)continue;const n=a.variants.find(l=>l[0]===o);if(n?.[3])return n[3]}const s=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(s){const r=a.variants.find(o=>o[0]===s);if(r?.[3])return r[3]}}const t=window,i=t.ShopifyAnalytics?.meta?.product?.id??t.meta?.product?.id;return i!=null?String(i):null}function D(a,e){return a.widget.selectors[e]??[]}function N(a,e){return a.replace(/[\d.]+%/,`${e}%`)}function $(a,e){const t=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);let i=t.nextNode();for(;i;){if(i.nodeValue!==null){const s=e(i.nodeValue);if(s!==i.nodeValue){i.nodeValue=s;return}}i=t.nextNode()}}function de(a,e){return a===null?!1:a==="decrease"?!e:e}async function Ue(a){if(a.subscriptionSwapDone)return;const e=a.getActiveAssignment();if(!e)return;const t=a.getHypothesis(e.hypothesisId);if(!t?.subscriptionData)return;a.subscriptionSwapDone=!0;const i=t.subscriptionData,s=t.isControl,r=[...new Set(i.plans.map(d=>d.direction))].join(",");a.log(`[SUB-SWAP] ${s?"A":"B"} side, directions=${r}`);const o=i.plans.some(d=>d.variantId);let n=!1,l=!1;function c(){if(!l){l=!0;try{const d=o?document.querySelector("select[name='id'], input[name='id']")?.value:void 0,{showPlanIds:u,hidePlanIds:h,swapMap:p}=le(i,s,d);a.swapMap=p;const b=D(i,"widgetParent"),E=D(i,"subscriptionPlans"),S=D(i,"subscriptionInput");if(!b.length||!E.length||!S.length)return;const C=document.querySelector(b[0].selector);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(E[0].selector);if(!_?.shadowRoot)return;const T=S[0].selector;let m=null;if(i.widget.widgetType==="buttons"||i.widget.widgetType==="radio"){const y=Array.from(_.shadowRoot.querySelectorAll(T));if(!y.length)return;for(const v of y){const g=v.closest("label");g&&(u.includes(v.value)?g.style.display="":h.includes(v.value)&&(g.style.display="none"))}const w=y.some(v=>u.includes(v.value)&&v.checked),I=y.some(v=>h.includes(v.value)&&v.checked);if((w||I)&&(n=!1),!w&&!n){n=!0;for(const v of y)if(u.includes(v.value)){v.closest("label")?.click(),v.dispatchEvent(new Event("change",{bubbles:!0}));break}}const f=y.find(v=>v.checked);m=f&&u.includes(f.value)?f.value:u[0]??null}else if(i.widget.widgetType==="dropdown"){const y=_.shadowRoot.querySelector("select");if(!y)return;for(const w of Array.from(y.options))h.includes(w.value)&&(w.style.display="none",w.disabled=!0);if(h.includes(y.value)){const w=Array.from(y.options).find(I=>u.includes(I.value));w&&(y.value=w.value,y.dispatchEvent(new Event("change",{bubbles:!0})))}m=u.includes(y.value)?y.value:u[0]??null}if(m){const y=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const w of y)w.value!==m&&(w.value=m)}}finally{l=!1}}}if(a.subscriptionHideWrongPlans=c,a.swapMap=le(i,s).swapMap,c(),o){const d=document.querySelector("select[name='id'], input[name='id']");d&&d.addEventListener("change",c)}}function B(a){const e=D(a,"widgetParent");return e.length?document.querySelector(e[0].selector)?.shadowRoot??null:null}function Y(a,e){const t=D(a,"subscriptionPlans");return t.length?e.querySelector(t[0].selector)?.shadowRoot??null:null}function Z(a,e){const t=new URLSearchParams(window.location.search).get("variant");if(t)return t;{const i=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(i)return i}return a.size>0?[...a.keys()][0]:void 0}function G(a,e){return H(a,e.moneyFormat,e.currency,e.currencyCodeEnabled)}function Fe({originalFetch:a,swapMap:e,slptValue:t,getSelectedPlanId:i,log:s}){if(window.fetch.__shoplift_intercepted)return s("[SUB-INTERCEPT] already installed — skipping"),()=>{};function r(n){if(i){const l=i();if(l)return e[l]??l}return e[n]??n}const o=function(n,l){if((typeof n=="string"?n:n instanceof URL?n.href:n.url).includes("/cart/add")&&l?.body)try{if(l.body instanceof FormData){const d=l.body.get("selling_plan");d?l.body.set("selling_plan",r(String(d))):(!d||d==="")&&t&&l.body.set("properties[_slpt]",t)}
10else if(typeof l.body=="string"){const d=JSON.parse(l.body);if(d.items)for(const u of d.items){const h=String(u.selling_plan??"");h?u.selling_plan=r(h):!u.selling_plan&&t&&(u.properties||(u.properties={}),u.properties._slpt=t)}else if(d.id){const u=String(d.selling_plan??"");u?d.selling_plan=r(u):!d.selling_plan&&t&&(d.properties||(d.properties={}),d.properties._slpt=t)}l.body=JSON.stringify(d)}}catch(d){s("[SUB-INTERCEPT] body parse failed; cart-add proceeds with un-swapped plan",d)}return a.call(window,n,l)};return o.__shoplift_intercepted=!0,window.fetch=o,function(){window.fetch===o&&(window.fetch=a)}}function Be({log:a}){if(window.fetch.__shoplift_intercepted)return a("[SUB-PREVIEW-BLOCK] already installed — skipping"),()=>{};const e=window.fetch,t=function(i,s){const r=typeof i=="string"?i:i instanceof URL?i.href:i.url;return r.includes("/cart/add")?(a("[SUB-PREVIEW-BLOCK] cart-add blocked in preview mode",{url:r}),Promise.resolve(new Response(JSON.stringify({id:0,properties:{},quantity:0,variant_id:0,key:"preview",title:"Preview — cart-add blocked",price:0,original_price:0,line_price:0,original_line_price:0,total_discount:0,discounts:[],preview:!0}),{status:200,headers:{"Content-Type":"application/json"}}))):e.call(window,i,s)};return t.__shoplift_intercepted=!0,window.fetch=t,function(){window.fetch===t&&(window.fetch=e)}}function pe({data:a,runUpdates:e,debounceMs:t=150}){let i=null;function s(){i&&clearTimeout(i),e(),i=setTimeout(e,t)}let r=null;const o=[],n={childList:!0,subtree:!0,characterData:!0,attributes:!0};function l(h){for(const p of o)p.disconnect();o.length=0;for(const p of Array.from(h.querySelectorAll("*")))if(p.shadowRoot){const b=new MutationObserver(s);b.observe(p.shadowRoot,n),o.push(b)}}function c(){const h=B(a);return h?(r&&r.disconnect(),l(h),r=new MutationObserver(p=>{p.some(b=>b.type==="childList"&&b.addedNodes.length>0)&&l(h),s()}),r.observe(h,n),!0):!1}const d=document.body||document.documentElement,u=new MutationObserver(()=>{c()&&s()});return u.observe(d,{childList:!0,subtree:!0}),c()&&s(),e(),function(){i&&(clearTimeout(i),i=null),u.disconnect(),r&&(r.disconnect(),r=null);for(const p of o)p.disconnect();o.length=0}}async function ze(a){if(a.subscriptionPriceDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=t?.subscriptionData?null:a.findActiveSubscriptionTestControl(),s=t?.subscriptionData?t:i?.hypothesis;if(!s?.subscriptionData)return;const r=t?.subscriptionData?e.testId:i.testId;a.subscriptionPriceDone=!0;const o=s.subscriptionData,n=s.isControl,l=s.priceData,c=o.widget.widgetType;let d=W(l),u=J(o,d),h=u.discountMap,p=u.maxDiscount;function b(){const g=W(l);g!==d&&(d=g,u=J(o,d),h=u.discountMap,p=u.maxDiscount,a.log(`[SUB-PRICE] scope refreshed side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`))}a.log(`[SUB-PRICE] side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`),a.updatePriceTestHiddenInputs(r,n?"control":"variant",!1);function E(){if(!l)return null;const g=j(l),P=Z(g),A=ce(o,P,d);if(!de(A,n))return null;const k=P?g.get(P):void 0;return k?{formattedVariantPrice:G(k.priceInCents,l),formattedDiscounted:G(k.priceInCents*(1-p/100),l)}:null}Fe({originalFetch:a.fetch,swapMap:a.swapMap??{},slptValue:a.slptValue??void 0,log:a.log,getSelectedPlanId:()=>{const g=B(o);if(!g)return null;const P=Y(o,g);if(!P)return null;const A=D(o,"subscriptionInput"),k=A.length?A[0].selector:'input[name="rc_plan"]';return P.querySelector(`${k}:checked`)?.value??null}});function S(g){const P=D(o,"subscriptionDiscount");for(const A of P)if(A.selector.includes("badge")||A.selector.includes("__badge")){const k=g.querySelector(A.selector);k?.textContent&&!k.textContent.includes(`${p}%`)&&$(k,x=>N(x,p))}}function C(g){const P=E();if(!P)return;const A=D(o,"subscriptionCompareAt");for(const k of A){const x=g.querySelector(k.selector)||g.querySelector(`[part~="${k.selector}"]`);x?.textContent&&!x.textContent.includes(P.formattedVariantPrice)&&$(x,R=>/\d/.test(R)?P.formattedVariantPrice:R)}}function _(g,P){const A=D(o,"subscriptionCompareAt"),k=P===0?"none":"";for(const x of A){const R=g.querySelector(x.selector)||g.querySelector(`[part~="${x.selector}"]`);R&&(k==="none"?R.style.display!=="none"&&(R.style.display="none"):R.style.display==="none"&&(R.style.display=""))}}function T(g){const P=D(o,"subscriptionInput"),A=P.length?P[0].selector:'input[name="rc_plan"]',k=D(o,"subscriptionPlanDiscount"),x=k.length?k[0].selector:".rc-plans-button__discount";for(const R of Array.from(g.querySelectorAll("label"))){const O=R.querySelector(A),V=R.querySelector(x);
10if(O&&V){const L=h[O.value];if(L!==void 0){if(L===0)V.style.display!=="none"&&(V.style.display="none");else if(V.style.display==="none"&&(V.style.display=""),V.textContent){const Q=V.textContent.match(/[\d.]+%/)?.[0];Q&&Q!==`${L}%`&&$(V,et=>N(et,L))}}}}}function m(g){const P=g.querySelector("select");if(P)for(const A of Array.from(P.options)){const k=h[A.value];if(k!==void 0&&A.textContent){const x=A.textContent.match(/[\d.]+%/)?.[0];x&&x!==`${k}%`&&(A.textContent=N(A.textContent,k))}}}function y(g,P){const k=D(o,"subscriptionDiscount").filter(x=>x.selector.includes("benefit")||x.selector==="rc-benefits");for(const x of k){const R=g.querySelector(x.selector);if(R?.shadowRoot){for(const O of Array.from(R.shadowRoot.querySelectorAll("li")))if(O.textContent?.includes("Save")){const V=O;if(P===0)V.style.display!=="none"&&(V.style.display="none");else{V.style.display==="none"&&(V.style.display="");const L=O.textContent.match(/[\d.]+%/)?.[0];L&&L!==`${P}%`&&$(O,Q=>N(Q,P))}}}}}let w=!1;function I(){if(!w){w=!0;try{if(b(),d!==null&&Object.keys(h).length===0)return;const g=B(o);if(!g)return;S(g),l&&C(g);const P=Y(o,g);let A=p;if(P){const k=D(o,"subscriptionInput"),x=k.length?k[0].selector:'input[name="rc_plan"]',R=P.querySelector(`${x}:checked`);if(R){const O=h[R.value];O!==void 0&&(A=O)}c==="buttons"||c==="radio"?T(P):m(P)}_(g,A),y(g,A)}finally{w=!1}}}function f(){const g=E();if(!g)return;const P=B(o);if(!P)return;const A=D(o,"onetimeToggle"),k=A.length?A[0].selector:'input[value="onetime"]';if(!P.querySelector(k)?.checked)return;const R=D(o,"subscriptionPrice");for(const O of R){const V=P.querySelector(O.selector)||P.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(g.formattedDiscounted)&&$(V,L=>/\d/.test(L)?g.formattedDiscounted:L)}}function v(){a.subscriptionHideWrongPlans&&a.subscriptionHideWrongPlans(),I(),a.subscriptionUpdateOneTime&&a.subscriptionUpdateOneTime(),f()}pe({data:o,runUpdates:v})}async function We(a){if(a.subscriptionOneTimeDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=!!(t?.subscriptionData&&t.priceData),s=i?null:a.findActiveSubscriptionTestControl(),r=i?t:s?.hypothesis;if(!r?.subscriptionData||!r.priceData)return;const o=i?e.testId:s.testId;a.subscriptionOneTimeDone=!0;const n=r.subscriptionData,l=r.priceData,c=j(l),d=r.isControl,u=d?"control":"variant";a.slptValue=`${o}:${u}:f`,a.updatePriceTestHiddenInputs(o,u,!1);function h(){const p=B(n);if(!p)return;const b=Z(c);if(!b)return;const E=W(l),S=ce(n,b,E);if(!de(S,d))return;const C=c.get(b);if(!C)return;const _=H(C.priceInCents,l.moneyFormat,l.currency,l.currencyCodeEnabled),T=D(n,"onetimePrice");if(!T.length)return;const m=D(n,"onetimeContainer"),y=m.length?m[0].selector:'[part~="rc-purchase-option__onetime"]',I=p.querySelector(y)??p;for(const f of T){let v=null;try{v=I.querySelector(f.selector)}catch{v=null}v??=I.querySelector(`[part~="${f.selector}"]`),v&&v.textContent&&!v.textContent.includes(_)&&$(v,g=>/\d/.test(g)?_:g)}}a.subscriptionUpdateOneTime=h,h()}async function Ge(a,e){const{subscriptionPreviewRender:t}=await Ne(async()=>{const{subscriptionPreviewRender:i}=await Promise.resolve().then(()=>Xe);return{subscriptionPreviewRender:i}},void 0);return t(a.subscriptionData,a.priceData,a.isControl,e)}function je(a,e){const t=a.widget.selectors.widgetParent??[],i=a.widget.selectors.subscriptionPlans??[],s=a.widget.selectors.subscriptionInput??[];if(!t.length||!i.length||!s.length){e("[SUB-GLOBAL-HIDE] Missing required selectors — skipping");return}const r=t[0].selector,o=i[0].selector,n=s[0].selector;let l=!1,c=null,d=!1;function u(){if(!d){d=!0;try{h()}finally{d=!1}}}function h(){const C=document.querySelector(r);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(o);if(!_?.shadowRoot)return;_.shadowRoot!==c&&(c=_.shadowRoot,l=!1);let T=0;if(a.widget.widgetType==="buttons"||a.widget.widgetType==="radio"){const m=Array.from(_.shadowRoot.querySelectorAll(n));for(const f of m)if(a.planIds.includes(f.value)){f.disabled||(f.disabled=!0);const v=f.closest("label");v&&v.style.display!=="none"&&(v.style.display="none",T++)}const y=m.filter(f=>!a.planIds.includes(f.value));if(!y.some(f=>f.checked)&&!l&&y.length>0){l=!0;const f=y[0];f.closest("label")?.click(),f.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible plan input=${f.value}`)}const I=y.find(f=>f.checked)??y[0];
10if(I){const f=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const v of f)v.value!==I.value&&(v.value=I.value,e(`[SUB-GLOBAL-HIDE] Mirrored plan id ${I.value} to form selling_plan input`))}}else if(a.widget.widgetType==="dropdown"){const m=_.shadowRoot.querySelector("select");if(!m)return;for(const I of Array.from(m.options))a.planIds.includes(I.value)&&(I.style.display!=="none"&&(I.style.display="none"),I.disabled||(I.disabled=!0),T++);const y=Array.from(m.options).filter(I=>!a.planIds.includes(I.value)),w=y.some(I=>I.value===m.value);y.length>0&&!w&&!l&&(l=!0,m.value=y[0].value,m.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible option=${y[0].value}`))}T>0&&e(`[SUB-GLOBAL-HIDE] Hidden ${T} B-side plan buttons`)}const p={childList:!0,subtree:!0,characterData:!0};let b=null;function E(C){b?.disconnect(),b=new MutationObserver(()=>u()),b.observe(C,p)}function S(){const C=document.querySelector(r);if(!C?.shadowRoot)return!1;u(),new MutationObserver(()=>{u();const m=C.shadowRoot.querySelector(o);m?.shadowRoot&&E(m.shadowRoot)}).observe(C.shadowRoot,p);const T=C.shadowRoot.querySelector(o);return T?.shadowRoot&&E(T.shadowRoot),!0}if(!S()){e("[SUB-GLOBAL-HIDE] Widget not in DOM yet — waiting via MutationObserver");const C=new MutationObserver(()=>{S()&&C.disconnect()});C.observe(document.body??document.documentElement,{childList:!0,subtree:!0})}}const ue="Limited preview",Ke="Add-to-cart and checkout prices won't reflect this test until it launches — test selling plans are not created in your subscription app until after a test is launched.",Je=5e3;function Ye(){const a=document.createElement("div");a.id="shoplift-preview-subscription-warning";const e=document.createElement("span");e.id="shoplift-preview-subscription-warning__icon",e.setAttribute("aria-hidden","true"),e.textContent="!";const t=document.createElement("span");t.id="shoplift-preview-subscription-warning__label",t.textContent=ue;const i=document.createElement("div");i.id="shoplift-preview-subscription-warning__tooltip",i.setAttribute("role","tooltip"),i.textContent=Ke,a.appendChild(e),a.appendChild(t),a.appendChild(i),a.setAttribute("tabindex","0"),a.setAttribute("aria-describedby",i.id),a.setAttribute("aria-label",ue);let s=null;function r(){s!==null&&(clearTimeout(s),s=null)}function o(){i.classList.add("shoplift-preview-subscription-warning__tooltip--visible")}function n(){i.classList.remove("shoplift-preview-subscription-warning__tooltip--visible")}function l(){o(),r(),s=setTimeout(()=>{n(),s=null},Je)}function c(){r(),o()}function d(){s===null&&n()}a.addEventListener("mouseenter",c),a.addEventListener("mouseleave",d),a.addEventListener("focus",c),a.addEventListener("blur",d);function u(p){try{const b=p.target;if(!(b instanceof Element))return;(b.closest('form[action*="/cart/add"] button[type="submit"], form[action*="/cart/add"] input[type="submit"]')!==null||b.closest('[name="add"], button[name="add"], [data-add-to-cart], button[data-add-to-cart]')!==null)&&l()}catch{}}document.addEventListener("click",u,!0);function h(){r(),document.removeEventListener("click",u,!0),a.removeEventListener("mouseenter",c),a.removeEventListener("mouseleave",d),a.removeEventListener("focus",c),a.removeEventListener("blur",d),a.remove()}return{root:a,tooltip:i,cleanup:h}}let he=!1;class Ze{DATA_SL_ATTRIBUTE_P="data-sl-attribute-p";DATA_SL_TEST_ID="data-sl-test-id";VIEWPORT_TRACK_THRESHOLD=.5;temporarySessionKey="Shoplift_Session";essentialSessionKey="Shoplift_Essential";analyticsSessionKey="Shoplift_Analytics";priceSelectorsSessionKey="Shoplift_PriceSelectors_v2";shop;host;eventHost;disableReferrerOverride;legacySessionKey;cssHideClass;testConfigs;inactiveTestConfigs;hiddenSubscriptionPlans;testsFilteredByAudience;sendPageView;shopliftDebug;gaConfig;telemetryEnabled;getCountryTimeout;geoViaShopify;resolvedRegion=null;state;subscriptionPreviewWarningCleanup=null;shopifyAnalyticsId;cookie=document.cookie;isSyncing=!1;isSyncingGA=!1;fetch;localStorageSet;localStorageGet;sessionStorageSet=window.sessionStorage.setItem.bind(window.sessionStorage);sessionStorageGet=window.sessionStorage.getItem.bind(window.sessionStorage);
10urlParams=new URLSearchParams(window.location.search);device;logHistory;activeViewportObservers=new Map;clientIdRetryCount=0;constructor(e,t,i,s,r,o,n,l,c,d,u,h,p,b=!1){this.shop=e,this.host=t,this.eventHost=i,this.disableReferrerOverride=l,this.logHistory=[],this.legacySessionKey=`SHOPLIFT_SESSION_${this.shop}`,this.cssHideClass=s?"shoplift-hide":"",this.testConfigs=u.map(S=>({...S,startAt:new Date(S.startAt),statusHistory:S.statusHistory.map(C=>({...C,createdAt:new Date(C.createdAt)}))})),this.inactiveTestConfigs=h,this.hiddenSubscriptionPlans=p,this.sendPageView=!!r,this.shopliftDebug=o===!0,this.telemetryEnabled=c===!0,this.geoViaShopify=b===!0,this.gaConfig=n!=={"sendEvents":false,"mode":"gtag"}?n:{sendEvents:!1},this.fetch=window.fetch.bind(window),this.localStorageSet=window.localStorage.setItem.bind(window.localStorage),this.localStorageGet=window.localStorage.getItem.bind(window.localStorage);const E=this.getDeviceType();this.device=E!=="tablet"?E:"mobile",this.state=this.loadState(),this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.testsFilteredByAudience=u.filter(S=>
10S.status=="active"),this.getCountryTimeout=d===1000?1e3:d,window.__slReadCookie=S=>{const C=this.getCookie(S);if(C===null)return null;try{return decodeURIComponent(C)}catch{return C}},this.log("State Loaded",JSON.stringify(this.state))}deriveCategoryFromExistingTests(){if(!this.state.temporary.testCategory&&this.state.essential.visitorTests.length>0){const e=this.state.essential.visitorTests.some(t=>{if(!t.hypothesisId)return!1;const i=this.getHypothesis(t.hypothesisId);return i&&["theme","basicScript","price"].includes(i.type)});this.state.temporary.testCategory=e?"global":"conditional",this.persistTemporaryState(),this.log("Derived test category from existing visitorTests: %s",this.state.temporary.testCategory)}}async init(){try{if(this.log("Shoplift script initializing"),window.Shopify&&window.Shopify.designMode){this.log("Skipping script for design mode");return}if(window.location.href.includes("slScreenshot=true")){this.log("Skipping script for screenshot");return}if(window.location.hostname.endsWith(".edgemesh.com")){this.log("Skipping script for preview");return}if(window.location.href.includes("isShopliftMerchant")){const o=this.urlParams.get("isShopliftMerchant")==="true";this.log("Setting merchant session to %s",o),this.state.temporary.isMerchant=o,this.persistTemporaryState()}if(this.state.temporary.isMerchant){this.log("Setting up preview for merchant"),typeof window.shoplift!="object"&&this.setShopliftStub(),this.state.temporary.previewConfig||this.hidePage(),await this.initPreview(),document.querySelector("#sl-preview-bar-hide")?.remove();return}if(this.state.temporary.previewConfig=void 0,we(navigator.userAgent))return;const e=Date.now(),t=!this.state.temporary.lastSeen||e-this.state.temporary.lastSeen>1800*1e3;(!this.state.temporary.entryPage||t)&&(this.state.temporary.entryPage=K(window.location.href)),this.state.temporary.lastSeen=e,this.persistTemporaryState(),window.__slEntryPage=this.state.temporary.entryPage??"";const i=this.state.essential.visitorTests.filter(o=>o.hypothesisId&&+o.createdAt>Date.now()-6e4);if(i.length===0)this.sendDiagnosticTelemetry("page-landed",null);else for(const o of i)this.sendDiagnosticTelemetry("page-landed",o.testId,{hypothesisId:o.hypothesisId,isControl:o.assignedTo==="control",testType:o.testType??"unknown"});if(navigator.userAgent.includes("Chrome/118")){this.log("Random: %o",[Math.random(),Math.random(),Math.random()]);const o=await this.makeRequest({url:`${this.eventHost}/api/v0/events/ip`,method:"get"}).then(n=>n?.json());this.log(`IP: ${o}`),this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify(this.debugState(),ee)}).catch()}if(this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.monitorConsentChange(),this.checkForThemePreview())return;if(!this.disableReferrerOverride&&this.state.temporary.originalReferrer!=null){this.log(`Overriding referrer from '${document.referrer}' to '${this.state.temporary.originalReferrer}'`);const o=this.state.temporary.originalReferrer;delete this.state.temporary.originalReferrer,this.persistTemporaryState(),Object.defineProperty(document,"referrer",{get:()=>o,enumerable:!0,configurable:!0})}if(await this.refreshVisitor(this.shopifyAnalyticsId),await this.handleVisitorTest()){this.log("Redirecting for visitor test");return}this.setShoplift(),this.showPage(),this.ensureCartAttributesForExistingPriceTests(!1);const r=this.state.essential.visitorTests.some(o=>(o.hypothesisId?this.getHypothesis(o.hypothesisId):void 0)?.subscriptionData!=null)||Object.values(this.state.temporary.testReservations??{}).some(o=>this.getHypothesis(o.hypothesisId)?.subscriptionData!=null);this.hiddenSubscriptionPlans&&!r&&(this.log(`[SUB-GLOBAL] Visitor not in subscription test — hiding ${this.hiddenSubscriptionPlans.planIds.length} B-side plans`),je(this.hiddenSubscriptionPlans,o=>this.log(o))),await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange(),await this.finalize(),console.log("SHOPLIFT SCRIPT INITIALIZED!")}catch(e){if(e instanceof ie)return;throw e}finally{typeof window.shoplift!="object"&&this.setShopliftStub()}}getVariantColor(e){switch(e){case"a":return{text:"#141414",bg:"#E2E2E2"};case"b":return{text:"rgba(255, 255, 255, 1)",bg:"rgba(37, 99, 235, 1)"}}}getDefaultVariantTitle(e){return e.title?e.title:e.type==="price"?e.isControl?"Original prices":"Variant prices":e.isControl?"Original":"Untitled variant "+e.label.toUpperCase()}
10async initPreview(){const e=this.urlParams.get("previewConfig");if(e){this.state.temporary.previewConfig=void 0,this.log("Setting up the preview"),this.log("Found preview config, writing to temporary state");const t=await Oe(e);if(this.state.temporary.previewConfig=t,this.state.temporary.previewConfig.testTypeCategory===M.Price){this.hidePage(!0);const s=this.state.temporary.previewConfig;let r=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/${s.isDraft||!1}`;s.shopifyProductId&&(r+=`?productId=${s.shopifyProductId}`);const o=await this.makeJsonRequest({method:"get",url:r}).catch(n=>(this.log("Error getting domSelectors",n),null));if(s.variants.forEach(n=>n.domSelectors=o[n.id]?.domSelectors),s.isDraft){const n=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/subscription-preview`,l=await this.makeJsonRequest({method:"get",url:n}).catch(c=>(this.log("No subscription preview data for draft (test may not have a subscription widget)",c),null));l?.subscriptionData&&s.variants.forEach(c=>{c.subscriptionData=l.subscriptionData,c.priceData=l.priceData})}}this.persistTemporaryState();const i=new URL(window.location.toString());i.searchParams.delete("previewConfig"),this.queueRedirect(i)}else if(this.state.temporary.previewConfig){this.showPage();const t=this.state.temporary.previewConfig;if(t.testTypeCategory===M.Template&&this.handleTemplatePreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.UrlRedirect&&this.handleUrlPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Script&&this.handleScriptPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Price){const i=await this.handlePricePreview(t);t.isDraft?await this.handleSubscriptionPricePreview(t):await this.handleSubscriptionLivePreview(t),i&&this.initPreviewControls(t)}}}initPreviewControls(e){document.addEventListener("DOMContentLoaded",()=>{const t=e.variants.find(b=>b.id===e.currentVariant),i=t?.label||"a",s=e.variants,r=document.createElement("div");r.id="shoplift-preview-control";const o=document.createElement("div"),n=document.createElement("img");n.src=Ve,n.height=24,n.width=14,o.style.padding="0 16px",o.style.lineHeight="100%",o.appendChild(n),r.appendChild(o);const l=document.createElement("div");l.id="shoplift-preview-variant-selector";const c=document.createElement("button");c.id="shoplift-preview-variant-menu-trigger";const d=document.createElement("div");d.className="menu-variant-label",d.style.backgroundColor=this.getVariantColor(i).bg,d.style.color=this.getVariantColor(i).text,d.innerText=i.toUpperCase(),c.appendChild(d);const u=document.createElement("span");if(u.id="shoplift-preview-variant-title",u.innerText=t?this.getDefaultVariantTitle(t):"Untitled variant "+i.toUpperCase(),c.appendChild(u),s.length>1){const b=document.createElement("img");b.src=De,b.width=12,b.height=12,b.style.height="12px",b.style.width="12px",c.appendChild(b);const E=document.createElement("div");E.className="preview-variant-menu";for(const S of e.variants.filter(C=>C.id!==e.currentVariant)){const C=document.createElement("div");C.className="preview-variant-menu--item";const _=document.createElement("div");_.className="menu-variant-label",_.style.backgroundColor=this.getVariantColor(S.label).bg,_.style.color=this.getVariantColor(S.label).text,_.style.flexShrink="0",_.innerText=S.label.toUpperCase(),C.appendChild(_);const T=document.createElement("span");T.innerText=this.getDefaultVariantTitle(S),C.appendChild(T),C.addEventListener("click",()=>{this.pickVariant(S.id)}),E.appendChild(C)}l.appendChild(E),c.addEventListener("click",()=>{E.className!=="preview-variant-menu preview-variant-menu__visible"?E.classList.add("preview-variant-menu__visible"):E.classList.remove("preview-variant-menu__visible")}),document.addEventListener("click",S=>{S.target instanceof Element&&!c.contains(S.target)&&E.className==="preview-variant-menu preview-variant-menu__visible"&&E.classList.remove("preview-variant-menu__visible")})}else c.style.pointerEvents="none",d.style.margin="0";if(l.appendChild(c),r.appendChild(l),e.hasSubscription){this.subscriptionPreviewWarningCleanup?.();const b=Ye();r.appendChild(b.root),this.subscriptionPreviewWarningCleanup=b.cleanup}const h=document.createElement("div"),p=document.createElement("button");p.id="shoplift-exit-preview-button",p.innerText="Exit",h.appendChild(p),p.addEventListener("click",()=>{this.exitPreview()}),r.appendChild(h),document.body.appendChild(r),requestAnimationFrame(()=>{r.classList.add("visible")})}),this.ensureCartAttributesForExistingPriceTests(!0)}pickVariant(e){if(this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig,i=new URL(window.location.toString());if(t.testTypeCategory===M.UrlRedirect){const s=t.variants.find(r=>r.id===t.currentVariant)?.redirectUrl;if(i.pathname===s){const r=t.variants.find(o=>o.id===e)?.redirectUrl;r&&(i.pathname=r)}}if(t.testTypeCategory===M.Template){const s=t.variants.find(r=>r.id===t.currentVariant)?.pathName;if(s&&i.pathname===s){const r=t.variants.find(o=>o.id===e)?.pathName;r&&r!==s&&(i.pathname=r)}}t.currentVariant=e,this.persistTemporaryState(),this.queueRedirect(i)}}exitPreview(){const e=new URL(window.location.toString());if(this.state.temporary.previewConfig?.testTypeCategory===M.Template&&e.searchParams.delete("view"),this.state.temporary.previewConfig?.testTypeCategory===M.Script&&e.searchParams.delete("slVariant"),this.state.temporary.previewConfig?.testTypeCategory===M.UrlRedirect){const i=this.state.temporary.previewConfig.variants.filter(r=>!r.isControl&&r.redirectUrl!==null).map(r=>r.redirectUrl),s=this.state.temporary.previewConfig.variants.find(r=>r.label==="a")?.redirectUrl;i.includes(e.pathname)&&s&&(e.pathname=s)}this.state.temporary.isMerchant=!1,e.searchParams.delete("isShopliftMerchant"),this.state.temporary.previewConfig=void 0,this.persistTemporaryState(),this.subscriptionPreviewWarningCleanup?.(),this.subscriptionPreviewWarningCleanup=null,this.hidePage(),this.queueRedirect(e)}handleTemplatePreview(e){const t=e.currentVariant,i=e.variants.find(l=>l.id===t);if(!i)return!1;const s=e.variants.find(l=>l.isControl);if(!s)return!1;this.log("Setting up template preview for type",s.type);
10const r=new URL(window.location.toString()),o=r.searchParams.get("view"),n=i.type===s.type;return!n&&!i.isControl&&template.suffix===s.affix&&this.typeFromTemplate()===s.type&&i.pathName!==null?(this.log("Hit control template type, redirecting to the variant url"),this.hidePage(),r.pathname=i.pathName,this.queueRedirect(r),!0):(!i.isControl&&this.typeFromTemplate()==i.type&&template.suffix===s.affix&&n&&o!==(i.affix||"__DEFAULT__")&&(this.log("Template type and affix match control, updating the view param"),r.searchParams.delete("view"),this.log("Setting the new viewParam to",i.affix||"__DEFAULT__"),this.hidePage(),r.searchParams.set("view",i.affix||"__DEFAULT__"),this.queueRedirect(r)),o!==null&&o!==(i.affix||"__DEFAULT__")&&(r.searchParams.delete("view"),this.hidePage(),this.queueRedirect(r)),!0)}handleUrlPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t),s=e.variants.find(o=>o.isControl)?.redirectUrl;if(!i)return!1;this.log("Setting up URL redirect preview");const r=new URL(window.location.toString());return r.pathname===s&&!i.isControl&&i.redirectUrl!==null&&(this.log("Url matches control, redirecting"),this.hidePage(),r.pathname=i.redirectUrl,this.queueRedirect(r)),!0}handleScriptPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t);if(!i)return!1;this.log("Setting up script preview");const s=new URL(window.location.toString());return s.searchParams.get("slVariant")!==i.id&&(this.log("current id doesn't match the variant, redirecting"),s.searchParams.delete("slVariant"),this.log("Setting the new slVariantParam"),this.hidePage(),s.searchParams.set("slVariant",i.id),this.queueRedirect(s)),!0}async handlePricePreview(e){const t=e.currentVariant,i=e.variants.find(s=>s.id===t);return i?(this.log("Setting up price preview"),i.domSelectors&&i.domSelectors.length>0&&(U(document,{testId:e.testId,hypothesisId:i.id,selectors:i.domSelectors}),this.ensureCartAttributesForExistingPriceTests(!0)),!0):!1}async handleSubscriptionPricePreview(e){const t=e.variants.find(i=>i.id===e.currentVariant);t?.subscriptionData&&(this.log("Setting up subscription price preview"),await Ge({id:t.id,isControl:t.isControl,subscriptionData:t.subscriptionData,priceData:t.priceData},(i,...s)=>this.log(i,...s)))}async handleSubscriptionLivePreview(e){this.testConfigs.find(s=>s.id===e.testId)?.hypotheses.find(s=>s.id===e.currentVariant)?.subscriptionData&&(this.log("Setting up subscription live preview"),this.subscriptionSwapDone=!1,this.subscriptionOneTimeDone=!1,this.subscriptionPriceDone=!1,await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange())}async finalize(){const e=await this.getCartState();e!==null&&this.queueCartUpdate(e),this.pruneStateAndSave(),await this.syncAllEvents()}setShoplift(){this.log("Setting up public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:async s=>{if(this.log("Script checking variant for hypothesis '%s'",s),t)return this.log("Forcing variant for hypothesis '%s'",s),!0;if(i!==null)return this.log("Forcing hypothesis '%s'",i),s===i;const r=this.testConfigs.find(n=>n.hypotheses.some(l=>l.id===s));if(!r)return this.log("No test found for hypothesis '%s'",s),!1;const o=this.state.essential.visitorTests.find(n=>n.testId===r.id);return o?(this.log("Active visitor test found",s),o.hypothesisId===s):(await this.manuallySplitVisitor(r),this.testConfigs.some(n=>n.hypotheses.some(l=>l.id===s&&this.state.essential.visitorTests.some(c=>c.hypothesisId===l.id))))},setAnalyticsConsent:async s=>{await this.onConsentChange(s,!0)},getVisitorData:()=>({visitor:this.state.analytics.visitor,visitorTests:this.state.essential.visitorTests.filter(s=>!s.isInvalid).map(s=>{const{shouldSendToGa:r,savedAt:o,...n}=s;return n})})}}setShopliftStub(){this.log("Setting up stubbed public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:s=>Promise.resolve(t||s===i),setAnalyticsConsent:()=>Promise.resolve(),getVisitorData:()=>({visitor:null,visitorTests:[]})}}async manuallySplitVisitor(e){this.log("Starting manual split for test '%s'",e.id),await this.handleVisitorTest([e]);const t=this.getReservationForTest(e.id);t&&!t.isRealized&&t.entryCriteriaKey&&(this.log("Realizing manual API reservation for test '%s'",e.id),this.realizeReservationForCriteria(t.entryCriteriaKey)),this.saveState(),this.syncAllEvents()}async handleVisitorTest(e){await this.filterTestsByAudience(this.testConfigs,this.state.analytics.visitor??this.buildBaseVisitor(),this.state.essential.visitorTests),this.pruneStaleVisitorTests(),this.deriveC
10ategoryFromExistingTests(),this.clearStaleReservations();let t=e?e.filter(i=>this.testsFilteredByAudience.some(s=>s.id===i.id)):[...this.testsForUrl(this.testsFilteredByAudience),...this.domTestsForUrl(this.testsFilteredByAudience)];try{if(t.length===0)return this.log("No tests found"),!1;this.log("Checking for existing visitor test on page");const i=this.getCurrentVisitorHypothesis(t);if(i){this.log("Found current visitor test");const l=this.considerRedirect(i);return l&&(this.log("Redirecting for current visitor test"),this.redirect(i)),l}const s=this.getReservationForCurrentPage();if(s){this.log("Found matching reservation for current page: %s",s.testId);const l=this.getHypothesis(s.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(s.entryCriteriaKey);const c=this.considerRedirect(l);return c&&this.redirect(l),c}}this.log("No active test relation for test page");const r=this.testsForUrl(this.inactiveTestConfigs.filter(l=>this.testIsPaused(l)&&l.hypotheses.some(c=>this.state.essential.visitorTests.some(d=>d.hypothesisId===c.id)))).map(l=>l.id);if(r.length>0)return this.log("Visitor has paused tests for test page, skipping test assignment: %o",r),!1;if(!this.state.temporary.testCategory){const l=this.testsFilteredByAudience.filter(d=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d))),c=this.testsFilteredByAudience.filter(d=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d)));if(this.log("Category dice roll - global tests: %o, conditional tests: %o",l.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)})),c.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)}))),l.length>0&&c.length>0){const d=l.length,u=c.length,h=d+u,p=Math.random()*h;this.state.temporary.testCategory=p<d?"global":"conditional",this.log("Category dice roll: rolled %.2f of %d (global weight: %d, conditional weight: %d), selected '%s'",p,h,d,u,this.state.temporary.testCategory)}else l.length>0?(this.state.temporary.testCategory="global",this.log("Only global tests available, setting category to global")):(this.state.temporary.testCategory="conditional",this.log("Only conditional tests available, setting category to conditional"));this.persistTemporaryState()}const o=this.state.temporary.testCategory;if(this.log("Visitor test category: %s",o),o==="global"){const l=this.testsFilteredByAudience.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:global");t=t.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}else{const l=this.testsFilteredByAudience.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:conditional");t=t.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}if(t.length===0)return this.log("No tests remaining after category filter"),!1;this.createReservations(t);const n=this.getReservationForCurrentPage();if(n&&!n.isRealized){const l=this.getHypothesis(n.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(n.entryCriteriaKey);const c=this.considerRedirect(l);return c&&(this.log("Redirecting for new test"),this.redirect(l)),c}}return!1}finally{this.includeInDomTests(),this.saveState()}}includeInDomTests(){this.applyControlForAudienceFilteredPriceTests();const e=this.getDomTestsForCurrentUrl(),t=this.getVisitorDomHypothesis(e);for(const i of e){this.log("Evaluating dom test '%s'",i.id);const s=i.hypotheses.some(p=>p.type==="price");if(this.state.essential.visitorTests.find(p=>p.testId===i.id&&p.isInvalid&&!p.hypothesisId)){if(this.log("Visitor is blocked from test '%s', applying control prices if price test",i.id),s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for blocked visitor, no metrics tracked")}),this.updatePriceTestHiddenInputs(i.id,"control",!1))}continue}const o=this.getReservationForTest(i.id);let n=null,l=!1;const c=t.find(p=>i.hypotheses.some(b=>p.id===b.id));if(o)n=this.getHypothesis(o.hypothesisId)??null,this.log("Using reserved hypothesis '%s' for test '%s'",o.hypothesisId,i.id);else if(c)n=c,this.log("Using existing hypothesis assignment for test '%s'",i.id);else if(s){const p=this.visitorActiveTestTypeWithReservations();p?(l=!0,this.log("Visitor already in test type '%s', treating as non-test for price test '%s'",p,i.id)):n=this.pickHypothesis(i)}else n=this.pickHypothesis(i);if(l&&s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.log("Applying control prices for non-test visitor on price test '%s' (Map-based)",i.id),this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for non-test visitor, no metrics tracked")}
10),this.updatePriceTestHiddenInputs(i.id,"control",!1));continue}if(!n){this.log("Failed to pick hypothesis for test");continue}this.sendDiagnosticTelemetry("assignment",i.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const d=i.bayesianRevision??4,u=n.type==="price",h=d>=5;if(u&&h){if(this.log(`Price test with Map-based lookup (v${d}): ${i.id}`),!n.priceData){this.log("No price data for hypothesis '%s', skipping",n.id);continue}const p=n.isControl?"control":"variant";this.log(`Setting up Map-based price test for ${p} (test: ${i.id})`),this.applyPriceTestWithMapLookup(i.id,n,i.hypotheses,b=>{const E=this.getReservationForTest(b);E&&!E.isRealized&&E.entryCriteriaKey?this.realizeReservationForCriteria(E.entryCriteriaKey):this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(u&&!h){this.log(`Price test without viewport tracking (v${d}): ${i.id}`);const p=this.getDomSelectorsForHypothesis(n);if(p.length===0)continue;U(document,{testId:i.id,hypothesisId:n.id,selectors:p},b=>{this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(!n.domSelectors||n.domSelectors.length===0){this.log("No selectors found, skipping hypothesis");continue}U(document,{testId:i.id,hypothesisId:n.id,selectors:n.domSelectors},p=>{this.queueAddVisitorToTest(p,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()})}}considerRedirect(e){if(this.log("Considering redirect for hypothesis '%s'",e.id),e.isControl)return this.log("Skipping redirect for control"),!1;if(e.type==="basicScript"||e.type==="manualScript")return this.log("Skipping redirect for script test"),!1;const t=this.state.essential.visitorTests.find(o=>o.hypothesisId===e.id),i=new URL(window.location.toString()),r=new URLSearchParams(window.location.search).get("view");if(e.type==="theme"){if(!(e.themeId===themeId)){if(this.log("Theme id '%s' is not hypothesis theme ID '%s'",e.themeId,themeId),this.isAppProxyPath())return this.log("On App Proxy path, skipping theme redirect to avoid infinite loop"),!1;if(t&&t.themeId!==e.themeId&&(t.themeId===themeId||!this.isThemePreview()))this.log("On old theme, redirecting and updating local visitor"),t.themeId=e.themeId;else if(this.isThemePreview())return this.log("On non-test theme, skipping redirect"),!1;return this.log("Hiding page to redirect for theme test"),this.hidePage(),!0}return!1}else if(e.type!=="dom"&&e.type!=="price"&&e.affix!==template.suffix&&e.affix!==r||e.redirectPath&&!i.pathname.endsWith(e.redirectPath))return this.log("Hiding page to redirect for template test"),this.hidePage(),!0;return this.log("Not redirecting"),!1}redirect(e){if(this.log("Redirecting to hypothesis '%s'",e.id),e.isControl)return;const t=new URL(window.location.toString());if(t.searchParams.delete("view"),e.redirectPath){const n=RegExp("^(/w{2}-w{2})/").exec(t.pathname);if(n&&n.length>1){const l=n[1];t.pathname=`${l}${e.redirectPath}`}else t.pathname=e.redirectPath}else e.type==="theme"?(t.searchParams.set("_ab","0"),t.searchParams.set("_fd","0"),t.searchParams.set("_sc","1"),t.searchParams.set("preview_theme_id",e.themeId.toString())):e.type!=="urlRedirect"&&t.searchParams.set("view",e.affix);const i=this.state.essential.visitorTests.find(n=>n.hypothesisId===e.id)?.testId,s=t.pathname+t.search,r=window.location.pathname+window.location.search,o=K(t.hash);if(i&&s!==r&&!o){const n=qe(),l=He({v:2,t:i,n,fh:Me(window.location.pathname+window.location.search)});t.hash=`slr-${n}`;const c=new Date(Date.now()+3e4).toUTCString();document.cookie=`shoplift_redirect=${l};domain=.${window.location.hostname};path=/;SameSite=Strict;expires=${c}`}s===r&&this.showPage(),this.queueRedirect(t)}async refreshVisitor(e){if(e===null||!this.state.essential.isFirstLoad||!this.testConfigs.some(i=>i.visitorOption!=="all"))return;this.log("Refreshing visitor"),this.hidePage();const t=await this.getVisitor(e);t&&t.id&&this.updateLocalVisitor(t)}buildBaseVisitor(){return{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.device,country:null,...this.state.essential.initialState}}getInitialState(){const e=this.getUTMValue("utm_source")??"",t=this.getUTMValue("utm_medium")??"",i=this.getUTMValue("utm_campaign")??"",s=this.getUTMValue("utm_content")??"",r=window.document.referrer,o=this.device;return{createdAt:new Date,utmSource:e,utmMedium:t,utmCampaign:i,utmContent:s,referrer:r,device:o}}checkForThemePreview(){return this.log("Checking for theme preview"),window.location.hostname.endsWith(".shopifypreview.com")?(this.log("on shopify preview domain"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!1):this.isThemePreview()?this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("On active theme test, remov
10ing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&!this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("Visitor is on an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.state.essential.isFirstLoad?(this.log("No visitor found on theme preview, redirecting to main theme"),this.redirectToMainTheme(),!0):this.inactiveTestConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Current theme is an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.testConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Falling back to clearing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):(this.log("No tests on current theme, skipping script"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!0):(this.log("Not on theme preview"),this.clearThemeBar(!0,!1,this.state),!1)}redirectToMainTheme(){this.hidePage();const e=new URL(window.location.toString());e.searchParams.set("preview_theme_id",""),this.queueRedirect(e)}testsForUrl(e){const t=new URL(window.location.href),i=this.typeFromTemplate();return e.filter(s=>s.hypotheses.some(r=>r.type!=="dom"&&r.type!=="price"&&(r.isControl&&r.type===i&&r.affix===template.suffix||r.type==="theme"||r.isControl&&r.type==="urlRedirect"&&r.redirectPath&&t.pathname.endsWith(r.redirectPath)||r.type==="basicScript"))&&(s.ignoreTestViewParameterEnforcement||!t.searchParams.has("view")||s.hypotheses.map(r=>r.affix).includes(t.searchParams.get("view")??"")))}domTestsForUrl(e){const t=new URL(window.location.href);return e.filter(i=>i.hypotheses.some(s=>s.type!=="dom"&&s.type!=="price"?!1:s.type==="price"&&s.priceData&&s.priceData.variants.length>0?!0:s.domSelectors&&s.domSelectors.some(r=>new RegExp(se(r)).test(K(t.toString())))))}async filterTestsByAudience(e,t,i){const s=[],r=e.some(n=>(n.requiresRegion||this.geoViaShopify&&n.requiresCountry)&&!i.some(l=>l.testId===n.id));this.resolvedRegion===null&&r&&(this.log("Hiding page to wait for Shopify region resolution"),this.hidePage(),await this.waitForResolvedRegion()),window.__slRegion=this.resolvedRegion??"";let o=t.country;this.geoViaShopify?o=this.resolvedRegion?this.resolvedRegion.slice(0,2):o:!o&&e.some(n=>n.requiresCountry&&!i.some(l=>l.testId===n.id))&&(this.log("Hiding page to check geoip"),this.hidePage(),o=await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/get-country`,signal:AbortSignal.timeout(this.getCountryTimeout)}).catch(n=>(this.log("Error getting country",n),null)));for(const n of e){if(this.log("Checking audience for test '%s'",n.id),this.state.essential.visitorTests.some(d=>d.testId===n.id&&d.hypothesisId==null)){console.log(`Skipping blocked test '${n.id}'`);continue}const l=this.visitorCreatedDuringTestActive(n.statusHistory);(i.some(d=>d.testId===n.id&&(n.device==="all"||n.device===t.device&&n.device===this.device))||this.isTargetAudience(n,t,l,o))&&(this.log("Visitor is in audience for test '%s'",n.id),s.push(n))}this.testsFilteredByAudience=s}async waitForResolvedRegion(e=1500,t=50){const i=Date.now();for(;this.resolvedRegion===null&&Date.now()-i<e;)await new Promise(s=>window.setTimeout(s,t))}isTargetAudience(e,t,i,s){const r=this.getChannel(t);return(e.device==="all"||e.device===t.device&&e.device===this.device)&&(e.visitorOption==="all"||e.visitorOption==="new"&&i||e.visitorOption==="returning"&&!i)&&(e.targetAudiences.length===0||e.targetAudiences.reduce((o,n)=>o||n.reduce((l,c)=>l&&c(t,i,r,s),!0),!1))}visitorCreatedDuringTestActive(e){let t="";for(const i of e){if(this.state.analytics.visitor!==null&&this.state.analytics.visitor.createdAt<i.createdAt||this.state.essential.initialState.createdAt<i.createdAt)break;t=i.status}return t==="active"}getDomTestsForCurrentUrl(){return this.domTestsForUrl(this.testsFilteredByAudience)}getCurrentVisitorHypothesis(e){return e.flatMap(t=>t.hypotheses).find(t=>t.type!=="dom"&&t.type!=="price"&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getVisitorDomHypothesis(e){return e.flatMap(t=>t.hypotheses).filter(t=>(t.type==="dom"||t.type==="price")&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getHypothesis(e){return this.testConfigs.filter(t=>t.hypotheses.some(i=>i.id===e)).map(t=>t.hypotheses.find(i=>i.id===e))[0]}getActiveAssignment(){if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;return t.currentVariant&&t.testId?{testId:t.testId,hypothesisId:t.currentVariant}:null}const e=this.state.essential.visitorTests.find(t=>t.hypothesisId);return e?.hypothesisId?{testId:e.testId,hypothesisId:e.hypothesisId}:null}findActiveSubscriptionTestControl(){for(const e of this.testConfigs){const t=e.hypotheses.find(i=>i.isControl);if(t?.subscriptionData)return{testId:e.id,hypothesis:t}}return null}getDomSelectorsForHypothesis(e){if(!e)return[];if(e.domSelectors&&e.domSelectors.length>0)return e.domSelectors;if(e.priceData){const t=`${this.priceSelectorsSessionKey}_${e.id}`;try{const s=sessionStorage.getItem(t);if(s){const r=JSON.parse(s);return e.domSelectors=r,this.log("Loaded %d price selectors from cache for hypothesis '%s'",r.length,e.id),r}}catch{}const i=$e(e.priceData);e.domSelectors=i;try{sessionStorage.setItem(t,JSON.stringify(i)),this.log("Generated and cached %d price selectors for hypothesis '%s'",i.length,e.id)}catch{this.log("Generated %d price selectors for hypothesis '%s' (cache unavailable)",i.length,e.id)}return i}return[]}hasThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type==="theme"))}hasTestThatIsNotThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type!=="theme"&&i.type!=="dom"&&i.type!=="price"))}hasThemeAndOtherTestTypes(e){return this.hasThemeTest(e)&&this.hasTestThatIsNotThemeTest(e)}testIsPaused(e){return e.status==="paused"||e.status==="incompatible"||e.status==="suspended"}visitorActiveTestType(){const e=this.state.essential.visitorTests.filter(t=>this.testConfigs.some(i=>i.hypotheses.some(s=>s.id==t.hypothesisId)));return e.length===0?null:e.some(t=>t.isThemeTest)?"theme":"templateOrUrlRedirect"}getReservationType(e){return e==="price"||this.isTemplateTestType(e)?"deferred":"immediate"}isTemplateTestType(e){return["product","collection","landing","index","cart","search","blog","article","collectionList"].includes(e)}getEntryCriteriaKey(e){const t=e.hypotheses.find(i=>i.isControl);if(!t)return`unknown:${e.id}`;switch(t.type){case"theme":return"global:theme";case"basicScript":return"global:autoApi";case"price":return"global:price";case"manualScript":return`conditional:manualApi:${e.id}`;case"urlRedirect":return`conditional:url:${t.redirectPath||"unknown"}`;default:return`conditional:template:${t.type}`}}isGlobalEntryCriteria(e){return e.startsWith("global:")}groupTestsByEntryCriteria(e){const t=new Map;for(const i of e){const s=this.getEntryCriteriaKey(i),r=t.get(s)||[];r.push(i),t.set(s,r)}return t}doesCurrentPageMatchEntryCriteria(e){if(this.isGlobalEntryCriteria(e))return!0;
10if(e==="conditional:manualApi")return!1;if(e.startsWith("conditional:url:")){const t=e.replace("conditional:url:","");return window.location.pathname.endsWith(t)}if(e.startsWith("conditional:template:")){const t=e.replace("conditional:template:","");return this.typeFromTemplate()===t}return!1}hasActiveReservation(){const e=this.getActiveReservations();return Object.values(e).some(t=>!t.isRealized)}getActiveReservation(){const e=this.getActiveReservations();return Object.values(e).find(t=>!t.isRealized)??null}clearStaleReservations(){const e=this.state.temporary.testReservations;if(!e)return;let t=!1;for(const[i,s]of Object.entries(e)){const r=this.testConfigs.find(n=>n.id===s.testId);if(!r){this.log("Test '%s' no longer in config, clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0;continue}if(r.status!=="active"){this.log("Test '%s' status is '%s', clearing reservation for criteria '%s'",s.testId,r.status,i),delete e[i],t=!0;continue}this.testsFilteredByAudience.some(n=>n.id===s.testId)||(this.log("Visitor no longer passes audience for test '%s', clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0)}t&&this.persistTemporaryState()}createReservations(e){if(this.state.temporary.testReservations||(this.state.temporary.testReservations={}),this.state.temporary.rolledEntryCriteria||(this.state.temporary.rolledEntryCriteria=[]),this.state.temporary.testCategory==="global"){this.createSingleReservation(e,"global");return}const i=e.filter(n=>this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n))),s=e.filter(n=>!this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n)));this.log("Conditional tests split - matching current page: %d, not matching: %d",i.length,s.length),i.length>0&&this.log("Tests matching current page (same pool): %o",i.map(n=>({id:n.id,title:n.title,criteria:this.getEntryCriteriaKey(n)})));const r=`conditional:current-page:${this.typeFromTemplate()}`;if(i.length>0&&!this.state.temporary.rolledEntryCriteria.includes(r)){this.createSingleReservation(i,r);for(const n of i){const l=this.getEntryCriteriaKey(n);this.state.temporary.rolledEntryCriteria.includes(l)||this.state.temporary.rolledEntryCriteria.push(l)}}const o=this.groupTestsByEntryCriteria(s);for(const[n,l]of o){if(this.state.temporary.rolledEntryCriteria.includes(n)){this.log("Already rolled for criteria '%s', skipping",n);continue}if(l.some(S=>this.state.essential.visitorTests.some(C=>C.testId===S.id))){this.log("Visitor already has VT for criteria '%s', skipping",n),this.state.temporary.rolledEntryCriteria.push(n);continue}const d=[...l].sort((S,C)=>S.id.localeCompare(C.id));this.log("Test dice roll for criteria '%s' - available tests: %o",n,d.map(S=>({id:S.id,title:S.title})));const u=Math.floor(Math.random()*d.length),h=d[u];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",u+1,l.length,h.id,h.title);const p=this.pickHypothesis(h);if(!p){this.log("No hypothesis picked for test '%s'",h.id);continue}this.sendDiagnosticTelemetry("assignment",h.id,{hypothesisId:p.id,isControl:p.isControl,testType:p.type});const b=this.getReservationType(p.type),E={testId:h.id,hypothesisId:p.id,testType:p.type,reservationType:b,isThemeTest:p.type==="theme",themeId:p.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:n};this.state.temporary.testReservations[n]=E,this.state.temporary.rolledEntryCriteria.push(n),this.log("Created %s reservation for test '%s' (criteria: %s)",b,h.id,n);for(const S of l)S.id!==h.id&&this.markTestAsBlocked(S,n)}this.persistTemporaryState()}createSingleReservation(e,t){if(this.state.temporary.rolledEntryCriteria.includes(t)){this.log("Already rolled for pool '%s', skipping",t);return}if(e.some(u=>this.state.essential.visitorTests.some(h=>h.testId===u.id&&!h.isInvalid))){this.log("Visitor already has VT for pool '%s', skipping",t),this.state.temporary.rolledEntryCriteria.push(t);return}if(e.length===0){this.log("No tests in pool '%s'",t);return}const s=[...e].sort((u,h)=>u.id.localeCompare(h.id));this.log("Test dice roll for pool '%s' - available tests: %o",t,s.map(u=>({id:u.id,title:u.title,criteria:this.getEntryCriteriaKey(u)})));const r=Math.floor(Math.random()*s.length),o=s[r];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",r,e.length,o.id,o.title);const n=this.pickHypothesis(o);if(!n){this.log("No hypothesis picked for test '%s'",o.id);return}this.sendDiagnosticTelemetry("assignment",o.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const l=this.getReservationType(n.type),c=this.getEntryCriteriaKey(o),d={testId:o.id,hypothesisId:n.id,testType:n.type,reservationType:l,isThemeTest:n.type==="theme",themeId:n.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:c};this.state.temporary.testReservations[c]=d,this.state.temporary.rolledEntryCriteria.push(t),this.log("Created %s reservation for test '%s' from pool '%s' (criteria: %s)",l,o.id,t,c);for(const u of e)u.id!==o.id&&this.markTestAsBlocked(u,`pool:${t}`);this.persistTemporaryState()}markTestAsBlocked(e,t){this.state.essential.visitorTests.some(i=>i.testId===e.id)||(this.log("Blocking visitor from test '%s' (reason: %s)",e.id,t),this.state.essential.visitorTests.push({createdAt:new Date,testId:e.id,hypothesisId:null,isThemeTest:e.hypotheses.some(i=>
10i.type==="theme"),shouldSendToGa:!1,isSaved:!0,isInvalid:!0,themeId:void 0}))}realizeReservationForCriteria(e){const t=this.state.temporary.testReservations?.[e];if(!t)return this.log("No reservation found for criteria '%s'",e),!1;if(t.isRealized)return this.log("Reservation already realized for criteria '%s'",e),!1;if(this.state.essential.visitorTests.some(s=>s.testId===t.testId&&!s.isInvalid))return this.log("Visitor already assigned to test '%s'",t.testId),!1;const i=this.getHypothesis(t.hypothesisId);return i?(t.isRealized=!0,this.persistTemporaryState(),this.queueAddVisitorToTest(t.testId,i),this.saveState(),this.log("Realized reservation for test '%s' (criteria: %s)",t.testId,e),!0):(this.log("Hypothesis '%s' not found",t.hypothesisId),!1)}getActiveReservations(){return this.state.temporary.testReservations??{}}getReservationForCurrentPage(){const e=this.getActiveReservations();for(const[t,i]of Object.entries(e)){if(i.isRealized)continue;const s=this.testConfigs.find(r=>r.id===i.testId);if(!(!s||s.status!=="active")&&this.doesCurrentPageMatchEntryCriteria(t))return i}return null}getReservationForTest(e){const t=this.getActiveReservations();return Object.values(t).find(i=>i.testId===e)??null}getReservationTestType(){const e=this.getActiveReservations(),t=Object.values(e);if(t.length===0)return null;for(const i of t)if(i.isThemeTest)return"theme";for(const i of t)if(i.testType==="price")return"price";return t.some(i=>!i.isRealized)?"templateOrUrlRedirect":null}hasPriceTests(e){return e.some(t=>t.hypotheses.some(i=>i.type==="price"))}_priceTestProductIds=null;getPriceTestProductIds(){if(this._priceTestProductIds)return this._priceTestProductIds;const e=new Set;for(const t of this.testConfigs)for(const i of t.hypotheses)if(i.type==="price"){for(const s of i.domSelectors||[]){const r=s.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);r?.[1]&&e.add(r[1])}if(i.priceData?.variants)for(const[s]of i.priceData.variants)e.add(s)}return this._priceTestProductIds=e,this.log("Built price test product ID cache with %d products",e.size),e}isProductInAnyPriceTest(e){return this.getPriceTestProductIds().has(e)}visitorActiveTestTypeWithReservations(){const e=this.getActiveReservations();for(const r of Object.values(e)){if(r.isThemeTest)return"theme";if(r.testType==="price")return"price"}if(Object.values(e).some(r=>!r.isRealized)){if(this.state.temporary.testCategory==="global")for(const o of Object.values(e)){if(o.testType==="theme")return"theme";if(o.testType==="price")return"price";if(o.testType==="basicScript")return"theme"}return"templateOrUrlRedirect"}const i=this.state.essential.visitorTests.filter(r=>!r.isInvalid&&this.testConfigs.some(o=>o.hypotheses.some(n=>n.id===r.hypothesisId)));return i.length===0?null:i.some(r=>this.getHypothesis(r.hypothesisId)?.type==="price")?"price":i.some(r=>r.isThemeTest)?"theme":"templateOrUrlRedirect"}applyControlForAudienceFilteredPriceTests(){const e=this.testConfigs.filter(s=>s.status==="active"&&s.hypotheses.some(r=>r.type==="price"));if(e.length===0)return;const t=this.testsFilteredByAudience.filter(s=>s.hypotheses.some(r=>r.type==="price")),i=e.filter(s=>!t.some(r=>r.id===s.id));if(i.length!==0){this.log("Found %d price tests filtered by audience, applying control selectors",i.length);for(const s of i){const r=s.hypotheses.find(c=>c.isControl),o=this.getDomSelectorsForHypothesis(r);if(o.length===0){this.log("No control selectors for audience-filtered price test '%s'",s.id);continue}const n=new URL(window.location.href);o.some(c=>{try{return new RegExp(se(c)).test(K(n.toString()))}catch{return!1}})&&(this.log("Applying control selectors for audience-filtered price test '%s'",s.id),U(document,{testId:s.id,hypothesisId:r.id,selectors:o},()=>{}),this.updatePriceTestHiddenInputs(s.id,"control",!1))}}}pickHypothesis(e){let t=Math.random();const i=e.hypotheses.reduce((r,o)=>r+o.visitorCount,0);return e.hypotheses.sort((r,o)=>r.isControl?o.isControl?0:-1:o.isControl?1:0).reduce((r,o)=>{if(r!==null)return r;const l=e.hypotheses.reduce((c,d)=>c&&d.visitorCount>20,!0)?o.visitorCount/i-o.trafficPercentage:0;return t<=o.trafficPercentage-l?o:(t-=o.trafficPercentage-l,null)},null)}typeFromTemplate(){switch(template.type){case"list-collections":return"collectionList";case"page":return"landing";case"article":case"blog":case"cart":case"collection":case"index":case"product":case"search":return template.type;default:return null}}queueRedirect(e){this.saveState(),this.disableReferrerOverride||(this.log(`Saving temporary referrer override '${document.referrer}'`),this.state.temporary.originalReferrer=document.referrer,this.persistTemporaryState()),window.setTimeout(()=>window.location.assign(e),0),window.setTimeout(()=>{this.syncAllEvents()},2e3)}scheduleRetrySync(){this.clientIdRetryCount>=5||(this.clientIdRetryCount++,window.setTimeout(()=>{this.syncAllEvents()},500))}async syncAllEvents(){const e=async()=>
10{if(this.isSyncing){window.setTimeout(()=>{(async()=>await e())()},500);return}try{if(this.isSyncing=!0,this.syncGAEvents(),this.shopifyAnalyticsId||(this.shopifyAnalyticsId=this.getShopifyAnalyticsId()),!this.shopifyAnalyticsId){this.scheduleRetrySync();return}await this.syncEvents()}finally{this.isSyncing=!1}};await e()}async syncEvents(){if(!this.state.essential.consentApproved||!this.shopifyAnalyticsId||this.state.analytics.queue.length===0)return;const e=this.state.analytics.queue.length,t=this.state.analytics.queue.splice(0,e);this.log("Syncing %s events",e);try{const i={shop:this.shop,visitorDetails:{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.state.analytics.visitor?.device??this.device,country:this.state.analytics.visitor?.country??null,...this.state.essential.initialState},events:this.state.essential.visitorTests.filter(r=>!r.isInvalid&&!r.isSaved&&r.hypothesisId!=null).map(r=>new be(r.testId,r.hypothesisId,r.createdAt)).concat(t)};await this.sendEvents(i);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved&&o.hypothesisId!=null))this.sendDiagnosticTelemetry("event-delivered",r.testId,{hypothesisId:r.hypothesisId,isControl:r.assignedTo==="control",testType:r.testType??"unknown"});const s=await this.getVisitor(this.shopifyAnalyticsId);s!==null&&this.updateLocalVisitor(s);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved))r.isSaved=!0,r.savedAt=Date.now()}catch{this.state.analytics.queue.splice(0,0,...t)}finally{this.saveState()}}syncGAEvents(){if(!this.gaConfig.sendEvents){if(he)return;he=!0,this.log("UseGtag is false — skipping GA Events");return}if(this.isSyncingGA){this.log("Already syncing GA - skipping GA events");return}const e=this.state.essential.visitorTests.filter(t=>t.shouldSendToGa);e.length!==0&&(this.isSyncingGA=!0,this.log("Syncing %s GA Events",e.length),Promise.allSettled(e.map(t=>this.sendGAEvent(t))).then(()=>this.log("All gtag events sent")).finally(()=>this.isSyncingGA=!1))}sendGAEvent(e){return new Promise(t=>{this.log("Sending GA Event for test %s, hypothesis %s",e.testId,e.hypothesisId);const i=()=>{this.log("GA acknowledged event for hypothesis %s",e.hypothesisId),e.shouldSendToGa=!1,this.persistEssentialState(),t()},s={exp_variant_string:`SL-${e.testId}-${e.hypothesisId}`};
10this.shopliftDebug&&Object.assign(s,{debug_mode:!0});function r(o,n,l){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}this.gaConfig.mode==="gtag"?r("event","experience_impression",{...s,event_callback:i}):(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"experience_impression",...s,eventCallback:i}))})}updateLocalVisitor(e){let t;({visitorTests:t,...this.state.analytics.visitor}=e),this.log("updateLocalVisitor - server returned %d tests: %o",t.length,t.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isInvalid:s.isInvalid}))),this.log("updateLocalVisitor - local has %d tests: %o",this.state.essential.visitorTests.length,this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid})));const i=300*1e3;for(const s of this.state.essential.visitorTests.filter(r=>r.isSaved&&(!r.savedAt||Date.now()-r.savedAt>i)&&!t.some(o=>o.testId===r.testId)))this.log("updateLocalVisitor - marking LOCAL test as INVALID (isSaved && not in server): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),s.isInvalid=!0;for(const s of t){const r=this.state.essential.visitorTests.findIndex(n=>n.testId===s.testId);if(!(r!==-1))this.log("updateLocalVisitor - ADDING server test (not found locally): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),this.state.essential.visitorTests.push(s);else{const n=this.state.essential.visitorTests.at(r);this.log("updateLocalVisitor - REPLACING local test with server test: testId=%s, local hypothesisId=%s -> server hypothesisId=%s, local isInvalid=%s -> false",s.testId,n?.hypothesisId,s.hypothesisId,n?.isInvalid),s.isInvalid=!1,s.shouldSendToGa=n?.shouldSe
10ndToGa??!1,s.testType=n?.testType,s.assignedTo=n?.assignedTo,s.testTitle=n?.testTitle,this.state.essential.visitorTests.splice(r,1,s)}}this.log("updateLocalVisitor - FINAL local tests: %o",this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid}))),this.state.analytics.visitor.storedAt=new Date}async getVisitor(e){try{return await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/by-key/${this.shop}/${e}`})}catch{return null}}async sendEvents(e){await this.makeRequest({method:"post",url:`${this.eventHost}/api/v0/events`,data:JSON.stringify(e)})}sendDiagnosticTelemetry(e,t,i){if(!this.telemetryEnabled||!navigator.sendBeacon)return;const s=this.state.essential.consentApproved,r=JSON.stringify({shop:this.shop,testId:t,checkpoint:e,device:this.device,...s?{visitorId:this.shopifyAnalyticsId??"unknown"}:{},clientTimestamp:Date.now(),consentApproved:s,hasConsentInteraction:this.state.essential.hasConsentInteraction,...i});navigator.sendBeacon(`${this.eventHost}/api/v0/telemetry`,new Blob([r],{type:"text/plain"}))}getUTMValue(e){const i=decodeURIComponent(window.location.search.substring(1)).split("&");for(let s=0;s<i.length;s++){const r=i[s].split("=");if(r[0]===e)return r[1]||null}return null}hidePage(e){this.log("Hiding page"),this.cssHideClass&&!window.document.documentElement.classList.contains(this.cssHideClass)&&(window.document.documentElement.classList.add(this.cssHideClass),e||setTimeout(this.removeAsyncHide(this.cssHideClass),2e3))}showPage(){this.cssHideClass&&this.removeAsyncHide(this.cssHideClass)()}getDeviceType(){function e(){let i=!1;return(function(s){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}function t(){let i=!1;return(function(s){(/android|ipad|playbook|silk/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
10sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}return e()?"mobile":t()?"tablet":"desktop"}removeAsyncHide(e){return()=>{e&&window.document.documentElement.classList.remove(e)}}async getCartState(){try{let e=await this.makeJsonRequest({method:"get",url:`${window.location.origin}/cart.js`});return e===null||(e.note===null&&(e=await this.makeJsonRequest({method:"post",url:`${window.location.origin}/cart/update.js`,data:JSON.stringify({note:""})})),e==null)?null:{token:e.token,total_price:e.total_price,total_discount:e.total_discount,currency:e.currency,items_subtotal_price:e.items_subtotal_price,items:e.items.map(t=>({quantity:t.quantity,variant_id:t.variant_id,key:t.key,price:t.price,final_line_price:t.final_line_price,sku:t.sku,product_id:t.product_id}))}}catch(e){return this.log("Error sending cart info",e),null}}ensureCartAttributesForExistingPriceTests(e){try{if(this.log("Checking visitor assignments for active price tests"),e&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;this.log("Using preview config for merchant:",t.testId);let i="variant";if(t.variants&&t.variants.length>0){const s=t.variants.find(r=>r.id===t.currentVariant);s&&s.isControl&&(i="control")}this.log("Merchant preview - updating hidden inputs:",t.testId,i),this.updatePriceTestHiddenInputs(t.testId,i,!0);return}for(const t of this.state.essential.visitorTests){const i=this.testConfigs.find(o=>o.id===t.testId);if(!i){this.log("Test config not found:",t.testId);continue}const s=i.hypotheses.find(o=>o.id===t.hypothesisId);if(!s||s.type!=="price")continue;const r=s.isControl?"control":"variant";this.log("Updating hidden inputs for price test:",t.testId,r),this.updatePriceTestHiddenInputs(t.testId,r,e)}}catch(t){this.log("Error ensuring cart attributes for existing price tests:",t)}}subscriptionSwapDone=!1;subscriptionHideWrongPlans=null;subscriptionPriceDone=!1;subscriptionUpdateOneTime=null;subscriptionOneTimeDone=!1;swapMap=null;slptValue=null;async subscriptionSwap(){await Ue(this)}async subscriptionPriceChange(){await ze(this)}async subscriptionOneTimePrice(){await We(this)}updatePriceTestHiddenInputs(e,t,i){try{this.cleanupPriceTestObservers();const s=`${e}:${t}:${i?"t":"f"}`,r=T=>{const m=T.getAttribute("data-sl-pid");if(!m)return!0;if(i&&this.state.temporary.previewConfig){const w=this.state.temporary.previewConfig,I=t==="control"?"a":"b",f=w.variants.find(v=>v.label===I);if(!f)return!1;for(const v of f.domSelectors||[]){const g=v.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(g){const P=g[1];if(this.log(`Extracted ID from selector: ${P}, comparing to: ${m}`),P===m)return this.log("Product ID match found in preview config:",m,"variant:",f.label),!0}else this.log(`Could not extract ID from selector: ${v.cssSelector}`)}return this.log("No product ID match in preview config for:",m,"variant:",I),!1}const y=this.testConfigs.find(w=>w.id===e);if(!y)return this.log("Test config not found for testId:",e),!1;for(const w of y.hypotheses||[]){for(const I of w.domSelectors||[]){const f=I.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(f&&f[1]===m)return this.log("Product ID match found in domSelectors:",m,"for test:",e),!0}if(w.priceData?.variants){for(const I of w.priceData.variants)if(I[0]===m)return this.log("Product ID match found in priceData:",m,"for test:",e),!0}}return this.log("No product ID match for:",m,"in test:",e),!1},o=new Set;let n=!1,l=null;const c=(T,m)=>{if(document.querySelectorAll("[data-sl-attribute-p]").forEach(w=>{if(w instanceof Element&&w.nodeType===Node.ELEMENT_NODE&&w.isConnected&&document.contains(w))try{T.observe(w,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(I){this.log(`Failed to observe element (${m}):`,I)}}),document.body&&document.body.isConnected)try{T.observe(document.body,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(w){this.log(`Failed to observe document.body (${m}):`,w)}},d=(T,m,y,w)=>{const I=T.filter(f=>{const v=f.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);return v&&v[1]===w});this.log(`Applying ${y} DOM selectors, total: ${T.length}, filtered: ${I.length}`),I.length>0&&U(document,{testId:e,hypothesisId:m,selectors:I})},u=(T,m)=>{this.log(`Applying DOM selector changes for product ID: ${T}`),m.disconnect(),n=!0;try{if(i&&this.state.temporary.previewConfig){const y=t==="control"?"a":"b",w=this.state.temporary.previewConfig.variants.find(I=>I.label===y);if(!w?.domSelectors){this.log(`No DOM selectors found for preview variant: ${y}`);return}d(w.domSelectors,w.id,"preview config",T)}else{const y=this.testConfigs.find(I=>I.id===e);if(!y){this.log(`No test config found for testId: ${e}`);return}const w=y.hypotheses.find(I=>t==="control"?I.isControl:!I.isControl);if(!w?.domSelectors){this.log(`No DOM selectors found for assignment: ${t}`);return}d(w.domSelectors,w.id,"live config",T)}}finally{l!==null&&clearTimeout(l),l=window.setTimeout(()=>{n=!1,l=null,c(m,"reconnection"),this.log("Re-established innerHTML observer after DOM changes")}
10,50)}},h=new MutationObserver(T=>{if(!n)for(const m of T){if(m.type!=="childList"&&m.type!=="characterData")continue;let y=m.target;m.type==="characterData"&&(y=m.target.parentElement||m.target.parentNode);let w=y,I=w.getAttribute("data-sl-attribute-p");for(;!I&&w.parentElement;)w=w.parentElement,I=w.getAttribute("data-sl-attribute-p");if(!I)continue;const f=w.innerHTML||w.textContent||"";let v="";m.type==="characterData"&&m.oldValue!==null&&(v=m.oldValue),this.log(`innerHTML changed on element with data-sl-attribute-p="${I}"`),v&&this.log(`Previous content: "${v}"`),this.log(`Current content: "${f}"`),u(I,h)}});c(h,"initial setup"),o.add(h);const p=new MutationObserver(T=>{T.forEach(m=>{m.addedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){const w=y;E(w);const I=w.matches('input[name="properties[_slpt]"]')?[w]:w.querySelectorAll('input[name="properties[_slpt]"]');I.length>0&&this.log(`MutationObserver found ${I.length} new hidden input(s)`),I.forEach(f=>{const v=f.getAttribute("data-sl-pid");if(this.log(`MutationObserver checking new input with data-sl-pid="${v}"`),r(f))f.value!==s&&(f.value=s,this.log("Updated newly added hidden input:",s)),S(f);else{const g=f.getAttribute("data-sl-pid");g&&this.isProductInAnyPriceTest(g)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",g):(f.remove(),this.log("Removed newly added non-matching hidden input for product ID:",g))}})}})})});o.add(p);const b=new MutationObserver(T=>{T.forEach(m=>{if(m.type==="attributes"&&m.attributeName==="data-sl-pid"){const y=m.target;if(this.log("AttributeObserver detected data-sl-pid attribute change on:",y.tagName),y.matches('input[name="properties[_slpt]"]')){const w=y,I=m.oldValue,f=w.getAttribute("data-sl-pid");this.log(`data-sl-pid changed from "${I}" to "${f}" - triggering payment placement updates`),r(w)?(w.value!==s&&(w.value=s,this.log("Updated hidden input after data-sl-pid change:",s)),f&&u(f,h),this.log("Re-running payment placement updates after variant change"),E(document.body)):f&&this.isProductInAnyPriceTest(f)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",f):(w.remove(),this.log("Removed non-matching hidden input after data-sl-pid change:",f))}}})});o.add(b);const E=T=>{T.tagName==="SHOPIFY-PAYMENT-TERMS"&&(this.log("MutationObserver found new shopify-payment-terms element"),this.updateShopifyPaymentTerms(e,t));const m=T.querySelectorAll("shopify-payment-terms");m.length>0&&(this.log(`MutationObserver found ${m.length} shopify-payment-terms in added node`),this.updateShopifyPaymentTerms(e,t)),T.tagName==="AFTERPAY-PLACEMENT"&&(this.log("MutationObserver found new afterpay-placement element"),this.updateAfterpayPlacements(e,t,"afterpay"));const y=T.querySelectorAll("afterpay-placement");y.length>0&&(this.log(`MutationObserver found ${y.length} afterpay-placement in added node`),this.updateAfterpayPlacements(e,t,"afterpay")),T.tagName==="SQUARE-PLACEMENT"&&(this.log("MutationObserver found new square-placement element"),this.updateAfterpayPlacements(e,t,"square"));const w=T.querySelectorAll("square-placement");w.length>0&&(this.log(`MutationObserver found ${w.length} square-placement in added node`),this.updateAfterpayPlacements(e,t,"square")),T.tagName==="KLARNA-PLACEMENT"&&(this.log("MutationObserver found new klarna-placement element"),this.updateKlarnaPlacements(e,t));const I=T.querySelectorAll("klarna-placement");I.length>0&&(this.log(`MutationObserver found ${I.length} klarna-placement in added node`),this.updateKlarnaPlacements(e,t))},S=T=>{b.observe(T,{attributes:!0,attributeFilter:["data-sl-pid"],attributeOldValue:!0,subtree:!1});const m=T.getAttribute("data-sl-pid");this.log(`Started AttributeObserver on specific input with data-sl-pid="${m}"`)},C=()=>{const T=document.querySelectorAll('input[name="properties[_slpt]"]');this.log(`Found ${T.length} existing hidden inputs to check`),T.forEach(m=>{const y=m.getAttribute("data-sl-pid");this.log(`Checking existing input with data-sl-pid="${y}"`),r(m)?(m.value=s,this.log("Updated existing hidden input:",s),y&&(this.log("Applying initial DOM selector changes for existing product"),u(y,h)),S(m)):y&&this.isProductInAnyPriceTest(y)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",
10y):(m.remove(),this.log("Removed non-matching hidden input for product ID:",y))})},_=()=>{document.body?(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver on document.body"),C(),E(document.body)):document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{document.body&&(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver after DOMContentLoaded"),C(),E(document.body))}):(this.log("Set timeout on observer"),setTimeout(_,10))};_(),window.__shopliftPriceTestObservers=o,window.__shopliftPriceTestValue=s,this.log("Set up DOM observer for price test hidden inputs")}catch(s){this.log("Error updating price test hidden inputs:",s)}}updateKlarnaPlacements(e,t){this.updatePlacementElements(e,t,"klarna-placement",(i,s)=>{i.setAttribute("data-purchase-amount",s.toString())})}cleanupPriceTestObservers(){const e=window.__shopliftPriceTestObservers;e&&(e.forEach(t=>{t.disconnect()}),e.clear(),this.log("Cleaned up existing price test observers")),delete window.__shopliftPriceTestObservers,delete window.__shopliftPriceTestValue}updateAfterpayPlacements(e,t,i="afterpay"){const s=i==="square"?"square-placement":"afterpay-placement";if(document.querySelectorAll(s).length===0){this.log(`No ${s} elements found on page - early return`);return}this.updatePlacementElements(e,t,s,(o,n)=>{if(i==="afterpay"){const l=(n/100).toFixed(2);o.setAttribute("data-amount",l)}else o.setAttribute("data-amount",n.toString())}),this.log("updateAfterpayPlacements completed")}updatePlacementElements(e,t,i,s){const r=document.querySelectorAll(i);if(r.length===0){this.log(`No ${i} elements found - early return`);return}let o;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const l=t==="control"?"a":"b",c=this.state.temporary.previewConfig.variants.find(d=>d.label===l);if(!c?.domSelectors){this.log(`No variant found for label ${l} in preview config for ${i}`);return}o=c.domSelectors,this.log(`Using preview config for ${i} in merchant mode, variant: ${l}`)}else{const l=this.testConfigs.find(d=>d.id===e);if(!l){this.log(`No testConfig found for id: ${e} - early return`);return}
10const c=l.hypotheses.find(d=>t==="control"?d.isControl:!d.isControl);if(!c?.domSelectors){this.log(`No hypothesis or domSelectors found for assignment: ${t} - early return`);return}o=c.domSelectors}const n=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);r.forEach(l=>{let c=null;const d=l.parentElement;if(d&&(c=d.querySelector('input[name="properties[_slpt]"]')),c||(c=l.querySelector('input[name="properties[_slpt]"]')),!c){this.log(`No hidden input found for ${i} element`);return}const u=c.getAttribute("data-sl-pid");if(!u){this.log("Hidden input has no data-sl-pid attribute - skipping");return}const h=o.find(S=>{const C=S.cssSelector.match(n);return C&&C[1]===u});if(!h){this.log(`No matching selector found for productId: ${u} - skipping element`);return}const p=h.actions.find(S=>S.scope==="price");if(!p?.value){this.log("No price action or value found - skipping element");return}const b=parseFloat(p.value.replace(/[^0-9.]/g,""));if(Number.isNaN(b)){this.log(`Invalid price "${p.value}" for product ${u} - skipping`);return}const E=Math.round(b*100);s(l,E)}),this.log(`updatePlacementElements completed for ${i}`)}updateShopifyPaymentTerms(e,t){const i=document.querySelectorAll("shopify-payment-terms");if(i.length===0)return;this.log("Store using shopify payments");let s;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const o=t==="control"?"a":"b",n=this.state.temporary.previewConfig.variants.find(l=>l.label===o);if(!n||!n.domSelectors){this.log(`No variant found for label ${o} in preview config`);return}s=n.domSelectors,this.log(`Using preview config for shopify-payment-terms in merchant mode, variant: ${o}`)}else{const o=this.testConfigs.find(l=>l.id===e);if(!o)return;const n=o.hypotheses.find(l=>t==="control"?l.isControl===!0:l.isControl===!1);if(!n||!n.domSelectors)return;s=n.domSelectors}const r=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);i.forEach(o=>{const n=o.getAttribute("variant-id");if(!n)return;const l=s.find(c=>{const d=c.cssSelector.match(r);return d&&d[1]===n});if(l){const c=l.actions.find(d=>d.scope==="price");if(c&&c.value){const d=o.getAttribute("shopify-meta");if(d)try{const u=JSON.parse(d);if(u.variants&&Array.isArray(u.variants)){const h=u.variants.find(p=>p.id?.toString()===n);if(h){h.full_price=c.value;const p=parseFloat(c.value.replace(/[^0-9.]/g,""));if(h.number_of_payment_terms&&h.number_of_payment_terms>1){const b=p/h.number_of_payment_terms;h.price_per_term=`$${b.toFixed(2)}`}o.setAttribute("shopify-meta",JSON.stringify(u))}}}catch(u){this.log("Error parsing/updating shoplift-meta:",u)}}}})}async makeJsonRequest(e){const t=await this.makeRequest(e);return t===null?null:JSON.parse(await t.text(),F)}async makeRequest(e){const{url:t,method:i,headers:s,data:r,signal:o}=e,n=new Headers;if(s)for(const c in s)n.append(c,s[c]);(!s||!s.Accept)&&n.append("Accept","application/json"),(!s||!s["Content-Type"])&&n.append("Content-Type","application/json"),(this.eventHost.includes("ngrok.io")||this.eventHost.includes("ngrok-free.app"))&&n.append("ngrok-skip-browser-warning","1234");const l=await this.fetch(t,{method:i,headers:n,body:r,signal:o});if(!l.ok){if(l.status===204)return null;if(l.status===422){const c=await l.json();if(typeof c<"u"&&c.isBot)throw new ie}throw new Error(`Error sending shoplift request ${l.status}`)}return l}queueAddVisitorToTest(e,t){if(this.state.essential.visitorTests.some(s=>s.testId===e))return;const i=this.testConfigs.find(s=>s.id===e);if(this.state.essential.visitorTests.push({createdAt:new Date,testId:e,hypothesisId:t.id,isThemeTest:t.type==="theme",themeId:t.themeId,isSaved:!1,isInvalid:!1,shouldSendToGa:!0,testType:t.type,assignedTo:t.isControl?"control":"variant",testTitle:i?.title}),t.type==="price"){const s=t.isControl?"control":"variant";this.log("Price test assignment detected, updating cart attributes:",e,s),this.updatePriceTestHiddenInputs(e,s,!1)}}queueCartUpdate(e){this.queueEvent(new Ce(e))}queuePageView(e){this.queueEvent(new Se(e))}queueEvent(e){!this.state.essential.consentApproved&&this.state.essential.hasConsentInteraction||this.state.analytics.queue.length>10||this.state.analytics.queue.push(e)}legacyGetLocalStorageVisitor(){const e=this.localStorageGet(this.legacySessionKey);if(e)try{return JSON.parse(e,F)}catch{}return null}pruneStaleVisitorTests(){this.state.essential.visitorTests=this.state.essential.visitorTests.filter(e=>this.testConfigs.some(t=>t.id==e.testId)||this.inactiveTestConfigs.filter(t=>this.testIsPaused(t)).some(t=>t.id===e.testId))}pruneStateAndSave(){this.pruneStaleVisitorTests(),this.saveState()}saveState(){this.persistEssentialState(),this.persistAnalyticsState()}loadState(){const e=this.loadAnalyticsState(),t={analytics:e,essential:this.loadEssentialState(e),temporary:this.loadTemporaryState()},i=this.legacyGetLocalStorageVisitor(),s=this.legacyGetCookieVisitor(),r=[i,s].filter(o=>o!==null).sort((o,n)=>+n.storedAt-+o.storedAt)[0];return t.analytics.visitor===null&&r&&({visitorTests:t.essential.visitorTests,...t.analytics.visitor}=r,t.essential.isFirstLoad=!1,t.essential.initialState={createdAt:r.createdAt,referrer:r.referrer,utmCampaign:r.utmCampaign,utmContent:r.utmContent,utmMedium:r.utmMedium,utmSource:r.utmSource,device:r.device},this.deleteCookie("SHOPLIFT"),this.deleteLocalStorage(this.legacySessionKey)),!t.essential.consentApproved&&t.essential.hasConsentInteraction&&this.deleteLocalStorage(this.analyticsSessionKey),t}loadEssentialState(e){const t=this.loadLocalStorage(this.essentialSessionKey),i=this.loadCookie(this.essentialSessionKey),s=this.getInitialState();e.visitor?.device&&(s.device=e.visitor.device);const r={timestamp:new Date,consentApproved:!1,hasConsentInteraction:!1,debugMode:!1,initialState:s,visitorTests:[],isFirstLoad:!0},o=[t,i].filter(n=>n!==null).sort((n,l)=>+l.timestamp-+n.timestamp)[0]??r;return o.initialState||(e.visitor!==null?o.initialState=e.visitor:(o.initialState=s,o.initialState.createdAt=o.timestamp)),o}loadAnalyticsState(){const e=this.loadLocalStorage(this.analyticsSessionKey),t=this.loadCookie(this.analyticsSessionKey),i={timestamp:new Date,visitor:null,queue:[]},s=[e,t].filter(r=>r!==null).sort((r,o)=>+o.timestamp-+r.timestamp)[0]??i;return s.queue.length===0&&e&&e.queue.length>1&&(s.queue=e.queue),s}loadTemporaryState(){const e=this.sessionStorageGet(this.temporarySessionKey),t=e?JSON.parse(e,F):null,i=this.loadCookie(this.temporarySessionKey);return t??i??{isMerchant:!1,timestamp:new Date}}persistEssentialState(){this.log("Persisting essential state"),this.state.essential.isFirstLoad=!1,this.state.essential.timestamp=new Date,this.persistLocalStorageState(this.essentialSessionKey,this.state.essential),this.persist
10CookieState(this.essentialSessionKey,this.state.essential)}persistAnalyticsState(){this.log("Persisting analytics state"),this.state.essential.consentApproved&&(this.state.analytics.timestamp=new Date,this.persistLocalStorageState(this.analyticsSessionKey,this.state.analytics),this.persistCookieState(this.analyticsSessionKey,{...this.state.analytics,queue:[]}))}persistTemporaryState(){this.log("Setting temporary session state"),this.state.temporary.timestamp=new Date,this.sessionStorageSet(this.temporarySessionKey,JSON.stringify(this.state.temporary)),this.persistCookieState(this.temporarySessionKey,this.state.temporary,!0)}loadLocalStorage(e){const t=this.localStorageGet(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}loadCookie(e){const t=this.getCookie(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}persistLocalStorageState(e,t){this.localStorageSet(e,JSON.stringify(t))}persistCookieState(e,t,i=!1){const s=JSON.stringify(t),r=i?"":`expires=${new Date(new Date().getTime()+864e5*365).toUTCString()};`;document.cookie=`${e}=${s};domain=.${window.location.hostname};path=/;SameSite=Strict;${r}`}deleteCookie(e){const t=new Date(0).toUTCString();document.cookie=`${e}=;domain=.${window.location.hostname};path=/;expires=${t};`}deleteLocalStorage(e){window.localStorage.removeItem(e)}getChannel(e){return[{"name":"cross-network","test":(v) => new RegExp(".*cross-network.*", "i").test(v.utmCampaign)},{"name":"direct","test":(v) => v.utmSource === "" && v.utmMedium === ""},{"name":"paid-shopping","test":(v) => (new RegExp("^(?:Google|IGShopping|aax-us-east\.amazon-adsystem\.com|aax\.amazon-adsystem\.com|alibaba|alibaba\.com|amazon|amazon\.co\.uk|amazon\.com|apps\.shopify\.com|checkout\.shopify\.com|checkout\.stripe\.com|cr\.shopping\.naver\.com|cr2\.shopping\.naver\.com|ebay|ebay\.co\.uk|ebay\.com|ebay\.com\.au|ebay\.de|etsy|etsy\.com|m\.alibaba\.com|m\.shopping\.naver\.com|mercadolibre|mercadolibre\.com|mercadolibre\.com\.ar|mercadolibre\.com\.mx|message\.alibaba\.com|msearch\.shopping\.naver\.com|nl\.shopping\.net|no\.shopping\.net|offer\.alibaba\.com|one\.walmart\.com|order\.shopping\.yahoo\.co\.jp|partners\.shopify\.com|s3\.amazonaws\.com|se\.shopping\.net|shop\.app|shopify|shopify\.com|shopping\.naver\.com|shopping\.yahoo\.co\.jp|shopping\.yahoo\.com|shopzilla|shopzilla\.com|simplycodes\.com|store\.shopping\.yahoo\.co\.jp|stripe|stripe\.com|uk\.shopping\.net|walmart|walmart\.com)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
10andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.o
10pera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"display","test":(v) => new RegExp("^(?:display|banner|expandable|interstitial|cpm)$", "i").test(v.utmMedium)},{"name":"paid-other","test":(v) => new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)}
10,{"name":"organic-shopping","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)},{"name":"organic-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|k
10akao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) || new RegExp("^(?:social|social-network|social-media|sm|social network|social media)$", "i").test(v.utmMedium)},{"name":"organic-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) || new RegExp("^(.*video.*)$", "i").test(v.utmMedium)},{"name":"organic-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
10andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || v.utmMedium.toLowerCase() === "organic"},{"name":"referral","test":(v) => new RegExp("^(?:referral|app|link)$", "i").test(v.utmMedium)},{"name":"email","test":(v) => new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmMedium) || new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmSource)},{"name":"affiliate","test":(v) => v.utmMedium.toLowerCase() === "affiliate"},{"name":"audio","test":(v) => v.utmMedium.toLowerCase() === "audio"},{"name":"sms","test":(v) => v.utmSource.toLowerCase() === "sms" || v.utmMedium.toLowerCase() === "sms"},{"name":"mobile-push-notification","test":(v) => v.utmSource.toLowerCase() === "firebase" || new RegExp("(?:.*mobile.*|.*notification.*|push$)", "i").test(v.utmMedium)}].find(i=>i.test(e))?.name??"other"}getShopifyAnalyticsId(){const e=this.getCookie("_shopify_y");if(e)return e;try{const t=this.localStorageGet("Shoplift_ClientId");if(t)return t}catch{}return null}legacyGetCookieVisitor(){const e=this.getCookie("SHOPLIFT");return e===null?null:JSON.parse(e,F)}getCookie(e){const t=this.cookie.split("; ").filter(i=>i.split("=").at(0)===e).at(0);return t===void 0?null:t.split("=").slice(1).join("=")}monitorConsentChange(){document.addEventListener("visitorConsentCollected",e=>{(async()=>await this.onConsentChange(e.detail.analyticsAllowed,!0))()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>this.loadShopifyConsentApiWithRetry()):this.loadShopifyConsentApiWithRetry()}loadShopifyConsentApiWithRetry(){let e=0;const t=()=>{this.loadShopifyConsentApi()||e++<10&&window.setTimeout(t,100)};t()}loadShopifyConsentApi(){if(window.Shopify){this.log("Loading Shopify features");const e=async()=>{if(!window.Shopify){this.log("Shopify object missing... suddenly?");return}if(window.Shopify.customerPrivacy===void 0){this.log("Shopify CustomerPrivacy api still missing, trying again in 1000ms"),t=window.setTimeout(()=>{(async()=>await e())()},1e3);return}if(this.geoViaShopify){const s=window.Shopify.customerPrivacy.getRegion?.();this.resolvedRegion=typeof s=="string"?s.replace(/-/g,""):""}const i=window.Shopify.customerPrivacy.getTrackingConsent();await this.onConsentChange(window.Shopify.customerPrivacy.analyticsProcessingAllowed(),i==="yes")};let t=window.setTimeout(()=>{(async()=>await e())()},5e3);return window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],i=>{(async()=>{if(window.clearTimeout(t),i){this.log("Error loading consent tracking",i);return}await e()})()}),!0}return!1}async onConsentChange(e,t){try{if(this.log("Consent change detected",e,t),this.state.essential.consentApproved=e,this.state.essential.hasConsentInteraction=t,!this.state.essential.consentApproved){this.state.essential.hasConsentInteraction&&(this.state.analytics.queue.length=0),this.saveState();return}this.cookie=document.cookie,this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.saveState(),await this.syncAllEvents()}catch(i){this.log("Error syncing on consent change",i)}}isThemePreview(){return isThemePreview||themeRole!=="main"}isAppProxyPath(){const e=["/apps/","/tools/","/a/"],t=window.location.pathname;return e.some(i=>t.startsWith(i))}clearThemeBar(e,t,i){const s=structuredClone(i);this.log("Looking for theme bar"),this.waitForElement(null,"body").then(r=>this.waitForElement(r,"#preview-bar-iframe, #PBarNextFrameWrapper").then(o=>(this.log("Found theme bar"),t&&(this.log("Removing theme bar"),o.remove()),e?this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify({...this.debugState(),stateAtEvaluation:s},ee)}):Promise.resolve(null)))).catch(r=>console.error(r))}waitForElement(e,t){return new Promise(i=>{const s=document.querySelector(t);if(s){i(s);return}const r=new MutationObserver(o=>{const n=document.querySelector(t);if(n){r.disconnect(),i(n);return}});r.observe(e??document.documentElement,{childList:!0})})}setDebug(e){this.state.essential.debugMode=e,this.saveState()}log(e,...t){let i=0;const s=e.replace(/%[sdoOfF]/g,r=>{if(i>=t.length)return r;const o=t[i++];return r==="%o"||r==="%O"?JSON.stringify(o):String(o)});this.logHistory.push(`[${new Date().toISOString()}][SL] ${s}`),!(!this.state.essential.debugMode&&!this.shopliftDebug)&&console.debug(`[SL] ${e}`,...t)}debugState(){return{state:this.state,storage:{essential:this.loadLocalStorage(this.essentialSessionKey),analytics:this.loadLocalStorage(this.analyticsSessionKey)},params:{shop:this.shop,host:this.host,eventHost:this.eventHost,cssHideClass:this.cssHideClass,testConfigs:this.testConfigs,inactiveTestConfigs:this.inactiveTestConfigs,sendPageView:this.sendPageView,isShopifyMerchantCookie
10:this.getCookie("is_shopify_merchant"),themeId,url:window.location.href,isThemePreview,themeRole,gaConfig:this.gaConfig},logHistory:this.logHistory}}createViewportObserver(e,t={}){const{threshold:i=this.VIEWPORT_TRACK_THRESHOLD,triggerOnce:s=!0}=t,r=new Set;return new IntersectionObserver(o=>{o.forEach(n=>{if(n.isIntersecting&&!r.has(n.target)){const l=n.target,c=l.getAttribute(this.DATA_SL_TEST_ID);c&&(e(c,l),s&&r.add(l))}})},{threshold:i})}applyChangesWithViewport(e,t,i,s){const r=t.selectorsForViewportTracking??t.selectors,o=n=>{if(this.state.essential.visitorTests.some(h=>h.testId===n)||this.activeViewportObservers.has(n))return;const l=[];if(r.forEach(h=>{e.querySelectorAll(h.cssSelector).forEach(b=>l.push(b))}),l.length===0)return;let c=!1;const d=()=>{c||(c=!0,i(n),u.disconnect(),this.activeViewportObservers.delete(n))},u=this.createViewportObserver(()=>{d()},{triggerOnce:!0,...s});this.activeViewportObservers.set(n,u),this.log(`Created viewport observer for test ${n}, observing ${l.length} elements`),l.forEach(h=>{h.setAttribute(this.DATA_SL_TEST_ID,String(n)),u.observe(h)}),setTimeout(()=>{c||l.forEach(h=>{const p=h.getBoundingClientRect(),b=s?.threshold??this.VIEWPORT_TRACK_THRESHOLD,E=Math.min(p.bottom,window.innerHeight)-Math.max(p.top,0),S=Math.min(p.right,window.innerWidth)-Math.max(p.left,0);p.top<window.innerHeight&&p.bottom>0&&p.left<window.innerWidth&&p.right>0&&E>0&&S>0&&E>=p.height*b&&(this.log(`Price element already visible in viewport for test ${n}:`,h),d())})},100)};t.selectors.length>0&&U(e,t,()=>{}),Te(e,{testId:t.testId,hypothesisId:t.hypothesisId,selectors:r},n=>{o(n)})}applyPriceTestWithMapLookup(e,t,i,s){if(!t.priceData){this.log("No price data for hypothesis '%s'",t.id);return}this.log("Hypothesis '%s' isControl=%s, priceData has %d variants",t.id,t.isControl,t.priceData.variants.length);const r=t.priceData.variants.slice(0,3);for(const[S,C,_]of r)this.log("  Sample priceData: variant=%s, price=%d, compareAt=%d",S,C,_);const o=j(t.priceData),n=new Set;for(const S of i)if(S.priceData)for(const[C]of S.priceData.variants)n.add(C);this.log("Price test Map lookup: %d products in hypothesis, %d total products to track",o.size,n.size);const l=t.priceData,c=new WeakSet;let d=!1;const u="[data-sl-attribute-p], [data-sl-attribute-cap], [data-sl-attribute-discount]",h=S=>{if(c.has(S))return;const C=S.getAttribute("data-sl-attribute-p"),_=S.getAttribute("data-sl-attribute-cap"),T=S.getAttribute("data-sl-attribute-discount"),m=C||_||T;if(!m||!n.has(m))return;c.add(S);const y=o.get(m);y&&(this.log("Applying price for product %s: %d cents (compare at: %d cents)",m,y.priceInCents,y.compareAtPriceInCents),Le(S,m,y,l),this.log("Applied price to element for product %s",m)),!d&&!this.state.essential.visitorTests.some(w=>w.testId===e)&&(S.setAttribute(this.DATA_SL_TEST_ID,String(e)),this.setupElementViewportTracking(S,e,()=>{d||(d=!0,s(e))}))},p=()=>{const S=document.querySelectorAll(u);this.log("Scanning for price elements, found: %d",S.length),S.forEach(h)},b=new MutationObserver(S=>{for(const C of S)C.type==="childList"&&C.addedNodes.forEach(_=>{if(_.nodeType===Node.ELEMENT_NODE){const T=_;(T.hasAttribute("data-sl-attribute-p")||T.hasAttribute("data-sl-attribute-cap")||T.hasAttribute("data-sl-attribute-discount"))&&h(T),T.querySelectorAll(u).forEach(h)}}),C.type==="attributes"&&C.target instanceof Element&&h(C.target)}),E=document.body||document.documentElement;b.observe(E,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-sl-attribute-p","data-sl-attribute-cap","data-sl-attribute-discount"]}),this.log("MutationObserver started for price elements"),p(),document.readyState==="loading"&&document.addEventListener("DOMContentLoaded",()=>{this.log("DOMContentLoaded - rescanning for price elements"),p()}),setTimeout(()=>{this.log("Delayed rescan for price elements"),p()},100),setTimeout(()=>{this.log("Final rescan for price elements"),p()},500)}setupElementViewportTracking(e,t,i){const s=this.VIEWPORT_TRACK_THRESHOLD,r=e.getBoundingClientRect(),o=Math.min(r.bottom,window.innerHeight)-Math.max(r.top,0),n=Math.min(r.right,window.innerWidth)-Math.max(r.left,0);if(r.top<window.innerHeight&&r.bottom>0&&r.left<window.innerWidth&&r.right>0&&o>0&&n>0&&o>=r.height*s){this.log("Price element already visible for test %s",t),i();return}const c=new IntersectionObserver(d=>{for(const u of d)if(u.isIntersecting&&u.intersectionRatio>=s){this.log("Price element entered viewport for test %s",t),c.disconnect(),i();break}},{threshold:s});c.observe(e)}debug(){const e=this.debugState();console.log(JSON.stringify(e,ee,2))}}(async function(){window.shopliftInstance||(window.shopliftInstance=new Ze("shortylove.mysh
10opify.com","https://app.shoplift.ai","https://events.shoplift.ai",false,false,false,{"sendEvents":false,"mode":"gtag"},false,false,1000,[],[],null,false),await window.shopliftInstance.init())})();async function Qe(a,e,t,i){const s=Be({log:i});if(t)return i("[SUB-PREVIEW] A side — no overlay applied; widget renders naturally"),s;const r=a.widget.widgetType,o=e?j(e):null;let n=W(e),l=J(a,n),c=l.discountMap,d=l.maxDiscount;function u(){const f=W(e);f!==n&&(n=f,l=J(a,n),c=l.discountMap,d=l.maxDiscount,i(`[SUB-PREVIEW] scope refreshed currentProductId=${n??"n/a"}, maxDiscount=${d}`))}i(`[SUB-PREVIEW] side=B, currentProductId=${n??"n/a"}, maxDiscount=${d}`);function h(f){if(!e||!o)return null;const v=Z(o),g=v?o.get(v):void 0;return g?{formattedVariantPrice:G(g.priceInCents,e),formattedDiscounted:G(g.priceInCents*(1-f/100),e)}:null}function p(f){const v=Y(a,f);if(!v)return d;const g=D(a,"subscriptionInput"),P=g.length?g[0].selector:'input[name="rc_plan"]',A=v.querySelector(`${P}:checked`);if(A){const k=c[A.value];if(k!==void 0)return k}return d}function b(f){const v=D(a,"subscriptionDiscount");for(const g of v)if(g.selector.includes("badge")||g.selector.includes("__badge")){const P=f.querySelector(g.selector);P?.textContent&&!P.textContent.includes(`${d}%`)&&$(P,A=>N(A,d))}}function E(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionCompareAt");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedVariantPrice)&&$(k,x=>/\d/.test(x)?g.formattedVariantPrice:x)}}function S(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionPrice");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedDiscounted)&&$(k,x=>/\d/.test(x)?g.formattedDiscounted:x)}}function C(f){const v=D(a,"subscriptionInput"),g=v.length?v[0].selector:'input[name="rc_plan"]',P=D(a,"subscriptionPlanDiscount"),A=P.length?P[0].selector:".rc-plans-button__discount";for(const k of Array.from(f.querySelectorAll("label"))){const x=k.querySelector(g),R=k.querySelector(A);if(x&&R?.textContent){const O=c[x.value];if(O!==void 0){const V=R.textContent.match(/[\d.]+%/)?.[0];V&&V!==`${O}%`&&$(R,L=>N(L,O))}}}}function _(f){const v=f.querySelector("select");if(v)for(const g of Array.from(v.options)){const P=c[g.value];if(P!==void 0&&g.textContent){const A=g.textContent.match(/[\d.]+%/)?.[0];A&&A!==`${P}%`&&(g.textContent=N(g.textContent,P))}}}function T(f){const v=D(a,"onetimePrice");if(!v.length||!e||!o)return;const g=Z(o),P=g?o.get(g):void 0;if(!P)return;const A=G(P.priceInCents,e),k=D(a,"onetimeContainer"),x=k.length?k[0].selector:'[part~="rc-purchase-option__onetime"]',R=f.querySelector(x);if(R)for(const O of v){const V=R.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(A)&&$(V,L=>/\d/.test(L)?A:L)}}function m(f,v){const P=D(a,"subscriptionDiscount").filter(A=>A.selector.includes("benefit")||A.selector==="rc-benefits");for(const A of P){const k=f.querySelector(A.selector);if(k?.shadowRoot){for(const x of Array.from(k.shadowRoot.querySelectorAll("li")))if(x.textContent?.includes("Save")){const R=x.textContent.match(/[\d.]+%/)?.[0];R&&R!==`${v}%`&&$(x,O=>N(O,v))}}}}let y=!1;function w(){if(!y){y=!0;try{u();const f=B(a);if(!f)return;const v=p(f);b(f),E(f,v),S(f,v),T(f);const g=Y(a,f);g&&(r==="buttons"||r==="radio"?C(g):_(g)),m(f,v)}finally{y=!1}}}const I=pe({data:a,runUpdates:w});return function(){I(),s()}}const Xe=Object.freeze(Object.defineProperty({__proto__:null,subscriptionPreviewRender:Qe},Symbol.toStringTag,{value:"Module"}))})(); })("/", { suffix: "", type: "login" }, "main", 148520042647, false)</script>
10
11<!-- End of Shoplift scripts -->
12
13    <meta charset="utf-8">
14    <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=5.0">
15
16    <title>Account</title><link rel="canonical" href="https://www.shortylove.com/account/login"><link rel="shortcut icon" href="//www.shortylove.com/cdn/shop/files/shortylove_fevicon.png?v=1782974967&width=96">
17      <link rel="apple-touch-icon" href="//www.shortylove.com/cdn/shop/files/shortylove_fevicon.png?v=1782974967&width=180"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><link rel="preload" href="//www.shortylove.com/cdn/fonts/jost/jost_n5.7c8497861ffd15f4e1284cd221f14658b0e95d61.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//www.shortylove.com/cdn/fonts/jost/jost_n4.d47a1b6347ce4a4c9f437608011273009d91f2b7.woff2" as="font" type="font/woff2" crossorigin><meta property="og:type" content="website">
18  <meta property="og:title" content="Account"><meta property="og:url" content="https://www.shortylove.com/account/login">
19<meta property="og:site_name" content="shortyLOVE"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Account">
20  <meta name="twitter:description" content="Account">
20<script type="application/ld+json">
21  {
22    "@context": "https://schema.org",
23    "@type": "BreadcrumbList",
24    "itemListElement": [{
25        "@type": "ListItem",
26        "position": 1,
27        "name": "Home",
28        "item": "https://www.shortylove.com"
29      }]
30  }
31</script>
31<style>/* Typography (heading) */
32  @font-face {
33  font-family: Jost;
34  font-weight: 500;
35  font-style: normal;
36  font-display: fallback;
37  src: url("//www.shortylove.com/cdn/fonts/jost/jost_n5.7c8497861ffd15f4e1284cd221f14658b0e95d61.woff2") format("woff2"),
38       url("//www.shortylove.com/cdn/fonts/jost/jost_n5.fb6a06896db583cc2df5ba1b30d9c04383119dd9.woff") format("woff");
39}
40
41@font-face {
42  font-family: Jost;
43  font-weight: 500;
44  font-style: italic;
45  font-display: fallback;
46  src: url("//www.shortylove.com/cdn/fonts/jost/jost_i5.a6c7dbde35f2b89f8461eacda9350127566e5d51.woff2") format("woff2"),
47       url("//www.shortylove.com/cdn/fonts/jost/jost_i5.2b58baee736487eede6bcdb523ca85eea2418357.woff") format("woff");
48}
49
50/* Typography (body) */
51  @font-face {
52  font-family: Jost;
53  font-weight: 400;
54  font-style: normal;
55  font-display: fallback;
56  src: url("//www.shortylove.com/cdn/fonts/jost/jost_n4.d47a1b6347ce4a4c9f437608011273009d91f2b7.woff2") format("woff2"),
57       url("//www.shortylove.com/cdn/fonts/jost/jost_n4.791c46290e672b3f85c3d1c651ef2efa3819eadd.woff") format("woff");
58}
59
60@font-face {
61  font-family: Jost;
62  font-weight: 400;
63  font-style: italic;
64  font-display: fallback;
65  src: url("//www.shortylove.com/cdn/fonts/jost/jost_i4.b690098389649750ada222b9763d55796c5283a5.woff2") format("woff2"),
66       url("//www.shortylove.com/cdn/fonts/jost/jost_i4.fd766415a47e50b9e391ae7ec04e2ae25e7e28b0.woff") format("woff");
67}
68
69@font-face {
70  font-family: Jost;
71  font-weight: 700;
72  font-style: normal;
73  font-display: fallback;
74  src: url("//www.shortylove.com/cdn/fonts/jost/jost_n7.921dc18c13fa0b0c94c5e2517ffe06139c3615a3.woff2") format("woff2"),
75       url("//www.shortylove.com/cdn/fonts/jost/jost_n7.cbfc16c98c1e195f46c536e775e4e959c5f2f22b.woff") format("woff");
76}
77
78@font-face {
79  font-family: Jost;
80  font-weight: 700;
81  font-style: italic;
82  font-display: fallback;
83  src: url("//www.shortylove.com/cdn/fonts/jost/jost_i7.d8201b854e41e19d7ed9b1a31fe4fe71deea6d3f.woff2") format("woff2"),
84       url("//www.shortylove.com/cdn/fonts/jost/jost_i7.eae515c34e26b6c853efddc3fc0c552e0de63757.woff") format("woff");
85}
86
87:root {
88    /* Container */
89    --container-max-width: 100%;
90    --container-xxs-max-width: 27.5rem; /* 440px */
91    --container-xs-max-width: 42.5rem; /* 680px */
92    --container-sm-max-width: 61.25rem; /* 980px */
93    --container-md-max-width: 71.875rem; /* 1150px */
94    --container-lg-max-width: 78.75rem; /* 1260px */
95    --container-xl-max-width: 85rem; /* 1360px */
96    --container-gutter: 1.25rem;
97
98    --section-vertical-spacing: 2.25rem;
99    --section-vertical-spacing-tight:2.5rem;
100
101    --section-stack-gap:1.75rem;
102    --section-stack-gap-tight:1.75rem;
103
104    /* Form settings */
105    --form-gap: 1.25rem; /* Gap between fieldset and submit button */
106    --fieldset-gap: 1rem; /* Gap between each form input within a fieldset */
107    --form-control-gap: 0.625rem; /* Gap between input and label (ignored for floating label) */
108    --checkbox-control-gap: 0.75rem; /* Horizontal gap between checkbox and its associated label */
109    --input-padding-block: 0.65rem; /* Vertical padding for input, textarea and native select */
110    --input-padding-inline: 0.8rem; /* Horizontal padding for input, textarea and native select */
111    --checkbox-size: 0.875rem; /* Size (width and height) for checkbox */
112
113    /* Other sizes */
114    --sticky-area-height: calc(var(--announcement-bar-is-sticky, 0) * var(--announcement-bar-height, 0px) + var(--header-is-sticky, 0) * var(--header-is-visible, 1) * var(--header-height, 0px));
115
116    /* RTL support */
117    --transform-logical-flip: 1;
118    --transform-origin-start: left;
119    --transform-origin-end: right;
120
121    /**
122     * ---------------------------------------------------------------------
123     * TYPOGRAPHY
124     * ---------------------------------------------------------------------
125     */
126
127    /* Font properties */
128    --heading-font-family: Jost, sans-serif;
129    --heading-font-weight: 500;
130    --heading-font-style: normal;
131    --heading-text-transform: lowercase;
132    --heading-letter-spacing: 0.18em;
133    --text-font-family: Jost, sans-serif;
134    --text-font-weight: 400;
135    --text-font-style: normal;
136    --text-letter-spacing: 0.0em;
137    --button-font: var(--heading-font-style) var(--heading-font-weight) var(--text-sm) / 1.65 var(--heading-font-family);
138    --button-text-transform: lowercase;
139    --button-letter-spacing: 0.18em;
140
141    /* Font sizes */--text-heading-size-factor: 1;
142    --text-h1: max(0.6875rem, clamp(1.375rem, 1.146341463414634rem + 0.975609756097561vw, 2rem) * var(--text-heading-size-factor));
143    --text-h2: max(0.6875rem, clamp(1.25rem, 1.0670731707317074rem + 0.7804878048780488vw, 1.75rem) * var(--text-heading-size-factor));
144    --text-h3: max(0.6875rem, clamp(1.125rem, 1.0335365853658536rem + 0.3902439024390244vw, 1.375rem) * var(--text-heading-size-factor));
145    --text-h4: max(0.6875rem, clamp(1rem, 0.9542682926829268rem + 0.1951219512195122vw, 1.125rem) * var(--text-heading-size-factor));
146    --text-h5: calc(0.875rem * var(--text-heading-size-factor));
147    --text-h6: calc(0.75rem * var(--text-heading-size-factor));
148
149    --text-xs: 0.8125rem;
150    --text-sm: 0.875rem;
151    --text-base: 0.9375rem;
152    --text-lg: 1.0625rem;
153    --text-xl: 1.25rem;
154
155    /* Rounded variables (used for border radius) */
156    --rounded-full: 9999px;
157    --button-border-radius: 0.0rem;
158    --input-border-radius: 0.0rem;
159
160    /* Box shadow */
161    --shadow-sm: 0 2px 8px rgb(0 0 0 / 0.05);
162    --shadow: 0 5px 15px rgb(0 0 0 / 0.05);
163    --shadow-md: 0 5px 30px rgb(0 0 0 / 0.05);
164    --shadow-block: px px px rgb(var(--text-primary) / 0.0);
165
166    /**
167     * ---------------------------------------------------------------------
168     * OTHER
169     * ---------------------------------------------------------------------
170     */
171
172    --checkmark-svg-url: url(//www.shortylove.com/cdn/shop/t/156/assets/checkmark.svg?v=77552481021870063511772057087);
173    --cursor-zoom-in-svg-url: url(//www.shortylove.com/cdn/shop/t/156/assets/cursor-zoom-in.svg?v=112480252220988712521772057087);
174  }
175
176  [dir="rtl"]:root {
177    /* RTL support */
178    --transform-logical-flip: -1;
179    --transform-origin-start: right;
180    --transform-origin-end: left;
181  }
182
183  @media screen and (min-width: 700px) {
184    :root {
185      /* Typography (font size) */
186      --text-xs: 0.875rem;
187      --text-sm: 0.9375rem;
188      --text-base: 1.0rem;
189      --text-lg: 1.125rem;
190      --text-xl: 1.375rem;
191
192      /* Spacing settings */
193      --container-gutter: 2rem;
194    }
195  }
196
197  @media screen and (min-width: 1000px) {
198    :root {
199      /* Spacing settings */
200      --container-gutter: 3rem;
201
202      --section-vertical-spacing: 3.5rem;
203      --section-vertical-spacing-tight: 3.5rem;
204
205      --section-stack-gap:2.5rem;
206      --section-stack-gap-tight:2.5rem;
207    }
208  }:root {/* Overlay used for modal */
209    --page-overlay: 0 0 0 / 0.4;
210
211    /* We use the first scheme background as default */
212    --page-background: ;
213
214    /* Product colors */
215    --on-sale-text: 208 111 89;
216    --on-sale-badge-background: 208 111 89;
217    --on-sale-badge-text: 255 255 255;
218    --sold-out-badge-background: 179 179 179;
219    --sold-out-badge-text: 0 0 0 / 0.65;
220    --custom-badge-background: 28 28 28;
221    --custom-badge-text: 255 255 255;
222    --star-color: 221 146 137;
223
224    /* Status colors */
225    --success-background: 212 227 203;
226    --success-text: 48 122 7;
227    --warning-background: 253 241 224;
228    --warning-text: 237 138 0;
229    --error-background: 243 204 204;
230    --error-text: 203 43 43;
231  }.color-scheme--scheme-1 {
232      /* Color settings */--accent: 221 146 137;
233      --text-color: 28 28 28;
234      --background: 255 255 255 / 1.0;
235      --background-without-opacity: 255 255 255;
236      --background-gradient: ;--border-color: 221 221 221;/* Button colors */
237      --button-background: 221 146 137;
238      --button-text-color: 255 255 255;
239
240      /* Circled buttons */
241      --circle-button-background: 255 255 255;
242      --circle-button-text-color: 28 28 28;
243    }.shopify-section:has(.section-spacing.color-scheme--bg-54922f2e920ba8346f6dc0fba343d673) + .shopify-section:has(.section-spacing.color-scheme--bg-54922f2e920ba8346f6dc0fba343d673:not(.bordered-section)) .section-spacing {
244      padding-block-start: 0;
245    }.color-scheme--scheme-2 {
246      /* Color settings */--accent: 28 28 28;
247      --text-color: 28 28 28;
248      --background: 255 255 255 / 1.0;
249      --background-without-opacity: 255 255 255;
250      --background-gradient: ;--border-color: 221 221 221;/* Button colors */
251      --button-background: 28 28 28;
252      --button-text-color: 255 255 255;
253
254      /* Circled buttons */
255      --circle-button-background: 255 255 255;
256      --circle-button-text-color: 28 28 28;
257    }.shopify-section:has(.section-spacing.color-scheme--bg-54922f2e920ba8346f6dc0fba343d673) + .shopify-section:has(.section-spacing.color-scheme--bg-54922f2e920ba8346f6dc0fba343d673:not(.bordered-section)) .section-spacing {
258      padding-block-start: 0;
259    }.color-scheme--scheme-3 {
260      /* Color settings */--accent: 255 255 255;
261      --text-color: 28 28 28;
262      --background: 221 146 137 / 1.0;
263      --background-without-opacity: 221 146 137;
264      --background-gradient: ;--border-color: 192 128 121;/* Button colors */
265      --button-background: 255 255 255;
266      --button-text-color: 28 28 28;
267
268      /* Circled buttons */
269      --circle-button-background: 255 255 255;
270      --circle-button-text-color: 28 28 28;
271    }.shopify-section:has(.section-spacing.color-scheme--bg-ad869f76da1880ea8ca11744d3213224) + .shopify-section:has(.section-spacing.color-scheme--bg-ad869f76da1880ea8ca11744d3213224:not(.bordered-section)) .section-spacing {
272      padding-block-start: 0;
273    }.color-scheme--scheme-4 {
274      /* Color settings */--accent: 255 255 255;
275      --text-color: 255 255 255;
276      --background: 0 0 0 / 0.0;
277      --background-without-opacity: 0 0 0;
278      --background-gradient: ;--border-color: 255 255 255;/* Button colors */
279      --button-background: 255 255 255;
280      --button-text-color: 28 28 28;
281
282      /* Circled buttons */
283      --circle-button-background: 255 255 255;
284      --circle-button-text-color: 28 28 28;
285    }.shopify-section:has(.section-spacing.color-scheme--bg-3671eee015764974ee0aef1536023e0f) + .shopify-section:has(.section-spacing.color-scheme--bg-3671eee015764974ee0aef1536023e0f:not(.bordered-section)) .section-spacing {
286      padding-block-start: 0;
287    }.color-scheme--scheme-a9d5437b-511d-4b11-9272-f55a144bf24b {
288      /* Color settings */--accent: 221 146 137;
289      --text-color: 255 255 255;
290      --background: 28 28 28 / 1.0;
291      --background-without-opacity: 28 28 28;
292      --background-gradient: ;--border-color: 62 62 62;/* Button colors */
293      --button-background: 221 146 137;
294      --button-text-color: 28 28 28;
295
296      /* Circled buttons */
297      --circle-button-background: 255 255 255;
298      --circle-button-text-color: 28 28 28;
299    }.shopify-section:has(.section-spacing.color-scheme--bg-c1f8cb21047e4797e94d0969dc5d1e44) + .shopify-section:has(.section-spacing.color-scheme--bg-c1f8cb21047e4797e94d0969dc5d1e44:not(.bordered-section)) .section-spacing {
300      padding-block-start: 0;
301    }.color-scheme--scheme-f9824b64-945d-446e-b540-31c9c01d516d {
302      /* Color settings */--accent: 221 146 137;
303      --text-color: 255 255 255;
304      --background: 98 91 92 / 1.0;
305      --background-without-opacity: 98 91 92;
306      --background-gradient: ;--border-color: 122 116 116;/* Button colors */
307      --button-background: 221 146 137;
308      --button-text-color: 28 28 28;
309
310      /* Circled buttons */
311      --circle-button-background: 255 255 255;
312      --circle-button-text-color: 28 28 28;
313    }.shopify-section:has(.section-spacing.color-scheme--bg-ef9ae448c4d00e6952b5237f839848f7) + .shopify-section:has(.section-spacing.color-scheme--bg-ef9ae448c4d00e6952b5237f839848f7:not(.bordered-section)) .section-spacing {
314      padding-block-start: 0;
315    }.color-scheme--dialog {
316      /* Color settings */--accent: 28 28 28;
317      --text-color: 28 28 28;
318      --background: 255 255 255 / 1.0;
319      --background-without-opacity: 255 255 255;
320      --background-gradient: ;--border-color: 221 221 221;/* Button colors */
321      --button-background: 28 28 28;
322      --button-text-color: 255 255 255;
323
324      /* Circled buttons */
325      --circle-button-background: 255 255 255;
326      --circle-button-text-color: 28 28 28;
327    }
328</style>
328<script>
329  // This allows to expose several variables to the global scope, to be used in scripts
330  window.themeVariables = {
331    settings: {
332      showPageTransition: null,
333      pageType: "customers\/login",
334      moneyFormat: "${{amount}}",
335      moneyWithCurrencyFormat: "${{amount}} USD",
336      currencyCodeEnabled: false,
337      cartType: "drawer",
338      staggerMenuApparition: true
339    },
340
341    strings: {
342      addedToCart: "Added to your cart!",
343      addedToCartWithTitle: "{{ product_title }} added to cart.",
344      closeGallery: "Close gallery",
345      zoomGallery: "Zoom picture",
346      errorGallery: "Image cannot be loaded",
347      shippingEstimatorNoResults: "Sorry, we do not ship to your address.",
348      shippingEstimatorOneResult: "There is one shipping rate for your address:",
349      shippingEstimatorMultipleResults: "There are several shipping rates for your address:",
350      shippingEstimatorError: "One or more error occurred while retrieving shipping rates:",
351      next: "Next",
352      previous: "Previous"
353    },
354
355    mediaQueries: {
356      'sm': 'screen and (min-width: 700px)',
357      'md': 'screen and (min-width: 1000px)',
358      'lg': 'screen and (min-width: 1150px)',
359      'xl': 'screen and (min-width: 1400px)',
360      '2xl': 'screen and (min-width: 1600px)',
361      'sm-max': 'screen and (max-width: 699px)',
362      'md-max': 'screen and (max-width: 999px)',
363      'lg-max': 'screen and (max-width: 1149px)',
364      'xl-max': 'screen and (max-width: 1399px)',
365      '2xl-max': 'screen and (max-width: 1599px)',
366      'motion-safe': '(prefers-reduced-motion: no-preference)',
367      'motion-reduce': '(prefers-reduced-motion: reduce)',
368      'supports-hover': 'screen and (pointer: fine)',
369      'supports-touch': 'screen and (hover: none)'
370    }
371  };</script>
371<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 371
371
372<script type="importmap">{
373        "imports": {
374          "vendor": "//www.shortylove.com/cdn/shop/t/156/assets/vendor.min.js?v=55929477288600450501771960063",
375          "theme": "//www.shortylove.com/cdn/shop/t/156/assets/theme.js?v=103030472301900935361771960063",
376          "photoswipe": "//www.shortylove.com/cdn/shop/t/156/assets/photoswipe.min.js?v=13374349288281597431771960061"
377        }
378      }
379    </script>
379
380
381    
381<script type="module" src="//www.shortylove.com/cdn/shop/t/156/assets/vendor.min.js?v=55929477288600450501771960063"></script>
381
382    
382<script type="module" src="//www.shortylove.com/cdn/shop/t/156/assets/theme.js?v=103030472301900935361771960063"></script>
382<script src="//www.shortylove.com/cdn/shop/t/156/assets/variantify-quick-buy.js?v=168288743594295775171784301480" defer></script>
382<script src="//www.shortylove.com/cdn/shop/t/156/assets/disable-native-cart.js?v=132007838208162367151784301479" defer></script>
382<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
382<meta name="google-site-verification" content="Z6JQySmkDYfoTpS0CtBasd5nihfdPrWRguHo1DS-a-U">
383<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/29857554/digital_wallets/dialog">
384<meta id="in-context-paypal-metadata" data-shop-id="29857554" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
385<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
385<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2954297495"></script>
385
386<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
387<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2954297495&shop_id=29857554" crossorigin="anonymous"></script>
vendor: 1 bytes, line 387
387
388<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":29857554,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/29857554","merchantName":"shortyLOVE","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"shortyLOVE","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 388
388
389<script id="shopify-features" type="application/json">{"accessToken":"d0a85fa5a4b5e25e9545d786589fb45f","betas":["rich-media-storefront-analytics"],"domain":"www.shortylove.com","predictiveSearch":true,"shopId":29857554,"locale":"en"}</script>
vendor: 1 bytes, line 389
389
390<script>var Shopify = Shopify || {};
391Shopify.shop = "shortylove.myshopify.com";
392Shopify.locale = "en";
393Shopify.currency = {"active":"USD","rate":"1.0"};
394Shopify.country = "US";
395Shopify.theme = {"name":"shortylove\/homepage redesign APRIL12026","id":148520042647,"schema_name":"Prestige","schema_version":"10.11.1","theme_store_id":null,"role":"main"};
396Shopify.theme.handle = "null";
397Shopify.theme.style = {"id":null,"handle":null};
398Shopify.cdnHost = "www.shortylove.com/cdn";
399Shopify.routes = Shopify.routes || {};
400Shopify.routes.root = "/";
401Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
402Shopify.SignInWithShop = Shopify.SignInWithShop || {};
403Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
404Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 404
404
405<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 405
405
406<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 406
406
407<script>
408  window.ShopifyPay = window.ShopifyPay || {};
409  window.ShopifyPay.apiHost = "shop.app\/pay";
410  window.ShopifyPay.redirectState = null;
411</script>
vendor: 1 bytes, line 411
411
412<script>
413  window.Shopify = window.Shopify || {};
414  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
415  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
416  window.Shopify.SignInWithShop.eligible = true;
417</script>
vendor: 1 bytes, line 417
417
418<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 418
418
419<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"></script>
vendor: 1 bytes, line 419
419
420<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"></script>
vendor: 1 bytes, line 420
420
421<script type="module">
422  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js");
423await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js");
424
425  window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true});
426window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true});
427
428</script>
vendor: 1 bytes, line 428
428
429<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 429
429
430<script type="module">
431  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
432
433  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
434
435</script>
vendor: 1 bytes, line 435
435
436<script>
437  window.Shopify = window.Shopify || {};
438  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
439  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
440</script>
vendor: 1 bytes, line 440
440
441<script>(function() {
442  var isLoaded = false;
443  function asyncLoad() {
444    if (isLoaded) return;
445    isLoaded = true;
446    var urls = ["https:\/\/cdn-loyalty.yotpo.com\/loader\/JMQZ-BBGBB0f8zwWLELhdA.js?shop=shortylove.myshopify.com","https:\/\/shopify-fast-tags.deliverr.com\/main.js?shop=shortylove.myshopify.com","https:\/\/cdn-widgetsrepository.yotpo.com\/v1\/loader\/GX51pGwCy0oGc4StNDtDvhWeuzhVHXAdsR1bQO9g?shop=shortylove.myshopify.com","https:\/\/dr4qe3ddw9y32.cloudfront.net\/awin-shopify-integration-code.js?aid=91477\u0026v=shopifyApp_5.3.0\u0026ts=1772288604088\u0026shop=shortylove.myshopify.com"];
447    for (var i = 0; i < urls.length; i++) {
448      var s = document.createElement('script');
449      s.type = 'text/javascript';
450      s.async = true;
451      s.src = urls[i];
452      var x = document.getElementsByTagName('script')[0];
453      x.parentNode.insertBefore(s, x);
454    }
455  };
456  if(window.attachEvent) {
457    window.attachEvent('onload', asyncLoad);
458  } else {
459    window.addEventListener('load', asyncLoad, false);
460  }
461})();</script>
vendor: 1 bytes, line 461
461
462<script id="__st">var __st={"a":29857554,"offset":-14400,"reqid":"c53e79e5-d7bb-4c5f-9b0d-a5b27a8ebf90-1790349759","pageurl":"www.shortylove.com\/account\/login","u":"992440eb515d"};</script>
vendor: 1 bytes, line 462
462
463<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 463
463
464<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!1)}();</script>
vendor: 1 bytes, line 464
464
465<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.shortylove.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 465
465
466<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.shortylove.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
466<script crossorigin="anonymous" defer="defer" src="//www.shortylove.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 466
466
467<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 467
467
468<script>
469  window.Shopify = window.Shopify || {};
470  window.Shopify.MCP = window.Shopify.MCP || {};
471  window.Shopify.MCP.enabled = true;
472  window.Shopify.MCP.shop = "shortylove.myshopify.com";
473  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.shortylove.com\/api\/mcp";
474  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
475</script>
vendor: 1 bytes, line 475
475
476<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.shortylove.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
477</script>
vendor: 1 bytes, line 477
477
478<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.shortylove.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
479</script>
vendor: 1 bytes, line 479
479
480<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
481  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
482</script>
vendor: 1 bytes, line 482
482
483<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
484</script>
vendor: 1 bytes, line 484
484
485<script id='scb4127' type='text/javascript' async='' src='https://www.shortylove.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
485<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.shortylove.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
486<style id="shopify-accelerated-checkout-cart">
487        #shopify-buyer-consent {
488  margin-top: 1em;
489  display: inline-block;
490  width: 100%;
491}
492
493#shopify-buyer-consent.hidden {
494  display: none;
495}
496
497#shopify-subscription-policy-button {
498  background: none;
499  border: none;
500  padding: 0;
501  text-decoration: underline;
502  font-size: inherit;
503  cursor: pointer;
504}
505
506#shopify-subscription-policy-button::before {
507  box-shadow: none;
508}
509
510      </style>
511
512<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
512
513<link href="//www.shortylove.com/cdn/shop/t/156/assets/theme.css?v=51711031825976166021771960062" rel="stylesheet" type="text/css" media="all" />
513<script type="application/ld+json">
514{
515  "@context": "https://schema.org",
516  "@type": "Store",
517  "name": "shortyLOVE",
518  "logo": "https://www.shortylove.com/cdn/shop/files/3000x300_logo_w_tbg.png?v=1773684961&width=500",
519  "image": "https://www.shortylove.com/cdn/shop/files/3000x300_logo_w_tbg.png?v=1773684961&width=500",
520  "description": "ShortyLOVE is a woman-owned brand specializing in designer handbags and accessories crafted from premium, easy-to-clean nylon. Their extensive product line features crossbody bags, backpacks, and totes available in various sizes and color palettes, including classic neutrals and limited editions. The brand prioritizes functional design, incorporating signature light-colored interiors and strategically placed pockets to enhance organization. Customers benefit from free domestic shipping within the continental U.S., a hassle-free return policy, and a dedicated rewards program. In addition to new arrivals, the retailer offers pre-owned items and specialized accessories like quilted baby mats and custom straps. Positive reviews highlight the company's commitment to durability and style, positioning these lightweight bags as practical alternatives to traditional luxury fashion.",
521  "email": "[email protected]",
522  "url": "https://www.shortylove.com/",
523  "address": {
524    "@type": "PostalAddress",
525    "streetAddress": "538 2nd Ave",
526    "addressLocality": "New York",
527    "addressRegion": "NY",
528    "postalCode": "10016",
529    "addressCountry": "US"
530  },
531  "sameAs": [
532    "https://www.instagram.com/shortylovebags/?hl=en",
533    "https://www.linkedin.com/company/shortylove",
534    "https://www.facebook.com/shortylovebags/"
535  ]
536}
537</script>
537<script type="application/ld+json">
538{
539  "@context": "https://schema.org",
540  "@type": "Organization",
541  "name": "shortyLOVE",
542  "url": "https://www.shortylove.com/",
543  "aggregateRating": {
544    "@type": "AggregateRating",
545    "ratingValue": "5",
546    "bestRating": "5",
547    "worstRating": "1",
548    "ratingCount": "5"
549  },
550  "review": [
551    {
552      "@type": "Review",
553      "itemReviewed": {
554        "@type": "Organization",
555        "name": "shortyLOVE",
556        "url": "https://www.shortylove.com/"
557      },
558      "author": {
559        "@type": "Person",
560        "name": "Anita E."
561      },
562      "name": "Function + Style",
563      "reviewBody": "I am new to shortyLOVE bags but they have quickly become my favorite! The design is so smart and stylish with great details. The zippers open and close smoothly and the blush lining is not only beautiful, but it really does help you find your things. I will be buying many more!",
564      "reviewRating": {
565        "@type": "Rating",
566        "ratingValue": "5",
567        "bestRating": "5",
568        "worstRating": "1"
569      }
570    },
571    {
572      "@type": "Review",
573      "itemReviewed": {
574        "@type": "Organization",
575        "name": "shortyLOVE",
576        "url": "https://www.shortylove.com/"
577      },
578      "author": {
579        "@type": "Person",
580        "name": "Olena I."
581      },
582      "name": "A Product That Delivers",
583      "reviewBody": "My experience with shortyLOVE has been amazing. Everything feels elevated and practical. Their bags are not only stylish but truly functional—you can tell they were designed by someone who understands everyday life. Fast shipping and great customer service. Highly recommend!",
584      "reviewRating": {
585        "@type": "Rating",
586        "ratingValue": "5",
587        "bestRating": "5",
588        "worstRating": "1"
589      }
590    },
591    {
592      "@type": "Review",
593      "itemReviewed": {
594        "@type": "Organization",
595        "name": "shortyLOVE",
596        "url": "https://www.shortylove.com/"
597      },
598      "author": {
599        "@type": "Person",
600        "name": "Janet B."
601      },
602      "name": "Unmatched Quality",
603      "reviewBody": "I have four different bags from shortyLOVE and I love every one of them. The quality of the bags is the best!!",
604      "reviewRating": {
605        "@type": "Rating",
606        "ratingValue": "5",
607        "bestRating": "5",
608        "worstRating": "1"
609      }
610    },
611    {
612      "@type": "Review",
613      "itemReviewed": {
614        "@type": "Organization",
615        "name": "shortyLOVE",
616        "url": "https://www.shortylove.com/"
617      },
618      "author": {
619        "@type": "Person",
620        "name": "Kim B."
621      },
622      "name": "My Favorite Bags of All",
623      "reviewBody": "Love these bags! I have Celine bags, Prada bags and other high-end work bags. shortyLOVE bags are my favorite. Room for everything, secure water bottle pouches. They are light unlike my other luxury bags. Just great!",
624      "reviewRating": {
625        "@type": "Rating",
626        "ratingValue": "5",
627        "bestRating": "5",
628        "worstRating": "1"
629      }
630    },
631    {
632      "@type": "Review",
633      "itemReviewed": {
634        "@type": "Organization",
635        "name": "shortyLOVE",
636        "url": "https://www.shortylove.com/"
637      },
638      "author": {
639        "@type": "Person",
640        "name": "Melissa K."
641      },
642      "name": "It's Love",
643      "reviewBody": "Love everything about shortyLOVE. I own several bags and wallets, and they make great gifts to give as well. So functional, great quality, and the fabric is amazingly easy to clean.",
644      "reviewRating": {
645        "@type": "Rating",
646        "ratingValue": "5",
647        "bestRating": "5",
648        "worstRating": "1"
649      }
650    }
651  ]
652}
653</script>
653
654
655
656
657
658
659  <!-- BEGIN app block: shopify://apps/digioh/blocks/app-embed/5c569d3e-93be-4334-a107-6d8e1e612339 -->
660
661  
662  
663  
664    
665    
666  
667    
668    
669  
670
671  
672    <!--START Digioh Low Impact Javascript-->
673<script async type='text/javascript' src='https://forms.shortylove.com/w37htfhcq2/vendor/74c6eca0-647c-4823-afb4-5048ef4838de/lightbox_speed.js'></script>
673
674<!--END Digioh Low Impact Javascript-->
675  
676
677
678<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
679
680
681
682
683
684
685
686
687
688
689
690
691  
691<script async src="https://static.klaviyo.com/onsite/js/NsQGyp/klaviyo.js?company_id=NsQGyp"></script>
691
692  
692<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
692
693
694  
695
696
697
698
699  
699<script>
700    window.klaviyoReviewsProductDesignMode = false
701  </script>
701
702
703
704
705  <!-- BEGIN app snippet: customer-hub-data -->
705<script>
706  if (!window.customerHub) {
707    window.customerHub = {};
708  }
709  window.customerHub.storefrontRoutes = {
710    login: "/account/login?return_url=%2F%23k-hub",
711    register: "/account/register?return_url=%2F%23k-hub",
712    logout: "/account/logout",
713    profile: "/account",
714    addresses: "/account/addresses",
715  };
716  
717  window.customerHub.userId = null;
718  
719  window.customerHub.storeDomain = "shortylove.myshopify.com";
720
721  
722
723  
724    window.customerHub.storeLocale = {
725        currentLanguage: 'en',
726        currentCountry: 'US',
727        availableLanguages: [
728          
729            {
730              iso_code: 'en',
731              endonym_name: 'English'
732            }
733          
734        ],
735        availableCountries: [
736          
737            {
738              iso_code: 'AL',
739              name: 'Albania',
740              currency_code: 'ALL'
741            },
742          
743            {
744              iso_code: 'DZ',
745              name: 'Algeria',
746              currency_code: 'DZD'
747            },
748          
749            {
750              iso_code: 'AD',
751              name: 'Andorra',
752              currency_code: 'EUR'
753            },
754          
755            {
756              iso_code: 'AO',
757              name: 'Angola',
758              currency_code: 'USD'
759            },
760          
761            {
762              iso_code: 'AI',
763              name: 'Anguilla',
764              currency_code: 'XCD'
765            },
766          
767            {
768              iso_code: 'AG',
769              name: 'Antigua &amp; Barbuda',
770              currency_code: 'XCD'
771            },
772          
773            {
774              iso_code: 'AR',
775              name: 'Argentina',
776              currency_code: 'USD'
777            },
778          
779            {
780              iso_code: 'AM',
781              name: 'Armenia',
782              currency_code: 'AMD'
783            },
784          
785            {
786              iso_code: 'AW',
787              name: 'Aruba',
788              currency_code: 'AWG'
789            },
790          
791            {
792              iso_code: 'AU',
793              name: 'Australia',
794              currency_code: 'AUD'
795            },
796          
797            {
798              iso_code: 'AT',
799              name: 'Austria',
800              currency_code: 'EUR'
801            },
802          
803            {
804              iso_code: 'AZ',
805              name: 'Azerbaijan',
806              currency_code: 'AZN'
807            },
808          
809            {
810              iso_code: 'BS',
811              name: 'Bahamas',
812              currency_code: 'BSD'
813            },
814          
815            {
816              iso_code: 'BH',
817              name: 'Bahrain',
818              currency_code: 'USD'
819            },
820          
821            {
822              iso_code: 'BD',
823              name: 'Bangladesh',
824              currency_code: 'BDT'
825            },
826          
827            {
828              iso_code: 'BB',
829              name: 'Barbados',
830              currency_code: 'BBD'
831            },
832          
833            {
834              iso_code: 'BE',
835              name: 'Belgium',
836              currency_code: 'EUR'
837            },
838          
839            {
840              iso_code: 'BZ',
841              name: 'Belize',
842              currency_code: 'BZD'
843            },
844          
845            {
846              iso_code: 'BJ',
847              name: 'Benin',
848              currency_code: 'XOF'
849            },
850          
851            {
852              iso_code: 'BM',
853              name: 'Bermuda',
854              currency_code: 'USD'
855            },
856          
857            {
858              iso_code: 'BO',
859              name: 'Bolivia',
860              currency_code: 'BOB'
861            },
862          
863            {
864              iso_code: 'BA',
865              name: 'Bosnia &amp; Herzegovina',
866              currency_code: 'BAM'
867            },
868          
869            {
870              iso_code: 'BW',
871              name: 'Botswana',
872              currency_code: 'BWP'
873            },
874          
875            {
876              iso_code: 'BR',
877              name: 'Brazil',
878              currency_code: 'BRL'
879            },
880          
881            {
882              iso_code: 'VG',
883              name: 'British Virgin Islands',
884              currency_code: 'USD'
885            },
886          
887            {
888              iso_code: 'BN',
889              name: 'Brunei',
890              currency_code: 'BND'
891            },
892          
893            {
894              iso_code: 'BG',
895              name: 'Bulgaria',
896              currency_code: 'EUR'
897            },
898          
899            {
900              iso_code: 'BF',
901              name: 'Burkina Faso',
902              currency_code: 'XOF'
903            },
904          
905            {
906              iso_code: 'BI',
907              name: 'Burundi',
908              currency_code: 'BIF'
909            },
910          
911            {
912              iso_code: 'KH',
913              name: 'Cambodia',
914              currency_code: 'KHR'
915            },
916          
917            {
918              iso_code: 'CM',
919              name: 'Cameroon',
920              currency_code: 'XAF'
921            },
922          
923            {
924              iso_code: 'CA',
925              name: 'Canada',
926              currency_code: 'CAD'
927            },
928          
929            {
930              iso_code: 'CV',
931              name: 'Cape Verde',
932              currency_code: 'CVE'
933            },
934          
935            {
936              iso_code: 'BQ',
937              name: 'Caribbean Netherlands',
938              currency_code: 'USD'
939            },
940          
941            {
942              iso_code: 'KY',
943              name: 'Cayman Islands',
944              currency_code: 'KYD'
945            },
946          
947            {
948              iso_code: 'TD',
949              name: 'Chad',
950              currency_code: 'XAF'
951            },
952          
953            {
954              iso_code: 'CL',
955              name: 'Chile',
956              currency_code: 'USD'
957            },
958          
959            {
960              iso_code: 'CN',
961              name: 'China',
962              currency_code: 'CNY'
963            },
964          
965            {
966              iso_code: 'CO',
967              name: 'Colombia',
968              currency_code: 'USD'
969            },
970          
971            {
972              iso_code: 'KM',
973              name: 'Comoros',
974              currency_code: 'KMF'
975            },
976          
977            {
978              iso_code: 'CK',
979              name: 'Cook Islands',
980              currency_code: 'NZD'
981            },
982          
983            {
984              iso_code: 'CR',
985              name: 'Costa Rica',
986              currency_code: 'CRC'
987            },
988          
989            {
990              iso_code: 'HR',
991              name: 'Croatia',
992              currency_code: 'EUR'
993            },
994          
995            {
996              iso_code: 'CW',
997              name: 'Curaçao',
998              currency_code: 'ANG'
999            },
1000          
1001            {
1002              iso_code: 'CY',
1003              name: 'Cyprus',
1004              currency_code: 'EUR'
1005            },
1006          
1007            {
1008              iso_code: 'CZ',
1009              name: 'Czechia',
1010              currency_code: 'CZK'
1011            },
1012          
1013            {
1014              iso_code: 'DK',
1015              name: 'Denmark',
1016              currency_code: 'DKK'
1017            },
1018          
1019            {
1020              iso_code: 'DJ',
1021              name: 'Djibouti',
1022              currency_code: 'DJF'
1023            },
1024          
1025            {
1026              iso_code: 'DM',
1027              name: 'Dominica',
1028              currency_code: 'XCD'
1029            },
1030          
1031            {
1032              iso_code: 'DO',
1033              name: 'Dominican Republic',
1034              currency_code: 'DOP'
1035            },
1036          
1037            {
1038              iso_code: 'EC',
1039              name: 'Ecuador',
1040              currency_code: 'USD'
1041            },
1042          
1043            {
1044              iso_code: 'EG',
1045              name: 'Egypt',
1046              currency_code: 'EGP'
1047            },
1048          
1049            {
1050              iso_code: 'SV',
1051              name: 'El Salvador',
1052              currency_code: 'USD'
1053            },
1054          
1055            {
1056              iso_code: 'GQ',
1057              name: 'Equatorial Guinea',
1058              currency_code: 'XAF'
1059            },
1060          
1061            {
1062              iso_code: 'EE',
1063              name: 'Estonia',
1064              currency_code: 'EUR'
1065            },
1066          
1067            {
1068              iso_code: 'SZ',
1069              name: 'Eswatini',
1070              currency_code: 'USD'
1071            },
1072          
1073            {
1074              iso_code: 'ET',
1075              name: 'Ethiopia',
1076              currency_code: 'ETB'
1077            },
1078          
1079            {
1080              iso_code: 'FK',
1081              name: 'Falkland Islands',
1082              currency_code: 'FKP'
1083            },
1084          
1085            {
1086              iso_code: 'FO',
1087              name: 'Faroe Islands',
1088              currency_code: 'DKK'
1089            },
1090          
1091            {
1092              iso_code: 'FJ',
1093              name: 'Fiji',
1094              currency_code: 'FJD'
1095            },
1096          
1097            {
1098              iso_code: 'FI',
1099              name: 'Finland',
1100              currency_code: 'EUR'
1101            },
1102          
1103            {
1104              iso_code: 'FR',
1105              name: 'France',
1106              currency_code: 'EUR'
1107            },
1108          
1109            {
1110              iso_code: 'GF',
1111              name: 'French Guiana',
1112              currency_code: 'EUR'
1113            },
1114          
1115            {
1116              iso_code: 'PF',
1117              name: 'French Polynesia',
1118              currency_code: 'XPF'
1119            },
1120          
1121            {
1122              iso_code: 'GA',
1123              name: 'Gabon',
1124              currency_code: 'XOF'
1125            },
1126          
1127            {
1128              iso_code: 'GM',
1129              name: 'Gambia',
1130              currency_code: 'GMD'
1131            },
1132          
1133            {
1134              iso_code: 'GE',
1135              name: 'Georgia',
1136              currency_code: 'USD'
1137            },
1138          
1139            {
1140              iso_code: 'DE',
1141              name: 'Germany',
1142              currency_code: 'EUR'
1143            },
1144          
1145            {
1146              iso_code: 'GH',
1147              name: 'Ghana',
1148              currency_code: 'USD'
1149            },
1150          
1151            {
1152              iso_code: 'GI',
1153              name: 'Gibraltar',
1154              currency_code: 'GBP'
1155            },
1156          
1157            {
1158              iso_code: 'GR',
1159              name: 'Greece',
1160              currency_code: 'EUR'
1161            },
1162          
1163            {
1164              iso_code: 'GL',
1165              name: 'Greenland',
1166              currency_code: 'DKK'
1167            },
1168          
1169            {
1170              iso_code: 'GD',
1171              name: 'Grenada',
1172              currency_code: 'XCD'
1173            },
1174          
1175            {
1176              iso_code: 'GP',
1177              name: 'Guadeloupe',
1178              currency_code: 'EUR'
1179            },
1180          
1181            {
1182              iso_code: 'GT',
1183              name: 'Guatemala',
1184              currency_code: 'GTQ'
1185            },
1186          
1187            {
1188              iso_code: 'GG',
1189              name: 'Guernsey',
1190              currency_code: 'GBP'
1191            },
1192          
1193            {
1194              iso_code: 'GN',
1195              name: 'Guinea',
1196              currency_code: 'GNF'
1197            },
1198          
1199            {
1200              iso_code: 'GW',
1201              name: 'Guinea-Bissau',
1202              currency_code: 'XOF'
1203            },
1204          
1205            {
1206              iso_code: 'GY',
1207              name: 'Guyana',
1208              currency_code: 'GYD'
1209            },
1210          
1211            {
1212              iso_code: 'HT',
1213              name: 'Haiti',
1214              currency_code: 'USD'
1215            },
1216          
1217            {
1218              iso_code: 'HN',
1219              name: 'Honduras',
1220              currency_code: 'HNL'
1221            },
1222          
1223            {
1224              iso_code: 'HK',
1225              name: 'Hong Kong SAR',
1226              currency_code: 'HKD'
1227            },
1228          
1229            {
1230              iso_code: 'HU',
1231              name: 'Hungary',
1232              currency_code: 'HUF'
1233            },
1234          
1235            {
1236              iso_code: 'IS',
1237              name: 'Iceland',
1238              currency_code: 'ISK'
1239            },
1240          
1241            {
1242              iso_code: 'IN',
1243              name: 'India',
1244              currency_code: 'INR'
1245            },
1246          
1247            {
1248              iso_code: 'ID',
1249              name: 'Indonesia',
1250              currency_code: 'IDR'
1251            },
1252          
1253            {
1254              iso_code: 'IE',
1255              name: 'Ireland',
1256              currency_code: 'EUR'
1257            },
1258          
1259            {
1260              iso_code: 'IL',
1261              name: 'Israel',
1262              currency_code: 'ILS'
1263            },
1264          
1265            {
1266              iso_code: 'IT',
1267              name: 'Italy',
1268              currency_code: 'EUR'
1269            },
1270          
1271            {
1272              iso_code: 'JM',
1273              name: 'Jamaica',
1274              currency_code: 'JMD'
1275            },
1276          
1277            {
1278              iso_code: 'JP',
1279              name: 'Japan',
1280              currency_code: 'JPY'
1281            },
1282          
1283            {
1284              iso_code: 'JE',
1285              name: 'Jersey',
1286              currency_code: 'USD'
1287            },
1288          
1289            {
1290              iso_code: 'JO',
1291              name: 'Jordan',
1292              currency_code: 'USD'
1293            },
1294          
1295            {
1296              iso_code: 'KZ',
1297              name: 'Kazakhstan',
1298              currency_code: 'KZT'
1299            },
1300          
1301            {
1302              iso_code: 'KE',
1303              name: 'Kenya',
1304              currency_code: 'KES'
1305            },
1306          
1307            {
1308              iso_code: 'KI',
1309              name: 'Kiribati',
1310              currency_code: 'USD'
1311            },
1312          
1313            {
1314              iso_code: 'KW',
1315              name: 'Kuwait',
1316              currency_code: 'USD'
1317            },
1318          
1319            {
1320              iso_code: 'KG',
1321              name: 'Kyrgyzstan',
1322              currency_code: 'KGS'
1323            },
1324          
1325            {
1326              iso_code: 'LA',
1327              name: 'Laos',
1328              currency_code: 'LAK'
1329            },
1330          
1331            {
1332              iso_code: 'LV',
1333              name: 'Latvia',
1334              currency_code: 'EUR'
1335            },
1336          
1337            {
1338              iso_code: 'LS',
1339              name: 'Lesotho',
1340              currency_code: 'USD'
1341            },
1342          
1343            {
1344              iso_code: 'LI',
1345              name: 'Liechtenstein',
1346              currency_code: 'CHF'
1347            },
1348          
1349            {
1350              iso_code: 'LT',
1351              name: 'Lithuania',
1352              currency_code: 'EUR'
1353            },
1354          
1355            {
1356              iso_code: 'LU',
1357              name: 'Luxembourg',
1358              currency_code: 'EUR'
1359            },
1360          
1361            {
1362              iso_code: 'MO',
1363              name: 'Macao SAR',
1364              currency_code: 'MOP'
1365            },
1366          
1367            {
1368              iso_code: 'MG',
1369              name: 'Madagascar',
1370              currency_code: 'USD'
1371            },
1372          
1373            {
1374              iso_code: 'MW',
1375              name: 'Malawi',
1376              currency_code: 'MWK'
1377            },
1378          
1379            {
1380              iso_code: 'MY',
1381              name: 'Malaysia',
1382              currency_code: 'MYR'
1383            },
1384          
1385            {
1386              iso_code: 'MV',
1387              name: 'Maldives',
1388              currency_code: 'MVR'
1389            },
1390          
1391            {
1392              iso_code: 'MT',
1393              name: 'Malta',
1394              currency_code: 'EUR'
1395            },
1396          
1397            {
1398              iso_code: 'MQ',
1399              name: 'Martinique',
1400              currency_code: 'EUR'
1401            },
1402          
1403            {
1404              iso_code: 'MR',
1405              name: 'Mauritania',
1406              currency_code: 'USD'
1407            },
1408          
1409            {
1410              iso_code: 'MU',
1411              name: 'Mauritius',
1412              currency_code: 'MUR'
1413            },
1414          
1415            {
1416              iso_code: 'YT',
1417              name: 'Mayotte',
1418              currency_code: 'EUR'
1419            },
1420          
1421            {
1422              iso_code: 'MX',
1423              name: 'Mexico',
1424              currency_code: 'MXN'
1425            },
1426          
1427            {
1428              iso_code: 'MD',
1429              name: 'Moldova',
1430              currency_code: 'MDL'
1431            },
1432          
1433            {
1434              iso_code: 'MC',
1435              name: 'Monaco',
1436              currency_code: 'EUR'
1437            },
1438          
1439            {
1440              iso_code: 'MN',
1441              name: 'Mongolia',
1442              currency_code: 'MNT'
1443            },
1444          
1445            {
1446              iso_code: 'ME',
1447              name: 'Montenegro',
1448              currency_code: 'EUR'
1449            },
1450          
1451            {
1452              iso_code: 'MS',
1453              name: 'Montserrat',
1454              currency_code: 'XCD'
1455            },
1456          
1457            {
1458              iso_code: 'MA',
1459              name: 'Morocco',
1460              currency_code: 'MAD'
1461            },
1462          
1463            {
1464              iso_code: 'MZ',
1465              name: 'Mozambique',
1466              currency_code: 'USD'
1467            },
1468          
1469            {
1470              iso_code: 'NA',
1471              name: 'Namibia',
1472              currency_code: 'USD'
1473            },
1474          
1475            {
1476              iso_code: 'NR',
1477              name: 'Nauru',
1478              currency_code: 'AUD'
1479            },
1480          
1481            {
1482              iso_code: 'NP',
1483              name: 'Nepal',
1484              currency_code: 'NPR'
1485            },
1486          
1487            {
1488              iso_code: 'NL',
1489              name: 'Netherlands',
1490              currency_code: 'EUR'
1491            },
1492          
1493            {
1494              iso_code: 'NC',
1495              name: 'New Caledonia',
1496              currency_code: 'XPF'
1497            },
1498          
1499            {
1500              iso_code: 'NZ',
1501              name: 'New Zealand',
1502              currency_code: 'NZD'
1503            },
1504          
1505            {
1506              iso_code: 'NI',
1507              name: 'Nicaragua',
1508              currency_code: 'NIO'
1509            },
1510          
1511            {
1512              iso_code: 'NG',
1513              name: 'Nigeria',
1514              currency_code: 'NGN'
1515            },
1516          
1517            {
1518              iso_code: 'NU',
1519              name: 'Niue',
1520              currency_code: 'NZD'
1521            },
1522          
1523            {
1524              iso_code: 'MK',
1525              name: 'North Macedonia',
1526              currency_code: 'MKD'
1527            },
1528          
1529            {
1530              iso_code: 'NO',
1531              name: 'Norway',
1532              currency_code: 'USD'
1533            },
1534          
1535            {
1536              iso_code: 'OM',
1537              name: 'Oman',
1538              currency_code: 'USD'
1539            },
1540          
1541            {
1542              iso_code: 'PK',
1543              name: 'Pakistan',
1544              currency_code: 'PKR'
1545            },
1546          
1547            {
1548              iso_code: 'PA',
1549              name: 'Panama',
1550              currency_code: 'USD'
1551            },
1552          
1553            {
1554              iso_code: 'PG',
1555              name: 'Papua New Guinea',
1556              currency_code: 'PGK'
1557            },
1558          
1559            {
1560              iso_code: 'PY',
1561              name: 'Paraguay',
1562              currency_code: 'PYG'
1563            },
1564          
1565            {
1566              iso_code: 'PE',
1567              name: 'Peru',
1568              currency_code: 'PEN'
1569            },
1570          
1571            {
1572              iso_code: 'PH',
1573              name: 'Philippines',
1574              currency_code: 'PHP'
1575            },
1576          
1577            {
1578              iso_code: 'PL',
1579              name: 'Poland',
1580              currency_code: 'PLN'
1581            },
1582          
1583            {
1584              iso_code: 'PT',
1585              name: 'Portugal',
1586              currency_code: 'EUR'
1587            },
1588          
1589            {
1590              iso_code: 'QA',
1591              name: 'Qatar',
1592              currency_code: 'QAR'
1593            },
1594          
1595            {
1596              iso_code: 'RE',
1597              name: 'Réunion',
1598              currency_code: 'EUR'
1599            },
1600          
1601            {
1602              iso_code: 'RO',
1603              name: 'Romania',
1604              currency_code: 'RON'
1605            },
1606          
1607            {
1608              iso_code: 'RW',
1609              name: 'Rwanda',
1610              currency_code: 'RWF'
1611            },
1612          
1613            {
1614              iso_code: 'WS',
1615              name: 'Samoa',
1616              currency_code: 'WST'
1617            },
1618          
1619            {
1620              iso_code: 'SM',
1621              name: 'San Marino',
1622              currency_code: 'EUR'
1623            },
1624          
1625            {
1626              iso_code: 'ST',
1627              name: 'São Tomé &amp; Príncipe',
1628              currency_code: 'STD'
1629            },
1630          
1631            {
1632              iso_code: 'SA',
1633              name: 'Saudi Arabia',
1634              currency_code: 'SAR'
1635            },
1636          
1637            {
1638              iso_code: 'SN',
1639              name: 'Senegal',
1640              currency_code: 'XOF'
1641            },
1642          
1643            {
1644              iso_code: 'RS',
1645              name: 'Serbia',
1646              currency_code: 'RSD'
1647            },
1648          
1649            {
1650              iso_code: 'SC',
1651              name: 'Seychelles',
1652              currency_code: 'USD'
1653            },
1654          
1655            {
1656              iso_code: 'SL',
1657              name: 'Sierra Leone',
1658              currency_code: 'SLL'
1659            },
1660          
1661            {
1662              iso_code: 'SG',
1663              name: 'Singapore',
1664              currency_code: 'SGD'
1665            },
1666          
1667            {
1668              iso_code: 'SK',
1669              name: 'Slovakia',
1670              currency_code: 'EUR'
1671            },
1672          
1673            {
1674              iso_code: 'SI',
1675              name: 'Slovenia',
1676              currency_code: 'EUR'
1677            },
1678          
1679            {
1680              iso_code: 'SB',
1681              name: 'Solomon Islands',
1682              currency_code: 'SBD'
1683            },
1684          
1685            {
1686              iso_code: 'ZA',
1687              name: 'South Africa',
1688              currency_code: 'ZAR'
1689            },
1690          
1691            {
1692              iso_code: 'KR',
1693              name: 'South Korea',
1694              currency_code: 'KRW'
1695            },
1696          
1697            {
1698              iso_code: 'ES',
1699              name: 'Spain',
1700              currency_code: 'EUR'
1701            },
1702          
1703            {
1704              iso_code: 'LK',
1705              name: 'Sri Lanka',
1706              currency_code: 'LKR'
1707            },
1708          
1709            {
1710              iso_code: 'BL',
1711              name: 'St. Barthélemy',
1712              currency_code: 'EUR'
1713            },
1714          
1715            {
1716              iso_code: 'KN',
1717              name: 'St. Kitts &amp; Nevis',
1718              currency_code: 'XCD'
1719            },
1720          
1721            {
1722              iso_code: 'LC',
1723              name: 'St. Lucia',
1724              currency_code: 'XCD'
1725            },
1726          
1727            {
1728              iso_code: 'MF',
1729              name: 'St. Martin',
1730              currency_code: 'EUR'
1731            },
1732          
1733            {
1734              iso_code: 'VC',
1735              name: 'St. Vincent &amp; Grenadines',
1736              currency_code: 'XCD'
1737            },
1738          
1739            {
1740              iso_code: 'SR',
1741              name: 'Suriname',
1742              currency_code: 'USD'
1743            },
1744          
1745            {
1746              iso_code: 'SE',
1747              name: 'Sweden',
1748              currency_code: 'SEK'
1749            },
1750          
1751            {
1752              iso_code: 'CH',
1753              name: 'Switzerland',
1754              currency_code: 'CHF'
1755            },
1756          
1757            {
1758              iso_code: 'TW',
1759              name: 'Taiwan',
1760              currency_code: 'TWD'
1761            },
1762          
1763            {
1764              iso_code: 'TZ',
1765              name: 'Tanzania',
1766              currency_code: 'TZS'
1767            },
1768          
1769            {
1770              iso_code: 'TH',
1771              name: 'Thailand',
1772              currency_code: 'THB'
1773            },
1774          
1775            {
1776              iso_code: 'TL',
1777              name: 'Timor-Leste',
1778              currency_code: 'USD'
1779            },
1780          
1781            {
1782              iso_code: 'TG',
1783              name: 'Togo',
1784              currency_code: 'XOF'
1785            },
1786          
1787            {
1788              iso_code: 'TO',
1789              name: 'Tonga',
1790              currency_code: 'TOP'
1791            },
1792          
1793            {
1794              iso_code: 'TT',
1795              name: 'Trinidad &amp; Tobago',
1796              currency_code: 'TTD'
1797            },
1798          
1799            {
1800              iso_code: 'TN',
1801              name: 'Tunisia',
1802              currency_code: 'USD'
1803            },
1804          
1805            {
1806              iso_code: 'TC',
1807              name: 'Turks &amp; Caicos Islands',
1808              currency_code: 'USD'
1809            },
1810          
1811            {
1812              iso_code: 'TV',
1813              name: 'Tuvalu',
1814              currency_code: 'AUD'
1815            },
1816          
1817            {
1818              iso_code: 'UG',
1819              name: 'Uganda',
1820              currency_code: 'UGX'
1821            },
1822          
1823            {
1824              iso_code: 'AE',
1825              name: 'United Arab Emirates',
1826              currency_code: 'AED'
1827            },
1828          
1829            {
1830              iso_code: 'GB',
1831              name: 'United Kingdom',
1832              currency_code: 'GBP'
1833            },
1834          
1835            {
1836              iso_code: 'US',
1837              name: 'United States',
1838              currency_code: 'USD'
1839            },
1840          
1841            {
1842              iso_code: 'UY',
1843              name: 'Uruguay',
1844              currency_code: 'UYU'
1845            },
1846 
1846         
1847            {
1848              iso_code: 'UZ',
1849              name: 'Uzbekistan',
1850              currency_code: 'UZS'
1851            },
1852          
1853            {
1854              iso_code: 'VU',
1855              name: 'Vanuatu',
1856              currency_code: 'VUV'
1857            },
1858          
1859            {
1860              iso_code: 'VN',
1861              name: 'Vietnam',
1862              currency_code: 'VND'
1863            },
1864          
1865            {
1866              iso_code: 'ZM',
1867              name: 'Zambia',
1868              currency_code: 'USD'
1869            }
1870          
1871        ]
1872    };
1873  
1874</script>
1874
1875<!-- END app snippet -->
1876
1877
1878
1879  <!-- BEGIN app snippet: customer-hub-replace-links -->
1880<script>
1881  function replaceAccountLinks() {
1882    const selector =
1883      'a[href$="/account/login"], a[href$="/account"], a[href^="https://shopify.com/"][href*="/account"], a[href*="/customer_identity/redirect"], a[href*="/customer_authentication/redirect"], a[href$="/account';
1884    const accountLinksNodes = document.querySelectorAll(selector);
1885    for (const node of accountLinksNodes) {
1886      const ignore = node.dataset.kHubIgnore !== undefined && node.dataset.kHubIgnore !== 'false';
1887      if (!ignore) {
1888        // Any login links to Shopify's account system, point them at the customer hub instead.
1889        node.href = '#k-hub';
1890        /**
1891         * There are some themes which apply a page transition on every click of an anchor tag (usually a fade-out) that's supposed to be faded back in when the next page loads.
1892         * However, since clicking the k-hub link doesn't trigger a page load, the page gets stuck on a blank screen.
1893         * Luckily, these themes usually have a className you can add to links to skip the transition.
1894         * Let's hope that all such themes are consistent/copy each other and just proactively add those classNames when we replace the link.
1895         **/
1896        node.classList.add('no-transition', 'js-no-transition');
1897      }
1898    }
1899  }
1900
1901  
1902    if (document.readyState === 'complete') {
1903      replaceAccountLinks();
1904    } else {
1905      const controller = new AbortController();
1906      document.addEventListener(
1907        'readystatechange',
1908        () => {
1909          replaceAccountLinks(); // try to replace links both during `interactive` state and `complete` state
1910          if (document.readyState === 'complete') {
1911            // readystatechange can fire with "complete" multiple times per page load, so make sure we're not duplicating effort
1912            // by removing the listener afterwards.
1913            controller.abort();
1914          }
1915        },
1916        { signal: controller.signal },
1917      );
1918    }
1919  
1920</script>
1920
1921<!-- END app snippet -->
1922
1923
1924
1925
1926
1927<!-- END app block --><!-- BEGIN app block: shopify://apps/black-crow-ai-that-delivers/blocks/blackcrow_ai_script/3e73f597-cb71-47a1-8a06-0c931482ecd2 -->
1928
1929<script type="text/javascript" async src="https://shopify-init.blackcrow.ai/js/core/shortylove.js?shop=shortylove.myshopify.com&tagSrc=ShopifyThemeAppExtension"></script>
1929
1930
1931
1932<!-- END app block --><!-- BEGIN app block: shopify://apps/le-pixel/blocks/app-embed/ed69facb-49c9-4e93-9d56-146cc0aa96f6 --><link rel="preconnect dns-prefetch" href="https://m6ulblxep4.execute-api.us-east-1.amazonaws.com" crossorigin>
1933<script>
1934    window.shopDomain = 'shortylove.myshopify.com'
1935    window.customerId = null
1936</script>
1936
1937<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-loyalty-rewards/blocks/loader-app-embed-block/2f9660df-5018-4e02-9868-ee1fb88d6ccd -->
1938    
1938<script src="https://cdn-widgetsrepository.yotpo.com/v1/loader/" async></script>
1938
1939
1940
1941
1942
1943<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
1944<script type="text/javascript">
1945  (function (c, l, a, r, i, t, y) {
1946    c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); };
1947    t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify";
1948    y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
1949
1950    c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => {
1951      if (error) {
1952        console.error("Error loading Shopify features:", error);
1953        return;
1954      }
1955
1956      c[a]('consentv2', {
1957        ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied",
1958        analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied",
1959        source: 101,
1960      });
1961    });
1962
1963    l.addEventListener("visitorConsentCollected", function (e) {
1964      c[a]('consentv2', {
1965        ad_Storage: e.detail.marketingAllowed ? "granted" : "denied",
1966        analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied",
1967        source: 101,
1968      });
1969    });
1970  })(window, document, "clarity", "script", "srxyk72t6l");
1971</script>
1971
1972
1973
1974
1975<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-product-reviews/blocks/settings/eb7dfd7d-db44-4334-bc49-c893b51b36cf -->
1976
1977
1978  
1978<script type="text/javascript" src="https://cdn-widgetsrepository.yotpo.com/v1/loader/GX51pGwCy0oGc4StNDtDvhWeuzhVHXAdsR1bQO9g?languageCode=en" async></script>
1978
1979
1980
1981
1982  
1983<!-- END app block -->
1983<script src="https://cdn.shopify.com/extensions/01a0d8e2-11f2-76c1-8dac-f5a50e4722e6/loop-returns-503/assets/onstore-block.js" type="text/javascript" defer="defer"></script>
1983
1984<link href="https://cdn.shopify.com/extensions/01a0d8e2-11f2-76c1-8dac-f5a50e4722e6/loop-returns-503/assets/onstore-block.css" rel="stylesheet" type="text/css" media="all">
1985<script src="https://cdn.shopify.com/extensions/019ff4f9-80ea-753d-a24d-33b025394dcf/deliverr-fast-tags-1-12/assets/main.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1985
1985
1986<script src="https://cdn.shopify.com/extensions/019ef523-59f1-7c85-811d-f9b3c853e576/le-pixel-69/assets/pixel-page-view.js" type="text/javascript" defer="defer"></script>
1986
1987<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1988<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 29857554,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1988
1988
1989<script>
1990  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1991</script>
vendor: 1 bytes, line 1991
1991
1992<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1992).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 29857554,storefrontBaseUrl: "https://www.shortylove.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.shortylove.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2365194391","configuration":"{\"storeId\":\"707197a2-a69c-4a05-ad96-1d08884de9bd\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9b5c7e9eba54366aed35e340586c8163","type":"APP","apiClientId":274629623809,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2021949591","configuration":"{\"shopID\": \"75000\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d22b5691c62682d22357c5bcbea63a2b","type":"APP","apiClientId":3780451,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"}
1992,{"id":"1893007511","configuration":"{\"accountID\":\"74c6eca0-647c-4823-afb4-5048ef4838de\",\"TrackEventEndpoint\":\"https:\/\/forms.shortylove.com\/jnxs3jkh45\/idfj9ksdf2ler67aa22\/v1\/klaviyo\/TrackEventJson\/?platform=d\u0026user_guid=74c6eca0-647c-4823-afb4-5048ef4838de\u0026integration_id=78053\u0026custom_payload=true\",\"IsTpauEnabled\":\"true\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a873d0b190720fd5ddfc383fbc4f9909","type":"APP","apiClientId":213046034433,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1865678999","configuration":"{\"advertiserId\":\"91477\",\"shopDomain\":\"shortylove.myshopify.com\",\"appVersion\":\"shopifyApp_5.3.0\",\"originalNetwork\":\"sas\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c287d09bac7e7a912a76f3941fab1c2f","type":"APP","apiClientId":2887701,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1865318551","configuration":"{\"shop\":\"shortylove.myshopify.com\", \"shopliftUrl\":\"https:\/\/events.shoplift.ai\/api\/events\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"dabcda9558be25394b12ce3ce899568b","type":"APP","apiClientId":7521861633,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1380057239","configuration":"{\"accountID\":\"NsQGyp\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1340211351","configuration":"{\"accountID\":\"shortylove\",\"enabled\":\"true\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"89b8fc7bacd986277f3307e7b7701ff0","type":"APP","apiClientId":2489611,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1215365271","configuration":"{\"projectId\":\"srxyk72t6l\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1183088791","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"f92d7cfd1521456d481ee553d236893f","type":"APP","apiClientId":30400643073,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"943358103","configuration":"{\"accountID\":\"949c4153-6aa9-49e1-a51c-934665044285\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"31a2d548e70c3f0f271a3b3356ee9334","type":"APP","apiClientId":2415836,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"768278679","configuration":"{\"accountID\":\"le_pixel\",\"leEnricherEnabled\":\"False\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"83fc2302cab95552282c1737f9aba9c1","type":"APP","apiClientId":166841712641,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"566722711","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"AW-763332094\\\",\\\"GT-577ZG3D\\\",\\\"G-Y1TES16MTY\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"AW-763332094\\\/v-iUCN2K59gBEP6L_usC\\\",\\\"G-Y1TES16MTY\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"AW-763332094\\\/2AgDCNqK59gBEP6L_usC\\\",\\\"G-Y1TES16MTY\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"AW-763332094\\\/CkAjCNSK59gBEP6L_usC\\\",\\\"MC-1MMFQ49THR\\\",\\\"G-Y1TES16MTY\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"AW-763332094\\\/JSTyCNGK59gBEP6L_usC\\\",\\\"MC-1MMFQ49THR\\\",\\\"AW-763332094\\\/Acx-CObXgN4DEP6L_usC\\\",\\\"G-Y1TES16MTY\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"AW-763332094\\\/5uO7COuG59gBEP6L_usC\\\",\\\"MC-1MMFQ49THR\\\",\\\"G-Y1TES16MTY\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"AW-763332094\\\/hVXZCNiL59gBEP6L_usC\\\",\\\"G-Y1TES16MTY\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"AW-763332094\\\/vkpNCNeK59gBEP6L_usC\\\",\\\"G-Y1TES16MTY\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"40665239","configuration":"{\"shop_id\":\"shortylove.mysh
1992opify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d5624be04709da2f8b8f0aab4279794d","type":"APP","apiClientId":6615189,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"3997847","configuration":"{ \"bundleName\": \"shortylove\" }","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6d69af31d151d9c0dc4842dc2c8531ca","type":"APP","apiClientId":5106349,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"39977111","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"AddShoppers"},{"id":"139329687","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"customersai"},{"id":"151683223","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"3","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Hue Custom Pixel"},{"id":"153288855","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"Post-Purchase All Events"}
1992,{"id":"162201751","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"],"name":"Universal Ads Page View "},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"shortyLOVE","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"shortylove.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.shortylove.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.shortylove.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"148520042647","themePublished":"true","eventMetadataId":"67c09da1-fefd-481a-8cce-d0944b8e06cb","shopId":"29857554","storefrontBaseUrl":"https:\/\/www.shortylove.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1992<script>
1993  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1994  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1995  window.ShopifyAnalytics.meta.currency = 'USD';
1996  var meta = {"page":{"requestId":"c53e79e5-d7bb-4c5f-9b0d-a5b27a8ebf90-1790349759"}};
1997  for (var attr in meta) {
1998    window.ShopifyAnalytics.meta[attr] = meta[attr];
1999  }
2000</script>
vendor: 1 bytes, line 2000
2000
2001<script class="analytics">
2002  (function () {
2003    var customDocumentWrite = function(content) {
2004      var jquery = null;
2005
2006      if (window.jQuery) {
2007        jquery = window.jQuery;
2008      } else if (window.Checkout && window.Checkout.$) {
2009        jquery = window.Checkout.$;
2010      }
2011
2012      if (jquery) {
2013        jquery('body').append(content);
2014      }
2015    };
2016
2017    var hasLoggedConversion = function(token) {
2018      if (token) {
2019        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
2020      }
2021      return false;
2022    }
2023
2024    var setCookieIfConversion = function(token) {
2025      if (token) {
2026        var twoMonthsFromNow = new Date(Date.now());
2027        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
2028
2029        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
2030      }
2031    }
2032
2033    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
2034    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
2035    if (trekkie.integrations) {
2036      return;
2037    }
2038    trekkie.methods = [
2039      'identify',
2040      'page',
2041      'ready',
2042      'track',
2043      'trackForm',
2044      'trackLink'
2045    ];
2046    trekkie.factory = function(method) {
2047      return function() {
2048        var args = Array.prototype.slice.call(arguments);
2049        args.unshift(method);
2050        trekkie.push(args);
2051        if (method == 'track' || method == 'page') {
2052          var pageUrl;
2053          try {
2054            pageUrl = window.location.href;
2055          } catch (e) {}
2056          var pageReferrer;
2057          try {
2058            pageReferrer = document.referrer;
2059          } catch (e) {}
2060          try {
2061            if (window.__TREKKIE_SHIM_QUEUE == null) {
2062              window.__TREKKIE_SHIM_QUEUE = [];
2063            }
2064            window.__TREKKIE_SHIM_QUEUE.push({
2065              from: 'trekkie-stub',
2066              method: method,
2067              args: args.slice(1),
2068              pageContext: {
2069                url: pageUrl,
2070                referrer: pageReferrer
2071              }
2072            });
2073          } catch (e) {
2074            // no-op
2075          }
2076        }
2077        return trekkie;
2078      };
2079    };
2080    for (var i = 0; i < trekkie.methods.length; i++) {
2081      var key = trekkie.methods[i];
2082      trekkie[key] = trekkie.factory(key);
2083    }
2084    trekkie.load = function(config) {
2085      trekkie.config = config || {};
2086      trekkie.config.initialDocumentCookie = document.cookie;
2087      var first = document.getElementsByTagName('script')[0];
2088var script = document.createElement('script');
2089script.type = 'text/javascript';
2090script.onerror = function(e) {
2091  var scriptFallback = document.createElement('script');
2092  scriptFallback.type = 'text/javascript';
2093  scriptFallback.onerror = function(error) {
2094          var Monorail = {
2095      produce: function produce(monorailDomain, schemaId, payload) {
2096        var currentMs = new Date().getTime();
2097        var event = {
2098          schema_id: schemaId,
2099          payload: payload,
2100          metadata: {
2101            event_created_at_ms: currentMs,
2102            event_sent_at_ms: currentMs
2103          }
2104        };
2105        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
2106      },
2107      sendRequest: function sendRequest(endpointUrl, payload) {
2108        // Try the sendBeacon API
2109        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
2110          var blobData = new window.Blob([payload], {
2111            type: 'text/plain'
2112          });
2113
2114          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
2115            return true;
2116          } // sendBeacon was not successful
2117
2118        } // XHR beacon
2119
2120        var xhr = new XMLHttpRequest();
2121
2122        try {
2123          xhr.open('POST', endpointUrl);
2124          xhr.setRequestHeader('Content-Type', 'text/plain');
2125          xhr.send(payload);
2126        } catch (e) {
2127          console.log(e);
2128        }
2129
2130        return false;
2131      },
2132      isIos12: function isIos12() {
2133        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
2134      }
2135    };
2136    Monorail.produce('monorail-edge.shopifysvc.com',
2137      'trekkie_storefront_load_errors/1.1',
2138      {shop_id: 29857554,
2139      theme_id: 148520042647,
2140      app_name: "storefront",
2141      context_url: window.location.href,
2142      source_url: "//www.shortylove.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
2143
2144  };
2145  scriptFallback.async = true;
2146  scriptFallback.src = '//www.shortylove.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
2147  first.parentNode.insertBefore(scriptFallback, first);
2148};
2149script.async = true;
2150script.src = '//www.shortylove.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
2151first.parentNode.insertBefore(script, first);
2152
2153    };
2154    trekkie.load(
2155      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":29857554,"isMerchantRequest":null,"themeId":148520042647,"themeCityHash":"5030295222086391186","contentLanguage":"en","currency":"USD","eventMetadataId":"67c09da1-fefd-481a-8cce-d0944b8e06cb"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
2156    );
2157
2158    var loaded = false;
2159    trekkie.ready(function() {
2160      if (loaded) return;
2161      loaded = true;
2162
2163      window.ShopifyAnalytics.lib = window.trekkie;
2164
2165      var originalDocumentWrite = document.write;
2166      document.write = customDocumentWrite;
2167      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
2168      document.write = originalDocumentWrite;
2169
2170      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
2171      var token = match? match[1]: undefined;
2172      if (!hasLoggedConversion(token)) {
2173        setCookieIfConversion(token);
2174        
2175      }
2176    });
2177
2178    window.ShopifyAnalytics.lib.page(null,{"requestId":"c53e79e5-d7bb-4c5f-9b0d-a5b27a8ebf90-1790349759","shopifyEmitted":true});
2179
2180    var eventsListenerScript = document.createElement('script');
2181    eventsListenerScript.async = true;
2182    eventsListenerScript.src = "//www.shortylove.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
2183    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
2184})();</script>
vendor: 1 bytes, line 2184
2184
2185<script
2186  defer
2187  src="https://www.shortylove.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
2188  data-application="storefront-renderer"
2189  data-shop-id="29857554"
2190  data-render-region="gcp-us-east1"
2191  data-page-type="customers/login"
2192  data-theme-instance-id="148520042647"
2193  data-theme-name="Prestige"
2194  data-theme-version="10.11.1"
2195  data-monorail-region="shop_domain"
2196  data-resource-timing-sampling-rate="10"
2197  data-shs="true"
2198  data-shs-beacon="true"
2199  data-shs-export-with-fetch="true"
2200  data-shs-logs-sample-rate="1"
2201  data-shs-beacon-endpoint="https://www.shortylove.com/api/collect"
2202></script>
2202
2203<meta name="shopify-y" content="7fb226fa-db6e-4954-a72f-4cb6e7c1592e" data-expiration="1821907359000"><meta name="shopify-s" content="d21607dd-c33b-4484-98de-79e2183f23b3" data-expiration="1790351559000"><meta name="new-cookie-storage-activated" content="t">
2204</head>
2205
2206  
2207
2208  <body class="features--button-transition features--zoom-image  color-scheme color-scheme--scheme-1"><template id="drawer-default-template">
2209  <div part="base">
2210    <div part="overlay"></div>
2211
2212    <div part="content">
2213      <header part="header">
2214        <slot name="header"></slot>
2215
2216        <dialog-close-button style="display: contents">
2217          <button type="button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="14" class="icon icon-close" viewBox="0 0 16 16">
2218      <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1"/>
2219    </svg>
2220
2221  </button>
2222        </dialog-close-button>
2223      </header>
2224
2225      <div part="body">
2226        <slot></slot>
2227      </div>
2228
2229      <footer part="footer">
2230        <slot name="footer"></slot>
2231      </footer>
2232    </div>
2233  </div>
2234</template><template id="modal-default-template">
2235  <div part="base">
2236    <div part="overlay"></div>
2237
2238    <div part="content">
2239      <header part="header">
2240        <slot name="header"></slot>
2241
2242        <dialog-close-button style="display: contents">
2243          <button type="button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="14" class="icon icon-close" viewBox="0 0 16 16">
2244      <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1"/>
2245    </svg>
2246
2247  </button>
2248        </dialog-close-button>
2249      </header>
2250
2251      <div part="body">
2252        <slot></slot>
2253      </div>
2254    </div>
2255  </div>
2256</template><template id="popover-default-template">
2257  <div part="base">
2258    <div part="overlay"></div>
2259
2260    <div part="content">
2261      <header part="header">
2262        <slot name="header"></slot>
2263
2264        <dialog-close-button style="display: contents">
2265          <button type="button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="14" class="icon icon-close" viewBox="0 0 16 16">
2266      <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1"/>
2267    </svg>
2268
2269  </button>
2270        </dialog-close-button>
2271      </header>
2272
2273      <div part="body">
2274        <slot></slot>
2275      </div>
2276    </div>
2277  </div>
2278</template><template id="header-search-default-template">
2279  <div part="base">
2280    <div part="overlay"></div>
2281
2282    <div part="content">
2283      <slot></slot>
2284    </div>
2285  </div>
2286</template><template id="video-media-default-template">
2287  <slot></slot>
2288
2289  <svg part="play-button" fill="none" width="48" height="48" viewBox="0 0 48 48">
2290    <path fill-rule="evenodd" clip-rule="evenodd" d="M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24Zm-18 0-9-6.6v13.2l9-6.6Z" fill="var(--play-button-background, #ffffff)"/>
2291  </svg>
2292</template><loading-bar class="loading-bar" aria-hidden="true"></loading-bar>
2293    <a href="#main" allow-hash-change class="skip-to-content sr-only">Skip to content</a><div class="sr-only" role="status" aria-live="polite" aria-atomic="true">
2294      <span id="status-announcement"></span>
2295    </div>
2296
2297    <div class="sr-only" role="alert" aria-live="assertive" aria-atomic="true">
2298      <span id="error-announcement"></span>
2299    </div>
2300
2301    <span id="header-scroll-tracker" style="position: absolute; width: 1px; height: 1px; top: var(--header-scroll-tracker-offset, 10px); left: 0;"></span><!-- BEGIN sections: header-group -->
2302<aside id="shopify-section-sections--19678090330263__announcement_bar_zJmrpB" class="shopify-section shopify-section-group-header-group shopify-section--announcement-bar"></aside><header id="shopify-section-sections--19678090330263__header" class="shopify-section shopify-section-group-header-group shopify-section--header"><style>
2303  :root {
2304    --header-is-sticky: 1;
2305  }
2306
2307  #shopify-section-sections--19678090330263__header {
2308    --header-grid: "primary-nav logo secondary-nav" / minmax(0, 1fr) auto minmax(0, 1fr);
2309    --header-padding-block: 1rem;
2310    --header-transparent-header-text-color: 255 255 255;
2311    --header-separation-border-color: 28 28 28 / 0.15;
2312
2313    position: relative;
2314    z-index: 4;
2315  }
2316
2317  #shopify-section-sections--19678090330263__header .header {
2318    column-gap: 20px;
2319    row-gap: 16px;
2320  }
2321
2322  @media screen and (max-width: 480px) {
2323    #shopify-section-sections--19678090330263__header .header__secondary-nav {
2324      gap: 0.25rem;
2325    }
2326  }
2327
2328  @media screen and (min-width: 700px) {
2329    #shopify-section-sections--19678090330263__header {
2330      --header-padding-block: 1.2rem;
2331    }
2332  }
2333
2334  @media screen and (min-width: 1000px) {
2335    #shopify-section-sections--19678090330263__header {--header-grid: "logo primary-nav secondary-nav" / minmax(max-content, 1fr) auto minmax(max-content, 1fr);}
2336  }#shopify-section-sections--19678090330263__header {
2337      position: sticky;
2338      top: 0;
2339    }
2340
2341    .shopify-section--announcement-bar ~ #shopify-section-sections--19678090330263__header {
2342      top: calc(var(--announcement-bar-is-sticky, 0) * var(--announcement-bar-height, 0px));
2343    }#shopify-section-sections--19678090330263__header {
2344      --header-logo-width: 145px;
2345    }
2346
2347    @media screen and (min-width: 700px) {
2348      #shopify-section-sections--19678090330263__header {
2349        --header-logo-width: 250px;
2350      }
2351    }</style>
2352
2353<height-observer variable="header">
2354  <x-header  class="header color-scheme color-scheme--scheme-2">
2355      <a href="/" class="header__logo"><span class="sr-only">shortyLOVE</span><img src="//www.shortylove.com/cdn/shop/files/3000x300_logo_w_tbg.png?v=1773684961&amp;width=3000" alt="shortyLOVE" srcset="//www.shortylove.com/cdn/shop/files/3000x300_logo_w_tbg.png?v=1773684961&amp;width=500 500w, //www.shortylove.com/cdn/shop/files/3000x300_logo_w_tbg.png?v=1773684961&amp;width=750 750w" width="3000" height="300" sizes="250px" class="header__logo-image" style="object-position:50.0% 97.168%;"></a>
2356    
2357<nav class="header__primary-nav header__primary-nav--center" aria-label="Primary navigation">
2358        <button type="button" aria-controls="sidebar-menu" class="md:hidden">
2359          <span class="sr-only">Navigation menu</span><svg aria-hidden="true" fill="none" focusable="false" width="24" class="header__nav-icon icon icon-hamburger" viewBox="0 0 24 24">
2360      <path d="M1 19h22M1 12h22M1 5h22" stroke="currentColor" stroke-width="1" stroke-linecap="square"/>
2361    </svg></button><ul class="contents unstyled-list md-max:hidden">
2362
2363              <li class="header__primary-nav-item"><dropdown-menu-disclosure follow-summary-link trigger="hover"><details class="header__menu-disclosure">
2364                      <summary data-follow-link="/collections/shop-all-products" class="h6" data-title="shop shorty">shop shorty</summary><ul class="header__dropdown-menu  unstyled-list" role="list"><li><dropdown-menu-disclosure follow-summary-link trigger="hover" class="contents">
2365                                  <details class="header__menu-disclosure">
2366                                    <summary data-follow-link="https://www.shortylove.com/collections/shop-all-products" class="link-faded-reverse">
2367                                      <div class="h-stack gap-4 justify-between">collections<svg aria-hidden="true" focusable="false" fill="none" width="8" class="icon icon-arrow-right  icon--direction-aware" viewBox="0 0 16 18">
2368      <path d="m5 17 8-8-8-8" stroke="currentColor" stroke-linecap="square"/>
2369    </svg></div>
2370                                    </summary>
2371
2372                                    <ul class="header__dropdown-menu unstyled-list" role="list"><li>
2373                                          <a href="https://www.shortylove.com/collections/shop-all-products" class="link-faded-reverse" >view all</a>
2374                                        </li><li>
2375                                          <a href="https://www.shortylove.com/collections/the-o-g-collection" class="link-faded-reverse" >the o.g. collection</a>
2376                                        </li><li>
2377                                          <a href="https://www.shortylove.com/collections/wave-quilt-collection" class="link-faded-reverse" >the wave quilt collection</a>
2378                                        </li><li>
2379                                          <a href="/collections/the-baby-bags-collection" class="link-faded-reverse" >baby</a>
2380                                        </li><li>
2381                                          <a href="https://www.shortylove.com/products/shortylove-gift-card" class="link-faded-reverse" >gift cards</a>
2382                                        </li><li>
2383                                          <a href="https://www.shortylove.com/pages/quiz" class="link-faded-reverse" >style quiz</a>
2384                                        </li></ul>
2385                                  </details>
2386                                </dropdown-menu-disclosure></li><li><dropdown-menu-disclosure follow-summary-link trigger="hover" class="contents">
2387                                  <details class="header__menu-disclosure">
2388                                    <summary data-follow-link="#" class="link-faded-reverse">
2389                                      <div class="h-stack gap-4 justify-between">styles<svg aria-hidden="true" focusable="false" fill="none" width="8" class="icon icon-arrow-right  icon--direction-aware" viewBox="0 0 16 18">
2390      <path d="m5 17 8-8-8-8" stroke="currentColor" stroke-linecap="square"/>
2391    </svg></div>
2392                                    </summary>
2393
2394                                    <ul class="header__dropdown-menu unstyled-list" role="list"><li>
2395                                          <a href="https://www.shortylove.com/collections/shop-all-products" class="link-faded-reverse" >view all </a>
2396                                        </li><li>
2397                                          <a href="https://www.shortylove.com/collections/crossbody-bags" class="link-faded-reverse" >crossbodies </a>
2398                                        </li><li>
2399                                          <a href="https://www.shortylove.com/collections/backpacks" class="link-faded-reverse" >backpacks</a>
2400                                        </li><li>
2401                                          <a href="https://www.shortylove.com/collections/tote-bags" class="link-faded-reverse" >totes</a>
2402                                        </li><li>
2403                                          <a href="https://www.shortylove.com/collections/wallets" class="link-faded-reverse" >clutches and wallets</a>
2404                                        </li><li>
2405                                          <a href="https://www.shortylove.com/collections/accessories" class="link-faded-reverse" >accessories</a>
2406                                        </li><li>
2407                                          <a href="https://www.shortylove.com/pages/quiz" class="link-faded-reverse" >style quiz</a>
2408                                        </li></ul>
2409                                  </details>
2410                                </dropdown-menu-disclosure></li><li><dropdown-menu-disclosure follow-summary-link trigger="hover" class="contents">
2411                                  <details class="header__menu-disclosure">
2412                                    <summary data-follow-link="#" class="link-faded-reverse">
2413                                      <div class="h-stack gap-4 justify-between">colors<svg aria-hidden="true" focusable="false" fill="none" width="8" class="icon icon-arrow-right  icon--direction-aware" viewBox="0 0 16 18">
2414      <path d="m5 17 8-8-8-8" stroke="currentColor" stroke-linecap="square"/>
2415    </svg></div>
2416                                    </summary>
2417
2418                                    <ul class="header__dropdown-menu unstyled-list" role="list"><li>
2419                                          <a href="/collections/all-color-collections" class="link-faded-reverse" >view all</a>
2420                                        </li><li>
2421                                          <a href="/collections/classic-neutrals-collection" class="link-faded-reverse" >classic neutrals</a>
2422                                        </li><li>
2423                                          <a href="/collections/blues-collection" class="link-faded-reverse" >blues</a>
2424                                        </li><li>
2425                                          <a href="/collections/greens-collection" class="link-faded-reverse" >greens</a>
2426                                        </li><li>
2427                                          <a href="/collections/red-orange-collection" class="link-faded-reverse" >red/orange</a>
2428                                        </li></ul>
2429                                  </details>
2430                                </dropdown-menu-disclosure></li></ul></details></dropdown-menu-disclosure></li>
2431
2432              <li class="header__primary-nav-item"><dropdown-menu-disclosure follow-summary-link trigger="hover"><details class="header__menu-disclosure">
2433                      <summary data-follow-link="/collections/crossbody-bags" class="h6" data-title="crossbody bags">crossbody bags</summary><ul class="header__dropdown-menu header__dropdown-menu--restrictable unstyled-list" role="list"><li><a href="/collections/crossbody-bags" class="link-faded-reverse" >view all</a></li><li><a href="https://www.shortylove.com/products/shorthand-phone-crossbody-bag" class="link-faded-reverse" >shorthand - small crossbody</a></li><li><a href="https://www.shortylove.com/products/amuse-medium-crossbody-bag" class="link-faded-reverse" >amuse - medium crossbody</a></li><li><a href="https://www.shortylove.com/products/wonder-large-crossbody-bag" class="link-faded-reverse" >wonder - large crossbody</a></li><li><a href="https://www.shortylove.com/products/small-cruiser-small-quilted-crossbody" class="link-faded-reverse" >small cruiser - small quilted crossbody</a></li><li><a href="https://www.shortylove.com/products/cruiser-medium-quilted-crossbody" class="link-faded-reverse" >cruiser - medium quilted crossbody</a></li><li><a href="https://www.shortylove.com/products/marcel-quilted-crossbody-bucket-bag" class="link-faded-reverse" >marcel - quilted crossbody bucket bag</a></li><li><a href="/products/franny-quilted-belt-bag" class="link-faded-reverse" >franny - quilted belt bag</a></li><li><a href="/products/bea-small-quilted-sling-bag" class="link-faded-reverse" >bea - small quilted sling</a></li></ul></details></dropdown-menu-disclosure></li>
2434
2435              <li class="header__primary-nav-item"><dropdown-menu-disclosure follow-summary-link trigger="hover"><details class="header__menu-disclosure">
2436                      <summary data-follow-link="/collections/backpacks" class="h6" data-title="backpacks">backpacks</summary><ul class="header__dropdown-menu header__dropdown-menu--restrictable unstyled-list" role="list"><li><a href="/collections/backpacks" class="link-faded-reverse" >view all </a></li><li><a href="/products/boxer-large-backpack" class="link-faded-reverse" >boxer - large backpack</a></li><li><a href="/products/tate-quilted-backpack" class="link-faded-reverse" >tate - quilted backpack</a></li></ul></details></dropdown-menu-disclosure></li>
2437
2438              <li class="header__primary-nav-item"><dropdown-menu-disclosure follow-summary-link trigger="hover"><details class="header__menu-disclosure">
2439                      <summary data-follow-link="/collections/tote-bags" class="h6" data-title="totes">totes</summary><ul class="header__dropdown-menu header__dropdown-menu--restrictable unstyled-list" role="list"><li><a href="/collections/tote-bags" class="link-faded-reverse" >view all</a></li><li><a href="/products/tillie-medium-tote-bag" class="link-faded-reverse" >tillie - medium tote</a></li><li><a href="/products/ranger-large-quilted-tote" class="link-faded-reverse" >ranger - large quilted tote</a></li></ul></details></dropdown-menu-disclosure></li>
2440
2441              <li class="header__primary-nav-item"><dropdown-menu-disclosure follow-summary-link trigger="hover"><details class="header__menu-disclosure">
2442                      <summary data-follow-link="https://www.shortylove.com/collections/accessories" class="h6" data-title="accessories">accessories</summary><ul class="header__dropdown-menu  unstyled-list" role="list"><li><a href="https://www.shortylove.com/collections/accessories" class="link-faded-reverse" >view all</a></li><li><dropdown-menu-disclosure follow-summary-link trigger="hover" class="contents">
2443                                  <details class="header__menu-disclosure">
2444                                    <summary data-follow-link="https://www.shortylove.com/collections/wallets" class="link-faded-reverse">
2445                                      <div class="h-stack gap-4 justify-between">wallets / clutches<svg aria-hidden="true" focusable="false" fill="none" width="8" class="icon icon-arrow-right  icon--direction-aware" viewBox="0 0 16 18">
2446      <path d="m5 17 8-8-8-8" stroke="currentColor" stroke-linecap="square"/>
2447    </svg></div>
2448                                    </summary>
2449
2450                                    <ul class="header__dropdown-menu unstyled-list" role="list"><li>
2451                                          <a href="https://www.shortylove.com/products/merchant-small-wallet" class="link-faded-reverse" >merchant - small wallet</a>
2452                                        </li><li>
2453                                          <a href="https://www.shortylove.com/products/jetty-clutch-wallet" class="link-faded-reverse" >
2453jetty - wallet / clutch</a>
2454                                        </li><li>
2455                                          <a href="https://www.shortylove.com/products/cleo-quilted-wristlet-clutch" class="link-faded-reverse" >cleo - quilted wristlet clutch</a>
2456                                        </li></ul>
2457                                  </details>
2458                                </dropdown-menu-disclosure></li><li><dropdown-menu-disclosure follow-summary-link trigger="hover" class="contents">
2459                                  <details class="header__menu-disclosure">
2460                                    <summary data-follow-link="https://www.shortylove.com/collections/bag-straps" class="link-faded-reverse">
2461                                      <div class="h-stack gap-4 justify-between">straps<svg aria-hidden="true" focusable="false" fill="none" width="8" class="icon icon-arrow-right  icon--direction-aware" viewBox="0 0 16 18">
2462      <path d="m5 17 8-8-8-8" stroke="currentColor" stroke-linecap="square"/>
2463    </svg></div>
2464                                    </summary>
2465
2466                                    <ul class="header__dropdown-menu unstyled-list" role="list"><li>
2467                                          <a href="https://www.shortylove.com/products/boardwalk-custom-nylon-bag-straps" class="link-faded-reverse" >boardwalk - custom straps</a>
2468                                        </li></ul>
2469                                  </details>
2470                                </dropdown-menu-disclosure></li><li><dropdown-menu-disclosure follow-summary-link trigger="hover" class="contents">
2471                                  <details class="header__menu-disclosure">
2472                                    <summary data-follow-link="https://www.shortylove.com/collections/cosmetic-bags" class="link-faded-reverse">
2473                                      <div class="h-stack gap-4 justify-between">miscellaneous<svg aria-hidden="true" focusable="false" fill="none" width="8" class="icon icon-arrow-right  icon--direction-aware" viewBox="0 0 16 18">
2474      <path d="m5 17 8-8-8-8" stroke="currentColor" stroke-linecap="square"/>
2475    </svg></div>
2476                                    </summary>
2477
2478                                    <ul class="header__dropdown-menu unstyled-list" role="list"><li>
2479                                          <a href="https://www.shortylove.com/products/stevie-small-cosmetic-bag" class="link-faded-reverse" >stevie - cosmetic</a>
2480                                        </li><li>
2481                                          <a href="/products/biz-quilted-baby-mat" class="link-faded-reverse" >biz - baby mat</a>
2482                                        </li><li>
2483                                          <a href="/products/bag-charm-keychain" class="link-faded-reverse" >bag charm - keychain</a>
2484                                        </li></ul>
2485                                  </details>
2486                                </dropdown-menu-disclosure></li></ul></details></dropdown-menu-disclosure></li>
2487
2488              <li class="header__primary-nav-item"><dropdown-menu-disclosure follow-summary-link trigger="hover"><details class="header__menu-disclosure">
2489                      <summary data-follow-link="#" class="h6" data-title="shortcuts">shortcuts</summary><ul class="header__dropdown-menu header__dropdown-menu--restrictable unstyled-list" role="list"><li><a href="/pages/faq" class="link-faded-reverse" >faq</a></li><li><a href="/blogs/news" class="link-faded-reverse" >blog</a></li><li><a href="/pages/rewards" class="link-faded-reverse" >rewards</a></li><li><a href="/pages/refer" class="link-faded-reverse" >refer a friend</a></li><li><a href="/blogs/press" class="link-faded-reverse" >press</a></li><li><a href="/pages/about-us" class="link-faded-reverse" >meet sloane</a></li></ul></details></dropdown-menu-disclosure></li>
2490
2491              <li class="header__primary-nav-item"><a href="https://www.prelovedshortylove.com" data-title="pre-loved" class="block h6" >pre-loved</a></li>
2492
2493              <li class="header__primary-nav-item"><a href="/collections/sale" data-title="sale" class="block h6" >sale</a></li></ul></nav><nav class="header__secondary-nav" aria-label="Secondary navigation"><ul class="contents unstyled-list"><li class="header__account-link">
2494            <a href="/account/login">
2495              <span class="sr-only">Login</span><svg aria-hidden="true" fill="none" focusable="false" width="24" class="header__nav-icon icon icon-account" viewBox="0 0 24 24">
2496      <path d="M16.125 8.75c-.184 2.478-2.063 4.5-4.125 4.5s-3.944-2.021-4.125-4.5c-.187-2.578 1.64-4.5 4.125-4.5 2.484 0 4.313 1.969 4.125 4.5Z" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/>
2497      <path d="M3.017 20.747C3.783 16.5 7.922 14.25 12 14.25s8.217 2.25 8.984 6.497" stroke="currentColor" stroke-width="1" stroke-miterlimit="10"/>
2498    </svg></a>
2499          </li><li class="header__search-link">
2500            <a href="/search" aria-controls="header-search-sections--19678090330263__header">
2501              <span class="sr-only">Search</span><svg aria-hidden="true" fill="none" focusable="false" width="24" class="header__nav-icon icon icon-search" viewBox="0 0 24 24">
2502      <path d="M10.364 3a7.364 7.364 0 1 0 0 14.727 7.364 7.364 0 0 0 0-14.727Z" stroke="currentColor" stroke-width="1" stroke-miterlimit="10"/>
2503      <path d="M15.857 15.858 21 21.001" stroke="currentColor" stroke-width="1" stroke-miterlimit="10" stroke-linecap="round"/>
2504    </svg></a>
2505          </li><li class="relative header__cart-link">
2506          <a href="/cart" aria-controls="cart-drawer" data-no-instant>
2507            <span class="sr-only">Cart</span><svg aria-hidden="true" fill="none" focusable="false" width="24" class="header__nav-icon icon icon-cart" viewBox="0 0 24 24"><path d="M4.75 8.25A.75.75 0 0 0 4 9L3 19.125c0 1.418 1.207 2.625 2.625 2.625h12.75c1.418 0 2.625-1.149 2.625-2.566L20 9a.75.75 0 0 0-.75-.75H4.75Zm2.75 0v-1.5a4.5 4.5 0 0 1 4.5-4.5v0a4.5 4.5 0 0 1 4.5 4.5v1.5" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/></svg><cart-dot class="header__cart-dot  "></cart-dot>
2508          </a>
2509        </li>
2510      </ul>
2511    </nav><header-search id="header-search-sections--19678090330263__header" class="header-search">
2512  <div class="container">
2513    <form id="predictive-search-form" action="/search" method="GET" aria-owns="header-predictive-search" class="header-search__form" role="search">
2514      <div class="header-search__form-control"><svg aria-hidden="true" fill="none" focusable="false" width="20" class="icon icon-search" viewBox="0 0 24 24">
2515      <path d="M10.364 3a7.364 7.364 0 1 0 0 14.727 7.364 7.364 0 0 0 0-14.727Z" stroke="currentColor" stroke-width="1" stroke-miterlimit="10"/>
2516      <path d="M15.857 15.858 21 21.001" stroke="currentColor" stroke-width="1" stroke-miterlimit="10" stroke-linecap="round"/>
2517    </svg><input type="search" name="q" spellcheck="false" class="header-search__input h5 sm:h4" aria-label="Search" placeholder="Search for...">
2518
2519        <dialog-close-button class="contents">
2520          <button type="button">
2521            <span class="sr-only">Close</span><svg aria-hidden="true" focusable="false" fill="none" width="16" class="icon icon-close" viewBox="0 0 16 16">
2522      <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1"/>
2523    </svg>
2524
2525  </button>
2526        </dialog-close-button>
2527      </div>
2528    </form>
2529
2530    <predictive-search id="header-predictive-search" class="predictive-search">
2531      <div class="predictive-search__content" slot="results"></div>
2532    </predictive-search>
2533  </div>
2534</header-search><template id="header-sidebar-template">
2535  <div part="base">
2536    <div part="overlay"></div>
2537
2538    <div part="content">
2539      <header part="header">
2540        <dialog-close-button class="contents">
2541          <button type="button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="16" class="icon icon-close" viewBox="0 0 16 16">
2542      <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1"/>
2543    </svg>
2544
2545  </button>
2546        </dialog-close-button>
2547      </header>
2548
2549      <div part="panel-list">
2550        <slot name="main-panel"></slot><slot name="collapsible-panel"></slot></div>
2551    </div>
2552  </div>
2553</template>
2554
2555<header-sidebar id="sidebar-menu" class="header-sidebar drawer drawer--sm color-scheme color-scheme--scheme-2" template="header-sidebar-template" open-from="left"><div class="header-sidebar__main-panel" slot="main-panel">
2556    <div class="header-sidebar__scroller">
2557      <ul class="header-sidebar__linklist  unstyled-list" role="list"><li><button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-1" aria-expanded="false">shop shorty<svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right  icon--direction-aware" viewBox="0 0 10 10">
2558      <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/>
2559    </svg></button></li><li><button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-2" aria-expanded="false">crossbody bags<svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right  icon--direction-aware" viewBox="0 0 10 10">
2560      <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/>
2561    </svg></button></li><li><button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-3" aria-expanded="false">backpacks<svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right  icon--direction-aware" viewBox="0 0 10 10">
2562      <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/>
2563    </svg></button></li><li><button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-4" aria-expanded="false">totes<svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right  icon--direction-aware" viewBox="0 0 10 10">
2564      <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/>
2565    </svg></button></li><li><button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-5" aria-expanded="false">accessories<svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right  icon--direction-aware" viewBox="0 0 10 10">
2566      <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/>
2567    </svg></button></li><li><button type="button" class="header-sidebar__linklist-button h6" aria-controls="header-panel-6" aria-expanded="false">shortcuts<svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-right  icon--direction-aware" viewBox="0 0 10 10">
2568      <path d="m3 9 4-4-4-4" stroke="currentColor" stroke-linecap="square"/>
2569    </svg></button></li><li><a href="https://www.prelovedshortylove.com" class="header-sidebar__linklist-button h6">pre-loved</a></li><li><a href="/collections/sale" class="header-sidebar__linklist-button h6">sale</a></li></ul>
2570    </div><div class="header-sidebar__footer"><a href="/account/login" class="text-with-icon smallcaps sm:hidden"><svg aria-hidden="true" fill="none" focusable="false" width="20" class="icon icon-account" viewBox="0 0 24 24">
2571      <path d="M16.125 8.75c-.184 2.478-2.063 4.5-4.125 4.5s-3.944-2.021-4.125-4.5c-.187-2.578 1.64-4.5 4.125-4.5 2.484 0 4.313 1.969 4.125 4.5Z" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/>
2572      <path d="M3.017 20.747C3.783 16.5 7.922 14.25 12 14.25s8.217 2.25 8.984 6.497" stroke="currentColor" stroke-width="1" stroke-miterlimit="10"/>
2573    </svg>Login</a></div></div><header-sidebar-collapsible-panel class="header-sidebar__collapsible-panel" slot="collapsible-panel">
2574      <div class="header-sidebar__scroller"><div id="header-panel-1" class="header-sidebar__sub-panel" hidden>
2575              <button type="button" class="header-sidebar__back-button link-faded  text-with-icon h6 md:hidden" data-action="close-panel"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-left  icon--direction-aware" viewBox="0 0 10 10">
2576      <path d="M7 1 3 5l4 4" stroke="currentColor" stroke-linecap="square"/>
2577    </svg>shop shorty</button>
2578
2579              <ul class="header-sidebar__linklist  unstyled-list" role="list"><li><accordion-disclosure>
2580                        <details class="accordion__disclosure group" >
2581                          <summary class="header-sidebar__linklist-button h6">collections<span class="animated-plus group-expanded:rotate" aria-hidden="true"></span>
2582                          </summary>
2583
2584                          <div class="header-sidebar__nested-linklist"><a href="https://www.shortylove.com/collections/shop-all-products" class="link-faded-reverse">view all</a><a href="https://www.shortylove.com/collections/the-o-g-collection" class="link-faded-reverse">the o.g. collection</a><a href="https://www.shortylove.com/collections/wave-quilt-collection" class="link-faded-reverse">the wave quilt collection</a><a href="/collections/the-baby-bags-collection" class="link-faded-reverse">baby</a><a href="https://www.shortylove.com/products/shortylove-gift-card" class="link-faded-reverse">gift cards</a><a href="https://www.shortylove.com/pages/quiz" class="link-faded-reverse">style quiz</a></div>
2585                        </details>
2586                      </accordion-disclosure></li><li><accordion-disclosure>
2587                        <details class="accordion__disclosure group" >
2588                          <summary class="header-sidebar__linklist-button h6">styles<span class="animated-plus group-expanded:rotate" aria-hidden="true"></span>
2589                          </summary>
2590
2591                          <div class="header-sidebar__nested-linklist"><a href="https://www.shortylove.com/collections/shop-all-products" class="link-faded-reverse">view all </a><a href="https://www.shortylove.com/collections/crossbody-bags" class="link-faded-reverse">crossbodies </a><a href="https://www.shortylove.com/collections/backpacks" class="link-faded-reverse">backpacks</a><a href="https://www.shortylove.com/collections/tote-bags" class="link-faded-reverse">totes</a><a href="https://www.shortylove.com/collections/wallets" class="link-faded-reverse">clutches and wallets</a><a href="https://www.shortylove.com/collections/accessories" class="link-faded-reverse">accessories</a><a href="https://www.shortylove.com/pages/quiz" class="link-faded-reverse">style quiz</a></div>
2592                        </details>
2593                      </accordion-disclosure></li><li><accordion-disclosure>
2594                        <details class="accordion__disclosure group" >
2595                          <summary class="header-sidebar__linklist-button h6">colors<span class="animated-plus group-expanded:rotate" aria-hidden="true"></span>
2596                          </summary>
2597
2598                          <div class="header-sidebar__nested-linklist"><a href="/collections/all-color-collections" class="link-faded-reverse">view all</a><a href="/collections/classic-neutrals-collection" class="link-faded-reverse">classic neutrals</a><a href="/collections/blues-collection" class="link-faded-reverse">blues</a><a href="/collections/greens-collection" class="link-faded-reverse">greens</a><a href="/collections/red-orange-collection" class="link-faded-reverse">red/orange</a></div>
2599                        </details>
2600                      </accordion-disclosure></li></ul></div><div id="header-panel-2" class="header-sidebar__sub-panel" hidden>
2601              <button type="button" class="header-sidebar__back-button link-faded  text-with-icon h6 md:hidden" data-action="close-panel"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-left  icon--direction-aware" viewBox="0 0 10 10">
2602      <path d="M7 1 3 5l4 4" stroke="currentColor" stroke-linecap="square"/>
2603    </svg>crossbody bags</button>
2604
2605              <ul class="header-sidebar__linklist  unstyled-list" role="list"><li><a href="/collections/crossbody-bags" class="header-sidebar__linklist-button h6">view all</a></li><li><a href="https://www.shortylove.com/products/shorthand-phone-crossbody-bag" class="header-sidebar__linklist-button h6">shorthand - small crossbody</a></li><li><a href="https://www.shortylove.com/products/amuse-medium-crossbody-bag" class="header-sidebar__linklist-button h6">amuse - medium crossbody</a></li><li><a href="https://www.shortylove.com/products/wonder-large-crossbody-bag" class="header-sidebar__linklist-button h6">wonder - large crossbody</a></li><li><a href="https://www.shortylove.com/products/small-cruiser-small-quilted-crossbody" class="header-sidebar__linklist-button h6">small cruiser - small quilted crossbody</a></li><li><a href="https://www.shortylove.com/products/cruiser-medium-quilted-crossbody" class="header-sidebar__linklist-button h6">cruiser - medium quilted crossbody</a></li><li><a href="https://www.shortylove.com/products/marcel-quilted-crossbody-bucket-bag" class="header-sidebar__linklist-button h6">marcel - quilted crossbody bucket bag</a></li><li><a href="/products/franny-quilted-belt-bag" class="header-sidebar__linklist-button h6">franny - quilted belt bag</a></li><li><a href="/products/bea-small-quilted-sling-bag" class="header-sidebar__linklist-button h6">bea - small quilted sling</a></li></ul></div><div id="header-panel-3" class="header-sidebar__sub-panel" hidden>
2606              <button type="button" class="header-sidebar__back-button link-faded  text-with-icon h6 md:hidden" data-action="close-panel"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-left  icon--direction-aware" viewBox="0 0 10 10">
2607      <path d="M7 1 3 5l4 4" stroke="currentColor" stroke-linecap="square"/>
2608    </svg>backpacks</button>
2609
2610              <ul class="header-sidebar__linklist  unstyled-list" role="list"><li><a href="/collections/backpacks" class="header-sidebar__linklist-button h6">view all </a></li><li><a href="/products/boxer-large-backpack" class="header-sidebar__linklist-button h6">boxer - large backpack</a></li><li><a href="/products/tate-quilted-backpack" class="header-sidebar__linklist-button h6">tate - quilted backpack</a></li></ul></div><div id="header-panel-4" class="header-sidebar__sub-panel" hidden>
2611              <button type="button" class="header-sidebar__back-button link-faded  text-with-icon h6 md:hidden" data-action="close-panel"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-left  icon--direction-aware" viewBox="0 0 10 10">
2612      <path d="M7 1 3 5l4 4" stroke="currentColor" stroke-linecap="square"/>
2613    </svg>totes</button>
2614
2615              <ul class="header-sidebar__linklist  unstyled-list" role="list"><li><a href="/collections/tote-bags" class="header-sidebar__linklist-button h6">view all</a></li><li><a href="/products/tillie-medium-tote-bag" class="header-sidebar__linklist-button h6">tillie - medium tote</a></li><li><a href="/products/ranger-large-quilted-tote" class="header-sidebar__linklist-button h6">ranger - large quilted tote</a></li></ul></div><div id="header-panel-5" class="header-sidebar__sub-panel" hidden>
2616              <button type="button" class="header-sidebar__back-button link-faded  text-with-icon h6 md:hidden" data-action="close-panel"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-left  icon--direction-aware" viewBox="0 0 10 10">
2617      <path d="M7 1 3 5l4 4" stroke="currentColor" stroke-linecap="square"/>
2618    </svg>accessories</button>
2619
2620              <ul class="header-sidebar__linklist  unstyled-list" role="list"><li><a href="https://www.shortylove.com/collections/accessories" class="header-sidebar__linklist-button h6">view all</a></li><li><accordion-disclosure>
2621                        <details class="accordion__disclosure group" >
2622                          <summary class="header-sidebar__linklist-button h6">wallets / clutches<span class="animated-plus group-expanded:rotate" aria-hidden="true"></span>
2623                          </summary>
2624
2625                          <div class="header-sidebar__nested-linklist"><a href="https://www.shortylove.com/products/merchant-small-wallet" class="link-faded-reverse">merchant - small wallet</a><a href="https://www.shortylove.com/products/jetty-clutch-wallet" class="link-faded-reverse">jetty - wallet / clutch</a><a href="https://www.shortylove.com/products/cleo-quilted-wristlet-clutch" class="link-faded-reverse">cleo - quilted wristlet clutch</a></div>
2626                        </details>
2627                      </accordion-disclosure></li><li><accordion-disclosure>
2628                        <details class="accordion__disclosure group" >
2629                          <summary class="header-sidebar__linklist-button h6">straps<span class="animated-plus group-expanded:rotate" aria-hidden="true"></span>
2630                          </summary>
2631
2632                          <div class="header-sidebar__nested-linklist"><a href="https://www.shortylove.com/products/boardwalk-custom-nylon-bag-straps" class="link-faded-reverse">boardwalk - custom straps</a></div>
2633                        </details>
2634                      </accordion-disclosure></li><li><accordion-disclosure>
2635                        <details class="accordion__disclosure group" >
2636                          <summary class="header-sidebar__linklist-button h6">miscellaneous<span class="animated-plus group-expanded:rotate" aria-hidden="true"></span>
2637                          </summary>
2638
2639                          <div class="header-sidebar__nested-linklist"><a href="https://www.shortylove.com/products/stevie-small-cosmetic-bag" class="link-faded-reverse">stevie - cosmetic</a><a href="/products/biz-quilted-baby-mat" class="link-faded-reverse">biz - baby mat</a><a href="/products/bag-charm-keychain" class="link-faded-reverse">bag charm - keychain</a></div>
2640                        </details>
2641                      </accordion-disclosure></li></ul></div><div id="header-panel-6" class="header-sidebar__sub-panel" hidden>
2642              <button type="button" class="header-sidebar__back-button link-faded  text-with-icon h6 md:hidden" data-action="close-panel"><svg aria-hidden="true" focusable="false" fill="none" width="12" class="icon icon-chevron-left  icon--direction-aware" viewBox="0 0 10 10">
2643      <path d="M7 1 3 5l4 4" stroke="currentColor" stroke-linecap="square"/>
2644    </svg>shortcuts</button>
2645
2646              <ul class="header-sidebar__linklist  unstyled-list" role="list"><li><a href="/pages/faq" class="header-sidebar__linklist-button h6">
2646faq</a></li><li><a href="/blogs/news" class="header-sidebar__linklist-button h6">blog</a></li><li><a href="/pages/rewards" class="header-sidebar__linklist-button h6">rewards</a></li><li><a href="/pages/refer" class="header-sidebar__linklist-button h6">refer a friend</a></li><li><a href="/blogs/press" class="header-sidebar__linklist-button h6">press</a></li><li><a href="/pages/about-us" class="header-sidebar__linklist-button h6">meet sloane</a></li></ul></div></div>
2647    </header-sidebar-collapsible-panel></header-sidebar></x-header>
2648</height-observer>
2649
2650<script>
2651  document.documentElement.style.setProperty('--header-height', `${document.getElementById('shopify-section-sections--19678090330263__header').clientHeight.toFixed(2)}px`);
2652</script>
2652
2653
2654
2655</header>
2656<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->
2657<section id="shopify-section-sections--19678090363031__cart-drawer" class="shopify-section shopify-section-group-overlay-group shopify-section--cart-drawer"><cart-drawer id="cart-drawer" aria-label="Cart" class="cart-drawer drawer drawer--center-body color-scheme color-scheme--scheme-1" initial-focus="false" handle-editor-events>
2658  <p class="h4" slot="header">Cart</p><p class="h5 text-center">Your cart is empty</p></cart-drawer>
2659
2660</section>
2661<!-- END sections: overlay-group --><main id="main" class="anchor">
2662      <section id="shopify-section-template--19678090428567__main" class="shopify-section shopify-section--main-customers-login"><div class="section-spacing">
2663  <div class="container container--xxs">
2664    <account-login class="customer-account-box">
2665      <div class="v-stack gap-6" id="login">
2666        <div class="v-stack gap-4">
2667          <h1 class="h3">Login</h1>
2668          <p>Enter your email and password to login:</p>
2669        </div><div ><form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" class="form"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="checkout_url" value="/account">
2670
2671                  <div class="fieldset"><div class="form-control" ><input id="input--template--19678090428567__main--customeremail" class="input" type="email" dir="ltr" placeholder="E-mail" 
2672  name="customer[email]"
2673  
2674  
2675  
2676  
2677  
2678  autocomplete="email"
2679  
2680  
2681  required
2682  
2683  
2684  
2685><label for="input--template--19678090428567__main--customeremail" class="floating-label text-xs">E-mail</label></div><div class="relative"><div class="form-control" ><input id="input--template--19678090428567__main--customerpassword" class="input" type="password"  placeholder="Password" 
2686  name="customer[password]"
2687  
2688  
2689  
2690  
2691  
2692  autocomplete="current-password"
2693  
2694  
2695  required
2696  
2697  
2698  
2699><label for="input--template--19678090428567__main--customerpassword" class="floating-label text-xs">Password</label></div><div class="input-suffix hide-on-focus">
2700                        <a href="#recover" allow-hash-change class="text-xs link-faded">Forgot your password?</a>
2701                      </div>
2702                    </div>
2703                  </div>
2704<button type="submit"  class="button" >Login</button><div>
2705                    <span class="text-subdued">Don&#39;t have an account?</span>
2706                    <a href="/account/register" class="link-faded">Sign up</a>
2707                  </div></form></div></div>
2708
2709      <div class="v-stack gap-6" id="recover" hidden>
2710        <div class="v-stack gap-4">
2711          <h1 class="h3">Recover password</h1>
2712          <p>Enter your email to recover your password:</p>
2713        </div><form method="post" action="/account/recover" accept-charset="UTF-8" class="form"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="✓" /><div class="fieldset"><div class="form-control" ><input id="input--template--19678090428567__main--email" class="input" type="email" dir="ltr" placeholder="E-mail" 
2714  name="email"
2715  
2716  
2717  
2718  
2719  
2720  autocomplete="email"
2721  
2722  
2723  required
2724  
2725  
2726  
2727><label for="input--template--19678090428567__main--email" class="floating-label text-xs">E-mail</label></div></div>
2728<button type="submit"  class="button" >Recover</button><div>
2729            <span class="text-subdued">Remember your password?</span>
2730            <a href="#login" allow-hash-change class="link-faded">Back to login</a>
2731          </div></form></div>
2732    </account-login>
2733  </div>
2734</div>
2735
2736</section>
2737<!-- BEGIN sections: footer-group -->
2738<footer id="shopify-section-sections--19678090297495__footer" class="shopify-section shopify-section-group-footer-group shopify-section--footer"><style>
2739  #shopify-section-sections--19678090297495__footer {
2740    --footer-content-justify-items: space-between;
2741  }
2742
2743  .footer__block--image_list,
2744  .footer__block--badges {
2745    flex-grow: 0;
2746  }
2747
2748  .footer-image-list-grid {
2749    display: grid;
2750    grid-template-columns: repeat(2, auto);
2751    gap: 0.75rem;
2752    justify-items: start;
2753  }
2754
2755  .footer-badges {
2756    display: flex;
2757    align-items: center;
2758    flex-wrap: wrap;
2759    gap: 1rem;
2760  }
2761
2762  .footer-badges > div {
2763    display: flex;
2764    align-items: center;
2765  }
2766
2767  .footer-badges .yotpo.yotpo-badge {
2768    display: flex;
2769    align-items: center;
2770    justify-content: center;
2771  }
2772
2773  /* Footer accent bars: thin, full-width colored lines stacked at the very top edge of
2774     the footer. They sit above the footer's top padding without affecting content spacing. */
2775  .footer:has(.footer__accent-bars) {
2776    position: relative;
2777  }
2778
2779  .footer__accent-bars {
2780    position: absolute;
2781    inset-block-start: 0;
2782    inset-inline: 0;
2783    display: flex;
2784    flex-direction: column;
2785    pointer-events: none;
2786  }
2787
2788  .footer__accent-bar {
2789    width: 100%;
2790  }/* ------------------------------------------------------------------------------------------------
2791       TINTED NEWSLETTER LAYOUT (punchlist row 49, approved option C)
2792
2793       theme.css lays the footer blocks out as a flex row with justify-content: space-between and caps
2794       each block's width (newsletter 18rem, links 14rem). A handful of blocks totalling well under the
2795       ~79rem container turns the remainder into gutters -- that is the "lots of blank space".
2796
2797       Two changes fix it: pack the blocks from the start instead of spreading them, and let the link
2798       columns grow to take up the slack. The panel tint is optional on top of that -- see "Newsletter
2799       panel colour", which is blank by default so the sign-up sits on the footer background.
2800    ------------------------------------------------------------------------------------------------ */
2801    @media screen and (min-width: 700px) {
2802      #shopify-section-sections--19678090297495__footer .footer__block-list {
2803        justify-content: flex-start;
2804        align-items: stretch;
2805        gap: 2.5rem clamp(1.5rem, 1rem + 2vw, 3.5rem);
2806      }
2807
2808      #shopify-section-sections--19678090297495__footer .footer__block--newsletter {
2809        flex: 0 0 auto;
2810        width: clamp(17rem, 32%, 25rem);
2811        max-width: none;
2812      }
2813
2814      /* Grow into the space that space-between used to waste. */
2815      #shopify-section-sections--19678090297495__footer .footer__block--links {
2816        flex: 1 1 9rem;
2817        max-width: none;
2818      }
2819
2820    }
2821
2822    /* Mobile. theme.css leaves the block list as a grid with no explicit columns and
2823       justify-content: start, so it collapses to one implicit column sized to its content and sits
2824       against the left edge -- that is the empty strip down the right of the footer. Two 1fr columns
2825       fill the container and put the link menus side by side at the same time. */
2826    @media screen and (max-width: 699px) {
2827      #shopify-section-sections--19678090297495__footer .footer__block-list {
2828        grid-template-columns: repeat(2, minmax(0, 1fr));
2829        gap: 2rem 1.5rem;
2830      }
2831
2832      /* The sign-up panel keeps the full width above the menu columns. */
2833      #shopify-section-sections--19678090297495__footer .footer__block--newsletter {
2834        grid-column: 1 / -1;
2835      }
2836
2837      /* An odd number of menus would otherwise leave a half-width hole on the last row. */
2838      #shopify-section-sections--19678090297495__footer .footer__block--links:last-child:nth-child(even) {
2839        grid-column: 1 / -1;
2840      }
2841    }
2842
2843    /* Badge logos on the left; the country/currency selector and the social icons travel together on
2844       the right, sharing one line instead of stacking into three sparse rows. */
2845    #shopify-section-sections--19678090297495__footer .footer__utility-row {
2846      display: flex;
2847      align-items: center;
2848      flex-wrap: wrap;
2849      gap: 1.25rem 2rem;
2850    }
2851
2852    #shopify-section-sections--19678090297495__footer .footer__utility-row .footer__block--badges {
2853      margin-block: 0;
2854    }
2855
2856    /* margin-inline-start rather than justify-content: space-between so the pair still lands on its
2857       correct side when the badges block is empty. */
2858    #shopify-section-sections--19678090297495__footer .footer__utility-row__end {
2859      display: flex;
2860      align-items: center;
2861      flex-wrap: wrap;
2862      gap: 1rem 1.5rem;
2863      margin-inline-start: auto;
2864    }
2865
2866    #shopify-section-sections--19678090297495__footer .footer__utility-row__end .social-media {
2867      --social-media-icon-size: 1.75rem;
2868      --social-media-list-gap: 0.75rem 1.5rem;
2869    }
2870
2871    /* The icons carry the row on their own now, so drop the resting 65% fade that made them recede. */
2872    #shopify-section-sections--19678090297495__footer .footer__utility-row .social-media--list .social-media__item {
2873      opacity: 0.9;
2874    }
2875
2876    /* On mobile the badge logos already fill the first row, so the pair takes the next one on its own:
2877       currency against the left edge, icons against the right, instead of a centred selector sitting
2878       on a line of its own below the icons. */
2879    @media screen and (max-width: 699px) {
2880      #shopify-section-sections--19678090297495__footer .footer__utility-row__end {
2881        width: 100%;
2882        justify-content: space-between;
2883        margin-inline-start: 0;
2884      }
2885    }
2886
2887    /* --border-color resolves to the text colour at 15%, which reads as a washed-out grey hairline
2888       against the panel. Match the text colour instead. */
2889    #shopify-section-sections--19678090297495__footer .footer__block--newsletter .input {
2890      border-color: rgb(var(--text-color));
2891    }
2892
2893    #shopify-section-sections--19678090297495__footer .footer__block--newsletter {
2894      display: flex;
2895      flex-direction: column;
2896      justify-content: center;
2897    }/* One column per nested link group, wrapping instead of overflowing on narrow screens. */
2898    #shopify-section-sections--19678090297495__footer .footer-link-groups {
2899      display: grid;
2900      grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
2901      gap: 2rem clamp(1.25rem, 0.75rem + 1.5vw, 2.5rem);
2902    }</style><div class="footer color-scheme color-scheme--scheme-f9824b64-945d-446e-b540-31c9c01d516d color-scheme--bg-ef9ae448c4d00e6952b5237f839848f7 "><div class="footer__accent-bars"><div class="footer__accent-bar" style="height: 10px; background-color: #DD9289;"></div><div class="footer__accent-bar" style="height: 10px; background-color: #A09998;"></div></div><div class="container">
2903    <div class="footer__inner"><div class="footer__block-list"><div class="footer__block footer__block--newsletter" ><div class="v-stack gap-4 sm:gap-5"><p class="h6">put us in your inbox</p><div class="prose text-subdued"><p>new launches, sales and style — get it all!</p></div><form method="post" action="/contact#newsletter-form-sections--19678090297495__footer" id="newsletter-form-sections--19678090297495__footer" accept-charset="UTF-8" class="form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="contact[tags]" value="newsletter"><div class="form-control" ><input id="input--sections--19678090297495__footer--contactemail" class="input" type="email" dir="ltr" placeholder="E-mail" 
2904  name="contact[email]"
2905  
2906  
2907  
2908  
2909  
2910  autocomplete="email"
2911  
2912  enterkeyhint="send"
2913  required
2914  
2915  
2916  
2917><label for="input--sections--19678090297495__footer--contactemail" class="floating-label text-xs">E-mail</label></div><div class="align-self-start">
2918<button type="submit"  class="button" >Subscribe</button></div></form></div></div><div class="footer__block footer__block--links" ><div class="v-stack gap-4 sm:gap-5"><p class="h6">the helpful stuff . . . .</p><ul class="v-stack gap-2.5 unstyled-list" role="list"><li>
2919                              <a href="/pages/contact" class="link-faded">contact us</a>
2920                            </li><li>
2921                              <a href="/pages/faqs" class="link-faded">FAQs</a>
2922                            </li><li>
2923                              <a href="/policies/shipping-policy" class="link-faded">shipping</a>
2924                            </li><li>
2925                              <a href="/policies/refund-policy" class="link-faded">returns</a>
2926                            </li><li>
2927                              <a href="https://returns.shortylove.com/#/withdrawal" class="link-faded">EU right of withdrawal</a>
2928                            </li></ul>
2929                      </div></div><div class="footer__block footer__block--links" ><div class="v-stack gap-4 sm:gap-5"><p class="h6">brand stuff . . . .</p><ul class="v-stack gap-2.5 unstyled-list" role="list"><li>
2930                              <a href="/pages/about-us" class="link-faded">meet sloane</a>
2931                            </li><li>
2932                              <a href="/pages/reviews" class="link-faded">
2932customer reviews</a>
2933                            </li><li>
2934                              <a href="https://shortylove.faire.com" class="link-faded">wholesale inquiry</a>
2935                            </li><li>
2936                              <a href="/policies/terms-of-service" class="link-faded">terms of service</a>
2937                            </li><li>
2938                              <a href="/policies/privacy-policy" class="link-faded">privacy</a>
2939                            </li><li>
2940                              <a href="/pages/our-commitment-to-accessibility" class="link-faded">accessibility</a>
2941                            </li></ul>
2942                      </div></div></div><div class="footer__utility-row"><div class="footer__block footer__block--badges" ><div class="v-stack gap-4 sm:gap-5"><div class="footer-badges"><div><img src="//www.shortylove.com/cdn/shop/files/image_1_1.webp?v=1771331132&width=200" alt="" loading="lazy" width="77" height="auto"></div><div><img src="//www.shortylove.com/cdn/shop/files/Layer-0-2.avif?v=1771331132&width=200" alt="" loading="lazy" width="120" height="auto"></div><div><img src="//www.shortylove.com/cdn/shop/files/trusted-site.webp?v=1771331132&width=200" alt="" loading="lazy" width="120" height="auto"></div></div>
2943                  </div></div><div class="footer__utility-row__end"><div class="localization-selectors"><div class="relative">
2944      <button type="button" class="localization-toggle heading text-xxs link-faded" aria-controls="popover-localization--sections--19678090297495__footer-country" aria-label="Change country or currency" aria-expanded="false"><img src="//cdn.shopify.com/static/images/flags/us.svg?format=jpg&amp;width=60" alt="United States" srcset="//cdn.shopify.com/static/images/flags/us.svg?format=jpg&amp;width=60 60w" width="60" height="45" class="country-flag"><span>United States (USD $)</span><svg aria-hidden="true" focusable="false" fill="none" width="10" class="icon icon-chevron-down" viewBox="0 0 10 10">
2945      <path d="m1 3 4 4 4-4" stroke="currentColor" stroke-linecap="square"/>
2946    </svg></button>
2947
2948      <x-popover id="popover-localization--sections--19678090297495__footer-country" initial-focus="[aria-selected='true']" class="popover popover--top-start color-scheme color-scheme--dialog">
2949        <p class="h4" slot="header">Country</p><form method="post" action="/localization" id="localization-form--sections--19678090297495__footer-country" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/account/login" /><x-listbox class="popover__value-list"><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AL" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/al.svg?format=jpg&amp;width=60" alt="Albania" srcset="//cdn.shopify.com/static/images/flags/al.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Albania (ALL L)</span>
2950              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="DZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/dz.svg?format=jpg&amp;width=60" alt="Algeria" srcset="//cdn.shopify.com/static/images/flags/dz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Algeria (DZD د.ج)</span>
2951              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AD" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ad.svg?format=jpg&amp;width=60" alt="Andorra" srcset="//cdn.shopify.com/static/images/flags/ad.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Andorra (EUR €)</span>
2952              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ao.svg?format=jpg&amp;width=60" alt="Angola" srcset="//cdn.shopify.com/static/images/flags/ao.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Angola (USD $)</span>
2953              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AI" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ai.svg?format=jpg&amp;width=60" alt="Anguilla" srcset="//cdn.shopify.com/static/images/flags/ai.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Anguilla (XCD $)</span>
2954              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ag.svg?format=jpg&amp;width=60" alt="Antigua &amp;amp; Barbuda" srcset="//cdn.shopify.com/static/images/flags/ag.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Antigua &amp; Barbuda (XCD $)</span>
2955              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ar.svg?format=jpg&amp;width=60" alt="Argentina" srcset="//cdn.shopify.com/static/images/flags/ar.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Argentina (USD $)</span>
2956              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/am.svg?format=jpg&amp;width=60" alt="Armenia" srcset="//cdn.shopify.com/static/images/flags/am.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Armenia (AMD դր.)</span>
2957              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AW" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/aw.svg?format=jpg&amp;width=60" alt="Aruba" srcset="//cdn.shopify.com/static/images/flags/aw.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Aruba (AWG ƒ)</span>
2958              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AU" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/au.svg?format=jpg&amp;width=60" alt="Australia" srcset="//cdn.shopify.com/static/images/flags/au.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Australia (AUD $)</span>
2959              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AT" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/at.svg?format=jpg&amp;width=60" alt="Austria" srcset="//cdn.shopify.com/static/images/flags/at.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Austria (EUR €)</span>
2960              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/az.svg?format=jpg&amp;width=60" alt="Azerbaijan" srcset="//cdn.shopify.com/static/images/flags/az.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Azerbaijan (AZN ₼)</span>
2961              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BS" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bs.svg?format=jpg&amp;width=60" alt="Bahamas" srcset="//cdn.shopify.com/static/images/flags/bs.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Bahamas (BSD $)</span>
2962              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BH" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bh.svg?format=jpg&amp;width=60" alt="Bahrain" srcset="//cdn.shopify.com/static/images/flags/bh.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Bahrain (USD $)</span>
2963              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BD" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bd.svg?format=jpg&amp;width=60" alt="Bangladesh" srcset="//cdn.shopify.com/static/images/flags/bd.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Bangladesh (BDT à§³)</span>
2964              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BB" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bb.svg?format=jpg&amp;width=60" alt="Barbados" srcset="//cdn.shopify.com/static/images/flags/bb.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Barbados (BBD $)</span>
2965              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/be.svg?format=jpg&amp;width=60" alt="Belgium" srcset="//cdn.shopify.com/static/images/flags/be.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Belgium (EUR €)</span>
2966              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bz.svg?format=jpg&amp;width=60" alt="Belize" srcset="//cdn.shopify.com/static/images/flags/bz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Belize (BZD $)</span>
2967              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BJ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bj.svg?format=jpg&amp;width=60" alt="Benin" srcset="//cdn.shopify.com/static/images/flags/bj.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Benin (XOF Fr)</span>
2968              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bm.svg?format=jpg&amp;width=60" alt="Bermuda" srcset="//cdn.shopify.com/static/images/flags/bm.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Bermuda (USD $)</span>
2969              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bo.svg?format=jpg&amp;width=60" alt="Bolivia" srcset="//cdn.shopify.com/static/images/flags/bo.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Bolivia (BOB Bs.)</span>
2970              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ba.svg?format=jpg&amp;width=60" alt="Bosnia &amp;amp; Herzegovina" srcset="//cdn.shopify.com/static/images/flags/ba.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Bosnia &amp; Herzegovina (BAM КМ)</span>
2971              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BW" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bw.svg?format=jpg&amp;width=60" alt="Botswana" srcset="//cdn.shopify.com/static/images/flags/bw.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Botswana (BWP P)</span>
2972              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/br.svg?format=jpg&amp;width=60" alt="Brazil" srcset="//cdn.shopify.com/static/images/flags/br.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Brazil (BRL R$)</span>
2973              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="VG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/vg.svg?format=jpg&amp;width=60" alt="British Virgin Islands" srcset="//cdn.shopify.com/static/images/flags/vg.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>British Virgin Islands (USD $)</span>
2974              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bn.svg?format=jpg&amp;width=60" alt="Brunei" srcset="//cdn.shopify.com/static/images/flags/bn.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Brunei (BND $)</span>
2975              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bg.svg?format=jpg&amp;width=60" alt="Bulgaria" srcset="//cdn.shopify.com/static/images/flags/bg.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Bulgaria (EUR €)</span>
2976              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BF" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bf.svg?format=jpg&amp;width=60" alt="Burkina Faso" srcset="//cdn.shopify.com/static/images/flags/bf.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Burkina Faso (XOF Fr)</span>
2977              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BI" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bi.svg?format=jpg&amp;width=60" alt="Burundi" srcset="//cdn.shopify.com/static/images/flags/bi.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Burundi (BIF Fr)</span>
2978              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KH" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/kh.svg?format=jpg&amp;width=60" alt="Cambodia" srcset="//cdn.shopify.com/static/images/flags/kh.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Cambodia (KHR ៛)</span>
2979              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/cm.svg?format=jpg&amp;width=60" alt="Cameroon" srcset="//cdn.shopify.com/static/images/flags/cm.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Cameroon (XAF CFA)</span>
2980              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ca.svg?format=jpg&amp;width=60" alt="Canada" srcset="//cdn.shopify.com/static/images/flags/ca.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" cla
2980ss="country-flag"><span>Canada (CAD $)</span>
2981              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CV" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/cv.svg?format=jpg&amp;width=60" alt="Cape Verde" srcset="//cdn.shopify.com/static/images/flags/cv.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Cape Verde (CVE $)</span>
2982              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BQ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bq.svg?format=jpg&amp;width=60" alt="Caribbean Netherlands" srcset="//cdn.shopify.com/static/images/flags/bq.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Caribbean Netherlands (USD $)</span>
2983              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KY" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ky.svg?format=jpg&amp;width=60" alt="Cayman Islands" srcset="//cdn.shopify.com/static/images/flags/ky.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Cayman Islands (KYD $)</span>
2984              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TD" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/td.svg?format=jpg&amp;width=60" alt="Chad" srcset="//cdn.shopify.com/static/images/flags/td.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Chad (XAF CFA)</span>
2985              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CL" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/cl.svg?format=jpg&amp;width=60" alt="Chile" srcset="//cdn.shopify.com/static/images/flags/cl.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Chile (USD $)</span>
2986              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/cn.svg?format=jpg&amp;width=60" alt="China" srcset="//cdn.shopify.com/static/images/flags/cn.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>China (CNY ¥)</span>
2987              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/co.svg?format=jpg&amp;width=60" alt="Colombia" srcset="//cdn.shopify.com/static/images/flags/co.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Colombia (USD $)</span>
2988              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/km.svg?format=jpg&amp;width=60" alt="Comoros" srcset="//cdn.shopify.com/static/images/flags/km.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Comoros (KMF Fr)</span>
2989              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CK" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ck.svg?format=jpg&amp;width=60" alt="Cook Islands" srcset="//cdn.shopify.com/static/images/flags/ck.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Cook Islands (NZD $)</span>
2990              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/cr.svg?format=jpg&amp;width=60" alt="Costa Rica" srcset="//cdn.shopify.com/static/images/flags/cr.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Costa Rica (CRC ₡)</span>
2991              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="HR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/hr.svg?format=jpg&amp;width=60" alt="Croatia" srcset="//cdn.shopify.com/static/images/flags/hr.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Croatia (EUR €)</span>
2992              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CW" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/cw.svg?format=jpg&amp;width=60" alt="Curaçao" srcset="//cdn.shopify.com/static/images/flags/cw.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Curaçao (ANG ƒ)</span>
2993              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CY" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/cy.svg?format=jpg&amp;width=60" alt="Cyprus" srcset="//cdn.shopify.com/static/images/flags/cy.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Cyprus (EUR €)</span>
2994              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/cz.svg?format=jpg&amp;width=60" alt="Czechia" srcset="//cdn.shopify.com/static/images/flags/cz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Czechia (CZK Kč)</span>
2995              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="DK" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/dk.svg?format=jpg&amp;width=60" alt="Denmark" srcset="//cdn.shopify.com/static/images/flags/dk.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Denmark (DKK kr.)</span>
2996              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="DJ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/dj.svg?format=jpg&amp;width=60" alt="Djibouti" srcset="//cdn.shopify.com/static/images/flags/dj.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Djibouti (DJF Fdj)</span>
2997              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="DM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/dm.svg?format=jpg&amp;width=60" alt="Dominica" srcset="//cdn.shopify.com/static/images/flags/dm.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Dominica (XCD $)</span>
2998              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="DO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/do.svg?format=jpg&amp;width=60" alt="Dominican Republic" srcset="//cdn.shopify.com/static/images/flags/do.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Dominican Republic (DOP $)</span>
2999              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="EC" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ec.svg?format=jpg&amp;width=60" alt="Ecuador" srcset="//cdn.shopify.com/static/images/flags/ec.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Ecuador (USD $)</span>
3000              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="EG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/eg.svg?format=jpg&amp;width=60" alt="Egypt" srcset="//cdn.shopify.com/static/images/flags/eg.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Egypt (EGP ج.م)</span>
3001              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SV" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sv.svg?format=jpg&amp;width=60" alt="El Salvador" srcset="//cdn.shopify.com/static/images/flags/sv.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>El Salvador (USD $)</span>
3002              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GQ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gq.svg?format=jpg&amp;width=60" alt="Equatorial Guinea" srcset="//cdn.shopify.com/static/images/flags/gq.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Equatorial Guinea (XAF CFA)</span>
3003              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="EE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ee.svg?format=jpg&amp;width=60" alt="Estonia" srcset="//cdn.shopify.com/static/images/flags/ee.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Estonia (EUR €)</span>
3004              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sz.svg?format=jpg&amp;width=60" alt="Eswatini" srcset="//cdn.shopify.com/static/images/flags/sz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Eswatini (USD $)</span>
3005              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="ET" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/et.svg?format=jpg&amp;width=60" alt="Ethiopia" srcset="//cdn.shopify.com/static/images/flags/et.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Ethiopia (ETB Br)</span>
3006              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="FK" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/fk.svg?format=jpg&amp;width=60" alt="Falkland Islands" srcset="//cdn.shopify.com/static/images/flags/fk.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Falkland Islands (FKP £)</span>
3007              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="FO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/fo.svg?format=jpg&amp;width=60" alt="Faroe Islands" srcset="//cdn.shopify.com/static/images/flags/fo.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Faroe Islands (DKK kr.)</span>
3008              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="FJ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/fj.svg?format=jpg&amp;width=60" alt="Fiji" srcset="//cdn.shopify.com/static/images/flags/fj.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Fiji (FJD $)</span>
3009              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="FI" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/fi.svg?format=jpg&amp;width=60" alt="Finland" srcset="//cdn.shopify.com/static/images/flags/fi.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Finland (EUR €)</span>
3010              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="FR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/fr.svg?format=jpg&amp;width=60" alt="France" srcset="//cdn.shopify.com/static/images/flags/fr.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>France (EUR €)</span>
3011              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GF" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gf.svg?format=jpg&amp;width=60" alt="French Guiana" srcset="//cdn.shopify.com/static/images/flags/gf.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>French Guiana (EUR €)</span>
3012              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="PF" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/pf.svg?format=jpg&amp;width=60" alt="French Polynesia" srcset="//cdn.shopify.com/static/images/flags/pf.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>French Polynesia (XPF Fr)</span>
3013              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ga.svg?format=jpg&amp;width=60" alt="Gabon" srcset="//cdn.shopify.com/static/images/flags/ga.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Gabon (XOF Fr)</span>
3014              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gm.svg?format=jpg&amp;width=60" alt="Gambia" srcset="//cdn.shopify.com/static/images/flags/gm.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Gambia (GMD D)</span>
3015              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ge.svg?format=jpg&amp;width=60" alt="Georgia" srcset="//cdn.shopify.com/static/images/flags/ge.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Georgia (USD $)</span>
3016              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="DE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/de.svg?format=jpg&amp;width=60" alt="Germany" srcset="//cdn.shopify.com/static/images/flags/de.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Germany (EUR €)</span>
3017              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GH" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gh.svg?format=jpg&amp;width=60" alt="Ghana" srcset="//cdn.shopify.com/static/images/flags/gh.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Ghana (USD $)</span>
3018              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GI" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gi.svg?format=jpg&amp;width=60" alt="Gibraltar" srcset="//cdn.shopify.com/static/images/flags/gi.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Gibraltar (GBP £)</span>
3019              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5"
3019 role="option" value="GR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gr.svg?format=jpg&amp;width=60" alt="Greece" srcset="//cdn.shopify.com/static/images/flags/gr.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Greece (EUR €)</span>
3020              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GL" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gl.svg?format=jpg&amp;width=60" alt="Greenland" srcset="//cdn.shopify.com/static/images/flags/gl.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Greenland (DKK kr.)</span>
3021              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GD" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gd.svg?format=jpg&amp;width=60" alt="Grenada" srcset="//cdn.shopify.com/static/images/flags/gd.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Grenada (XCD $)</span>
3022              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GP" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gp.svg?format=jpg&amp;width=60" alt="Guadeloupe" srcset="//cdn.shopify.com/static/images/flags/gp.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Guadeloupe (EUR €)</span>
3023              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GT" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gt.svg?format=jpg&amp;width=60" alt="Guatemala" srcset="//cdn.shopify.com/static/images/flags/gt.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Guatemala (GTQ Q)</span>
3024              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gg.svg?format=jpg&amp;width=60" alt="Guernsey" srcset="//cdn.shopify.com/static/images/flags/gg.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Guernsey (GBP £)</span>
3025              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gn.svg?format=jpg&amp;width=60" alt="Guinea" srcset="//cdn.shopify.com/static/images/flags/gn.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Guinea (GNF Fr)</span>
3026              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GW" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gw.svg?format=jpg&amp;width=60" alt="Guinea-Bissau" srcset="//cdn.shopify.com/static/images/flags/gw.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Guinea-Bissau (XOF Fr)</span>
3027              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GY" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gy.svg?format=jpg&amp;width=60" alt="Guyana" srcset="//cdn.shopify.com/static/images/flags/gy.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Guyana (GYD $)</span>
3028              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="HT" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ht.svg?format=jpg&amp;width=60" alt="Haiti" srcset="//cdn.shopify.com/static/images/flags/ht.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Haiti (USD $)</span>
3029              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="HN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/hn.svg?format=jpg&amp;width=60" alt="Honduras" srcset="//cdn.shopify.com/static/images/flags/hn.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Honduras (HNL L)</span>
3030              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="HK" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/hk.svg?format=jpg&amp;width=60" alt="Hong Kong SAR" srcset="//cdn.shopify.com/static/images/flags/hk.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Hong Kong SAR (HKD $)</span>
3031              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="HU" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/hu.svg?format=jpg&amp;width=60" alt="Hungary" srcset="//cdn.shopify.com/static/images/flags/hu.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Hungary (HUF Ft)</span>
3032              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="IS" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/is.svg?format=jpg&amp;width=60" alt="Iceland" srcset="//cdn.shopify.com/static/images/flags/is.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Iceland (ISK kr)</span>
3033              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="IN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/in.svg?format=jpg&amp;width=60" alt="India" srcset="//cdn.shopify.com/static/images/flags/in.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>India (INR ₹)</span>
3034              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="ID" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/id.svg?format=jpg&amp;width=60" alt="Indonesia" srcset="//cdn.shopify.com/static/images/flags/id.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Indonesia (IDR Rp)</span>
3035              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="IE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ie.svg?format=jpg&amp;width=60" alt="Ireland" srcset="//cdn.shopify.com/static/images/flags/ie.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Ireland (EUR €)</span>
3036              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="IL" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/il.svg?format=jpg&amp;width=60" alt="Israel" srcset="//cdn.shopify.com/static/images/flags/il.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>
3036Israel (ILS ₪)</span>
3037              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="IT" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/it.svg?format=jpg&amp;width=60" alt="Italy" srcset="//cdn.shopify.com/static/images/flags/it.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Italy (EUR €)</span>
3038              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="JM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/jm.svg?format=jpg&amp;width=60" alt="Jamaica" srcset="//cdn.shopify.com/static/images/flags/jm.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Jamaica (JMD $)</span>
3039              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="JP" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/jp.svg?format=jpg&amp;width=60" alt="Japan" srcset="//cdn.shopify.com/static/images/flags/jp.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Japan (JPY ¥)</span>
3040              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="JE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/je.svg?format=jpg&amp;width=60" alt="Jersey" srcset="//cdn.shopify.com/static/images/flags/je.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Jersey (USD $)</span>
3041              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="JO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/jo.svg?format=jpg&amp;width=60" alt="Jordan" srcset="//cdn.shopify.com/static/images/flags/jo.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Jordan (USD $)</span>
3042              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/kz.svg?format=jpg&amp;width=60" alt="Kazakhstan" srcset="//cdn.shopify.com/static/images/flags/kz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Kazakhstan (KZT ₸)</span>
3043              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ke.svg?format=jpg&amp;width=60" alt="Kenya" srcset="//cdn.shopify.com/static/images/flags/ke.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Kenya (KES KSh)</span>
3044              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KI" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ki.svg?format=jpg&amp;width=60" alt="Kiribati" srcset="//cdn.shopify.com/static/images/flags/ki.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Kiribati (USD $)</span>
3045              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KW" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/kw.svg?format=jpg&amp;width=60" alt="Kuwait" srcset="//cdn.shopify.com/static/images/flags/kw.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Kuwait (USD $)</span>
3046              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/kg.svg?format=jpg&amp;width=60" alt="Kyrgyzstan" srcset="//cdn.shopify.com/static/images/flags/kg.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Kyrgyzstan (KGS som)</span>
3047              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="LA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/la.svg?format=jpg&amp;
3047width=60" alt="Laos" srcset="//cdn.shopify.com/static/images/flags/la.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Laos (LAK ₭)</span>
3048              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="LV" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/lv.svg?format=jpg&amp;width=60" alt="Latvia" srcset="//cdn.shopify.com/static/images/flags/lv.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Latvia (EUR €)</span>
3049              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="LS" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ls.svg?format=jpg&amp;width=60" alt="Lesotho" srcset="//cdn.shopify.com/static/images/flags/ls.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Lesotho (USD $)</span>
3050              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="LI" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/li.svg?format=jpg&amp;width=60" alt="Liechtenstein" srcset="//cdn.shopify.com/static/images/flags/li.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Liechtenstein (CHF CHF)</span>
3051              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="LT" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/lt.svg?format=jpg&amp;width=60" alt="Lithuania" srcset="//cdn.shopify.com/static/images/flags/lt.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Lithuania (EUR €)</span>
3052              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="LU" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/lu.svg?format=jpg&amp;width=60" alt="Luxembourg" srcset="//cdn.shopify.com/static/images/flags/lu.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Luxembourg (EUR €)</span>
3053              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mo.svg?format=jpg&amp;width=60" alt="Macao SAR" srcset="//cdn.shopify.com/static/images/flags/mo.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Macao SAR (MOP P)</span>
3054              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mg.svg?format=jpg&amp;width=60" alt="Madagascar" srcset="//cdn.shopify.com/static/images/flags/mg.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Madagascar (USD $)</span>
3055              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MW" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mw.svg?format=jpg&amp;width=60" alt="Malawi" srcset="//cdn.shopify.com/static/images/flags/mw.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Malawi (MWK MK)</span>
3056              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MY" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/my.svg?format=jpg&amp;width=60" alt="Malaysia" srcset="//cdn.shopify.com/static/images/flags/my.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Malaysia (MYR RM)</span>
3057              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MV" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mv.svg?format=jpg&amp;width=60" alt="Maldives" srcset="//cdn.shopify.com/static/images/flags/mv.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Maldives (MVR MVR)</span>
3058              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MT" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mt.svg?format=jpg&amp;width=60" alt="Malta" srcset="//cdn.shopify.com/static/images/flags/mt.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Malta (EUR €)</span>
3059              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MQ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mq.svg?format=jpg&amp;width=60" alt="Martinique" srcset="//cdn.shopify.com/static/images/flags/mq.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Martinique (EUR €)</span>
3060              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mr.svg?format=jpg&amp;width=60" alt="Mauritania" srcset="//cdn.shopify.com/static/images/flags/mr.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Mauritania (USD $)</span>
3061              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MU" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mu.svg?format=jpg&amp;width=60" alt="Mauritius" srcset="//cdn.shopify.com/static/images/flags/mu.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Mauritius (MUR ₨)</span>
3062              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="YT" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/yt.svg?format=jpg&amp;width=60" alt="Mayotte" srcset="//cdn.shopify.com/static/images/flags/yt.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Mayotte (EUR €)</span>
3063              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MX" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mx.svg?format=jpg&amp;width=60" alt="Mexico" srcset="//cdn.shopify.com/static/images/flags/mx.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Mexico (MXN $)</span>
3064              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MD" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/md.svg?format=jpg&amp;width=60" alt="Moldova" srcset="//cdn.shopify.com/static/images/flags/md.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Moldova (MDL L)</span>
3065              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MC" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mc.svg?format=jpg&amp;width=60" alt="Monaco" srcset="//cdn.shopify.com/static/images/flags/mc.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Monaco (EUR €)</span>
3066              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mn.svg?format=jpg&amp;width=60" alt="Mongolia" srcset="//cdn.shopify.com/static/images/flags/mn.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Mongolia (MNT ₮)</span>
3067              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="ME" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/me.svg?format=jpg&amp;width=60" alt="Montenegro" srcset="//cdn.shopify.com/static/images/flags/me.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Montenegro (EUR €)</span>
3068              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MS" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ms.svg?format=jpg&amp;width=60" alt="Montserrat" srcset="//cdn.shopify.com/static/images/flags/ms.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Montserrat (XCD $)</span>
3069              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ma.svg?format=jpg&amp;width=60" alt="Morocco" srcset="//cdn.shopify.com/static/images/flags/ma.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Morocco (MAD د.م.)</span>
3070              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mz.svg?format=jpg&amp;width=60" alt="Mozambique" srcset="//cdn.shopify.com/static/images/flags/mz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Mozambique (USD $)</span>
3071              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/na.svg?format=jpg&amp;width=60" alt="Namibia" srcset="//cdn.shopify.com/static/images/flags/na.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Namibia (USD $)</span>
3072              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/nr.svg?format=jpg&amp;width=60" alt="Nauru" srcset="//cdn.shopify.com/static/images/flags/nr.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Nauru (AUD $)</span>
3073              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NP" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/np.svg?format=jpg&amp;width=60" alt="Nepal" srcset="//cdn.shopify.com/static/images/flags/np.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Nepal (NPR Rs.)</span>
3074              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NL" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/nl.svg?format=jpg&amp;width=60" alt="Netherlands" srcset="//cdn.shopify.com/static/images/flags/nl.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Netherlands (EUR €)</span>
3075              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NC" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/nc.svg?format=jpg&amp;width=60" alt="New Caledonia" srcset="//cdn.shopify.com/static/images/flags/nc.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>New Caledonia (XPF Fr)</span>
3076              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/nz.svg?format=jpg&amp;width=60" alt="New Zealand" srcset="//cdn.shopify.com/static/images/flags/nz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>New Zealand (NZD $)</span>
3077              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NI" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ni.svg?format=jpg&amp;width=60" alt="Nicaragua" srcset="//cdn.shopify.com/static/images/flags/ni.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Nicaragua (NIO C$)</span>
3078              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ng.svg?format=jpg&amp;width=60" alt="Nigeria" srcset="//cdn.shopify.com/static/images/flags/ng.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Nigeria (NGN ₦)</span>
3079              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NU" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/nu.svg?format=jpg&amp;width=60" alt="Niue" srcset="//cdn.shopify.com/static/images/flags/nu.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Niue (NZD $)</span>
3080              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MK" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mk.svg?format=jpg&amp;width=60" alt="North Macedonia" srcset="//cdn.shopify.com/static/images/flags/mk.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>North Macedonia (MKD ден)</span>
3081              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="NO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/no.svg?format=jpg&amp;width=60" alt="Norway" srcset="//cdn.shopify.com/static/images/flags/no.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Norway (USD $)</span>
3082              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="OM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/om.svg?format=jpg&amp;width=60" alt="Oman" srcset="//cdn.shopify.com/static/images/flags/om.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Oman (USD $)</span>
3083              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="PK" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/pk.svg?format=jpg&amp;width=60" alt="Pakistan" srcset="//cdn.shopify.com/static/images/flags/pk.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Pakistan (PKR ₨)</span>
3084              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="PA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/pa.svg?format=jpg&amp;width=60" alt="Panama" srcset="//cdn.shopify.com/static/images/flags/pa.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Panama (USD $)</span>
3085              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="PG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/pg.svg?format=jpg&amp;width=60" alt="Papua New Guinea" srcset="//cdn.shopify.com/static/images/flags/pg.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Papua New Guinea (PGK K)</span>
3086        
3086      </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="PY" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/py.svg?format=jpg&amp;width=60" alt="Paraguay" srcset="//cdn.shopify.com/static/images/flags/py.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Paraguay (PYG ₲)</span>
3087              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="PE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/pe.svg?format=jpg&amp;width=60" alt="Peru" srcset="//cdn.shopify.com/static/images/flags/pe.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Peru (PEN S/)</span>
3088              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="PH" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ph.svg?format=jpg&amp;width=60" alt="Philippines" srcset="//cdn.shopify.com/static/images/flags/ph.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Philippines (PHP ₱)</span>
3089              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="PL" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/pl.svg?format=jpg&amp;width=60" alt="Poland" srcset="//cdn.shopify.com/static/images/flags/pl.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Poland (PLN zł)</span>
3090              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="PT" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/pt.svg?format=jpg&amp;width=60" alt="Portugal" srcset="//cdn.shopify.com/static/images/flags/pt.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Portugal (EUR €)</span>
3091              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="QA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/qa.svg?format=jpg&amp;width=60" alt="Qatar" srcset="//cdn.shopify.com/static/images/flags/qa.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Qatar (QAR ر.ق)</span>
3092              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="RE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/re.svg?format=jpg&amp;width=60" alt="Réunion" srcset="//cdn.shopify.com/static/images/flags/re.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Réunion (EUR €)</span>
3093              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="RO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ro.svg?format=jpg&amp;width=60" alt="Romania" srcset="//cdn.shopify.com/static/images/flags/ro.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Romania (RON Lei)</span>
3094              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="RW" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/rw.svg?format=jpg&amp;width=60" alt="Rwanda" srcset="//cdn.shopify.com/static/images/flags/rw.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Rwanda (RWF FRw)</span>
3095              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="WS" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ws.svg?format=jpg&amp;width=60" alt="Samoa" srcset="//cdn.shopify.com/static/images/flags/ws.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Samoa (WST T)</span>
3096              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sm.svg?format=jpg&amp;width=60" alt="San Marino" srcset="//cdn.shopify.com/static/images/flags/sm.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>San Marino (EUR €)</span>
3097              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="ST" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/st.svg?format=jpg&amp;width=60" alt="São Tomé &amp;amp; Príncipe" srcset="//cdn.shopify.com/static/images/flags/st.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>São Tomé &amp; Príncipe (STD Db)</span>
3098              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sa.svg?format=jpg&amp;width=60" alt="Saudi Arabia" srcset="//cdn.shopify.com/static/images/flags/sa.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Saudi Arabia (SAR ر.س)</span>
3099              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sn.svg?format=jpg&amp;width=60" alt="Senegal" srcset="//cdn.shopify.com/static/images/flags/sn.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Senegal (XOF Fr)</span>
3100              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="RS" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/rs.svg?format=jpg&amp;width=60" alt="Serbia" srcset="//cdn.shopify.com/static/images/flags/rs.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Serbia (RSD РСД)</span>
3101              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SC" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sc.svg?format=jpg&amp;width=60" alt="Seychelles" srcset="//cdn.shopify.com/static/images/flags/sc.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Seychelles (USD $)</span>
3102              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SL" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sl.svg?format=jpg&amp;width=60" alt="Sierra Leone" srcset="//cdn.shopify.com/static/images/flags/sl.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Sierra Leone (SLL Le)</span>
3103              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sg.svg?format=jpg&amp;width=60" alt="Singapore" srcset="//cdn.shopify.com/static/images/flags/sg.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Singapore (SGD $)</span>
3104              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SK" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sk.svg?format=jpg&amp;width=60" alt="Slovakia" srcset="//cdn.shopify.com/static/images/flags/sk.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Slovakia (EUR €)</span>
3105              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SI" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/si.svg?format=jpg&amp;width=60" alt="Slovenia" srcset="//cdn.shopify.com/static/images/flags/si.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Slovenia (EUR €)</span>
3106              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SB" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sb.svg?format=jpg&amp;width=60" alt="Solomon Islands" srcset="//cdn.shopify.com/static/images/flags/sb.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Solomon Islands (SBD $)</span>
3107              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="ZA" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/za.svg?format=jpg&amp;width=60" alt="South Africa" srcset="//cdn.shopify.com/static/images/flags/za.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>South Africa (ZAR R)</span>
3108              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/kr.svg?format=jpg&amp;width=60" alt="South Korea" srcset="//cdn.shopify.com/static/images/flags/kr.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>South Korea (KRW ₩)</span>
3109              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="ES" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/es.svg?format=jpg&amp;width=60" alt="Spain" srcset="//cdn.shopify.com/static/images/flags/es.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Spain (EUR €)</span>
3110              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="LK" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/lk.svg?format=jpg&amp;width=60" alt="Sri Lanka" srcset="//cdn.shopify.com/static/images/flags/lk.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Sri Lanka (LKR ₨)</span>
3111              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="BL" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/bl.svg?format=jpg&amp;width=60" alt="St. Barthélemy" srcset="//cdn.shopify.com/static/images/flags/bl.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>St. Barthélemy (EUR €)</span>
3112              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="KN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/kn.svg?format=jpg&amp;width=60" alt="St. Kitts &amp;amp; Nevis" srcset="//cdn.shopify.com/static/images/flags/kn.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>St. Kitts &amp; Nevis (XCD $)</span>
3113              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="LC" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/lc.svg?format=jpg&amp;width=60" alt="St. Lucia" srcset="//cdn.shopify.com/static/images/flags/lc.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>St. Lucia (XCD $)</span>
3114              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="MF" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/mf.svg?format=jpg&amp;width=60" alt="St. Martin" srcset="//cdn.shopify.com/static/images/flags/mf.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>St. Martin (EUR €)</span>
3115              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="VC" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/vc.svg?format=jpg&amp;width=60" alt="St. Vincent &amp;amp; Grenadines" srcset="//cdn.shopify.com/static/images/flags/vc.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>St. Vincent &amp; Grenadines (XCD $)</span>
3116              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SR" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/sr.svg?format=jpg&amp;width=60" alt="Suriname" srcset="//cdn.shopify.com/static/images/flags/sr.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Suriname (USD $)</span>
3117              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="SE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/se.svg?format=jpg&amp;width=60" alt="Sweden" srcset="//cdn.shopify.com/static/images/flags/se.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Sweden (SEK kr)</span>
3118              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="CH" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ch.svg?format=jpg&amp;width=60" alt="Switzerland" srcset="//cdn.shopify.com/static/images/flags/ch.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Switzerland (CHF CHF)</span>
3119              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TW" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/tw.svg?format=jpg&amp;width=60" alt="Taiwan" srcset="//cdn.shopify.com/static/images/flags/tw.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Taiwan (TWD $)</span>
3120              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/tz.svg?format=jpg&amp;width=60" alt="Tanzania" srcset="//cdn.shopify.com/static/images/flags/tz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Tanzania (TZS Sh)</span>
3121              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TH" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/th.svg?format=jpg&amp;width=60" alt="Thailand" srcset="//cdn.shopify.com/static/images/flags/th.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Thailand (THB ฿)</span>
3122              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TL" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/tl.svg?format=jpg&amp;width=60" alt="Timor-Leste" srcset="//cdn.shopify.com/static/images/flags/tl.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Timor-Leste (USD $)</span>
3123              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/tg.svg?format=jpg&amp;width=60" alt="Togo" srcset="//cdn.shopify.com/static/images/flags/tg.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Togo (XOF Fr)</span>
3124              </button><button type="submit" name="country_code" class="popo
3124ver__value-option h-stack gap-2.5" role="option" value="TO" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/to.svg?format=jpg&amp;width=60" alt="Tonga" srcset="//cdn.shopify.com/static/images/flags/to.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Tonga (TOP T$)</span>
3125              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TT" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/tt.svg?format=jpg&amp;width=60" alt="Trinidad &amp;amp; Tobago" srcset="//cdn.shopify.com/static/images/flags/tt.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Trinidad &amp; Tobago (TTD $)</span>
3126              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/tn.svg?format=jpg&amp;width=60" alt="Tunisia" srcset="//cdn.shopify.com/static/images/flags/tn.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Tunisia (USD $)</span>
3127              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TC" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/tc.svg?format=jpg&amp;width=60" alt="Turks &amp;amp; Caicos Islands" srcset="//cdn.shopify.com/static/images/flags/tc.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Turks &amp; Caicos Islands (USD $)</span>
3128              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="TV" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/tv.svg?format=jpg&amp;width=60" alt="Tuvalu" srcset="//cdn.shopify.com/static/images/flags/tv.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Tuvalu (AUD $)</span>
3129              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="UG" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ug.svg?format=jpg&amp;width=60" alt="Uganda" srcset="//cdn.shopify.com/static/images/flags/ug.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Uganda (UGX USh)</span>
3130              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AE" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/ae.svg?format=jpg&amp;width=60" alt="United Arab Emirates" srcset="//cdn.shopify.com/static/images/flags/ae.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>United Arab Emirates (AED د.إ)</span>
3131              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="GB" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/gb.svg?format=jpg&amp;width=60" alt="United Kingdom" srcset="//cdn.shopify.com/static/images/flags/gb.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>United Kingdom (GBP £)</span>
3132              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="US" aria-selected="true"><img src="//cdn.shopify.com/static/images/flags/us.svg?format=jpg&amp;width=60" alt="United States" srcset="//cdn.shopify.com/static/images/flags/us.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>United States (USD $)</span>
3133              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="UY" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/uy.svg?format=jpg&amp;width=60" alt="Uruguay" srcset="//cdn.shopify.com/static/images/flags/uy.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Uruguay (UYU $U)</span>
3134              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="UZ" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/uz.svg?format=jpg&amp;width=60" alt="Uzbekistan" srcset="//cdn.shopify.com/static/images/flags/uz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Uzbekistan (UZS so'm)</span>
3135              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="VU" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/vu.svg?format=jpg&amp;width=60" alt="Vanuatu" srcset="//cdn.shopify.com/static/images/flags/vu.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Vanuatu (VUV Vt)</span>
3136              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="VN" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/vn.svg?format=jpg&amp;width=60" alt="Vietnam" srcset="//cdn.shopify.com/static/images/flags/vn.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Vietnam (VND ₫)</span>
3137              </button><button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="ZM" aria-selected="false"><img src="//cdn.shopify.com/static/images/flags/zm.svg?format=jpg&amp;width=60" alt="Zambia" srcset="//cdn.shopify.com/static/images/flags/zm.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Zambia (USD $)</span>
3138              </button></x-listbox></form></x-popover>
3139    </div></div><ul class="social-media social-media--list unstyled-list" role="list"><li class="social-media__item branding-colors--facebook">
3140      <a href="https://www.facebook.com/shortylovebags" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Facebook"><svg aria-hidden="true" focusable="false" width="24" class="icon icon-facebook" viewB
3140ox="0 0 24 24">
3141      <path fill-rule="evenodd" clip-rule="evenodd" d="M10.183 21.85v-8.868H7.2V9.526h2.983V6.982a4.17 4.17 0 0 1 4.44-4.572 22.33 22.33 0 0 1 2.667.144v3.084h-1.83a1.44 1.44 0 0 0-1.713 1.68v2.208h3.423l-.447 3.456h-2.97v8.868h-3.57Z" fill="currentColor"/>
3142    </svg></a>
3143    </li><li class="social-media__item branding-colors--instagram">
3144      <a href="https://www.instagram.com/shortylovebags/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Instagram"><svg aria-hidden="true" focusable="false" width="24" class="icon icon-instagram" viewBox="0 0 24 24">
3145      <path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.4c-2.607 0-2.934.011-3.958.058-1.022.046-1.72.209-2.33.446a4.705 4.705 0 0 0-1.7 1.107 4.706 4.706 0 0 0-1.108 1.7c-.237.611-.4 1.31-.446 2.331C2.41 9.066 2.4 9.392 2.4 12c0 2.607.011 2.934.058 3.958.046 1.022.209 1.72.446 2.33a4.706 4.706 0 0 0 1.107 1.7c.534.535 1.07.863 1.7 1.108.611.237 1.309.4 2.33.446 1.025.047 1.352.058 3.959.058s2.934-.011 3.958-.058c1.022-.046 1.72-.209 2.33-.446a4.706 4.706 0 0 0 1.7-1.107 4.706 4.706 0 0 0 1.108-1.7c.237-.611.4-1.31.446-2.33.047-1.025.058-1.352.058-3.959s-.011-2.934-.058-3.958c-.047-1.022-.209-1.72-.446-2.33a4.706 4.706 0 0 0-1.107-1.7 4.705 4.705 0 0 0-1.7-1.108c-.611-.237-1.31-.4-2.331-.446C14.934 2.41 14.608 2.4 12 2.4Zm0 1.73c2.563 0 2.867.01 3.88.056.935.042 1.443.199 1.782.33.448.174.768.382 1.104.718.336.336.544.656.718 1.104.131.338.287.847.33 1.783.046 1.012.056 1.316.056 3.879 0 2.563-.01 2.867-.056 3.88-.043.935-.199 1.444-.33 1.782a2.974 2.974 0 0 1-.719 1.104 2.974 2.974 0 0 1-1.103.718c-.339.131-.847.288-1.783.33-1.012.046-1.316.056-3.88.056-2.563 0-2.866-.01-3.878-.056-.936-.042-1.445-.199-1.783-.33a2.974 2.974 0 0 1-1.104-.718 2.974 2.974 0 0 1-.718-1.104c-.131-.338-.288-.847-.33-1.783-.047-1.012-.056-1.316-.056-3.879 0-2.563.01-2.867.056-3.88.042-.935.199-1.443.33-1.782.174-.448.382-.768.718-1.104a2.974 2.974 0 0 1 1.104-.718c.338-.131.847-.288 1.783-.33C9.133 4.14 9.437 4.13 12 4.13Zm0 11.07a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4Zm0-8.13a4.93 4.93 0 1 0 0 9.86 4.93 4.93 0 0 0 0-9.86Zm6.276-.194a1.152 1.152 0 1 1-2.304 0 1.152 1.152 0 0 1 2.304 0Z" fill="currentColor"/>
3146    </svg></a>
3147    </li></ul></div></div><div class="footer__aside"><p class="heading text-subdued text-xxs">© 2026 - shortyLOVE </p><ul class="payment-methods unstyled-list"><li><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-amazon"><title id="pi-amazon">Amazon</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" fill-rule="nonzero" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF" fill-rule="nonzero"/><path d="M25.26 16.23c-1.697 1.48-4.157 2.27-6.275 2.27-2.97 0-5.644-1.3-7.666-3.463-.16-.17-.018-.402.173-.27 2.183 1.504 4.882 2.408 7.67 2.408 1.88 0 3.95-.46 5.85-1.416.288-.145.53.222.248.47v.001zm.706-.957c-.216-.328-1.434-.155-1.98-.078-.167.024-.193-.148-.043-.27.97-.81 2.562-.576 2.748-.305.187.272-.047 2.16-.96 3.063-.14.138-.272.064-.21-.12.205-.604.664-1.96.446-2.29h-.001z" fill="#F90" fill-rule="nonzero"/><path d="M21.814 15.291c-.574-.498-.676-.73-.993-1.205-.947 1.012-1.618 1.315-2.85 1.315-1.453 0-2.587-.938-2.587-2.818 0-1.467.762-2.467 1.844-2.955.94-.433 2.25-.51 3.25-.628v-.235c0-.43.033-.94-.208-1.31-.212-.333-.616-.47-.97-.47-.66 0-1.25.353-1.392 1.085-.03.163-.144.323-.3.33l-1.677-.187c-.14-.033-.296-.153-.257-.38.386-2.125 2.223-2.766 3.867-2.766.84 0 1.94.234 2.604.9.842.82.762 1.918.762 3.11v2.818c0 .847.335 1.22.65 1.676.113.164.138.36-.003.482-.353.308-.98.88-1.326 1.2a.367.367 0 0 1-.414.038zm-1.659-2.533c.34-.626.323-1.214.323-1.918v-.392c-1.25 0-2.57.28-2.57 1.82 0 .782.386 1.31 1.05 1.31.487 0 .922-.312 1.197-.82z" fill="#221F1F"/></svg>
3148</li><li><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#0071CE" style="fill:#0071CE;fill:color(display-p3 0.0000 0.4431 0.8078);fill-opacity:1;"/>
3148<path d="M3 0.5H35C36.3348 0.5 37.5 1.58692 37.5 3V21C37.5 22.4239 36.4239 23.5 35 23.5H3C1.66524 23.5 0.5 22.4131 0.5 21V3C0.5 1.57614 1.57614 0.5 3 0.5Z" stroke="black" stroke-opacity="0.07" style="stroke:black;stroke-opacity:0.07;"/><path d="M25.8662 6.33203V3H31L31.8662 5.5332L32.7334 3H37V14.2002H36.7998L34.8672 16.2656L36.7998 18.3594H37V21.2666H33.5996L31.9336 19.3994L30.2002 21.2666H19.4668V12.666H16L20.2666 3H24.4004L25.8662 6.33203ZM20.5996 20.2656H27V18.5322H22.666V17.3994H26.8662V15.666H22.666V14.5322H27V12.7988H20.5996V20.2656ZM30.5332 16.5322L27 20.2656H29.5996L31.8662 17.8662L34.0664 20.2656H36.7324L33.1992 16.4658L36.7324 12.7988H34.1328L31.8662 15.1992L29.7324 12.7988H27L30.5332 16.5322ZM17.666 11.7324H19.9326L20.5332 10.1992H23.999L24.666 11.7324H26.999L23.666 4.19922H20.999L17.666 11.7324ZM33.5996 4.19922L31.9326 8.86621L30.1992 4.19922H27V11.666H29.0664V6.39941L31 11.666H32.7998L34.7324 6.39941V11.666H36.7324V4.13281L33.5996 4.19922ZM23.2656 8.46582H21.2656L22.2656 5.99902L23.2656 8.46582Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
3149</li><li><svg version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" />
3149<path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg>
3150</li><li><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-blik"><title id="pi-blik">BLIK</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="url(#pi-blik-paint0_linear)"/><path d="M30.343 17.155l-2.785-3.639 2.563-3.236h-2.185l-2.456 3.138V6.78h-1.848v10.375h1.848v-3.532l2.456 3.532h2.407zM18.613 6.78h-1.848v10.366h1.848V6.78zm3.433 3.508h-1.848v6.867h1.848v-6.867z" fill="#fff"/><path d="M13.849 9.573a1.651 1.651 0 100-3.302 1.651 1.651 0 000 3.302z" fill="url(#pi-blik-paint1_radial)"/><path d="M12.041 10.206c-.574 0-1.138.144-1.642.419V6.82H8.534v6.9a3.516 3.516 0 103.507-3.515zm0 5.175a1.643 1.643 0 110-3.286 1.643 1.643 0 010 3.286z" fill="#fff"/><defs><radialGradient id="pi-blik-paint1_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.51 6.18) scale(5.41297)"><stop stop-color="red"/><stop offset=".49" stop-color="#E83E49"/><stop offset="1" stop-color="#F0F"/></radialGradient><linearGradient id="pi-blik-paint0_linear" x1="19" y1="4.977" x2="19" y2="55.605" gradientUnits="userSpaceOnUse"><stop/><stop offset=".732" stop-color="#fff"/><stop offset="1" stop-color="#fff"/></linearGradient></defs></svg></li><li><svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-diners_club"><title id="pi-diners_club">Diners Club</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M12 12v3.7c0 .3-.2.3-.5.2-1.9-.8-3-3.3-2.3-5.4.4-1.1 1.2-2 2.3-2.4.4-.2.5-.1.5.2V12zm2 0V8.3c0-.3 0-.3.3-.2 2.1.8 3.2 3.3 2.4 5.4-.4 1.1-1.2 2-2.3 2.4-.4.2-.4.1-.4-.2V12zm7.2-7H13c3.8 0 6.8 3.1 6.8 7s-3 7-6.8 7h8.2c3.8 0 6.8-3.1 6.8-7s-3-7-6.8-7z" fill="#3086C8"/></svg></li><li><svg viewBox="0 0 38 24" width="38" height="24" role="img" aria-labelledby="pi-discover" fill="none" xmlns="http://www.w3.org/2000/svg"><title id="pi-discover">Discover</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="#fff"/><path d="M3.57 7.16H2v5.5h1.57c.83 0 1.43-.2 1.96-.63.63-.52 1-1.3 1-2.11-.01-1.63-1.22-2.76-2.96-2.76zm1.26 4.14c-.34.3-.77.44-1.47.44h-.29V8.1h.29c.69 0 1.11.12 1.47.44.37.33.59.84.59 1.37 0 .53-.22 1.06-.59 1.39zm2.19-4.14h1.07v5.5H7.02v-5.5zm3.69 2.11c-.64-.24-.83-.4-.83-.69 0-.35.34-.61.8-.61.32 0 .59.13.86.45l.56-.73c-.46-.4-1.01-.61-1.62-.61-.97 0-1.72.68-1.72 1.58 0 .76.35 1.15 1.35 1.51.42.15.63.25.74.31.21.14.32.34.32.57 0 .45-.35.78-.83.78-.51 0-.92-.26-1.17-.73l-.69.67c.49.73 1.09 1.05 1.9 1.05 1.11 0 1.9-.74 1.9-1.81.02-.89-.35-1.29-1.57-1.74zm1.92.65c0 1.62 1.27 2.87 2.9 2.87.46 0 .86-.09 1.34-.32v-1.26c-.43.43-.81.6-1.29.6-1.08 0-1.85-.78-1.85-1.9 0-1.06.79-1.89 1.8-1.89.51 0 .9.18 1.34.62V7.38c-.47-.24-.86-.34-1.32-.34-1.61 0-2.92 1.28-2.92 2.88zm12.76.94l-1.47-3.7h-1.17l2.33 5.64h.58l2.37-5.64h-1.16l-1.48 3.7zm3.13 1.8h3.04v-.93h-1.97v-1.48h1.9v-.93h-1.9V8.1h1.97v-.94h-3.04v5.5zm7.29-3.87c0-1.03-.71-1.62-1.95-1.62h-1.59v5.5h1.07v-2.21h.14l1.48 2.21h1.32l-1.73-2.32c.81-.17 1.26-.72 1.26-1.56zm-2.16.91h-.31V8.03h.33c.67 0 1.03.28 1.03.82 0 .55-.36.85-1.05.85z" fill="#231F20"/><path d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint0_linear)"/><path opacity=".65" d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint1_linear)"/><path d="M36.57 7.506c0-.1-.07-.15-.18-.15h-.16v.48h.12v-.19l.14.19h.14l-.16-.2c.06-.01.1-.06.1-.13zm-.2.07h-.02v-.13h.02c.06 0 .09.02.09.06 0 .05-.03.07-.09.07z" fill="#231F20"/><path d="M36.41 7.176c-.23 0-.42.19-.42.42 0 .23.19.42.42.42.23 0 .42-.19.42-.42 0-.23-.19-.42-.42-.42zm0 .77c-.18 0-.34-.15-.34-.35 0-.19.15-.35.34-.35.18 0 .33.16.33.35 0 .19-.15.35-.33.35z" fill="#231F20"/><path d="M37 12.984S27.09 19.873 8.976 23h26.023a2 2 0 002-1.984l.024-3.02L37 12.985z" fill="#F48120"/><defs><linearGradient id="pi-paint0_linear" x1="21.657" y1="12.275" x2="19.632" y2="9.104" gradientUnits="userSpaceOnUse"><stop stop-color="#F89F20"/><stop offset=".25" stop-color="#F79A20"/><stop offset=".533" stop-color="#F68D20"/><stop offset=".62" stop-color="#F58720"/><stop offset=".723" stop-color="#F48120"/><stop offset="1" stop-color="#F37521"/></linearGradient><linearGradient id="pi-paint1_linear" x1="21.338" y1="12.232" x2="18.378" y2="6.446" gradientUnits="userSpaceOnUse"><stop stop-color="#F58720"/><stop offset=".359" stop-color="#E16F27"/><stop offset=".703" stop-color="#D4602C"/><stop offset=".982" stop-color="#D05B2E"/></linearGradient></defs></svg></li><li><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-eps"> <title id="pi-eps">EPS</title> <path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" opacity=".07"/> <path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#fff"/> <path fill="#71706f" d="M27.745 12.32h-2.322a.465.465 0 01-.468-.464c0-.258.21-.484.468-.484h3.535V9.628h-3.535c-1.233 0-2.237 1.006-2.237 2.236s1.004 2.237 2.237 2.237h2.29c.259 0 .469.205.469.462 0 .258-.21.448-.468.448h-4.912c-.417.796-.822 1.478-1.645 1.82h6.588c1.213-.018 2.205-1.045 2.205-2.265 0-1.22-.992-2.23-2.205-2.247z"/> <path fill="#71706f" d="M18.845 9.628c-1.968 0-3.571 1.612-3.571 3.594V20.697h1.782V16.83h1.785c1.968 0 3.565-1.634 3.565-3.615 0-1.98-1.593-3.587-3.561-3.587zm0 5.383h-1.79v-1.796c0-1.003.8-1.82 
31501.79-1.82s1.796.817 1.796 1.82a1.79 1.79 0 01-1.796 1.796z"/> <path fill="#c8036f" d="M9.634 16.83c-1.685 0-3.101-1.2-3.484-2.768 0 0-.111-.519-.111-.86 0-.342.105-.865.105-.865a3.594 3.594 0 013.482-2.73c1.978 0 3.6 1.608 3.6 3.586v.87H7.973c.31.607.938.948 1.662.948h4.724l.006-5.13c0-.764-.625-1.39-1.39-1.39H6.278c-.764 0-1.39.607-1.39 1.371v6.696c0 .765.626 1.41 1.39 1.41h6.696c.686 0 1.259-.493 1.37-1.138h-4.71z"/> <path fill="#c8036f" d="M9.626 11.31c-.72 0-1.348.44-1.66 1.01h3.32c-.312-.57-.939-1.01-1.66-1.01zM12.659 6.314c0-1.635-1.359-2.96-3.034-2.96-1.647 0-2.987 1.282-3.031 2.879v.91c0 .106.086.21.195.21h1.116c.11 0 .205-.104.205-.21v-.83c0-.815.68-1.48 1.516-1.48.837 0 1.516.665 1.516 1.48v.83c0 .106.089.21.198.21h1.116c.109 0 .202-.104.202-.21v-.83z"/> <g> <path fill="#71706f" d="M20.843 19.142l-.16.914c-.082.462-.384.673-.794.673-.347 0-.616-.226-.538-.672l.161-.914h.249l-.161.913c-.05.285.078.447.32.447.249 0 .462-.148.513-.446l.161-.915h.25zm-.977-.285c0 .076.059.112.121.112.079 0 .164-.057.164-.162 0-.074-.05-.112-.114-.112-.08 0-.17.052-.17.162zm.538-.003c0 .079.06.114.126.114.07 0 .161-.056.161-.159 0-.074-.054-.114-.114-.114-.08 0-.173.052-.173.16zM21.445 19.142l-.112.632a.57.57 0 01.423-.199c.278 0 .47.163.47.465 0 .428-.297.686-.678.686-.148 0-.274-.055-.35-.194l-.042.165h-.218l.276-1.554h.23zm-.175 1.066c-.01.183.11.302.282.302a.444.444 0 00.441-.423c.01-.186-.111-.296-.28-.296a.45.45 0 00-.443.417zM22.68 20.242c-.01.151.11.275.311.275.112 0 .26-.044.34-.12l.126.145a.782.782 0 01-.508.188c-.319 0-.505-.19-.505-.482 0-.388.305-.677.695-.677.356 0 .558.216.437.67h-.896zm.708-.19c.018-.19-.094-.267-.28-.267-.168 0-.323.078-.39.267h.67zM24.193 19.597l-.012.146a.414.414 0 01.357-.17c.107 0 .204.039.255.095l-.139.201a.244.244 0 00-.183-.067.346.346 0 00-.352.3l-.106.595h-.23l.195-1.1h.215zM25.905 19.597l.116.87.422-.87h.257l-.578 1.1h-.27l-.11-.725-.178.36-.192.365h-.27l-.194-1.1h.26l.114.87.424-.87h.199zM26.997 20.242c-.01.151.11.275.311.275.112 0 .26-.044.34-.12l.126.145a.782.782 0 01-.508.188c-.319 0-.505-.19-.505-.482 0-.388.305-.677.695-.677.356 0 .558.216.437.67h-.896zm.708-.19c.018-.19-.094-.267-.28-.267-.168 0-.323.078-.39.267h.67zM28.525 19.597l-.194 1.1H28.1l.195-1.1h.23zm-.204-.3c0 .08.059.12.121.12.09 0 .173-.059.173-.168a.113.113 0 00-.117-.117c-.082 0-.177.054-.177.166zM29.55 19.87c-.072-.081-.164-.104-.274-.104-.152 0-.26.052-.26.148 0 .08.088.114.218.126.201.017.459.085.405.37-.038.205-.244.326-.53.326-.18 0-.353-.04-.47-.204l.151-.163c.083.114.229.161.358.164.11 0 .24-.04.26-.144.02-.098-.067-.136-.228-.152-.188-.018-.394-.087-.394-.296 0-.276.298-.372.522-.372.17 0 .295.038.399.148l-.157.152zM30.278 19.597l-.105.592c-.034.189.051.319.244.319.181 0 .336-.15.367-.334l.101-.576h.231l-.195 1.099h-.208l.015-.16a.573.573 0 01-.412.182c-.271 0-.432-.194-.374-.528l.105-.593h.231zM32.13 20.697l.105-.589c.033-.19-.032-.317-.242-.317-.184 0-.339.148-.37.33l-.1.576h-.232l.195-1.1h.21l-.015.16a.583.583 0 01.403-.176c.27 0 .444.187.384.525l-.106.59h-.233zM32.912 20.848c-.016.152.1.213.296.213.17 0 .354-.095.396-.337l.034-.189c-.1.142-.285.197-.421.197-.283 0-.48-.168-.48-.473 0-.434.323-.685.688-.685.155 0 .294.073.343.199l.038-.176h.224l-.193 1.132c-.071.42-.383.55-.668.55-.34 0-.528-.165-.481-.43h.224zm.065-.633c0 .188.123.302.3.302.477 0 .605-.733.128-.733a.42.42 0 00-.428.43z"/></g></svg></li><li><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.
315006zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg>
3151</li><li><svg width="38" height="24" role="img" aria-labelledby="pi-jcb" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg"><title id="pi-jcb">JCB</title><g fill="none" fill-rule="evenodd"><g fill-rule="nonzero"><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/></g><path d="M11.5 5H15v11.5a2.5 2.5 0 0 1-2.5 2.5H9V7.5A2.5 2.5 0 0 1 11.5 5z" fill="#006EBC"/><path d="M18.5 5H22v11.5a2.5 2.5 0 0 1-2.5 2.5H16V7.5A2.5 2.5 0 0 1 18.5 5z" fill="#F00036"/><path d="M25.5 5H29v11.5a2.5 2.5 0 0 1-2.5 2.5H23V7.5A2.5 2.5 0 0 1 25.5 5z" fill="#2AB419"/>
3151<path d="M10.755 14.5c-1.06 0-2.122-.304-2.656-.987l.78-.676c.068 1.133 3.545 1.24 3.545-.19V9.5h1.802v3.147c0 .728-.574 1.322-1.573 1.632-.466.144-1.365.221-1.898.221zm8.116 0c-.674 0-1.388-.107-1.965-.366-.948-.425-1.312-1.206-1.3-2.199.012-1.014.436-1.782 1.468-2.165 1.319-.49 3.343-.261 3.926.27v.972c-.572-.521-1.958-.898-2.919-.46-.494.226-.737.917-.744 1.448-.006.56.245 1.252.744 1.497.953.467 2.39.04 2.919-.441v1.01c-.358.255-1.253.434-2.129.434zm8.679-2.587c.37-.235.582-.567.582-1.005 0-.438-.116-.687-.348-.939-.206-.207-.58-.469-1.238-.469H23v5h3.546c.696 0 1.097-.23 1.315-.415.283-.25.426-.53.426-.96 0-.431-.155-.908-.737-1.212zm-1.906-.281h-1.428v-1.444h1.495c.956 0 .944 1.444-.067 1.444zm.288 2.157h-1.716v-1.513h1.716c.986 0 1.083 1.513 0 1.513z" fill="#FFF" fill-rule="nonzero"/></g></svg></li><li><svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-maestro"><title id="pi-maestro">Maestro</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><circle fill="#EB001B" cx="15" cy="12" r="7"/><circle fill="#00A2E5" cx="23" cy="12" r="7"/><path fill="#7375CF" d="M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z"/></svg></li><li><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/><path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/><path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg>
3152</li><li><svg role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-mb" xmlns="http://www.w3.org/2000/svg"><title id="pi-mb">Multibanco</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M18.72 17.266h5.859c1.337 0 1.35-1.421 1.214-2.122-.075-.472-.876-.465-.965 0v.547c0 .25-.204.454-.455.455H13.144a.458.458 0 01-.456-.455v-.547c-.088-.465-.89-.472-.963 0-.137.701-.124 2.122 1.214 2.122h5.781zM14.58 3.649h9.032c.634 0 1.153.55 1.153 1.221v.584a.56.56 0 01-1.114.006v-.318a.372.372 0 00-.372-.371h-9.05a.372.372 0 00-.372.371v.312c0 .821-1.065.815-1.065.018v-.601c.003-.671.522-1.222 1.156-1.222z" fill="#3d73b9" fill-rule="evenodd"/><path d="M24.538 10.357a1.788 1.788 0 011.057 1.6c0 .984-.858 1.788-1.907 1.788h-2.943a.488.488 0 01-.5-.464V7.68a.493.493 0 01.492-.49h2.45c1.44-.004 2.343 1.553 1.626 2.801a1.855 1.855 0 01-.275.366m-2.195-.454h.933v-.011a.89.89 0 00.754-.878.89.89 0 00-.888-.888h-1.881v4.646h2.384a.92.92 0 100-1.835h-1.302a.517.517 0 010-1.032" fill="#1d1d1b" fill-rule="evenodd"/>
3152<path d="M14.953 18.986c0-.123.13-.199.236-.137.05.028.08.08.08.137v.851a.71.71 0 01-.708.709.71.71 0 01-.708-.708v-.851a.159.159 0 01.226-.156.155.155 0 01.088.156v.851a.397.397 0 00.395.393.395.395 0 00.394-.394zM16.447 20.23a.159.159 0 010 .317h-.44a.591.591 0 01-.591-.592v-.969c0-.122.13-.197.235-.136.05.027.08.08.08.136v.968c0 .152.124.277.277.277h.439zM19.778 13.187a.59.59 0 11-1.173.123l-.486-4.45-1.711 4.353v.053a.58.58 0 01-.148.168l-.009.007a.487.487 0 01-.102.073l-.011.005-.01.007H16.07a.608.608 0 01-.174.032h-.042a.593.593 0 01-.193-.04h-.05l-.01-.006-.009-.005h-.005a.538.538 0 01-.093-.062l-.02-.017-.014-.015-.036-.009-.017-.02a.66.66 0 01-.063-.093v-.006l-.005-.008-.006-.01v-.044L13.591 8.86l-.484 4.45a.59.59 0 11-1.174-.123l.572-5.248a.98.98 0 01.844-.862h.03c.051-.003.1-.003.15 0a.97.97 0 01.865.617l1.462 3.696 1.459-3.708a.97.97 0 01.866-.617.939.939 0 01.15 0h.03a.978.978 0 01.844.866zM13.792 20.371a.157.157 0 01-.209.176.16.16 0 01-.105-.139l-.134-1.136-.482 1.115a.158.158 0 01-.207.083.152.152 0 01-.082-.083l-.482-1.115-.136 1.136a.157.157 0 11-.312-.037l.158-1.319a.257.257 0 01.139-.196l.031-.015h.012a.273.273 0 01.298.097l.019.029c.002.007.005.012.009.019l.409.947.408-.956a.257.257 0 01.185-.149.793.793 0 01.048-.007h.048a.265.265 0 01.196.126.154.154 0 01.021.045.16.16 0 01.01.031v.02zM17.135 20.389a.158.158 0 01-.317 0v-1.246h-.449a.158.158 0 01-.136-.237.154.154 0 01.136-.079h1.214c.121 0 .197.132.137.237a.163.163 0 01-.137.079h-.448zM18.119 20.389a.157.157 0 01-.236.136.154.154 0 01-.08-.136v-1.403c0-.123.131-.199.237-.137a.16.16 0 01.079.137zM21.352 20.371a.158.158 0 01-.227.153.164.164 0 01-.086-.115l-.056-.446h-.542a.159.159 0 01-.155-.226.157.157 0 01.155-.089h.507l-.014-.116v-.012c-.004-.026-.012-.053-.019-.081a.383.383 0 00-.033-.081.356.356 0 00-.318-.213.307.307 0 00-.15.035.443.443 0 00-.22.352l-.099.877a.156.156 0 01-.249.109.154.154 0 01-.063-.142l.099-.878a.754.754 0 01.389-.598.668.668 0 01.293-.07.667.667 0 01.6.389.822.822 0 01.081.262.033.033 0 010 .014zM21.834 20.389a.158.158 0 11-.314 0v-1.3a.131.131 0 010-.028.152.152 0 01.012-.051l.012-.028a.23.23 0 01.124-.103l.022-.005H21.748a.219.219 0 01.166.086l.837 1.07v-1.044a.157.157 0 11.315 0v1.3a.222.222 0 01-.115.193c-.006.005-.013.007-.019.01l-.013.006a.228.228 0 01-.17-.009l-.019-.011a.157.157 0 01-.032-.024c-.007-.006-.013-.014-.021-.02l-.004-.007-.839-1.075zM24.298 20.23a.159.159 0 010 .317h-.464a.622.622 0 01-.622-.621v-.475a.625.625 0 01.622-.622h.464c.122 0 .198.132.137.238a.163.163 0 01-.137.078h-.464a.308.308 0 00-.218.093.298.298 0 00-.093.216v.474c0 .17.138.308.308.308h.465zM25.211 19.142a.432.432 0 00-.299.118.394.394 0 00-.121.28v.294a.39.39 0 00.12.279.434.434 0 00.299.118.432.432 0 00.299-.118.389.389 0 00.122-.279v-.294a.394.394 0 00-.122-.28.437.437 0 00-.299-.118m0-.315a.742.742 0 01.517.206.701.701 0 01.217.506v.294a.696.696 0 01-.217.505.743.743 0 01-.517.207.74.74 0 01-.516-.207.702.702 0 01-.218-.505v-.294a.706.706 0 01.218-.506.74.74 0 01.516-.206zM18.565 19.143v1.087h.61a.197.197 0 00.145-.332l-.006-.006a.199.199 0 00-.139-.059h-.21a.158.158 0 01-.137-.236.157.157 0 01.137-.078h.071a.2.2 0 00.119-.057.185.185 0 00-.13-.318h-.46zm-.315.534v-.686c0-.021.003-.042.012-.061a.172.172 0 01.037-.055.154.154 0 01.103-.045h.618c.278 0 .503.226.503.502a.506.506 0 01-.077.268c.033.02.064.043.093.07l.009.012a.51.51 0 01.142.353.515.515 0 01-.513.512h-.77a.157.157 0 01-.157-.158z" fill="#1d1d1b"/></svg>
3153</li><li><svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-mobilepay"><title id="pi-mobilepay">MobilePay</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill-rule="evenodd" clip-rule="evenodd" d="M20.05 15.296s2.53-.771 4.282-.776c2.896-.007 4.857 1.15 4.857 1.15V10.06s-1.97-1.02-4.453-1.09c-2.481-.068-4.687 1.012-4.687 1.012v5.313z" fill="#5A78FF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M17.308 9.19l2.082 4.957V9.396s1.646-.882 3.485-1.13c1.84-.249 4.181.08 4.181.08l-1.133-2.707s-2.461-.159-4.69.794c-2.228.952-3.925 2.756-3.925 2.756z" fill="#5A78FF"/><path d="M21.428 5.676l-.82-1.99a1.818 1.818 0 00-2.37-.996l-5.663 2.334a1.818 1.818 0 00-.98 2.376l5.46 13.247a1.818 1.818 0 002.37.995l5.662-2.334a1.817 1.817 0 00.98-2.376l-.677-1.642s-.462-.027-.676-.033c-.226-.006-.644-.001-.644-.001l.88 2.136a.606.606 0 01-.326.793l-5.663 2.333a.606.606 0 01-.79-.331L12.711 6.94a.606.606 0 01.327-.792L18.7 3.814a.606.606 0 01.79.332l.83 2.011s.383-.187.59-.27c.206-.082.518-.211.518-.211z" fill="#5A78FF"/></svg></li><li><svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/>
3153<path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 0-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg></li><li><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shop Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35.889 0C37.05 0 38 .982 38 2.182v19.636c0 1.2-.95 2.182-2.111 2.182H2.11C.95 24 0 23.018 0 21.818V2.182C0 .982.95 0 2.111 0H35.89z" fill="#5A31F4"/><path d="M9.35 11.368c-1.017-.223-1.47-.31-1.47-.705 0-.372.306-.558.92-.558.54 0 .934.238 1.225.704a.079.079 0 00.104.03l1.146-.584a.082.082 0 00.032-.114c-.475-.831-1.353-1.286-2.51-1.286-1.52 0-2.464.755-2.464 1.956 0 1.275 1.15 1.597 2.17 1.82 1.02.222 1.474.31 1.474.705 0 .396-.332.582-.993.582-.612 0-1.065-.282-1.34-.83a.08.08 0 00-.107-.035l-1.143.57a.083.083 0 00-.036.111c.454.92 1.384 1.437 2.627 1.437 1.583 0 2.539-.742 2.539-1.98s-1.155-1.598-2.173-1.82v-.003zM15.49 8.855c-.65 0-1.224.232-1.636.646a.04.04 0 01-.069-.03v-2.64a.08.08 0 00-.08-.081H12.27a.08.08 0 00-.08.082v8.194a.08.08 0 00.08.082h1.433a.08.08 0 00.081-.082v-3.594c0-.695.528-1.227 1.239-1.227.71 0 1.226.521 1.226 1.227v3.594a.08.08 0 00.081.082h1.433a.08.08 0 00.081-.082v-3.594c0-1.51-.981-2.577-2.355-2.577zM20.753 8.62c-.778 0-1.507.24-2.03.588a.082.082 0 00-.027.109l.632 1.088a.08.08 0 00.11.03 2.5 2.5 0 011.318-.366c1.25 0 2.17.891 2.17 2.068 0 1.003-.736 1.745-1.669 1.745-.76 0-1.288-.446-1.288-1.077 0-.361.152-.657.548-.866a.08.08 0 00.032-.113l-.596-1.018a.08.08 0 00-.098-.035c-.799.299-1.359 1.018-1.359 1.984 0 1.46 1.152 2.55 2.76 2.55 1.877 0 3.227-1.313 3.227-3.195 0-2.018-1.57-3.492-3.73-3.492zM28.675 8.843c-.724 0-1.373.27-1.845.746-.026.027-.069.007-.069-.029v-.572a.08.08 0 00-.08-.082h-1.397a.08.08 0 00-.08.082v8.182a.08.08 0 00.08.081h1.433a.08.08 0 00.081-.081v-2.683c0-.036.043-.054.069-.03a2.6 2.6 0 001.808.7c1.682 0 2.993-1.373 2.993-3.157s-1.313-3.157-2.993-3.157zm-.271 4.929c-.956 0-1.681-.768-1.681-1.783s.723-1.783 1.681-1.783c.958 0 1.68.755 1.68 1.783 0 1.027-.713 1.783-1.681 1.783h.001z" fill="#fff"/></svg>
3154</li><li><svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-twint"><title id="pi-twint">Twint</title><path d="M3 0h32a3 3 0 0 1 3 3v17.97a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3a3 3 0 0 1 3-3z" fill="#000"/><path fill="#fff" d="M11.822 14.477a.49.49 0 0 1-.22.383L7.31 17.337a.49.49 0 0 1-.442 0L2.576 14.86a.49.49 0 0 1-.22-.383V9.522a.49.49 0 0 1 .22-.382l4.292-2.478a.49.49 0 0 1 .442 0l4.291 2.478a.49.49 0 0 1 .221.382v4.955zM35.645 9.88H31.8v.913h1.378v3.923h1.088v-3.923h1.379v-.914.001zm-17.452-.001h-3.845v.913h1.379v3.923h1.088v-3.923h1.378v-.914.001zm11.12-.154c-1.209 0-1.882.771-1.882 1.887v3.103h1.075V11.59c0-.486.289-.86.819-.86s.815.444.815.86v3.127h1.075v-3.103c0-1.116-.696-1.887-1.904-1.887h.002v-.002zm-4.061.154h1.08v4.836h-1.08V9.879zm-3.644 1.915l.036.215 1.009 2.706h.44l1.375-4.837h-1.063l-.655 2.541-.039.272-.053-.272-.875-2.54h-.35l-.876 2.54-.053.272-.039-.272-.654-2.54h-1.064l1.375 4.836h.44l1.01-2.706.036-.215"/><path fill="#ff4800" d="M9.324 12.012l-1.118 1.64-.573-.878.662-.988c.123-.177.385-.66.082-1.321a1.377 1.377 0 0 0-1.248-.796 1.377 1.377 0 0 0-1.247.796 1.27 1.27 0 0 0 .076 1.3l.674.995.495.716.75 1.145a.428.428 0 0 0 .334.19c.2 0 .322-.179.338-.201l1.754-2.597h-.979zm-2.202.042s-.293-.444-.483-.754a.556.556 0 0 1-.072-.275c0-.305.25-.556.555-.556s.556.251.556.556a.556.556 0 0 1-.072.275c-.187.31-.479.754-.479.754h-.005z"/><path fill="#007ce2" d="M6.046 13.6l-1.099-1.544s-.293-.446-.483-.756a.553.553 0 0 1-.074-.276c0-.304.25-.553.553-.553h.004a.582.582 0 0 1 .161.022l.389-.71a1.376 1.376 0 0 0-1.793.681 1.27 1.27 0 0 0 .076 1.301l1.92 2.847c.016.025.139.204.343.204a.427.427 0 0 0 .337-.2l.58-.884-.498-.734-.417.602z"/></svg></li><li><svg viewBox="-36 25 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-unionpay"><title id="pi-unionpay">Union Pay</title><path fill="#005B9A" d="M-36 46.8v.7-.7zM-18.3 25v24h-7.2c-1.3 0-2.1-1-1.8-2.3l4.4-19.4c.3-1.3 1.9-2.3 3.2-2.3h1.4zm12.6 0c-1.3 0-2.9 1-3.2 2.3l-4.5 19.4c-.3 1.3.5 2.3 1.8 2.3h-4.9V25
3154h10.8z"/><path fill="#E9292D" d="M-19.7 25c-1.3 0-2.9 1.1-3.2 2.3l-4.4 19.4c-.3 1.3.5 2.3 1.8 2.3h-8.9c-.8 0-1.5-.6-1.5-1.4v-21c0-.8.7-1.6 1.5-1.6h14.7z"/><path fill="#0E73B9" d="M-5.7 25c-1.3 0-2.9 1.1-3.2 2.3l-4.4 19.4c-.3 1.3.5 2.3 1.8 2.3H-26h.5c-1.3 0-2.1-1-1.8-2.3l4.4-19.4c.3-1.3 1.9-2.3 3.2-2.3h14z"/><path fill="#059DA4" d="M2 26.6v21c0 .8-.6 1.4-1.5 1.4h-12.1c-1.3 0-2.1-1.1-1.8-2.3l4.5-19.4C-8.6 26-7 25-5.7 25H.5c.9 0 1.5.7 1.5 1.6z"/><path fill="#fff" d="M-21.122 38.645h.14c.14 0 .28-.07.28-.14l.42-.63h1.19l-.21.35h1.4l-.21.63h-1.68c-.21.28-.42.42-.7.42h-.84l.21-.63m-.21.91h3.01l-.21.7h-1.19l-.21.7h1.19l-.21.7h-1.19l-.28 1.05c-.07.14 0 .28.28.21h.98l-.21.7h-1.89c-.35 0-.49-.21-.35-.63l.35-1.33h-.77l.21-.7h.77l.21-.7h-.7l.21-.7zm4.83-1.75v.42s.56-.42 1.12-.42h1.96l-.77 2.66c-.07.28-.35.49-.77.49h-2.24l-.49 1.89c0 .07 0 .14.14.14h.42l-.14.56h-1.12c-.42 0-.56-.14-.49-.35l1.47-5.39h.91zm1.68.77h-1.75l-.21.7s.28-.21.77-.21h1.05l.14-.49zm-.63 1.68c.14 0 .21 0 .21-.14l.14-.35h-1.75l-.14.56 1.54-.07zm-1.19.84h.98v.42h.28c.14 0 .21-.07.21-.14l.07-.28h.84l-.14.49c-.07.35-.35.49-.77.56h-.56v.77c0 .14.07.21.35.21h.49l-.14.56h-1.19c-.35 0-.49-.14-.49-.49l.07-2.1zm4.2-2.45l.21-.84h1.19l-.07.28s.56-.28 1.05-.28h1.47l-.21.84h-.21l-1.12 3.85h.21l-.21.77h-.21l-.07.35h-1.19l.07-.35h-2.17l.21-.77h.21l1.12-3.85h-.28m1.26 0l-.28 1.05s.49-.21.91-.28c.07-.35.21-.77.21-.77h-.84zm-.49 1.54l-.28 1.12s.56-.28.98-.28c.14-.42.21-.77.21-.77l-.91-.07zm.21 2.31l.21-.77h-.84l-.21.77h.84zm2.87-4.69h1.12l.07.42c0 .07.07.14.21.14h.21l-.21.7h-.77c-.28 0-.49-.07-.49-.35l-.14-.91zm-.35 1.47h3.57l-.21.77h-1.19l-.21.7h1.12l-.21.77h-1.26l-.28.42h.63l.14.84c0 .07.07.14.21.14h.21l-.21.7h-.7c-.35 0-.56-.07-.56-.35l-.14-.77-.56.84c-.14.21-.35.35-.63.35h-1.05l.21-.7h.35c.14 0 .21-.07.35-.21l.84-1.26h-1.05l.21-.77h1.19l.21-.7h-1.19l.21-.77zm-19.74-5.04c-.14.7-.42 1.19-.91 1.54-.49.35-1.12.56-1.89.56-.7 0-1.26-.21-1.54-.56-.21-.28-.35-.56-.35-.98 0-.14 0-.35.07-.56l.84-3.92h1.19l-.77 3.92v.28c0 .21.07.35.14.49.14.21.35.28.7.28s.7-.07.91-.28c.21-.21.42-.42.49-.77l.77-3.92h1.19l-.84 3.92m1.12-1.54h.84l-.07.49.14-.14c.28-.28.63-.42 1.05-.42.35 0 .63.14.77.35.14.21.21.49.14.91l-.49 2.38h-.91l.42-2.17c.07-.28.07-.49 0-.56-.07-.14-.21-.14-.35-.14-.21 0-.42.07-.56.21-.14.14-.28.35-.28.63l-.42 2.03h-.91l.63-3.57m9.8 0h.84l-.07.49.14-.14c.28-.28.63-.42 1.05-.42.35 0 .63.14.77.35s.21.49.14.91l-.49 2.38h-.91l.42-2.24c.07-.21 0-.42-.07-.49-.07-.14-.21-.14-.35-.14-.21 0-.42.07-.56.21-.14.14-.28.35-.28.63l-.42 2.03h-.91l.7-3.57m-5.81 0h.98l-.77 3.5h-.98l.77-3.5m.35-1.33h.98l-.21.84h-.98l.21-.84zm1.4 4.55c-.21-.21-.35-.56-.35-.98v-.21c0-.07 0-.21.07-.28.14-.56.35-1.05.7-1.33.35-.35.84-.49 1.33-.49.42 0 .77.14 1.05.35.21.21.35.56.35.98v.21c0 .07 0 .21-.07.28-.14.56-.35.98-.7 1.33-.35.35-.84.49-1.33.49-.35 0-.7-.14-1.05-.35m1.89-.7c.14-.21.28-.49.35-.84v-.35c0-.21-.07-.35-.14-.49a.635.635 0 0 0-.49-.21c-.28 0-.49.07-.63.28-.14.21-.28.49-.35.84v.28c0 .21.07.35.14.49.14.14.28.21.49.21.28.07.42 0 .63-.21m6.51-4.69h2.52c.49 0 .84.14 1.12.35.28.21.35.56.35.91v.28c0 .07 0 .21-.07.28-.07.49-.35.98-.7 1.26-.42.35-.84.49-1.4.49h-1.4l-.42 2.03h-1.19l1.19-5.6m.56 2.59h1.12c.28 0 .49-.07.7-.21.14-.14.28-.35.35-.63v-.28c0-.21-.07-.35-.21-.42-.14-.07-.35-.14-.7-.14h-.91l-.35 1.68zm8.68 3.71c-.35.77-.7 1.26-.91 1.47-.21.21-.63.7-1.61.7l.07-.63c.84-.28 1.26-1.4 1.54-1.96l-.28-3.78h1.19l.07 2.38.91-2.31h1.05l-2.03 4.13m-2.94-3.85l-.42.28c-.42-.35-.84-.56-1.54-.21-.98.49-1.89 4.13.91 2.94l.14.21h1.12l.7-3.29-.91.07m-.56 1.82c-.21.56-.56.84-.91.77-.28-.14-.35-.63-.21-1.19.21-.56.56-.84.91-.77.28.14.35.63.21 1.19"/></svg></li><li><svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/>
3154<path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778 
315416.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
3155</li></ul></div>
3156    </div>
3157  </div>
3158</div>
3159
3160</footer>
3161<!-- END sections: footer-group --></main>
3162  <div id="shopify-block-AS0lNMVZlSktiRm1BQ__5888675206956468567" class="shopify-block shopify-app-block">
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179<div
3180  id='loop-onstore-data'
3181  data-show-onstore-bar='false'
3182  data-apikey='test-key'
3183  data-checkoutselector='#checkout'
3184  data-replacecheckoutbutton='false'
3185  data-cartdetails='true'
3186  data-preservecart='false'
3187  data-label='in available credit'
3188  data-mobile-label='credit'
3189  data-valuesize='15'
3190  data-labelsize='10'
3191  data-buttonsize='10'
3192  data-alignment='full'
3193  data-bgcolor='rgb(0,0,0)'
3194  data-textcolor='rgb(255,255,255)'
3195  data-bumpsidecart='false'
3196  data-sidecartselector='.sidecart'></div>
3197
3198
3199</div><div id="shopify-block-AQTlTWDBDUEVwNWNoZ__10641372206048101839" class="shopify-block shopify-app-block">
3200<script>
3201  window.Rebuy = window.Rebuy || {};
3202  window.Rebuy.customer = window.Rebuy.customer || {};
3203  
3204  window.Rebuy.market = window.Rebuy.market || {};
3205  
3206  window.Rebuy.market.country = "US";
3207  
3208  
3209  window.Rebuy.market.locale = "en";
3210  
3211</script>
3211
3212
3213
3214<script async src="https://cdn.rebuyengine.com/onsite/js/rebuy.js?shop=shortylove.myshopify.com"></script>
3214
3215
3216
3217</div><div id="shopify-block-ASjFuMTFVN042UTZqb__2267199344015275021" class="shopify-block shopify-app-block"></div><div id="shopify-block-Ad2RoT24rR2tESkptV__9118640484735429602" class="shopify-block shopify-app-block">
3218
3219</div><div id="shopify-block-AVElYbHJnemxjbVVrN__10840395464443086010" class="shopify-block shopify-app-block">
3220
3221
3222<script>
3223  console.log("[Alia app extension] v1.0.5");
3224
3225  const BACKEND_URL = "https://backend.alia-prod.com";
3226
3227  window.ALIA_SHOPIFY_EXTENSION_INFO = {
3228    customerID: "",
3229    country: "US",
3230    market: "us",
3231    language: "en"
3232  }
3233
3234  if (document.readyState !== "loading") {
3235    initAlia();
3236  } else {
3237    document.addEventListener("DOMContentLoaded", () => initAlia(), { once: true });
3238  }
3239
3240  async function initAlia() {
3241    const url = BACKEND_URL + "/public/launcher.js?shopifyUrl=shortylove.myshopify.com";
3242    const script = document.createElement("script");
3243    script.src = url;
3244    script.async = true;
3245    document.head.appendChild(script);
3246  }
3247</script>
3247
3248
3249</div>
3249<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3249
3250</body>
3251</html>

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.