1<!doctype html> 2<html 3 class="no-js" 4 lang="en" 5> 6 <head> 7 <link href="//amandauprichard.com/cdn/shop/t/440/assets/Neue-Helvetica-Regular.woff2?v=62752749622723160271772650869" as="font" type="font/woff2" crossorigin="anonymous" rel="preload"> 8 <link href="//amandauprichard.com/cdn/shop/t/440/assets/Neue-Helvetica-Light.woff2?v=75733376610104043241772650868" as="font" type="font/woff2" crossorigin="anonymous" rel="preload"> 9 <link href="//amandauprichard.com/cdn/shop/t/440/assets/Neue-Helvetica-Bold.woff2?v=115299233660338904591772650868" as="font" type="font/woff2" crossorigin="anonymous" rel="preload"> 10 11 12 13<style data-shopify> 14 15 @font-face { 16 font-family: 'Neue Helvetica Light'; 17 src: url('//amandauprichard.com/cdn/shop/t/440/assets/Neue-Helvetica-Light.woff2?v=75733376610104043241772650868') format('woff2'); 18 font-weight: light; 19 font-style: normal; 20 font-display: swap; 21 } 22 @font-face { 23 font-family: 'Neue Helvetica Regular'; 24 src: url('//amandauprichard.com/cdn/shop/t/440/assets/Neue-Helvetica-Regular.woff2?v=62752749622723160271772650869') format('woff2'); 25 font-weight: normal; 26 font-style: normal; 27 font-display: swap; 28 } 29 @font-face { 30 font-family: 'Neue Helvetica Bold'; 31 src: url('//amandauprichard.com/cdn/shop/t/440/assets/Neue-Helvetica-Bold.woff2?v=11
315299233660338904591772650868') format('woff2'); 32 font-style: normal; 33 font-weight: bold; 34 font-display: swap; 35 } 36 @font-face { 37 font-family: 'Helvetica'; 38 src: url('//amandauprichard.com/cdn/shop/t/440/assets/Helvetica.woff2?v=179211879087154425371772650869') format('woff2') 39 , url('//amandauprichard.com/cdn/shop/t/440/assets/Helvetica.woff?v=138526784777716215651772650869') format('woff'); 40 font-weight: normal; 41 font-style: normal; 42 font-display: swap; 43 } 44 @font-face { 45 font-family: 'Helvetica'; 46 src: url('//amandauprichard.com/cdn/shop/t/440/assets/Helvetica-Bold.woff2?v=173601137037470353771772650868') format('woff2') 47 , url('//amandauprichard.com/cdn/shop/t/440/assets/Helvetica-Bold.woff?v=174649137543222720761772650868') format('woff'); 48 font-weight: bold; 49 font-style: normal; 50 font-display: swap; 51 } 52 :root {--page-width-default: 1440px; 53 --section-padding: 4.375rem; 54 --z-index-overwrite: 11;--font-body: 'Neue Helvetica Regular', 55Arial, sans-serif 56, sans-serif; 57--font-body-style: normal; 58--font-body-weight: 400; 59--font-body-scale: 1.0; 60 61--font-heading: 'Neue Helvetica Regular', 62Arial, sans-serif; 63--font-heading-style: normal; 64--font-heading-weight: 700; 65--font-heading-scale: 1.0; 66 67--font-heading-1: 'Neue Helvetica Regular', 68Arial, sans-serif; 69 70--font-heading-2: 'Neue Helvetica Regular', 71Arial, sans-serif;--color-primary-text: #414142; 72--color-primary-background: #ffffff; 73--color-gradient: ; 74--color-border: #f7f5f5; 75--color-placeholder: #171717; 76--color-focus: #414142; 77--color-primary-btn-text: #ffffff; 78--color-primary-btn-bg: #000000; 79--color-secondary-btn-text: #414142; 80--color-secondary-btn-bg: #ffffff; 81--color-schema1-text: #414142; 82--color-schema1-background: #ffffff; 83--color-schema2-text: #ffffff; 84--color-schema2-background: #000000; 85--color-schema3-text: #414142; 86--color-schema3-background: rgba(0,0,0,0);--media-padding: px; 87--media-border-opacity: 0.0; 88--media-border-width: px; 89--media-radius: px; 90--media-shadow-opacity: 0.0; 91--media-shadow-horizontal-offset: px; 92--media-shadow-vertical-offset: px; 93--media-shadow-blur-radius: px; 94 95 96--card-image-padding: 0.0rem; 97--card-corner-radius: 0.0rem; 98--card-text-alignment: ; 99--card-border-width: 0.0rem; 100--card-border-opacity: 0.0; 101--card-shadow-opacity: 0.0; 102--card-shadow-horizontal-offset: 0.0rem; 103--card-shadow-vertical-offset: 0.0rem; 104--card-shadow-blur-radius: 0.0rem; 105 106--badge-corner-radius: 0.0rem; 107 108--popup-border-width: px; 109--popup-border-opacity: 0.0; 110--popup-corner-radius: px; 111--popup-shadow-opacity: 0.0; 112--popup-shadow-horizontal-offset: px; 113--popup-shadow-vertical-offset: px; 114--popup-shadow-blur-radius: px; 115 116--drawer-border-width: px; 117--drawer-border-opacity: 0.0; 118--drawer-shadow-opacity: 0.0; 119--drawer-shadow-horizontal-offset: px; 120--drawer-shadow-vertical-offset: px; 121--drawer-shadow-blur-radius: px; 122 123--spacing-sections-desktop: px; 124--spacing-sections-mobile: 20 125px; 126 127--grid-desktop-vertical-spacing: px; 128--grid-desktop-horizontal-spacing: px; 129--grid-mobile-vertical-spacing: 0px; 130--grid-mobile-horizontal-spacing: 0px; 131 132--text-boxes-border-opacity: 0.0; 133--text-boxes-border-width: px; 134--text-boxes-radius: px; 135--text-boxes-shadow-opacity: 0.0; 136--text-boxes-shadow-horizontal-offset: px; 137--text-boxes-shadow-vertical-offset: px; 138--text-boxes-shadow-blur-radius: px; 139 140--buttons-radius: px; 141--buttons-radius-outset: 0px; 142--buttons-border-width: 0px; 143--buttons-border-opacity: 0.0; 144--buttons-shadow-opacity: 0.0; 145--buttons-shadow-horizontal-offset: px; 146--buttons-shadow-vertical-offset: px; 147--buttons-shadow-blur-radius: px; 148--buttons-border-offset: 0px; 149 150--inputs-radius: px; 151--inputs-border-width: px; 152--inputs-border-opacity: 0.0; 153--inputs-shadow-opacity: 0.0; 154--inputs-shadow-horizontal-offset: px; 155--inputs-margin-offset: 0px; 156--inputs-shadow-vertical-offset: px; 157--inputs-shadow-blur-radius: px; 158--inputs-radius-outset: 0px; 159 160--variant-pills-radius: px; 161--variant-pills-border-width: px; 162--variant-pills-border-opacity: 0.0; 163--variant-pills-shadow-opacity: 0.0; 164--variant-pills-shadow-horizontal-offset: px; 165--variant-pills-shadow-vertical-offset: px; 166--variant-pills-shadow-blur-radius: px; 167} 168</style> 169 <!-- Start of Shoplift scripts --> 170 <!-- 2026-06-03T13:20:38.5382036Z --> 171<style>.shoplift-hide { opacity: 0 !important; }</style> 172<style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style>
173<script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2026-10-03T19:15:00.3924673Z */(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
1737|;\\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}
173const 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",Oe="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 Ve(a){let e=a.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";const t=atob(e),i=Uint8Array.from(t,o=>
173o.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;
173const 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)}
173else 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 V=R.querySelector(A),O=R.querySelector(x);if(V&&O){const L=h[V.value];if(L!==void 0){if(L===0)O.style.display!=="none"&&(O.style.display="none");else if(O.style.display==="none"&&(O.style.display=""),O.textContent){const Q=O.textContent.match(/[\d.]+%/)?.[0];Q&&Q!==`${L}%`&&$(O,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 V of Array.from(R.shadowRoot.querySelectorAll("li")))if(V.textContent?.includes("Save")){const O=V;if(P===0)O.style.display!=="none"&&(O.style.display="none");else{O.style.display==="none"&&(O.style.display="");const L=V.textContent.match(/[\d.]+%/)?.[0];L&&L!==`${P}%`&&$(V,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 V=h[R.value];V!==void 0&&(A=V)}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 V of R){const O=P.querySelector(V.selector)||P.querySelector(`[part~="${V.selector}"]`);O?.textContent&&!O.textContent.includes(g.formattedDiscounted)&&$(O,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?.hy
173pothesis;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];if(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{}}
173document.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);urlParams=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=>
173S.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()}
173async 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 Ve(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=Oe,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);
173const 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
173ategoryFromExistingTests(),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")}
173),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
173ing 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;
173if(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=>
173i.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()=>
173{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}`};
173this.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
173ndToGa??!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){return new URLSearchParams(window.location.search).get(e)||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 )|
173sy(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")}
173,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",
173y):(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}
173const 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
173CookieState(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
173andex\.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
173pera\.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)}
173,{"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
173akao|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
173andex\.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
173: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("amanda-uprichard.myshopify.com","https://app.shoplift.ai","https://events.shoplift.ai",false,false,false,{"sendEvents":false,"mode":"gtag"}
173,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 V=c[x.value];if(V!==void 0){const O=R.textContent.match(/[\d.]+%/)?.[0];O&&O!==`${V}%`&&$(R,L=>N(L,V))}}}}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 V of v){const O=R.querySelector(`[part~="${V.selector}"]`);O?.textContent&&!O.textContent.includes(A)&&$(O,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,V=>N(V,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: "cart" }, "main", 140801736752, false)</script>
173 174 <!-- End of Shoplift scripts --> 175 176 <!-- Google Tag Manager --> 177
177<script>
vendor: 455 bytes, lines 177-187
177 178 (function (w, d, s, l, i) { 179 w[l] = w[l] || []; 180 w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); 181 var f = d.getElementsByTagName(s)[0], 182 j = d.createElement(s), 183 dl = l != 'dataLayer' ? '&l=' + l : ''; 184 j.async = true; 185 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 186 f.parentNode.insertBefore(j, f); 187 })(window, document, 'script', 'dataLayer', '
187GTM-TF49KH66
vendor: 8 bytes, lines 187-188
187'); 188
188</script>
188 189 <!-- End Google Tag Manager -->
189<script defer="defer"> 190 191if(!window.jQuery){ 192 var jqueryScript = document.createElement('script'); 193 jqueryScript.setAttribute('src','https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js'); 194 document.head.appendChild(jqueryScript); 195} 196 197__DL__jQueryinterval = setInterval(function(){ 198 // wait for jQuery to load & run script after jQuery has loaded 199 if(window.jQuery){ 200 // search parameters 201 getURLParams = function(name, url){ 202 if (!url) url = window.location.href; 203 name = name.replace(/[\[\]]/g, "\\$&"); 204 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 205 results = regex.exec(url); 206 if (!results) return null; 207 if (!results[2]) return ''; 208 return decodeURIComponent(results[2].replace(/\+/g, " ")); 209 }; 210 211 /********************** 212 * DYNAMIC DEPENDENCIES 213 ***********************/ 214 215 __DL__ = { 216 dynamicCart: true, // if cart is dynamic (meaning no refresh on cart add) set to true 217 debug: false, // if true, console messages will be displayed 218 cart: null, 219 wishlist: null, 220 removeCart: null 221 }; 222 223 customBindings = { 224 cartTriggers: [], 225 viewCart: [], 226 removeCartTrigger: [], 227 cartVisableSelector: [], 228 promoSubscriptionsSelectors: [], 229 promoSuccess: [], 230 ctaSelectors: [], 231 newsletterSelectors: [], 232 newsletterSuccess: [], 233 searchPage: [], 234 wishlistSelector: [], 235 removeWishlist: [], 236 wishlistPage: [], 237 searchTermQuery: [getURLParams('q')], // replace var with correct query 238 }; 239 240 /* DO NOT EDIT */ 241 defaultBindings = { 242 cartTriggers: ['form[action="/cart/add"] [type="submit"],#AddToCartButton,.cart-btn'], 243 viewCart: ['form[action="/cart"],.my-cart,.trigger-cart,#mobileCart, #cart-icon-bubble, .cart-label-desktop'], 244 removeCartTrigger: ['[href*="/cart/change"], #CartDrawer-Remove-1 button, cart-remove-button'], 245 cartVisableSelector: ['.inlinecart.is-active,.inline-cart.is-active, .drawer--active'], 246 promoSubscriptionsSelectors: [], 247 promoSuccess: [], 248 ctaSelectors: [], 249 newsletterSelectors: ['input.contact_email'], 250 newsletterSuccess: ['.success_message'], 251 searchPage: ['search'], 252 wishlistSelector: [], 253 removeWishlist: [], 254 wishlistPage: [] 255 }; 256 257 // stitch bindings 258 objectArray = customBindings; 259 outputObject = __DL__; 260 261 applyBindings = function(objectArray, outputObject){ 262 for (var x in objectArray) { 263 var key = x; 264 var objs = objectArray[x]; 265 values = []; 266 if(objs.length > 0){ 267 values.push(objs); 268 if(key in outputObject){ 269 values.push(outputObject[key]); 270 outputObject[key] = values.join(", "); 271 }else{ 272 outputObject[key] = values.join(", "); 273 } 274 } 275 } 276 }; 277 278 applyBindings(customBindings, __DL__); 279 applyBindings(defaultBindings, __DL__); 280 281 /********************** 282 * PREREQUISITE LIBRARIES 283 ***********************/ 284 285 clearInterval(__DL__jQueryinterval); 286 287 // jquery-cookies.js 288 if(typeof $.cookie!==undefined){(function(a){if(typeof define==='function'&&define.amd){define(['jquery'],a)}else if(typeof exports==='object'){module.exports=a(require('jquery'))}else{a(jQuery)}}(function($){var g=/\+/g;function encode(s){return h.raw?s:encodeURIComponent(s)}function decode(s){return h.raw?s:decodeURIComponent(s)}function stringifyCookieValue(a){return encode(h.json?JSON.stringify(a):String(a))}function parseCookieValue(s){if(s.indexOf('"')===0){s=s.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,'\\')}try{s=decodeURIComponent(s.replace(g,' '));return h.json?JSON.parse(s):s}catch(e){}}function read(s,a){var b=h.raw?s:parseCookieValue(s);return $.isFunction(a)?a(b):b}var h=$.cookie=function(a,b,c){if(arguments.length>1&&!$.isFunction(b)){c=$.extend({},h.defaults,c);if(typeof c.expires==='number'){var d=c.expires,t=c.expires=new Date();t.setMilliseconds(t.getMilliseconds()+d*864e+5)}return(document.cookie=[encode(a),'=',stringifyCookieValue(b),c.expires?'; expires='+c.expires.toUTCString():'',c.path?'; path='+c.path:'',c.domain?'; domain='+c.domain:'',c.secure?'; secure':''].join(''))}var e=a?undefined:{},cookies=document.cookie?document.cookie.split('; '):[],i=0,l=cookies.length;for(;i<l;
288i++){var f=cookies[i].split('='),name=decode(f.shift()),cookie=f.join('=');if(a===name){e=read(cookie,b);break}if(!a&&(cookie=read(cookie))!==undefined){e[name]=cookie}}return e};h.defaults={};$.removeCookie=function(a,b){$.cookie(a,'',$.extend({},b,{expires:-1}));return!$.cookie(a)}}))} 289 290 /********************** 291 * Begin dataLayer Build 292 ***********************/ 293 294 /** 295 * DEBUG 296 * Set to true or false to display messages to the console 297 */ 298 if(__DL__.debug){ 299 console.log('=====================\n| DATALAYER SHOPIFY |\n---------------------'); 300 console.log('Page Template: cart'); 301 } 302 303 window.dataLayer = window.dataLayer || []; // init data layer if doesn't already exist 304 dataLayer.push({'event': 'Begin DataLayer'}); // begin datalayer 305 306 var template = "cart"; 307 308 /** 309 * Landing Page Cookie 310 * 1. Detect if user just landed on the site 311 * 2. Only fires if Page Title matches website */ 312 313 $.cookie.raw = true; 314 if ($.cookie('landingPage') === undefined || $.cookie('landingPage').length === 0) { 315 var landingPage = true; 316 $.cookie('landingPage', unescape); 317 $.removeCookie('landingPage', {path: '/'}); 318 $.cookie('landingPage', 'landed', {path: '/'}); 319 } else { 320 var landingPage = false; 321 $.cookie('landingPage', unescape); 322 $.removeCookie('landingPage', {path: '/'}); 323 $.cookie('landingPage', 'refresh', {path: '/'}); 324 } 325 if (__DL__.debug) { 326 console.log('Landing Page: ' + landingPage); 327 } 328 329 /** 330 * Log State Cookie */ 331 332 333 var isLoggedIn = false; 334 335 if (!isLoggedIn) { 336 $.cookie('logState', unescape); 337 $.removeCookie('logState', {path: '/'}); 338 $.cookie('logState', 'loggedOut', {path: '/'}); 339 } else { 340 if ($.cookie('logState') === 'loggedOut' || $.cookie('logState') === undefined) { 341 $.cookie('logState', unescape); 342 $.removeCookie('logState', {path: '/'}); 343 $.cookie('logState', 'firstLog', {path: '/'}); 344 } else if ($.cookie('logState') === 'firstLog') { 345 $.cookie('logState', unescape); 346 $.removeCookie('logState', {path: '/'}); 347 $.cookie('logState', 'refresh', {path: '/'}); 348 } 349 } 350 351 if ($.cookie('logState') === 'firstLog') { 352 var firstLog = true; 353 } else { 354 var firstLog = false; 355 } 356 357 /********************** 358 * DATALAYER SECTIONS 359 ***********************/ 360 361 /** 362 * DATALAYER: Landing Page 363 * Fires any time a user first lands on the site. */ 364 365 if ($.cookie('landingPage') === 'landed') { 366 dataLayer.push({ 367 'pageType': 'Landing', 368 'event': 'Landing' 369 }); 370 371 if (__DL__.debug) { 372 console.log('DATALAYER: Landing Page fired.'); 373 } 374 } 375 376 /** 377 * DATALAYER: Log State 378 * 1. Determine if user is logged in or not. 379 * 2. Return User specific data. */ 380 381 var logState = { 382 383 'firstLog' : firstLog, 384 'customerEmail' : null, 385 'timestamp' : Date.now(), 386 387 'customerType' : 'New', 388 'customerTypeNumber' :'1', 389 390 'shippingInfo' : { 391 'fullName' : null, 392 'firstName' : null, 393 'lastName' : null, 394 'address1' : null, 395 'address2' : null, 396 'street' : null, 397 'city' : null, 398 'province' : null, 399 'zip' : null, 400 'country' : null, 401 'phone' : null, 402 }, 403 'billingInfo' : { 404 'fullName' : null, 405 'firstName' : null, 406 'lastName' : null, 407 'address1' : null, 408 'address2' : null, 409 'street' : null, 410 'city' : null, 411 'province' : null, 412 'zip' : null, 413 'country' : null, 414 'phone' : null, 415 }, 416 'checkoutEmail' : null, 417 'currency' : "USD", 418 'pageType' : 'Log State', 419 'event' : 'Log State' 420 } 421 422 dataLayer.push(logState); 423 if(__DL__.debug){ 424 console.log("Log State"+" :"+JSON.stringify(logState, null, " ")); 425 } 426 427 /** 428 * DATALAYER: Homepage */ 429 430 if(document.location.pathname == "/"){ 431 var homepage = { 432 'pageType' : 'Homepage', 433 'event' : 'Homepage' 434 }; 435 dataLayer.push(homepage); 436 if(__DL__.debug){ 437 console.log("Homepage"+" :"+JSON.stringify(homepage, null, " ")); 438 } 439 } 440 441 /** 442 * DATALAYER: Blog Articles 443 * Fire on Blog Article Pages */ 444 445 446 447 /** DATALAYER: Product List Page (Collections, Category) 448 * Fire on all product listing pages. */ 449 /** have to truncate the records due to google size limit not taking the data **/ 450 451 452 453 454 455 456 457 458 459 460 461 462 463 if (window.location.href.indexOf("?p=") > -1) { 464 var getUrlParameter = function getUrlParameter(sParam) { 465 var sPageURL = window.location.search.substring(1), 466 sURLVariables = sPageURL.split('&'), 467 sParameterName, 468 i; 469 470 for (i = 0; i < sURLVariables.length; i++) { 471 sParameterName = sURLVariables[i].split('='); 472 473 if (sParameterName[0] === sParam) { 474 return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]); 475 } 476 } 477 return false;
478 }; 479 480 var promotion_name = getUrlParameter('p'); 481 console.log(promotion_name); 482 if(promotion_name != undefined){ 483 var select_promotion = { 484 'pageType' : 'Homepage', 485 'event' : 'select_promotion', 486 'promotion_name' :promotion_name, 487 'promotion_id' : promotion_name, 488 'creative_slot': 1 489 }; 490 491 dataLayer.push(select_promotion); 492 if(__DL__.debug){ 493 console.log("select_promotion"+" :"+JSON.stringify(select_promotion, null, " ")); 494 } 495 496 $.ajax({ 497 type: 'POST', 498 url: '/cart/update.js', 499 data: { 500 'attributes[promotion_name]': promotion_name, 501 'attributes[promotion_id]': promotion_name, 502 'attributes[creative_slot]': 1 503 }, 504 success: function(data) { 505 console.log('addded select promotion info') 506 }, 507 dataType: 'json' 508 }); 509 } 510 } 511 512 513 514 515 516 517 518 519 520 521 522 /** DATALAYER: Cart View 523 * Fire anytime a user views their cart (non-dynamic) */ 524 525 526 var cart = { 527 'items':[], 528 'pageType' : 'Cart', 529 'event' : 'Cart',}; 530 531 dataLayer.push(cart); 532 if(__DL__.debug){ 533 console.log("Cart"+" :"+JSON.stringify(cart, null, " ")); 534 } 535 536 __DL__.cart = cart.products; 537 $(__DL__.removeCartTrigger).on('click', function (event) { 538 539 setTimeout(function(){ 540 // remove from cart 541 jQuery.getJSON("/cart", function (response) { 542 // get Json response 543 __DL__.removeCart = response; 544 var removeFromCart = { 545 'products': __DL__.removeCart.items.map(function (line_item) { 546 return { 547 'item_id' : line_item.product_id, 548 'item_sku' : line_item.sku, 549 'variantId' : line_item.variant_id, 550 'item_name' : line_item.product.title, 551 'price' : (line_item.price/100), 552 'quantity' : line_item.quantity, 553 'currency' : "USD" 554 } 555 }), 556 'pageType' : 'Remove from Cart', 557 'event' : 'Remove from Cart',}; 558 __DL__.removeCart = removeFromCart; 559 var cartIDs = []; 560 var removeIDs = []; 561 var removeCart = []; 562 563 // remove from cart logic 564 for(var i=__DL__.cart.length-1;i>=0;i--){var x=parseFloat(__DL__.cart[i].variant);cartIDs.push(x)}for(var i=__DL__.removeCart.products.length-1;i>=0;i--){var x=parseFloat(__DL__.removeCart.products[i].variant);removeIDs.push(x)}function arr_diff(b,c){var a=[],diff=[];for(var i=0;i<b.length;i++){a[b[i]]=true}for(var i=0;i<c.length;i++){if(a[c[i]]){delete a[c[i]]}else{a[c[i]]=true}}for(var k in a){diff.push(k)}return diff};var x=arr_diff(cartIDs,removeIDs)[0];for(var i=__DL__.cart.length-1;i>=0;i--){if(__DL__.cart[i].variant==x){removeCart.push(__DL__.cart[i])}} 565 566 dataLayer.push(removeCart); 567 if (__DL__.debug) { 568 console.log("Cart"+" :"+JSON.stringify(removeCart, null, " ")); 569 } 570 }); 571 }, 2000); 572 573 }); 574 575 576 577 578 /** DATALAYER: All Pages 579 * Fire all pages trigger after all additional dataLayers have loaded. */ 580 581 dataLayer.push({ 582 'event': 'DataLayer Loaded' 583 }); 584 585 console.log('DATALAYER: DataLayer Loaded.'); 586 587 /********************** 588 * DATALAYER EVENT BINDINGS 589 ***********************/ 590 591 /** DATALAYER: 592 * Add to Cart / Dynamic Cart View 593 * Fire all pages trigger after all additional dataLayers have loaded. */ 594 595 $(document).ready(function() { 596 597 /** DATALAYER: Search Results */ 598 599 var searchPage = new RegExp(__DL__.searchPage, "g"); 600 if(document.location.pathname.match(searchPage)){ 601 var search = { 602 'searchTerm' : __DL__.searchTermQuery, 603 'pageType' : "Search", 604 'event' : "Search" 605 }; 606 607 dataLayer.push(search); 608 if(__DL__.debug){ 609 console.log("Search"+" :"+JSON.stringify(search, null, " ")); 610 } 611 } 612 613 /** DATALAYER: Cart */ 614
615 // stage cart data 616 function mapJSONcartData(){ 617 jQuery.getJSON('/cart.js', function (response) { 618 // get Json response 619 __DL__.cart = response; 620 var cart = { 621 'products': __DL__.cart.items.map(function (line_item) { 622 return { 623 'item_id' : line_item.product_id, 624 'currency' : "USD", 625 'item_sku' : line_item.sku, 626 'variantId' : line_item.variant_id, 627 'item_name' : line_item.product.title, 628 'price' : (line_item.price/100), 629 'quantity' : line_item.quantity 630 } 631 }), 632 'pageType' : 'Cart', 633 'event' : 'Cart' 634 }; 635 if(cart.products.length > 0){ 636 dataLayer.push(cart); 637 if (__DL__.debug) { 638 console.log("Cart"+" :"+JSON.stringify(cart, null, " ")); 639 } 640 } 641 }); 642 } 643 644 viewcartfire = 0; 645 646 // view cart 647 $(__DL__.viewCart).on('click', function (event) { 648 if(viewcartfire !== 1){ 649 viewcartfire = 1; 650 // if dynamic cart is TRUE 651 if (__DL__.dynamicCart) { 652 cartCheck = setInterval(function () { 653 // begin check interval 654 if ($(__DL__.cartVisableSelector).length > 0) { 655 // check visible selectors 656 clearInterval(cartCheck); 657 mapJSONcartData(); 658 $(__DL__.removeCartTrigger).on('click', function (event) { 659 // remove from cart 660 var link = $(this).attr("href"); 661 jQuery.getJSON(link, function (response) { 662 // get Json response 663 __DL__.removeCart = response; 664 var removeFromCart = { 665 'products': __DL__.removeCart.items.map(function (line_item) { 666 return { 667 'item_id' : line_item.product_id, 668 'item_sku' : line_item.sku, 669 'currency' : "USD", 670 'variantId' : line_item.variant_id, 671 'item_name' : line_item.product.title, 672 'price' : (line_item.price/100), 673 'quantity' : line_item.quantity 674 } 675 }), 676 'pageType' : 'Remove from Cart', 677 'event' : 'Remove from Cart' 678 }; 679 dataLayer.push(removeFromCart); 680 if (__DL__.debug) { 681 console.log("Cart"+" :"+JSON.stringify(removeFromCart, null, " ")); 682 } 683 }); 684 }); 685 } 686 }, 500); 687 } 688 } 689 }); 690 691 // add to cart 692 jQuery.getJSON('/cart.js', function (response) { 693 // get Json response 694 __DL__.cart = response; 695 var cart = { 696 'products': __DL__.cart.items.map(function (line_item) { 697 return { 698 'item_id' : line_item.product_id, 699 'item_sku' : line_item.sku, 700 'variantId' : line_item.variant_id, 701 'currency' : "USD", 702 'item_name' : line_item.title, 703 'price' : (line_item.price/100), 704 'quantity' : line_item.quantity 705 } 706 }) 707 } 708 __DL__.cart = cart; 709 collection_cartIDs = []; 710 collection_matchIDs = []; 711 collection_addtocart = []; 712 for (var i = __DL__.cart.products.length - 1; i >= 0; i--) { 713 var x = parseFloat(__DL__.cart.products[i].variant); 714 collection_cartIDs.push(x); 715 } 716 }); 717 718 function __DL__addtocart(){ 719 720 721 722 723 724 // if dynamic cart is TRUE 725 if (__DL__.dynamicCart) { 726 console.log("dynamic"); 727 var cartCheck = setInterval(function () { 728 // begin check interval 729 if ($(__DL__.cartVisableSelector).length > 0) { 730 // check visible selectors 731 clearInterval(cartCheck); 732 mapJSONcartData(); 733 $(__DL__.removeCartTrigger).on('click', function (event) { 734 // remove from cart 735 var link = $(this).attr("href"); 736 jQuery.getJSON(link, function (response) { 737 // get Json response 738 __DL__.removeCart = response; 739 var removeFromCart = { 740 'products': __DL__.removeCart.items.map(function (line_item) { 741 return { 742 'item_id' : line_item.product_id, 743 'item_sku' : line_item.sku, 744 'currency' : "USD", 745 'variantId' : line_item.variant_id, 746 'item_name' : line_item.title, 747 'price' : (line_item.price/100), 748 'quantity' : line_item.quantity 749 } 750 }), 751 'pageType' : 'Remove from Cart', 752 'event' : 'Remove from Cart' 753 }; 754 dataLayer.push(removeFromCart); 755 if (__DL__.debug) { 756 console.log("Cart"+" :"+JSON.stringify(removeFromCart, null, " ")); 757 } 758 }); 759 }); 760 } 761 }, 500); 762 } 763 } 764 765 $(document).on('click', __DL__.cartTriggers, function() { 766 __DL__addtocart(); 767 }); 768 769 /** 770 * DATALAYER: Newsletter Subscription */ 771 __DL__newsletter_fire = 0; 772 $(document).on('click', __DL__.newsletterSelectors, function () { 773 if(__DL__newsletter_fire !== 1){ 774 __DL__newsletter_fire = 1;
775 var newsletterCheck = setInterval(function () { 776 // begin check interval 777 if ($(__DL__.newsletterSuccess).length > 0) { 778 // check visible selectors 779 clearInterval(newsletterCheck); 780 dataLayer.push({'event': 'Newsletter Subscription'}); 781 } 782 },500); 783 } 784 }); 785 786 /** DATALAYER: Wishlist */ 787 setTimeout( function(){ 788 789 $(__DL__.wishlistSelector).on('click', function () { 790 dataLayer.push(product, 791 {'event': 'Add to Wishlist'}); 792 if(__DL__.debug){ 793 console.log("Wishlist"+" :"+JSON.stringify(product, null, " ")); 794 } 795 }); 796 797 if(document.location.pathname == __DL__.wishlistPage){ 798 var __DL__productLinks = $('[href*="product"]'); 799 var __DL__prods = []; 800 var __DL__links = []; 801 var __DL__count = 1; 802 803 $(__DL__productLinks).each(function(){ 804 var href = $(this).attr("href"); 805 if(!__DL__links.includes(href)){ 806 __DL__links.push(href); 807 $(this).attr("dataLayer-wishlist-item",__DL__count++); 808 jQuery.getJSON(href, function (response) { 809 // get Json response 810 __DL__.wishlist = response; 811 var wishlistproducts = { 812 'id' : __DL__.wishlist.product.id, 813 'name' : __DL__.wishlist.product.title, 814 }; 815 __DL__prods.push(wishlistproducts); 816 }); 817 } 818 }); 819 820 dataLayer.push({'products': __DL__prods, 821 'pageType' : 'Wishlist', 822 'event' : 'Wishlist'}); 823 } 824 825 var __DL__count = 1; 826 var wishlistDel = $(__DL__.removeWishlist); 827 wishlistDel.each(function(){ 828 $(this).attr("dataLayer-wishlist-item-del",__DL__count++); 829 }); 830 831 $(__DL__.removeWishlist).on('click', function(){ 832 console.log('click') 833 var index = $(this).attr("dataLayer-wishlist-item-del"); 834 var link = $("[dataLayer-wishlist-item="+index+"]").attr("href"); 835 console.log(index) 836 console.log(link) 837 jQuery.getJSON(link, function (response) { 838 // get Json response 839 __DL__.wishlist = response; 840 var wishlistproducts = { 841 'id' : __DL__.wishlist.product.id, 842 'name' : __DL__.wishlist.product.title, 843 }; 844 845 dataLayer.push({'products': wishlistproducts, 846 'pageType' : 'Wishlist', 847 'event' : 'Wishlist Delete Product'}); 848 }); 849 }) 850 }, 3000); 851 852 /** DATALAYER: CTAs */ 853 $(__DL__.ctaSelectors).on('click', function () { 854 var ctaCheck = setInterval(function () { 855 // begin check interval 856 if ($(__DL__.ctaSuccess).length > 0) { 857 // check visible selectors 858 clearInterval(ctaCheck); 859 dataLayer.push({'event': 'CTA'}); 860 } 861 },500); 862 }); 863 864 /** DATALAYER: Promo Subscriptions */ 865 $(__DL__.promoSubscriptionsSelectors).on('click', function () { 866 var ctaCheck = setInterval(function () { 867 // begin check interval 868 if ($(__DL__.promoSuccess).length > 0) { 869 // check visible selectors 870 clearInterval(ctaCheck); 871 dataLayer.push({'event': 'Promo Subscription'}); 872 } 873 },500); 874 }); 875 876 }); // document ready 877 } 878 }, 500); 879 880 881var getUrlParameter = function getUrlParameter(sParam) { 882 var sPageURL = window.location.search.substring(1), 883 sURLVariables = sPageURL.split('&'), 884 sParameterName, 885 i; 886 887 for (i = 0; i < sURLVariables.length; i++) { 888 sParameterName = sURLVariables[i].split('='); 889 890 if (sParameterName[0] === sParam) { 891 return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]); 892 } 893 } 894 return false;
895};var glCountry = getUrlParameter('glCountry'); 896var glCurrency = getUrlParameter('glCurrency'); 897var utm_source = getUrlParameter('utm_source'); 898var utm_medium = getUrlParameter('utm_medium'); 899var utm_campaign = getUrlParameter('utm_campaign'); 900var utm_content = getUrlParameter('utm_content'); 901var utm_id = getUrlParameter('utm_id'); 902var utm_term = getUrlParameter('utm_term'); 903var gad_source = getUrlParameter('gad_source'); 904var gclid = getUrlParameter('gclid'); 905var gclsrc = getUrlParameter('gclsrc'); 906var gbraid = getUrlParameter('gbraid'); 907var hasAttributionParams = utm_source || utm_medium || utm_campaign || gclid || gad_source || gclsrc || gbraid; 908if(hasAttributionParams){ 909 if (typeof __DL__ !== 'undefined' && __DL__.debug) console.log("Capturing attribution params (utm/gclid)"); 910 setTimeout(function(){ 911 $.ajax({ 912 type: 'POST', 913 url: '/cart/update.js', 914 data: { 915 'attributes[glcountry]': glCountry, 916 'attributes[glcurrency]': glCurrency, 917 'attributes[utm_source]': utm_source, 918 'attributes[utm_medium]': utm_medium, 919 'attributes[utm_campaign]': utm_campaign, 920 'attributes[utm_content]': utm_content, 921 'attributes[utm_id]': utm_id, 922 'attributes[utm_term]': utm_term, 923 'attributes[gad_source]': gad_source, 924 'attributes[gclid]': gclid, 925 'attributes[gclsrc]': gclsrc, 926 'attributes[gbraid]': gbraid 927 }, 928 success: function(data) { 929 console.log('addded utms') 930 }, 931 dataType: 'json' 932 }); 933 }, 300); 934} 935 936 937 938 939 </script>
939<style> 940 @media screen and (min-width: 990px) { 941 .header-layout--logo_left .header__util-link { 942 flex: 0 0 18% !important; 943 } 944 } 945 946 947 @media screen and (min-width: 990px) { 948 .header-layout--logo_left .header__util-link { 949 flex: 0 0 13% !important; 950 } 951 } 952 953 @media screen and (min-width: 990px) { 954 .header-layout--logo_left .site-logo { 955 flex: 0 0 13%; 956 margin-left: 0; 957 } 958 } 959 960 @media screen and (min-width: 990px) { 961 .header-layout--logo_left .header__menu { 962 flex: 0 0 74% !important; 963 } 964 } 965 966 967@media screen and (max-width:768px) { 968 969.announcement-bar { 970 overflow-x: hidden; 971 max-height: 35px !important; 972} 973 974.announcement-bar--announcement-bar .announcement-bar__item a, .announcement-bar--announcement-bar .announcement-bar__item__countdown { 975 margin-top: -4px !important; 976} 977 978header.header { 979 margin-top: 10px; 980 margin-bottom: 8px; 981} 982 983.mobile-menu button.summary { 984 line-height: 17px !important; 985 vertical-align: text-bottom; 986} 987 988 989} 990 991 992 993 994 995 .link-styled:hover, li:hover .summary .link-styled--reverse, li:focus .summary .link-styled--reverse, .link-styled--reverse:hover { 996 opacity: 1; 997 color:black !important; 998 } 999 1000 .content--wrapper.text-left.color-schema-1 .content {display:none !important;} 1001 1002 1003 .collection-list .collection-card h3 1004 { 1005 margin-top: 0px !important; 1006 } 1007 @media screen and (min-width: 769px) { 1008 .footer__inner.page-width--padded { 1009 padding: 0 30px 0 52px !important; 1010 } 1011 } 1012 1013 .site-footer .footer-block__disclosure.mobile--only > .footer__heading, 1014 .site-footer .footer-block__disclosure.mobile--only > .footer__heading h2 { 1015 font-size: 10px !important; 1016 letter-spacing: 3px !important; 1017 } 1018 1019 @media screen and (min-width: 769px) { 1020 .site-footer .footer-block__disclosure.mobile--only > .footer__heading, 1021 .site-footer .footer-block__disclosure.mobile--only > .footer__heading h2 { 1022 border-bottom: 0.25px solid #414142 !important; 1023 padding-bottom: 4px !important; 1024 } 1025 } 1026 1027 1028 .site-footer .footer-block__disclosure.mobile--only > .footer__heading, 1029 .site-footer .footer-block__disclosure.mobile--only > .footer__heading h2 { 1030 margin-bottom: 4px !important; 1031 } 1032 1033 .footer-block__linklist li a { 1034 font-size: 10px !important; 1035 line-height: 26px !important; 1036 letter-spacing: 3px !important; 1037 } 1038 1039 1040 @media screen and (max-width: 769px) { 1041 .footer-block__linklist li a { 1042 font-size: 11px !important; 1043 line-height: 28px !important; 1044 letter-spacing: 3px !important; 1045 } 1046 } 1047 1048 1049 .product-card__title { 1050 font-size: 12px !important; 1051 } 1052 1053 1054 1055 .footer-block__text p { 1056 font-size: 10px !important; 1057 letter-spacing: 3px !important; 1058 line-height: 21px !important; 1059 margin-top: 5px !important; 1060 margin-bottom: 15px !important; 1061 } 1062 1063 1064 .site-footer { 1065 margin-top: 0; 1066 padding-top: 24px !important; 1067 padding-bottom: 12px !important; 1068 } 1069 1070 .footer__list-social.small-hide svg, 1071 .footer__list-social .icon { 1072 height: 18px !important; 1073 width: 18px !important; 1074 } 1075 1076 @media (min-width: 769px) { 1077 .footer__list-social > ul { 1078 gap: 18px !important; 1079 } 1080 } 1081 1082 .copyright__content { 1083 font-size: 8px; 1084 line-height: 1rem; 1085 letter-spacing: 2px; 1086 } 1087 1088 1089 .site-footer .footer__newsletter .footer__heading, 1090 .site-footer .footer__newsletter .footer__heading h2 { 1091 font-size: 10px !important; 1092 } 1093 1094 1095 .site-footer .footer__newsletter .footer__heading, .site-footer .footer__newsletter .footer__heading h2 { 1096 letter-spacing: 3px !important; 1097 1098 } 1099 1100 1101 1102 @media screen and (min-width: 769px) { 1103 .input-wrapper.flex.jcb.aic { 1104 padding-bottom: 5px !important; 1105 } 1106 } 1107 1108 1109 button#Subscribe-footer { 1110 font-size: 10px !important; 1111 padding: 5px 34px 7px !important; 1112 } 1113 1114 input#NewsletterForm--ContactFooter::placeholder { 1115 font-size: 11px !important; 1116 letter-spacing: 1px; 1117 padding-top: 2px; 1118 color:#414142 !important; 1119 } 1120 1121 input#NewsletterForm--ContactFooter { 1122 margin-bottom: -10px; 1123 } 1124 1125 1126 @media screen and (min-width: 769px) {
1127 .footer__copyright { 1128 margin-top: 3px; 1129 } 1130 } 1131 1132 1133 @media screen and (max-width: 768px) { 1134 .site-footer .details { 1135 padding: 3px 0 !important; 1136 } 1137 } 1138 1139 1140 @media screen and (max-width: 768px) { 1141 .footer-block .details .details__content { 1142 margin-top: -3px; 1143 } 1144 } 1145 1146 @media (max-width: 768px) { 1147 .footer__newsletter .footer__list-social { 1148 margin-top: 2.0rem !important; 1149 } 1150 } 1151 1152 @media (max-width: 768px) { 1153 .footer__newsletter .footer__newsletter-wrapper { 1154 margin-top: 1rem !important; 1155 } 1156 } 1157 1158 1159 @media screen and (max-width: 768px) { 1160 .footer__newsletter.newsletter-form .field__input { 1161 border-bottom: 1px solid #414142 !important; 1162 } 1163 } 1164 1165 @media screen and (max-width: 768px) { 1166 button#Subscribe-footer { 1167 font-size: 9px; 1168 margin-top: 11px; 1169 } 1170 1171 1172 input#NewsletterForm--ContactFooter::placeholder { 1173 letter-spacing: 2px; 1174 color:#414142 !important; 1175 } 1176 1177 1178 } 1179 1180 @media screen and (max-width: 768px) { 1181 .footer__inner > div:not(.footer__inner > div:last-child) { 1182 margin-bottom: 0.8rem !important; 1183 } 1184 } 1185 1186 1187 @media screen and (max-width: 768px) { 1188 .footer__inner.page-width--padded { 1189 padding: 0 15px 10px !important; 1190 } 1191 } 1192 1193 1194 .footer_details__icon { 1195 left: -1.5px !important; 1196 } 1197 1198 1199 1200 .breadcrumbs, .breadcrumbs span{ 1201 font-family: 'Neue Helvetica Regular', Arial, sans-serif, sans-serif; 1202 font-size: 11px; 1203 letter-spacing: 2px; 1204 color:#414142; 1205 font-weight:normal !important; 1206 } 1207 1208 .breadcrumbs span[aria-hidden="true"] { 1209 margin: 0 0rem !important; 1210 } 1211 1212 1213 1214 .product__info h1 { 1215 font-family: 'Neue Helvetica Bold', Arial, sans-serif, sans-serif; 1216 font-size: 18px; 1217 letter-spacing: 2px; 1218 line-height: 25px; 1219 color:#414142 !important; 1220 } 1221 1222 .price-item {color:#414142 !important;letter-spacing:2px !important; padding-top: 1px !important;} 1223 1224 1225 .product__info legend, .product__info .legend { 1226 text-transform: capitalize !important; 1227 color: #414142 !important; 1228 letter-spacing: 2px !important; 1229 } 1230 1231 1232 .details__content-inner li { 1233 /* list-style-type: none; */ 1234 } 1235 1236 .details__content-inner p strong { 1237 color: #414142 !important; 1238 letter-spacing: 2px; 1239 text-transform: uppercase !important; 1240 font-size: 12.8px; 1241 line-height: 1rem; 1242 font-weight: 600; 1243 margin-top: 27px; 1244 display: block; 1245 } 1246 1247 .content-for-layout .modal-trigger { 1248 text-decoration: underline; 1249 color: #414142 !important; 1250 } 1251 1252 1253 .btn--primary { 1254 background-color: #efe8e3 !important; 1255 color: #414142 !important; 1256 letter-spacing: 3px; 1257 } 1258 1259 .product__info variant-radios { 1260 margin: 1rem 0 5px !important; 1261 } 1262 1263 .product__info fieldset legend { 1264 margin-bottom: 0; 1265 } 1266 .product__info fieldset.size legend { 1267 margin-bottom: 3px !important; 1268 } 1269 1270 1271 .product__info.container .collapsible-item { 1272 border-bottom: 0px solid !important; 1273 } 1274 1275 .btn--primary { 1276 background-color: #efe8e3 !important; 1277 color: #414142 !important; 1278 } 1279 1280 1281 .product__info-container variant-radios .product-form__input:not(.color) input:checked+label { 1282 background-color: #414142 !important; 1283 color: #fff; 1284 } 1285 1286 .variant-options .swatch { 1287 padding: 13.5px !important; 1288 } 1289 1290 1291 .product__info.container .variant-options .color { 1292 padding: 8px 0 6px !important; 1293 } 1294 1295 .details__content-inner *, .details__content-inner ul, .details__content-inner li, .details__content-inner span { 1296 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 1297 font-weight: 400 !important; 1298 font-style: normal !important; 1299 font-size: 10px !important; 1300 line-height: 16px !important; 1301 letter-spacing: 1.5px !important; 1302 color: #414142 !important; 1303 } 1304 1305 .pdp-faq__question span { letter-spacing: 1.5px !important;} 1306 1307 1308 1309 1310 #AddToCartButton, #BIS_trigger { 1311 padding-bottom: 13px !important; 1312 padding-top: 8px !important; 1313 } 1314 1315 .content-for-layout .modal-trigger { 1316 letter-spacing: 3px; 1317 } 1318 1319 1320 .product__info-container variant-radios .product-form__input:not(.color) input:checked+label { 1321 background-color: #efe8e3 !important; 1322 color: #414142 !important; 1323 } 1324 1325 1326 @media screen and (max-width: 768px) { 1327 .breadcrumbs, .breadcrumbs span{ 1328 font-size: 11px; 1329 letter-spacing: 2px; 1330 margin-left: 0px; 1331 } 1332 1333 .content-for-layout .modal-trigger { 1334 font-size: 11.8px; 1335 line-height: 16px; 1336 margin-bottom: 26px; 1337 color: #414142; 1338 text-decoration: underline; 1339 top: -3px;
1340 position: relative; 1341 } 1342 1343 .product-wrapper { 1344 padding-top: 0px !important; 1345 } 1346 1347 #main-carousel .splide__slide { background: #e9e9e9 !important;} 1348 1349 .mobile-menu button.summary { 1350 margin-left: 7px !important; 1351 } 1352 1353 1354 .splide__pagination__page:after { 1355 border: 1px solid #414142 !important; 1356 } 1357 1358 1359 .splide__pagination__page.is-active:after, .splide__pagination__page:hover:after { 1360 background: #414142 !important; 1361 } 1362 1363 .splide__pagination { 1364 align-items: flex-start !important; 1365 justify-content: left !important; 1366 padding: 0 1em !important; 1367 margin: -8px 0px 0 13px !important; 1368 z-index: 2 !important; 1369 position: absolute !important; 1370 background: transparent !important; 1371 bottom: 20px !important; 1372 } 1373 1374 .variant-options { 1375 gap: 18px !important; 1376 } 1377 1378 1379 1380 .product__info-container { 1381 padding: 0px 0 !important; 1382 margin-top:-2px; 1383 } 1384 1385 1386 1387 } 1388 1389 1390 @media screen and (max-width: 768px) { 1391 #main-carousel .splide__slide { 1392 background:none !important; 1393 } 1394 } 1395 1396 1397 1398 1399 1400 .product-wrapper .collapsible-item .details__content { 1401 font-size: 11px !important; 1402 letter-spacing: 2px !important; 1403 line-height: 1.5rem !important; 1404 } 1405 1406 .details__content-inner li::marker { 1407 font-size:9px !important; 1408 /* look at lowering the position of these markers */ 1409 } 1410 1411 @media screen and (min-width: 769px) { 1412 .product__info { 1413 padding: 16px 0px 40px 0px !important; 1414 max-width: 640px !important; 1415 } 1416 1417 .product-wrapper { 1418 padding-top: 0px !important; 1419 } 1420 1421 .splide__track--nav>.splide__list>.splide__slide { 1422 height:135px !important; 1423 } 1424 1425 #AddToCartButton, #BIS_trigger { 1426 max-width: max-content; 1427 } 1428 } 1429 1430 1431 1432 .content-for-layout .modal-trigger { 1433 margin-bottom: 36px; 1434 } 1435 1436 .splide__track--nav>.splide__list>.splide__slide.is-active { 1437 border-bottom: 3px solid #414142 !important; 1438 } 1439 1440 1441 @media screen and (max-width: 768px) { 1442 #main-carousel .splide__slide { 1443 height: 596px !important; 1444 } 1445 1446 .template-product .product__media .splide__slide img { 1447 height: 539px !important; 1448 } 1449 1450 1451 1452 } 1453 1454 1455 1456 @media screen and (max-width: 376px) { 1457 #main-carousel .splide__slide { 1458 height: 471px !important; 1459 } 1460 1461 .template-product .product__media .splide__slide img { 1462 height: 471px !important; 1463 } 1464 1465 1466 1467 } 1468 1469 1470 1471 h2.section-heading.h4 { 1472 font-size: 14px; 1473 padding: 8px 0 10px; 1474 color: #414142; 1475 letter-spacing: 2px; 1476 } 1477 1478 1479 1480 .splide__arrow { 1481 background: transparent !important; 1482 } 1483 1484 svg:not(svg[fill=none]) { 1485 fill: #414142; 1486 } 1487 1488 .splide__list li {margin-bottom:10px !important;} 1489 1490 h1, h2, h3 { 1491 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 1492 1493 } 1494 1495 .my-carousel-wrapper {opacity:0;} 1496 1497 1498 .link-styled, .link-styled--reverse { 1499 color:#414142; 1500 letter-spacing:2px; 1501 } 1502 1503 h2.section-heading { 1504 color:#414142 !important; 1505 letter-spacing: 2px !important; 1506 font-weight: 600 !important; 1507 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 1508 margin-bottom:2px; 1509 text-align:left; 1510 1511 } 1512 1513 #shopify-section-template--17511214612555__collection_list_CbyfyL .section-heading { 1514 font-weight: 600 !important; 1515 } 1516 1517 @media screen and (max-width: 768px) { 1518 h2.section-heading { 1519 font-size: 15px !important; 1520 1521 } 1522 1523 1524 .section-collection-banner .h2 { 1525 font-size: 18px !important; 1526 letter-spacing: 2px !important; 1527 margin-bottom:5px; 1528 } 1529 1530 .toolbar .toolbar__item { 1531 font-size: 10px; 1532 padding: 10px 16px 10px 0px; 1533 } 1534 1535 1536 .collection__flex { 1537 gap: 0rem 1rem; 1538 } 1539 1540 .variant-options .color { 1541 padding: 8px 0 3px !important; 1542 } 1543 1544 .product-card variant-radios .product-form__input.color { 1545 gap: 8px !important; 1546 } 1547 1548 1549 } 1550 1551 .collection-list__item-content h3 {text-align:left;} 1552 1553 .collection-list__item-content h3 .link-styled, .collection-list__item-content h3 .link-styled--reverse { 1554 color: #414142 !important; 1555 letter-spacing: 3px !important; 1556 text-transform: uppercase !important; 1557 text-align: center !important; 1558 font-family: 'Neue Helvetica Regular'; 1559 font-weight: 500; 1560 } 1561 1562 .toolbar .toolbar__item { 1563 border-right: 0px solid #ffffff !important; 1564 } 1565 1566 .site-menu li {color:#414142 !important;} 1567 1568 .section-collection-banner .content--wrapper { 1569 margin-top: 0px; 1570 padding: 0px; 1571 color: #414142; 1572 } 1573 1574 .shopify-section.section.section-collection-banner.has-image { 1575 padding: 0 3.3vw; 1576 1577 } 1578 1579 .template-collection .breadcrumbs { 1580 padding: 0px !important; 1581 } 1582 1583 .section-collection-banner .h2 {font-size:26px; letter-spacing:3px;} 1584 .breadcrumbs span[aria-hidden="true"] { 1585 1586 padding-right: 5px; 1587 } 1588 1589 1590 .collection-main-container .variant-options .swatch { 1591 padding: 10.5px !important; 1592 } 1593 1594 .collection-main-container .variant-options .color { 1595 padding: 0px 0 10px !important; 1596 } 1597 .variant-options label.swatch-wrapper.is-selected { 1598 padding: 2px !important; 1599 } 1600 1601 1602 1603 @media screen and (min-width: 768px) { 1604 .toolbar--sticky { 1605 padding: 0 3.3vw; 1606 } 1607 1608 .toolbar .toolbar__item { 1609 padding: 14px 0px 0px 24px !important; 1610 color: #414142 !important; 1611 letter-spacing: 2px; 1612 } 1613
1614 .page-width.collection-main-container { padding-top: 25px !important;} 1615 1616 1617 .product__info .price { 1618 font-size: 15px !important; 1619 font-family: 'Neue Helvetica Regular', Arial, sans-serif, sans-serif !important; 1620 } 1621 1622 1623 .collection__flex:has(variant-radios) { 1624 gap: 0rem 1rem !important; 1625 } 1626 1627 } 1628 1629 .quick-add-wraps {opacity:0 !important; display:none !important;} 1630 1631 .product-card__title a {text-transform: initial !important;} 1632 1633 1634 .product-card__info small {display:none !important;} 1635 1636 1637 @media screen and (min-width: 769px) { 1638 .header:not(.header-layout--drawer) .site-menu__sub-submenu .menu-item { 1639 1640 font-size: 10.8px !important; 1641 color:#414142 !important; 1642 } 1643 } 1644 1645 .global-search input[type=search] 1646 { 1647 color: #414142 !important; 1648 letter-spacing:2px; 1649 padding-bottom: 7px; 1650 font-size : 16px; 1651 } 1652 1653 1654 .search__heading { 1655 color: #414142 !important; 1656 letter-spacing: 2px !important; 1657 } 1658 1659 .product-card__info.text-center .price, .product-card__info.text-center .product-form__input { 1660 justify-content: center; 1661 text-align: center; 1662 margin: 0 auto; 1663 } 1664 1665 .search .input-wrapper input { 1666 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 1667 margin-bottom: -8px; 1668 } 1669 1670 .upsell-container .product-form__submit_upsell { 1671 border: 1px solid #414142; 1672 opacity: 1 !important; 1673 min-width: 150px; 1674 width: fit-content; 1675 padding: 0; 1676 min-height: 29px; 1677 display: flex; 1678 align-items: center; 1679 justify-content: center; 1680 padding-bottom: 0px; 1681 } 1682 1683 1684 .search .btn--primary { 1685 background-color: #efe8e3 !important; 1686 color: #414142 !important; 1687 border: 1px solid #414142; 1688 padding-bottom: 10px; 1689 margin-bottom: 5px; 1690 font-size: 12px; 1691 min-width: 150px; 1692 } 1693 1694 1695 1696 .template-search .product-grid-container { 1697 padding-top: 0px !important; 1698 } 1699 1700 1701 .template-search__header h1.h2 { 1702 margin: 0rem 0 0rem !important; 1703 letter-spacing: 3px; 1704 color: #414142; 1705 font-size: 15px !important; 1706 } 1707 1708 .template-search__header.page-width.text-center p { 1709 letter-spacing: 2px; 1710 color: #414142; 1711 font-size:12px; 1712 } 1713 1714 .input-wrapper input { 1715 color: #414142; 1716 letter-spacing: 2px; 1717 } 1718 1719 @media screen and (max-width: 769px) { 1720 .toolbar--sticky .content .h2 { 1721 font-size: 12px !important; 1722 } 1723 } 1724 1725 .toolbar .toolbar__item { 1726 padding: 8px 0px 8px 16px !important; 1727 letter-spacing: 2px !important; 1728 } 1729 @media screen and (max-width: 768px) { 1730 1731 1732 1733 .page-width.collection-main-container {padding-top:0px !important;} 1734 1735 } 1736 #AddToCartButton, #BIS_trigger { 1737 border: 1px solid #414142; 1738 } 1739 1740 1741 .upsell-container label,.upsell-container select.upsell-dropdown { 1742 color: #414142; 1743 letter-spacing: 2px; 1744 font-weight:500 !important; 1745 } 1746 1747 .upsell-container label, .upsell-container select.upsell-dropdown { 1748 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 1749 } 1750 1751 .upsell-container .product-form__submit_upsell span { 1752 line-height: 24px; 1753 } 1754 1755 1756 .site-menu .primary-links>li>.details>.summary>.link-styled--reverse , .site-menu .primary-links>li>.link-styled--reverse.menu-item { 1757 font-size: 12px !important; 1758 line-height : 16px; 1759 letter-spacing: 1.5px !important; 1760 1761 } 1762 1763 1764 1765 .collection-list__item-content h3 .link-styled, .collection-list__item-content h3 .link-styled--reverse { 1766 color: #414142 !important; 1767 letter-spacing: 2px !important; 1768 text-transform: uppercase !important; 1769 text-align: center !important; 1770 font-family: 'Neue Helvetica Regular' !important; 1771 } 1772 1773 .collection-list__item-content .h6 { 1774 text-align: center !important; 1775 } 1776 .drawer__heading {letter-spacing:3px !important; color:#414142 !important; font-weight: 500;} 1777 facet-drawer .drawer__header{margin: 24px 14px !important;text-align:left !important;} 1778 1779 1780 @media screen and (min-width: 769px) { 1781 .template-page .shopify-section.section { 1782 align-items: flex-start !important; 1783 padding: 0 2.6vw !important; 1784 } 1785 } 1786 1787 1788 .template-page .page-width h1, .template-page .page-width span, .template-page .page-width p, .template-page .page-width div, .template-page .page-width h3, .template-page .page-width strong { 1789 color:#414142 !important; 1790 font-weight:500; 1791 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 1792 letter-spacing:2px; 1793 font-size:11px; 1794 } 1795 1796 .template-page .page-width h3, .template-page .page-width h3 strong, .template-page .page-width h4 { 1797 font-size:15px !important; 1798 } 1799 1800 .template-page .section-padding { 1801 padding-top:0px !important;} 1802 1803 1804 1805 .template-page .page-width h1 { 1806 letter-spacing: 3px !important; 1807 font-size:20px !important; 1808 font-family: 'Neue Helvetica Bold' !important; 1809 margin-bottom: 10px; 1810 } 1811 1812 .template-page .sidebar {display:none !important;} 1813 1814 1815 1816 #shopify-section-template--15622199902283__main .section-padding { 1817 margin-bottom: -46px; 1818 } 1819 @media screen and (max-width: 769px) { 1820 1821 #shopify-section-template--15622199902283__main .section-padding { 1822 margin-bottom: -26px; 1823 } 1824 } 1825 1826 1827 .js .details--active .details__content, .js .details-active .details__content { 1828 padding-top: 10px; 1829 } 1830 @media screen and (min-width: 769px) { 1831 #shopify-section-template--15622199902283__599bfd84-c3b8-4fc2-a433-007d9883a65d .page-width--narrow-custom, #shopify-section-template--15622199771211__main .section-padding, #shopify-section-template--15622199771211__main .page-width--narrow-custom { 1832 max-width:992px !important;width:992px;} 1833 } 1834 1835 1836 .details button.summary{ 1837 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 1838 font-size:12px; 1839 text-transform:uppercase; 1840 text-align:left !important; 1841 line-height : 1.5; 1842 } 1843 .details button.summary h2 { 1844 color: #414142 !important; 1845 text-transform: uppercase !important; 1846 letter-spacing: 2px !important; 1847 font-size: 11px !important; 1848 padding-bottom: 0px !important; 1849 line-height: 1; 1850 } 1851 .collapsible-content, .template-page .section-padding .page-width {margin:0px;} 1852 1853 1854 .template-page h4 { 1855 font-size:15px !important; 1856 } 1857 1858 1859 .header:not(.header-layout--drawer) .single-dropdown.details__content .site-menu__submenu>
1859li a { 1860 font-size: 10.8px !important; 1861 color: #414142 !important; 1862 /* margin-bottom: 12px; */ 1863 white-space: nowrap; 1864 } 1865 1866 .header:not(.header-layout--drawer) .single-dropdown.details__content#collections .site-menu__submenu>li a { 1867 margin-bottom: 12px !important; 1868 } 1869 1870 .header:not(.header-layout--drawer) .single-dropdown.details__content#new-in .site-menu__submenu>li a { 1871 margin-bottom: 12px !important; 1872 } 1873 1874 1875 .js .details--active .details__content .details__content-inner, .js .details-active .details__content .details__content-inner { 1876 margin-top: -4px; 1877 margin-bottom:4px; 1878 } 1879 #FacetFiltersForm .variant-options input+label { 1880 min-height: 19px !important; 1881 text-align: left; 1882 justify-content: flex-start; 1883} 1884 1885 .mega-menu__promo--style-2 .mega-menu__promo-heading { 1886 font-size: 11px !important; 1887 letter-spacing: 2px !important; 1888 text-decoration:none !important; 1889 text-transform: uppercase; 1890 color:#414142; 1891 } 1892 1893 .mega-menu__promo--style-2 .mega-menu__promo-content { 1894 padding:0px !important;} 1895 1896 .mega-menu__promo--style-2.mega-menu__promo a { 1897 text-decoration:none !important; 1898 } 1899 1900 #shop .site-menu__submenu>li>.menu-item.link-styled--reverse { 1901 padding-top: 4px; 1902 } 1903 1904 1905 1906 1907 .header:not(.header-layout--drawer) .site-menu__submenu .mychildlink .menu-item 1908 {margin-bottom:10px;} 1909 1910 .site-menu .primary-links>li .menu-item { 1911 font-size: 11px !important; 1912 letter-spacing: 2px !important; 1913 text-decoration:none !important; 1914 text-transform: inherit; 1915 color:#414142; 1916 } 1917 1918 1919 @media screen and (max-width: 768px) { 1920 #shopify-section-template--17511214612555__image_banner_YxmzFJ .content .rte h1 { 1921 font-size: 13px; 1922 text-transform: inherit; 1923 line-height: 21px; 1924 margin: 10px 0px 15px; 1925 letter-spacing: 2px; 1926 } 1927 1928 #shopify-section-template--17511214612555__image_banner_YxmzFJ .content .heading 1929 { 1930 font-size: 22px; 1931 letter-spacing: 3px; 1932 } 1933 1934 1935 .image-banner__wrapper-content .btn--tertiary { 1936 text-decoration:underline; 1937 border: 0px solid; 1938 letter-spacing:2px !important; 1939 } 1940 1941 1942 1943 } 1944 1945 1946 1947 @media screen and (min-width: 769px) { 1948 1949 .section-image-banner .heading { 1950 line-height: 32px; 1951 } 1952 1953 1954 .btn--tertiary:hover { 1955 background: #414142;; 1956 1957 } 1958 1959 .section-image-banner .content .cta-container .btn { 1960 font-size: 23px; 1961 line-height: 27.5px; 1962 letter-spacing: 3px; 1963 border: none; 1964 text-decoration: underline; 1965 } 1966 1967 .image-banner__wrapper-content h2, .image-banner__wrapper-content .heading, #shopify-section-template--17511214612555__image_banner_YxmzFJ .content .heading { 1968 letter-spacing:10px !important; font-weight: 700; 1969 } 1970 1971 #shopify-section-template--17511214612555__image_banner_YxmzFJ .content .rte * { 1972 font-size: 14px; 1973 text-align: center; 1974 font-weight: 100; 1975 text-transform: inherit; 1976 letter-spacing: 4px; 1977 font-family: 'Neue Helvetica Regular' !important; 1978 line-height: 24px; 1979 } 1980 1981 } 1982 1983 1984 @media screen and (max-width: 769px) { 1985 1986 .four-blocks .text-links__card { 1987 1988 1989 border: 1px solid #999; 1990 min-height: 33px; 1991 padding: 4px; 1992 margin-bottom: 7px; 1993 1994 } 1995 1996 1997 #shopify-section-template--17511214612555__text_links_44yFbE .text-links--template--17511214612555__text_links_44yFbE { 1998 border: 0px; 1999 } 2000 2001 .four-blocks .text-links__card:after { 2002 display:none!important; 2003 } 2004 2005 .text-links__wrapper { 2006 display: block; 2007 } 2008 2009 2010 .section-text-links .text-links__card a {color:#414142 !important; letter-spacing:2px;} 2011 2012 2013 2014 2015 .header:not(.header-layout--drawer) .single-dropdown.details__content .site-menu__submenu>
2015li a {text-transform:capitalize !important; 2016 letter-spacing: 1.5px !important; 2017 2018 } 2019 } 2020 2021 2022 .product__info-container .modal.aic.jcc { 2023 color:#414142 !important; 2024 } 2025 2026 .product__info-container .modal.aic.jcc h2{ 2027 text-align: left; 2028 font-size: 14px; 2029 font-weight: 500; 2030 letter-spacing: 2px; 2031 color: #414142; 2032 margin-bottom: 21px; 2033 line-height: 25px; 2034 } 2035 2036 .product__info-container .modal.aic.jcc .rte{ 2037 margin-bottom: 0px; 2038 } 2039 2040 .modal__container table, .modal__container table h4 { 2041 width: 100%; 2042 color: #414142 !important; 2043 font-size: 11px !important; 2044 letter-spacing:2px; 2045 padding: 0px 25px; 2046 } 2047 2048 table:not(.cart-items) tbody tr:nth-child(even) { 2049 background-color: #efe8e3; 2050 } 2051 2052 .rte thead tr:first-child { 2053 border-bottom: 1px solid #414142; 2054 } 2055 2056 .rte tbody tr { 2057 border-bottom: 0px solid var(--color-border); 2058 } 2059 2060 .rte table td 2061 { 2062 padding: .5px 1rem; 2063 } 2064 2065 2066 @media screen and (max-width: 769px) { 2067 2068 2069 2070 modal-dialog .modal-trigger.link-styled { 2071 top:auto !important;} 2072 2073 2074 .modal { 2075 height: 100vh !important; 2076 } 2077 2078 .modal__container table h4 { 2079 padding: 0px 7px !important; 2080 min-width: 34px !important; 2081 } 2082 2083 .btn.btn--unstyled{top: 21px !important;} 2084 2085 .rte table td { 2086 padding: .5px 10px; 2087 } 2088 2089 } 2090 2091 2092 @media screen and (min-width: 769px) { 2093 .page-width--padded { 2094 padding: 0 57px !important; 2095 } 2096 2097 2098 2099 .template-product .page-width { padding: 0 57px !important; 2100 display: block; 2101 margin: 0px; 2102 } 2103 2104 2105 product-recommendations { 2106 padding: 0 57px !important; 2107 display: block; 2108 margin: 0px; 2109 } 2110 2111 } 2112 2113 2114 @media screen and (min-width: 1025px) { 2115 .content--wrapper.content--floating .btn { 2116 2117 } 2118 2119 .content--wrapper.content--floating .btn:hover { 2120 2121 background:transparent; 2122 color: #414142; 2123 } 2124 2125 } 2126 2127 2128 .collection-link-menu__link-wrap img { 2129 vertical-align: bottom; 2130 height: fit-content !important; 2131 object-fit: contain !important; 2132 } 2133 2134 @media screen and (max-width: 768px) { 2135 2136 aside .content { 2137 width: 100%; 2138 } 2139 2140 .site-menu .primary-links>li .menu-item { 2141 font-family: 'Neue Helvetica Regular'; 2142 font-size: 12px !important; 2143 letter-spacing: 1.5px !important; 2144 color: #414142; 2145 /* text-transform: uppercase; */ 2146 letter-spacing: 3px; 2147 font-weight: 400; 2148 } 2149 2150 .site-menu .primary-links>li .menu-item { 2151 font-size: 12px !important; 2152 letter-spacing: 1.5px !important; 2153 color: #414142; 2154 text-transform: inherit; 2155 letter-spacing: 3px; 2156 font-weight: 400; 2157 } 2158 2159 .mobile-menu.details--active .site-menu .primary-links>li.single-menu { 2160 height: 50px; 2161 } 2162 2163 } 2164 2165 2166 div#CartDrawer .drawer__heading, 2167 div#CartDrawer .cart-item__name h2, 2168 div#CartDrawer .cart-item__price-quantity-wrapper .cart-item__price, 2169 div#CartDrawer .cart-drawer__heading, 2170 div#CartDrawer .cart-drawer__totals .flex.jcb:nth-child(1) *, 2171 div#CartDrawer .free-shipping-calculator, 2172 .cart-recommendations__heading, 2173 div#CartDrawer .cart-drawer__ctas .btn--view-cart, 2174 cart-remove-button button, 2175 div#CartDrawer .cart-item__variant dd, 2176 .cart-item__price, 2177 .cart-item__selling-plan, 2178 .cart-item__variants, 2179 .cart-item__discounts { 2180 2181 font-family: 'Neue Helvetica Regular' !important; 2182 letter-spacing: 1.5px !important; 2183 color: #414142; 2184 text-transform: uppercase; 2185 letter-spacing: 3px; 2186 font-weight: 400; 2187 2188 2189 } 2190 2191 .cart-drawer quantity-input { 2192 display: inline-flex; 2193 border: 1px solid #414142; 2194 margin-right: 1rem; 2195 } 2196 2197 .cart-drawer quantity-input .btn { 2198 margin-top: -6px; 2199 } 2200 2201 .drawer__heading { 2202 font-size: 18px !important; 2203 } 2204 2205 div#CartDrawer .free-shipping-calculator{ 2206 font-size: 12px !important; 2207 } 2208 2209 .cart-recommendations .splide__pagination { 2210 bottom: 0px !important; 2211 } 2212 2213 div#CartDrawer button.btn.btn--primary { 2214 padding: .5rem 2rem .7rem; 2215 font-size: 11px !important; 2216 letter-spacing: 2px !important; 2217 border: 1px solid #414142; 2218 } 2219 2220 div#CartDrawer .cart-drawer__ctas .btn--view-cart { 2221 padding-top: 7px; 2222 border: 1px solid #414142 !important; 2223 padding-bottom: 9px; 2224 font-size: 11px !important; 2225 letter-spacing: 2px !important; 2226 } 2227 2228 .splide__pagination__page.is-active:after, .splide__pagination__page:hover:after { 2229 background: #414142 !important; 2230 } 2231 2232 2233 @media screen and (max-width: 769px) { 2234 .section-text-links .text-links__card a { 2235 color: #414142 !important; 2236 letter-spacing: 2px; 2237 width: 100%; 2238 display: block; 2239 2240 2241 text-align:center; 2242 } 2243 2244 .section-text-links .text-links { 2245 border:0px !important;} 2246 2247 .site-menu .primary-links>li>.details>.summary>.link-styled--reverse { 2248 font-size: 12px !important; 2249 letter-spacing: 1.5px !important; 2250 color: #414142; 2251 text-transform: uppercase; 2252 letter-spacing: 3px; 2253 font-weight: 400; 2254 font-family:'Neue Helvetica Regular', Arial, sans-serif, sans-serif; 2255 2256} 2257 2258 2259} 2260 2261 .pagination__item--current { 2262 border-bottom: 1px solid; 2263 color: #414142 !important; 2264 } 2265 2266 2267 .pagination { 2268 width: 100%; 2269 overflow: hidden; 2270 } 2271 2272 2273 2274 2275 .template-collection .toolbar--sticky { 2276 padding: 0 !important; 2277 } 2278 2279 .template-collection .toolbar-layout--alt .toolbar__left { 2280 justify-content: left; 2281 } 2282 2283 2284 2285 2286 .facets__list.color input+label {
2287 min-width: 20px !important; 2288 min-height: 20px !important; 2289 } 2290 2291 .facets__list { 2292 margin-top: 10px; 2293 } 2294 2295 2296 #FacetFiltersForm .variant-options input+label { 2297 min-height: 19px !important; 2298 } 2299 2300 2301 2302 .facet-container .details--active .details__content { 2303 padding: 10px 2rem 0 0 !important; 2304 } 2305 2306 2307 .sorting__list label { 2308 color: #414142; 2309 text-transform: uppercase; 2310 letter-spacing: 2px; 2311 font-size: 10px; 2312 padding-bottom: 6px; 2313 } 2314 2315.sorting__list label:focus-visible, .sorting__list label:focus-within, #FacetFiltersForm .variant-options input+label:focus-visible{ 2316outline: none !important;} 2317 2318 2319 2320 .toolbar { 2321 border-top: 0px solid white !important; 2322 border-bottom: 0px solid white !important; 2323 } 2324 2325 .toolbar>div:first-child { 2326 border-left: 0px solid white !important; 2327 } 2328 2329 2330 .toolbar-layout--alt .facet--sort .toolbar__item { 2331 border-left: 0px solid white !important; 2332 } 2333 aside .content .h2 {font-size:15px !important; 2334 color: #414142 !important; 2335 letter-spacing: 2px !important; 2336 text-transform: uppercase !important; 2337 font-weight: 500 !important; 2338 font-style:normal !important; 2339 font-family: 'Neue Helvetica Regular' !important; 2340 } 2341 2342 @media screen and (max-width: 769px) { 2343 aside .content .h2 { 2344 color: #414142 !important; 2345 letter-spacing: 2px !important; 2346 font-size:12px !important; 2347 width: 100% !important; 2348 display: block !important; 2349 height: 23px !important; 2350 padding-top: 4px !important; 2351 } 2352 } 2353 2354 .drawer__heading { 2355 font-size: 15px !important; 2356 display:none; 2357 } 2358 2359 @media screen and (max-width: 769px) { 2360 .drawer__heading { 2361 font-size: 12px !important; 2362 display:none; 2363 } 2364 } 2365 2366 2367 .product-form__input:not(.color) input[type=radio].sold-out+label { 2368 border-color: #bbb !important; 2369 color: #bbb !important; 2370 } 2371 2372 .drawer__footer .btn--primary { 2373 border: 1px solid #414142 !important; 2374 padding-top: 8px !important; 2375 padding-bottom: 11px !important; 2376 } 2377 2378 .drawer__footer .btn--unstyled { 2379 border-bottom: 0px !important; 2380 } 2381 2382 .drawer__footer facet-remove .btn--unstyled { 2383 border: 1px solid #414142 !important; 2384 margin-bottom:5px; 2385 text-transform:uppercase; 2386 font-size:14px !important; 2387 letter-spacing:3px !important; 2388 } 2389 2390 .facets__list:not(.color):not(.size) input+label { 2391 align-items: anchor-center; 2392 } 2393 2394 .facets__list:not(.color):not(.size) input:checked+label .filter__check { 2395 background-color: #414142 !important; 2396 } 2397 2398 div#CartDrawer .cart-item__name h2 { 2399 letter-spacing:2px !important; 2400 } 2401 2402 .cart-item__price {font-weight:500 !important;} 2403 2404 .cart-drawer quantity-input .btn { 2405 width: 30px !important; 2406 } 2407 2408 cart-remove-button button {font-size:12px !important;} 2409 2410 .free-shipping-calculator.flex.flex--column, div#CartDrawer .free-shipping-calculator {font-size:10px !important; 2411 margin-top:0px !important; 2412 font-weight:600 !important; 2413 background:white !important; 2414 font-family: 'Neue Helvetica Bold', Arial, sans-serif, sans-serif !important;} 2415 2416 @media screen and (max-width: 769px) { 2417 #CartDrawer .btn.btn--unstyled { 2418 top: 1px !important; 2419 } 2420 .drawer__header.text-center .btn.btn--unstyled.drawer-close.search_close { 2421 top : 14px !important; 2422 } 2423 .drawer-close.filter_close { 2424 top : 55px !important; 2425 } 2426 [data-predictive-search-live-region-count-value] { 2427 top : 0.6rem !important; 2428 } 2429 2430 .cart-item { 2431 grid-template-columns: 125px calc(100% - 125px) !important; 2432 } 2433 2434 .cart-recommendations__grid li { 2435 flex: 0 0 calc(39% - .25rem) !important; 2436 } 2437 2438 2439 } 2440 2441 2442 .cart-recommendations__heading {font-size:11px !important; letter-spacing:3px !important;} 2443 2444 .cart-recommendations .splide__pagination li {display: none !important;} 2445 2446 2447 .template-cart .title-wrapper-with-link .title {font-size:11px !important; letter-spacing:3px !important;color:#414142 !important;} 2448 2449 .template-cart .title-wrapper-with-link a { letter-spacing:2px !important;color:#414142 !important;} 2450 2451 .template-cart .cart-item__image {max-width:100% !important;} 2452 2453 2454 div#CartDrawer .cart-item__name h2 { 2455 letter-spacing: 2px !important; 2456 } 2457 2458 .template-cart .cart-item__details a { 2459 letter-spacing: 2px !important; 2460 font-family: 'Neue Helvetica Regular' !important; 2461 color: #414142; 2462 text-transform: uppercase; 2463 font-weight: 400; 2464 font-size: 14px; 2465 } 2466 2467 .template-cart .btn.btn--unstyled { 2468 2469 width: content; 2470 } 2471 2472 .template-cart .product-option, .template-cart .product-option dt, .template-cart .product-option dd { 2473 font-family: 'Neue Helvetica Regular' !important; 2474 letter-spacing: 1.5px !important; 2475 color: #414142; 2476 text-transform: uppercase; 2477 font-size: 12.8px !important; 2478 font-weight: 500 !important; 2479 margin:0px !important; 2480 } 2481 2482 .template-cart cart-remove-button a {font-size: 12.8px; 2483 letter-spacing: 2px; 2484 color: #414142; 2485 } 2486 2487 2488 .template-cart .title, .title-wrapper-with-link { 2489 margin: 0px; 2490 } 2491 2492 .cart-items quantity-input input {color: #414142 !important;} 2493 2494 .cart-items quantity-input { 2495 border: 1px solid #414142; 2496 } 2497 2498 .cart__items { 2499 padding-bottom: 1rem !important; 2500 } 2501 .totals>h2, .totals>*+*, .tax-note { 2502 color: #414142 !important; 2503 } 2504 2505 .cart__ctas button { 2506 width: 100%; 2507 height: 45px; 2508 border: 1px solid #414142; 2509 padding-bottom: 11px; 2510 } 2511 2512 .template-cart .title-wrapper-with-link .underlined-link { 2513 margin-bottom:15px !important;} 2514 2515 .cart__dynamic-checkout-buttons.additional-checkout-buttons {max-width:100% !important;} 2516 2517 2518 @media screen and (max-width: 769px) {
2519 .template-cart .cart-item { 2520 max-width:100%; 2521 overflow:hidden !important; 2522 } 2523 } 2524 2525 .template-cart .cart-items quantity-input .btn { 2526 padding: 7px 8px 11px; 2527 } 2528 2529 2530 2531 input.sold-out + label { 2532 position: relative; 2533 overflow: hidden; 2534 color: #ccc; 2535 } 2536 2537 input.sold-out + label::after { 2538 content: ''; 2539 position: absolute; 2540 top: 0; 2541 left: 0; 2542 width: 100%; 2543 height: 100%; 2544 background: linear-gradient( 2545 to bottom, 2546 transparent calc(50% - 0px), 2547 #c0c0c0 calc(50% - 0px), 2548 #c0c0c0 calc(50% + 1px), 2549 transparent calc(50% + 1px) 2550 ); 2551 pointer-events: none; 2552 } 2553 2554 .product-form__input:not(.color) input[type=radio].sold-out+label { 2555 text-decoration: none !important; 2556 } 2557 2558 2559 .cart-items th, .cart-items { 2560 color:#414142 !important; 2561 letter-spacing:2px !important; 2562 } 2563 2564 .template-cart cart-remove-button a { 2565 position: relative; 2566 bottom: -9px; 2567 } 2568 2569 .totals>h2, .totals>*+*, .tax-note { 2570 color: #414142 !important; 2571 font-size:16px; 2572 font-weight:400; 2573 letter-spacing: 2px; 2574 } 2575 2576 .cart__footer { 2577 padding: 0rem 0 0; 2578 } 2579 2580 .tax-note 2581 { 2582 margin: 1.2rem 0 1.6rem auto; 2583 } 2584 2585 2586 .details__content-inner p strong { 2587 font-weight: 500 !important; 2588 } 2589 2590 .product-wrapper .collapsible-item .details__content-inner { 2591 padding-top: 5px; 2592 } 2593 2594 .details__content-inner p strong { 2595 margin-bottom: 10px; 2596 } 2597 2598 facet-filters-form .filter__item { 2599 padding: 4px 18px; 2600 margin: 0; 2601 border-bottom: 0px solid var(--color-border); 2602 } 2603 2604 .sorting__list input[type="radio"]:checked + label { 2605 text-decoration: underline; 2606 } 2607 2608 .sorting__list label { 2609 padding-left:1rem; 2610 } 2611 2612 .sort__check 2613 { 2614 display: none; 2615 } 2616 2617 2618 .cart-count { 2619 border: 1px solid #414142; 2620 border-radius: 20px; 2621 height: 17px; 2622 display: block; 2623 width: 18px; 2624 font-size: 10px; 2625 position: absolute; 2626 left: 11px; 2627 top: 10px; 2628 background: #414142; 2629 color: white; 2630 padding-right: 1px; 2631 padding-top: 1px; 2632 letter-spacing: 0px; 2633 } 2634 2635 @media screen and (max-width: 769px) { 2636 2637 .cart-count { 2638 border: 1px solid #414142; 2639 border-radius: 20px; 2640 height: 17px; 2641 display: block; 2642 width: 18px; 2643 font-size: 10px; 2644 position: absolute; 2645 left: -3px; 2646 top: -3px; 2647 background: #414142; 2648 color: white; 2649 padding-left: 1px; 2650 padding-top: 0px; 2651 letter-spacing: 0px; 2652 line-height: 12px; 2653 text-align: center; 2654 } 2655 2656 svg.icon--cart { margin-right: 5px;} 2657 2658 } 2659 2660 .cart-drawer quantity-input input {#414142 !important;} 2661 2662 .page-width--narrow-custom {max-width: 100% !important;} 2663 2664 .template-page .page-width p { 2665 line-height: 1.5rem !important; 2666 } 2667 2668 2669 .collapsible-content.page-width.section-padding.page-width--narrow-custom, .page-width.page-width--narrow-custom { 2670 --page-width: 100% !important; 2671 } 2672 2673 /* Navigation Mega Menu Updates */ 2674 @media screen and (min-width: 989px) { 2675 2676.site-menu .primary-links>li>.details>.summary>.link-styled--reverse, .megamenu.details__content .site-menu__submenu ul.childlink-levels li .summary.mychildlink .menu-title, .megamenu.details__content .site-menu__submenu ul.childlink-levels li .summary.mychildlink .menu-title, .megamenu.details__content .site-menu__submenu ul.childlink-levels li .summary.mychildlink .menu-title, .megamenu.details__content .site-menu__submenu ul.childlink-levels li .summary.mychildlink, .header:not(.header-layout--drawer) .site-menu__submenu .menu-item { 2677font-size: 12px !important; 2678letter-spacing: 1.5px !important; 2679font-family: 'Neue Helvetica Regular', Arial, sans-serif, sans-serif !important; 2680 color:#414142 !important; 2681} 2682} 2683 2684 2685.product__info.container .price-item { 2686 line-height: 26px; 2687} 2688 2689.megamenu.details__content .site-menu__submenu li.mega-menu__promo.megamenu-block .promo-banner-img { 2690 height: auto !important; 2691 min-height: fit-content !important; 2692 max-height: fit-content !important; 2693 overflow: hidden !important; 2694} 2695 2696.mega-menu__promo-content .mega-menu__promo-heading { 2697 font-family: 'Neue Helvetica Regular', Arial, sans-serif, sans-serif; 2698 font-size: 10px; 2699 margin: 0; 2700 padding: 0; 2701 letter-spacing: 2px; 2702 margin-top: 5px; 2703 line-height: normal; 2704} 2705 2706.pdp-faqs__inner .pdp-faq__question .pdp-faq__icon { 2707 padding-right: 5px; 2708 min-width: 12px; 2709 font-weight: 400; 2710 font-size: 12px; 2711 margin-left: 0px; 2712 color: #414142 !important; 2713} 2714 2715@media screen and (min-width: 769px) { 2716 .header:not(.header-layout--drawer) .megamenu, .header:not(.header-layout--drawer) .single-dropdown { 2717 padding: 2.5rem 1.5rem 1rem !important; 2718 } 2719 } 2720/* scrunching white space */ 2721 2722.product__info h1 { 2723 margin-top: -7px !important; 2724 font-size: 14px !important; 2725} 2726 2727@media screen and (min-width: 769px) { 2728 .header:not(.header-layout--drawer) .site-menu__sub-submenu .menu-item { 2729 font-size: 10px !important; 2730 color: #414142 !important; 2731 font-family: 'Neue Helvetica Regular', Arial, sans-serif, sans-serif; 2732 } 2733} 2734 2735.product__info.container .variant-options .color { 2736 margin-left: 0px !important; 2737} 2738 2739.product__info variant-radios { 2740 margin: -5px 0 5px !important; 2741} 2742 2743.product__info legend, .product__info .legend { 2744 padding-left: 0px !important; 2745} 2746 2747.installment.caption-large {opacity:.9 !important;} 2748 2749.megamenu.details__content .site-menu__submenu { 2750 justify-content: space-around !important; 2751} 2752 2753 2754.product__info-container .variant-options input+label { 2755 border: 1px solid #414142 !important; 2756} 2757 2758.filter__item .facets__list.size input:checked+label span { 2759color:white !important; 2760} 2761 2762 2763.product__info-container modal-dialog { 2764 margin-top: -3px;
2765 display: block; 2766 font-size: 10px !important; 2767 height: 29px; 2768} 2769.modal-trigger.btn.size-guide 2770 { 2771 font-size: 10px !important; 2772 } 2773 2774.product-form { 2775 padding-bottom: 8px; 2776} 2777 2778.pdp-faqs { 2779 padding-top: 10px !important; 2780} 2781 2782 2783.pdp-faqs__inner .pdp-faq__question .pdp-faq__icon { 2784 padding-right: 5px; 2785 min-width: 12px; 2786 color: #414142 !important; 2787 font-family: Neue Helvetica Regular, Arial, sans-serif, sans-serif !important; 2788 font-weight: 700 !important; 2789 font-style: normal !important; 2790 font-size: 12px !important; 2791 line-height: 16px !important; 2792 letter-spacing: 3px !important; 2793 text-transform: uppercase; 2794 opacity: .825 !important; 2795} 2796 2797 2798@media screen and (min-width: 769px) { 2799 .product__info { 2800 padding: 133px 0px 40px 0px !important; 2801 } 2802} 2803 2804.collapsible-item { 2805 padding: 0 0 .5rem !important; 2806} 2807 2808/* .pdp-faq {margin-bottom:-5px;} */ 2809 2810.megamenu.details__content .site-menu__submenu li.mega-menu__promo { 2811 max-height: 400px !important; 2812 overflow: hidden !important; 2813} 2814 2815@media screen and (min-width: 769px) {
2816 .menu-item, .header__util-link>a { 2817 font-size: 12px !important; 2818 } 2819 2820.product__info-container variant-radios .product-form__input:not(.color) input:checked+label { 2821 padding-bottom: 3px !important; 2822} 2823 2824.variant-options input+label { padding-bottom: 3px !important;} 2825 2826 2827.product-highlight-blocks-section {padding-left:15px !important;} 2828 2829 .upsell-products-sec { 2830 margin-top: 30px !important; 2831 } 2832 2833#shopify-section-template--18361917964336__product-recommendations { 2834 padding-bottom: 0px !important; 2835} 2836 2837 2838.slick-next.slick-disabled:before, .slick-prev.slick-disabled:before { 2839 opacity: 0 !important; 2840} 2841 2842 } 2843 2844#AddToCartButton:disabled { 2845 opacity: 1 !important; 2846 padding: 0 !important; 2847 min-width: 160px; 2848 max-width: 160px; 2849 min-height: 29px; 2850 display: flex; 2851 align-items: center; 2852 justify-content: center; 2853} 2854 2855@media (max-width: 768px) { 2856 .footer__newsletter .footer__list-social { 2857 margin-top: 1.0rem !important; 2858 } 2859} 2860 2861.product-form__buttons .btn--primary span 2862 { 2863 padding-bottom: 2px; 2864} 2865 2866.upsell-title a { 2867 text-decoration: none; 2868 color: #414142; 2869 font-family: Neue Helvetica Regular, Arial, sans-serif, sans-serif !important; 2870 font-weight: 500; 2871 font-style: normal; 2872 font-size: 10px; 2873 line-height: 16px; 2874 letter-spacing: 3px; 2875 color: #414142; 2876 gap: 12px; 2877 text-transform: uppercase; 2878 margin-top: 22px; 2879} 2880 2881.upsell-title 2882 { 2883 font-size: 15px; 2884 font-weight: 500; 2885 text-transform: uppercase; 2886 letter-spacing: 2px; 2887 font-style: normal; 2888} 2889 2890.upsell-right .selected_option { 2891 font-family: Neue Helvetica Regular, Arial, sans-serif, sans-serif !important; 2892 font-weight: 500 !important; 2893 font-style: normal !important; 2894 font-size: 10px; !important 2895 line-height: 21px !important; 2896 letter-spacing: 1.25px !important; 2897 color: #414142 !important; 2898 text-transform: inherit; 2899 margin-top: 6px; 2900} 2901 2902 2903.upsell-price { 2904 margin-top: 0px !important; 2905 margin-bottom: 20px !important; 2906 2907} 2908 2909 2910.product-highlight-content { 2911 padding-top: 0px!important; 2912 max-width: 100% !important; 2913 2914} 2915 2916.product-highlight-heading { 2917 2918 margin-bottom: -3px; 2919} 2920 2921.product-highlight-blocks-section { 2922 padding: 20px 0 !important; 2923} 2924 2925 2926.collapsible-item .details__icon { 2927 padding-top: 2px; 2928} 2929 2930 2931.metafield-rich_text_field ul li::marker { 2932 font-size: 0.6em; 2933} 2934 2935.details__content-inner li {} 2936 2937 2938.product__info-container variant-radios .product-form__input:not(.color) input:checked+label { 2939 padding-bottom: 0px; 2940} 2941 2942 2943 2944product-recommendations h2.section-heading { 2945 font-family: Neue Helvetica Regular, Arial, sans-serif, sans-serif !important; 2946 font-weight: 500 !important; 2947 font-style: normal !important; 2948 font-size: 11px !important; 2949 line-height: 16px !important; 2950 letter-spacing: 3px !important; 2951 color: #414142 !important; 2952 gap: 12px !important; 2953 text-transform: uppercase !important; 2954} 2955 2956 2957@media screen and (max-width:768px) { 2958.product__info .product__text { 2959 margin-bottom: 2px !important; 2960} 2961} 2962 2963 2964.product__info legend, .product__info .legend { 2965 font-size: 10.8px !important; 2966 letter-spacing: 2px !important; 2967} 2968 2969shopify-payment-terms { 2970 font-size: 10px !important; 2971} 2972 2973 .variant-options { 2974 gap: 0px !important; 2975 } 2976 2977 2978.variant-options .color { 2979 padding: 8px 0 0px !important; 2980} 2981.collapsible-item { 2982 padding: 0 0 .7rem !important; 2983} 2984 2985 2986.pdp-faqs__inner .pdp-faq__answer { 2987 padding: 0 0 0 0px !important; 2988} 2989 2990.collapsible-item .details__icon { 2991 margin-left: 4px; 2992} 2993 2994.pdp-faqs__inner .pdp-faq__answer, .pdp-faqs__inner .pdp-faq__answer * { 2995 padding-top: 2px; 2996 margin-bottom: 2px; 2997} 2998 2999 3000 3001.product__info-container variant-radios .product-form__input:not(.color) input:checked+label { 3002 padding-bottom: 2px; 3003} 3004 3005.product-form__buttons .btn--primary span { 3006 padding-bottom: 2px; 3007} 3008 3009.low_stock_badge { 3010color: #414142 !important; 3011 font-size: 10px !important; 3012 font-weight: 400 !important; 3013 margin-left: 5px; 3014} 3015 3016.low_stock_badge span.inventory_quantity-text { 3017 margin: 0 -2px 0 5px !important; 3018} 3019 3020 3021@media screen and (min-width:768px) and (max-width:1300px) { 3022 3023.product-wrapper { 3024 max-width: 850px !important; 3025 margin: auto; 3026} 3027.product__info .product__text { 3028 margin-bottom: 4px !important; 3029} 3030 3031.color .container { 3032 margin-top: -3px;
3033} 3034} 3035@media screen and (min-width:768px) { 3036.product__info fieldset:not(.color) legend { 3037 height: 24px !important; 3038} 3039} 3040 3041 3042.low_stock_badge { 3043 display: none; 3044 font-weight: normal; 3045 font-size: 10px !important; 3046 letter-spacing: 2px; 3047 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 3048 color: #414142 !important; 3049 margin-bottom: 0px !important; 3050} 3051 3052 3053.low_stock_badge span.inventory_quantity-text { 3054 margin: 0 -1px 0 5px !important; 3055} 3056 3057#Details-Collapsible-Item .details__content-inner ul { 3058margin-left:-23px; 3059 margin-top: 0px; 3060 margin-bottom: 0px; 3061} 3062 3063.header:not(.header-layout--drawer) .site-menu__submenu .menu-item { 3064 font-size: 10px !important; 3065 } 3066 3067 3068#Details-Collapsible-Item .details__content-inner li { 3069padding-left:4px; 3070} 3071 3072 3073 #product-grid .product-card .price .price-item { 3074 font-size: 11px !important; 3075 line-height: 20px; 3076 } 3077 3078aside .content h1 {opacity: 0 !important;} 3079 3080.template-collection h1 {opacity: 0 !important;} 3081 3082@media screen and (max-width:768px) { 3083aside .content .h2 {opacity: 0 !important;} 3084} 3085 3086.template-collection .h2:not(.section-heading) {opacity: 0 !important;} 3087 3088.template-collection aside .content .h2 {height:0px; display:none;} 3089 3090.megamenu.details__content .site-menu__submenu ul {min-width:150px;} 3091 3092/* .header:not(.header-layout--drawer) .site-menu__submenu .menu-item:hover {color:#414142 !important;text-decoration:underline !important;opacity:1 !important;} */ 3093 3094.summary-anchor.summary a:hover, .summary-anchor.summary a:active, .summary-anchor.summary a:focus, .summary-anchor.summary a:target, .summary-anchor.summary a[aria-expanded="true"] {color:#414142 !important;text-decoration:underline !important;opacity:1 !important;} 3095 3096.section-announcement-bar { 3097 z-index: 10; 3098 max-height: 30px; 3099 overflow: hidden; 3100 height: 30px; 3101 min-height: 30px; 3102 display:flex;
3103 align-items : center; 3104 background-color: #efe8e3; 3105} 3106 3107#shopify-section-header {background:white !important;} 3108 3109 3110.exclusive-badge { 3111 letter-spacing: 2px !important; 3112 min-width: 110px !important; 3113 bottom: -5px !important; 3114} 3115 3116.template-collection .product-card__media, product-recommendations .product-card__media { 3117 overflow: visible !important; 3118} 3119 3120.product-highlight-blocks-slider .slick-track { 3121 padding-left: 20px; 3122} 3123 3124.pdp-faqs__inner .pdp-faq__question { 3125 margin-left: 2px !important; 3126 font-size:11px !important; 3127} 3128 3129@media screen and (max-width: 768px) { 3130 .details__icon:before, .details__icon:after { 3131 left: 5px !important; 3132 } 3133} 3134 3135 3136@media screen and (max-width: 767px) { 3137 .variant-options input+label, .product__info-container variant-radios .product-form__input:not(.color) input:checked+label { 3138 padding-bottom: 3px !important; 3139 } 3140 3141.color .container.flex.flex--column.jcc.aic { 3142 margin-top: -4px !important; 3143} 3144 3145.section-announcement-bar 3146 { 3147 height: 32px !important; 3148 min-height: 35px !important; 3149} 3150 3151.footer-block .footer__heading h3 {font-size: 10px !important; 3152 letter-spacing: 3px !important; } 3153 3154 3155 #AddToCartButton { 3156 min-width: 211px !important; 3157 max-width: 211px !important; 3158 min-height: 35px !important; 3159 } 3160 3161 3162 3163} 3164 3165.footer_details__icon {width:7px; padding-top: 3px;} 3166 3167 3168#shopify-section-header .megamenu.details__content .site-menu__submenu ul.childlink-levels li .summary.mychildlink .menu-title {text-transform:uppercase !important; font-family: Neue Helvetica Regular, Arial, sans-serif, sans-serif !important; 3169 font-weight: 500 !important; 3170 font-style: normal !important; 3171 font-size: 11px !important; 3172 letter-spacing: 3px !important; 3173 color: #414142 !important; 3174} 3175 3176.template-collection .toolbar--sticky { 3177 background: transparent; 3178 flex-direction : column-reverse; 3179} 3180.facet-container.facet--filter .drawer__trigger { 3181 padding-left: 0 !important; 3182} 3183@media screen and (min-width: 767px) { 3184.template-collection .toolbar--sticky { 3185 3186 background: transparent; 3187} 3188 3189.toolbar .toolbar__item { 3190 font-size: 11px !important; 3191 letter-spacing: 2px !important; 3192} 3193 3194 3195.product__info .price { margin-top: -8px;} 3196 3197.upsell-price { 3198 margin-top: 0px !important; 3199 margin-bottom: 27px !important; 3200} 3201 3202 3203} 3204 3205.upsell-container .product-form__submit_upsell 3206 { 3207 min-width: 130px !important; 3208 max-width: 130px !important; 3209 } 3210 3211 3212 .site-footer .footer-block__disclosure.mobile--only>.footer__heading {font-weight:500 !important;} 3213 3214.pagination__item--current 3215 { 3216 padding-bottom: 7px !important;} 3217 3218@media screen and (min-width: 768px) { 3219 .section-template--18361918423088__product-grid-padding { 3220 padding-bottom: 10px !important; 3221 } 3222} 3223 3224/* mobile menu match work */ 3225@media screen and (max-width: 768px) { 3226/* start mobile */ 3227 3228.mobile-menu.details--active .drawer:not(.drawer--active) .drawer__container { 3229 margin-top: 5px; 3230} 3231 3232 .mobile-menu .site-menu__submenu ul.childlink-levels { 3233 margin: 0 !important; 3234 padding: 0 !important; 3235 list-style: none !important; 3236 } 3237 3238 .mobile-menu .site-menu .childlink-levels li { 3239 padding: 8px 0 !important; 3240} 3241 3242 .site-menu .primary-links>li .menu-item { 3243 font-family: 'Neue Helvetica Regular' !important; 3244 font-size: 12px !important; 3245 letter-spacing: 1.5px !important; 3246 color: #414142; 3247 /* text-transform: uppercase; */ 3248 letter-spacing: 3px; 3249 font-weight: 400; 3250 } 3251 3252 .header:not(.header-layout--drawer) .site-menu__submenu .menu-item { 3253 font-size: 12px !important; 3254} 3255 3256.mobile-menu.details--active .site-menu .primary-links>li { 3257 min-height: 50px; 3258} 3259 3260 .has-submenu .toggle-btn svg path, .has-submenu .toggle-btn svg { 3261 fill: #414142 !important; 3262 } 3263 3264/* end mobile */ 3265} 3266 3267 3268.template-collection .collection__grid { 3269 grid-gap: 0rem 0rem !important; 3270} 3271 3272 3273 @media screen and (min-width: 769px) { 3274 .template-product #thumbnail-carousel-bottom { 3275 padding: 0 !important; 3276 margin-top: 0rem !important; 3277 } 3278 3279 .template-product li.splide__slide{ 3280 margin-right:10px !important;} 3281 } 3282 3283
3284 @media screen and (min-width: 1301px) { 3285 .product-wrapper .product__media 3286 { 3287 max-width: 100%; 3288 flex: 0 0 100%; 3289 padding-left: 20%; 3290 } 3291 3292 #MainContent .is-gallery .product__info-container { 3293 padding: 1rem 1rem 124px; 3294 } 3295 3296} 3297 3298@media screen and (max-width: 768px) { 3299 .template-collection .breadcrumbs, .template-collection .breadcrumbs span { 3300 display: inline-block !important; 3301 } 3302 3303.template-collection .toolbar--sticky { 3304 padding: 0 !important; 3305 background: transparent; 3306} 3307.facet-container.facet--filter .drawer__trigger { 3308 padding-left: 0 !important; 3309} 3310[data-predictive-search-live-region-count-value] { 3311line-height : 1.8 !important;} 3312.facet-container.facet--filter .drawer__header .btn { 3313top : 45px !important; 3314} 3315} 3316 3317 .newsletter-form .newsletter-form__message--success svg:not(svg[fill=none]) *{ 3318 fill: #414142; 3319 } 3320 span.text--small.flex.aic.jcc { 3321 color: #414142; 3322 } 3323 .search__list .link-styled { 3324 font-size: 12px !important; 3325 letter-spacing: 1.5px !important; 3326 color: #414142; 3327 text-transform: uppercase; 3328 letter-spacing: 3px; 3329 font-weight: 400; 3330 font-family: 'Neue Helvetica Regular', Arial, sans-serif, sans-serif; 3331 } 3332 3333@media screen and (max-width: 767px) { 3334 .collection-add1.col-height-3row, .collection-add2.col-height-1row, .collection-add3.col-height-1row, .collection-add1.col-height-1row, .collection-add2.col-height-1row, .collection-add3.col-height-2row { 3335 width: calc(50% - 10px); 3336 } 3337} 3338 3339 3340 3341.collapsible-item .details__icon:before { 3342 width: 5px !important; 3343 background: #414142; 3344} 3345.collapsible-item .details__icon:after { 3346 height: 6px !important; 3347 background: #414142; 3348} 3349 3350.product-wrapper .collapsible-item .summary { 3351 gap: 8px !important; 3352} 3353 3354.collapsible-item .details__content { padding-left: 17px;} 3355 3356.collapsible-item { 3357 padding: 0 0 .6rem !important; 3358} 3359 3360.seo-read-more-btn { 3361 text-transform: uppercase; 3362 letter-spacing: 2px; 3363 text-underline-offset: 2px; 3364 font-size: 11px !important; 3365 color: #414142; 3366 margin-top: 0px !important; 3367} 3368 3369.seo-section-wrapoer .seo-block-content-wrapper .seo-block-content p, .seo-block-content li, .seo-block-content li a { 3370 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 3371 font-weight: 400 !important; 3372 font-style: normal !important; 3373 font-size: 10px !important; 3374 line-height: 21px !important; 3375 letter-spacing: 1.5px !important; 3376 color: #414142 !important; 3377 margin-top: -6px !important; 3378 margin-bottom: 5px !important; 3379} 3380 3381@media screen and (max-width: 767px) { 3382.seo-section-wrapoer .seo-block-content-wrapper .seo-block-content p { 3383 margin-top: 3px !important; 3384} 3385} 3386 3387.seo-read-more-btn { 3388 text-transform: uppercase; 3389 letter-spacing: 2px; 3390 text-underline-offset: 2px; 3391 font-size: 11px !important; 3392 color: #414142; 3393 margin-top: 0px !important; 3394} 3395 3396.seo-section-wrapoer .seo-block-content-wrapper .seo-block-content p { 3397 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 3398 font-weight: 400 !important; 3399 font-style: normal !important; 3400 font-size: 10px !important; 3401 line-height: 21px !important; 3402 letter-spacing: 1.5px !important; 3403 color: #414142 !important; 3404 margin-top: -6px !important; 3405 margin-bottom: 5px !important; 3406} 3407 3408 3409#MainContent .customer .register_info { 3410 font-family: "Neue Helvetica Regular", Arial, sans-serif, sans-serif !important; 3411 font-weight: 500 !important; 3412 font-style: normal !important; 3413 font-size: 10px !important; 3414 line-height: 17px !important; 3415 letter-spacing: 1.5px !important; 3416 color: #414142 !important;} 3417 3418 3419@media screen and (max-width: 767px) { 3420.seo-section-wrapoer .seo-block-content-wrapper .seo-block-content p { 3421 margin-top: 3px !important; 3422} 3423} 3424 3425 3426.breadcrumbs .link-styled {font-size:11px !important;} 3427 .toolbar .toolbar__item { 3428 padding: 8px 0px 0px 24px !important; 3429 font-size: 11px !important; 3430 } 3431 3432 3433 3434.details__content-inner * { 3435 line-height: 16px !important; 3436} 3437 3438.customer .customer_form_button { 3439 opacity: 1;
3440 padding: 0 !important; 3441 min-width: 160px; 3442 max-width: 160px; 3443 min-height: 29px; 3444 display: flex; 3445 align-items: center; 3446 justify-content: center; 3447 margin: 0 auto; 3448 border: 1px solid #414142; 3449} 3450 3451.customer .cta-container a {text-decoration:underline;} 3452 3453 3454.customer form { 3455 margin: 8px auto 0 !important; 3456} 3457 3458 3459label.facets__label.filter-label-size.container { 3460 border: none; 3461 gap : 8px; 3462} 3463 3464span.filter_size-value { 3465 border : 1px solid var(--color-primary-text); 3466 text-transform: uppercase; 3467 min-width: 36px; 3468 min-height: 29px; 3469 max-height: 29px; 3470 text-align: center; 3471 font-family: Neue Helvetica Regular, Arial, sans-serif, sans-serif !important; 3472 font-weight: 400; 3473 font-style: normal; 3474 font-size: 10px; 3475 letter-spacing: 0px; 3476 color: #414142; 3477 display: flex; 3478 align-items: center; 3479 justify-content: center; 3480 padding: 0; 3481} 3482 3483.predictive-search .btn--search { 3484color: #414142 !important;} 3485 3486 .toolbar .toolbar__item { 3487 padding: 8px 0px 8px 16px !important; 3488 letter-spacing: 2px !important; 3489 } 3490 3491 3492#FacetFiltersForm .variant-options .size input+label { 3493 justify-content: center; 3494} 3495 3496 3497*:focus-visible { 3498 outline: 2px solid var(--color-focus) !important; 3499 outline-offset: 0; 3500} 3501 3502.global-search input[type=search]:focus { 3503 outline: 0px solid var(--color-focus) !important; 3504} 3505 3506 3507 #Details-Menu-Trigger .account { 3508 padding-left: 0rem; 3509 padding-right: 0rem; 3510 align-items: flex-start; 3511 margin:0px; 3512} 3513 3514.upsell-product .upsell-dropdown { 3515display : none ; 3516} 3517#Details-Menu-Trigger .mmenu__hamburger svg { margin-bottom: 2px;} 3518.tagged_note { 3519 font-family: 'Neue Helvetica Regular'; 3520 letter-spacing: 1.5px ; 3521 color: var(--ftag_color , #414142); 3522 text-transform: uppercase; 3523 font-size: 11px ; 3524 font-weight: 500 ; 3525 margin-bottom: .5rem ; 3526} 3527</style> 3528 3529 <meta charset="utf-8"> 3530<meta http-equiv="X-UA-Compatible" content="IE=edge"> 3531<meta name="viewport" content="width=device-width,initial-scale=1"> 3532<meta name="theme-color" content=""> 3533<link rel="canonical" href="https://amandauprichard.com/cart"> 3534<link 3535 rel="preconnect" 3536 href="https://cdn.shopify.com" 3537 crossorigin> 3538<link 3539 rel="preconnect" 3540 href="https://fonts.shopify.com" 3541 crossorigin><link 3542 rel="icon" 3543 type="image/png" 3544 sizes="32x32" 3545 href="//amandauprichard.com/cdn/shop/files/favicon_AU.png?crop=center&height=32&v=1613696587&width=32"> 3546 <link 3547 rel="icon" 3548 type="image/png" 3549 sizes="16x16" 3550 href="//amandauprichard.com/cdn/shop/files/favicon_AU.png?crop=center&height=16&v=1613696587&width=16"><link 3551 rel="preload" 3552 href="//amandauprichard.com/cdn/shop/t/440/assets/main.css?v=96105098645232767931790980114" 3553 as="style"> 3554<link 3555 rel="preload" 3556 href="//amandauprichard.com/cdn/shop/t/440/assets/main.js?v=104804841978441525931785280193" 3557 as="script"> 3558 3559<title> 3560 Your Shopping Cart 3561 3562 – Amanda Uprichard</title> 3563 3564 3565 3566 3567 3568<meta property="og:site_name" content="Amanda Uprichard"> 3569<meta property="og:url" content="https://amandauprichard.com/cart"> 3570<meta property="og:title" content="Your Shopping Cart"> 3571<meta property="og:type" content="website"> 3572<meta property="og:description" content="For the strong, sophisticated woman who demands contemporary style with a touch of feminine. Shop a wide selection of timeless and feminine dresses, tops, bottoms, jumpsuits and rompers in luxe fabrics and bold prints. Free Ground Shipping."><meta property="og:image" content="http://amandauprichard.com/cdn/shop/files/Logo.svg?height=628&pad_color=fff&v=1685543984&width=1200"> 3573 <meta property="og:image:secure_url" content="https://amandauprichard.com/cdn/shop/files/Logo.svg?height=628&pad_color=fff&v=1685543984&width=1200"> 3574 <meta property="og:image:width" content="1200"> 3575 <meta property="og:image:height" content="628"><meta name="twitter:card" content="summary_large_image"> 3576<meta name="twitter:title" content="Your Shopping Cart"> 3577<meta name="twitter:description" content="For the strong, sophisticated woman who demands contemporary style with a touch of feminine. Shop a wide selection of timeless and feminine dresses, tops, bottoms, jumpsuits and rompers in luxe fabrics and bold prints. Free Ground Shipping."> 3578 3579
3580<script> 3581 document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
3581 3582 3583
3584<script> 3585 window.shopUrl = 'https://amandauprichard.com'; 3586 window.routes = { 3587 cart_add_url: '/cart/add', 3588 cart_change_url: '/cart/change', 3589 cart_update_url: '/cart/update', 3590 cart_url: '/cart', 3591 predictive_search_url: '/search/suggest', 3592 }; 3593 3594 window.cartStrings = { 3595 error: `There was an error while updating your cart. Please try again.`, 3596 quantityError: `You can only add [quantity] of this item to your cart.`, 3597 }; 3598 3599 window.variantStrings = { 3600 addToCart: `Add to cart`, 3601 soldOut: `Notify me`, 3602 unavailable: `Unavailable`, 3603 }; 3604 3605 window.accessibilityStrings = { 3606 imageAvailable: `Image [index] is now available in gallery view`, 3607 shareSuccess: `Link copied to clipboard`, 3608 pauseSlideshow: `Pause slideshow`, 3609 playSlideshow: `Play slideshow`, 3610 recipientFormExpanded: `Gift card recipient form expanded`, 3611 recipientFormCollapsed: `Gift card recipient form collapsed`, 3612 }; 3613</script>
3613<link 3614 id="MainCssPath" 3615 rel="stylesheet" 3616 href="//amandauprichard.com/cdn/shop/t/440/assets/main.css?v=96105098645232767931790980114" 3617 type="text/css" 3618 media="all">
3619<script 3620 id="MainJsPath" 3621 src="//amandauprichard.com/cdn/shop/t/440/assets/main.js?v=104804841978441525931785280193" 3622 defer="defer"></script>
3622 3623 3624 3625 3626<link 3627 rel="preload" 3628 href="//amandauprichard.com/cdn/shop/t/440/assets/slick.css?v=98340474046176884051772650869" 3629 as="style"> 3630<link rel="stylesheet" href="//amandauprichard.com/cdn/shop/t/440/assets/slick.css?v=98340474046176884051772650869"> 3631<link 3632 rel="preload" 3633 href="//amandauprichard.com/cdn/shop/t/440/assets/slick-theme.css?v=104216087903077498351772650869" 3634 as="style"> 3635<link rel="stylesheet" href="//amandauprichard.com/cdn/shop/t/440/assets/slick-theme.css?v=104216087903077498351772650869"> 3636 3637
3638<script src="//amandauprichard.com/cdn/shop/t/440/assets/vendors.js?v=66062250908021174211772650870" defer="defer"></script>
3638 3639<link href="//amandauprichard.com/cdn/shop/t/440/assets/vendors.css?v=63638970019692681041778847561" rel="stylesheet" type="text/css" media="all" /> 3640<link 3641 rel="preload" 3642 href="//amandauprichard.com/cdn/shop/t/440/assets/cart.css?v=34289991379913557771772650868" 3643 as="style"> 3644 <link href="//amandauprichard.com/cdn/shop/t/440/assets/cart.css?v=34289991379913557771772650868" rel="stylesheet" type="text/css" media="all" /> 3645<!-- Hotjar Tracking Code for https://amandauprichard.com --> 3646<!-- 3647
3647<script>
vendor: 114 bytes, line 3647
3647 (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:
36473824001
vendor: 250 bytes, lines 3647-3651
3647,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; 3648 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 3649 a.appendChild(r); 3650 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); 3651
3651</script>
3651 3652-->
3653<script type="text/javascript"> 3654 (function (c, l, a, r, i, t, y) { 3655 c[a] = 3656 c[a] || 3657 function () { 3658 (c[a].q = c[a].q || []).push(arguments); 3659 }; 3660 t = l.createElement(r); 3661 t.async = 1; 3662 t.src = 'https://www.clarity.ms/tag/' + i; 3663 y = l.getElementsByTagName(r)[0]; 3664 y.parentNode.insertBefore(t, y); 3665 })(window, document, 'clarity', 'script', 'n8rxxtxzpg'); 3666</script>
3666 3667
3667<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
3667<meta name="facebook-domain-verification" content="afzvdlmh4f38g14iu4czg3fh1535z7"> 3668<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/2013874/digital_wallets/dialog"> 3669<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://amandauprichard.com/cart"> 3670<link rel="alternate" hreflang="en" href="https://amandauprichard.com/cart"> 3671<link rel="alternate" hreflang="en-CA" href="https://amandauprichard.com/en-ca/cart"> 3672<link rel="alternate" hreflang="en-AU" href="https://amandauprichard.com/en-au/cart"> 3673<link rel="alternate" hreflang="en-GB" href="https://amandauprichard.com/en-gb/cart"> 3674<link rel="alternate" hreflang="en-SG" href="https://amandauprichard.com/en-sg/cart"> 3675<link rel="alternate" hreflang="en-MX" href="https://amandauprichard.com/en-mx/cart"> 3676<link rel="alternate" hreflang="en-IL" href="https://amandauprichard.com/en-il/cart"> 3677<link rel="alternate" hreflang="en-DE" href="https://amandauprichard.com/en-de/cart">
3678<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=4993351728"></script>
3678 3679<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
3680<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=4993351728&shop_id=2013874" crossorigin="anonymous"></script>
vendor: 1 bytes, line 3680
3680
3681<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":2013874,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/2013874","merchantName":"Amanda Uprichard","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Amanda Uprichard","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 3681
3681
3682<script id="shopify-features" type="application/json">{"accessToken":"fe2cf49819673cc2ca03311276cb32d4","betas":["rich-media-storefront-analytics"],"domain":"amandauprichard.com","predictiveSearch":true,"shopId":2013874,"locale":"en"}</script>
vendor: 1 bytes, line 3682
3682
3683<script>var Shopify = Shopify || {}; 3684Shopify.shop = "amanda-uprichard.myshopify.com"; 3685Shopify.locale = "en"; 3686Shopify.currency = {"active":"USD","rate":"1.0"}; 3687Shopify.country = "US"; 3688Shopify.theme = {"name":"10.01.2026 FALL3 LAUNCH","id":140801736752,"schema_name":"elevated","schema_version":"1.0.0","theme_store_id":null,"role":"main"}; 3689Shopify.theme.handle = "null"; 3690Shopify.theme.style = {"id":null,"handle":null}; 3691Shopify.cdnHost = "amandauprichard.com/cdn"; 3692Shopify.routes = Shopify.routes || {}; 3693Shopify.routes.root = "/"; 3694Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 3695Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 3696Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 3697Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 3697
3697
3698<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 3698
3698
3699<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 3699
3699
3700<script> 3701 window.ShopifyPay = window.ShopifyPay || {}; 3702 window.ShopifyPay.apiHost = "shop.app\/pay"; 3703 window.ShopifyPay.redirectState = null; 3704</script>
vendor: 1 bytes, line 3704
3704
3705<script> 3706 window.Shopify = window.Shopify || {}; 3707 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 3708 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 3709 window.Shopify.SignInWithShop.eligible = true; 3710</script>
vendor: 1 bytes, line 3710
3710
3711<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 3711
3711
3712<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 3712
3712
3713<script type="module"> 3714 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 3715 3716 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 3717 3718</script>
vendor: 1 bytes, line 3718
3718
3719<script> 3720 window.Shopify = window.Shopify || {}; 3721 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 3722 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"]}; 3723</script>
vendor: 1 bytes, line 3723
3723
3724<script>(function() { 3725 var isLoaded = false; 3726 function asyncLoad() { 3727 if (isLoaded) return; 3728 isLoaded = true; 3729 var urls = ["https:\/\/static-us.afterpay.com\/shopify\/afterpay-attract\/afterpay-attract-widget.js?shop=amanda-uprichard.myshopify.com","https:\/\/gdprcdn.b-cdn.net\/js\/gdpr_cookie_consent.min.js?shop=amanda-uprichard.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-d64092fea552c0f902d0aaaff3bc010d.js?shop=amanda-uprichard.myshopify.com","https:\/\/most-viewed-products.herokuapp.com\/app\/main.min.js?shop=amanda-uprichard.myshopify.com","https:\/\/app.kiwisizing.com\/web\/js\/dist\/kiwiSizing\/plugin\/SizingPlugin.prod.js?v=340\u0026shop=amanda-uprichard.myshopify.com","https:\/\/cdn.jsdelivr.net\/gh\/zahidsattarahmed\/storeview@latest\/newtrackingscript.js?shop=amanda-uprichard.myshopify.com","https:\/\/cdn.attn.tv\/amandauprichard\/dtag.js?shop=amanda-uprichard.myshopify.com","\/\/backinstock.useamp.com\/widget\/13878_1783058631.js?category=bis\u0026v=6\u0026shop=amanda-uprichard.myshopify.com","https:\/\/app.kiwisizing.com\/web\/js\/dist\/kiwiSizing\/plugin\/SizingPlugin.prod.js?v=340\u0026shop=amanda-uprichard.myshopify.com"]; 3730 for (var i = 0; i < urls.length; i++) { 3731 var s = document.createElement('script'); 3732 s.type = 'text/javascript'; 3733 s.async = true; 3734 s.src = urls[i]; 3735 var x = document.getElementsByTagName('script')[0]; 3736 x.parentNode.insertBefore(s, x); 3737 } 3738 }; 3739 if(window.attachEvent) { 3740 window.attachEvent('onload', asyncLoad); 3741 } else { 3742 window.addEventListener('load', asyncLoad, false); 3743 } 3744})();</script>
vendor: 1 bytes, line 3744
3744
3745<script id="__st">var __st={"a":2013874,"offset":-14400,"reqid":"2ceef85d-396d-476e-b0f6-06a981d15580-1791058603","pageurl":"amandauprichard.com\/cart","u":"4bb60b636d49","p":"cart"};</script>
vendor: 1 bytes, line 3745
3745
3746<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 3746
3746
3747<script id="form-persister">!function(){'use strict';const t='contact',e='new_comment',n=[[t,t],['blogs',e],['comments',e],[t,'customer']],o='password',r='form_key',c=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',o],s=()=>{try{return window.sessionStorage}catch{return}},i='__shopify_v',u=t=>t.elements[r],a=function(){const t=[...n].map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');var e;return e=t,()=>e?[...document.querySelectorAll(e)].map((t=>t.form)):[]}();function m(t){const e=u(t);a().includes(t)&&(!e||!e.value)&&function(t){try{if(!s())return;!function(t){const e=s();if(!e)return;const n=u(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){u(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:r})),t.elements[r].value=e}(t,e),function(t,e){const n=s();if(!n)return;const r=[...t.querySelectorAll(`input[type='${o}']`)].map((({name:t})=>t)),u=[...c,...r],a={};for(const[o,c]of new FormData(t).entries())u.includes(o)||(a[o]=c);n.setItem(e,JSON.stringify({[i]:1,action:t.action,data:a}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(t)}const f=t=>{if('true'===t.dataset.persistBound)return;const e=function(t,e){const n=function(t){return'function'==typeof t.submit?t.submit:HTMLFormElement.prototype.submit}(t).bind(t);return function(){let t;return()=>{t||(t=!0,(()=>{try{e(),n()}catch(t){(t=>{console.error('form submit failed',t)})(t)}})(),setTimeout((()=>t=!1),250))}}()}(t,(()=>{m(t)}));!function(t,e){if('function'==typeof t.submit&&'function'==typeof e)try{t.submit=e}catch{}}(t,e),t.addEventListener('submit',(t=>{t.preventDefault(),e()})),t.dataset.persistBound='true'};!function(){function t(t){const e=(t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form})(t);e&&m(e)}document.addEventListener('submit',t),document.addEventListener('DOMContentLoaded',(()=>{const e=a();for(const t of e)f(t);var n;n=document.body,new window.MutationObserver((t=>{for(const e of t)if('childList'===e.type&&e.addedNodes.length)for(const t of e.addedNodes)1===t.nodeType&&'FORM'===t.tagName&&a().includes(t)&&f(t)})).observe(n,{childList:!0,subtree:!0,attributes:!1}),document.removeEventListener('submit',t)}))}()}();</script>
vendor: 1 bytes, line 3747
3747
3748<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//amandauprichard.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 3748
3748
3749<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 = "//amandauprichard.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>
3749<script crossorigin="anonymous" defer="defer" src="//amandauprichard.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 3749
3749
3750<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 3750
3750
3751<script> 3752 window.Shopify = window.Shopify || {}; 3753 window.Shopify.MCP = window.Shopify.MCP || {}; 3754 window.Shopify.MCP.enabled = true; 3755 window.Shopify.MCP.shop = "amanda-uprichard.myshopify.com"; 3756 window.Shopify.MCP.mcpEndpoint = "https:\/\/amandauprichard.com\/api\/mcp"; 3757 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"]}}]; 3758</script>
vendor: 1 bytes, line 3758
3758
3759<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("\/\/amandauprichard.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 3760</script>
vendor: 1 bytes, line 3760
3760
3761<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://amandauprichard.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 3762</script>
vendor: 1 bytes, line 3762
3762
3763<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 3764 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); 3765</script>
vendor: 1 bytes, line 3765
3765
3766<script> 3767 function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule); 3768</script>
3768 3769
3770<script type="module" src="https://amandauprichard.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 3770
3770
3771<script nomodule> 3772 document.addEventListener("DOMContentLoaded", portableWalletsCleanup); 3773</script>
3773 3774 3775<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://amandauprichard.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 3776<style id="shopify-accelerated-checkout-cart"> 3777 #shopify-buyer-consent { 3778 margin-top: 1em; 3779 display: inline-block; 3780 width: 100%; 3781} 3782 3783#shopify-buyer-consent.hidden { 3784 display: none; 3785} 3786 3787#shopify-subscription-policy-button { 3788 background: none; 3789 border: none; 3790 padding: 0; 3791 text-decoration: underline; 3792 font-size: inherit; 3793 cursor: pointer; 3794} 3795 3796#shopify-subscription-policy-button::before { 3797 box-shadow: none; 3798} 3799 3800 </style> 3801<link rel="stylesheet" media="screen" href="//amandauprichard.com/cdn/shop/t/440/compiled_assets/styles.css?v=22164914429768354121786746363">
3802<script id="sections-script" data-sections="footer" defer="defer" src="//amandauprichard.com/cdn/shop/t/440/compiled_assets/scripts.js?v=47655001760864444051772650913"></script>
vendor: 1 bytes, line 3802
3802
3803<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
3803 3804 3805
3805<script src="//amandauprichard.com/cdn/shop/t/440/assets/variable-products.js?v=5203564409516830401772650869" type="text/javascript" defer></script>
3805 3806 3807 3808
3808<script src="//amandauprichard.com/cdn/shop/t/440/assets/jquery.min.js?v=81049236547974671631772650868"></script>
3808 3809 3810 3811 3812 3813 <style> 3814 input, textarea, select { 3815 font-size: 16px; 3816 -webkit-text-size-adjust: 100%; 3817 } 3818 </style> 3819 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
3820<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: 2013874,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};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 3820
3820
3821<script> 3822 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 3823</script>
vendor: 1 bytes, line 3823
3823
3824<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}
3824).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: 2013874,storefrontBaseUrl: "https://amandauprichard.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://amandauprichard.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2809004080","configuration":"{\"tagID\":\"2615995517890\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"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"}
3824,{"id":"1608712240","configuration":"{\"accountID\":\"123\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"848c306667aa9461e745ee85952411fb","type":"APP","apiClientId":4415147,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"942407728","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"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":"695992368","configuration":"{\"shop\":\"amanda-uprichard.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":"514293808","configuration":"{\"accountID\": \"dynasort-pixel\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9804dedb168f741a8c22922a900aa16f","type":"APP","apiClientId":6978001,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"485851184","configuration":"{\"shopDomain\":\"amanda-uprichard.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1cc50c06a2fd060c142979e7a3df92db","type":"APP","apiClientId":2436932,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"140214320","configuration":"{\"pixel_id\":\"1938935653019714\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"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","enabledFlags":["9a3ed68a"]},{"id":"11042864","configuration":"{\"myshopifyDomain\":\"amanda-uprichard.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"23b97d18e2aa74363140dc29c9284e87","type":"APP","apiClientId":2775569,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2392112","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"tiktok"},{"id":"31686704","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"33","type":"CUSTOM","privacyPurposes":[],"name":"Datalayer"},{"id":"37814320","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"cj-network-integration-pixel"}
3824,{"id":"107511856","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"],"name":"Hotjar custom pixel"},{"id":"162529328","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"],"name":"CAKE"},{"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":"Amanda Uprichard","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"amanda-uprichard.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/amandauprichard.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://amandauprichard.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"140801736752","themePublished":"true","eventMetadataId":"9b1f33b8-4a26-433d-884f-d0ea2cf6617d","pageType":"cart","shopId":"2013874","storefrontBaseUrl":"https:\/\/amandauprichard.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
3824<script> 3825 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 3826 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 3827 window.ShopifyAnalytics.meta.currency = 'USD'; 3828 var meta = {"page":{"pageType":"cart","requestId":"2ceef85d-396d-476e-b0f6-06a981d15580-1791058603"}}; 3829 for (var attr in meta) { 3830 window.ShopifyAnalytics.meta[attr] = meta[attr]; 3831 } 3832</script>
vendor: 1 bytes, line 3832
3832
3833<script class="analytics"> 3834 (function () { 3835 var customDocumentWrite = function(content) { 3836 var jquery = null; 3837 3838 if (window.jQuery) { 3839 jquery = window.jQuery; 3840 } else if (window.Checkout && window.Checkout.$) { 3841 jquery = window.Checkout.$; 3842 } 3843 3844 if (jquery) { 3845 jquery('body').append(content); 3846 } 3847 }; 3848 3849 var hasLoggedConversion = function(token) { 3850 if (token) { 3851 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 3852 } 3853 return false; 3854 } 3855 3856 var setCookieIfConversion = function(token) { 3857 if (token) { 3858 var twoMonthsFromNow = new Date(Date.now()); 3859 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 3860 3861 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 3862 } 3863 } 3864 3865 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 3866 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 3867 if (trekkie.integrations) { 3868 return; 3869 } 3870 trekkie.methods = [ 3871 'identify', 3872 'page', 3873 'ready', 3874 'track', 3875 'trackForm', 3876 'trackLink' 3877 ]; 3878 trekkie.factory = function(method) { 3879 return function() { 3880 var args = Array.prototype.slice.call(arguments); 3881 args.unshift(method); 3882 trekkie.push(args); 3883 if (method == 'track' || method == 'page') { 3884 var pageUrl; 3885 try { 3886 pageUrl = window.location.href; 3887 } catch (e) {} 3888 var pageReferrer; 3889 try { 3890 pageReferrer = document.referrer; 3891 } catch (e) {} 3892 try { 3893 if (window.__TREKKIE_SHIM_QUEUE == null) { 3894 window.__TREKKIE_SHIM_QUEUE = []; 3895 } 3896 window.__TREKKIE_SHIM_QUEUE.push({ 3897 from: 'trekkie-stub', 3898 method: method, 3899 args: args.slice(1), 3900 pageContext: { 3901 url: pageUrl, 3902 referrer: pageReferrer 3903 } 3904 }); 3905 } catch (e) { 3906 // no-op 3907 } 3908 } 3909 return trekkie; 3910 }; 3911 }; 3912 for (var i = 0; i < trekkie.methods.length; i++) { 3913 var key = trekkie.methods[i]; 3914 trekkie[key] = trekkie.factory(key); 3915 } 3916 trekkie.load = function(config) { 3917 trekkie.config = config || {}; 3918 trekkie.config.initialDocumentCookie = document.cookie; 3919 var first = document.getElementsByTagName('script')[0]; 3920var script = document.createElement('script'); 3921script.type = 'text/javascript'; 3922script.onerror = function(e) { 3923 var scriptFallback = document.createElement('script'); 3924 scriptFallback.type = 'text/javascript'; 3925 scriptFallback.onerror = function(error) { 3926 var Monorail = { 3927 produce: function produce(monorailDomain, schemaId, payload) { 3928 var currentMs = new Date().getTime(); 3929 var event = { 3930 schema_id: schemaId, 3931 payload: payload, 3932 metadata: { 3933 event_created_at_ms: currentMs, 3934 event_sent_at_ms: currentMs 3935 } 3936 }; 3937 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 3938 }, 3939 sendRequest: function sendRequest(endpointUrl, payload) { 3940 // Try the sendBeacon API 3941 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 3942 var blobData = new window.Blob([payload], { 3943 type: 'text/plain' 3944 }); 3945 3946 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 3947 return true; 3948 } // sendBeacon was not successful 3949 3950 } // XHR beacon 3951 3952 var xhr = new XMLHttpRequest(); 3953 3954 try { 3955 xhr.open('POST', endpointUrl); 3956 xhr.setRequestHeader('Content-Type', 'text/plain'); 3957 xhr.send(payload); 3958 } catch (e) { 3959 console.log(e); 3960 } 3961 3962 return false; 3963 }, 3964 isIos12: function isIos12() { 3965 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 3966 } 3967 }; 3968 Monorail.produce('monorail-edge.shopifysvc.com', 3969 'trekkie_storefront_load_errors/1.1', 3970 {shop_id: 2013874, 3971 theme_id: 140801736752, 3972 app_name: "storefront", 3973 context_url: window.location.href, 3974 source_url: "//amandauprichard.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 3975 3976 }; 3977 scriptFallback.async = true; 3978 scriptFallback.src = '//amandauprichard.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 3979 first.parentNode.insertBefore(scriptFallback, first); 3980}; 3981script.async = true; 3982script.src = '//amandauprichard.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 3983first.parentNode.insertBefore(script, first); 3984 3985 }; 3986 trekkie.load( 3987 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":2013874,"isMerchantRequest":null,"themeId":14
39870801736752,"themeCityHash":"777948478251267587","contentLanguage":"en","currency":"USD","eventMetadataId":"9b1f33b8-4a26-433d-884f-d0ea2cf6617d"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 3988 ); 3989 3990 var loaded = false; 3991 trekkie.ready(function() { 3992 if (loaded) return; 3993 loaded = true; 3994 3995 window.ShopifyAnalytics.lib = window.trekkie; 3996 3997 var originalDocumentWrite = document.write; 3998 document.write = customDocumentWrite; 3999 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 4000 document.write = originalDocumentWrite; 4001 4002 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 4003 var token = match? match[1]: undefined; 4004 if (!hasLoggedConversion(token)) { 4005 setCookieIfConversion(token); 4006 4007 } 4008 }); 4009 4010 window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"2ceef85d-396d-476e-b0f6-06a981d15580-1791058603","shopifyEmitted":true}); 4011 4012 var eventsListenerScript = document.createElement('script'); 4013 eventsListenerScript.async = true; 4014 eventsListenerScript.src = "//amandauprichard.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 4015 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 4016})();</script>
vendor: 1 bytes, line 4016
4016
4017<script 4018 defer 4019 src="https://amandauprichard.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 4020 data-application="storefront-renderer" 4021 data-shop-id="2013874" 4022 data-render-region="gcp-us-central1" 4023 data-page-type="cart" 4024 data-theme-instance-id="140801736752" 4025 data-theme-name="elevated" 4026 data-theme-version="1.0.0" 4027 data-monorail-region="shop_domain" 4028 data-resource-timing-sampling-rate="10" 4029 data-shs="true" 4030 data-shs-beacon="true" 4031 data-shs-export-with-fetch="true" 4032 data-shs-logs-sample-rate="1" 4033 data-shs-beacon-endpoint="https://amandauprichard.com/api/collect" 4034></script>
4034 4035<meta name="shopify-y" content="9c623397-e2f4-4980-bdf5-0118310648d1" data-expiration="1822616203000"><meta name="shopify-s" content="aef4be02-ea8a-4141-a3fb-0d31c8d06849" data-expiration="1791060403000"><meta name="new-cookie-storage-activated" content="t"> 4036</head> 4037 4038 <body class="template-cart"> 4039 <!-- Google Tag Manager (noscript) -->
vendor: 87 bytes, lines 4039-4042
4039 4040 <noscript> 4041 <iframe 4042 src="https://www.googletagmanager.com/ns.html?id=
4042GTM-TF49KH66
vendor: 123 bytes, lines 4042-4048
4042" 4043 height="0" 4044 width="0" 4045 style="display:none;visibility:hidden" 4046 ></iframe> 4047 </noscript> 4048
4048<!-- End Google Tag Manager (noscript) --> 4049 4050 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 4051 Skip to content 4052 </a> 4053 4054 <div id="shopify-section-announcement-bar" class="shopify-section section-announcement-bar"><div 4055 class=" announcement-bar announcement-bar--announcement-bar alignment--left mobile-text-center" 4056 role="region" 4057 style="background-color: #efe8e3; color: #414142;" 4058 > 4059 <div class="announcement-slider" role="region" 4060 aria-label="Store announcements"> 4061<p 4062 class="announcement-bar__item text-left mobile-text-center index-1" 4063 id="block-announcement_Lpx8AX" 4064 data-autoplay-speed="5000" 4065 aria-label="Announcement" 4066 4067 > 4068 <a href="/collections/new-arrivals2" class="link-styled--reverse" style="letter-spacing:2px;"> 4069 We See You, October. Shop New Arrivals 4070 </a> 4071 </p> 4072 4073<p 4074 class="announcement-bar__item text-left mobile-text-center index-2" 4075 id="block-announcement_xnQVWd" 4076 data-autoplay-speed="5000" 4077 aria-label="Announcement" 4078 4079 > 4080 <a href="/collections/matching-sets" class="link-styled--reverse" style="letter-spacing:2px;"> 4081 Better Together: Shop Matching Sets 4082 </a> 4083 </p> 4084</div> 4085 <button 4086 class="announcement-toggle" 4087 aria-label="Pause announcements" 4088 aria-pressed="false" 4089 > 4090 <span class="icon-play"> 4091 4092<svg 4093 class="icon icon--play" 4094 width="30" 4095 height="30" 4096 viewBox="0 0 48 48" 4097 xmlns="http://www.w3.org/2000/svg"><path d="M0 0h48v48H0z" fill="none" /><path class="fill-container" d="M20 33l12-9-12-9v18zm4-29C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.82 0-16-7.18-16-16S15.18 8 24 8s16 7.18 16 16-7.18 16-16 16z" /></svg> 4098 </span> 4099 <span class="icon-pause"> 4100 4101<svg 4102 class="icon icon--pause" 4103 width="30" 4104 height="30" 4105 viewBox="0 0 30 30" 4106 xmlns="http://www.w3.org/2000/svg"><title/><g data-name="Layer 2" id="Layer_2"><g id="Interface-Solid"><g id="interface-solid-multimedia-pause-button-1"><path d="M15,2.5A12.5,12.5,0,1,0,27.5,15,12.51408,12.51408,0,0,0,15,2.5ZM13.30371,18.92871a1.25,1.25,0,0,1-2.5,0V11.07129a1.25,1.25,0,0,1,2.5,0Zm5.89258,0a1.25,1.25,0,0,1-2.5,0V11.07129a1.25,1.25,0,0,1,2.5,0Z" fill="none" /><path d="M15,0A15,15,0,1,0,30,15,15.01672,15.01672,0,0,0,15,0Zm0,27.5A12.5,12.5,0,1,1,27.5,15,12.51408,12.51408,0,0,1,15,27.5Z" /><path d="M12.05371,9.82129a1.24991,1.24991,0,0,0-1.25,1.25v7.85742a1.25,1.25,0,0,0,2.5,0V11.07129A1.24991,1.24991,0,0,0,12.05371,9.82129Z" /><path d="M17.94629,9.82129a1.24991,1.24991,0,0,0-1.25,1.25v7.85742a1.25,1.25,0,0,0,2.5,0V11.07129A1.24991,1.24991,0,0,0,17.94629,9.82129Z" /></g> 4107 </g> 4108 </g> 4109</svg> 4110 </span> 4111 </button> 4112 </div> 4113 4114
4114<script> 4115 (function () { 4116 function parseCountdownDate(str) { 4117 if (!str || typeof str !== 'string') return null; 4118 4119 var parts = str.trim().split(/\s+/); 4120 var datePart = parts[0].split('/'); 4121 var timePart = (parts[1] || '00:00:00').split(':'); 4122 4123 var month = parseInt(datePart[0], 10) - 1; 4124 var day = parseInt(datePart[1], 10); 4125 var year = parseInt(datePart[2], 10); 4126 var hour = parseInt(timePart[0], 10) || 0; 4127 var minute = parseInt(timePart[1], 10) || 0; 4128 var second = parseInt(timePart[2], 10) || 0; 4129 4130 return new Date(year, month, day, hour, minute, second); 4131 } 4132 4133 function initCountdown(el) { 4134 var countdownDateStr = el.getAttribute('data-countdown'); 4135 var countdownMode = el.getAttribute('data-countdown-mode') || 'minutes'; 4136 var beforeText = el.getAttribute('data-before-text') || ''; 4137 var afterText = el.getAttribute('data-after-text') || ''; 4138 4139 var endDate = parseCountdownDate(countdownDateStr); 4140 4141 if (!endDate || isNaN(endDate.getTime())) return; 4142 4143 function update() { 4144 var now = new Date(); 4145 var diffMs = endDate.getTime() - now.getTime(); 4146 4147 if (diffMs <= 0) { 4148 el.textContent = beforeText + ' Countdown Expired ' + afterText; 4149 clearInterval(interval); 4150 return; 4151 } 4152 4153 var totalSeconds = Math.floor(diffMs / 1000); 4154 var totalMinutes = Math.floor(totalSeconds / 60); 4155 var minutes = totalMinutes % 60; 4156 var totalHours = Math.floor(totalMinutes / 60); 4157 var hours = totalHours % 24; 4158 var days = Math.floor(totalHours / 24); 4159 4160 var text = beforeText ? beforeText + ' ' : ''; 4161 4162 if (countdownMode === 'days') { 4163 text += 4164 days + ' ' + (days === 1 ? 'day' : 'days') + ' ' + 4165 hours + ' ' + (hours === 1 ? 'hr' : 'hrs') + ' ' + 4166 minutes + ' ' + (minutes === 1 ? 'min' : 'mins'); 4167 4168 } else if (countdownMode === 'hours') { 4169 text += 4170 totalHours + ' ' + (totalHours === 1 ? 'hr' : 'hrs') + ' ' + 4171 minutes + ' ' + (minutes === 1 ? 'min' : 'mins'); 4172 4173 } else { 4174 text += 4175 totalMinutes + ' ' + (totalMinutes === 1 ? 'min' : 'mins'); 4176 } 4177 4178 if (afterText) { 4179 text += ' ' + afterText; 4180 } 4181 4182 el.textContent = text; 4183 } 4184 4185 var interval = setInterval(update, 1000); 4186 update(); 4187 } 4188 4189 document.addEventListener('DOMContentLoaded', function () { 4190 document 4191 .querySelectorAll('.announcement-bar__item__countdown[data-countdown]') 4192 .forEach(initCountdown); 4193 }); 4194 })(); 4195</script>
4195 4196 4197 <style> 4198 .announcement-bar { 4199 position: relative; 4200} 4201 4202/* button base */ 4203.announcement-toggle { 4204 position: absolute; 4205 right: 12px; 4206 top: 8px; 4207 width: 25px; 4208 height: 15px; 4209 background: none; 4210 padding:0; 4211 border: none; 4212 display: flex; 4213 align-items: center; 4214 justify-content: center; 4215 cursor: pointer; 4216 4217 opacity: 0; 4218 pointer-events: none; 4219 transition: all 0.2s ease; 4220} 4221 4222/* show on focus / hover */ 4223.announcement-bar:focus-within .announcement-toggle, 4224.announcement-bar:hover .announcement-toggle { 4225 opacity: 1; 4226 pointer-events: auto; 4227} 4228 4229 /* icons */ 4230 .announcement-toggle svg { 4231 width: 25px; 4232 height: 15px; 4233 fill: #fff; 4234 } 4235 4236 /* toggle states */ 4237 .announcement-toggle .icon-play { 4238 display: none; 4239 width: 28px; 4240 height: 28px; 4241 } 4242 4243 .announcement-toggle.paused .icon-play { 4244 display: block; 4245 } 4246 4247 .announcement-toggle.paused .icon-pause { 4248 display: none; 4249 } 4250 4251 .announcement-bar--announcement-bar .announcement-bar__item { 4252 font-size: 10px; 4253 color: #414142; 4254 font-weight: 400; 4255 margin : 0; 4256 } 4257 .announcement-bar--announcement-bar .announcement-bar__item a, 4258 .announcement-bar--announcement-bar .announcement-bar__item__countdown { 4259 color: inherit; 4260 font-size: inherit; 4261 font-weight: inherit; 4262 margin-bottom: 0.25em; 4263 } 4264 4265 4266 @media (max-width: 768px) { 4267 .announcement-bar--announcement-bar .announcement-bar__item { 4268 font-size: 10px; 4269 } 4270 } 4271 4272 .announcement-slider:not(.slick-initialized) .announcement-bar__item + .announcement-bar__item { 4273 display: none !important; 4274 } 4275 4276 .section-announcement-bar .text-center, 4277 .section-announcement-bar .mobile-text-center { 4278 width: 100%; 4279 } 4280 4281 .announcement-slider { 4282 overflow: hidden; 4283 } 4284 4285 .announcement-slider.slick-initialized .slick-slide { 4286 display: block; 4287 } 4288 4289 /* Prevent overlapping text when fade mode is active */ 4290 .announcement-slider.announcement-slider--fade.slick-initialized .slick-slide { 4291 opacity: 0; 4292 visibility: hidden; 4293 transition: opacity 800ms ease-in-out, 4294 visibility 0s linear 800ms; 4295 } 4296 4297 .announcement-slider.announcement-slider--fade.slick-initialized .slick-slide.slick-active { 4298 opacity: 1; 4299 visibility: visible; 4300 transition: opacity 800ms ease-in-out; 4301 } 4302 4303 @media (prefers-reduced-motion: reduce) { 4304 .announcement-slider.slick-initialized { 4305 transition: none !important; 4306 } 4307 } 4308 </style> 4309 4310
4310<script defer="defer"> 4311 document.addEventListener('DOMContentLoaded', function () { 4312 var sliders = document.querySelectorAll('.announcement-slider'); 4313 if (sliders.length && typeof $ !== 'undefined') { 4314 var defaultAutoplaySpeed = parseInt('0', 10) || 3000; 4315 var transitionSpeed = parseInt('800', 10) || 400; 4316 var isFade = 'fade' === 'fade'; 4317 var isVertical = !isFade && 'horizontal' === 'vertical'; 4318 4319 if (isFade) { 4320 $(sliders).addClass('announcement-slider--fade'); 4321 } 4322 4323 $(sliders).slick({ 4324 dots: false, 4325 arrows: false, 4326 infinite: true, 4327 autoplay: true, 4328 autoplaySpeed: defaultAutoplaySpeed, 4329 speed: transitionSpeed, 4330 fade: isFade, 4331 vertical: isVertical, 4332 verticalSwiping: isVertical, 4333 slidesToShow: 1, 4334 slidesToScroll: 1, 4335 cssEase: 'ease-in-out', 4336 }); 4337 4338 $(sliders).on('beforeChange', function (event, slick, currentSlide, nextSlide) { 4339 var $nextSlide = $(slick.$slides[nextSlide]); 4340 var perSlideSpeed = parseInt($nextSlide.find('.announcement-bar__item').data('autoplay-speed'), 10); 4341 if (perSlideSpeed > 0) { 4342 slick.options.autoplaySpeed = perSlideSpeed; 4343 } else { 4344 slick.options.autoplaySpeed = defaultAutoplaySpeed; 4345 } 4346 }); 4347 } 4348 4349 4350 4351 4352 document.querySelectorAll('.announcement-toggle').forEach(function(btn) { 4353 var slider = document.querySelector('.announcement-slider'); 4354 if (!slider || typeof $ === 'undefined') return; 4355 4356 var isPaused = false; 4357 4358 btn.addEventListener('click', function () { 4359 4360 if (!isPaused) { 4361 $(slider).slick('slickPause'); 4362 btn.classList.add('paused'); 4363 btn.setAttribute('aria-label', 'Play announcements'); 4364 btn.setAttribute('aria-pressed', 'true'); 4365 } else { 4366 $(slider).slick('slickPlay'); 4367 btn.classList.remove('paused'); 4368 btn.setAttribute('aria-label', 'Pause announcements'); 4369 btn.setAttribute('aria-pressed', 'false'); 4370 } 4371 4372 isPaused = !isPaused; 4373 }); 4374 }); 4375 4376 }); 4377 </script>
4377 4378<style> @media screen and (min-width: 769px) {#shopify-section-announcement-bar .announcement-bar__item {border: none !important; }} </style></div> 4379 <div id="shopify-section-header" class="shopify-section section-header"> 4380<style data-shopify>@font-face { 4381 font-family: 'GrandCentral'; 4382 src: url("//amandauprichard.com/cdn/shop/t/440/assets/GrandCentral-Bold.woff2?v=45620692959433125951772650867") format('woff2'), 4383 url("//amandauprichard.com/cdn/shop/t/440/assets/GrandCentral-Bold.woff?v=51970192530671005021772650867") format('woff'); 4384 font-weight: bold; 4385 font-style: normal; 4386 font-display: swap; 4387} 4388 4389@font-face { 4390 font-family: 'GrandCentral'; 4391 src: url("GrandCentral-Light.woff2") format('woff2'), 4392 url("//amandauprichard.com/cdn/shop/t/440/assets/GrandCentral-Light.woff?v=66376308503693911731772650868") format('woff'); 4393 font-weight: 300; 4394 font-style: normal; 4395 font-display: swap; 4396 } 4397 .header .site-logo img { 4398 max-width: 120px; 4399 } 4400 4401 @media screen and (min-width: 769px) { 4402 .header .site-logo img { 4403 max-width: 140px; 4404 } 4405 }</style> 4406 4407<header class=" header header-layout--logo_left header-style--default flex jcb"> 4408<div class="site-logo"><a href="/" class="flex jcc aic"><img src="//amandauprichard.com/cdn/shop/files/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911" alt="Amanda Uprichard" srcset="//amandauprichard.com/cdn/shop/files/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911&width=50 50w, //amandauprichard.com/cdn/shop/files/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911&width=100 100w, //amandauprichard.com/cdn/shop/files/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911&width=150 150w, //amandauprichard.com/cdn/shop/files/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911&width=200 200w, //amandauprichard.com/cdn/shop/files/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911&width=250 250w, //amandauprichard.com/cdn/shop/files/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911&width=300 300w, //amandauprichard.com/cdn/shop/files/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911&width=400 400w, //amandauprichard.com/cdn/shop/files/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911&width=500 500w" width="892" height="23.228699551569505" class="header__heading-logo"> 4409</a></div><div class="header__menu"> 4410 <div id="Details-Menu-Trigger" class="mobile-menu details"> 4411 <button 4412 aria-label="Toggle mobile menu" 4413 class="mmenu__hamburger hamburger summary" 4414 > 4415 4416<svg 4417 class="icon icon--hamburger" 4418 width="15" 4419 height="12" 4420 viewBox="0 0 15 12" 4421 fill="none" 4422 xmlns="http://www.w3.org/2000/svg"> 4423 <line 4424 y1="0.350195" 4425 x2="15" 4426 y2="0.350195" 4427 stroke="currentColor" 4428 stroke-width="0.7" /> 4429 <line 4430 y1="5.7502" 4431 x2="15" 4432 y2="5.7502" 4433 stroke="currentColor" 4434 stroke-width="0.7" /> 4435 <line 4436 y1="11.3502" 4437 x2="15" 4438 y2="11.3502" 4439 stroke="currentColor" 4440 stroke-width="0.7" /> 4441</svg> 4442 </button> 4443 <a 4444 href="/account/login" 4445 class="account link-styled--reverse " 4446 > 4447 <span> <svg fill="#000000" width="16px" height="16px" viewBox="0 0 30 30" id="_03_-_Account" data-name="03 - Account" xmlns="http://www.w3.org/2000/svg"> 4448 <path id="Path_217" data-name="Path 217" d="M16,1a8,8,0,1,0,8,8A8,8,0,0,0,16,1Zm0,2a6,6,0,1,1-6,6A6,6,0,0,1,16,3Z" transform="translate(-1 -1)" fill-rule="evenodd"/> 4449 <path id="Path_218" data-name="Path 218" d="M16,19.2c-5.657,0-10.558,1.175-13,2.82A3.865,3.865,0,0,0,1,25.1a3.865,3.865,0,0,0,2,3.08C5.442,29.825,10.343,31,16,31s10.558-1.175,13-2.82a3.865,3.865,0,0,0,2-3.08,3.865,3.865,0,0,0-2-3.08C26.558,20.375,21.657,19.2,16,19.2Zm0,2a26.973,26.973,0,0,1,10.867,1.909,5.8,5.8,0,0,1,1.694,1.132,1.06,1.06,0,0,1,0,1.718,5.8,5.8,0,0,1-1.694,1.132A26.973,26.973,0,0,1,16,29,26.973,26.973,0,0,1,5.133,27.091a5.8,5.8,0,0,1-1.694-1.132,1.06,1.06,0,0,1,0-1.718,5.8,5.8,0,0,1,1.694-1.132A26.973,26.973,0,0,1,16,21.2Z" transform="translate(-1 -1)" fill-rule="evenodd"/> 4450 </svg> </span> 4451 </a> 4452 <div id="menu-drawer" class="mmenu-drawer drawer drawer--left mmenu-drawer drawer" role="dialog" aria-modal="true" aria-labelledby="mobile-menu-title"> 4453 4454 <div class="overlay drawer-close mmenu__close"></div> 4455 <h2 id="mobile-menu-title" class="visually-hidden">Main Navigation</h2> 4456 <div class="drawer__container"> 4457 4458 <div class="mmenu__header flex jce aic"> 4459 <button 4460 type="button" 4461 class="mmenu__close drawer-close btn btn--unstyled" 4462 aria-label="Close" 4463 > 4464 4465<svg 4466 class="icon icon--close" 4467 width="24" 4468 height="24"
4469 viewBox="0 0 24 24" 4470 fill="none" 4471 xmlns="http://www.w3.org/2000/svg"><path 4472 d="M6 18L18 6M6 6L18 18" 4473 stroke="#171717" 4474 stroke-width="1.67" 4475 stroke-linecap="round" 4476 stroke-linejoin="round" /></svg> 4477 </button> 4478 </div> 4479 4480 4481<div class="site-menu"> 4482 <div class="mobileimg"> 4483 <a href="/collections/new-arrivals2"> 4484 <img 4485 src="//amandauprichard.com/cdn/shop/files/MobileDropdown_3fae8bc8-eb4d-45ff-9ce9-6a01521b793f.jpg?v=1790781765" 4486 width="1332" 4487 height="780" 4488 alt="Amanda Uprichard Fall3 Launch MOBILE NAV Image"> 4489 </a> 4490 </div> 4491 4492 4493 <ul class="list-unstyled flex primary-links" role="list"><li class="single-menu"><a 4494 href="/collections/new-arrivals2" 4495 class="link-styled--reverse menu-item" 4496 > 4497 New Arrivals 4498 </a></li><li class="has-submenu"> 4499 <div 4500 id="Details-Submenu" 4501 class="details details-active dropdown--level-0 details--desktop mobile--only " 4502 open> 4503 4504 4505 <div class="summary-anchor summary"> 4506 <a 4507 href="/collections/all-dresses" 4508 class="link-styled--reverse menu-item main-nav-link " 4509 > 4510 Dresses 4511 </a> 4512 4513 <button 4514 class="toggle-btn" 4515 aria-controls="dresses" 4516 aria-expanded="false"> 4517 <svg 4518 xmlns="http://www.w3.org/2000/svg" 4519 xmlns:xlink="http://www.w3.org/1999/xlink" 4520 version="1.1" 4521 x="0px" 4522 y="0px"
4523 viewBox="0 0 100 100" 4524 enable-background="new 0 0 100 100" 4525 xml:space="preserve"> 4526 <path d="M50.035,54.243L37.307,41.515c-0.781-0.781-2.047-0.781-2.828,0c-0.781,0.781-0.781,2.047,0,2.828l14.142,14.142 c0.781,0.781,2.047,0.781,2.828,0l14.143-14.142c0.391-0.391,0.586-0.902,0.586-1.414s-0.195-1.023-0.586-1.414 c-0.781-0.781-2.047-0.781-2.828,0L50.035,54.243z" /> 4527 </svg> 4528 <svg 4529 id="Layer_1" 4530 data-name="Layer 1" 4531 xmlns="http://www.w3.org/2000/svg" 4532 version="1.1" 4533 viewBox="0 0 16 12" 4534 role="img" 4535 aria-labelledby="caret-svg-label-2" 4536 style="display: none;"> 4537 <title id="caret-svg-label-2">caret</title> 4538 <defs> 4539 <style> 4540 .cls-1 { 4541 fill: #000; 4542 stroke-width: 0; 4543 } 4544 </style> 4545 </defs> 4546 <path class="cls-1" d="M2.8,2.6h10.4c.7,0,1.1.9.6,1.4l-5.2,5.2c-.3.3-.8.3-1.1,0L2.2,4c-.5-.5-.1-1.4.6-1.4Z" /> 4547 </svg> 4548 <span class="visually-hidden">Dresses submenu</span> 4549 </button> 4550 </div> 4551 4552 <div class="single-dropdown hide details__content " id="dresses"> 4553 <ul 4554 class="site-menu__submenu list-unstyled secondary-links flex jcc details__content-inner" 4555 role="list" 4556 tabindex="-1"> 4557 4558 <ul class="childlink-levels 4559 "><li class=""><a 4560 href="/collections/mini-dresses" 4561 class="link-styled--reverse menu-item" 4562 > 4563 Mini Dresses 4564 </a></li><li class=""><a 4565 href="/collections/midi-dresses" 4566 class="link-styled--reverse menu-item" 4567 > 4568 Midi Dresses 4569 </a></li><li class=""><a 4570 href="/collections/gowns" 4571 class="link-styled--reverse menu-item" 4572 > 4573 Maxi Dresses 4574 </a></li><li class=""><a 4575 href="/collections/homecoming" 4576 class="link-styled--reverse menu-item" 4577 > 4578 Homecoming Dresses 4579 </a></li><li class=""><a 4580 href="/collections/daytonight" 4581 class="link-styled--reverse menu-item" 4582 > 4583 Day to Night Dresses 4584 </a></li><li class=""><a 4585 href="/collections/cocktail-dresses" 4586 class="link-styled--reverse menu-item" 4587 > 4588 Cocktail Dresses 4589 </a></li><li class=""><a 4590 href="/collections/black-tie-dresses" 4591 class="link-styled--reverse menu-item" 4592 > 4593 Black Tie Dresses 4594 </a></li><li class=""><a 4595 href="/collections/guest-of" 4596 class="link-styled--reverse menu-item" 4597 > 4598 Wedding Guest Dresses 4599 </a></li><li class=""><a 4600 href="/collections/all-dresses" 4601 class="link-styled--reverse menu-item" 4602 > 4603 All Dresses 4604 </a></li></ul> 4605 4606 </ul> 4607 4608 4609 </div> 4610 </div></li><li class="has-submenu"> 4611 <div 4612 id="Details-Submenu" 4613 class="details details-active dropdown--level-0 details--desktop mobile--only " 4614 open> 4615 4616 4617 <div class="summary-anchor summary"> 4618 <a 4619 href="/collections/all-clothing" 4620 class="link-styled--reverse menu-item main-nav-link " 4621 > 4622 Shop All 4623 </a> 4624 4625 <button 4626 class="toggle-btn" 4627 aria-controls="shop-all" 4628 aria-expanded="false"> 4629 <svg 4630 xmlns="http://www.w3.org/2000/svg" 4631 xmlns:xlink="http://www.w3.org/1999/xlink" 4632 version="1.1" 4633 x="0px" 4634 y="0px"
4635 viewBox="0 0 100 100" 4636 enable-background="new 0 0 100 100" 4637 xml:space="preserve"> 4638 <path d="M50.035,54.243L37.307,41.515c-0.781-0.781-2.047-0.781-2.828,0c-0.781,0.781-0.781,2.047,0,2.828l14.142,14.142 c0.781,0.781,2.047,0.781,2.828,0l14.143-14.142c0.391-0.391,0.586-0.902,0.586-1.414s-0.195-1.023-0.586-1.414 c-0.781-0.781-2.047-0.781-2.828,0L50.035,54.243z" /> 4639 </svg> 4640 <svg 4641 id="Layer_1" 4642 data-name="Layer 1" 4643 xmlns="http://www.w3.org/2000/svg" 4644 version="1.1" 4645 viewBox="0 0 16 12" 4646 role="img" 4647 aria-labelledby="caret-svg-label-3" 4648 style="display: none;"> 4649 <title id="caret-svg-label-3">caret</title> 4650 <defs> 4651 <style> 4652 .cls-1 { 4653 fill: #000; 4654 stroke-width: 0; 4655 } 4656 </style> 4657 </defs> 4658 <path class="cls-1" d="M2.8,2.6h10.4c.7,0,1.1.9.6,1.4l-5.2,5.2c-.3.3-.8.3-1.1,0L2.2,4c-.5-.5-.1-1.4.6-1.4Z" /> 4659 </svg> 4660 <span class="visually-hidden">Shop All submenu</span> 4661 </button> 4662 </div> 4663 4664 <div class="single-dropdown hide details__content " id="shop-all"> 4665 <ul 4666 class="site-menu__submenu list-unstyled secondary-links flex jcc details__content-inner" 4667 role="list" 4668 tabindex="-1"> 4669 4670 <ul class="childlink-levels 4671 "><li class=""><a 4672 href="/collections/best-sellers-1" 4673 class="link-styled--reverse menu-item" 4674 > 4675 Bestsellers 4676 </a></li><li class=""><a 4677 href="/collections/rompers2" 4678 class="link-styled--reverse menu-item" 4679 > 4680 Rompers & Jumpsuits 4681 </a></li><li class=""><a 4682 href="/collections/matching-sets" 4683 class="link-styled--reverse menu-item" 4684 > 4685 Matching Sets 4686 </a></li><li class=""><a 4687 href="/collections/separates" 4688 class="link-styled--reverse menu-item" 4689 > 4690 Separates 4691 </a></li><li class=""><a 4692 href="/collections/accessories" 4693 class="link-styled--reverse menu-item" 4694 > 4695 Accessories 4696 </a></li><li class=""><a 4697 href="/collections/intimates" 4698 class="link-styled--reverse menu-item" 4699 > 4700 Intimates 4701 </a></li><li class=""><a 4702 href="/collections/all-clothing" 4703 class="link-styled--reverse menu-item" 4704 > 4705 Shop All 4706 </a></li></ul> 4707 4708 </ul> 4709 4710 4711 </div> 4712 </div></li><li class="has-submenu"> 4713 <div 4714 id="Details-Submenu" 4715 class="details details-active dropdown--level-0 details--desktop mobile--only " 4716 open> 4717 4718 4719 <div class="summary-anchor summary"> 4720 <a 4721 href="/collections/new-arrivals2" 4722 class="link-styled--reverse menu-item main-nav-link " 4723 > 4724 Collections 4725 </a> 4726 4727 <button 4728 class="toggle-btn" 4729 aria-controls="collections" 4730 aria-expanded="false"> 4731 <svg 4732 xmlns="http://www.w3.org/2000/svg" 4733 xmlns:xlink="http://www.w3.org/1999/xlink" 4734 version="1.1" 4735 x="0px" 4736 y="0px"
4737 viewBox="0 0 100 100" 4738 enable-background="new 0 0 100 100" 4739 xml:space="preserve"> 4740 <path d="M50.035,54.243L37.307,41.515c-0.781-0.781-2.047-0.781-2.828,0c-0.781,0.781-0.781,2.047,0,2.828l14.142,14.142 c0.781,0.781,2.047,0.781,2.828,0l14.143-14.142c0.391-0.391,0.586-0.902,0.586-1.414s-0.195-1.023-0.586-1.414 c-0.781-0.781-2.047-0.781-2.828,0L50.035,54.243z" /> 4741 </svg> 4742 <svg 4743 id="Layer_1" 4744 data-name="Layer 1" 4745 xmlns="http://www.w3.org/2000/svg" 4746 version="1.1" 4747 viewBox="0 0 16 12" 4748 role="img" 4749 aria-labelledby="caret-svg-label-4" 4750 style="display: none;"> 4751 <title id="caret-svg-label-4">caret</title> 4752 <defs> 4753 <style> 4754 .cls-1 { 4755 fill: #000; 4756 stroke-width: 0; 4757 } 4758 </style> 4759 </defs> 4760 <path class="cls-1" d="M2.8,2.6h10.4c.7,0,1.1.9.6,1.4l-5.2,5.2c-.3.3-.8.3-1.1,0L2.2,4c-.5-.5-.1-1.4.6-1.4Z" /> 4761 </svg> 4762 <span class="visually-hidden">Collections submenu</span> 4763 </button> 4764 </div> 4765 4766 <div class="single-dropdown hide details__content " id="collections"> 4767 <ul 4768 class="site-menu__submenu list-unstyled secondary-links flex jcc details__content-inner" 4769 role="list" 4770 tabindex="-1"> 4771 4772 <ul class="childlink-levels 4773 "><li class=""><a 4774 href="/collections/fall" 4775 class="link-styled--reverse menu-item" 4776 > 4777 Fall 2026 4778 </a></li><li class=""><a 4779 href="/collections/trending-now" 4780 class="link-styled--reverse menu-item" 4781 > 4782 Trending Now 4783 </a></li><li class=""><a 4784 href="/collections/workwear" 4785 class="link-styled--reverse menu-item" 4786 > 4787 Workwear 4788 </a></li><li class=""><a 4789 href="/collections/guest-of" 4790 class="link-styled--reverse menu-item" 4791 > 4792 Wedding Guest 4793 </a></li></ul> 4794 4795 </ul> 4796 4797 4798 </div> 4799 </div></li><li class="has-submenu"> 4800 <div 4801 id="Details-Submenu" 4802 class="details details-active dropdown--level-0 details--desktop mobile--only " 4803 open> 4804 4805 4806 <div class="summary-anchor summary"> 4807 <a 4808 href="/collections/bridal" 4809 class="link-styled--reverse menu-item main-nav-link " 4810 > 4811 Bridal 4812 </a> 4813 4814 <button 4815 class="toggle-btn" 4816 aria-controls="bridal" 4817 aria-expanded="false"> 4818 <svg 4819 xmlns="http://www.w3.org/2000/svg" 4820 xmlns:xlink="http://www.w3.org/1999/xlink" 4821 version="1.1" 4822 x="0px" 4823 y="0px"
4824 viewBox="0 0 100 100" 4825 enable-background="new 0 0 100 100" 4826 xml:space="preserve"> 4827 <path d="M50.035,54.243L37.307,41.515c-0.781-0.781-2.047-0.781-2.828,0c-0.781,0.781-0.781,2.047,0,2.828l14.142,14.142 c0.781,0.781,2.047,0.781,2.828,0l14.143-14.142c0.391-0.391,0.586-0.902,0.586-1.414s-0.195-1.023-0.586-1.414 c-0.781-0.781-2.047-0.781-2.828,0L50.035,54.243z" /> 4828 </svg> 4829 <svg 4830 id="Layer_1" 4831 data-name="Layer 1" 4832 xmlns="http://www.w3.org/2000/svg" 4833 version="1.1" 4834 viewBox="0 0 16 12" 4835 role="img" 4836 aria-labelledby="caret-svg-label-5" 4837 style="display: none;"> 4838 <title id="caret-svg-label-5">caret</title> 4839 <defs> 4840 <style> 4841 .cls-1 { 4842 fill: #000; 4843 stroke-width: 0; 4844 } 4845 </style> 4846 </defs> 4847 <path class="cls-1" d="M2.8,2.6h10.4c.7,0,1.1.9.6,1.4l-5.2,5.2c-.3.3-.8.3-1.1,0L2.2,4c-.5-.5-.1-1.4.6-1.4Z" /> 4848 </svg> 4849 <span class="visually-hidden">Bridal submenu</span> 4850 </button> 4851 </div> 4852 4853 <div class="single-dropdown hide details__content " id="bridal"> 4854 <ul 4855 class="site-menu__submenu list-unstyled secondary-links flex jcc details__content-inner" 4856 role="list" 4857 tabindex="-1"> 4858 4859 <ul class="childlink-levels 4860 "><li class=""><a 4861 href="/collections/day-of" 4862 class="link-styled--reverse menu-item" 4863 > 4864 For The Bride 4865 </a></li><li class=""><a 4866 href="/collections/guest-of" 4867 class="link-styled--reverse menu-item" 4868 > 4869 Guest Of 4870 </a></li><li class=""><a 4871 href="/collections/bachelorette-1" 4872 class="link-styled--reverse menu-item" 4873 > 4874 Bachelorette 4875 </a></li><li class=""><a 4876 href="/collections/bridesmaids" 4877 class="link-styled--reverse menu-item" 4878 > 4879 Bridesmaids 4880 </a></li><li class=""><a 4881 href="/collections/bridal" 4882 class="link-styled--reverse menu-item" 4883 > 4884 All Bridal 4885 </a></li></ul> 4886 4887 </ul> 4888 4889 4890 </div> 4891 </div></li><li class="mmenu__social-icons"><ul class="list-unstyled flex flex--gap aic" role="list" style="--flex-gap: 1rem"> 4892 4893 4894 4895 4896 4897 4898 <li> 4899 <a href="https://www.facebook.com/AmandaUprichard/" target="_blank" title="Facebook" class="flex aic"> 4900 4901 <svg 4902 class="icon icon--facebook" 4903 width="24" 4904 height="24" 4905 viewBox="0 0 24 24" 4906 fill="none" 4907 xmlns="http://www.w3.org/2000/svg" 4908 role="img" 4909 aria-labelledby="facebook-svg-label-96"> 4910 <title id="facebook-svg-label-96">facebook</title> 4911 <mask 4912 id="mask0_71_93" 4913 style="mask-type:luminance" 4914 maskUnits="userSpaceOnUse" 4915 x="0" 4916 y="0" 4917 width="24" 4918 height="24"> 4919 <path d="M24 0H0V24H24V0Z" fill="white" /> 4920 </mask> 4921 <g mask="url(#mask0_71_93)"> 4922 <path d="M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 17.9895 4.3882 22.954 10.125 23.8542V15.4688H7.07812V12H10.125V9.35625C10.125 6.34875 11.9166 4.6875 14.6576 4.6875C15.9701 4.6875 17.3438 4.92188 17.3438 4.92188V7.875H15.8306C14.34 7.875 13.875 8.80008 13.875 9.75V12H17.2031L16.6711 15.4688H13.875V23.8542C19.6118 22.954 24 17.9895 24 12Z" fill="currentColor" /> 4923 </g> 4924 </svg> 4925<span class="visually-hidden">Facebook</span> 4926 </a> 4927 </li> 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 <li> 4942 <a href="https://www.instagram.com/amandauprichard/?hl=en" target="_blank" title="Instagram" class="flex aic"> 4943 4944 <svg 4945 class="icon icon--instagram" 4946 width="24" 4947 height="24"
4948 viewBox="0 0 24 24" 4949 fill="none" 4950 xmlns="http://www.w3.org/2000/svg" 4951 role="img" 4952 aria-labelledby="instagram-svg-label-29"> 4953 <title id="instagram-svg-label-29">instagram</title> 4954 <path d="M12 2.16094C15.2063 2.16094 15.5859 2.175 16.8469 2.23125C18.0188 2.28281 18.6516 2.47969 19.0734 2.64375C19.6313 2.85938 20.0344 3.12188 20.4516 3.53906C20.8734 3.96094 21.1313 4.35938 21.3469 4.91719C21.5109 5.33906 21.7078 5.97656 21.7594 7.14375C21.8156 8.40937 21.8297 8.78906 21.8297 11.9906C21.8297 15.1969 21.8156 15.5766 21.7594 16.8375C21.7078 18.0094 21.5109 18.6422 21.3469 19.0641C21.1313 19.6219 20.8687 20.025 20.4516 20.4422C20.0297 20.8641 19.6313 21.1219 19.0734 21.3375C18.6516 21.5016 18.0141 21.6984 16.8469 21.75C15.5813 21.8062 15.2016 21.8203 12 21.8203C8.79375 21.8203 8.41406 21.8062 7.15313 21.75C5.98125 21.6984 5.34844 21.5016 4.92656 21.3375C4.36875 21.1219 3.96563 20.8594 3.54844 20.4422C3.12656 20.0203 2.86875 19.6219 2.65313 19.0641C2.48906 18.6422 2.29219 18.0047 2.24063 16.8375C2.18438 15.5719 2.17031 15.1922 2.17031 11.9906C2.17031 8.78438 2.18438 8.40469 2.24063 7.14375C2.29219 5.97187 2.48906 5.33906 2.65313 4.91719C2.86875 4.35938 3.13125 3.95625 3.54844 3.53906C3.97031 3.11719 4.36875 2.85938 4.92656 2.64375C5.34844 2.47969 5.98594 2.28281 7.15313 2.23125C8.41406 2.175 8.79375 2.16094 12 2.16094ZM12 0C8.74219 0 8.33438 0.0140625 7.05469 0.0703125C5.77969 0.126563 4.90313 0.332812 4.14375 0.628125C3.35156 0.9375 2.68125 1.34531 2.01563 2.01562C1.34531 2.68125 0.9375 3.35156 0.628125 4.13906C0.332812 4.90313 0.126563 5.775 0.0703125 7.05C0.0140625 8.33437 0 8.74219 0 12C0 15.2578 0.0140625 15.6656 0.0703125 16.9453C0.126563 18.2203 0.332812 19.0969 0.628125 19.8563C0.9375 20.6484 1.34531 21.3188 2.01563 21.9844C2.68125 22.65 3.35156 23.0625 4.13906 23.3672C4.90313 23.6625 5.775 23.8687 7.05 23.925C8.32969 23.9812 8.7375 23.9953 11.9953 23.9953C15.2531 23.9953 15.6609 23.9812 16.9406 23.925C18.2156 23.8687 19.0922 23.6625 19.8516 23.3672C20.6391 23.0625 21.3094 22.65 21.975 21.9844C22.6406 21.3188 23.0531 20.6484 23.3578 19.8609C23.6531 19.0969 23.8594 18.225 23.9156 16.95C23.9719 15.6703 23.9859 15.2625 23.9859 12.0047C23.9859 8.74688 23.9719 8.33906 23.9156 7.05938C23.8594 5.78438 23.6531 4.90781 23.3578 4.14844C23.0625 3.35156 22.6547 2.68125 21.9844 2.01562C21.3188 1.35 20.6484 0.9375 19.8609 0.632812C19.0969 0.3375 18.225 0.13125 16.95 0.075C15.6656 0.0140625 15.2578 0 12 0Z" fill="currentColor" /> 4955 <path d="M12 5.83594C8.59688 5.83594 5.83594 8.59688 5.83594 12C5.83594 15.4031 8.59688 18.1641 12 18.1641C15.4031 18.1641 18.1641 15.4031 18.1641 12C18.1641 8.59688 15.4031 5.83594 12 5.83594ZM12 15.9984C9.79219 15.9984 8.00156 14.2078 8.00156 12C8.00156 9.79219 9.79219 8.00156 12 8.00156C14.2078 8.00156 15.9984 9.79219 15.9984 12C15.9984 14.2078 14.2078 15.9984 12 15.9984Z" fill="currentColor" /> 4956 <path d="M19.8469 5.59238C19.8469 6.38926 19.2 7.03144 18.4078 7.03144C17.6109 7.03144 16.9688 6.38457 16.9688 5.59238C16.9688 4.7955 17.6156 4.15332 18.4078 4.15332C19.2 4.15332 19.8469 4.80019 19.8469 5.59238Z" fill="currentColor" /> 4957 </svg> 4958<span class="visually-hidden">Instagram</span> 4959 </a> 4960 </li> 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 <li> 4993 <a href="https://www.tiktok.com/@amandauprichard?lang=en" target="_blank" title="TikTok" class="flex aic"> 4994 4995 4996 <svg 4997 class="icon icon--tiktok" 4998 width="21" 4999 height="24" 5000 viewBox="0 0 21 24" 5001 fill="none" 5002 xmlns="http://www.w3.org/2000/svg" 5003 role="img" 5004 aria-labelledby="tiktok-svg-label-30"> 5005 <title id="tiktok-svg-label-30">tiktok</title> 5006 <path d="M15.0725 0H11.0278V16.3478C11.0278 18.2957 9.4722 19.8957 7.53626 19.8957C5.60034 19.8957 4.04469 18.2957 4.04469 16.3478C4.04469 14.4348 5.56577 12.8695 7.43257 12.8V8.69567C3.31872 8.7652 0 12.1391 0 16.3478C0 20.5913 3.38786 24 7.57085 24C11.7538 24 15.1416 20.5565 15.1416 16.3478V7.9652C16.
50066627 9.07827 18.5295 9.73913 20.5 9.77393V5.66957C17.4579 5.56522 15.0725 3.06087 15.0725 0Z" fill="currentColor" /> 5007 </svg> 5008<span class="visually-hidden">TikTok</span> 5009 </a> 5010 </li> 5011 5012 5013</ul> 5014</li> 5015 </ul> 5016 5017 5018 5019</div> 5020 5021 </div> 5022 </div> 5023 </div> 5024 5025 <div class="desktop-menu"> 5026 5027<nav class="site-menu" aria-label="Main Navigation"> 5028 <div class="mobileimg"> 5029 <a href="/collections/new-arrivals2"> 5030 <img 5031 src="//amandauprichard.com/cdn/shop/files/MobileDropdown_3fae8bc8-eb4d-45ff-9ce9-6a01521b793f.jpg?v=1790781765" 5032 width="1332" 5033 height="780" 5034 alt="Amanda Uprichard Fall3 Launch MOBILE NAV Image"> 5035 </a> 5036 </div> 5037 5038 5039 <ul class="list-unstyled flex primary-links" role="list"><li class="single-menu"><a 5040 href="/collections/new-arrivals2" 5041 class="link-styled--reverse menu-item" 5042 > 5043 New Arrivals 5044 </a></li><li class="has-submenu"> 5045 <div 5046 id="Details-Submenu" 5047 class="details details-active dropdown--level-0 details--desktop mobile--only " 5048 open> 5049 5050 5051 <div class="summary-anchor summary"> 5052 <a 5053 href="/collections/all-dresses" 5054 class="link-styled--reverse menu-item main-nav-link " 5055 > 5056 Dresses 5057 </a> 5058 5059 <button 5060 class="toggle-btn" 5061 aria-controls="dresses" 5062 aria-expanded="false"> 5063 <svg 5064 xmlns="http://www.w3.org/2000/svg" 5065 xmlns:xlink="http://www.w3.org/1999/xlink" 5066 version="1.1" 5067 x="0px" 5068 y="0px"
5069 viewBox="0 0 100 100" 5070 enable-background="new 0 0 100 100" 5071 xml:space="preserve"> 5072 <path d="M50.035,54.243L37.307,41.515c-0.781-0.781-2.047-0.781-2.828,0c-0.781,0.781-0.781,2.047,0,2.828l14.142,14.142 c0.781,0.781,2.047,0.781,2.828,0l14.143-14.142c0.391-0.391,0.586-0.902,0.586-1.414s-0.195-1.023-0.586-1.414 c-0.781-0.781-2.047-0.781-2.828,0L50.035,54.243z" /> 5073 </svg> 5074 <svg 5075 id="Layer_1" 5076 data-name="Layer 1" 5077 xmlns="http://www.w3.org/2000/svg" 5078 version="1.1" 5079 viewBox="0 0 16 12" 5080 role="img" 5081 aria-labelledby="caret-svg-label-2" 5082 style="display: none;"> 5083 <title id="caret-svg-label-2">caret</title> 5084 <defs> 5085 <style> 5086 .cls-1 { 5087 fill: #000; 5088 stroke-width: 0; 5089 } 5090 </style> 5091 </defs> 5092 <path class="cls-1" d="M2.8,2.6h10.4c.7,0,1.1.9.6,1.4l-5.2,5.2c-.3.3-.8.3-1.1,0L2.2,4c-.5-.5-.1-1.4.6-1.4Z" /> 5093 </svg> 5094 <span class="visually-hidden">Dresses submenu</span> 5095 </button> 5096 </div> 5097 5098 <div class="megamenu hide details__content " id="dresses"> 5099 <ul 5100 class="site-menu__submenu list-unstyled secondary-links flex jcc details__content-inner" 5101 role="list" 5102 tabindex="-1"> 5103 5104 <ul class="childlink-levels 5105 5106 5107 5108 5109"><li class="has-submenu-1 "><div 5110 id="Details-Nested-Submenu" 5111 class="details details-active dropdown--level-1 mobile--only" 5112 open> 5113 <a href="/collections/all-dresses" class="summary mychildlink"> 5114 5115 <span class="menu-title" role="heading" aria-level="2">Shop By Length</span> 5116 <span class="details__icon"></span> 5117 </a> 5118 <div class="details__content"> 5119 <ul class="site-menu__sub-submenu list-unstyled tertiary-links details__content-inner"><li> 5120 <a 5121 href="/collections/mini-dresses" 5122 class="link-styled--reverse menu-item" 5123 > 5124 Mini Dresses 5125 </a> 5126 </li><li> 5127 <a 5128 href="/collections/midi-dresses" 5129 class="link-styled--reverse menu-item" 5130 > 5131 Midi Dresses 5132 </a> 5133 </li><li> 5134 <a 5135 href="/collections/gowns" 5136 class="link-styled--reverse menu-item" 5137 > 5138 Maxi Dresses 5139 </a> 5140 </li><li> 5141 <a 5142 href="/collections/all-dresses" 5143 class="link-styled--reverse menu-item" 5144 > 5145 Shop All 5146 </a> 5147 </li></ul> 5148 </div> 5149 </div></li><li class="has-submenu-1 "><div 5150 id="Details-Nested-Submenu" 5151 class="details details-active dropdown--level-1 mobile--only" 5152 open> 5153 <a href="/collections/all-dresses" class="summary mychildlink"> 5154
5155 <span class="menu-title" role="heading" aria-level="2">Shop By Occasion</span> 5156 <span class="details__icon"></span> 5157 </a> 5158 <div class="details__content"> 5159 <ul class="site-menu__sub-submenu list-unstyled tertiary-links details__content-inner"><li> 5160 <a 5161 href="/collections/homecoming" 5162 class="link-styled--reverse menu-item" 5163 > 5164 Homecoming Dresses 5165 </a> 5166 </li><li> 5167 <a 5168 href="/collections/daytonight" 5169 class="link-styled--reverse menu-item" 5170 > 5171 Day to Night Dresses 5172 </a> 5173 </li><li> 5174 <a 5175 href="/collections/cocktail-dresses" 5176 class="link-styled--reverse menu-item" 5177 > 5178 Cocktail Dresses 5179 </a> 5180 </li><li> 5181 <a 5182 href="/collections/black-tie-dresses" 5183 class="link-styled--reverse menu-item" 5184 > 5185 Black Tie Dresses 5186 </a> 5187 </li><li> 5188 <a 5189 href="/collections/guest-of" 5190 class="link-styled--reverse menu-item" 5191 > 5192 Wedding Guest Dresses 5193 </a> 5194 </li></ul> 5195 </div> 5196 </div></li></ul> 5197 5198<li class="mega-menu__promo megamenu-block"><div class="promo-banner-img"><a href="/collections/all-dresses"> 5199<picture> 5200 <source 5201 srcset="//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=992 992w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=1024 1024w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=1280 1280w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=1440 1440w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=1600 1600w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=1280 1280w 5202 " 5203 sizes="100vw" 5204 media="(min-width: 769px)" 5205 > 5206 5207 <source 5208 srcset="//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=160 160w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=240 240w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=320 320w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=375 375w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=550 550w,//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=750 750w," 5209 sizes="100vw" 5210 > 5211 <img 5212 5213 loading="lazy" 5214 5215 5216 src="//amandauprichard.com/cdn/shop/files/Dropdown_Dresses_5a85105d-7371-4326-838a-725b10ceb222.jpg?v=1790781785&width=1842" 5217 5218 alt="Amanda Uprichard Fall3 Launch DRESSES NAV Image" 5219 width="1842" 5220 height="100%" 5221 5222 style="--image-focal: middle" 5223 5224 > 5225</picture> 5226</a></div></li> 5227 5228 5229 </ul> 5230 5231 5232 5233 </div> 5234 </div></li><li class="has-submenu"> 5235 <div 5236 id="Details-Submenu" 5237 class="details details-active dropdown--level-0 details--desktop mobile--only " 5238 open> 5239 5240 5241 <div class="summary-anchor summary"> 5242 <a 5243 href="/collections/all-clothing" 5244 class="link-styled--reverse menu-item main-nav-link " 5245 > 5246 Shop All 5247 </a> 5248 5249 <button 5250 class="toggle-btn" 5251 aria-controls="shop-all" 5252 aria-expanded="false"> 5253 <svg 5254 xmlns="http://www.w3.org/2000/svg" 5255 xmlns:xlink="http://www.w3.org/1999/xlink" 5256 version="1.1" 5257 x="0px" 5258 y="0px"
5259 viewBox="0 0 100 100" 5260 enable-background="new 0 0 100 100" 5261 xml:space="preserve"> 5262 <path d="M50.035,54.243L37.307,41.515c-0.781-0.781-2.047-0.781-2.828,0c-0.781,0.781-0.781,2.047,0,2.828l14.142,14.142 c0.781,0.781,2.047,0.781,2.828,0l14.143-14.142c0.391-0.391,0.586-0.902,0.586-1.414s-0.195-1.023-0.586-1.414 c-0.781-0.781-2.047-0.781-2.828,0L50.035,54.243z" /> 5263 </svg> 5264 <svg 5265 id="Layer_1" 5266 data-name="Layer 1" 5267 xmlns="http://www.w3.org/2000/svg" 5268 version="1.1" 5269 viewBox="0 0 16 12" 5270 role="img" 5271 aria-labelledby="caret-svg-label-3" 5272 style="display: none;"> 5273 <title id="caret-svg-label-3">caret</title> 5274 <defs> 5275 <style> 5276 .cls-1 { 5277 fill: #000; 5278 stroke-width: 0; 5279 } 5280 </style> 5281 </defs> 5282 <path class="cls-1" d="M2.8,2.6h10.4c.7,0,1.1.9.6,1.4l-5.2,5.2c-.3.3-.8.3-1.1,0L2.2,4c-.5-.5-.1-1.4.6-1.4Z" /> 5283 </svg> 5284 <span class="visually-hidden">Shop All submenu</span> 5285 </button> 5286 </div> 5287 5288 <div class="megamenu hide details__content " id="shop-all"> 5289 <ul 5290 class="site-menu__submenu list-unstyled secondary-links flex jcc details__content-inner" 5291 role="list" 5292 tabindex="-1"> 5293 5294 <ul class="childlink-levels 5295 5296 5297one-column 5298 5299"><li class=""><a 5300 href="/collections/best-sellers-1" 5301 class="link-styled--reverse menu-item" 5302 > 5303 Bestsellers 5304 </a></li><li class=""><a 5305 href="/collections/all-dresses" 5306 class="link-styled--reverse menu-item" 5307 > 5308 Dresses 5309 </a></li><li class=""><a 5310 href="/collections/rompers2" 5311 class="link-styled--reverse menu-item" 5312 > 5313 Rompers & Jumpsuits 5314 </a></li><li class=""><a 5315 href="/collections/matching-sets" 5316 class="link-styled--reverse menu-item" 5317 > 5318 Matching Sets 5319 </a></li><li class=""><a 5320 href="/collections/separates" 5321 class="link-styled--reverse menu-item" 5322 > 5323 Separates 5324 </a></li><li class=""><a 5325 href="/collections/accessories" 5326 class="link-styled--reverse menu-item" 5327 > 5328 Accessories 5329 </a></li><li class=""><a 5330 href="/collections/intimates" 5331 class="link-styled--reverse menu-item" 5332 > 5333 Intimates 5334 </a></li><li class=""><a 5335 href="/products/au-e-gift-card" 5336 class="link-styled--reverse menu-item" 5337 > 5338 Gift Cards 5339 </a></li><li class=""><a 5340 href="/collections/all-clothing" 5341 class="link-styled--reverse menu-item" 5342 > 5343 Shop All 5344 </a></li></ul> 5345 5346<li class="mega-menu__promo megamenu-block"><div class="promo-banner-img"><a href="/collections/all-clothing"> 5347<picture> 5348 <source 5349 srcset="//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=992 992w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=1024 1024
5349w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=1280 1280w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=1440 1440w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=1600 1600w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=1280 1280w 5350 " 5351 sizes="100vw" 5352 media="(min-width: 769px)" 5353 > 5354 5355 <source 5356 srcset="//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=160 160w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=240 240w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=320 320w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=375 375w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=550 550w,//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=750 750w," 5357 sizes="100vw" 5358 > 5359 <img 5360 5361 loading="lazy" 5362 5363 5364 src="//amandauprichard.com/cdn/shop/files/Dropwdown_Shopall_a3dcb70f-53d5-4673-9465-a47c104cff01.jpg?v=1790781795&width=1842" 5365 5366 alt="Amanda Uprichard Fall3 Launch SHOP ALL NAV Image" 5367 width="1842" 5368 height="100%" 5369 5370 style="--image-focal: middle" 5371 5372 > 5373</picture> 5374</a></div></li> 5375 5376 5377 </ul> 5378 5379 5380 5381 </div> 5382 </div></li><li class="has-submenu"> 5383 <div 5384 id="Details-Submenu" 5385 class="details details-active dropdown--level-0 details--desktop mobile--only " 5386 open> 5387 5388 5389 <div class="summary-anchor summary"> 5390 <a 5391 href="/collections/new-arrivals2" 5392 class="link-styled--reverse menu-item main-nav-link " 5393 > 5394 Collections 5395 </a> 5396 5397 <button 5398 class="toggle-btn" 5399 aria-controls="collections" 5400 aria-expanded="false"> 5401 <svg 5402 xmlns="http://www.w3.org/2000/svg" 5403 xmlns:xlink="http://www.w3.org/1999/xlink" 5404 version="1.1" 5405 x="0px" 5406 y="0px"
5407 viewBox="0 0 100 100" 5408 enable-background="new 0 0 100 100" 5409 xml:space="preserve"> 5410 <path d="M50.035,54.243L37.307,41.515c-0.781-0.781-2.047-0.781-2.828,0c-0.781,0.781-0.781,2.047,0,2.828l14.142,14.142 c0.781,0.781,2.047,0.781,2.828,0l14.143-14.142c0.391-0.391,0.586-0.902,0.586-1.414s-0.195-1.023-0.586-1.414 c-0.781-0.781-2.047-0.781-2.828,0L50.035,54.243z" /> 5411 </svg> 5412 <svg 5413 id="Layer_1" 5414 data-name="Layer 1" 5415 xmlns="http://www.w3.org/2000/svg" 5416 version="1.1" 5417 viewBox="0 0 16 12" 5418 role="img" 5419 aria-labelledby="caret-svg-label-4" 5420 style="display: none;"> 5421 <title id="caret-svg-label-4">caret</title> 5422 <defs> 5423 <style> 5424 .cls-1 { 5425 fill: #000; 5426 stroke-width: 0; 5427 } 5428 </style> 5429 </defs> 5430 <path class="cls-1" d="M2.8,2.6h10.4c.7,0,1.1.9.6,1.4l-5.2,5.2c-.3.3-.8.3-1.1,0L2.2,4c-.5-.5-.1-1.4.6-1.4Z" /> 5431 </svg> 5432 <span class="visually-hidden">Collections submenu</span> 5433 </button> 5434 </div> 5435 5436 <div class="megamenu hide details__content " id="collections"> 5437 <ul 5438 class="site-menu__submenu list-unstyled secondary-links flex jcc details__content-inner" 5439 role="list" 5440 tabindex="-1"> 5441 5442 <ul class="childlink-levels 5443 5444 5445 5446one-column 5447"><li class=""><a 5448 href="/collections/fall" 5449 class="link-styled--reverse menu-item" 5450 > 5451 Fall 2026 5452 </a></li><li class=""><a 5453 href="/collections/trending-now" 5454 class="link-styled--reverse menu-item" 5455 > 5456 Trending Now 5457 </a></li><li class=""><a 5458 href="/collections/workwear" 5459 class="link-styled--reverse menu-item" 5460 > 5461 Workwear 5462 </a></li><li class=""><a 5463 href="/collections/guest-of" 5464 class="link-styled--reverse menu-item" 5465 > 5466 Wedding Guest 5467 </a></li></ul> 5468 5469<li class="mega-menu__promo megamenu-block"><div class="promo-banner-img"><a href="/collections/all-clothing"> 5470<picture> 5471 <source 5472 srcset="//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=992 992w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=1024 1024w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=1280 1280w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=1440 1440w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=1600 1600w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=1280 1280w 5473 " 5474 sizes="100vw" 5475 media="(min-width: 769px)" 5476 > 5477 5478 <source 5479 srcset="//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=160 160w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=240 240w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=320 320w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=375 375w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=550 550w,//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=750 750w," 5480 sizes="100vw" 5481 > 5482 <img 5483 5484 loading="lazy" 5485 5486 5487 src="//amandauprichard.com/cdn/shop/files/Dropdpwn_Collections_3cc5a4ef-1f0a-4ab0-a41d-280c0d422715.jpg?v=1790781812&width=1842" 5488 5489 alt="Amanda Uprichard Fall3 Launch COLLECTIONS NAV Image" 5490 width="1842" 5491 height="100%" 5492 5493 style="--image-focal: middle" 5494 5495 > 5496</picture> 5497</a></div></li> 5498 5499 5500 </ul> 5501 5502 5503 5504 </div> 5505 </div></li><li class="has-submenu"> 5506 <div 5507 id="Details-Submenu" 5508 class="details details-active dropdown--level-0 details--desktop mobile--only " 5509 open> 5510 5511 5512 <div class="summary-anchor summary"> 5513 <a 5514 href="/collections/bridal" 5515 class="link-styled--reverse menu-item main-nav-link " 5516 > 5517 Bridal 5518 </a> 5519 5520 <button 5521 class="toggle-btn" 5522 aria-controls="bridal" 5523 aria-expanded="false"> 5524 <svg 5525 xmlns="http://www.w3.org/2000/svg" 5526 xmlns:xlink="http://www.w3.org/1999/xlink" 5527 version="1.1" 5528 x="0px" 5529 y="0px"
5530 viewBox="0 0 100 100" 5531 enable-background="new 0 0 100 100" 5532 xml:space="preserve"> 5533 <path d="M50.035,54.243L37.307,41.515c-0.781-0.781-2.047-0.781-2.828,0c-0.781,0.781-0.781,2.047,0,2.828l14.142,14.142 c0.781,0.781,2.047,0.781,2.828,0l14.143-14.142c0.391-0.391,0.586-0.902,0.586-1.414s-0.195-1.023-0.586-1.414 c-0.781-0.781-2.047-0.781-2.828,0L50.035,54.243z" /> 5534 </svg> 5535 <svg 5536 id="Layer_1" 5537 data-name="Layer 1" 5538 xmlns="http://www.w3.org/2000/svg" 5539 version="1.1" 5540 viewBox="0 0 16 12" 5541 role="img" 5542 aria-labelledby="caret-svg-label-5" 5543 style="display: none;"> 5544 <title id="caret-svg-label-5">caret</title> 5545 <defs> 5546 <style> 5547 .cls-1 { 5548 fill: #000; 5549 stroke-width: 0; 5550 } 5551 </style> 5552 </defs> 5553 <path class="cls-1" d="M2.8,2.6h10.4c.7,0,1.1.9.6,1.4l-5.2,5.2c-.3.3-.8.3-1.1,0L2.2,4c-.5-.5-.1-1.4.6-1.4Z" /> 5554 </svg> 5555 <span class="visually-hidden">Bridal submenu</span> 5556 </button> 5557 </div> 5558 5559 <div class="megamenu hide details__content " id="bridal"> 5560 <ul 5561 class="site-menu__submenu list-unstyled secondary-links flex jcc details__content-inner" 5562 role="list" 5563 tabindex="-1"> 5564 5565 <ul class="childlink-levels 5566 5567 5568 5569 5570one-column"><li class=""><a 5571 href="/collections/day-of" 5572 class="link-styled--reverse menu-item" 5573 > 5574 For The Bride 5575 </a></li><li class=""><a 5576 href="/collections/guest-of" 5577 class="link-styled--reverse menu-item" 5578 > 5579 Wedding Guest 5580 </a></li><li class=""><a 5581 href="/collections/bachelorette-1" 5582 class="link-styled--reverse menu-item" 5583 > 5584 Bachelorette 5585 </a></li><li class=""><a 5586 href="/collections/bridesmaids" 5587 class="link-styled--reverse menu-item" 5588 > 5589 Bridesmaids 5590 </a></li><li class=""><a 5591 href="/collections/bridal" 5592 class="link-styled--reverse menu-item" 5593 > 5594 All Bridal 5595 </a></li></ul> 5596 5597<li class="mega-menu__promo megamenu-block"><div class="promo-banner-img"><a href="/collections/bridal"> 5598<picture> 5599 <source 5600 srcset="//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=992 992w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=1024 1024w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=1280 1280w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=1440 1440w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=1600 1600w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=1280 1280w 5601 " 5602 sizes="100vw" 5603 media="(min-width: 769px)" 5604 > 5605 5606 <source 5607 srcset="//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=160 160w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=240 240w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=320 320w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=375 375w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=550 550w,//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=750 750w," 5608 sizes="100vw" 5609 > 5610 <img 5611 5612 loading="lazy" 5613 5614 5615 src="//amandauprichard.com/cdn/shop/files/Dropdown_Bridal_992e343c-ce1b-461f-bd4e-2e2ae771d7f1.jpg?v=1788357262&width=1842" 5616
5617 alt="Amanda Uprichard Fall3 Launch BRIDAL NAV Image" 5618 width="1842" 5619 height="100%" 5620 5621 style="--image-focal: middle" 5622 5623 > 5624</picture> 5625</a></div></li> 5626 5627 5628 </ul> 5629 5630 5631 5632 </div> 5633 </div></li><li class="mmenu__social-icons"><ul class="list-unstyled flex flex--gap aic" role="list" style="--flex-gap: 1rem"> 5634 5635 5636 5637 5638 5639 5640 <li> 5641 <a href="https://www.facebook.com/AmandaUprichard/" target="_blank" title="Facebook" class="flex aic"> 5642 5643 <svg 5644 class="icon icon--facebook" 5645 width="24" 5646 height="24" 5647 viewBox="0 0 24 24" 5648 fill="none" 5649 xmlns="http://www.w3.org/2000/svg" 5650 role="img" 5651 aria-labelledby="facebook-svg-label-3"> 5652 <title id="facebook-svg-label-3">facebook</title> 5653 <mask 5654 id="mask0_71_93" 5655 style="mask-type:luminance" 5656 maskUnits="userSpaceOnUse" 5657 x="0" 5658 y="0" 5659 width="24" 5660 height="24"> 5661 <path d="M24 0H0V24H24V0Z" fill="white" /> 5662 </mask> 5663 <g mask="url(#mask0_71_93)"> 5664 <path d="M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 17.9895 4.3882 22.954 10.125 23.8542V15.4688H7.07812V12H10.125V9.35625C10.125 6.34875 11.9166 4.6875 14.6576 4.6875C15.9701 4.6875 17.3438 4.92188 17.3438 4.92188V7.875H15.8306C14.34 7.875 13.875 8.80008 13.875 9.75V12H17.2031L16.6711 15.4688H13.875V23.8542C19.6118 22.954 24 17.9895 24 12Z" fill="currentColor" /> 5665 </g> 5666 </svg> 5667<span class="visually-hidden">Facebook</span> 5668 </a> 5669 </li> 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 <li> 5684 <a href="https://www.instagram.com/amandauprichard/?hl=en" target="_blank" title="Instagram" class="flex aic"> 5685 5686 <svg 5687 class="icon icon--instagram" 5688 width="24" 5689 height="24" 5690 viewBox="0 0 24 24" 5691 fill="none" 5692 xmlns="http://www.w3.org/2000/svg" 5693 role="img" 5694 aria-labelledby="instagram-svg-label-55"> 5695 <title id="instagram-svg-label-55">instagram</title> 5696 <path d="M12 2.16094C15.2063 2.16094 15.5859 2.175 16.8469 2.23125C18.0188 2.28281 18.6516 2.47969 19.0734 2.64375C19.6313 2.85938 20.0344 3.12188 20.4516 3.53906C20.8734 3.96094 21.1313 4.35938 21.3469 4.91719C21.5109 5.33906 21.7078 5.97656 21.7594 7.14375C21.8156 8.40937 21.8297 8.78906 21.8297 11.9906C21.8297 15.1969 21.8156 15.5766 21.7594 16.8375C21.7078 18.0094 21.5109 18.6422 21.3469 19.0641C21.1313 19.6219 20.8687 20.025 20.4516 20.4422C20.0297 20.8641 19.6313 21.1219 19.0734 21.3375C18.6516 21.5016 18.0141 21.6984 16.8469 21.75C15.5813 21.8062 15.2016 21.8203 12 21.8203C8.79375 21.8203 8.41406 21.8062 7.15313 21.75C5.98125 21.6984 5.34844 21.5016 4.92656 21.3375C4.36875 21.1219 3.96563 20.8594 3.54844 20.4422C3.12656 20.0203 2.86875 19.6219 2.65313 19.0641C2.48906 18.6422 2.29219 18.0047 2.24063 16.8375C2.18438 15.5719 2.17031 15.1922 2.17031 11.9906C2.17031 8.78438 2.18438 8.40469 2.24063 7.14375C2.29219 5.97187 2.48906 5.33906 2.65313 4.91719C2.86875 4.35938 3.13125 3.95625 3.54844 3.53906C3.97031 3.11719 4.36875 2.85938 4.92656 2.64375C5.34844 2.47969 5.98594 2.28281 7.15313 2.23125C8.41406 2.175 8.79375 2.16094 12 2.16094ZM12 0C8.74219 0 8.33438 0.0140625 7.05469 0.0703125C5.77969 0.126563 4.90313 0.332812 4.14375 0.628125C3.35156 0.9375 2.68125 1.34531 2.01563 2.01562C1.34531 2.68125 0.9375 3.35156 0.628125 4.13906C0.332812 4.90313 0.126563 5.775 0.0703125 7.05C0.0140625 8.33437 0 8.74219 0 12C0 15.2578 0.0140625 15.6656 0.0703125 16.9453C0.126563 18.2203 0.332812 19.0969 0.628125 19.8563C0.9375 20.6484 1.34531 21.3188 2.01563 21.9844C2.68125 22.65 3.35156 23.0625 4.13906 23.3672C4.90313 23.6625 5.775 23.8687 7.05 23.925C8.32969 23.9812 8.7375 23.9953 11.9953 23.9953C15.2531 23.9953 15.6609 23.9812 16.9406 23.925C18.2156 23.8687 19.0922 23.6625 19.8516 23.3672C20.6391 23.0625 21.3094 22.65 21.975 21.9844C22.6406 21.3188 23.0531 20.6484 23.3578 19.8609C23.6531 19.0969 23.8594 18.225 23.9156 16.95C23.9719 15.6703 23.9859 15.2625 23.9859 12.0047C23.9859 8.74688 23.9719 8.33906 23.9156 7.05938C23.8594 5.78438 23.6531 4.90781 23.3578 4.14844C23.0625 3.35156 22.6547 2.68125 21.9844 2.01562C21.3188 1.35 20.6484 0.9375 19.8609 0.632812C19.0969 0.3375 18.225 0.13125 16.95 0.075C15.6656 0.0140625 15.2578 0 12 0Z" fill="currentColor" /> 5697 <path d="M12 5.83594C8.59688 5.83594 5.83594 8.59688 5.83594 12C5.83594 15.4031 8.59688 18.1641 12 18.1641C15.4031 18.1641 18.1641 15.4031 18.1641 12C18.1641 8.59688 15.4031 5.83594 12 5.83594ZM12 15.9984C9.79219 15.9984 8.00156 14.2078 8.00156 12C8.00156 9.79219 9.79219 8.00156 12 8.001
569756C14.2078 8.00156 15.9984 9.79219 15.9984 12C15.9984 14.2078 14.2078 15.9984 12 15.9984Z" fill="currentColor" /> 5698 <path d="M19.8469 5.59238C19.8469 6.38926 19.2 7.03144 18.4078 7.03144C17.6109 7.03144 16.9688 6.38457 16.9688 5.59238C16.9688 4.7955 17.6156 4.15332 18.4078 4.15332C19.2 4.15332 19.8469 4.80019 19.8469 5.59238Z" fill="currentColor" /> 5699 </svg> 5700<span class="visually-hidden">Instagram</span> 5701 </a> 5702 </li> 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 <li> 5735 <a href="https://www.tiktok.com/@amandauprichard?lang=en" target="_blank" title="TikTok" class="flex aic"> 5736 5737 5738 <svg 5739 class="icon icon--tiktok" 5740 width="21" 5741 height="24" 5742 viewBox="0 0 21 24" 5743 fill="none" 5744 xmlns="http://www.w3.org/2000/svg" 5745 role="img" 5746 aria-labelledby="tiktok-svg-label-96"> 5747 <title id="tiktok-svg-label-96">tiktok</title> 5748 <path d="M15.0725 0H11.0278V16.3478C11.0278 18.2957 9.4722 19.8957 7.53626 19.8957C5.60034 19.8957 4.04469 18.2957 4.04469 16.3478C4.04469 14.4348 5.56577 12.8695 7.43257 12.8V8.69567C3.31872 8.7652 0 12.1391 0 16.3478C0 20.5913 3.38786 24 7.57085 24C11.7538 24 15.1416 20.5565 15.1416 16.3478V7.9652C16.6627 9.07827 18.5295 9.73913 20.5 9.77393V5.66957C17.4579 5.56522 15.0725 3.06087 15.0725 0Z" fill="currentColor" /> 5749 </svg> 5750<span class="visually-hidden">TikTok</span> 5751 </a> 5752 </li> 5753 5754 5755</ul> 5756</li> 5757 </ul> 5758 5759 5760 5761</nav> 5762 </div> 5763 </div> 5764 5765 5766
5767 <div class="header__util-link flex jce"><a href="#" onClick="return false;" id="SearchDrawerTrigger" class="search-trigger link-styled--reverse"> 5768 5769<svg 5770 class="icon icon--search" 5771 width="24" 5772 height="24" 5773 viewBox="0 0 24 24" 5774 fill="currentColor" 5775 role="img" 5776 aria-labelledby="search-icon-title" 5777 xmlns="http://www.w3.org/2000/svg"><title id="search-icon-title">Open search</title><path d="M15.5303 14.4697C15.2374 14.1768 14.7626 14.1768 14.4697 14.4697C14.1768 14.7626 14.1768 15.2374 14.4697 15.5303L15.5303 14.4697ZM20.4697 21.5303C20.7626 21.8232 21.2374 21.8232 21.5303 21.5303C21.8232 21.2374 21.8232 20.7626 21.5303 20.4697L20.4697 21.5303ZM10 16.25C6.54822 16.25 3.75 13.4518 3.75 10H2.25C2.25 14.2802 5.71979 17.75 10 17.75V16.25ZM16.25 10C16.25 13.4518 13.4518 16.25 10 16.25V17.75C14.2802 17.75 17.75 14.2802 17.75 10H16.25ZM10 3.75C13.4518 3.75 16.25 6.54822 16.25 10H17.75C17.75 5.71979 14.2802 2.25 10 2.25V3.75ZM10 2.25C5.71979 2.25 2.25 5.71979 2.25 10H3.75C3.75 6.54822 6.54822 3.75 10 3.75V2.25ZM14.4697 15.5303L20.4697 21.5303L21.5303 20.4697L15.5303 14.4697L14.4697 15.5303Z" /></svg> 5778 5779 </a><a 5780 href="/account/login" 5781 class="account link-styled--reverse " 5782 > 5783 <span> <svg fill="#000000" width="24px" height="24px" viewBox="0 0 30 30" id="_03_-_Account" data-name="03 - Account" xmlns="http://www.w3.org/2000/svg"> 5784 <path id="Path_217" data-name="Path 217" d="M16,1a8,8,0,1,0,8,8A8,8,0,0,0,16,1Zm0,2a6,6,0,1,1-6,6A6,6,0,0,1,16,3Z" transform="translate(-1 -1)" fill-rule="evenodd"/> 5785 <path id="Path_218" data-name="Path 218" d="M16,19.2c-5.657,0-10.558,1.175-13,2.82A3.865,3.865,0,0,0,1,25.1a3.865,3.865,0,0,0,2,3.08C5.442,29.825,10.343,31,16,31s10.558-1.175,13-2.82a3.865,3.865,0,0,0,2-3.08,3.865,3.865,0,0,0-2-3.08C26.558,20.375,21.657,19.2,16,19.2Zm0,2a26.973,26.973,0,0,1,10.867,1.909,5.8,5.8,0,0,1,1.694,1.132,1.06,1.06,0,0,1,0,1.718,5.8,5.8,0,0,1-1.694,1.132A26.973,26.973,0,0,1,16,29,26.973,26.973,0,0,1,5.133,27.091a5.8,5.8,0,0,1-1.694-1.132,1.06,1.06,0,0,1,0-1.718,5.8,5.8,0,0,1,1.694-1.132A26.973,26.973,0,0,1,16,21.2Z" transform="translate(-1 -1)" fill-rule="evenodd"/> 5786 </svg> </span> 5787 </a> 5788 5789 <a 5790 href="/cart" 5791 id="cart-icon-bubble" 5792 class="flex aic jcc container link-styled--reverse" 5793 role="button" 5794 aria-haspopup="dialog" 5795 aria-label="Toggle cart drawer" 5796 > 5797 5798 5799 <span class="visually-hidden"> 5800 Cart 5801 (0) 5802</span> 5803 5804 5805<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" class="icon icon--cart" 5806 width="24" 5807 height="24" 5808 fill="currentColor" 5809 style="width:17px !important; margin-top: -1px;" 5810 viewBox="0 0 68.17 78.31"> 5811 <defs> 5812 <style> 5813 .cls-1 { 5814 fill: none; 5815 stroke: #414142; 5816 stroke-miterlimit: 10; 5817 stroke-width: 4px; 5818 } 5819 </style> 5820 </defs> 5821 <g id="Layer_1-2" data-name="Layer 1"> 5822 <g> 5823 <path class="cls-1" d="M64.11,76.31H4.06c-1.2,0-2.15-1.15-2.05-2.51l3.15-46.2c.08-1.21.98-2.15,2.05-2.15h53.51c1.07,0,1.96.93,2.05,2.14l3.38,46.2c.1,1.36-.85,2.52-2.05,2.52Z"/> 5824 <path class="cls-1" d="M14.44,24.97c0-12.69,8.8-22.97,19.65-22.97s19.65,10.29,19.65,22.97"/> 5825 </g> 5826 </g> 5827</svg> 5828 </a> 5829 </div> 5830</header> 5831 5832 5833
5833<script type="text/javascript"> 5834 document.getElementById('shopify-section-header').classList.add('header--sticky'); 5835 </script>
5835 5836 5837 5838<style> 5839 .header { 5840 background-color: #ffffff; 5841 } 5842 .site-menu .primary-links>li>.details>.summary>.link-styled--reverse{ 5843 font-family: 'Neue Helvetica Light'; 5844 color: #414142; 5845 text-transform: capitalize; 5846 letter-spacing: 3px; 5847 font-weight: 500; 5848 } 5849 .header__util-link svg{ 5850 fill: #414142 !important; 5851 } 5852 /* .site-menu .primary-links>li>.details>.summary>.link-styled--reverse.main-nav-link.link-styled--active{ 5853 font-family: 'Neue Helvetica Regular'; 5854 padding-bottom: 5px; 5855 text-decoration: none !important; 5856 border-bottom: 1px solid #414142; 5857 } */ 5858 .megamenu.details__content .site-menu__submenu li.mega-menu__promo.megamenu-block .promo-banner-img, 5859 .megamenu.details__content .site-menu__submenu li.mega-menu__promo .video-container, 5860 .megamenu.details__content .site-menu__submenu li.mega-menu__promo .mp4video, 5861 .megamenu.details__content .site-menu__submenu li.mega-menu__promo .video-wrapper iframe { 5862 height: 300px; 5863 min-height: 300px; 5864 max-height: 300px; 5865 overflow:hidden; 5866 } 5867 @media screen and (min-width: 989px) { 5868 .site-menu .primary-links>li>.details>.summary>.link-styled--reverse{ 5869 font-size: 10px; 5870 color: #414142; 5871 text-transform: capitalize; 5872 letter-spacing: 3px; 5873 } 5874 } 5875</style> 5876
5877<script type="text/javascript"> 5878 setTimeout(() => { 5879 5880 document.documentElement.style.setProperty('--header-height', `${document.getElementById('shopify-section-header').clientHeight}px`); 5881 }, 10) 5882 5883 window.addEventListener('resize', () => { 5884 document.documentElement.style.setProperty('--header-height', `${document.getElementById('shopify-section-header').clientHeight}px`); 5885 }); 5886</script>
5886 5887
5888<script type="application/ld+json"> 5889 { 5890 "@context": "http://schema.org", 5891 "@type": "Organization", 5892 "name": "Amanda Uprichard", 5893 5894 "logo": "https:\/\/amandauprichard.com\/cdn\/shop\/files\/AU_Logo_SITE_3a702730-9763-4a76-9369-fbb259054aa7.jpg?v=1787581911\u0026width=892", 5895 5896 "sameAs": [ 5897 "", 5898 "https:\/\/www.facebook.com\/AmandaUprichard\/", 5899 "", 5900 "https:\/\/www.instagram.com\/amandauprichard\/?hl=en", 5901 "https:\/\/www.tiktok.com\/@amandauprichard?lang=en", 5902 "", 5903 "", 5904 "", 5905 "" 5906 ], 5907 "url": "https:\/\/amandauprichard.com" 5908 } 5909</script>
5909<script> 5910 document.addEventListener("DOMContentLoaded", function () { 5911 5912 document.querySelectorAll(".megamenu.details__content .site-menu__submenu li.mega-menu__promo .video-container") 5913 .forEach(function (container) { 5914 5915 const btn = container.querySelector(".video-toggle-btn"); 5916 const mp4 = container.querySelector("video"); 5917 const youtube = container.querySelector("iframe"); 5918 5919 if (!btn) return; 5920 5921 btn.addEventListener("click", function (e) { 5922 e.preventDefault(); 5923 e.stopPropagation(); 5924 5925 // MP4 control 5926 if (mp4) { 5927 if (mp4.paused) { 5928 mp4.play(); 5929 btn.innerText = "Pause"; 5930 } else { 5931 mp4.pause(); 5932 btn.innerText = "Play"; 5933 } 5934 } 5935 5936 // YouTube fallback toggle 5937 if (youtube && !mp4) { 5938 const src = youtube.src; 5939 5940 if (src.includes("autoplay=1")) { 5941 youtube.src = src.replace("autoplay=1", "autoplay=0"); 5942 btn.innerText = "Play"; 5943 } else { 5944 youtube.src = src.replace("autoplay=0", "autoplay=1"); 5945 btn.innerText = "Pause"; 5946 } 5947 } 5948 5949 }); 5950 5951 }); 5952 5953}); 5954</script>
5954 5955
5956<script> 5957 // Removes unnecessary aria-expanded/aria-controls from top-level nav links 5958 document.querySelectorAll('.summary-anchor.summary a.menu-item.main-nav-link').forEach(function (link) { 5959 new MutationObserver(function () { 5960 link.removeAttribute('aria-expanded'); 5961 link.removeAttribute('aria-controls'); 5962 }).observe(link, { attributes: true, attributeFilter: ['aria-expanded', 'aria-controls'] }); 5963 5964 link.removeAttribute('aria-expanded'); 5965 link.removeAttribute('aria-controls'); 5966 }); 5967</script>
5967 5968 5969 5970<style> #shopify-section-header h2 {font-size: 32px;} </style></div> 5971 5972 <main 5973 id="MainContent" 5974 class="content-for-layout " 5975 role="main" 5976 tabindex="-1" 5977 > 5978 5979 5980 <div id="shopify-section-template--18565039095856__cart-items" class="shopify-section">
5980<script src="//amandauprichard.com/cdn/shop/t/440/assets/cart.js?v=25699383650049158961772650868" defer="defer"></script>
5980<style data-shopify>.section-template--18565039095856__cart-items-padding { 5981 padding-top: 27px; 5982 padding-bottom: 27px; 5983 } 5984 5985 @media screen and (min-width: 750px) { 5986 .section-template--18565039095856__cart-items-padding { 5987 padding-top: 36px; 5988 padding-bottom: 36px; 5989 } 5990 }</style> 5991<cart-items class="page-width is-empty"> 5992 <div class="title-wrapper-with-link flex jcb flex--mobile"> 5993 <h1 class="title title--primary h4">Your cart</h1> 5994 <a href="/collections/new-arrivals2" class="underlined-link">Continue shopping</a> 5995 5996 </div> 5997 5998 <div class="cart__warnings"> 5999 <h1 class="cart__empty-text h4">Your cart is empty</h1> 6000 <a href="/collections/new-arrivals2" class="button"> 6001 Continue shopping 6002 </a></div> 6003 6004 <form action="/cart" class="cart__contents critical-hidden" method="post" id="cart"> 6005 <div class="cart__items" id="main-cart-items" data-id="template--18565039095856__cart-items"> 6006 <div class="js-contents"></div> 6007 </div> 6008 6009 <p class="visually-hidden" id="cart-live-region-text" aria-live="polite" role="status"></p> 6010 <p class="visually-hidden" id="shopping-cart-line-item-status" aria-live="polite" aria-hidden="true" role="status">Loading...</p> 6011 </form> 6012</cart-items> 6013 6014 6015 6016 6017</div><div id="shopify-section-template--18565039095856__cart-footer" class="shopify-section cart__footer-wrapper"><div class="page-width is-empty" id="main-cart-footer" data-id="template--18565039095856__cart-footer"> 6018 <div> 6019 <div class="cart__footer"><div class="cart__blocks"> 6020 6021<div class="js-contents" > 6022 <div class="totals"> 6023 <h2 class="totals__subtotal">Subtotal</h2> 6024 <p class="totals__subtotal-value">$0.00 USD</p> 6025 </div> 6026 6027 <div></div> 6028 6029 <small class="tax-note caption-large rte"> 6030 <span>Taxes </span>Calculated at checkout </small> 6031 </div> 6032<div class="cart__ctas" > 6033 <noscript> 6034 <button type="submit" class="cart__update-button button button--secondary" form="cart"> 6035 Update 6036 </button> 6037 </noscript> 6038 6039 <button type="submit" id="checkout" class="cart__checkout-button btn btn--primary" name="checkout" disabled form="cart"> 6040 Checkout 6041 </button> 6042 </div><div class="cart__dynamic-checkout-buttons additional-checkout-buttons"> 6043 <div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":2013874,"merchantName":"Amanda Uprichard","personalized":true}},{"supports_subs":false,"supports_def_opts":false,"name":"amazon_pay","wallet_params":{"checkoutLanguage":"en_US","ledgerCurrency":"USD","placement":"Cart","sandbox":false,"merchantId":"AR7HY7XPL1KHJ","productType":"PayAndShip","design":"C0002"}}]" access-token="fe2cf49819673cc2ca03311276cb32d4" buyer-country="US" buyer-locale="en" buyer-currency="USD" shop-id="2013874" cart-id="fb30965541bf034727c2ea10b337fd51" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div> 6044 </div> 6045 6046 <div id="cart-errors"></div> 6047 </div> 6048 </div> 6049 </div> 6050</div> 6051
6052<script> 6053 document.addEventListener('DOMContentLoaded', function() { 6054 function isIE() { 6055 const ua = window.navigator.userAgent; 6056 const msie = ua.indexOf('MSIE '); 6057 const trident = ua.indexOf('Trident/'); 6058 6059 return (msie > 0 || trident > 0); 6060 } 6061 6062 if (!isIE()) return; 6063 const cartSubmitInput = document.createElement('input'); 6064 cartSubmitInput.setAttribute('name', 'checkout'); 6065 cartSubmitInput.setAttribute('type', 'hidden'); 6066 document.querySelector('#cart').appendChild(cartSubmitInput); 6067 document.querySelector('#checkout').addEventListener('click', function(event) { 6068 document.querySelector('#cart').submit(); 6069 }); 6070 }); 6071</script>
6071 6072 6073 6074</div> 6075 6076 </main> 6077 6078 6079<div id="shopify-section-search-drawer" class="shopify-section"><search-drawer class="global-search"> 6080 <div class="search-drawer drawer" tabindex="-1" role="dialog" aria-modal="true" aria-label="search"> 6081 <div class="overlay drawer-close"></div> 6082 <div class="drawer__container flex flex--column"> 6083 <div class="loading-overlay__spinner loading-assets"> 6084 <svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> 6085 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 6086 </svg> 6087 </div> 6088 <div class="drawer__header text-center"> 6089 <button 6090 class="btn btn--unstyled content--floating drawer-close search_close" 6091 type="button" 6092 aria-label="Close" 6093 onclick="this.closest('search-drawer').closeDrawer()"> 6094 6095<svg 6096 class="icon icon--close" 6097 width="24" 6098 height="24" 6099 viewBox="0 0 24 24" 6100 fill="none" 6101 xmlns="http://www.w3.org/2000/svg"><path 6102 d="M6 18L18 6M6 6L18 18" 6103 stroke="#171717" 6104 stroke-width="1.67" 6105 stroke-linecap="round" 6106 stroke-linejoin="round" /></svg> 6107 </button> 6108 6109 <h2 class="drawer__heading visually-hidden"> 6110 Search 6111 </h2> 6112 </div> 6113 6114 <div class="drawer__body"> 6115 <predictive-search class="search-modal__form" data-loading-text="Loading..."> 6116 <div role="region" aria-label="product filter" ><form action="/search" method="get" role="search" class="search"> 6117 <div class="flex aic jcb"> 6118 <div class="form__input flex aic"> 6119 <div class="visually-hidden">The following text field filters the results that follow as you type. Use Tab to access the results.</div> 6120 <label class="visually-hidden" for="SearchInput">Search</label> 6121 6122<svg 6123 class="icon icon--search" 6124 width="24" 6125 height="24" 6126 viewBox="0 0 24 24" 6127 fill="currentColor" 6128 role="img" 6129 aria-labelledby="search-icon-title" 6130 xmlns="http://www.w3.org/2000/svg"><title id="search-icon-title">Open search</title><path d="M15.5303 14.4697C15.2374 14.1768 14.7626 14.1768 14.4697 14.4697C14.1768 14.7626 14.1768 15.2374 14.4697 15.5303L15.5303 14.4697ZM20.4697 21.5303C20.7626 21.8232 21.2374 21.8232 21.5303 21.5303C21.8232 21.2374 21.8232 20.7626 21.5303 20.4697L20.4697 21.5303ZM10 16.25C6.54822 16.25 3.75 13.4518 3.75 10H2.25C2.25 14.2802 5.71979 17.75 10 17.75V16.25ZM16.25 10C16.25 13.4518 13.4518 16.25 10 16.25V17.75C14.2802 17.75 17.75 14.2802 17.75 10H16.25ZM10 3.75C13.4518 3.75 16.25 6.54822 16.25 10H17.75C17.75 5.71979 14.2802 2.25 10 2.25V3.75ZM10 2.25C5.71979 2.25 2.25 5.71979 2.25 10H3.75C3.75 6.54822 6.54822 3.75 10 3.75V2.25ZM14.4697 15.5303L20.4697 21.5303L21.5303 20.4697L15.5303 14.4697L14.4697 15.5303Z" /></svg> 6131 <input 6132 id="SearchInput" 6133 type="search" 6134 name="q" 6135 value="" 6136 placeholder="Search"autocorrect="off" 6137 autocapitalize="off" 6138 spellcheck="false" 6139 role="combobox" 6140 aria-autocomplete="list" 6141 aria-haspopup="listbox" 6142 aria-expanded="false" 6143 aria-controls="predictive-search"> 6144 </div></div> 6145 6146 <input type="hidden" name="options[prefix]" value="last"><div id="predictive-search" class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search role="listbox"> 6147 </div> 6148 6149 <span class="predictive-search-status visually-hidden" aria-live="assertive"></span></form></div> 6150 </predictive-search> 6151 </div> 6152 </div> 6153 </div> 6154</search-drawer> 6155 6156 6157</div><div id="shopify-section-footer" class="shopify-section"><style data-shopify>.site-footer { 6158 margin-top: 0px; 6159 padding-top: 38px; 6160 padding-bottom: 24px; 6161 }.site-footer.custom { 6162 background-color: #efe8e3; 6163 color: #414142; 6164 } 6165 .site-footer.custom .footer__heading, 6166 .site-footer.custom .menu-item, 6167 .site-footer.custom .link-styled--reverse, 6168 .site-footer.custom .copyright__content, 6169 .site-footer.custom .footer-newsletter-description { 6170 color: #414142; 6171 }.site-footer .footer__heading, 6172 .site-footer .footer-block h3 { 6173 text-transform: uppercase; 6174 }</style><footer class=" site-footer custom"> 6175 <div class="footer__inner page-width--padded"><div class="footer__blocks content--full-width flex flex--gap flex--mobile" style="--flex-gap: 2rem"> 6176 <div class="footer-block " ><div id="Details-Footer-1001986e-aece-45fe-9af4-69e0131a1b8c" class="details footer-block__disclosure mobile--only"> 6177 <button 6178 class="flex jcb aic footer__heading summary" 6179 aria-label="Toggle Client Service" 6180 role="button" 6181 aria-controls="footer-block-text-1001986e-aece-45fe-9af4-69e0131a1b8c" 6182 aria-expanded="true" 6183 > 6184 6185 <h3>Client Service</h3>
6186 <span class="footer_details__icon"> 6187 <svg 6188 width="9" 6189 height="9" 6190 viewBox="0 0 9 9" 6191 fill="none" 6192 xmlns="http://www.w3.org/2000/svg" 6193 > 6194 <rect 6195 x="3.69824" 6196 y="8.53516" 6197 width="8.53498" 6198 height="1.138" 6199 transform="rotate(-90 3.69824 8.53516)" 6200 fill="#414042" /> 6201 <rect 6202 y="4.83594" 6203 width="1.138" 6204 height="8.53498" 6205 transform="rotate(-90 0 4.83594)" 6206 fill="#414042" /> 6207 </svg> 6208 </span> 6209 </button> 6210 6211 <h3 class="footer__heading">Client Service</h3><div 6212 id="footer-block-text-1001986e-aece-45fe-9af4-69e0131a1b8c" 6213 class="footer-block__text details__content" 6214 > 6215 <div class="details__content-inner"> 6216 <p>Monday to Thursday, <br/>1 PM TO 5 PM, Eastern Time. <br/>p: 1.888.812.9803 <br/>e: [email protected]</p> 6217</div> 6218 </div></div> 6219 <div class="social-wrapper__left small-hide"><div class="footer__list-social small-hide"><ul class="list-unstyled flex flex--gap aic" role="list" style="--flex-gap: 1rem"> 6220 6221 6222 6223 6224 6225 6226 <li> 6227 <a href="https://www.facebook.com/AmandaUprichard/" target="_blank" title="Facebook" class="flex aic"> 6228 6229 <svg 6230 class="icon icon--facebook" 6231 width="24" 6232 height="24" 6233 viewBox="0 0 24 24" 6234 fill="none" 6235 xmlns="http://www.w3.org/2000/svg" 6236 role="img" 6237 aria-labelledby="facebook-svg-label-71"> 6238 <title id="facebook-svg-label-71">facebook</title> 6239 <mask 6240 id="mask0_71_93" 6241 style="mask-type:luminance" 6242 maskUnits="userSpaceOnUse" 6243 x="0" 6244 y="0" 6245 width="24" 6246 height="24"> 6247 <path d="M24 0H0V24H24V0Z" fill="white" /> 6248 </mask> 6249 <g mask="url(#mask0_71_93)"> 6250 <path d="M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 17.9895 4.3882 22.954 10.125 23.8542V15.4688H7.07812V12H10.125V9.35625C10.125 6.34875 11.9166 4.6875 14.6576 4.6875C15.9701 4.6875 17.3438 4.92188 17.3438 4.92188V7.875H15.8306C14.34 7.875 13.875 8.80008 13.875 9.75V12H17.2031L16.6711 15.4688H13.875V23.8542C19.6118 22.954 24 17.9895 24 12Z" fill="currentColor" /> 6251 </g> 6252 </svg> 6253<span class="visually-hidden">Facebook</span> 6254 </a> 6255 </li> 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 <li> 6270 <a href="https://www.instagram.com/amandauprichard/?hl=en" target="_blank" title="Instagram" class="flex aic"> 6271 6272 <svg 6273 class="icon icon--instagram" 6274 width="24" 6275 height="24" 6276 viewBox="0 0 24 24" 6277 fill="none" 6278 xmlns="http://www.w3.org/2000/svg" 6279 role="img" 6280 aria-labelledby="instagram-svg-label-6"> 6281 <title id="instagram-svg-label-6">instagram</title> 6282 <path d="M12 2.16094C15.2063 2.16094 15.5859 2.175 16.8469 2.23125C18.0188 2.28281 18.6516 2.47969 19.0734 2.64375C19.6313 2.85938 20.0344 3.12188 20.4516 3.53906C20.8734 3.96094 21.1313 4.35938 21.3469 4.91719C21.5109 5.33906 21.7078 5.97656 21.7594 7.14375C21.8156 8.40937 21.8297 8.78906 21.8297 11.9906C21.8297 15.1969 21.8156 15.5766 21.7594 16.8375C21.7078 18.0094 21.5109 18.6422 21.3469 19.0641C21.1313 19.6219 20.8687 20.025 20.4516 20.4422C20.0297 20.8641 19.6313 21.1219 19.0734 21.3375C18.6516 21.5016 18.0141 21.6984 16.8469 21.75C15.5813 21.8062 15.2016 21.8203 12 21.8203C8.79375 21.8203 8.41406 21.8062 7.15313 21.75C5.98125 21.6984 5.34844 21.5016 4.92656 21.3375C4.36875 21.1219 3.96563 20.8594 3.54844 20.4422C3.12656 20.0203 2.86875 19.6219 2.65313 19.0641C2.48906 18.6422 2.29219 18.0047 2.24063 16.8375C2.18438 15.5719 2.17031 15.1922 2.17031 11.9906C2.17031 8.78438 2.18438 8.40469 2.24063 7.14375C2.29219 5.97187 2.48906 5.33906 2.65313 4.91719C2.86875 4.35938 3.13125 3.95625 3.54844 3.53906C3.97031 3.11719 4.36875 2.85938 4.92656 2.64375C5.34844 2.47969 5.98594 2.28281 7.15313 2.23125C8.41406 2.175 8.79375 2.16094 12 2.16094ZM12 0C8.74219 0 8.33438 0.0140625 7.05469 0.0703125C5.77969 0.126563 4.90313 0.332812 4.14375 0.628125C3.35156 0.9375 2.68125 1.34531 2.01563 2.01562C1.34531 2.68125 0.9375 3.35156 0.628125 4.13906C0.332812 4.90313 0.126563 5.775 0.0703125 7.05C0.0140625 8.33437 0 8.74219 0 12C0 15.2578 0.0140625 15.6656 0.0703125 16.9453C0.126563 18.2203 0.332812 19.0969 0.628125 19.8563C0.9375 20.6484 1.34531 21.3188 2.01563 21.9844C2.68125 22.65 3.35156 23.0625 4.13906 23.3672C4.90313 23.6625 5.775 23.8687 7.05 23.925C8.32969 23.9812 8.7375 23.9953 11.9953 23.9953C15.2531 23.9953 15.6609 23.9812 16.9406 23.925C18.2156 23.8687 19.0922 23.6625 19.8516 23.3672C20.6391 23.0625 21.3094 22.65 21.975 21.9844C22.6406 21.3188 23.0531 20.6484 23.3578 19.8609C23.6531 19.0969 23.8594 18.225 23.9156 16.95C23.9719 15.6703 23.9859
628215.2625 23.9859 12.0047C23.9859 8.74688 23.9719 8.33906 23.9156 7.05938C23.8594 5.78438 23.6531 4.90781 23.3578 4.14844C23.0625 3.35156 22.6547 2.68125 21.9844 2.01562C21.3188 1.35 20.6484 0.9375 19.8609 0.632812C19.0969 0.3375 18.225 0.13125 16.95 0.075C15.6656 0.0140625 15.2578 0 12 0Z" fill="currentColor" /> 6283 <path d="M12 5.83594C8.59688 5.83594 5.83594 8.59688 5.83594 12C5.83594 15.4031 8.59688 18.1641 12 18.1641C15.4031 18.1641 18.1641 15.4031 18.1641 12C18.1641 8.59688 15.4031 5.83594 12 5.83594ZM12 15.9984C9.79219 15.9984 8.00156 14.2078 8.00156 12C8.00156 9.79219 9.79219 8.00156 12 8.00156C14.2078 8.00156 15.9984 9.79219 15.9984 12C15.9984 14.2078 14.2078 15.9984 12 15.9984Z" fill="currentColor" /> 6284 <path d="M19.8469 5.59238C19.8469 6.38926 19.2 7.03144 18.4078 7.03144C17.6109 7.03144 16.9688 6.38457 16.9688 5.59238C16.9688 4.7955 17.6156 4.15332 18.4078 4.15332C19.2 4.15332 19.8469 4.80019 19.8469 5.59238Z" fill="currentColor" /> 6285 </svg> 6286<span class="visually-hidden">Instagram</span> 6287 </a> 6288 </li> 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 <li> 6321 <a href="https://www.tiktok.com/@amandauprichard?lang=en" target="_blank" title="TikTok" class="flex aic"> 6322 6323 6324 <svg 6325 class="icon icon--tiktok" 6326 width="21" 6327 height="24" 6328 viewBox="0 0 21 24" 6329 fill="none" 6330 xmlns="http://www.w3.org/2000/svg" 6331 role="img" 6332 aria-labelledby="tiktok-svg-label-16"> 6333 <title id="tiktok-svg-label-16">tiktok</title> 6334 <path d="M15.0725 0H11.0278V16.3478C11.0278 18.2957 9.4722 19.8957 7.53626 19.8957C5.60034 19.8957 4.04469 18.2957 4.04469 16.3478C4.04469 14.4348 5.56577 12.8695 7.43257 12.8V8.69567C3.31872 8.7652 0 12.1391 0 16.3478C0 20.5913 3.38786 24 7.57085 24C11.7538 24 15.1416 20.5565 15.1416 16.3478V7.9652C16.6627 9.07827 18.5295 9.73913 20.5 9.77393V5.66957C17.4579 5.56522 15.0725 3.06087 15.0725 0Z" fill="currentColor" /> 6335 </svg> 6336<span class="visually-hidden">TikTok</span> 6337 </a> 6338 </li> 6339 6340 6341</ul> 6342 </div><div class="footer__copyright flex jcb flex--mobile"> 6343 <div class="footer__copyright caption"> 6344 <small class="copyright__content" 6345 >© Uprichard Inc. 6346 2026</small> 6347 </div></div> 6348 </div> 6349 6350</div> 6351 6352 6353 <div class="footer-block " ><div id="Details-Footer-35cc2e71-eabf-4724-a00b-2ebc83716f3f" class="details footer-block__disclosure mobile--only"> 6354 <button 6355 class="flex jcb aic footer__heading summary" 6356 aria-label="Toggle Shop" 6357 role="button" 6358 aria-controls="footer-block-link_list-35cc2e71-eabf-4724-a00b-2ebc83716f3f" 6359 aria-expanded="true" 6360 > 6361 6362 <h3>Shop</h3> 6363 <span class="footer_details__icon"> 6364 <svg 6365 width="9" 6366 height="9"
6367 viewBox="0 0 9 9" 6368 fill="none" 6369 xmlns="http://www.w3.org/2000/svg" 6370 > 6371 <rect 6372 x="3.69824" 6373 y="8.53516" 6374 width="8.53498" 6375 height="1.138" 6376 transform="rotate(-90 3.69824 8.53516)" 6377 fill="#414042" /> 6378 <rect 6379 y="4.83594" 6380 width="1.138" 6381 height="8.53498" 6382 transform="rotate(-90 0 4.83594)" 6383 fill="#414042" /> 6384 </svg> 6385 </span> 6386 </button> 6387 6388 <h3 class="footer__heading">Shop</h3><div id="footer-block-link_list-35cc2e71-eabf-4724-a00b-2ebc83716f3f" class="details__content"> 6389 <ul class="footer-block__linklist details__content-inner list-unstyled"><li class=""> 6390 <a 6391 href="/collections/new-arrivals2" 6392 class="menu-item link-styled--reverse" 6393 > 6394 New In 6395 </a> 6396 </li><li class=""> 6397 <a 6398 href="/collections/best-sellers-1" 6399 class="menu-item link-styled--reverse" 6400 > 6401 Bestsellers 6402 </a> 6403 </li><li class=""> 6404 <a 6405 href="/collections/all-dresses" 6406 class="menu-item link-styled--reverse" 6407 > 6408 Dresses 6409 </a> 6410 </li><li class=""> 6411 <a 6412 href="/collections/rompers2" 6413 class="menu-item link-styled--reverse" 6414 > 6415 Rompers 6416 </a> 6417 </li><li class=""> 6418 <a 6419 href="/collections/matching-sets" 6420 class="menu-item link-styled--reverse" 6421 > 6422 Matching Sets 6423 </a> 6424 </li><li class=""> 6425 <a 6426 href="/collections/accessories" 6427 class="menu-item link-styled--reverse" 6428 > 6429 Accessories 6430 </a> 6431 </li><li class=""> 6432 <a 6433 href="/collections/all-clothing" 6434 class="menu-item link-styled--reverse" 6435 > 6436 Shop All 6437 </a> 6438 </li></ul> 6439 </div></div> 6440</div> 6441 6442 6443 <div class="footer-block " ><div id="Details-Footer-0e19b5b7-552c-4bd9-acd2-22ae04dcac29" class="details footer-block__disclosure mobile--only"> 6444 <button 6445 class="flex jcb aic footer__heading summary" 6446 aria-label="Toggle Customer Care" 6447 role="button" 6448 aria-controls="footer-block-link_list-0e19b5b7-552c-4bd9-acd2-22ae04dcac29" 6449 aria-expanded="true" 6450 > 6451 6452 <h3>Customer Care</h3> 6453 <span class="footer_details__icon"> 6454 <svg 6455 width="9" 6456 height="9"
6457 viewBox="0 0 9 9" 6458 fill="none" 6459 xmlns="http://www.w3.org/2000/svg" 6460 > 6461 <rect 6462 x="3.69824" 6463 y="8.53516" 6464 width="8.53498" 6465 height="1.138" 6466 transform="rotate(-90 3.69824 8.53516)" 6467 fill="#414042" /> 6468 <rect 6469 y="4.83594" 6470 width="1.138" 6471 height="8.53498" 6472 transform="rotate(-90 0 4.83594)" 6473 fill="#414042" /> 6474 </svg> 6475 </span> 6476 </button> 6477 6478 <h3 class="footer__heading">Customer Care</h3><div id="footer-block-link_list-0e19b5b7-552c-4bd9-acd2-22ae04dcac29" class="details__content"> 6479 <ul class="footer-block__linklist details__content-inner list-unstyled"><li class=""> 6480 <a 6481 href="/pages/about-1" 6482 class="menu-item link-styled--reverse" 6483 > 6484 About 6485 </a> 6486 </li><li class=""> 6487 <a 6488 href="/pages/contact-1" 6489 class="menu-item link-styled--reverse" 6490 > 6491 Contact 6492 </a> 6493 </li><li class=""> 6494 <a 6495 href="/pages/faqs" 6496 class="menu-item link-styled--reverse" 6497 > 6498 FAQs 6499 </a> 6500 </li><li class=""> 6501 <a 6502 href="/pages/terms-of-service" 6503 class="menu-item link-styled--reverse" 6504 > 6505 Privacy Policy 6506 </a> 6507 </li><li class=""> 6508 <a 6509 href="/pages/terms-of-service" 6510 class="menu-item link-styled--reverse" 6511 > 6512 Terms & Conditions 6513 </a> 6514 </li><li class=""> 6515 <a 6516 href="/pages/accessibility-statement" 6517 class="menu-item link-styled--reverse" 6518 > 6519 Accessibility 6520 </a> 6521 </li></ul> 6522 </div></div> 6523</div> 6524 6525 6526 <div class="footer-block " ><div id="Details-Footer-781cf8f8-f09e-42b5-97ce-9d6754e0df9f" class="details footer-block__disclosure mobile--only"> 6527 <button 6528 class="flex jcb aic footer__heading summary" 6529 aria-label="Toggle Info" 6530 role="button" 6531 aria-controls="footer-block-link_list-781cf8f8-f09e-42b5-97ce-9d6754e0df9f" 6532 aria-expanded="true" 6533 > 6534 6535 <h3>Info</h3> 6536 <span class="footer_details__icon"> 6537 <svg 6538 width="9" 6539 height="9"
6540 viewBox="0 0 9 9" 6541 fill="none" 6542 xmlns="http://www.w3.org/2000/svg" 6543 > 6544 <rect 6545 x="3.69824" 6546 y="8.53516" 6547 width="8.53498" 6548 height="1.138" 6549 transform="rotate(-90 3.69824 8.53516)" 6550 fill="#414042" /> 6551 <rect 6552 y="4.83594" 6553 width="1.138" 6554 height="8.53498" 6555 transform="rotate(-90 0 4.83594)" 6556 fill="#414042" /> 6557 </svg> 6558 </span> 6559 </button> 6560 6561 <h3 class="footer__heading">Info</h3><div id="footer-block-link_list-781cf8f8-f09e-42b5-97ce-9d6754e0df9f" class="details__content"> 6562 <ul class="footer-block__linklist details__content-inner list-unstyled"><li class=""> 6563 <a 6564 href="https://amandauprichard.com/pages/shipping" 6565 class="menu-item link-styled--reverse" 6566 > 6567 Shipping 6568 </a> 6569 </li><li class=""> 6570 <a 6571 href="https://amandauprichard.com/pages/returns" 6572 class="menu-item link-styled--reverse" 6573 > 6574 Returns 6575 </a> 6576 </li><li class=""> 6577 <a 6578 href="/pages/affiliate" 6579 class="menu-item link-styled--reverse" 6580 > 6581 Affiliate 6582 </a> 6583 </li><li class=""> 6584 <a 6585 href="/pages/wholesale" 6586 class="menu-item link-styled--reverse" 6587 > 6588 Wholesale 6589 </a> 6590 </li><li class=""> 6591 <a 6592 href="https://amandauprichard.com/pages/careers-at-au" 6593 class="menu-item link-styled--reverse" 6594 > 6595 Careers 6596 </a> 6597 </li></ul> 6598 </div></div> 6599</div> 6600 6601 6602 <div class="footer-block footer__newsletter"><div class="footer__list-social large-up-hide medium-hide"><ul class="list-unstyled flex flex--gap aic" role="list" style="--flex-gap: 1rem"> 6603 6604 6605 6606 6607 6608 6609 <li> 6610 <a href="https://www.facebook.com/AmandaUprichard/" target="_blank" title="Facebook" class="flex aic"> 6611 6612 <svg 6613 class="icon icon--facebook" 6614 width="24" 6615 height="24" 6616 viewBox="0 0 24 24" 6617 fill="none" 6618 xmlns="http://www.w3.org/2000/svg" 6619 role="img" 6620 aria-labelledby="facebook-svg-label-83"> 6621 <title id="facebook-svg-label-83">facebook</title> 6622 <mask 6623 id="mask0_71_93" 6624 style="mask-type:luminance" 6625 maskUnits="userSpaceOnUse" 6626 x="0" 6627 y="0" 6628 width="24" 6629 height="24"> 6630 <path d="M24 0H0V24H24V0Z" fill="white" /> 6631 </mask> 6632 <g mask="url(#mask0_71_93)"> 6633 <path d="M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 17.9895 4.3882 22.954 10.125 23.8542V15.4688H7.07812V12H10.125V9.35625C10.125 6.34875 11.9166 4.6875 14.6576 4.6875C15.9701 4.6875 17.3438 4.92188 17.3438 4.92188V7.875H15.8306C14.34 7.875 13.875 8.80008 13.875 9.75V12H17.2031L16.6711 15.4688H13.875V23.8542C19.6118 22.954 24 17.9895 24 12Z" fill="currentColor" /> 6634 </g> 6635 </svg> 6636<span class="visually-hidden">Facebook</span> 6637 </a> 6638 </li> 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 <li> 6653 <a href="https://www.instagram.com/amandauprichard/?hl=en" target="_blank" title="Instagram" class="flex aic"> 6654 6655 <svg 6656 class="icon icon--instagram" 6657 width="24" 6658 height="24"
6659 viewBox="0 0 24 24" 6660 fill="none" 6661 xmlns="http://www.w3.org/2000/svg" 6662 role="img" 6663 aria-labelledby="instagram-svg-label-20"> 6664 <title id="instagram-svg-label-20">instagram</title> 6665 <path d="M12 2.16094C15.2063 2.16094 15.5859 2.175 16.8469 2.23125C18.0188 2.28281 18.6516 2.47969 19.0734 2.64375C19.6313 2.85938 20.0344 3.12188 20.4516 3.53906C20.8734 3.96094 21.1313 4.35938 21.3469 4.91719C21.5109 5.33906 21.7078 5.97656 21.7594 7.14375C21.8156 8.40937 21.8297 8.78906 21.8297 11.9906C21.8297 15.1969 21.8156 15.5766 21.7594 16.8375C21.7078 18.0094 21.5109 18.6422 21.3469 19.0641C21.1313 19.6219 20.8687 20.025 20.4516 20.4422C20.0297 20.8641 19.6313 21.1219 19.0734 21.3375C18.6516 21.5016 18.0141 21.6984 16.8469 21.75C15.5813 21.8062 15.2016 21.8203 12 21.8203C8.79375 21.8203 8.41406 21.8062 7.15313 21.75C5.98125 21.6984 5.34844 21.5016 4.92656 21.3375C4.36875 21.1219 3.96563 20.8594 3.54844 20.4422C3.12656 20.0203 2.86875 19.6219 2.65313 19.0641C2.48906 18.6422 2.29219 18.0047 2.24063 16.8375C2.18438 15.5719 2.17031 15.1922 2.17031 11.9906C2.17031 8.78438 2.18438 8.40469 2.24063 7.14375C2.29219 5.97187 2.48906 5.33906 2.65313 4.91719C2.86875 4.35938 3.13125 3.95625 3.54844 3.53906C3.97031 3.11719 4.36875 2.85938 4.92656 2.64375C5.34844 2.47969 5.98594 2.28281 7.15313 2.23125C8.41406 2.175 8.79375 2.16094 12 2.16094ZM12 0C8.74219 0 8.33438 0.0140625 7.05469 0.0703125C5.77969 0.126563 4.90313 0.332812 4.14375 0.628125C3.35156 0.9375 2.68125 1.34531 2.01563 2.01562C1.34531 2.68125 0.9375 3.35156 0.628125 4.13906C0.332812 4.90313 0.126563 5.775 0.0703125 7.05C0.0140625 8.33437 0 8.74219 0 12C0 15.2578 0.0140625 15.6656 0.0703125 16.9453C0.126563 18.2203 0.332812 19.0969 0.628125 19.8563C0.9375 20.6484 1.34531 21.3188 2.01563 21.9844C2.68125 22.65 3.35156 23.0625 4.13906 23.3672C4.90313 23.6625 5.775 23.8687 7.05 23.925C8.32969 23.9812 8.7375 23.9953 11.9953 23.9953C15.2531 23.9953 15.6609 23.9812 16.9406 23.925C18.2156 23.8687 19.0922 23.6625 19.8516 23.3672C20.6391 23.0625 21.3094 22.65 21.975 21.9844C22.6406 21.3188 23.0531 20.6484 23.3578 19.8609C23.6531 19.0969 23.8594 18.225 23.9156 16.95C23.9719 15.6703 23.9859 15.2625 23.9859 12.0047C23.9859 8.74688 23.9719 8.33906 23.9156 7.05938C23.8594 5.78438 23.6531 4.90781 23.3578 4.14844C23.0625 3.35156 22.6547 2.68125 21.9844 2.01562C21.3188 1.35 20.6484 0.9375 19.8609 0.632812C19.0969 0.3375 18.225 0.13125 16.95 0.075C15.6656 0.0140625 15.2578 0 12 0Z" fill="currentColor" /> 6666 <path d="M12 5.83594C8.59688 5.83594 5.83594 8.59688 5.83594 12C5.83594 15.4031 8.59688 18.1641 12 18.1641C15.4031 18.1641 18.1641 15.4031 18.1641 12C18.1641 8.59688 15.4031 5.83594 12 5.83594ZM12 15.9984C9.79219 15.9984 8.00156 14.2078 8.00156 12C8.00156 9.79219 9.79219 8.00156 12 8.00156C14.2078 8.00156 15.9984 9.79219 15.9984 12C15.9984 14.2078 14.2078 15.9984 12 15.9984Z" fill="currentColor" /> 6667 <path d="M19.8469 5.59238C19.8469 6.38926 19.2 7.03144 18.4078 7.03144C17.6109 7.03144 16.9688 6.38457 16.9688 5.59238C16.9688 4.7955 17.6156 4.15332 18.4078 4.15332C19.2 4.15332 19.8469 4.80019 19.8469 5.59238Z" fill="currentColor" /> 6668 </svg> 6669<span class="visually-hidden">Instagram</span> 6670 </a> 6671 </li> 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 <li> 6704 <a href="https://www.tiktok.com/@amandauprichard?lang=en" target="_blank" title="TikTok" class="flex aic"> 6705 6706 6707 <svg 6708 class="icon icon--tiktok" 6709 width="21" 6710 height="24" 6711 viewBox="0 0 21 24" 6712 fill="none" 6713 xmlns="http://www.w3.org/2000/svg" 6714 role="img" 6715 aria-labelledby="tiktok-svg-label-84"> 6716 <title id="tiktok-svg-label-84">tiktok</title> 6717 <path d="M15.0725 0H11.0278V16.3478C11.0278 18.2957 9.4722 19.8957 7.53626 19.8957C5.60034 19.8957 4.04469 18.2957 4.04469 16.3478C4.04469 14.4348 5.56577 12.8695 7.43257 12.8V8.69567C3.31872 8.7652 0 12.1391 0 16.3478C0 20.5913 3.38786 24 7.57085 24C11.7538 24 15.1416 20.5565 15.1416 16.3478V7.9652C16.
67176627 9.07827 18.5295 9.73913 20.5 9.77393V5.66957C17.4579 5.56522 15.0725 3.06087 15.0725 0Z" fill="currentColor" /> 6718 </svg> 6719<span class="visually-hidden">TikTok</span> 6720 </a> 6721 </li> 6722 6723 6724</ul> 6725 </div><div class="footer__newsletter-wrapper"> 6726 <h3 class="footer__heading small-hide">Subscribe for 15% off</h3><form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="footer__newsletter newsletter-form small-hide"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input 6727 type="hidden" 6728 name="contact[tags]" 6729 value="newsletter"> 6730 6731 <div class="input-wrapper flex jcb aic floating-label-wrapper"> 6732 6733 6734 6735 6736 6737 <input 6738 id="NewsletterForm--ContactFooter" 6739 type="email" 6740 name="contact[email]" 6741 class="field__input " 6742 value="" 6743 aria-required="true" 6744 autocorrect="off" 6745 autocapitalize="off" 6746 autocomplete="email" 6747 6748 placeholder=" " 6749 required> 6750 6751 <label class="floating-label" for="NewsletterForm--ContactFooter"> 6752 Email 6753 </label> 6754 6755 <button 6756 type="submit" 6757 class="btn btn--unstyled" 6758 name="commit" 6759 id="Subscribe-footer" 6760 aria-label=""> 6761 SUBMIT 6762 </button> 6763 </div></form><style> 6764 .floating-label-wrapper { 6765 position: relative; 6766} 6767 6768.floating-label-wrapper .field__input { 6769 padding-top: 1.6rem; 6770 padding-bottom: 0.4rem; 6771} 6772 6773.floating-label { 6774 position: absolute; 6775 left: 0; 6776 top: 50%; 6777 transform: translateY(-50%); 6778 transition: all 0.15s ease; 6779 pointer-events: none; 6780 opacity: 0.65; 6781 font-size: inherit; 6782} 6783 6784.floating-label-wrapper .field__input:focus + .floating-label, 6785.floating-label-wrapper .field__input:not(:placeholder-shown) + .floating-label { 6786 top: 0; 6787 transform: translateY(-15px); 6788 font-size: 12px; 6789 opacity: 1; 6790 background-color: #efe8e3; 6791 margin: 0 0 0 5px; 6792 padding: 1px 5px 4px 5px; 6793} 6794</style> 6795 6796 <form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="footer__newsletter newsletter-form medium-hide large-up-hide"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input 6797 type="hidden" 6798 name="contact[tags]" 6799 value="newsletter"> 6800 6801 <div class="input-wrapper flex jcb aic floating-label-wrapper"> 6802 6803 6804 6805 6806 6807 <input 6808 id="NewsletterForm--ContactFooter" 6809 type="email" 6810 name="contact[email]" 6811 class="field__input " 6812 value="" 6813 aria-required="true" 6814 autocorrect="off" 6815 autocapitalize="off" 6816 autocomplete="email" 6817 6818 placeholder=" " 6819 required> 6820 6821 <label class="floating-label" for="NewsletterForm--ContactFooter"> 6822 Subscribe for 15% off 6823 </label> 6824 6825 <button 6826 type="submit" 6827 class="btn btn--unstyled" 6828 name="commit" 6829 id="Subscribe-footer" 6830 aria-label=""> 6831 SUBMIT 6832 </button> 6833 </div></form><style> 6834 .floating-label-wrapper { 6835 position: relative; 6836} 6837 6838.floating-label-wrapper .field__input { 6839 padding-top: 1.6rem; 6840 padding-bottom: 0.4rem; 6841} 6842 6843.floating-label { 6844 position: absolute; 6845 left: 0; 6846 top: 50%; 6847 transform: translateY(-50%); 6848 transition: all 0.15s ease; 6849 pointer-events: none; 6850 opacity: 0.65; 6851 font-size: inherit; 6852} 6853 6854.floating-label-wrapper .field__input:focus + .floating-label, 6855.floating-label-wrapper .field__input:not(:placeholder-shown) + .floating-label { 6856 top: 0; 6857 transform: translateY(-15px); 6858 font-size: 12px; 6859 opacity: 1; 6860 background-color: #efe8e3; 6861 margin: 0 0 0 5px; 6862 padding: 1px 5px 4px 5px; 6863} 6864</style> 6865</div> 6866 </div> 6867</div> 6868 6869 6870<div 6871 class="footer__social-wrapper flex flex--gap flex--mobile jcb medium-hide large-up-hide" 6872 style="--flex-gap: 1.5rem" 6873 > 6874 <div class="social-wrapper__left"> 6875 <div class="footer__copyright flex jcb flex--mobile"> 6876 <div class="footer__copyright caption"> 6877 <small class="copyright__content" 6878 >© Uprichard Inc. 6879 2026</small> 6880 </div></div> 6881 </div><div class="footer__banner centered"> 6882 <img 6883 srcset="//amandauprichard.com/cdn/shop/files/Blk_Logo_Large_a66190ed-15e4-4db3-969f-225f045c5a87.svg?v=1685644690&width=207" 6884 src="//amandauprichard.com/cdn/shop/files/Blk_Logo_Large_a66190ed-15e4-4db3-969f-225f045c5a87.svg?v=1685644690&width=400" 6885 alt="" 6886 loading="lazy" 6887 width="207" 6888 height="35" 6889 > 6890 </div></div> 6891 </div> 6892</footer> 6893 6894 6895 6896 6897</div> 6898<button 6899 title="Back to top" 6900 aria-label="Back to top" 6901 class="btn btn--back-to-top aic jcc" 6902 ></button><ul hidden> 6903 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 6904 </ul> 6905 6906 <!-- Slick JS (jQuery already loaded in head) --> 6907 <link 6908 rel="preload" 6909 href="//amandauprichard.com/cdn/shop/t/440/assets/slick.min.js?v=71779134894361685811772650869" 6910 as="script" 6911 > 6912
6912<script src="//amandauprichard.com/cdn/shop/t/440/assets/slick.min.js?v=71779134894361685811772650869" defer="defer"></script>
6912 6913 6914
6914<script> 6915 window.theme = window.theme || {}; 6916 window.theme.id = 140801736752; 6917 console.log("theme.id: " + window.theme.id); 6918 </script>
6918 6919
6919<script> 6920 if(typeof(Spurit) === 'undefined'){ 6921 var Spurit = {}; 6922 } 6923 if(!Spurit.Preorder2){ 6924 Spurit.Preorder2 = {}; 6925 } 6926 if(!Spurit.Preorder2.snippet){ 6927 Spurit.Preorder2.snippet = {}; 6928 } 6929 if(!Spurit.Preorder2.snippet.products){ 6930 Spurit.Preorder2.snippet.products = {}; 6931 } 6932 Spurit.Preorder2.snippet.shopHash = '2664030b7328e541e0b01e5c599fb114'; 6933 Spurit.Preorder2.snippet.cacheTimestamp = 1692310658; 6934 6935 if(typeof(Spurit.globalSnippet) === 'undefined'){ 6936 Spurit.globalSnippet = { 6937 shop_currency: 'USD', 6938 money_format: '${{amount}}', 6939 cart: {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}, 6940 customer_id: '' 6941 }; 6942 } 6943 6944 // Initialize default settings structure to prevent errors from external scripts 6945 // This ensures any property accessed on Spurit (like Spurit[Hl]) has the proper structure 6946 (function() { 6947 // Ensure Spurit has a settings structure at root level 6948 if(!Spurit.settings) { 6949 Spurit.settings = {}; 6950 } 6951 if(!Spurit.settings.defaultSetting) { 6952 Spurit.settings.defaultSetting = { 6953 shop_id: '2013874' 6954 }; 6955 } 6956 6957 // Initialize Preorder2 constants structure if it doesn't exist 6958 if(Spurit.Preorder2 && !Spurit.Preorder2.constants) { 6959 Spurit.Preorder2.constants = { 6960 SELECTOR: {} 6961 }; 6962 } 6963 6964 // Helper function to ensure constants structure exists on any object 6965 function ensureConstants(obj) { 6966 if(obj && typeof obj === 'object') { 6967 if(!obj.constants) { 6968 obj.constants = { SELECTOR: {} }; 6969 } else if(!obj.constants.SELECTOR) { 6970 obj.constants.SELECTOR = {}; 6971 } 6972 } 6973 return obj; 6974 } 6975 6976 // Only proxy the root Spurit object to handle dynamic property access (like Spurit[Hl]) 6977 // This is a minimal proxy that only handles missing property access on Spurit itself 6978 if(typeof Proxy !== 'undefined' && !Spurit._isProxied) { 6979 const handler = { 6980 get: function(target, prop) { 6981 if(prop === '_isProxied') return true; 6982 6983 // Handle special properties - return them directly 6984 const specialProps = ['constructor', '__proto__', 'hasOwnProperty', 'toString', 'valueOf', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString']; 6985 if(typeof prop === 'string' && specialProps.includes(prop)) { 6986 return target[prop]; 6987 } 6988 6989 // If property exists, return it (even if undefined - let the external script handle it) 6990 if(prop in target) { 6991 var result = target[prop]; 6992 // Ensure constants structure exists if this looks like a module object 6993 if(result && typeof result === 'object' && !result.constants) { 6994 ensureConstants(result); 6995 } 6996 return result; 6997 } 6998 6999 // Only create object for missing properties on Spurit itself 7000 // Create a regular object that can have methods/properties added to it 7001 const newObj = {}; 7002 newObj.settings = { 7003 defaultSetting: { 7004 shop_id: '2013874' 7005 } 7006 }; 7007 // Ensure constants structure exists on new objects 7008 ensureConstants(newObj); 7009 target[prop] = newObj; 7010 return newObj; 7011 }, 7012 set: function(target, prop, value) { 7013 target[prop] = value; 7014 // Ensure constants structure when setting module-like objects 7015 if(value && typeof value === 'object') { 7016 ensureConstants(value); 7017 } 7018 return true; 7019 }, 7020 has: function(target, prop) { 7021 return prop in target || prop === '_isProxied'; 7022 }, 7023 ownKeys: function(target) { 7024 return Reflect.ownKeys(target); 7025 }, 7026 getOwnPropertyDescriptor: function(target, prop) { 7027 return Reflect.getOwnPropertyDescriptor(target, prop); 7028 } 7029 }; 7030 7031 window.Spurit = new Proxy(Spurit, handler); 7032 } 7033 7034 // Also ensure constants exist on Preorder2 after proxy setup 7035 ensureConstants(Spurit.Preorder2); 7036 })(); 7037 7038 7039 7040 7041 7042 7043</script>
7043 7044
7045<script> 7046 (function() { 7047 setTimeout(() => document.querySelector('body').classList.add('spo-loaded'), 5000) 7048 })(); 7049</script>
7049 7050
7051<script> 7052 // Additional safety check: ensure constants structure exists before external script loads 7053 (function() { 7054 if(typeof Spurit !== 'undefined') { 7055 // Ensure Preorder2.constants.SELECTOR exists 7056 if(Spurit.Preorder2) { 7057 if(!Spurit.Preorder2.constants) { 7058 Spurit.Preorder2.constants = { SELECTOR: {} }; 7059 } else if(!Spurit.Preorder2.constants.SELECTOR) { 7060 Spurit.Preorder2.constants.SELECTOR = {}; 7061 } 7062 } 7063 7064 // Ensure any dynamic properties also have constants structure 7065 for(var key in Spurit) { 7066 if(Spurit.hasOwnProperty(key) && Spurit[key] && typeof Spurit[key] === 'object') { 7067 if(!Spurit[key].constants) { 7068 Spurit[key].constants = { SELECTOR: {} }; 7069 } else if(!Spurit[key].constants.SELECTOR) { 7070 Spurit[key].constants.SELECTOR = {}; 7071 } 7072 } 7073 } 7074 } 7075 })(); 7076</script>
vendor: 1 bytes, line 7076
7076
7077<script src="https://amaicdn.com/preorder2/common.js"></script>
7077 7078
7078<script 7079 async 7080 type="text/javascript" 7081 src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=LTTsZq" 7082 ></script>
7082 7083 7084 7085
7085<script defer src="https://static.shopmy.us/Affiliates/sms_aff_clicktrack.js?domain=amandauprichard.com&expires=30"></script>
7085 7086 7087 <style> </style>
7088<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
7088 7089</body> 7090</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.