PageSourceSearch

https://www.thephotostick.com/search

html thephotostick.com collected 2026-09-24 10:55:04 UTC 413,618 bytes, 2,484 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en" dir="ltr">
3  <head>
4
5
6
7
8
9
10  <style>
11    .t-consentPrompt {
12      width: fit-content !important;
13      max-width: 600px !important;
14      border-radius: 0 !important;
15      padding: 8px 10px !important;
16    }
17
18    @media (max-width: 768px) {
19      .t-consentPrompt {
20        width: 85vw !important;
21        max-width: 85vw !important;
22      }
23    }
24
25    .t-consentPrompt [class*="termly-styles-main"],
26    .t-consentPrompt [class*="termly-styles-content"] {
27      padding: 0 !important;
28      gap: 4px !important;
29    }
30
31    .t-consentPrompt [class*="termly-styles-message"] {
32      margin: 0 0 6px 0 !important;
33      line-height: 1.3 !important;
34    }
35
36    .t-consentPrompt [class*="termly-styles-buttons"] {
37      padding: 0 !important;
38      gap: 4px !important;
39      margin: 0 !important;
40    }
41
42    .t-consentPrompt .t-preference-button,
43    .t-consentPrompt .t-declineButton,
44    .t-consentPrompt .t-acceptAllButton {
45      padding: 4px 8px !important;
46      min-height: unset !important;
47    }
48  </style>
49
50  
50<script
51    type="text/javascript"
52    src="https://app.termly.io/resource-blocker/90f6a0c0-33da-4b6b-b6b1-910ebe84e0a0?autoBlock=on"
53  ></script>
53
54
55  
55<script>
56    function patchTermlyBanner() {
57      const msg = document.querySelector('.t-consentPrompt [data-testid="cookie-policy-link"]')?.closest('div');
58      if (msg && !msg.dataset.patched) {
59        const cookieLinkClass = document.querySelector('[data-testid="cookie-policy-link"]').className;
60        const prefLinkClass = document.querySelector('[data-testid="preferences-link"]').className;
61
62        msg.innerHTML = `We use cookies for personalization, marketing, and analytics. See our <span role="button" tabindex="0" data-testid="cookie-policy-link" class="${cookieLinkClass}">Cookie Policy</span> or edit your <span role="button" tabindex="0" data-testid="preferences-link" class="${prefLinkClass}">Preferences</span>.`;
63        msg.dataset.patched = 'true';
64        return true;
65      }
66      return false;
67    }
68
69    const observer = new MutationObserver(() => {
70      patchTermlyBanner();
71    });
72    observer.observe(document.documentElement, { childList: true, subtree: true });
73
74    let attempts = 0;
75    const interval = setInterval(() => {
76      attempts++;
77      if (patchTermlyBanner() || attempts >= 25) {
78        clearInterval(interval);
79      }
80    }, 200);
81  </script>
81
82
83
84<!-- ThePhotoStick Zendesk Widget script -->
85
86
87
88
89
90
91
92
93
94
95
96
97  
97<script id="ze-snippet"
98    src="https://static.zdassets.com/ekr/snippet.js?key=0d069847-64d1-4956-a729-0543b79d2c35">
99  </script>
99
100
101
102
103<!-- FF Pro Page Defaults for /pages/get-thephotostick-omni-special-offer-today -->
104
105
106<!-- FF Pro Page Defaults for /blogs/news/find-and-protect-your-memories-with-thephotostick-omni -->
107
108
109<!-- FF Pro Page Defaults for /blogs/news/best-photo-backup-devices-of-the-year -->
110
111
112<!-- FF Pro Page Defaults for /blogs/news/best-photo-backup-devices-of-the-year-24 -->
113
114
115<!-- FF Pro Page Defaults for /pages/best-photo-backup-devices-of-the-year -->
116
117
118<!-- FF Pro Page Defaults for /blogs/news/find-photos-on-any-computer-phone-or-tablet-with-thephotostick-omni-x -->
119
120
121<!-- FF Pro Page Defaults for /blogs/news/keep-your-family-photos-safe-with-thephotostick-omni-x -->
122
123
124<!-- FF Pro Page Defaults for /blogs/news/protect-your-family-memories-with-thephotostick-omni-x -->
125
126
127<!-- FF Pro Page Defaults for /blogs/news/thephotostick-omni-protects-your-photos-and-videos-g -->
128
129
130<!-- FF Pro Page Defaults for /blogs/news/thephotostick-omni-protects-your-photos-and-videos-g -->
131
132
133
134<!-- FF Pro Page Defaults for /blogs/news/thephotostick-omni-protects-your-photos-and-videos-gp -->
135
136
137
138
139
140<!-- TEMPLATE, USE THIS FOR PAGES
141 -->
142
143<!-- TEMPLATE, USE THIS FOR BLOGS
144 -->
145
146<!-- FF Pro Universal Tag -->
147<script>!function(f,l,u,x,j,s,a,b){window.flux||(j="undefined"!=typeof fluxOptions?fluxOptions:{},s="undefined"!=typeof fluxDefaults?fluxDefaults:{},(a=l.createElement("script")).src="https://"+u+"/integration/lumetricv2.min.js?v="+x,a.type="text/javascript",a.async="true",queue=[],window.flux={track:function(){queue.push(arguments)}},a.onload=a.onreadystatechange=function(){var rs=this.readyState;if(!rs||"complete"==rs||"loaded"==rs)try{for(window.flux=new Lumetric(u,x,j,s);0!=queue.length;){var args=queue.pop();window.flux.track.apply(null,args)}}catch(e){}},(b=document.getElementsByTagName("script")[0]).parentNode.insertBefore(a,b))}(window,document,"track.thephotostickquiz.com","3.3.0");</script>
147
148
149<!-- FF Pro View Event -->
150<script>
151 flux.track("view")
152</script>
152
153<!-- Hide header for sales pages -->
154
155
156<!-- Hide header for sales pages by URL -->
157
158
159<!-- Hide footer for sales pages -->
160
161<!-- Hide announcement bar -->
162
163
164
165
166
167<!-- Hide announcement bar on Shopify pages -->
168
169
170
171
172
173
174
175
176
177    <meta charset="utf-8">
178    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
179    <meta name="viewport" content="width=device-width,initial-scale=1">
180    <meta name="theme-color" content="#ff9c27">
181    <link rel="canonical" href="https://www.thephotostick.com/search">
182    <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin>
183
184    
184<script>document.documentElement.classList.replace('no-js','js')</script>
184
185    
185<script>document.documentElement.classList.add(('ontouchstart' in window) || navigator.maxTouchPoints > 0 ? 'touch' : 'no-touch')</script>
185<link rel="shortcut icon" href="//www.thephotostick.com/cdn/shop/files/Brand_Logos_17.png?crop=center&height=32&v=1773331799&width=32" type="image/png" /><title>Search &ndash; ThePhotoStick</title><meta name="description" content="ThePhotoStick® is the original photo backup solution, allowing you to securely store and transfer your precious memories. Shop our official website for a simple, safe, and secure experience when purchasing and using ThePhotoStick® Omni and our other memory-saving products.">
186<meta property="og:site_name" content="ThePhotoStick">
187<meta property="og:url" content="https://www.thephotostick.com/search">
188<meta property="og:title" content="Search">
189<meta property="og:type" content="website">
190<meta property="og:description" content="ThePhotoStick® is the original photo backup solution, allowing you to securely store and transfer your precious memories. Shop our official website for a simple, safe, and secure experience when purchasing and using ThePhotoStick® Omni and our other memory-saving products."><meta name="twitter:site" content="@">
191<meta name="twitter:card" content="summary_large_image">
192<meta name="twitter:title" content="Search">
193<meta name="twitter:description" content="ThePhotoStick® is the original photo backup solution, allowing you to securely store and transfer your precious memories. Shop our official website for a simple, safe, and secure experience when purchasing and using ThePhotoStick® Omni and our other memory-saving products.">
194<style>@font-face {
195  font-family: Montserrat;
196  font-weight: 600;
197  font-style: normal;
198  font-display: swap;
199  src: url("//www.thephotostick.com/cdn/fonts/montserrat/montserrat_n6.1326b3e84230700ef15b3a29fb520639977513e0.woff2") format("woff2"),
200       url("//www.thephotostick.com/cdn/fonts/montserrat/montserrat_n6.652f051080eb14192330daceed8cd53dfdc5ead9.woff") format("woff");
201}
202@font-face {
203  font-family: Montserrat;
204  font-weight: 500;
205  font-style: normal;
206  font-display: swap;
207  src: url("//www.thephotostick.com/cdn/fonts/montserrat/montserrat_n5.07ef3781d9c78c8b93c98419da7ad4fbeebb6635.woff2") format("woff2"),
208       url("//www.thephotostick.com/cdn/fonts/montserrat/montserrat_n5.adf9b4bd8b0e4f55a0b203cdd84512667e0d5e4d.woff") format("woff");
209}
210@font-face {
211  font-family: Montserrat;
212  font-weight: 700;
213  font-style: normal;
214  font-display: swap;
215  src: url("//www.thephotostick.com/cdn/fonts/montserrat/montserrat_n7.3c434e22befd5c18a6b4afadb1e3d77c128c7939.woff2") format("woff2"),
216       url("//www.thephotostick.com/cdn/fonts/montserrat/montserrat_n7.5d9fa6e2cae713c8fb539a9876489d86207fe957.woff") format("woff");
217}
218@font-face {
219  font-family: Muli;
220  font-weight: 400;
221  font-style: normal;
222  font-display: swap;
223  src: url("//www.thephotostick.com/cdn/fonts/muli/muli_n4.e949947cfff05efcc994b2e2db40359a04fa9a92.woff2") format("woff2"),
224       url("//www.thephotostick.com/cdn/fonts/muli/muli_n4.35355e4a0c27c9bc94d9af3f9bcb586d8229277a.woff") format("woff");
225}
226@font-face {
227  font-family: Muli;
228  font-weight: 500;
229  font-style: normal;
230  font-display: swap;
231  src: url("//www.thephotostick.com/cdn/fonts/muli/muli_n5.42406f20a7ccca1e01311dc690905ffca2c49e4b.woff2") format("woff2"),
232       url("//www.thephotostick.com/cdn/fonts/muli/muli_n5.edc61b4ccf7201dbc1e6093959c796eeb8e38e67.woff") format("woff");
233}
234@font-face {
235  font-family: Muli;
236  font-weight: 700;
237  font-style: normal;
238  font-display: swap;
239  src: url("//www.thephotostick.com/cdn/fonts/muli/muli_n7.c8c44d0404947d89610714223e630c4cbe005587.woff2") format("woff2"),
240       url("//www.thephotostick.com/cdn/fonts/muli/muli_n7.4cbcffea6175d46b4d67e9408244a5b38c2ac568.woff") format("woff");
241}
242@font-face {
243  font-family: Muli;
244  font-weight: 400;
245  font-style: italic;
246  font-display: swap;
247  src: url("//www.thephotostick.com/cdn/fonts/muli/muli_i4.c0a1ea800bab5884ab82e4eb25a6bd25121bd08c.woff2") format("woff2"),
248       url("//www.thephotostick.com/cdn/fonts/muli/muli_i4.a6c39b1b31d876de7f99b3646461aa87120de6ed.woff") format("woff");
249}
250@font-face {
251  font-family: Muli;
252  font-weight: 700;
253  font-style: italic;
254  font-display: swap;
255  src: url("//www.thephotostick.com/cdn/fonts/muli/muli_i7.34eedbf231efa20bd065d55f6f71485730632c7b.woff2") format("woff2"),
256       url("//www.thephotostick.com/cdn/fonts/muli/muli_i7.2b4df846821493e68344d0b0212997d071bf38b7.woff") format("woff");
257}
258:root {
259    /*! General */
260    --color-base-text: 23 23 23;
261    --color-base-highlight: 50 189 252;
262    --color-base-background: 255 255 255;
263    --color-base-button: 255 156 39;
264    --color-base-button-gradient: #ff9c27;
265    --color-base-button-text: 255 255 255;
266    --color-keyboard-focus: 0 139 216;
267    --color-shadow: 50 189 252;
268    --color-price: 23 23 23;
269    --color-sale-price: 34 187 21;
270    --color-sale-tag: 255 156 39;
271    --color-sale-tag-text: 255 255 255;
272    --color-rating: 50 189 252;
273    --color-placeholder: 250 250 250;
274    --color-success-text: 34 187 21;
275    --color-success-background: 250 250 250;
276    --color-error-text: 190 18 60;
277    --color-error-background: 255 241 242;
278    --color-info-text: 0 139 216;
279    --color-info-background: 219 241 254;
280    
281    /*! Menu and drawers */
282    --color-drawer-text: 23 23 23;
283    --color-drawer-background: 255 255 255;
284    --color-drawer-button-background: 0 139 216;
285    --color-drawer-button-gradient: #008bd8;
286    --color-drawer-button-text: 255 255 255;
287    --color-drawer-overlay: 23 23 23;
288
289    /*! Product card */
290    --card-radius: var(--rounded-card);
291    --card-border-width: 0.0rem;
292    --card-border-opacity: 0.0;
293    --card-shadow-opacity: 0.1;
294    --card-shadow-horizontal-offset: 0.0rem;
295    --card-shadow-vertical-offset: 0.0rem;
296
297    /*! Buttons */
298    --buttons-radius: var(--rounded-button);
299    --buttons-border-width: 2px;
300    --buttons-border-opacity: 1.0;
301    --buttons-shadow-opacity: 0.0;
302    --buttons-shadow-horizontal-offset: 0px;
303    --buttons-shadow-vertical-offset: 0px;
304
305    /*! Inputs */
306    --inputs-radius: var(--rounded-input);
307    --inputs-border-width: 0px;
308    --inputs-border-opacity: 0.65;
309
310    /*! Spacing */
311    --sp-0d5: 0.125rem;
312    --sp-1: 0.25rem;
313    --sp-1d5: 0.375rem;
314    --sp-2: 0.5rem;
315    --sp-2d5: 0.625rem;
316    --sp-3: 0.75rem;
317    --sp-3d5: 0.875rem;
318    --sp-4: 1rem;
319    --sp-4d5: 1.125rem;
320    --sp-5: 1.25rem;
321    --sp-5d5: 1.375rem;
322    --sp-6: 1.5rem;
323    --sp-6d5: 1.625rem;
324    --sp-7: 1.75rem;
325    --sp-7d5: 1.875rem;
326    --sp-8: 2rem;
327    --sp-8d5: 2.125rem;
328    --sp-9: 2.25rem;
329    --sp-9d5: 2.375rem;
330    --sp-10: 2.5rem;
331    --sp-10d5: 2.625rem;
332    --sp-11: 2.75rem;
333    --sp-12: 3rem;
334    --sp-13: 3.25rem;
335    --sp-14: 3.5rem;
336    --sp-15: 3.875rem;
337    --sp-16: 4rem;
338    --sp-18: 4.5rem;
339    --sp-20: 5rem;
340    --sp-23: 5.625rem;
341    --sp-24: 6rem;
342    --sp-28: 7rem;
343    --sp-32: 8rem;
344    --sp-36: 9rem;
345    --sp-40: 10rem;
346    --sp-44: 11rem;
347    --sp-48: 12rem;
348    --sp-52: 13rem;
349    --sp-56: 14rem;
350    --sp-60: 15rem;
351    --sp-64: 16rem;
352    --sp-68: 17rem;
353    --sp-72: 18rem;
354    --sp-80: 20rem;
355    --sp-96: 24rem;
356    --sp-100: 32rem;
357
358    /*! Font family */
359    --font-heading-family: Montserrat, sans-serif;
360    --font-heading-style: normal;
361    --font-heading-weight: 600;
362    --font-heading-line-height: 1;
363    --font-heading-letter-spacing: -0.02em;
364    
365
366    --font-body-family: Muli, sans-serif;
367    --font-body-style: normal;
368    --font-body-weight: 400;
369    --font-body-line-height: 1.2;
370    --font-body-letter-spacing: 0.0em;
371
372    --font-navigation-family: var(--font-heading-family);
373    --font-navigation-size: clamp(0.875rem, 0.748rem + 0.3174vw, 1.125rem);
374    --font-navigation-weight: 500;
375    
376
377    --font-button-family: var(--font-heading-family);
378    --font-button-size: clamp(0.875rem, 0.8115rem + 0.1587vw, 1.0rem);
379    --font-button-weight: 500;
380    
381
382    --font-product-family: var(--font-body-family);
383    --font-product-size: clamp(1.0rem, 0.873rem + 0.3175vw, 1.25rem);
384    --font-product-weight: 500;
385    
386
387    /*! Font size */
388    --text-3xs: 0.625rem;
389    --text-2xs: 0.6875rem;
390    --text-xs: 0.75rem;
391    --text-2sm: 0.8125rem;
392    --text-sm: 0.875rem;
393    --text-base: 1.0rem;
394    --text-lg: 1.125rem;
395    --text-xl: 1.25rem;
396    --text-2xl: 1.5rem;
397    --text-3xl: 1.875rem;
398    --text-4xl: 2.25rem;
399    --text-5xl: 3.0rem;
400    --text-6xl: 3.75rem;
401    --text-7xl: 4.5rem;
402    --text-8xl: 6.0rem;
403
404    /*! Layout */
405    --page-width: 1900px;
406    --gap-padding: clamp(var(--sp-5), 2.526vw, var(--sp-12));
407    --grid-gap: clamp(40px, 20vw, 60px);
408    --page-padding: var(--sp-5);
409    --page-container: min(calc(100vw - var(--page-padding) * 2), var(--page-width));
410    --rounded-button: 3.75rem;
411    --rounded-input: 0.375rem;
412    --rounded-card: clamp(var(--sp-2d5), 1.053vw, var(--sp-5));
413    --rounded-block: clamp(var(--sp-2d5), 1.053vw, var(--sp-5));
414
415    /*! Other */
416    --icon-weight: 1.5px;
417  }
418
419  @media screen and (min-width: 1024px) {
420    :root {
421      --page-padding: var(--sp-9);
422    }
423  }
424
425  @media screen and (min-width: 1280px) {
426    :root {
427      --gap-padding: var(--sp-12);
428      --page-padding: var(--sp-12);
429      --page-container: min(calc(100vw - var(--page-padding) * 2), max(var(--page-width), 1280px));
430    }
431  }
432
433  @media screen and (min-width: 1536px) {
434    :root {
435      --page-padding: max(var(--sp-12), 50vw - var(--page-width)/2);
436    }
437  }
438</style>
439  <link rel="preload" as="font" href="//www.thephotostick.com/cdn/fonts/muli/muli_n4.e949947cfff05efcc994b2e2db40359a04fa9a92.woff2" type="font/woff2" crossorigin>
440
441  <link rel="preload" as="font" href="//www.thephotostick.com/cdn/fonts/montserrat/montserrat_n6.1326b3e84230700ef15b3a29fb520639977513e0.woff2" type="font/woff2" crossorigin>
442<link href="//www.thephotostick.com/cdn/shop/t/45/assets/theme.css?v=158977393782855967621779202834" rel="stylesheet" type="text/css" media="all" /><link rel="stylesheet" href="//www.thephotostick.com/cdn/shop/t/45/assets/apps.css?v=162097722211979372921778619149" media="print" fetchpriority="low" onload="this.media='all'">
443
444    
444<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
444<meta name="google-site-verification" content="f41cDPuME7t1gZPy7DFhKimbbu4V-LqRMqAlLv0ZlL4">
445<meta name="google-site-verification" content="ffV6Dv-duHHsxUfwznO7NkLCOd0qrxOsIGSU9EQfQf4">
446<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/16814029/digital_wallets/dialog">
447<meta id="in-context-paypal-metadata" data-shop-id="16814029" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
448<link rel="alternate" hreflang="x-default" href="https://www.thephotostick.com/search">
449<link rel="alternate" hreflang="en" href="https://www.thephotostick.com/search">
450<link rel="alternate" hreflang="de" href="https://www.thephotostick.com/de/search">
451<link rel="alternate" hreflang="fr" href="https://www.thephotostick.com/fr/search">
452<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=3598188680"></script>
452
453<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
454<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=3598188680&shop_id=16814029" crossorigin="anonymous"></script>
vendor: 1 bytes, line 454
454
455<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":16814029,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/16814029","merchantName":"ThePhotoStick","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"ThePhotoStick","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 455
455
456<script id="shopify-features" type="application/json">{"accessToken":"29be021c035fbb0aca397f4b6b81959d","betas":["rich-media-storefront-analytics"],"domain":"www.thephotostick.com","predictiveSearch":true,"shopId":16814029,"locale":"en"}</script>
vendor: 1 bytes, line 456
456
457<script>var Shopify = Shopify || {};
458Shopify.shop = "thephotostick.myshopify.com";
459Shopify.locale = "en";
460Shopify.currency = {"active":"USD","rate":"1.0"};
461Shopify.country = "US";
462Shopify.theme = {"name":"Concept (Live)","id":148984823944,"schema_name":"Concept","schema_version":"5.3.3","theme_store_id":2412,"role":"main"};
463Shopify.theme.handle = "null";
464Shopify.theme.style = {"id":null,"handle":null};
465Shopify.cdnHost = "www.thephotostick.com/cdn";
466Shopify.routes = Shopify.routes || {};
467Shopify.routes.root = "/";
468Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
469Shopify.SignInWithShop = Shopify.SignInWithShop || {};
470Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
471Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 471
471
472<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 472
472
473<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 473
473
474<script>
475  window.ShopifyPay = window.ShopifyPay || {};
476  window.ShopifyPay.apiHost = "shop.app\/pay";
477  window.ShopifyPay.redirectState = null;
478</script>
vendor: 1 bytes, line 478
478
479<script>
480  window.Shopify = window.Shopify || {};
481  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
482  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
483  window.Shopify.SignInWithShop.eligible = true;
484</script>
vendor: 1 bytes, line 484
484
485<script id="shop-js-analytics" type="application/json">{"pageType":"search"}</script>
vendor: 1 bytes, line 485
485
486<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 486
486
487<script type="module">
488  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
489
490  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
491
492</script>
vendor: 1 bytes, line 492
492
493<script>
494  window.Shopify = window.Shopify || {};
495  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
496  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"]};
497</script>
vendor: 1 bytes, line 497
497
498<script>(function() {
499  var isLoaded = false;
500  function asyncLoad() {
501    if (isLoaded) return;
502    isLoaded = true;
503    var urls = ["\/\/cdn.ywxi.net\/js\/1.js?shop=thephotostick.myshopify.com","https:\/\/faqs-plus.herokuapp.com\/public\/script-tags\/ef-faq-plus-script.min.js?shop=thephotostick.myshopify.com","https:\/\/cdnv2.zoomifi.com\/start.js?v=46940\u0026shop=thephotostick.myshopify.com","https:\/\/app.helpfulcrowd.com\/res\/shopify\/0ES4Ry\/storefront_scripts.js?shop=thephotostick.myshopify.com","\/\/cdn.ywxi.net\/js\/partner-shopify.js?shop=thephotostick.myshopify.com","\/\/cdn.trustedsite.com\/js\/partner-shopify.js?shop=thephotostick.myshopify.com","\/\/cdn.trustedsite.com\/js\/partner-shopify.js?shop=thephotostick.myshopify.com","https:\/\/nudgify.ams3.cdn.digitaloceanspaces.com\/shopify.js?uuid=b3711e6f-f7a8-439e-9596-c01a94043d98\u0026shop=thephotostick.myshopify.com","https:\/\/cdnv2.zoomifi.com\/bundle.js?v=46940\u0026shop=thephotostick.myshopify.com","\/\/backinstock.useamp.com\/widget\/86344_1783064095.js?category=bis\u0026v=6\u0026shop=thephotostick.myshopify.com"];
504    for (var i = 0; i < urls.length; i++) {
505      var s = document.createElement('script');
506      s.type = 'text/javascript';
507      s.async = true;
508      s.src = urls[i];
509      var x = document.getElementsByTagName('script')[0];
510      x.parentNode.insertBefore(s, x);
511    }
512  };
513  if(window.attachEvent) {
514    window.attachEvent('onload', asyncLoad);
515  } else {
516    window.addEventListener('load', asyncLoad, false);
517  }
518})();</script>
vendor: 1 bytes, line 518
518
519<script id="__st">var __st={"a":16814029,"offset":-21600,"reqid":"994bd145-f463-44ed-94db-101f4ca4a9cb-1790247304","pageurl":"www.thephotostick.com\/search","u":"26863d5a5987","p":"searchresults"};</script>
vendor: 1 bytes, line 519
519
520<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 520
520
521<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 521
521
522<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.thephotostick.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 522
522
523<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.thephotostick.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>
523<script crossorigin="anonymous" defer="defer" src="//www.thephotostick.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 523
523
524<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 524
524
525<script>
526  window.Shopify = window.Shopify || {};
527  window.Shopify.MCP = window.Shopify.MCP || {};
528  window.Shopify.MCP.enabled = true;
529  window.Shopify.MCP.shop = "thephotostick.myshopify.com";
530  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.thephotostick.com\/api\/mcp";
531  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"]}}];
532</script>
vendor: 1 bytes, line 532
532
533<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.thephotostick.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
534</script>
vendor: 1 bytes, line 534
534
535<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.thephotostick.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
536</script>
vendor: 1 bytes, line 536
536
537<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
538  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);
539</script>
vendor: 1 bytes, line 539
539
540<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
541</script>
541
542<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.thephotostick.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
543<style id="shopify-accelerated-checkout-cart">
544        #shopify-buyer-consent {
545  margin-top: 1em;
546  display: inline-block;
547  width: 100%;
548}
549
550#shopify-buyer-consent.hidden {
551  display: none;
552}
553
554#shopify-subscription-policy-button {
555  background: none;
556  border: none;
557  padding: 0;
558  text-decoration: underline;
559  font-size: inherit;
560  cursor: pointer;
561}
562
563#shopify-subscription-policy-button::before {
564  box-shadow: none;
565}
566
567      </style>
568
569<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
569
570
571    
571<script src="//www.thephotostick.com/cdn/shop/t/45/assets/vendor.js?v=29347539246337823151778619170" defer="defer"></script>
571
572    
572<script src="//www.thephotostick.com/cdn/shop/t/45/assets/theme.js?v=3833306095534809291778619169" defer="defer"></script>
572<!-- Display Rich Text for custom product descriptions -->
573<script>
574  function renderRichText(json) {
575    try {
576      const data = typeof json === 'string' ? JSON.parse(json) : json;
577      return parseRichTextNode(data);
578    } catch(e) { return ''; }
579  }
580
581  function parseRichTextNode(node) {
582    if (!node) return '';
583    if (node.type === 'text') {
584      let text = node.value || '';
585      if (node.bold) text = `<strong>${text}</strong>`;
586      if (node.italic) text = `<em>${text}</em>`;
587      return text;
588    }
589    const children = (node.children || []).map(parseRichTextNode).join('');
590    if (node.type === 'paragraph') return `<p>${children}</p>`;
591    if (node.type === 'heading') return `<h${node.level}>${children}</h${node.level}>`;
592    if (node.type === 'list') return node.listType === 'ordered' ? `<ol>${children}</ol>` : `<ul>${children}</ul>`;
593    if (node.type === 'list-item') return `<li>${children}</li>`;
594    return children;
595  }
596</script>
vendor: 1 bytes, line 596
596
597<script>
598  window.theme = window.theme || {};
599  theme.routes = {
600    shop_url: 'https://www.thephotostick.com',
601    root_url: '/',
602    cart_url: '/cart',
603    cart_add_url: '/cart/add',
604    cart_change_url: '/cart/change',
605    cart_update_url: '/cart/update',
606    search_url: '/search',
607    predictive_search_url: '/search/suggest'
608  };
609
610  theme.variantStrings = {
611    preOrder: "Pre-order",
612    addToCart: "Add to cart",
613    soldOut: "Sold Out",
614    unavailable: "Unavailable",
615    addToBundle: "Add to bundle",
616    backInStock: "Notify me when it’s available"
617  };
618
619  theme.shippingCalculatorStrings = {
620    error: "One or more errors occurred while retrieving the shipping rates:",
621    notFound: "Sorry, we do not ship to your address.",
622    oneResult: "There is one shipping rate for your address:",
623    multipleResults: "There are multiple shipping rates for your address:"
624  };
625
626  theme.discountStrings = {
627    error: "Discount code cannot be applied to your cart",
628    shippingError: "Shipping discounts are shown at checkout after adding an address"
629  };
630
631  theme.recipientFormStrings = {
632    expanded: "Gift card recipient form expanded",
633    collapsed: "Gift card recipient form collapsed"
634  };
635
636  theme.quickOrderListStrings = {
637    itemsAdded: "[quantity] items added",
638    itemAdded: "[quantity] item added",
639    itemsRemoved: "[quantity] items removed",
640    itemRemoved: "[quantity] item removed",
641    viewCart: "View cart",
642    each: "[money]\/ea",
643    minError: "This item has a minimum of [min]",
644    maxError: "This item has a maximum of [max]",
645    stepError: "You can only add this item in increments of [step]"
646  };
647
648  theme.cartStrings = {
649    error: "There was an error while updating your cart. Please try again.",
650    quantityError: "You can only add [quantity] of this item to your cart.",
651    giftNoteAttribute: "Gift note",
652    giftWrapAttribute: "Gift wrapping",
653    giftWrapBooleanTrue: "Yes",
654    targetProductAttribute: "For"
655  };
656
657  theme.dateStrings = {
658    d: "d",
659    day: "Day",
660    days: "Days",
661    h: "h",
662    hour: "Hour",
663    hours: "Hours",
664    m: "m",
665    minute: "Min",
666    minutes: "Mins",
667    s: "s",
668    second: "Sec",
669    seconds: "Secs"
670  };theme.strings = {
671    recentlyViewedEmpty: "Your recently viewed is empty.",
672    close: "Close",
673    next: "Next",
674    previous: "Previous",
675    qrImageAlt: "QR code — scan to redeem gift card"
676  };
677
678  theme.settings = {
679    moneyFormat: "${{amount}}",
680    moneyWithCurrencyFormat: "${{amount}} USD",
681    currencyCodeEnabled: false,
682    externalLinksNewTab: false,
683    cartType: "drawer",
684    isCartTemplate: false,
685    pswpModule: "\/\/www.thephotostick.com\/cdn\/shop\/t\/45\/assets\/photoswipe.min.js?v=41760041872977459911778619163",
686    themeName: 'Concept',
687    themeVersion: '5.3.3',
688    agencyId: ''
689  };</script>
689
690
691
692
693
694
695
696
697
698
699<script id="ABConvert-template-test">
700var abconvertNamespaceGroups = null;
701window.abconvertNamespaceGroups = abconvertNamespaceGroups;
702
703var abconvertTemplateTestLiquidVariables = {
704    abconvertTemplate : "search",
705    abconvertDesignMode:false
706 };
707
708Object.keys(abconvertTemplateTestLiquidVariables).forEach(function(key) { window[key] =
709abconvertTemplateTestLiquidVariables[key]; });
710var abconvertTemplateTestDict = {"experiments":[{"experimentId":"6ab2e1be8316a96118723e27","testGroups":[{"name":"Saves Hours - 1158 (PF)","percentage":50,"testProducts":[],"redirectRules":[],"template":{"key":"article.pf-946da1f6.json","suffix":"pf-946da1f6","type":"article","isDefault":false,"previewUrl":"/blogs/news/articles/thephotostick-omni-protects-your-photos-and-videos-g","screenshotUrl":"https://storage.googleapis.com/abconvert-v1-prod-screenshots/article.pf-946da1f6.json-desktop-1779311010856.jpg","_id":"6ab3e8b6cc45068438e3f20b"},"paymentCustomization":[],"deliveryCustomization":[],"checkoutUICustomization":[],"shippingCost":2,"profitMargin":30,"_id":"6ab2e1be8316a96118723e28"},{"name":"Saves Hours - 1180 (GP)","percentage":50,"testProducts":[],"redirectRules":[],"template":{"key":"article.gp-template-638322128071950974.json","suffix":"gp-template-638322128071950974","type":"article","isDefault":false,"previewUrl":"/blogs/news/articles/thephotostick-omni-protects-your-photos-and-videos-gp","screenshotUrl":"https://storage.googleapis.com/abconvert-v1-prod-screenshots/article.gp-template-638322128071950974.json-desktop-1790107590961.jpg","_id":"6ab3e8b6cc45068438e3f20d"},"paymentCustomization":[],"deliveryCustomization":[],"checkoutUICustomization":[],"shippingCost":2,"profitMargin":30,"_id":"6ab2e1be8316a96118723e2a"}],"templateDict":{"article.pf-946da1f6":{"groupIndex":0},"article.gp-template-638322128071950974":{"groupIndex":1}},"startTime":"2026-09-22T20:14:54.088Z","redirectControlGroup":true}]};
711 window.abconvertTemplateTestDict = abconvertTemplateTestDict;
712(()=>{"use strict";const e="abconvert-session",t=18e5,n="_abconvert-assignment",r="abconvert-session",o="abconvert-visitor",i="abconvertCountry",s="abconvertSearchParams",a="abconvert-experiment-ids",c="abconvert-template",u=(new Set(["Active","Paused"]),"new"),l="exclude",d="include",f="__abconvertResolvedGroups",p="url-redirect",m="theme",g="template",v="match_exactly",h="match_regex_exactly",y="contains",w="ends_with",b="starts_with",x="not_match_exactly",_="not_match_regex_exactly",I="not_contains",S="not_ends_with",T="not_starts_with",k="query_string",O=async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const r={method:t,mode:"cors",headers:{"Content-Type":"application/json"}};n&&(r.body=JSON.stringify(n));let o=150,i=0;for(;i<3;)try{const t=await fetch(e,r);if(t.ok)return t.json();const n=(t.headers?.get("content-type")||"").includes("application/json")?JSON.stringify(await t.json()):await t.text(),o=new Error(`HTTP ${t.status} ${t.statusText||""} for ${e}${n?`: ${n.slice(0,300)}`:""}`.trim());throw o.status=t.status,o.statusText=t.statusText,o.url=e,o}catch(e){if(o*=2,i+=1,i>=3)throw e;await new Promise((e=>setTimeout(e,o)))}throw new Error("API Error")};function N(e){for(var t=e+"=",n=document.cookie.split(";"),r=0;r<n.length;r++){for(var o=n[r];" "==o.charAt(0);)o=o.substring(1,o.length);if(0==o.indexOf(t))return o.substring(t.length,o.length)}return null}function A(e,t,n){var r,o=new Date;o.setTime(o.getTime()+n),r="; expires="+o.toUTCString(),document.cookie=e+"="+(t||"")+r+"; path=/"}function $(e,t,n,r){const o={[p]:"abconvert-url-redirect-experiments",[m]:"abconvert-theme-experiments",[g]:"abconvert-template-experiments"}[e];if(!o)return void console.error("[ABConvert] Invalid experiment type:",e);let i=[];try{const e=N(o);e&&(i=JSON.parse(e))}catch(e){console.warn("[ABConvert] Failed to parse existing cookie:",o,e)}const s={experimentId:t,groupIndex:n,startTime:r},a=i.findIndex((e=>e.experimentId===t));a>=0?i[a]=s:i.push(s),A(o,JSON.stringify(i),2592e6)}function C(){let e=N("abconvert-landing-page");return e||(e=window.location.pathname,A("abconvert-landing-page",e,t)),e}function P(){let n=N(e);n||(n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})));const r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Date.now();const n=e+t,r=new Date(e),o=Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()+1,0,0,0,0);return Math.min(n,o)}()-Date.now();return A(e,n,r),n}function j(e){const t=(new Date).valueOf(),n=localStorage.getItem("abconvert-first-visit-time")?Number(localStorage.getItem("abconvert-first-visit-time")):t;return localStorage.getItem("abconvert-first-visit-time")||localStorage.setItem("abconvert-first-visit-time",t.toString()),n>(e=new Date(e).valueOf())?u:"returning"}function E(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=window.location.pathname,r=window.location.search;if("string"==typeof t)try{const e=new URL(t,window.location.href);n=e.pathname,r=e.search}catch{const e=t.indexOf("?");n=-1===e?t:t.slice(0,e),r=-1===e?"":t.slice(e)}const o=n+r,{conditionType:i,condition:s,value:a}=e;let c;switch(i){case"page_url":c=n;break;case"page_url_with_query_string":c=o;break;case k:c=r;break;default:return!1}return i===k?function(e,t,n){let r=decodeURI(n);const o=new URLSearchParams(r);switch(e){case v:const e=new URLSearchParams(decodeURI(t));let n=!0;for(let[t,r]of e)if(!o.has(t)||o.get(t)!==r){n=!1;break}return n&&o.forEach(((t,r)=>{e.has(r)||(n=!1)})),n;case h:return new RegExp(t).test(r);case y:const i=new URLSearchParams(t);for(let[e,t]of i)if(!o.has(e)||o.get(e)!==t)return!1;return!0;case b:return r.startsWith(decodeURI(t));case w:return r.endsWith(decodeURI(t));case x:const s=new URLSearchParams(decodeURI(t));let a=!1;for(let[e,t]of s)if(!o.has(e)||o.get(e)!==t){a=!0;break}return a||o.forEach(((e,t)=>{s.has(t)||(a=!0)})),a;case _:return!new RegExp(t).test(r);case I:const c=new URLSearchParams(t);for(let[e,t]of c)if(o.has(e)&&o.get(e)===t)return!1;return!0;case T:return!r.startsWith(decodeURI(t));case S:return!r.endsWith(decodeURI(t));default:return!1}}(s,a,c):function(e,t,n){let r=decodeURI(n);switch(e){case v:return decodeURI(t)===r;case h:return new RegExp(t).test(r);case y:return r.includes(decodeURI(t));case b:return r.startsWith(decodeURI(t));case w:return r.endsWith(decodeURI(t));case x:return decodeURI(t)!==r;case _:return!new RegExp(t).test(r);case I:return!r.includes(decodeURI(t));case T:return!r.startsWith(decodeURI(t));case S:return!r.endsWith(decodeURI(t));default:return!1}}(s,a,c)}const R="https://app.abconvert.io";async function D(){localStorage.getItem("abconvert-country")||await async function(){const e=await fetch(`${R}/api/public/get-country-code`,{method:"GET",mode:"cors"}),t=(await e.json()).countryCode;t&&(console.log("successfully set country code: ",t),localStorage.setItem("abconvert-country",t))}()}function J(){return localStorage.getItem("abconvert-country")}function U(){const e=navigator.userAgent||window.opera;return/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e)?"mobile":/ipad|playbook|silk/i.test(e)?"tablet":"desktop"}const L=[/Googlebot/,/Googlebot-Image/,/Googlebot-Video/,/Googlebot-News/,/Storebot-Google/,/Google-InspectionTool/,/GoogleOther/,/Google-Extended/,/APIs-Google/,/AdsBot-Google-Mobile/,/AdsBot-Google/,/Mediapartners-Google/,/Google-Safety/,/FeedFetcher-Google/,/GoogleProducer/,/Bingbot/,/Slurp/,/DuckDuckBot/,/Baiduspider/,/YandexBot/,/facebot/,/Twitterbot/,/crawler/,/meta-externalads/,/facebookexternalhit/];let M,B,F=0,G=0,q=!1;const W=()=>{q?(q=!1,B=(new Date).getTime(),G+=(B-M)/1e3):(q=!0,M=(new Date).getTime())};function z(e,t,n,r,o){const i=(new Date).getTime(),s=window.location.pathname.toString(),a=C();N(`abconvert-${t}-test-stay-time-recorded-${n}`)||(A(`abconvert-${t}-test-stay-time-recorded-${n}`,!0,18e5),setInterval((()=>{(new Date).getTime()-i>39e3&&W()}),39e3),window.addEventListener("beforeunload",(async()=>{const t=P(),c=(new Date).getTime(),u=(c-i)/1e3,l=(c-i)/1e3-F/1e3-G;fetch(e,{method:"POST",body:JSON.stringify({stayingTime:u,stayingTimeAdjusted:l,sessionId:t,experimentId:n,groupIndex:r,visitorType:j(o),pathName:s,landingPage:a}),keepalive:!0})}
712)))}function V(e,t,n,r){const o=window.location.pathname.toString(),i=C();window.addEventListener("click",(s=>{if("A"===s.target.tagName){const a=s.target.getAttribute("href"),c=P();fetch(e,{method:"POST",body:JSON.stringify({sessionId:c,experimentId:t,groupIndex:n,link:a,visitorType:j(r),pathName:o,landingPage:i}),keepalive:!0})}}))}function K(e,t,n,r){const o=window.location.pathname.toString(),i=C();let s=!1;window.addEventListener("scroll",(()=>{s=!0})),window.addEventListener("click",(()=>{s=!0})),window.addEventListener("beforeunload",(async()=>{if(!s){const s=P();fetch(e,{method:"POST",body:JSON.stringify({sessionId:s,experimentId:t,groupIndex:n,visitorType:j(r),pathName:o,landingPage:i}),keepalive:!0})}}))}async function H(e,t,n,r){const o=P(),i=window.location.pathname.toString(),s=C();fetch(e,{method:"POST",body:JSON.stringify({sessionId:o,experimentId:t,groupIndex:n,visitorType:j(r),pathName:i,landingPage:s}),keepalive:!0})}window.addEventListener("scroll",(()=>{F+=1.8,W()}));const X="response",Y="external-response",Z="beacon-fallback",Q=/Failed to fetch|Load failed|NetworkError|Network request failed|Fetch is aborted|The network connection was lost|The user aborted a request|A server with the specified hostname could not be found/i;let ee=0;const te=new Set;function ne(e,t){const n=String(e??"");return n.length>t?`${n.slice(0,t)}…`:n}function re(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e instanceof Error?e:new Error(String(e)),r=t.data?t.data.status:void 0,o=function(e,t,n){return 429===n?"network":t===X||t===Y?"integration":(r=e?.name,o=e?.message,"AbortError"===r||"TypeError"===r&&Q.test(String(o||""))?"network":"bug");var r,o}(n,t.step,r);if("network"===o)return;const i=t.script||"unknown",s=t.step||"unknown",a=`${i}|${s}|${n.message}`;if(ee>=10||te.has(a))return;te.add(a),ee+=1;const c=window.Shopify?.shop||"unknown",u={name:n.name,message:ne(n.message,500),stack:ne(n.stack,4e3),script:i,step:s,category:o,status:"number"==typeof r?r:void 0,shop:c,release:"v2.14.143",url:window.location?.href,data:t.data||{}};let l;try{l=JSON.stringify(u)}catch{l=JSON.stringify({...u,data:{serialization:"failed"}})}!function(e,t){try{if(navigator.sendBeacon?.(e,t))return}catch{}try{fetch(e,{method:"POST",headers:{"Content-Type":"text/plain"},body:t,keepalive:!0})?.catch?.((()=>{}))}catch{}}(`https://app.abconvert.io/api/public/script-error?shop=${encodeURIComponent(c)}`,l)}function oe(e,t,n,r){e&&(console.warn(`[ABConvert] ${e.script} beacon failed (${n}):`,t instanceof Error?t.message:t),re(t,{script:e.script,step:n,data:Object.assign(Object.assign({},e.data),{status:r})}))}function ie(e,t,n){return function(e,t,n){try{return"undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon&&navigator.sendBeacon(e,t)}catch(e){return oe(n,e,"beacon"),!1}}(e,t,n)||function(e,t,n){var r;try{const o=fetch(e,{method:"POST",headers:{"Content-Type":"text/plain"},body:t,keepalive:!0});return null===(r=null==o?void 0:o.then)||void 0===r||r.call(o,(e=>{(null==e?void 0:e.ok)||oe(n,new Error(`[ABConvert] beacon fallback HTTP ${null==e?void 0:e.status}`),X,null==e?void 0:e.status)}),(e=>{var t;oe(n,e,Z),null===(t=null==n?void 0:n.onRejected)||void 0===t||t.call(n)})),!0}catch(e){return oe(n,e,Z),!1}}(e,t,n)}const se=[["Edge",/Edg(?:e|A|iOS)?\/(\d+[\d.]*)/],["Opera",/(?:OPR|Opera)\/(\d+[\d.]*)/],["Samsung Internet",/SamsungBrowser\/(\d+[\d.]*)/],["Chrome",/(?:Chrome|CriOS)\/(\d+[\d.]*)/],["Firefox",/(?:Firefox|FxiOS)\/(\d+[\d.]*)/],["Safari",/Version\/(\d+[\d.]*).*Safari/]],ae=[["iOS",/(?:iPhone|iPad|iPod).*OS (\d+[_\d]*)/],["Android",/Android (\d+[\d.]*)/],["Windows",/Windows NT (\d+[\d.]*)/],["macOS",/Mac OS X (\d+[_\d.]*)/],["ChromeOS",/CrOS \w+ ([\d.]+)/],["Linux",/Linux/]];function ce(e){for(const[t,n]of se){const r=e.match(n);if(r)return{name:t,version:r[1]}}return{name:"",version:""}}function ue(e){for(const[t,n]of ae){const r=e.match(n);if(r)return{name:t,version:(r[1]||"").replace(/_/g,".")}}return{name:"",version:""}}const le="__abconvert_suppressedExperiments",de="abconvert.session.suppressed_experiments",fe=window;function pe(e){try{const t=JSON.stringify([...e].sort());if(sessionStorage.getItem(de)===t)return;sessionStorage.setItem(de,t)}catch{}}function me(){let e=fe[le];return e||(e=new Set,fe[le]=e),e}function ge(e){const t=fe[le];return!!t&&t.has(String(e))}const ve=[],he=new Map,ye=new Map;let we=0;function be(e){const{source:t,conditions:n}=e;let r=t;if(t){const e=ve.find((e=>e.id===t.id));e?r=e:(ve.push(t),"dynamic"===t.class&&we++)}for(const e of null!=n?n:[])he.has(e.type)||(he.set(e.type,e),r&&ye.set(e.type,r))}function xe(e){return he.get(e)}function _e(e){return ye.get(e)}function Ie(){return ve}function Se(e){var t,n,r,o,i;const s=(null===(t=e.audienceTargeting)||void 0===t?void 0:t.enabled)&&null!==(r=null===(n=e.audienceTargeting.groups)||void 0===n?void 0:n.flatMap((e=>{var t;return null!==(t=e.filters)&&void 0!==t?t:[]})))&&void 0!==r?r:[],a=null!==(i=null===(o=e.forceAssignRules)||void 0===o?void 0:o.flatMap((e=>{var t;return null!==(t=e.filters)&&void 0!==t?t:[]})))&&void 0!==i?i:[];return[...s,...a]}function Te(e){const t=new Set;for(const n of Se(e))n.type&&t.add(n.type);return t}function ke(e){var t;for(const n of Te(e))if("dynamic"===(null===(t=_e(n))||void 0===t?void 0:t.class))return!0;return!1}function Oe(e){for(const t of Te(e)){const e=_e(t);if((null==e?void 0:e.available)&&!e.available())return e}return null}function Ne(e){return null===e||"object"!=typeof e?JSON.stringify(e):Array.isArray(e)?`[${e.map((e=>{var t;return null!==(t=Ne(e))&&void 0!==t?t:"null"})).join(",")}]`:`{${Object.keys(e).sort().map((t=>{const n=Ne(e[t]);return void 0===n?void 0:`${JSON.stringify(t)}:${n}`})).filter((e=>void 0!==e)).join(",")}}`}function Ae(e,t={}){const n=Object.assign({},e);for(const e of Ie())"dynamic"===e.class&&(e.available&&!e.available()||Object.assign(n,e.read(t)));return n}function $e(e,t){var n,r;return null!==(r=null===(n=xe(e.type))||void 0===n?void 0:n.evaluate(e,t))&&void 0!==r&&r}function Ce(e,t){if(!e||!e.enabled||!e.groups||0===e.groups.length)return!0;for(const n of e.groups)if(n.filters&&0!==n.filters.length&&!n.filters.some((e=>$e(e,t))))return!1;return!0}function Pe(e,t){if(!e||0===e.length)return null;const n=[...e].sort(((e,t)=>e.priority-t.priority));for(const e of n)if(e.filters.every((e=>$e(e,t))))return{matched:!0,action:e.action,groupIndex:e.groupIndex};return null}function je(e){try{return localStorage.getItem(e)}catch(e){return null}}function Ee(e,t){try{return localStorage.setItem(e,t),!0}catch(e){return!1}}function Re(e){try{return localStorage.removeItem(e),!0}catch(e){return!1}}function De(e){try{return sessionStorage.getItem(e)}catch(e){return null}}function Je(e,t){try{return sessionStorage.setItem(e,t),!0}catch(e){return!1}}function Ue(e){try{return sessionStorage.removeItem(e),!0}catch(e){return!1}}
712const Le="abconvert.visitor",Me=`${Le}.first_seen`,Be=`${Le}.customer`,Fe=`${Le}.country_detected`,Ge=`${Le}.klaviyo_segments`,qe="abconvert-country",We="abconvert.session",ze=`${We}.device`,Ve=`${We}.traffic_source.platform`,Ke=`${We}.traffic_source.channel`,He=`${We}.referral_domain`,Xe=`${We}.landing_page`,Ye=`${We}.utm.source`,Ze=`${We}.utm.medium`,Qe=`${We}.utm.campaign`,et=`${We}.utm.term`,tt=`${We}.utm.content`,nt=`${We}.gclid`,rt=`${We}.fbclid`,ot=`${We}.ttclid`,it=`${We}.force_assign.global`,st=`${We}.force_assign.experiment.`;function at(e){return e.trim().toLowerCase()}function ct(e,t,n){const r=null!=t?t:"",o=Array.isArray(n)?n:[n];switch(e){case"equals":return r===o[0];case"not_equals":return r!==o[0];case"contains":return r.includes(o[0]);case"not_contains":return!r.includes(o[0]);case"in":return o.includes(r);case"not_in":return!o.includes(r);case"exists":return null!=t&&""!==t;case"not_exists":return null==t||""===t;case"starts_with":return r.startsWith(o[0]);case"regex":try{return new RegExp(o[0]).test(r)}catch(e){return!1}default:return!1}}var ut=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};function lt(){const e=De(qe);if(e)return e.toUpperCase();const t=je(Fe);return t?t.toUpperCase():""}function dt(e,t){var n;console.warn("[ABConvert] country detection failed:",e instanceof Error?e.message:e),401!==t&&("number"==typeof t&&t>=500||re(e,{script:"group-assignment",step:"number"==typeof t?Y:"fetch",data:{status:t,shopifyDomain:(null===(n=window.Shopify)||void 0===n?void 0:n.shop)||""}}))}let ft=null;function pt(){return ut(this,void 0,void 0,(function*(){if(!je(Fe))return ft||(ft=(()=>ut(this,void 0,void 0,(function*(){var e,t;try{const n=yield fetch("/browsing_context_suggestions.json");if(!(null==n?void 0:n.ok))return void dt(new Error(`HTTP ${null==n?void 0:n.status}`),null==n?void 0:n.status);const r=yield n.json(),o=null===(t=null===(e=null==r?void 0:r.detected_values)||void 0===e?void 0:e.country)||void 0===t?void 0:t.handle;"string"==typeof o&&/^[A-Z]{2}$/.test(o)?Ee(Fe,o):dt(new Error(`malformed handle: ${JSON.stringify(o)}`))}catch(e){dt(e)}finally{ft=null}})))(),ft)}))}const mt={source:{id:"market",class:"static",read:()=>({market:window.abconvertMarket||void 0}),available:()=>!!window.abconvertMarket},conditions:[{type:"market",evaluate:(e,t)=>{return ct(e.operator,null==t.market?t.market:at(t.market),(n=e.value,Array.isArray(n)?n.map((e=>"string"==typeof e?at(e):e)):at(n)));var n}}]},gt={logged_in:{field:"loggedIn",evaluate:function(e,t,n){return"equals"===e&&Boolean(t)===("boolean"==typeof(r=yt(n))?r:"string"==typeof r&&"true"===r.trim().toLowerCase());var r}},tags:{field:"tags",evaluate:function(e,t,n){const r=bt(Array.isArray(t)?t:[]),o=bt(ht(n));switch(e){case"contains":return o.length>0&&r.includes(o[0]);case"not_contains":return!(o.length>0&&r.includes(o[0]));case"in":return o.some((e=>r.includes(e)));case"not_in":return!o.some((e=>r.includes(e)));case"exists":return r.length>0;case"not_exists":return 0===r.length;default:return!1}}},orders_count:{field:"ordersCount",evaluate:xt},total_spent:{field:"totalSpent",evaluate:xt}};function vt(e){return e?gt[e]:void 0}function ht(e){return Array.isArray(e)?e:[e]}function yt(e){return ht(e)[0]}function wt(e){if("number"==typeof e)return Number.isFinite(e)?e:NaN;if("string"!=typeof e)return NaN;const t=e.trim();if(""===t)return NaN;const n=Number(t);return Number.isFinite(n)?n:NaN}function bt(e){return e.map((e=>"string"==typeof e?at(e):"")).filter((e=>""!==e))}function xt(e,t,n){const r=wt(t),o=wt(yt(n));if(Number.isNaN(r)||Number.isNaN(o))return!1;switch(e){case"equals":return r===o;case"greater_than":return r>o;case"less_than":return r<o;case"greater_or_equal":return r>=o;case"less_or_equal":return r<=o;default:return!1}}function _t(e){if(null===e||"object"!=typeof e)return null;const{tags:t,ordersCount:n,totalSpent:r}=e;return Array.isArray(t)&&"number"==typeof n&&"number"==typeof r?{tags:t,ordersCount:n,totalSpent:r}:null}function It(){const e=window.abconvertCustomer;if(null==e)return;const t={loggedIn:e.loggedIn,tags:e.tags,ordersCount:e.ordersCount,totalSpent:e.totalSpent};if(e.loggedIn){const e=_t(t);return e&&function(e){const t=JSON.stringify(e);je(Be)!==t&&Ee(Be,t)}(e),t}
712const n=function(){const e=je(Be);if(!e)return null;try{return _t(JSON.parse(e))}catch(e){return null}}();return n?Object.assign(Object.assign({},t),n):t}const St={source:{id:"customer",class:"dynamic",read:()=>({customer:It()}),available:function(){return null!=window.abconvertCustomer}},conditions:[{type:"customer",evaluate:(e,t)=>{const n=t.customer;if(!n)return!1;const r=vt(e.key);return!!r&&r.evaluate(e.operator,n[r.field],e.value)},watchedValue:(e,t)=>{var n;const r=vt(e.key);return r?null===(n=t.customer)||void 0===n?void 0:n[r.field]:void 0}}]};function Tt(){const e=De(ze);if(e)return e;const t=navigator.userAgent,n=/mobile|iphone|android|tablet|ipad/i.test(t)?"mobile":"desktop";return Je(ze,n),n}const kt={source:{id:"device",class:"static",read:()=>({device:Tt()})},conditions:[{type:"device",evaluate:(e,t)=>ct(e.operator,t.device,e.value)}]};function Ot(e){const t=Date.now(),n=je(Me),r=n?Number(n):t;return n||Ee(Me,t.toString()),r>(null!=e?new Date(e).valueOf():t)?"new":"returning"}const Nt={source:{id:"visitor_type",class:"static",read:e=>({visitorType:Ot(e.experimentStartTime)})},conditions:[{type:"visitor_type",evaluate:(e,t)=>ct(e.operator,t.visitorType,e.value)}]},At={source:{id:"traffic",class:"static",read:()=>{const e=function(){var e,t;const n=De(Ve),r=De(Ke);if(n&&r)return{platform:n,channel:r};const o=document.referrer.toLowerCase(),i=new URLSearchParams(window.location.search),s=null===(e=i.get("utm_source"))||void 0===e?void 0:e.toLowerCase(),a=null===(t=i.get("utm_medium"))||void 0===t?void 0:t.toLowerCase();s&&Je(Ye,s),a&&Je(Ze,a);const c=i.get("utm_campaign");c&&Je(Qe,c);const u=i.get("utm_term");u&&Je(et,u);const l=i.get("utm_content");l&&Je(tt,l);const d=i.get("gclid"),f=i.get("gad_source"),p=i.get("fbclid"),m=i.get("ttclid"),g=i.get("msclkid");d&&Je(nt,d),p&&Je(rt,p),m&&Je(ot,m);const v=navigator.userAgent.toLowerCase(),h=v.includes("instagram")?"instagram":v.includes("fbav")||v.includes("fban")?"facebook":v.includes("musical_ly")||v.includes("tiktok")?"tiktok":null,y=/^(cpc|ppc|paid|retargeting|banner|ads?)$/.test(a||""),w=(...e)=>e.some((e=>o.includes(e)));let b="direct",x="direct";return d||f||"google"===s||w("google.")?(b="google",x=d||f||y?"paid_search":"organic_search"):p||"facebook"===s||"fb"===s||w("facebook.com","fb.com")||"facebook"===h?(b="facebook",x=p||y?"paid_social":"organic_social"):"instagram"===s||"ig"===s||w("instagram.com")||"instagram"===h?(b="instagram",x=y?"paid_social":"organic_social"):m||"tiktok"===s||w("tiktok.com")||"tiktok"===h?(b="tiktok",x=m||y?"paid_social":"organic_social"):"twitter"===s||"x"===s||w("twitter.com","x.com","t.co")?(b="twitter",x=y?"paid_social":"organic_social"):"youtube"===s||"yt"===s||w("youtube.com","youtu.be")?(b="youtube",x=y?"paid_social":"organic_social"):g||"bing"===s||w("bing.com")?(b="bing",x=g||y?"paid_search":"organic_search"):w("yahoo.com","duckduckgo.com","baidu.com","yandex.")?(b="other_search",x="organic_search"):["email","e-mail","e_mail"].includes(s||"")||["email","e-mail","e_mail"].includes(a||"")?(b="email",x="email"):["sms","text"].includes(s||"")||["sms","text"].includes(a||"")?(b="sms",x="sms"):"affiliate"===a?(b="affiliate",x="affiliate"):o&&!o.includes(window.location.hostname)?(b="referral",x="referral"):s&&(b=s,x="referral"),Je(Ve,b),Je(Ke,x),{platform:b,channel:x}}();return{trafficPlatform:e.platform,trafficChannel:e.channel}}},conditions:[{type:"traffic_source",evaluate:(e,t)=>{var n,r;const{operator:o,value:i}=e,s=Array.isArray(i)?i:[i],a=null!==(n=t.trafficChannel)&&void 0!==n?n:"",c=null!==(r=t.trafficPlatform)&&void 0!==r?r:"";switch(o){case"in":return s.includes(a)||s.includes(c);case"not_in":return!s.includes(a)&&!s.includes(c);case"equals":return a===s[0]||c===s[0];case"not_equals":return a!==s[0]&&c!==s[0];default:return!1}}}]};function $t(){const e=De(He);if(null!==e)return e;let t="";if(document.referrer)try{const e=new URL(document.referrer).hostname,o=window.location.hostname;(n=e)===(r=o)||n.endsWith("."+r)||r.endsWith("."+n)||(t=e)}catch(e){}var n,r;return Je(He,t),t}const Ct={source:{id:"referral_domain",class:"static",read:()=>({referralDomain:$t()})},conditions:[{type:"referral_domain",evaluate:(e,t)=>
712ct(e.operator,t.referralDomain,e.value)}]};function Pt(){let e=De(Xe);return e||(e=window.location.pathname,Je(Xe,e)),e}const jt={source:{id:"landing_page",class:"static",read:()=>({landingPage:Pt()})},conditions:[{type:"landing_page",evaluate:(e,t)=>ct(e.operator,t.landingPage,e.value)}]};function Et(){const e={};new URLSearchParams(window.location.search).forEach(((t,n)=>{e[n]=t}));const t={[Ye]:"utm_source",[Ze]:"utm_medium",[Qe]:"utm_campaign",[et]:"utm_term",[tt]:"utm_content",[nt]:"gclid",[rt]:"fbclid",[ot]:"ttclid"};for(const n of Object.keys(t)){const r=De(n),o=t[n];r&&!e[o]&&(e[o]=r)}return e}const Rt={source:{id:"query_param",class:"static",read:()=>({queryParams:Et()})},conditions:[{type:"query_param",evaluate:(e,t)=>ct(e.operator,e.key?t.queryParams[e.key]:null,e.value)}]};function Dt(){const e={};return document.cookie.split(";").forEach((t=>{const[n,r]=t.trim().split("=");n&&(e[n]=r||"")})),e}const Jt={source:{id:"cookie",class:"static",read:()=>({cookies:Dt()})},conditions:[{type:"cookie",evaluate:(e,t)=>ct(e.operator,e.key?t.cookies[e.key]:null,e.value)}]},Ut={conditions:[{type:"js",evaluate:e=>function(e){if("string"!=typeof e||!e.trim())return!1;if(e.length>500)return console.warn("[ABConvert] JS expression too long, max length:",500),!1;try{const t=new Function(function(e){return`'use strict';\ntry {\n    return !!(${e});\n} catch (e) {\n    return false;\n}`}(e));return t()}catch(e){return console.warn("[ABConvert] JS expression evaluation failed:",(null==e?void 0:e.message)||e),!1}}(Array.isArray(e.value)?e.value[0]:e.value)}]};var Lt=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};const Mt="klaviyo_segment";let Bt=[],Ft=null;function Gt(){const e=function(){for(const e of document.cookie.split(";")){const[t,...n]=e.trim().split("=");if("__kla_id"===t)return n.join("=")}return null}();if(e){const t=function(e){let t=e;try{t=decodeURIComponent(e)}catch(e){}try{const e=JSON.parse(atob(t)),n=null==e?void 0:e.exchange_id;return"string"==typeof n&&n.length>0?n:null}catch(e){return null}}(e);if(t)return t}try{const e=new URLSearchParams(window.location.search).get("_kx");return e&&e.length>0?e:null}catch(e){return null}}function qt(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(16)}function Wt(e){const t=function(){const e=je(Ge);if(!e)return null;try{const t=JSON.parse(e);return"string"==typeof(null==t?void 0:t.kxHash)&&"number"==typeof(null==t?void 0:t.fetchedAt)&&t.membership&&"object"==typeof t.membership?t:null}catch(e){return null}}();return t?t.kxHash!==qt(e)||Date.now()-t.fetchedAt>36e5?null:t:null}function zt(e){return e?Bt.filter((t=>!(t in e.membership))):Bt.slice()}function Vt(){return Lt(this,void 0,void 0,(function*(){const e=Gt();if(!e)return;const t=Wt(e),n=zt(t);return 0!==n.length?Ft||(Ft=(()=>Lt(this,void 0,void 0,(function*(){var r;const o=yield function(e,t){return Lt(this,void 0,void 0,(function*(){var n;const r=null===(n=window.Shopify)||void 0===n?void 0:n.shop;if(!r)return null;const o="function"==typeof AbortController?new AbortController:null,i=o?setTimeout((()=>o.abort()),1500):null;try{const n=yield fetch(`${R}/api/public/klaviyo/segment-membership`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({shop:r,kx:e,segmentIds:t}),signal:null==o?void 0:o.signal});if(!n.ok)return null;const i=yield n.json();return"ok"===(null==i?void 0:i.status)&&i.membership&&"object"==typeof i.membership?i.membership:null}catch(e){return console.warn("[ABConvert] Klaviyo segment lookup failed:",e instanceof Error?e.message:e),null}finally{null!==i&&clearTimeout(i)}}))}(e,n);if(!o)return;const i={kxHash:qt(e),fetchedAt:Date.now(),membership:Object.assign(Object.assign({},null!==(r=null==t?void 0:t.membership)&&void 0!==r?r:{}),o)};Ee(Ge,JSON.stringify(i))})))().finally((()=>{Ft=null})),Ft):void 0}))}function Kt(e,t){for(const n of null!=e?e:[]){if((null==n?void 0:n.type)!==Mt)continue;const e=Array.isArray(n.value)?n.value:[n.value];for(const n of e)"string"==typeof n&&n.length>0&&t.add(n)}}function Ht(){var e;const t=Gt();return t?null===(e=Wt(t))||void 0===e?void 0:e.membership:{}}function Xt(e,t){return"string"==typeof t&&!0===(null==e?void 0:e[t])}const Yt={source:{id:"klaviyo",class:"dynamic",read:()=>({klaviyoSegments:Ht()}),available:()=>{const e=Gt();return!e||0===zt(Wt(e)).length&&null!==Wt(e)},refresh:Vt},conditions:[{type:Mt,evaluate:function(e,t){const n=t.klaviyoSegments;if(!n)return!1;const r=Array.isArray(e.value)?e.value:[e.value];switch(e.operator){case"equals":return Xt(n,r[0]);case"not_equals":return!Xt(n,r[0]);case"in":return r.some((e=>Xt(n,e)));case"not_in":return!r.some((e=>Xt(n,e)));default:return!1}}}]},Zt={source:{id:"ua_enrichment",class:"static",read:()=>({browser:ce(navigator.userAgent),os:ue(navigator.userAgent),locale:navigator.language||void 0,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0})}},Qt=["equals","not_equals","starts_with","in","not_in"],en=["contains","not_contains","regex"];function tn(e,t){const n=function(e,t){return-1!==Qt.indexOf(e)?t.pathname:-1!==en.indexOf(e)?t.href:null}(e.operator,t);return null!==n&&ct(e.operator,n,e.value)}function nn(e,t=window.location){var n,r;if(!e)return!0;
712if((null!==(n=e.excludeRules)&&void 0!==n?n:[]).some((e=>tn(e,t))))return!1;const o=null!==(r=e.includeRules)&&void 0!==r?r:[];return 0===o.length||o.some((e=>tn(e,t)))}var rn=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};function on(e){return Te(e).has("country")}be({source:{id:"country",class:"static",read:()=>({country:lt()}),available:()=>""!==lt(),refresh:pt},conditions:[{type:"country",evaluate:(e,t)=>ct(e.operator,t.country,e.value)}]}),be(mt),be(St),be(kt),be(Nt),be(At),be(Ct),be(jt),be(Rt),be(Jt),be(Zt),be(Ut),be(Yt);const sn="abconvert.visitor.id",an="abconvert.experiment",cn="abconvert.namespace",un="traffic",ln="group",dn="context",fn="__abconvertAssignmentSent",pn=`${We}.ga4.impression.queue`,mn="__abconvert_ga4FlushPromise",gn=window;function vn(){const e=gn[mn];return e instanceof Promise?e:null}function hn(e){gn[mn]=e}mn in gn||(gn[mn]=null);let yn=!1;function wn(e){return`${e.experimentId}::${e.groupIndex}`}function bn(e,t,n={}){var r;re(new Error(`[ABConvert][GA4] ${e}`),{script:"group-assignment",step:"ga4-impression-tracking",data:Object.assign({issue:e,experimentId:t.experimentId,groupIndex:t.groupIndex,assignmentReason:t.assignmentReason,attempts:t.attempts,eventAgeMs:Date.now()-t.createdAt,shopifyDomain:(null===(r=window.Shopify)||void 0===r?void 0:r.shop)||""},n)})}function xn(){const e=De(pn);if(!e)return[];try{const t=JSON.parse(e);return Array.isArray(t)?t.filter((e=>"string"==typeof(null==e?void 0:e.experimentId)&&Number.isInteger(null==e?void 0:e.groupIndex)&&"string"==typeof(null==e?void 0:e.assignmentReason)&&Number.isFinite(null==e?void 0:e.createdAt)&&Number.isInteger(null==e?void 0:e.attempts))):[]}catch(e){return[]}}function _n(){return xn().length>0}function In(e){0!==e.length?Je(pn,JSON.stringify(e)):Ue(pn)}function Sn(e){return"url_force_assign"===e}function Tn(e){if(null===e||""===e)return null;const t=Number(e);return function(e){return Number.isInteger(e)&&e>=0}(t)?t:null}function kn(e){return Tn(De(`${st}${e}`))}function On(e,t){try{for(const n of function(e,t){const n=[];return null!=t&&""!==t&&n.push(String(t)),e&&!n.includes(e)&&n.push(e),n}(e,t)){const e=kn(n);if(null!==e)return{groupIndex:e,reason:"url_force_assign"}}const n=Tn(De(it));return null!==n?{groupIndex:n,reason:"url_force_assign"}:null}catch(e){return null}}function Nn(e,t){return null!==On(e,t)}function An(){let e=je(sn);return e||(e=`abc_${"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}`,Ee(sn,e)),e}function $n(e){const t=function(e,t=0){const n=e.length%4,r=e.length-n;let o=t>>>0;const i=3432918353,s=461845907;let a,c=0;for(;c<r;)a=255&e.charCodeAt(c)|(255&e.charCodeAt(c+1))<<8|(255&e.charCodeAt(c+2))<<16|(255&e.charCodeAt(c+3))<<24,c+=4,a=Math.imul(a,i),a=a<<15|a>>>17,a=Math.imul(a,s),o^=a,o=o<<13|o>>>19,o=Math.imul(o,5)+3864292196;switch(a=0,n){case 3:a^=(255&e.charCodeAt(c+2))<<16;case 2:a^=(255&e.charCodeAt(c+1))<<8;case 1:a^=255&e.charCodeAt(c),a=Math.imul(a,i),a=a<<15|a>>>17,a=Math.imul(a,s),o^=a}return o^=e.length,o^=o>>>16,o=Math.imul(o,2246822507),o^=o>>>13,o=Math.imul(o,3266489909),o^=o>>>16,o>>>0}(e);return t%100}function Cn(e,t){Ee(`${an}.${e}.${un}`,t.toString())}function Pn(e){const t=je(`${an}.${e}.${ln}`);if(null===t)return null;try{const e=JSON.parse(t);if("object"==typeof e&&null!==e&&"number"==typeof e.groupIndex)return{groupIndex:e.groupIndex,reason:e.reason,assignedAt:"string"==typeof e.assignedAt?e.assignedAt:void 0,sends:"number"==typeof e.sends?e.sends:void 0,attempts:"number"==typeof e.attempts?e.attempts:void 0,assignmentVersion:"number"==typeof e.assignmentVersion?e.assignmentVersion:void 0}}catch(e){}return null}function jn(e,t,n,r){var o;const i=`${an}.${e}.${ln}`,s=Pn(e),a={groupIndex:t,reason:n,assignedAt:null!==(o=null==s?void 0:s.assignedAt)&&void 0!==o?o:(new Date).toISOString()};return void 0!==(null==s?void 0:s.attempts)&&(a.attempts=s.attempts),void 0!==(null==s?void 0:s.sends)&&s.groupIndex===t&&(a.sends=s.sends),void 0!==r&&(a.assignmentVersion=r),Ee(i,JSON.stringify(a)),a}function En(e){const t=je(`${an}.${e}.${dn}`);
712if(!t)return null;try{return JSON.parse(t)}catch(e){return null}}function Rn(e,t){Ee(`${an}.${e}.${dn}`,JSON.stringify(t))}function Dn(e){var t;const n=null!==(t=null==e?void 0:e.queryParams)&&void 0!==t?t:{};return{country:(null==e?void 0:e.country)||void 0,market:(null==e?void 0:e.market)||void 0,device:(null==e?void 0:e.device)||void 0,visitorType:(null==e?void 0:e.visitorType)||void 0,trafficPlatform:(null==e?void 0:e.trafficPlatform)||void 0,trafficChannel:(null==e?void 0:e.trafficChannel)||void 0,referralDomain:(null==e?void 0:e.referralDomain)||void 0,landingPage:(null==e?void 0:e.landingPage)||void 0,utmSource:n.utm_source||void 0,utmMedium:n.utm_medium||void 0,utmCampaign:n.utm_campaign||void 0,utmTerm:n.utm_term||void 0,utmContent:n.utm_content||void 0,gclid:n.gclid||void 0,fbclid:n.fbclid||void 0,ttclid:n.ttclid||void 0}}function Jn(e,t,n,r){var o,i;"preview_override"!==t.reason&&((null!==(o=t.sends)&&void 0!==o?o:0)>=5||(null!==(i=t.attempts)&&void 0!==i?i:0)>=10||-1===t.groupIndex&&ke(n)||function(e){try{const t=window;let n=t[fn];return n||(n=new Set,t[fn]=n),!n.has(e)&&(n.add(e),!0)}catch(e){return!0}}(e)&&function(e,t,n,r,o,i){var s,a,c,u,l,d,f;const p=An(),m=(null===(s=window.Shopify)||void 0===s?void 0:s.shop)||"",g=P();try{const s=new URL(`${R}/api/track/assignment`);m&&s.searchParams.set("shop",m);const v=JSON.stringify(Object.assign(Object.assign({sessionId:g,visitorId:p,experimentId:e,testGroup:t,assignmentReason:n,assignmentVersion:i,createdAt:null!=o?o:(new Date).toISOString()},Dn(r)),{browser:null!==(a=r.browser)&&void 0!==a?a:ce(navigator.userAgent),os:null!==(c=r.os)&&void 0!==c?c:ue(navigator.userAgent),locale:null!==(l=null!==(u=r.locale)&&void 0!==u?u:navigator.language)&&void 0!==l?l:void 0,timezone:null!==(f=null!==(d=r.timezone)&&void 0!==d?d:Intl.DateTimeFormat().resolvedOptions().timeZone)&&void 0!==f?f:void 0}));return ie(s.toString(),v,{script:"group-assignment",data:{experimentId:e,shopifyDomain:m},onRejected:()=>function(e){const t=Pn(e);(null==t?void 0:t.sends)&&Ee(`${an}.${e}.${ln}`,JSON.stringify(Object.assign(Object.assign({},t),{sends:t.sends-1})))}(e)})}catch(t){return console.warn("[ABConvert] unified assignment tracking threw synchronously:",(null==t?void 0:t.message)||t),re(t instanceof Error?t:new Error(String(t)),{script:"group-assignment",step:"sync",data:{experimentId:e,shopifyDomain:m}}),!1}}(e,t.groupIndex,t.reason,r(),t.assignedAt,t.assignmentVersion)&&function(e,t){var n,r;const o=`${an}.${e}.${ln}`,i=Object.assign(Object.assign({},t),{sends:(null!==(n=t.sends)&&void 0!==n?n:0)+1,attempts:(null!==(r=t.attempts)&&void 0!==r?r:0)+1});Ee(o,JSON.stringify(i))}(e,t))}function Un(e){const t=Number.isInteger(null==e?void 0:e.experimentId)&&e.experimentId>=0?e.experimentId:null,n="string"==typeof(null==e?void 0:e.experimentName)?e.experimentName.trim():"",r=Number.isInteger(null==e?void 0:e.groupIndex)&&e.groupIndex>=0?e.groupIndex:null,o="string"==typeof(null==e?void 0:e.variantName)?e.variantName.trim():"",i="string"==typeof(null==e?void 0:e.ga4MeasurementId)?e.ga4MeasurementId.trim():"";return(null==e?void 0:e.found)&&null!==t&&n&&null!==r&&o&&i?{experimentId:t,experimentName:n,groupIndex:r,variantName:o,ga4MeasurementId:i}:null}function Ln(e,t){"function"==typeof window.gtag&&window.gtag("event","abconvert_experience_impression",{abconvert_experiment_id:t.experimentId,abconvert_experiment_name:t.experimentName,abconvert_group_index:t.groupIndex,abconvert_variant_name:t.variantName,abconvert_exp_variant_string:`${t.experimentId}-${t.groupIndex}`,abconvert_assignment_reason:e.assignmentReason,transport_type:"beacon",event_timeout:1e3,send_to:t.ga4MeasurementId})}function Mn(e){return!(e.attempts>=3)&&Date.now()-e.createdAt<864e5}!function(){try{const e=new URLSearchParams(window.location.search),t=e.get("preview"),n=e.get("abconvert_force");if(null!==n&&n.includes(":")){const[e,t]=n.split(":"),r=Number(t);return void(e&&!isNaN(r)&&Je(`${st}${e}`,r.toString()))}null===n||isNaN(Number(n))?null===t||isNaN(Number(t))||Je(it,t):(Je(it,n),Je("abconvert-preview-number",n))}catch(e){}}();let Bn=!1;function Fn(){Bn||(Bn=!0,setTimeout((()=>{Bn=!1,Gn()}),0))}function Gn(){return rn(this,void 0,void 0,(function*(){const e=vn();if(e){const t=e.then((()=>
712{if(vn()===t&&hn(null),_n())return Gn()}));return hn(t),t}const t=(()=>rn(this,void 0,void 0,(function*(){const e=xn();if(0===e.length)return;const t=[];let n=!1;const r=[];for(const t of e)Mn(t)?r.push(t):bn("ga4_impression_dropped_before_send",t,{reason:"retry_exhausted_or_expired"});if(r.length>0)if("function"!=typeof window.gtag)n=!0,t.push(...r);else{const e=yield function(e){return rn(this,void 0,void 0,(function*(){if(0===e.length)return new Map;try{const t=yield fetch(`${R}/api/ga4/metadata`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:e.map((e=>({clientKey:wn(e),experimentId:e.experimentId,groupIndex:e.groupIndex})))}),keepalive:!0});if(!(null==t?void 0:t.ok))return bn("ga4_metadata_batch_fetch_non_2xx",e[0],{statusCode:null==t?void 0:t.status,batchSize:e.length}),null;const n=yield t.json(),r=Array.isArray(null==n?void 0:n.results)?n.results:null;if(!r)return bn("ga4_metadata_batch_invalid_response",e[0],{batchSize:e.length}),null;const o=new Map;for(const e of r){const t="string"==typeof(null==e?void 0:e.clientKey)?e.clientKey:"";t&&o.set(t,e)}return o}catch(t){const n=t instanceof Error?t.message:String(t),r=t instanceof Error?t.name:"",o="TypeError"===r&&(n.includes("Failed to fetch")||n.includes("NetworkError")||n.includes("Load failed")||n.includes("network connection was lost")||n.includes("abort"));return"AbortError"===r||o?(console.warn("[ABConvert] GA4 metadata batch fetch failed (network issue):",n),null):(bn("ga4_metadata_batch_exception",e[0],{errorMessage:n,batchSize:e.length}),null)}}))}(r);for(const n of r){const r=null==e?void 0:e.get(wn(n));if(!1===(null==(o=r)?void 0:o.found)&&("ga4_not_configured"===o.reason||"ga4_ineligible"===o.reason))continue;const i=Un(r);if(Boolean(i)&&i){Ln(n,i);continue}const s=Object.assign(Object.assign({},n),{attempts:n.attempts+1});Mn(s)?t.push(s):bn("ga4_impression_retry_exhausted",s,{reason:"max_attempts_or_expired_after_not_sent"})}}var o;const i=function(e,t){const n=new Set(e.map((e=>wn(e)))),r=[...t],o=new Set(r.map((e=>wn(e))));for(const e of xn()){const t=wn(e);n.has(t)||o.has(t)||(r.push(e),o.add(t))}return r.length>50&&r.splice(0,r.length-50),r}(e,t);In(i),n&&i.length>0&&(yn||(yn=!0,setTimeout((()=>{yn=!1,Gn()}),1500)))})))().finally((()=>{vn()===t&&hn(null)}));return hn(t),t}))}function qn(e){return function(e={}){const t={};for(const n of Ie())Object.assign(t,n.read(e));return t}({experimentStartTime:e})}function Wn(e){const t=function(e){const{experimentId:t,numericId:n,trafficAllocationPercent:r,audienceTargeting:o,forceAssignRules:i,percentages:s,experimentStartTime:a,isPersonalization:c,assignmentVersion:u,pageTargeting:l}=e,d={audienceTargeting:o,forceAssignRules:i};pe(me());const f=On(t,n);if(f)return{inTest:!0,groupIndex:f.groupIndex<s.length?f.groupIndex:0,reason:f.reason};const p=function(e){const t=De(`${an}.${e}.${ln}`);if(null===t)return null;const n=parseInt(t,10);return isNaN(n)?null:n}(t);if(null!==p)return{inTest:!0,groupIndex:p<s.length?p:0,reason:"preview_override"};const m=Pn(t);if(null===m&&!nn(l))return{inTest:!1,groupIndex:-1,reason:"page_not_activated"};const g=null!==m&&c&&void 0!==u&&m.assignmentVersion!==u;if(null===m||g){const e=Oe(d);if(e)return{inTest:!1,groupIndex:-1,reason:`${e.id}_unresolved`}}const v=An();if(!function(e,t){var n,r;const o=window.abconvertNamespaceGroups;if(!o)return!0;let i=null,s=null;for(const[e,n]of Object.entries(o))if(n.memberExperimentIds.includes(t)){i=e,s=n;break}if(!i||!s)return!0;const a=function(e){const t=je(`${cn}.${e}`);if(!t)return null;try{return JSON.parse(t)}catch(e){return null}}(i);if(a){if(null===(n=s.excludedExperimentIds)||void 0===n?void 0:n.includes(a.experimentId))return!1;if(null===(r=s.inactiveExperimentIds)||void 0===r?void 0:r.includes(a.experimentId))return!1;if(s.memberExperimentIds.includes(a.experimentId))return a.experimentId===t;Re(`${cn}.${i}`)}const c=s.ranges[t];if(!c)return!1;const[u,l]=c,d=$n(`${e}:namespace:${i}`)/100,f=d>=u&&d<l;return f&&(p={experimentId:t},Ee(`${cn}.${i}`,JSON.stringify(p))),f;var p}(v,t))return{inTest:!1,groupIndex:-1,reason:"namespace_excluded"};
712if(!function(e,t,n){const r=function(e){const t=je(`${an}.${e}.${un}`);return null===t?null:"true"===t}(t);if(null!==r)return r;if(n>=100)return Cn(t,!0),!0;const o=$n(`${e}:${t}:traffic`)<n;return Cn(t,o),o}(v,t,r))return{inTest:!1,groupIndex:-1,reason:"traffic_allocation_excluded"};let h=m;null!==h&&c&&void 0!==u&&h.assignmentVersion!==u&&(function(e){Re(`${an}.${e}.${un}`),Re(`${an}.${e}.${ln}`),Re(`${an}.${e}.${dn}`),Ue(`${an}.${e}.${ln}`)}(t),h=null);let y=null,w=null;if(null!==h&&we>0&&ke(d)){w=En(t);let e=null;const n=()=>null!=e?e:e=Ae(w,{experimentStartTime:a}),r=function(e,t,n,r,o={}){return function(e,t,n={}){var r;if(!t)return!1;for(const o of Se(e)){if(!o.type)continue;const e=_e(o.type);if(!e||"dynamic"!==e.class)continue;if(e.available&&!e.available())continue;const i=e.read(n),s=null===(r=xe(o.type))||void 0===r?void 0:r.watchedValue;if(s){if(Ne(s(o,i))!==Ne(s(o,t)))return!0}else for(const e of Object.keys(i))if(Ne(i[e])!==Ne(t[e]))return!0}return!1}(e,n,o)?Oe(e)?"keep":-1===t?"redecide":function(e,t){var n;const r=t();return!!Ce(e.audienceTargeting,r)&&"exclude"!==(null===(n=Pe(e.forceAssignRules,r))||void 0===n?void 0:n.action)}(e,r)?"refresh":"suppress":"keep"}(d,h.groupIndex,w,n,{experimentStartTime:a});if("refresh"===r)w=n(),Rn(t,w);else if("redecide"===r)y=w,h=null;else if("suppress"===r)return function(e){if(!e)return;const t=me(),n=t.size;t.add(String(e)),t.size!==n&&pe(t)}(t),{inTest:!1,groupIndex:-1,reason:"eligibility_withdrawn"}}if(null!==h){const e=()=>{var e;return null!==(e=null!=w?w:En(t))&&void 0!==e?e:qn(a)};if(-1===h.groupIndex)return Jn(t,h,d,e),{inTest:!1,groupIndex:-1,reason:h.reason};if(h.groupIndex<s.length)return Jn(t,h,d,e),_n()&&Fn(),{inTest:!0,groupIndex:h.groupIndex,reason:h.reason}}const b=qn(a);let x,_;if(Ce(o,b)){const e=Pe(i,b);if("exclude"===(null==e?void 0:e.action))_=jn(t,-1,"force_assign_excluded",u),x={inTest:!1,groupIndex:-1,reason:"force_assign_excluded"};else if("assign_group"===(null==e?void 0:e.action))_=jn(t,e.groupIndex,"force_assign_group",u),x={inTest:!0,groupIndex:e.groupIndex,reason:"force_assign_group"};else{const e=function(e,t,n){const r=$n(`${e}:${t}:group`);let o=0;for(let e=0;e<n.length;e++)if(o+=n[e],r<o)return e;return n.length-1}(v,t,s);_=jn(t,e,"random_split",u),x={inTest:!0,groupIndex:e,reason:"random_split"}}}else _=jn(t,-1,"audience_targeting_excluded",u),x={inTest:!1,groupIndex:-1,reason:"audience_targeting_excluded"};const I=y?Ae(y,{experimentStartTime:a}):b;return Rn(t,I),function(e,t,n,r){var o;const i=An(),s=(null===(o=window.Shopify)||void 0===o?void 0:o.shop)||"",{customer:a}=r,c=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}(r,["customer"]);try{fetch(`${R}/api/analytics/v2/visitor/assignment`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({visitorId:i,experimentId:e,groupIndex:t,assignmentReason:n,visitorContext:c,myShopifyDomain:s}),keepalive:!0}).catch((e=>{console.warn("[ABConvert] legacy assignment tracking failed:",(null==e?void 0:e.message)||e)}))}catch(e){console.warn("[ABConvert] legacy assignment tracking threw synchronously:",(null==e?void 0:e.message)||e)}}(t,x.groupIndex,x.reason,I),Jn(t,_,d,(()=>I)),x.groupIndex>=0&&"preview_override"!==x.reason&&!Sn(x.reason)&&function(e,t,n){const r=xn(),o=wn({experimentId:e,groupIndex:t});r.some((e=>wn(e)===o))||(r.push({experimentId:e,groupIndex:t,assignmentReason:n,createdAt:Date.now(),attempts:0}),r.length>50&&r.splice(0,r.length-50),In(r),Fn())}(t,x.groupIndex,x.reason),x}(e),n=function(){if("undefined"==typeof window)return{};const e=window;return e[f]||(e[f]={}),e[f]}();return t.inTest?n[String(e.experimentId)]=t.groupIndex:delete n[String(e.experimentId)],t}const zn="abconvert:exposed:",Vn="__abconvertExposureResendDone";function Kn(e){try{const t=sessionStorage.getItem(zn+e);if(null===t)return null;const n=JSON.parse(t);if(n&&"string"==typeof n.sessionId&&n.sessionId.length>0&&"number"==typeof n.groupIndex&&Number.isFinite(n.groupIndex)){const e={sessionId:n.sessionId,groupIndex:n.groupIndex};
712return"number"==typeof n.numericId&&Number.isFinite(n.numericId)&&(e.numericId=n.numericId),e}return null}catch(e){return null}}function Hn(e,t,n){var r;const o=(null===(r=window.Shopify)||void 0===r?void 0:r.shop)||"",i=An();try{const r=window.abconvertApiEndpoint||R,s=new URL(`${r}/api/track/event`);o&&s.searchParams.set("shop",o);const a=function(e){const t=Pn(e);if(null===t)return null;const n=En(e);return Object.assign(Object.assign({experimentId:e,testGroup:t.groupIndex,assignmentReason:t.reason||void 0,createdAt:t.assignedAt},Dn(n)),{browser:(null==n?void 0:n.browser)||void 0,os:(null==n?void 0:n.os)||void 0,locale:(null==n?void 0:n.locale)||void 0,timezone:(null==n?void 0:n.timezone)||void 0})}(e),c=JSON.stringify({sessionId:n,visitorId:i,eventType:"abconvert:exposure",source:"script",experimentIds:[e],assignmentSnapshots:a?[a]:[],pagePath:window.location.pathname,createdAt:(new Date).toISOString(),payload:{groupIndex:t}});ie(s.toString(),c,{script:"exposure",data:{experimentId:e}})}catch(t){console.warn("[ABConvert] exposure tracking threw synchronously:",t),re(t instanceof Error?t:new Error(String(t)),{script:"exposure",step:"sync",data:{experimentId:e}})}}function Xn(e,t,n){if(Nn(e,n))return;if(ge(e))return;const r=P(),o=Kn(e);if(o&&o.sessionId===r)return;const i={sessionId:r,groupIndex:t};"number"==typeof n&&Number.isFinite(n)&&(i.numericId=n),function(e,t){try{sessionStorage.setItem(zn+e,JSON.stringify(t))}catch(e){}}(e,i),Hn(e,t,r)}const Yn='form[action*="/cart/add"]',Zn="data-abconvert-property";let Qn=null,er=!1,tr=!1;function nr(){tr=!1;for(const e of Array.from(document.querySelectorAll(Yn)))for(const t of Array.from(e.querySelectorAll(`input[${Zn}]`)))t.remove()}function rr(e){const t=e.target;return(null==t?void 0:t.closest)?t.closest("shopify-accelerated-checkout, .shopify-payment-button"):null}function or(e){const t=rr(e);if(!t)return;const n=t.closest(Yn);if(!n)return;const r=null==Qn?void 0:Qn();r&&(function(e,t){const n=function(e){const t={};for(const n of Array.from(e.querySelectorAll(`input[${Zn}]`))){const e=n.getAttribute(Zn);e&&(t[e]?n.remove():t[e]=n)}return t}(e);for(const r of Object.keys(t)){const o=n[r];if(o){o.value!==t[r]&&(o.value=t[r]);continue}const i=document.createElement("input");i.type="hidden",i.name=`properties[${r}]`,i.setAttribute(Zn,r),i.value=t[r],e.prepend(i)}}(n,r),tr=!0)}function ir(e){tr&&(rr(e)||nr())}function sr(){tr&&nr()}const ar="abconvert:pending-tracking-cart-write",cr="__abconvert_cartWriteQueue",ur="__abconvert_cartWriteBatch",lr="__abconvert_cartWriteFlush",dr="__abconvert_trackingCartWriteFlush",fr="__abconvert_trackingCartWriteTimer",pr="__abconvert_trackingCartWriteListeners",mr="__abconvert_trackingCartWriteTerminal",gr="__abconvert_trackingCartWriteRerun",vr=window;function hr(){return window?.Shopify?.routes?.root??"/"}function yr(e){return new Promise(((t,n)=>{vr[ur].push({entry:e,resolve:t,reject:n}),vr[lr]||(vr[lr]=!0,setTimeout((()=>{const e=vr[ur];vr[ur]=[],vr[lr]=!1;const t=vr[cr].then((()=>async function(e){const t={};for(const{entry:n}of e)"direct"===n.type?t[n.key]=n.value:Object.assign(t,n.resolver());if(0===Object.keys(t).length)return;const n=hr(),r=await fetch(`${n}cart.js`),o=await r.json(),i={};for(const[e,n]of Object.entries(t)){const t=o.attributes?.[e];t!==n&&(""===n&&null==t||(i[e]=n))}if(0===Object.keys(i).length)return;let s=0;for(;s<10;){const e=await fetch(`${n}cart/update.js`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attributes:i})}),t=await e.json();let r=!0;for(const[e,n]of Object.entries(i)){const o=t.attributes?.[e];if(o!==n&&(""!==n||null!=o)){r=!1;break}}if(r)return;s++}}(e)));vr[cr]=t.catch((()=>{})),t.then((()=>e.forEach((e=>e.resolve())))).catch((t=>e.forEach((e=>e.reject(t)))))}),0))}))}function wr(e,t){return yr({type:"direct",key:e,value:t})}function br(){const e=[];let t,n=!1;try{t=localStorage.length}catch{return Cr("local_assignment_scan"),null}for(let r=0;r<t;r++){let t,o;try{t=localStorage.key(r)}catch{return Cr("local_assignment_scan"),null}if(t&&t.startsWith("abconvert.experiment.")&&t.endsWith(".group")){try{o=localStorage.getItem(t)}catch{return Cr("local_assignment_scan"),null}try{const r=JSON.parse(o);if(null==r)continue;const i=t.slice(21,-6);n=!0;const s="number"==typeof r?r:r.groupIndex;-1===s||ge(i)||e.push({id:i,groupIndex:s})}catch{}}}return n?e:null}function xr(){const e=br();return e?[...new Set(e.map((e=>e.id)))].sort():null}function _r(e){return"number"==typeof e?Number.isInteger(e)&&e>=0?e:null:"string"==typeof e&&/^\d+$/.test(e)?parseInt(e,10):null}vr[ur]||(vr[ur]=[]),vr[cr]||(vr[cr]=Promise.resolve());let Ir=null,Sr=null;function Tr(){const e=function(e){const t={};for(const{id:n,groupIndex:r}of e){const e=_r(r);null===e||n in t||(t[n]=e)}return t}(br()??[]),t=vr[f]??{};for(const[n,r]of Object.entries(t)){const t=_r(r);null!==t&&(e[n]=t)}if(0===Object.keys(e).length)return null;const r={[n]:JSON.stringify(e)};Ir&&(r["_abconvert-visitor"]=Ir),Sr&&(r["_abconvert-session"]=Sr);const o=((null===(i=null===window||void 0===window?void 0:window.Shopify)||void 0===i?void 0:i.country)||De(qe)||je(qe)||"").toUpperCase();var i;return o&&(r["_abconvert-country"]=o),r}
712function kr(e,t){Ir=t?String(t):null,Sr=e?String(e):null;try{Qn=Tr,er||"undefined"==typeof document||(er=!0,document.addEventListener("click",or,!0),document.addEventListener("pointerdown",ir,!0),document.addEventListener("keydown",ir,!0),document.addEventListener("submit",sr,!0))}catch{}try{const n=Pr(),i=Date.now(),s={...n?.attributes||{}},c=xr();c&&(s[a]=JSON.stringify(c)),e&&(s[r]=String(e)),t&&(s[o]=String(t));const u={version:1,revision:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,createdAt:n?.createdAt??i,updatedAt:i,attempts:0,readFailures:0,attributes:s};return jr(u)?(Ar("tracking_cart_write_pending_created",u),Dr(0)):Or(e,t)}catch{return Or(e,t)}}function Or(e,t){try{const n=[];return e&&n.push(wr(r,e)),t&&n.push(wr(o,t)),n.push(yr({type:"deferred",resolver:()=>{const e=xr();return e?{[a]:JSON.stringify(e)}:{}}})),Promise.allSettled(n).then((()=>{}))}catch{return Promise.resolve()}}function Nr(e,t){try{kr(e(),t()).catch((()=>{}))}catch{}}function Ar(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{vr.posthog?.capture?.(e,{schemaVersion:1,revision:t?.revision,attempts:t?.attempts,...n})}catch{}}function $r(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t?.revision&&(vr[mr]||(vr[mr]={}),vr[mr][t.revision]||(vr[mr][t.revision]=!0,Ar(e,t,n)))}function Cr(e){Ar("tracking_cart_write_storage_unavailable",null,{operation:e})}function Pr(){let e;try{e=sessionStorage.getItem(ar)}catch{return Cr("read"),null}if(!e)return null;try{const t=JSON.parse(e),n=Object.keys(t.attributes||{}),i=[r,o,a];if(1!==t.version||"string"!=typeof t.revision||!Number.isFinite(t.createdAt)||!Number.isFinite(t.updatedAt)||!Number.isInteger(t.attempts)||t.attempts<0||void 0!==t.readFailures&&(!Number.isInteger(t.readFailures)||t.readFailures<0)||n.some((e=>!i.includes(e)))||n.some((e=>"string"!=typeof t.attributes[e])))throw new Error("invalid record");return t.readFailures??=0,Date.now()-t.createdAt>18e5?(Er(t.revision),$r("tracking_cart_write_expired",t,{reason:"ttl"}),null):t}catch{try{sessionStorage.removeItem(ar)}catch{Cr("delete")}return null}}function jr(e){try{return sessionStorage.setItem(ar,JSON.stringify(e)),!0}catch{return Cr("write"),!1}}function Er(e){try{const t=sessionStorage.getItem(ar);return!t||JSON.parse(t).revision===e&&(sessionStorage.removeItem(ar),!0)}catch{return Cr("delete"),!1}}function Rr(e,t){return Object.entries(t).every((t=>{let[n,r]=t;return e?.attributes?.[n]===r}))}function Dr(e){if(vr[dr])return vr[gr]=!0,vr[dr];vr[fr]&&clearTimeout(vr[fr]);const t=new Promise((t=>{vr[fr]=setTimeout((()=>{vr[fr]=null;const e=(vr[cr]||Promise.resolve()).then(Jr);vr[cr]=e.catch((()=>{})),e.catch((()=>{})).finally(t)}),e)}));return vr[dr]=t.finally((()=>{vr[dr]=null,vr[gr]&&(vr[gr]=!1,Dr(0))})),vr[dr]}async function Jr(){const e=Pr();if(!e||e.attempts>=10||e.readFailures>=10)return;let t="read",n="network";try{const r=hr(),o=await fetch(`${r}cart.js`);if(!o.ok)throw n="non_ok",new Error("cart read failed");n="parse";const i=await o.json();if(t="write",Rr(i,e.attributes))return void(Er(e.revision)&&$r("tracking_cart_write_verified",e,{source:"read"}));const s=Pr();if(!s||s.revision!==e.revision)return;if(s.attempts+=1,s.updatedAt=Date.now(),!jr(s))return;Ar("tracking_cart_write_attempted",s),n="network";const a=await fetch(`${r}cart/update.js`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attributes:s.attributes})});if(!a.ok)throw n="non_ok",new Error("cart write failed");if(n="parse",!Rr(await a.json(),s.attributes))throw n="mismatch",new Error("cart verification failed");Er(s.revision)&&$r("tracking_cart_write_verified",s,{source:"write"})}catch{const r=Pr();if(!r||r.revision!==e.revision)return;if("read"===t){if(r.readFailures+=1,r.updatedAt=Date.now(),!jr(r))return;Ar("tracking_cart_write_read_failed",r,{reason:n})}const o=r.attempts>=10?"post_budget":r.readFailures>=10?"read_budget":null;if(o)return void $r("tracking_cart_write_retry_exhausted",r,{reason:o});const i="read"===t?r.readFailures:r.attempts,s=Math.min(3e4,250*2**Math.max(0,i-1)),a=Math.round(s*(.75+.5*Math.random()));Ar("tracking_cart_write_retry_scheduled",r,{delayMs:a,operation:t,reason:n}),function(e){vr[fr]&&clearTimeout(vr[fr]),vr[fr]=setTimeout((()=>{vr[fr]=null,Dr(0)}),e)}(a)}}function Ur(){Pr()&&Dr(0)}vr[pr]||(vr[pr]=!0,window.addEventListener("pageshow",Ur),window.addEventListener("online",Ur)),Ur();const Lr="__ABConvertPreviewRegistry";const Mr="abconvert.preview";function Br(e){try{return window.sessionStorage?.getItem(e)??null}catch(e){return null}}function Fr(e){const t=new URLSearchParams(window.location.search).get("abconvert_preview_key");return t&&t===e?(function(e,t){try{window.sessionStorage?.setItem(e,t)}catch(e){}}(Mr,"true"),function(){const e=new URL(window.location.href);e.searchParams.delete("abconvert_preview_key"),window.history.replaceState({},"",e.toString())}(),!0):!(!e||"true"!==Br(Mr))}new Set(["BIF","CLP","DJF","GNF","ISK","JPY","KMF","KRW","PYG","RWF","UGX","VND","VUV","XAF","XOF","XPF"]),new Map,new Set;const Gr="template",qr="__abconvertScriptSentinels",Wr=Object.freeze({enabled:!0,timeoutMs:1500,redirectTimeoutMs:4e3});function zr(e,t){return"number"==typeof e&&e>0?e:t}function Vr(e,t){let n=e,r=null;const o=()=>
712{if(n-=100,n<=0)return r=null,void t();r=window.setTimeout(o,Math.min(100,n))};return r=window.setTimeout(o,Math.min(100,n)),()=>{null!==r&&window.clearTimeout(r),r=null}}let Kr=null,Hr=null,Xr=!1;function Yr(){null==Kr||Kr.remove(),Kr=null,null==Hr||Hr(),Hr=null}function Zr(e){e.persisted&&Yr()}function Qr(e,t,n){const r=function(e){const t=(null==e?void 0:e.antiFlicker)||{};return{enabled:!1!==t.enabled,timeoutMs:zr(t.timeoutMs,Wr.timeoutMs),redirectTimeoutMs:zr(t.redirectTimeoutMs,Wr.redirectTimeoutMs)}}(e);!Kr&&function(e){return e.enabled&&!function(){try{return performance.getEntriesByType("paint").some((e=>"first-contentful-paint"===e.name))}catch(e){return!1}}()}(r)&&t()&&(Kr=function(e,t){const n=document.createElement("style");return n.id=e,n.textContent=t,(document.head||document.documentElement).appendChild(n),n}("abconvert-anti-flicker-page","html{visibility:hidden!important}"),Hr=Vr(null!=n?n:r.redirectTimeoutMs,Yr),window.addEventListener("pageshow",Zr))}const eo="abconvert:redirecting",to="abconvert-redirect-referrer",no="_abrn",ro="__abconvertReferrerRestored",oo=["ABConvert-content-test-v0","ABConvert-content-test-v1","ABConvert-price-test-v0","ABConvert-price-test-v1"];function io(){return window.location.pathname+window.location.search}function so(e){if(""===e)return"";try{const t=new URL(e);return t.origin+t.pathname}catch(e){return""}}function ao(e){window.location.replace(function(e){try{sessionStorage.setItem(eo,JSON.stringify({fromUrl:io(),ts:Date.now()}))}catch(e){}return function(e){if("string"!=typeof e||""===e)return e;try{const t=Math.random().toString(36).slice(2,10)+Date.now().toString(36),n=JSON.stringify({referrer:so(document.referrer),marker:t,ts:Date.now()}),r="https:"===window.location.protocol?"; Secure":"";document.cookie=to+"="+encodeURIComponent(n)+"; Max-Age="+Math.floor(60)+"; path=/; SameSite=Lax"+r;const[o,i=""]=e.split("#");return o+(o.includes("?")?"&":"?")+no+"="+t+(i?"#"+i:"")}catch(t){return e}}(e)}(e)),Xr=!0,Kr&&(null==Hr||Hr(),Hr=Vr(1e4,Yr))}function co(e){var t;const n=null!==(t=e.startTime)&&void 0!==t?t:e.startedAt;if(null==n)return 0;let r;return r=n instanceof Date?n.getTime():"number"==typeof n?n:Date.parse(n),Number.isNaN(r)?0:r}const uo="browser-api",lo=new Set(["url_force_assign","preview_override"]);let fo=null;function po(){var e;return fo||(fo=null!==(e=window.__abconvertBrowserApiState)&&void 0!==e?e:null),fo}function mo(e,t,n){re(new Error(e),{script:uo,step:t,data:n})}function go(e,t){try{window.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!1,cancelable:!1}))}catch(t){mo(t instanceof Error?t.message:String(t),"event-listener",{event:e})}}function vo(e){console.error("[ABConvert] An ABConvertQueue callback failed:",e),re(e,{script:uo,step:"ready-callback"})}function ho(e,t){if("function"==typeof e)try{const n=e(t);n&&"function"==typeof n.then&&n.then(void 0,vo)}catch(e){vo(e)}}function yo(e){if(!e.ready&&e.parseEnded){for(const t of e.expected)if(!e.settled.has(t))return;!function(e,t){if(e.ready)return;if(e.ready=!0,null!==e.ceilingTimer&&(clearTimeout(e.ceilingTimer),e.ceilingTimer=null),"ceiling"===t){const t=[...e.expected].filter((t=>!e.settled.has(t)));mo(`ready ceiling reached with unsettled types: ${t.join(", ")}`,"ready-ceiling",{unsettled:t})}const{api:n,queue:r}=e;r.push=function(...e){return e.forEach((e=>ho(e,n))),r.length},r.splice(0,r.length).forEach((e=>ho(e,n))),go("abconvert:ready",n)}(e,"settled")}}function wo(e){const t=po();t&&(t.settled.add(e),yo(t))}function bo(e){return"number"==typeof e&&Number.isInteger(e)&&e>=0?String(e):"string"==typeof e&&/^\d+$/.test(e)?e:null}const xo=new Set(["","text/javascript","application/javascript","module"]);const _o=new Set(["random_split","force_assign_group","preview_override","url_force_assign"]);function Io(e,t,n){if(!n.inTest)return;const r=function(e,t,n,r){var o,i,s,a;
712const c=bo(t.numericId),u=null===(o=t.testGroups)||void 0===o?void 0:o[n];if(null===c||!u||!_o.has(r))return null;const l=!0===t.isPersonalization;return{experimentId:c,experimentName:null!==(i=t.name)&&void 0!==i?i:"",type:l?"personalization":null!=t.combinedExperimentId?"combined":e,status:"preview"===String(null!==(s=t.status)&&void 0!==s?s:"").toLowerCase()?"preview":"active",testGroup:{index:n,name:u.name,control:!l&&(null!==(a=u.isControl)&&void 0!==a?a:0===n),split:u.percentage},reason:r}}(e,t,n.groupIndex,n.reason);r&&function(e){var t,n;const r=po();if(!r)return;const o=bo(null==e?void 0:e.experimentId);if(null===o)return void mo("assignment registered without a numeric experimentId","register",{experimentId:String(null==e?void 0:e.experimentId),type:null==e?void 0:e.type});const i=r.assignments.get(o);if(i)return void(i.testGroup.index!==(null===(t=e.testGroup)||void 0===t?void 0:t.index)&&mo("combined test registered with differing group indexes","register",{experimentId:o,first:i.testGroup.index,second:null===(n=e.testGroup)||void 0===n?void 0:n.index}));const s={experimentId:o,experimentName:e.experimentName,type:e.type,status:e.status,testGroup:Object.assign({},e.testGroup),reason:e.reason};r.assignments.set(o,s),lo.has(s.reason)||go("abconvert:assignment-ready",function(e){return Object.assign(Object.assign({},e),{testGroup:(t=e.testGroup,Object.assign({},t))});var t}(s))}(r)}var So,To=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};(function(e){const t=po();t&&t.expected.add(e)})(So="template"),function(e,t,{runWhenAbsent:n=!1,onGiveUp:r}={}){const o=window;if(void 0!==o[e])return void t();if(n&&!function(e){const t=new RegExp("window\\."+e+"\\s*="),n=document.querySelectorAll("script:not([src])");for(const e of n){const n=(e.getAttribute("type")||"").trim().toLowerCase();if(!xo.has(n)&&!n.includes("json")&&t.test(e.textContent||""))return!0}return!1}(e))return void t();const i=Date.now()+8e3,s=setInterval((()=>{void 0!==o[e]?(clearInterval(s),t()):Date.now()>i&&(clearInterval(s),n?t():r&&r())}),250)}("abconvertTemplateTestDict",(()=>{try{!function(){if(function(e){const t=window,n=t[qr]||(t[qr]={});return!n[e]&&(n[e]=!0,!0)}("template-test")){if(window.abconvertTemplateTestDict){const e=window.abconvertTemplateTestDict,t=Fr(e.shopPreviewKey||"");e.experiments&&(e.experiments=e.experiments.filter((function(e){return"Active"===e.status||!e.status||t&&"Preview"===e.status})),t&&e.experiments.forEach((function(e){if("Preview"!==e.status)return;const t="abconvert.experiment."+e.experimentId+".group";null===sessionStorage.getItem(t)&&sessionStorage.setItem(t,"0")}))),t&&function(e,t){const n=(window[Lr]||(window[Lr]={}),window[Lr]);n[e]!==t&&(n[e]=t,window.dispatchEvent(new Event("abconvert:preview-registry-updated")))}(Gr,e)}(()=>{To(this,void 0,void 0,(function*(){const e="true"===Br(Mr);function t(){const e=new URLSearchParams(location.search),t=e.get("preview"),n=e.get("countryCode");return n&&window.sessionStorage.setItem("abconvert-country",n),t&&!isNaN(Number(t))?(window.sessionStorage.setItem("abconvert-preview-number",t),t):window.sessionStorage.getItem("abconvert-preview-number")}function n(e){const t=function(){let e=localStorage.getItem("abconvert-seed");return null==e&&(e=Math.floor(100*Math.random()).toString(),localStorage.setItem("abconvert-seed",e)),e}();let n,r=0;for(n=0;n<e.length;++n)if(r+=e[n].percentage,Number(t)<r)return n;return n}function a(e){let r,o=t();return r=o&&!isNaN(Number(o))?Number(o)>=e.length?0:Number(o):n(e),r}function u(){const e=t();return e&&!isNaN(Number(e))}const f=()=>{let e;localStorage.getItem("shopURL")||window.Shopify&&window.Shopify.shop&&(e=window.Shopify.shop,localStorage.setItem("shopURL",e),console.log("[LOG] Template test: set shop url"))};function p(e,t,n){const r=new RegExp("([?&])"+t+"=.*?(&|$)","i"),o=-1!==e.indexOf("?")?"&":"?";return e.match(r)?e.replace(r,"$1"+t+"="+n+"$2"):e+o+t+"="+n}function m(e,t){return!e||!t||(e===l?!t.some((e=>E(e))):e!==d||t.some((e=>E(e))))}function g(e){const t=e.lastIndexOf(".");return t<=0?e:e.substring(0,t)}function v(e){var t;const n=null===(t=e.triggerTemplate)||void 0===t?void 0:t.key;return n?g(n):null}function h(e){const t=e.testGroups.findIndex((e=>!0===e.isControl));return-1===t?0:t}function y(e,t){const n=e.templateDict[t];return e.isPersonalization?t===v(e):!!n&&n.groupIndex===h(e)}function w(e,t){var n;return e.isPersonalization?t===v(e):!!(null===(n=e.templateDict)||void 0===n?void 0:n[t])}function b(e){return To(this,arguments,void 0,(function*({experimentId:e,groupIndex:t}){var n,a,u,l,d,f,p,m;try{for(let g=0;g<10;g++){yield D();const g=yield O((null!==(u=null===(a=null===(n=null===window||void 0===window?void 0:window.Shopify)||void 0===n?void 0:n.routes)||void 0===a?void 0:a.root)&&void 0!==u?u:"/")+"cart.js","GET");console.log("[LOG] Original cart attributes: ",g.attributes);let v=g.attributes,h={};if(v[c])try{h=JSON.parse(v[c])}catch(e){console.warn("[ABConvert] Failed to parse template cart attribute:",e)}h[e]=t;const y={[c]:JSON.stringify(h),[i]:((null===(l=null===window||void 0===window?void 0:window.Shopify)||void 0===l?void 0:l.country)||J()||"").toUpperCase(),[s]:null!==(d=N("abconvert-search-params"))&&void 0!==d?d:"",[r]:P(),[o]:An()};if(console.log("[LOG] New cart attributes: ",y),v[c]&&v[c]==JSON.stringify(h)&&v[i]==y[i])break;{const e={"Content-Type":"application/json"},t=(null!==(m=null===(p=null===(f=null===window||void 0===window?void 0:window.Shopify)||void 0===f?void 0:f.routes)||void 0===p?void 0:p.root)&&void 0!==m?m:"/")+"cart/update.js",n=JSON.stringify({attributes:y});(yield fetch(t,{method:"POST",headers:e,body:n})).ok?console.log("[LOG] Successfully update cart attributes"):console.log("Failed to update cart attributes")}}}catch(e){console.log("[ERROR] Update cart attributes: ",e)}}))}function x(t){var n,r,o,i;const s="string"==typeof window.abconvertTemplate?window.abconvertTemplate:"",a=window.location,c=new URLSearchParams(a.search),u=function(){const e=new Set;return{isSuppressed:t=>t.some((t=>e.has(t))),claim(t){for(const n of t)e.add(n)}}}();for(const d of function(e){return[...e].sort(((e,t)=>{const n=Number(Boolean(e.isPersonalization))-Number(Boolean(t.isPersonalization));return 0!==n?n:e.isPersonalization?co(t)-co(e):0}))}(t)){const{testGroups:t,experimentId:f,startTime:v,redirectControlGroup:b}=d,x=w(d,s)?[(l=s,`template/${l}`)]:[];if(d.isPersonalization&&u.isSuppressed(x))continue;const _=Wn({experimentId:String(f),numericId:d.numericId,trafficAllocationPercent:d.trafficAllocationPercent,audienceTargeting:null!==(n=d.audienceTargeting)&&void 0!==n?n:null,forceAssignRules:null!==(r=d.forceAssignRules)&&void 0!==r?r:null,percentages:d.testPercentages,isPersonalization:null!==(o=d.isPersonalization)&&void 0!==o&&o,assignmentVersion:d.assignmentVersion,experimentStartTime:v,pageTargeting:null!==(i=d.pageTargeting)&&void 0!==i?i:null});if(Io("template",d,_),c.has("_abr")||c.get("view"))continue;if(!m(d.pathConditionType,d.pathConditions))continue;if(!nn(d.pageTargeting))continue;if(!_.inTest)continue;if(u.claim(x),!y(d,s))continue;const I=_.groupIndex,{suffix:S,key:T}=t[I].variation.template,k=g(T);if(d.isPersonalization&&!S)continue;let O;if(e||Sn(_.reason)||"preview_override"===_.reason||(localStorage.setItem(`abconvert-template-test-${f}`,JSON.stringify({experimentId:f,groupIndex:I,startTime:v}
712)),$("template",f,I,Number(v)),Xn(f,I,d.numericId)),k!==s)O=p(a.search,"view",S),O=p(O,"_abr","1");else{if(!b||I!==h(d))continue;O=a.search,S&&(O=p(O,"view",S)),O=p(O,"_abr","1")}const N=window.location.pathname+O+window.location.hash;return Nr(P,An),void ao(N)}var l}console.log("[ABConvert] Running ABConvert Template test - 1.0.0 + add country filter + device filter");try{if(window.Shopify?.designMode||window.abconvertDesignMode)return;!function(){!function(){try{const e=function(){try{return new URLSearchParams(window.location.search).get(no)}catch(e){return null}}();null!==e&&function(){try{const e=new URLSearchParams(window.location.search);e.delete(no);const t=e.toString();window.history.replaceState(window.history.state,"",window.location.pathname+(t?"?"+t:"")+(window.location.hash||""))}catch(e){}}();const t=function(){try{const e=N(to);if(null===e)return null;const t=JSON.parse(decodeURIComponent(e));if(t&&"string"==typeof t.referrer&&"string"==typeof t.marker&&"number"==typeof t.ts)return t}catch(e){}return null}();if(null===t)return;if(oo.some((e=>null!==document.getElementById(e))))return;if(null===e||e!==t.marker)return;if(function(){try{document.cookie=to+"=; Max-Age=0; path=/"}catch(e){}}(),Date.now()-t.ts>=6e4)return;const n=window;if(n[ro])return;const r=Object.getOwnPropertyDescriptor(Document.prototype,"referrer");if(!r||"function"!=typeof r.get)return;const o=r.get,i=t.referrer,s=document;Object.defineProperty(Document.prototype,"referrer",Object.assign(Object.assign({},r),{get(){return this===s?i:o.call(this)}})),n[ro]=!0}catch(e){}}();const e=function(){try{const e=sessionStorage.getItem(eo);if(null===e)return null;const t=JSON.parse(e);if(t&&"string"==typeof t.fromUrl&&"number"==typeof t.ts)return t}catch(e){}return null}();if(null===e)return;const t=e.fromUrl!==io(),n=Date.now()-e.ts>=1e4;if(t||n)try{sessionStorage.removeItem(eo)}catch(e){}}(),C(),localStorage.getItem("abconvert-user-seed")||localStorage.setItem("abconvert-user-seed","0"),f(),document.addEventListener("DOMContentLoaded",f),yield function(){return To(this,void 0,void 0,(function*(){if(!(()=>{const e=navigator.userAgent;return L.some((t=>t.test(e)))})()&&window.abconvertTemplateTestDict){const t=window.abconvertTemplateTestDict;Qr(t,(()=>{var e;return function(e){const t=new URLSearchParams(window.location.search);if(t.has("_abr")||t.get("view"))return!1;const n="string"==typeof window.abconvertTemplate?window.abconvertTemplate:"";return e.some((e=>{var t,r;return!!m(e.pathConditionType,e.pathConditions)&&("version"in e&&"v5"===e.version?nn(e.pageTargeting)&&y(e,n):0===(null===(r=null===(t=e.templateDict)||void 0===t?void 0:t[n])||void 0===r?void 0:r.groupIndex))}))}(null!==(e=t.experiments)&&void 0!==e?e:[])})),Gn(),e||function(){if(!window[Vn]){window[Vn]=!0;try{const e=sessionStorage.length;if(0===e)return;const t=[];for(let n=0;n<e;n++){const e=sessionStorage.key(n);e&&e.startsWith(zn)&&t.push(e)}if(0===t.length)return;const n=P();for(const e of t){const t=e.slice(18);if(!t)continue;const r=Kn(t);r&&r.sessionId===n&&(Nn(t,r.numericId)||Hn(t,r.groupIndex,n))}}catch(e){}}}(),window.abconvertTemplateTestDict.fetchCountryCode&&(yield D());const n=window.abconvertTemplateTestDict.experiments,r=n.filter((e=>!("version"in e)||"v5"!==e.version)),o=n.filter((e=>"version"in e&&"v5"===e.version));!function(t){const n=window.abconvertTemplate,r=window.location;for(let o of t){const{templateDict:t,testGroups:i,experimentId:s,isFilteredByCountry:c,isFilteredByDevice:f,filteredCountries:m,selectedDevice:v,startTime:h,pathConditionType:y,pathConditions:w,redirectControlGroup:b}=o;if(c){const e=J();if(!m.includes(e))continue}if(f&&U()!==v)continue;if(o.selectedVistorType&&o.selectedVistorType!=j(h))continue;let x=!0;if(y&&(y===l&&(x=!w.some((e=>E(e)))),y===d&&(x=w.some((e=>E(e))))),!x)continue;
712const _=new URLSearchParams(r.search),I=_.get("view");if(!_.has("_abr")&&t[n]&&0===t[n].groupIndex&&!I){const t=a(i);u()||e||localStorage.getItem(`abconvert-template-test-${s}`)||(localStorage.setItem(`abconvert-template-test-${s}`,JSON.stringify({experimentId:s,groupIndex:t,startTime:h})),$("template",s,t,Number(h)));const{suffix:o,key:c}=i[t].template;let l;if(g(c)!==n)l=p(r.search,"view",o),l=p(l,"_abr","1");else{if(!b||0!==t)continue;l=r.search,o&&(l=p(l,"view",o)),l=p(l,"_abr","1")}const d=window.location.pathname+l+window.location.hash;return Nr(P,An),void ao(d)}}}(r),o.some(on)&&(yield pt()),yield function(e){return Lt(this,void 0,void 0,(function*(){const t=function(e){var t,n,r;const o=new Set;for(const i of e){if(null===(t=null==i?void 0:i.audienceTargeting)||void 0===t?void 0:t.enabled)for(const e of null!==(n=i.audienceTargeting.groups)&&void 0!==n?n:[])Kt(null==e?void 0:e.filters,o);for(const e of null!==(r=null==i?void 0:i.forceAssignRules)&&void 0!==r?r:[])Kt(null==e?void 0:e.filters,o)}return[...o]}(e);0!==t.length&&(function(e){Bt=[...new Set(e.filter((e=>"string"==typeof e&&e.length>0)))]}(t),yield Vt())}))}(o),x(o),e?wr(c,""):(function(e){const t=R+"/api/analytics/template/originalview",n=R+"/api/analytics/template/click",r=R+"/api/analytics/template/bounce",o=R+"/api/analytics/template/staying-time";for(let i of e){const{experimentId:e,templateDict:s,startTime:a}=i;if(s[window.abconvertTemplate]&&(!i.selectedVistorType||i.selectedVistorType===j(a))){const i=localStorage.getItem(`abconvert-template-test-${e}`),c=N(`abconvert-template-test-stay-time-recorded-${e}`);if(i){let u;try{u=JSON.parse(i)}catch(e){console.warn("[ABConvert] Failed to parse template test cookie:",e)}if(!u)continue;const{groupIndex:l}=u;l==s[window.abconvertTemplate].groupIndex&&(b({experimentId:e,groupIndex:l}),H(t,e,l,a),V(n,e,l,a),K(r,e,l,a),c||z(o,"template",e,l,a))}}}}(r),function(e){const t=R+"/api/analytics/template/originalview",n=R+"/api/analytics/template/click",r=R+"/api/analytics/template/bounce",o=R+"/api/analytics/template/staying-time";for(const i of e){const{experimentId:e,templateDict:s,startTime:a}=i;if(!s[window.abconvertTemplate])continue;const c=localStorage.getItem(`abconvert-template-test-${e}`),u=N(`abconvert-template-test-stay-time-recorded-${e}`);if(c){const{groupIndex:l}=JSON.parse(c);if(l==s[window.abconvertTemplate].groupIndex){if(b({experimentId:e,groupIndex:l}),Nn(e,i.numericId))continue;H(t,e,l,a),Xn(e,l,i.numericId),V(n,e,l,a),K(r,e,l,a),u||z(o,"template",e,l,a)}}}}(o),kr(P(),An()))}}))}()}catch(e){console.log("[ABConvert] Template test error: ",e.message)}finally{Xr||Yr(),wo("template")}}))})()}}()}catch(e){throw wo(So),e}}),Object.assign(Object.assign({},void 0),{onGiveUp:()=>wo(So)}))})();
713</script>
vendor: 1 bytes, line 713
713
714<script id="ABConvert-preview-widget">
715(()=>{"use strict";var n={63:(n,e,t)=>{t.d(e,{L:()=>c,i:()=>a});var o=t(6868);const r="match_exactly",i={match_exactly:"matches exactly",match_regex_exactly:"matches regex",contains:"contains",ends_with:"ends with",starts_with:"starts with",not_match_exactly:"does not match exactly",not_match_regex_exactly:"does not match regex",not_contains:"does not contain",not_ends_with:"does not end with",not_starts_with:"does not start with"};function a(n){let{groups:e,currentGroupIndex:t,expanded:a=!1,embedded:c=!1}=n;if(!e||0===e.length)return"";const s=e[t];if(!s)return"";const d=function(n){return n.redirectRules&&n.redirectRules.length>0?n.redirectRules.map(((e,t)=>function(n,e){let t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const o=n.triggerUrl||"",a=n.destinationUrl||"";if(!o&&!a)return"";const c=n.matchType===r,s=e?"":"border-bottom: 1px dashed #e1e3e5;",d=`\n    <div class="abconvert-product-info" style="flex: 1; min-width: 0;">\n      <div style="font-size: 11px; color: #6d7175; margin-bottom: 2px;">From (${i[n.matchType]||n.matchType||""})</div>\n      <div style="font-size: 12px; color: #303030; word-break: break-all; margin-bottom: 8px;">${o}</div>\n      <div style="font-size: 11px; color: #6d7175; margin-bottom: 2px;">To</div>\n      <div style="font-size: 12px; word-break: break-all;">${t?'<span style="color: #8c9196;">No redirect</span>':a}</div>\n    </div>\n  `;return c?`\n      <a href="${o}" class="abconvert-product-item" style="${s}">\n        ${d}\n        <span class="abconvert-product-arrow">→</span>\n      </a>\n    `:`\n    <div style="display: flex; align-items: center; gap: 8px; padding: 6px 10px; margin: 2px 0; ${s}">\n      ${d}\n    </div>\n  `}(e,t===n.redirectRules.length-1,n.isControl))).join(""):n.legacyUrl?`\n      <div style="display: flex; align-items: center; gap: 6px;">\n        <span style="font-size: 10px; color: #8c9196; text-transform: uppercase; letter-spacing: 0.3px; width: 32px; flex-shrink: 0;">To</span>\n        <span style="font-size: 12px; color: #303030; flex: 1; word-break: break-all;">${n.legacyUrl}</span>\n      </div>\n    `:""}(s);return d?(0,o.q)({id:"abconvert-redirect-rules",title:"Redirect URLs",content:`<div class="abconvert-card">${d}</div>`,expanded:a,embedded:c}):""}function c(n,e){(0,o.s)(n,"abconvert-redirect-rules","400px",e)}},947:(n,e,t)=>{t.d(e,{$F:()=>r,G:()=>i,eo:()=>a});const o="__ABConvertPreviewRegistry",r="abconvert:preview-registry-updated";function i(){return window[o]||(window[o]={}),window[o]}function a(n,e){const t=i();t[n]!==e&&(t[n]=e,window.dispatchEvent(new Event(r)))}},1338:(n,e,t)=>{t.d(e,{A:()=>r});var o=t(6538);
715const r={displayName:"Checkout Test",normalize:function(n){const e={};return(n?.experiments||[]).forEach((n=>{if("preview"!==n.status)return;const t=n.id;t&&(e[t]={id:t,name:n.name||"Checkout Test",experimentId:n.experimentId??t,status:"Preview",startTime:n.startedAt?new Date(n.startedAt).toISOString():void 0,trafficAllocationPercent:n.traffic?.allocationPercent,audienceTargeting:n.traffic?.audience,forceAssignRules:n.traffic?.forceAssign,groups:(n.groups||[]).map((n=>({name:n.name,percentage:n.percentage,isControl:n.isControl,id:n.id,modifications:n.modifications||[]}))),_original:n})})),e},renderPanel:function(n,e){const{experimentData:t,currentGroupIndex:r}=n,i=t?.groups||[];return(0,o.RW)({groups:i,currentGroupIndex:r,expanded:e?.has?.(o.gv)??!1,expandedSections:e,embedded:n.embedded})},initPanelEvents:function(n,e,t){(0,o.MY)(n,t)}}},1719:(n,e,t)=>{t.d(e,{N:()=>i,c:()=>r});var o=t(6868);function r(n){let{groups:e,currentGroupIndex:t,expanded:r=!1,embedded:i=!1}=n;if(!e||0===e.length)return"";const a=e[t];if(!a)return"";const c=function(n){const e=n.theme||{},t=e.name||"Unknown Theme",o=e.id||"";return`\n    <div style="display: flex; align-items: center; gap: 8px; padding: 6px 10px; margin: 2px 0; ">\n      <div class="abconvert-product-info" style="flex: 1; min-width: 0;">\n        <div style="font-size: 12px; color: #303030; word-break: break-all;">\n          ${t}${n.isControl?' <span style="font-size: 10px; color: #8c9196; background: #f1f2f3; padding: 1px 5px; border-radius: 3px; margin-left: 4px;">Control</span>':""}\n        </div>\n        <div style="font-size: 11px; color: #6d7175; margin-top: 2px;">\n          Theme ID: ${o}\n        </div>\n      </div>\n    </div>\n  `}(a);return(0,o.q)({id:"abconvert-theme-info",title:"Theme Assignment",content:`<div class="abconvert-card">${c}</div>`,expanded:r,embedded:i})}function i(n,e){(0,o.s)(n,"abconvert-theme-info","200px",e)}},1840:(n,e,t)=>{t.d(e,{k:()=>a,l:()=>i});var o=t(6868),r=t(4788);function i(n){let{groups:e,currentGroupIndex:t,expanded:i=!1,embedded:a=!1}=n;if(!e||0===e.length)return"";const c=e[t]||e[0],s=c.template||c.variation?.template||{},d=s.type||"unknown",l=s.suffix||"Default";let u="#";if(s.previewUrl){const n=new URL((0,r.hM)(s.previewUrl));n.searchParams.delete("view"),n.searchParams.delete("_abr"),u=n.toString()}const p=`\n    <div class="abconvert-card">\n      <a href="${u}" class="abconvert-product-item">\n        <div class="abconvert-product-info">\n          <div class="abconvert-product-title">${l}</div>\n          <div class="abconvert-product-variants" style="text-transform: capitalize;">${d}</div>\n        </div>\n        <span class="abconvert-product-arrow">→</span>\n      </a>\n    </div>\n  `;return(0,o.q)({id:"abconvert-template-variation",title:"Template Variation",content:p,expanded:i,embedded:a})}function a(n,e){(0,o.s)(n,"abconvert-template-variation","200px",e)}},1951:(n,e,t)=>{t.d(e,{iX:()=>c,q2:()=>a});var o=t(2639);const r='<svg viewBox="0 0 12 12" width="12" height="12" fill="none" aria-hidden="true"><path d="M3 4.5 6 7.5l3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>';function i(n){return`abconvert-combined-mod-${n}`}function a(n){let{type:e,label:t,summary:a,contentHtml:c,expanded:s=!1}=n;const d=i(e),l=s?"expanded":"",u=a?`<span class="abconvert-combined-mod-summary">${(0,o.Z)(a)}</span>`:"";return`\n    <div class="abconvert-combined-mod">\n      <button id="${d}-toggle" class="abconvert-combined-mod-head" type="button">\n        <span class="abconvert-combined-mod-label">${(0,o.Z)(t)}</span>\n        <span class="abconvert-combined-mod-meta">\n          ${u}\n          <span id="${d}-arrow" class="abconvert-combined-mod-arrow ${l}">${r}</span>\n        </span>\n      </button>\n      <div id="${d}-content" class="abconvert-combined-mod-content ${l}">\n        ${c}\n      </div>\n    </div>\n  `}function c(n,e,t){const o=i(e),r=n.querySelector(`#${o}-toggle`),a=n.querySelector(`#${o}-content`),c=n.querySelector(`#${o}-arrow`);if(!r||!a)return;const s=n=>{a.style.maxHeight=n?"none":"0",c&&c.classList.toggle("expanded",n)};s(a.classList.contains("expanded")),r.addEventListener("click",(()=>{const n=a.classList.toggle("expanded");s(n),t&&t(`${o}:expanded`,n)}))}},2228:(n,e,t)=>{t.d(e,{A:()=>r});var o=t(5998);
715const r={displayName:"Offer Test",normalize:function(n){const e={};return(n?.experiments||[]).forEach((t=>{"Preview"===t.status&&(e[t.experimentId]={id:t.experimentId,name:t.name||"Offer Test",experimentId:t.numericId||t.experimentId,version:n.version||"v1",status:t.status,startTime:t.startTime,trafficAllocationPercent:t.trafficAllocationPercent,audienceTargeting:t.audienceTargeting,forceAssignRules:t.forceAssignRules,groups:(t.testGroups||[]).map((n=>({name:n.name,percentage:n.percentage,isControl:n.isControl,offer:n.offer||{title:"",parts:[]}}))),_original:t})})),e},renderPanel:function(n,e){const{experimentData:t,currentGroupIndex:r}=n,i=t.groups||[];return(0,o.R)({groups:i,currentGroupIndex:r,expanded:e.has("abconvert-offer-config"),embedded:n.embedded})},initPanelEvents:function(n,e,t){(0,o.g)(n,t)},onGroupSwitch:function(n){try{const e=`abconvert.offer-msg.dismissed.${n.id}.`,t=[];for(let n=0;n<sessionStorage.length;n++){const o=sessionStorage.key(n);o&&o.startsWith(e)&&t.push(o)}t.forEach((n=>sessionStorage.removeItem(n)))}catch{}}}},2639:(n,e,t)=>{function o(n){return String(n??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}t.d(e,{Z:()=>o})},3835:(n,e,t)=>{t.d(e,{A:()=>o});const o={displayName:"Combined Test",normalize:function(n){const e={};return(n?.experiments||[]).forEach((n=>{if("preview"!==n.status)return;const t=n.id;t&&(e[t]={id:t,name:n.name||"Combined test",experimentId:n.experimentId??t,status:"Preview",startTime:n.startedAt,trafficAllocationPercent:n.traffic?.allocationPercent,audienceTargeting:n.traffic?.audience,forceAssignRules:n.traffic?.forceAssign,groups:(n.groups||[]).map((n=>({name:n.name,percentage:n.percentage,isControl:n.isControl,modifications:n.modifications||[]}))),_original:n})})),e}}},4366:(n,e,t)=>{function o(n){return Array.isArray(n?.availableMarkets)?n.availableMarkets:r(n)}function r(n){const e=new Set,t=n?.products||[];for(const n of t)for(const t of n.variants||[])if(t.testGroups)for(const n of t.testGroups)n?.countryMap&&Object.keys(n.countryMap).forEach((n=>e.add(n)));return Array.from(e).sort()}function i(n){let{availableMarkets:e,currentMarket:t,shopPrimaryCountry:o,marketNames:r,pricedCountries:i}=n;if(!e||0===e.length)return"";const a=!!o&&e.includes(o),c=t||(a?o:null),s=e.map((n=>`<option value="${n}" ${n===c?"selected":""}>${r?.[n]||n}</option>`)).join(""),d=a?"":`<option value="">${o?`Default (${o})`:"Default (Shop Currency)"}</option>`,l=(window.Shopify?.country||"").toUpperCase(),u=c&&l&&l!==c,p=Array.isArray(i)&&i.includes(l);let v="";return u&&p?v=`<div class="abconvert-market-mismatch-note" style="margin-top:6px;font-size:12px;color:#616161;">\n        Showing ${l} prices (this page's country).\n      </div>`:u&&(v=`<div class="abconvert-market-mismatch-note" style="margin-top:6px;font-size:12px;color:#996a13;">\n        This page is shown for ${l}, so prices follow ${l}.\n        Open a product below, or switch the preview's country bar, to see ${r?.[c]||c} prices.\n      </div>`),`\n    <div class="abconvert-section">\n      <label class="abconvert-section-label">Preview Market</label>\n      <select id="abconvert-market-selector" class="abconvert-select">\n        ${d}\n        ${s}\n      </select>\n      ${v}\n    </div>\n  `}function a(n,e){const t=n.querySelector("#abconvert-market-selector");t&&t.addEventListener("change",(function(){const n=this.value||null;e&&e(n)}))}t.d(e,{BP:()=>a,P7:()=>r,SP:()=>o,sz:()=>i})},4788:(n,e,t)=>{t.d(e,{DZ:()=>l,IL:()=>c,K7:()=>$,P3:()=>f,Ys:()=>v,a4:()=>g,e1:()=>p,gp:()=>u,hM:()=>m,nI:()=>b,tj:()=>s,uH:()=>h,xX:()=>d});const o={PREVIEW_MODE:"abconvert.preview",PREVIEW_EXPERIMENT_ID:"abconvert_preview_experiment_id",PREVIEW_GROUP_PREFIX:"abconvert.experiment.",PREVIEW_GROUP_SUFFIX:".group",PREVIEW_MARKET:"abconvert-country",EXPANDED_SECTIONS:"abconvert.widget.expanded"};function r(n){try{return window.sessionStorage?.getItem(n)??null}catch(n){return null}}function i(n,e){try{window.sessionStorage?.setItem(n,e)}catch(n){}}function a(n){try{return window.localStorage?.getItem(n)??null}catch(n){return null}}function c(){return"true"===r(o.PREVIEW_MODE)}function s(){return r(o.PREVIEW_EXPERIMENT_ID)}function d(n){i(o.PREVIEW_EXPERIMENT_ID,n)}function l(n){const e=r(o.PREVIEW_GROUP_PREFIX+n+o.PREVIEW_GROUP_SUFFIX);return null!==e?parseInt(e,10):null}function u(n,e){i(o.PREVIEW_GROUP_PREFIX+n+o.PREVIEW_GROUP_SUFFIX,e.toString())}function p(){return r(o.PREVIEW_MARKET)||a(o.PREVIEW_MARKET)}function v(n){n?(i(o.PREVIEW_MARKET,n),function(n,e){try{window.localStorage?.setItem(n,e)}catch(n){}}(o.PREVIEW_MARKET,n)):(function(n){try{window.sessionStorage?.removeItem(n)}catch(n){}}(o.PREVIEW_MARKET),function(n){try{window.localStorage?.removeItem(n)}catch(n){}}(o.PREVIEW_MARKET))}function f(n){return new URLSearchParams(window.location.search).get(n)}function b(n){const e=new URL(window.location.href);e.searchParams.delete(n),window.history.replaceState({},"",e.toString())}function g(n){const e=new URL(window.location.href);
715Object.entries(n).forEach((n=>{let[t,o]=n;null!=o?e.searchParams.set(t,o):e.searchParams.delete(t)})),window.location.href=e.toString()}function m(n){const e=new URL(window.location.href),t=new URL(n,window.location.origin),i=e.searchParams.get("country")||r(o.PREVIEW_MARKET)||a(o.PREVIEW_MARKET);return i&&t.searchParams.set("country",i),t.toString()}function h(){const n=r(o.EXPANDED_SECTIONS);return new Set(n?JSON.parse(n):[])}function $(n){i(o.EXPANDED_SECTIONS,JSON.stringify([...n]))}},5001:(n,e,t)=>{t.d(e,{A:()=>i});var o=t(1719);function r(n){n.searchParams.delete("_abr"),n.searchParams.delete("preview_theme_id"),n.searchParams.delete("pb")}const i={displayName:"Theme Test",normalize:function(n){if(!n||"Preview"!==n.status)return{};const e=n.experimentId;if(!e)return{};const t=n.testGroups||[];return{[e]:{id:e,name:"Theme Test",experimentId:n.numericId||e,version:n.version||"legacy",status:n.status,startTime:n.startTime,trafficAllocationPercent:n.trafficAllocationPercent,audienceTargeting:n.audienceTargeting,forceAssignRules:n.forceAssignRules,groups:t.map((n=>({name:n.name,percentage:n.percentage,isControl:n.isControl,theme:n.variation?.theme||n.theme}))),_original:n}}},renderPanel:function(n,e){const{experimentData:t,currentGroupIndex:r}=n,i=t.groups||[];return(0,o.c)({groups:i,currentGroupIndex:r,expanded:e.has("abconvert-theme-info"),embedded:n.embedded})},initPanelEvents:function(n,e,t){(0,o.N)(n,t)},onGroupSwitch:function(){const n=new URL(window.location.href);return r(n),window.location.replace(n.toString()),!0},stripGroupSwitchParams:r}},5233:(n,e,t)=>{t.d(e,{A:()=>a});var o=t(4788),r=t(8711),i=t(4366);const a={displayName:"Price Test",normalize:function(n){const e=n?.experiments||{},t={};return Object.entries(e).forEach((n=>{let[e,o]=n;"Preview"===o.status&&(t[e]={...o,id:e,name:o.name||"Price Test",experimentId:o.experimentId||e,version:o.version||"v3",status:o.status,groups:o.groups||[],products:o.products||[],shopPrimaryCountry:o.shopPrimaryCountry||null})})),t},resolveState:function(n){return{selectedMarket:(0,o.e1)(),availableMarkets:(0,i.SP)(n)}},renderPanel:function(n,e){const{experimentData:t,experimentId:o,currentGroupIndex:a,selectedMarket:c,availableMarkets:s}=n,d=t.products,l=t.shopPrimaryCountry;return(0,i.sz)({availableMarkets:s,currentMarket:c,shopPrimaryCountry:l,marketNames:t.marketNames,pricedCountries:(0,i.P7)(t)})+(0,r.K)({products:d,experimentId:o,groupIndex:a,selectedMarket:c,shop:{currency:t.shopCurrency,primaryCountry:l,countryCurrencies:t.countryCurrencies},expanded:e.has("abconvert-products"),embedded:n.embedded})},initPanelEvents:function(n,e,t){const a=e.experimentData?.shopPrimaryCountry||"US";(0,i.BP)(n,(n=>{(0,o.Ys)(n||null),(0,o.a4)({country:n||a})})),(0,r.j)(n,t)}}},5246:(n,e,t)=>{t.d(e,{H5:()=>h,JB:()=>f,Mo:()=>g,Mq:()=>k,WU:()=>m,uh:()=>$});var o=t(947),r=t(1951),i=t(5233),a=t(8368),c=t(7626),s=t(6020),d=t(5848),l=t(5001),u=t(1338),p=t(2228),v=t(3835);const f={PRICE:"price",CONTENT:"content",URL_REDIRECT:"urlRedirect",TEMPLATE:"template",THEME:"theme",SHIPPING:"shipping",PAYMENT:"payment",DELIVERY:"delivery",CHECKOUT_UI:"checkoutUI",CHECKOUT_TEST:"checkoutTest",VISUAL_EDITOR:"visualEditor",OFFER:"offer",COMBINED:"combined"},b={[f.PRICE]:i.A,[f.SHIPPING]:a.A,[f.URL_REDIRECT]:c.A,[f.VISUAL_EDITOR]:s.A,[f.TEMPLATE]:d.A,[f.THEME]:l.A,[f.CHECKOUT_TEST]:u.A,[f.OFFER]:p.A,[f.COMBINED]:v.A};function g(){const n=(0,o.G)(),e={},t=b[f.COMBINED],r=t?.normalize?t.normalize(n[f.COMBINED]):{},i=new Set(Object.keys(r));for(const[n,t]of Object.entries(r))e[n]={...t,testType:f.COMBINED,modificationEntries:{}};for(const[t,o]of Object.entries(n)){if(t===f.COMBINED)continue;const n=b[t];if(n?.normalize)for(const[r,a]of Object.entries(n.normalize(o))){const n=i.has(r)?e[r]:null;n?n.modificationEntries[t]={...a,testType:t}:null==(a.combinedExperimentId??a._original?.combinedExperimentId)&&(e[r]={...a,testType:t})}}return e}function m(n,e){const t=b[n];return t?.resolveState?t.resolveState(e):{}}function h(n,e,t){if(n===f.COMBINED)return function(n,e){const{experimentData:t,currentGroupIndex:o}=n,i=t.modificationEntries||{};return x(t,o).map((n=>{const t=y[n.type],a=i[t],c=a?h(t,w(t,a,o),e):'<div class="abconvert-combined-mod-empty">No detail available.</div>',s=`abconvert-combined-mod-${t}:expanded`;return(0,r.q2)({type:t,label:E(t),summary:n.summary,contentHtml:c,expanded:e.has(s)})})).join("")}(e,t);const o=b[n];return o?.renderPanel?o.renderPanel(e,t):""}function $(n,e,t,o){if(n===f.COMBINED)return void function(n,e,t){const{experimentData:o,currentGroupIndex:i}=e,a=o.modificationEntries||{};for(const e of x(o,i)){const o=y[e.type];(0,r.iX)(n,o,t);const c=a[o];c&&$(o,n,w(o,c,i),t)}}(e,t,o);const i=b[n];i?.initPanelEvents&&i.initPanelEvents(e,t,o)}function x(n,e){const t=n?.groups||[];return(t[e]??t[0])?.modifications||[]}function w(n,e,t){return{testType:n,experimentData:e,experimentId:e.id,currentGroupIndex:t,embedded:!0,...m(n,e)}}const y={"price-cart-transform-test":f.PRICE,"shipping-test":f.SHIPPING,"offer-test":f.OFFER,"url-redirect-test":f.URL_REDIRECT,"template-test":f.TEMPLATE,"theme-test":f.THEME,"visual-editor-content-test":f.VISUAL_EDITOR,"checkout-test":f.CHECKOUT_TEST};function k(n,e,t){if(n===f.COMBINED)return function(n,e){const t=new URL(window.location.href);let o=!1;for(const r of function(n){const e=new Set;for(const t of n?.groups||[])for(const n of t.modifications||[])n?.type&&e.add(n.type);return[...e]}(n)){const i=b[y[r]];i&&(i.stripGroupSwitchParams?(i.stripGroupSwitchParams(t),o=!0):i.onGroupSwitch&&i.onGroupSwitch(n,e))}return!!o&&(window.location.replace(t.toString()),!0)}(e,t);const o=b[n];return!!o?.onGroupSwitch&&!0===o.onGroupSwitch(e,t)}function E(n){const e=b[n];return e?.displayName||"A/B Test"}},5848:(n,e,t)=>{t.d(e,{A:()=>i});var o=t(1840);function r(n){n.searchParams.delete("view"),n.searchParams.delete("_abr")}
715const i={displayName:"Template Test",normalize:function(n){const e={};return(n?.experiments||[]).forEach((n=>{if("Preview"!==n.status)return;const t=n.experimentId;e[t]={id:t,name:n.name||"Template Test",experimentId:n.numericId||t,version:n.version||"v1",status:n.status||"Active",startTime:n.startTime,trafficAllocationPercent:n.trafficAllocationPercent,audienceTargeting:n.audienceTargeting,forceAssignRules:n.forceAssignRules,groups:(n.testGroups||[]).map((n=>({name:n.name,percentage:n.percentage,template:n.template||n.variation?.template||{}}))),_original:n}})),e},renderPanel:function(n,e){const{experimentData:t,currentGroupIndex:r}=n,i=t.groups||[];return(0,o.l)({groups:i,currentGroupIndex:r,expanded:e.has("abconvert-template-variation"),embedded:n.embedded})},initPanelEvents:function(n,e,t){(0,o.k)(n,t)},onGroupSwitch:function(n,e){const t=new URL(window.location.href);return r(t),window.location.href=t.toString(),!0},stripGroupSwitchParams:r}},5998:(n,e,t)=>{t.d(e,{R:()=>m,g:()=>h});var o=t(6868),r=t(2639);const i=3,a={"amount-off-products":"Amount off products","amount-off-order":"Amount off order","shipping-discount":"Shipping discount","volume-discount":"Volume discount","threshold-discount":"Threshold discount"},c={product:'<svg viewBox="0 0 20 20" width="16" height="16" fill="none" aria-hidden="true"><path d="M10 2.5l6.5 3.25v7L10 16l-6.5-3.25v-7L10 2.5z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.5 5.75L10 9l6.5-3.25M10 9v7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',collection:'<svg viewBox="0 0 20 20" width="16" height="16" fill="none" aria-hidden="true"><rect x="3" y="3" width="6" height="6" rx="1" stroke="currentColor" stroke-width="1.5"/><rect x="11" y="3" width="6" height="6" rx="1" stroke="currentColor" stroke-width="1.5"/><rect x="3" y="11" width="6" height="6" rx="1" stroke="currentColor" stroke-width="1.5"/><rect x="11" y="11" width="6" height="6" rx="1" stroke="currentColor" stroke-width="1.5"/></svg>',shipping:'<svg viewBox="0 0 20 20" width="16" height="16" fill="none" aria-hidden="true"><path d="M2 10h11l-2-3M2 10l2 3M16 10v4a1 1 0 0 1-1 1h-1m-9 0h6m3 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>'};function s(n){return n?"percentage"===n.type?`${n.amount}%`:`$${n.amount}`:""}function d(n){const e=function(n){switch(n.type){case"amount-off-products":case"amount-off-order":return`${s(n.value)} off`;case"shipping-discount":return"percentage"===n.value?.type&&n.value.amount>=100?"Free shipping":`${s(n.value)} off`;case"volume-discount":case"threshold-discount":{const e=(n.tiers||[]).filter((n=>n.threshold>0&&n.value?.amount>0));if(0===e.length)return"volume-discount"===n.type?"Volume discount — no tiers set":"Threshold discount — no tiers set";const t=function(n){const e=n.filter((n=>"percentage"===n.value?.type)),t=n.filter((n=>"fixedAmount"===n.value?.type)),o=e.length>=t.length?e:t;return o.reduce(((n,e)=>e.value.amount>n.amount?e.value:n),o[0]?.value??n[0].value)}(e),o=1===e.length?"tier":"tiers";return`Up to ${s(t)} off (${e.length} ${o})`}default:return n.type||""}}(n);return[e,...v(n)].join(" · ")}function l(n,e){return null==e?`${n}+ items`:e===n+1?1===n?"1 item":`${n} items`:`${n}–${e-1} items`}function u(n,e){if(null==e)return`$${p(n)}+`;const t=Number.isInteger(n)&&Number.isInteger(e)?e-1:Math.round(100*(e-.01))/100;return`$${p(n)}–$${p(t)}`}function p(n){return Number.isInteger(n)?String(n):n.toFixed(2)}function v(n){const e=[];("amount-off-products"===n.type||"amount-off-order"===n.type||"shipping-discount"===n.type)&&"percentage"===n.value?.type&&n.value.maxDiscountAmount>0&&e.push(`Max $${n.value.maxDiscountAmount} cap`);const t=n.condition;
715return t&&"none"!==t.type&&("min-subtotal"===t.type?e.push(`Min order $${t.amount}`):"min-quantity"===t.type&&e.push(`Min ${t.quantity} item${1===t.quantity?"":"s"}`)),e}function f(n,e){return`${n} ${e}${1===n?"":"s"}`}function b(n){if(!n)return'<span class="abconvert-offer-type abconvert-offer-type-empty">No offer</span>';const e=a[n.type]||n.type;return`<span class="abconvert-offer-type">${(0,r.Z)(e)}</span>`}function g(n,e){const t=n?.parts||[];if(0===t.length)return function(n){const e=n?"No offer (normal price)":"No offer configured";return`\n    <div class="abconvert-offer-card">\n      <div class="abconvert-offer-head">\n        <div class="abconvert-offer-primary-row">\n          <div class="abconvert-offer-primary">${(0,r.Z)(e)}</div>\n          ${b(null)}\n        </div>\n      </div>\n    </div>\n  `}(e);const o=t.length>1,a=t.map(d).join(" + "),p=t[0],g=o?null:function(n){if("amount-off-products"===n.type||"volume-discount"===n.type){const e=n.scope;if(!e||"all-products"===e.type)return null;if("specific-products"===e.type){const n=(e.products||[]).map((n=>n.title));return 0===n.length?null:{icon:c.product,label:f(n.length,"product"),names:n}}if("specific-collections"===e.type){const n=(e.collections||[]).map((n=>n.title));return 0===n.length?null:{icon:c.collection,label:f(n.length,"collection"),names:n}}}if("shipping-discount"===n.type){const e=n.scope;if(!e||"all-rates"===e.type)return null;if("specific-rates"===e.type){const n=e.rateNames||[];return 0===n.length?null:{icon:c.shipping,label:f(n.length,"rate"),names:n}}}return null}(p),m=n.title?.trim()||"",h=m||a,$=o?"":function(n){if("volume-discount"!==n.type&&"threshold-discount"!==n.type)return"";const e=(n.tiers||[]).filter((n=>n.threshold>0&&n.value?.amount>0));if(0===e.length)return"";const t="volume-discount"===n.type,o=t?"Qty":"Spend",i=t?l:u,a=[...e].sort(((n,e)=>n.threshold-e.threshold)),c=a.map(((n,e)=>{const t=a[e+1];return`\n    <div class="abconvert-offer-tier-row">
715\n      <span class="abconvert-offer-tier-qty">${(0,r.Z)(i(n.threshold,t?.threshold))}</span>\n      <span class="abconvert-offer-tier-discount">${(0,r.Z)(`${s(n.value)} off`)}</span>\n    </div>\n  `})).join("");return`\n    <div class="abconvert-offer-tier-table">\n      <div class="abconvert-offer-tier-header">\n        <span class="abconvert-offer-tier-header-label">${(0,r.Z)(o)}</span>\n        <span class="abconvert-offer-tier-header-label">Discount</span>\n      </div>\n      ${c}\n    </div>\n  `}(p),x=$?v(p).join(" · "):a,w=m&&x?`<div class="abconvert-offer-secondary">${(0,r.Z)(x)}</div>`:"";return`\n    <div class="abconvert-offer-card">\n      <div class="abconvert-offer-head">\n        <div class="abconvert-offer-primary-row">\n          <div class="abconvert-offer-primary">${(0,r.Z)(h)}</div>\n          ${b(p)}\n        </div>\n        ${w}\n      </div>\n      ${$}\n      ${function(n){if(!n)return"";const e=n.names.slice(0,i),t=n.names.slice(i),o=t.length,a=t.join(", "),c=o>0?`<span class="abconvert-offer-overflow" data-tooltip="${(0,r.Z)(a)}" aria-label="${(0,r.Z)(a)}">+${o} more</span>`:"";return`\n    <div class="abconvert-offer-scope">
715\n      <span class="abconvert-offer-scope-icon">${n.icon}</span>\n      <div class="abconvert-offer-scope-body">\n        <div class="abconvert-offer-scope-count">${(0,r.Z)(n.label)}</div>\n        <div class="abconvert-offer-scope-names">\n          <span>${(0,r.Z)(e.join(", "))}</span>\n          ${c}\n        </div>\n      </div>\n    </div>\n  `}(g)}\n    </div>\n  `}function m(n){let{groups:e,currentGroupIndex:t,expanded:r=!1,embedded:i=!1}=n;if(!e||0===e.length)return"";const a=e[t]??e[0];return a?(0,o.q)({id:"abconvert-offer-config",title:"Offer Config",content:g(a.offer,a.isControl),expanded:r,embedded:i}):""}function h(n,e){(0,o.s)(n,"abconvert-offer-config","320px",e)}},6020:(n,e,t)=>{t.d(e,{A:()=>i});var o=t(9885);let r=null;const i={displayName:"Visual Editor Test",normalize:function(n){const e={};return(n?.experiments||[]).forEach((n=>{if("Preview"!==n.status)return;const t=n.experimentId;e[t]={id:t,name:n.name||"Visual Editor Test",experimentId:n.numericId||t,status:n.status||"Active",startTime:n.startTime,trafficAllocationPercent:n.trafficAllocationPercent,audienceTargeting:n.audienceTargeting,forceAssignRules:n.forceAssignRules,groups:n.testGroups||[],_original:n}})),e},renderPanel:function(n,e){const{experimentData:t,currentGroupIndex:i}=n,a=t.groups||[];return(0,o.k)({groups:a,groupIndex:i,expanded:e.has("abconvert-visual-editor-pages"),activeTab:r,embedded:n.embedded})},initPanelEvents:function(n,e,t){const{experimentData:i,currentGroupIndex:a}=e,c=i.groups||[];(0,o.H)(n,t,(n=>{r=n}),{groups:c,groupIndex:a})}}},6538:(n,e,t)=>{t.d(e,{MY:()=>C,RW:()=>E,gv:()=>i});var o=t(6868),r=t(2639);const i="abconvert-checkout-config",a=["delivery","payment","content","cart","upsell"],c={delivery:"Delivery",payment:"Payment",content:"Content blocks",cart:"Cart",upsell:"Upsell"},s={heading:"content",banner:"content","trust-badge":"content",button:"content",benefit:"content",image:"content","payment-icon":"content","upsell-product-tile":"upsell","cart-control":"cart"},d={heading:"Heading",banner:"Banner","trust-badge":"Trust badge",button:"Button",benefit:"Benefit list",image:"Image","payment-icon":"Payment icons","upsell-product-tile":"Product offer","cart-control":"Cart control"},l={hide:"Hide",rename:"Rename",reorder:"Reorder"},u={heading:'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><path d="M3 3v10M9 3v10M3 8h6" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/><path d="M11 6.5l1.5-1V13" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg>',banner:'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><rect x="2.5" y="4.5" width="11" height="7" rx="1.5" stroke="currentColor" stroke-width="1.3"/><circle cx="5.5" cy="8" r="0.9" fill="currentColor"/><path d="M7.5 8h3.5" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/></svg>',"trust-badge":'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><path d="M8 2.2 13 4v4.2c0 2.6-2 4.7-5 5.6-3-.9-5-3-5-5.6V4l5-1.8Z" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round"/><path d="m6 8 1.5 1.5L10 7" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg>',button:'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><rect x="2" y="6" width="12" height="4" rx="2" stroke="currentColor" stroke-width="1.3"/><circle cx="11.5" cy="8" r="0.9" fill="currentColor"/></svg>',benefit:'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><path d="M3 4.5h10M3 8h10M3 11.5h6.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/><circle cx="3" cy="4.5" r="0.6" fill="currentColor"/><circle cx="3" cy="8" r="0.6" fill="currentColor"/><circle cx="3" cy="11.5" r="0.6" fill="currentColor"/></svg>',image:'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><rect x="2.5" y="3" width="11" height="10" rx="1.5" stroke="currentColor" stroke-width="1.3"/><circle cx="6" cy="6.5" r="1.1" stroke="currentColor" stroke-width="1.2"/><path d="m3 12 3.2-3.5 2.3 2L11 7l2 2.4" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round"/></svg>',"payment-icon":'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><rect x="2" y="4.5" width="12" height="7.5" rx="1.3" stroke="currentColor" stroke-width="1.3"/><path d="M2 7h12" stroke="currentColor" stroke-width="1.3"/><path d="M4.5 9.5h2" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/></svg>',"upsell-product-tile":'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><path d="m4 12 4-7 4 7" stroke="currentColor" stroke-width="1.4" stroke-linejoin="round" stroke-linecap="round"/>
715<path d="M5 8.5h6" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/></svg>',"cart-control":'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><path d="M2.5 4.5h2l1.4 6.4a1.2 1.2 0 0 0 1.2 1h4.6a1.2 1.2 0 0 0 1.2-1l.9-4.4H5" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="6.5" cy="13.5" r="0.9" fill="currentColor"/><circle cx="11" cy="13.5" r="0.9" fill="currentColor"/></svg>',hide:'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><path d="M2.5 8s2-4 5.5-4 5.5 4 5.5 4-2 4-5.5 4-5.5-4-5.5-4Z" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round"/><circle cx="8" cy="8" r="1.6" stroke="currentColor" stroke-width="1.3"/><path d="m3 3 10 10" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>',rename:'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><path d="M2.5 13.5h11" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/><path d="m3 11 7.5-7.5a1.5 1.5 0 0 1 2.1 0l.4.4a1.5 1.5 0 0 1 0 2.1L5.5 13.5H3V11Z" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round"/></svg>
715',reorder:'<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><path d="M3 4h7M3 8h7M3 12h7" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/><path d="m12.5 5 1 1.5L12 8M13.5 11l-1 1.5L11 11" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg>',arrow:'<svg viewBox="0 0 12 12" width="10" height="10" fill="none" aria-hidden="true"><path d="m4 2 4 4-4 4" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg>',check:'<svg viewBox="0 0 12 12" width="10" height="10" fill="none" aria-hidden="true"><path d="m3 6.5 2 2 4-4.5" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg>'},p=new Set;function v(n){return`<span class="abconvert-checkout-meta">${(0,r.Z)(n)}</span>`}function f(n){return`<span class="abconvert-checkout-method-chip">${(0,r.Z)(n)}</span>`}function b(n,e){return`<span class="abconvert-checkout-flag ${e?"abconvert-checkout-flag-on":"abconvert-checkout-flag-off"}">${e?u.check:""}${(0,r.Z)(n)}</span>`}function g(n){const e=n[0];return e?n.length>1?`"${e.text}" + ${n.length-1} more`:e.url?`"${e.text}" → ${e.url}`:`"${e.text}"`:"(no buttons)"}function m(n){const e=[];return n.showQuantitySelector&&e.push("qty"),n.showVariantSelector&&e.push("variant"),e.length?` · ${e.join(" + ")}`:""}function h(n){if(!n)return"";const e=String(n).split("?")[0];return e.split("/").filter(Boolean).pop()||e}function $(n){return n?String(n).charAt(0).toUpperCase()+String(n).slice(1):""}const x={hide:{head:n=>{const e=(n.methods||[]).length;return v(`${e} ${1===e?"method":"methods"}`)},body:n=>{const e=n.methods||[];return 0===e.length?"":`<div class="abconvert-checkout-chip-row">${e.map(f).join("")}</div>`}},rename:{head:n=>{const e=n.renameRules||[];return 1===e.length?v(`${e[0].fromMatcher} "${e[0].from}"`):v(`${e.length} rules`)},body:n=>{const e=n.renameRules||[];return 0===e.length?"":`<div class="abconvert-checkout-rename-list">${e.map(w).join("")}</div>`}},reorder:{head:()=>v("pin to top"),body:n=>{const e=n.pinnedMethods||[];return 0===e.length?"":`<div class="abconvert-checkout-chip-row">${e.map(((n,e)=>function(n,e){return`<span class="abconvert-checkout-method-chip"><span class="abconvert-checkout-pin-idx">${e+1}.</span>${(0,r.Z)(n)}</span>`}(n.value,e))).join("")}</div>`}}};function w(n){const e=function(n){return"append"===n.toAction?`… ${n.to}`:"prepend"===n.toAction?`${n.to} …`:n.to}(n);return`\n    <div class="abconvert-checkout-rename-rule">
715\n      <span class="abconvert-checkout-method-chip">${(0,r.Z)(n.from)}</span>\n      <span class="abconvert-checkout-rename-arrow">${u.arrow}</span>\n      <span class="abconvert-checkout-method-chip abconvert-checkout-method-chip-strong">${(0,r.Z)(e)}</span>\n    </div>\n  `}function y(n){return`abconvert-checkout-section-${n}`}function k(n,e,t){const o=e.map((e=>"delivery"===n||"payment"===n?function(n){const e=x[n.op];if(!e)return"";const t=l[n.op]?n.op:"unknown",o=l[n.op]||(0,r.Z)(n.op);return`\n    <div class="abconvert-checkout-row">\n      <span class="abconvert-checkout-icon abconvert-checkout-icon-${t}">${u[n.op]||""}</span>\n      <div class="abconvert-checkout-body">\n        <div class="abconvert-checkout-row-head">\n          <span class="abconvert-checkout-type abconvert-checkout-type-${t}">${o}</span>\n          ${e.head(n)}\n        </div>\n        ${e.body(n)}\n      </div>\n    </div>\n  `}(e):"cart"===n?function(n){const e=n.props||{},t=e.buttonLabel?.trim()||"Edit",o=[b("Change variant",!!e.allowChangeVariant),b("Edit quantity",!!e.allowEditQuantity),b("Remove items",!!e.allowRemoveItems)].join("");return`\n    <div class="abconvert-checkout-row">
715\n      <span class="abconvert-checkout-icon">${u["cart-control"]}</span>\n      <div class="abconvert-checkout-body">\n        <div class="abconvert-checkout-row-head">\n          <span class="abconvert-checkout-type">${d["cart-control"]}</span>\n          <span class="abconvert-checkout-row-text-inline">"${(0,r.Z)(t)}"</span>\n        </div>\n        <div class="abconvert-checkout-chip-row">${o}</div>\n      </div>\n    </div>\n  `}(e):function(n){const{meta:e,text:t,metaTone:o}=function(n){const e=n.props||{};switch(n.blockType){case"heading":return{meta:e.size?$(e.size):"Large",text:`"${e.title?.trim()||"(no title)"}"`};case"banner":return{meta:e.tone?$(e.tone):"Auto",text:`"${e.title?.trim()||"(no title)"}"`,metaTone:(t=e.tone,"success"===t||"critical"===t||"warning"===t||"info"===t?t:"")};case"trust-badge":{const n=e.items||[];return{meta:`${$(e.layout||"vertical")} · ${n.length}`,text:n.map((n=>n.title)).filter(Boolean).join(" · ")||"(no items)"}}case"button":{const n=e.items||[],t=n[0],o=t?.variant?$(t.variant):"Primary";return{meta:e.fullWidth?`${o} · Full width`:o,text:g(n)}}case"benefit":{const n=e.items||[];return{meta:`${$(e.layout||"list")} · ${n.length}`,text:e.title?.trim()?`"${e.title}" · ${n.length} ${1===n.length?"item":"items"}`:n.map((n=>n.text)).filter(Boolean).join(" · ")||"(no items)"}}case"image":{const n=e.images||[],t=$(e.layout||(n.length>1?"carousel":"single")),o=n.length>1?`${t} · ${n.length}`:t,r=function(n){if(!n.length)return"(no images)";const e=n[0],t=h(e?.url)||"(image)";if(1===n.length)return t;const o=h(n[1]?.url);return 2===n.length&&o?`${t} · ${o}`:o?`${t} · ${o} · +${n.length-2}`:`${t} · +${n.length-1}`}(n);return{meta:o,text:r}}case"payment-icon":{const n=e.icons||[];return{meta:String(n.length),text:n.length?n.join(" · "):"(no icons)"}}case"upsell-product-tile":return{meta:`${"manual"===e.recommendation?"Specific products":"Auto recommend"} · max ${e.maxProducts??1}`,text:e.title?.trim()?`"${e.title}"${m(e)}`:`Product offer${m(e)}`};default:return{meta:"",text:""}}var t}(n),i=d[n.blockType]||(0,r.Z)(n.blockType),a=e?`<span class="abconvert-checkout-meta${o?` abconvert-checkout-meta-${o}`:""}">${(0,r.Z)(e)}</span>`:"";return`\n    <div class="abconvert-checkout-row">
715\n      <span class="abconvert-checkout-icon">${u[n.blockType]||""}</span>\n      <div class="abconvert-checkout-body">\n        <div class="abconvert-checkout-row-head">\n          <span class="abconvert-checkout-type">${i}</span>\n          ${a}\n        </div>\n        <div class="abconvert-checkout-row-text">${(0,r.Z)(t)}</div>\n      </div>\n    </div>\n  `}(e))),i=y(n),a=function(n,e){return"cart"===n?"on":String(e.length)}(n,e),s=t?"expanded":"";return`\n    <div class="abconvert-checkout-section">\n      <button id="${i}-toggle" class="abconvert-checkout-section-head" type="button">\n        <span class="abconvert-checkout-section-label">${c[n]}</span>\n        <span class="abconvert-checkout-section-meta">\n          <span class="abconvert-checkout-section-count">${a}</span>\n          <span id="${i}-arrow" class="abconvert-checkout-section-arrow ${s}" aria-hidden="true"><svg viewBox="0 0 12 12" width="12" height="12" fill="none"><path d="M3 4.5 6 7.5l3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></span>\n        </span>\n      </button>\n      <div id="${i}-content" class="abconvert-checkout-section-rows ${s}">\n        ${o.join("")}\n      </div>\n    </div>\n  `}function E(n){let{groups:e,currentGroupIndex:t,expanded:r=!1,expandedSections:c,embedded:d=!1}=n;if(!e||0===e.length)return"";const l=e[t]??e[0];if(!l)return"";const u=function(n){const e={delivery:[],payment:[],content:[],cart:[],upsell:[]};for(const o of n||[])if("delivery"===o.kind)e.delivery.push(o);else if("payment"===o.kind)e.payment.push(o);else if("block"===o.kind){const n=s[o.blockType];n?e[n].push(o):(t=o.blockType,p.has(t)||(p.add(t),"undefined"!=typeof console&&console.warn&&console.warn(`[ABConvert] CheckoutTestPanel: unknown blockType "${t}". Add it to BLOCK_TYPE_TO_CATEGORY in panels/CheckoutTestPanel.js.`)))}var t;return e}(l.modifications),v=a.filter((n=>u[n].length>0)).map((n=>k(n,u[n],function(n,e){const t=y(n);return!e||"function"!=typeof e.has||!e.has(`${t}:collapsed`)}(n,c)))),f=v.length?v.join(""):'<div class="abconvert-checkout-empty">No modifications in this variant.</div>';return(0,o.q)({id:i,title:"Checkout modifications",content:`<div class="abconvert-checkout-panel">${f}</div>`,expanded:r,embedded:d})}function C(n,e){(0,o.s)(n,i,"2000px",e);for(const t of a)I(n,y(t),e)}function I(n,e,t){const o=n.querySelector(`#${e}-toggle`),r=n.querySelector(`#${e}-content`),i=n.querySelector(`#${e}-arrow`);o&&r&&o.addEventListener("click",(()=>{const n=r.classList.toggle("expanded");i&&i.classList.toggle("expanded",n),t&&t(`${e}:collapsed`,!n)}))}},6764:(n,e,t)=>{t.d(e,{d:()=>i,y:()=>a});var o=t(6868),r=t(7386);function i(n){let{groups:e,currentGroupIndex:t,expanded:i=!1,embedded:a=!1}=n;if(!e||0===e.length)return"";const c=(e[t]||e[0]).zoneRates||[];if(0===c.length)return"";const s=`\n    <div class="abconvert-card">\n      ${c.map((n=>{return`\n    <div class="abconvert-shipping-zone">\n      <div class="abconvert-shipping-zone-name">${n.zoneName}</div>\n      ${e=n.rates,e&&0!==e.length?e.map((n=>{const e=(0,r.lq)(n.price,n.currency),t=function(n){if(!n||!n.type)return"";if("price"===n.type){const e=n.currency||"USD",t=[];return null!=n.minimum&&t.push(`≥ ${(0,r.lq)(n.minimum,e)}`),null!=n.maximum&&t.push(`≤ ${(0,r.lq)(n.maximum,e)}`),t.join(" & ")}if("weight"===n.type){const e=n.unit||"g",t=[];return null!=n.minimum&&t.push(`≥ ${n.minimum}${e}`),null!=n.maximum&&t.push(`≤ ${n.maximum}${e}`),t.join(" & ")}return""}(n.condition),o=t?`<div class="abconvert-shipping-rate-condition">${t}</div>`:"";return`\n      <div class="abconvert-shipping-rate-row">\n        <span class="abconvert-shipping-rate-name">${n.name}</span>\n        <span class="abconvert-shipping-rate-price">${e}</span>\n        ${o}\n      </div>\n    `})).join(""):'<div class="abconvert-shipping-no-rates">No rates</div>'}\n    </div>\n  `;var e})).join("")}\n    </div>\n  `;return(0,o.q)({id:"abconvert-shipping-config",title:"Shipping Rates",content:s,expanded:i,embedded:a})}function a(n,e){(0,o.s)(n,"abconvert-shipping-config","400px",e)}},6868:(n,e,t)=>{function o(n){let{id:e,title:t,content:o,expanded:r=!1,icon:i="",embedded:a=!1}=n;if(a)return o;const c=r?"expanded":"";return`\n    <div class="abconvert-section">\n      <button id="${e}-toggle" class="abconvert-collapsible-header">
715\n        <span>${i?i+" ":""}${t}</span>\n        <span id="${e}-arrow" class="abconvert-collapsible-arrow ${c}">▼</span>\n      </button>\n      <div id="${e}-content" class="abconvert-collapsible-content ${c}">\n        ${o}\n      </div>\n    </div>\n  `}function r(n,e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"240px",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const r=n.querySelector(`#${e}-toggle`),i=n.querySelector(`#${e}-content`),a=n.querySelector(`#${e}-arrow`);if(!r||!i)return;let c=i.classList.contains("expanded");r.addEventListener("click",(()=>{c=!c,c?(i.classList.add("expanded"),i.style.maxHeight=t,a&&a.classList.add("expanded")):(i.classList.remove("expanded"),i.style.maxHeight="0",a&&a.classList.remove("expanded")),o&&o(e,c)})),c&&(i.style.maxHeight=t)}t.d(e,{q:()=>o,s:()=>r})},7386:(n,e,t)=>{t.d(e,{$g:()=>r,Rj:()=>a,SS:()=>s,aO:()=>l,lq:()=>i});var o=t(9698);function r(n,e){const t=e||window.Shopify?.currency?.active||"USD",o="string"==typeof n?parseFloat(n):n;if(isNaN(o))return"";try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(o)}catch(n){return`$${o.toFixed(2)}`}}function i(n,e){return r((0,o.i9)(n,e),e)}function a(n,e,t){const o=(window.Shopify?.country||"").toUpperCase(),r=n?.testGroups?.[e]?.countryMap;return o&&r&&void 0!==r[o]?o:t}function c(n,e){if(!e||void 0===n?.[e])return null;const t=n[e];return"object"==typeof t&&null!==t?{price:t.price,compareAtPrice:t.compareAtPrice}:{price:t,compareAtPrice:null}}function s(n,e,t,o){if(!n?.testGroups?.[e])return null;const r=n.testGroups[e];for(const n of[t,o]){const e=c(r.countryMap,n);if(e)return{...e,country:n}}return{price:r.price,compareAtPrice:r.compareAtPrice,country:null}}const d={US:"USD",CA:"CAD",GB:"GBP",DE:"EUR",FR:"EUR",IT:"EUR",ES:"EUR",NL:"EUR",AU:"AUD",NZ:"NZD",JP:"JPY",CN:"CNY",HK:"HKD",SG:"SGD",KR:"KRW",IN:"INR",BR:"BRL",MX:"MXN",CH:"CHF",SE:"SEK",NO:"NOK",DK:"DKK",PL:"PLN",AE:"AED",SA:"SAR",ZA:"ZAR",TH:"THB",MY:"MYR",PH:"PHP",ID:"IDR",VN:"VND",TW:"TWD",IL:"ILS",TR:"TRY",RU:"RUB",CZ:"CZK",HU:"HUF",RO:"RON",CL:"CLP",CO:"COP",AR:"ARS",PE:"PEN"};function l(n){let{currency:e,primaryCountry:t,countryCurrencies:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n?.country?function(n,e){return e?.[n]?e[n]:d[n]||"USD"}(n.country,o):e||o?.[t]||window.Shopify?.currency?.active||"USD"}},7626:(n,e,t)=>{t.d(e,{A:()=>i});var o=t(63);function r(n){n.searchParams.delete("_abr")}const i={displayName:"URL Redirect Test",normalize:function(n){const e={};return(n?.experiments||[]).forEach((n=>{if("Preview"!==n.status)return;const t=n.experimentId;e[t]={id:t,name:n.name||"URL Redirect Test",experimentId:n.numericId||t,version:n.version||"v1",status:n.status||"Active",startTime:n.startTime,trafficAllocationPercent:n.trafficAllocationPercent,audienceTargeting:n.audienceTargeting,forceAssignRules:n.forceAssignRules,groups:(n.testGroups||[]).map((n=>({name:n.name,percentage:n.percentage,isControl:n.isControl,redirectRules:n.variation?.rules||[],legacyUrl:n.url||""}))),_original:n}})),e},renderPanel:function(n,e){const{experimentData:t,currentGroupIndex:r}=n,i=t.groups||[];return(0,o.i)({groups:i,currentGroupIndex:r,expanded:e.has("abconvert-redirect-rules"),embedded:n.embedded})},initPanelEvents:function(n,e,t){(0,o.L)(n,t)},onGroupSwitch:function(n,e){const t=new URL(window.location.href);return r(t),window.location.href=t.toString(),!0},stripGroupSwitchParams:r}},8368:(n,e,t)=>{t.d(e,{A:()=>r});var o=t(6764);const r={displayName:"Shipping Test",normalize:function(n){const e={};return(n?.experiments||[]).forEach((t=>{"Preview"===t.status&&(e[t.experimentId]={id:t.experimentId,name:t.name||"Shipping Test",experimentId:t.numericId||t.experimentId,version:n.version||"v2",status:t.status,startTime:t.startTime,trafficAllocationPercent:t.trafficAllocationPercent,audienceTargeting:t.audienceTargeting,forceAssignRules:t.forceAssignRules,groups:(t.testGroups||[]).map((n=>({name:n.name,percentage:n.percentage,isControl:n.isControl,id:n.id,zoneRates:n.zoneRates||[]}))),_original:t})})),e},renderPanel:function(n,e){const{experimentData:t,currentGroupIndex:r}=n,i=t.groups||[];return(0,o.d)({groups:i,currentGroupIndex:r,expanded:e.has("abconvert-shipping-config"),embedded:n.embedded})},initPanelEvents:function(n,e,t){(0,o.y)(n,t)}}},8711:(n,e,t)=>{t.d(e,{K:()=>c,j:()=>s});var o=t(6868),r=t(7386),i=t(4788);
715function a(n,e,t,o,a){if(!n||0===n.length)return"";const c=n.map((n=>function(n,e,t,o,a){const c=(0,i.hM)(n.url||"#"),s=n.title||"Untitled Product",d=n.variantCount||0,l=1===d?"1 variant":`${d} variants`,u=n.variants?.[0],p=u?function(n,e,t,o){const i=function(n,e,t,o){const i=(0,r.Rj)(n,e,t),a=(0,r.SS)(n,e,i,o.primaryCountry);if(!a||void 0===a.price||null===a.price)return"";const c=(0,r.aO)(a,o),s=(0,r.$g)(a.price,c);return a.compareAtPrice&&parseFloat(a.compareAtPrice)>0?`<s>${(0,r.$g)(a.compareAtPrice,c)}</s> ${s}`:s}(n,e,t,o);return i?`<div class="abconvert-product-price">${i}</div>`:""}(u,t,o,a):"";return`\n    <a href="${c}" class="abconvert-product-item">\n      ${n.image?`<img src="${n.image}" alt="${s}" class="abconvert-product-image" />`:""}\n      <div class="abconvert-product-info">\n        <div class="abconvert-product-title">${s}</div>\n        ${p}\n        <div class="abconvert-product-variants">${l}</div>\n      </div>\n      <span class="abconvert-product-arrow">→</span>\n    </a>\n  `}(n,0,t,o,a))).join("");return`\n    <div class="abconvert-card">\n      <div class="abconvert-product-list">\n        ${c}\n      </div>\n    </div>\n  `}function c(n){let{products:e,experimentId:t,groupIndex:r,selectedMarket:i,shop:c={},expanded:s=!1,embedded:d=!1}=n;if(!e||0===e.length)return"";const l=a(e,0,r,i,c);return(0,o.q)({id:"abconvert-products",title:`Products (${e.length})`,content:l,expanded:s,embedded:d})}function s(n,e){(0,o.s)(n,"abconvert-products","240px",e)}},9698:(n,e,t)=>{t.d(e,{i9:()=>r});const o=new Set(["BIF","CLP","DJF","GNF","ISK","JPY","KMF","KRW","PYG","RWF","UGX","VND","VUV","XAF","XOF","XPF"]);function r(n,e){const t=Number(null!=n?n:0);return Number.isFinite(t)?t/function(n){return o.has(String(null!=n?n:"").toUpperCase())?1:100}(e):0}new Map},9885:(n,e,t)=>{t.d(e,{H:()=>p,k:()=>u});var o=t(6868),r=t(2639);function i(n){return-1!==n.indexOf("*")}function a(n){const e=Array.isArray(n.targetUrls)?n.targetUrls.filter((n=>"string"==typeof n&&n.length>0)):[],t=e.length>0?e:n.targetUrl?[n.targetUrl]:["/"];return[...new Set(t.map((n=>function(n){try{return n.startsWith("http")?new URL(n).pathname||"/":n||"/"}catch{return n||"/"}}(n))))]}function c(n,e){if(!n||0===n.length)return[];const t=new Set;for(const e of n)for(const n of e.mutations||[])for(const e of a(n))t.add(e);const o=(n[e]||{}).mutations||[],r={};for(const n of t)r[n]={url:n,changeCount:0};for(const n of o)for(const e of a(n))r[e]&&r[e].changeCount++;return Object.values(r)}function s(n,e,t){return`\n    <div class="abconvert-ve-code-block">\n      <button class="abconvert-ve-code-toggle" data-target="${t}" aria-expanded="false" aria-controls="${t}">\n        <span class="abconvert-ve-code-chevron" id="${t}-chevron">\n          <svg width="12" height="12" viewBox="0 0 20 20" fill="currentColor">\n            <path d="M6 6l4 4 4-4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>\n          </svg>\n        </span>\n        <span class="abconvert-ve-code-label">${n}</span>\n      </button>\n      <div class="abconvert-ve-code-content" id="${t}">\n        <pre class="abconvert-ve-code-pre">${(0,r.Z)(e)}</pre>\n      </div>\n    </div>\n  `}function d(n,e){const t=c(n,e);if(0===t.length)return'<div class="abconvert-ve-empty">No page modifications</div>';const o=window.location.pathname,a=t.map((n=>function(n,e){const t=1===n.changeCount?"1 change":`${n.changeCount} changes`,o=i(n.url),a=function(n,e){if(i(n))try{return function(n){const e=n.replace(/\*\*/g,"�").replace(/\*/g,"�").replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(new RegExp("�","g"),".*").replace(new RegExp("�","g"),"[^/]*");return new RegExp("^"+e+"$")}(n).test(e)}catch{return!1}return n===e}(n.url,e),c=n.url.startsWith("http")||n.url.startsWith("/")?(0,r.Z)(n.url):"#",s=`\n      <div class="abconvert-page-icon">\n        <svg width="16" height="16" viewBox="0 0 20 20" fill="currentColor">\n          <path d="M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm0 1.5h12a.5.5 0 01.5.5v1.5h-13V5a.5.5 0 01.5-.5zM3.5 8h13v7a.5.5 0 01-.5.5H4a.5.5 0 01-.5-.5V8z"/>\n        </svg>\n      </div>\n      <div class="abconvert-page-info">\n        <div class="abconvert-page-path">${(0,r.Z)(n.url)}</div>\n        <div class="abconvert-page-changes">${t}</div>\n      </div>\n      ${o?"":`<span class="abconvert-product-arrow">
715${a?'<svg width="16" height="16" viewBox="0 0 20 20" fill="currentColor"><path d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"/></svg>':"→"}</span>`}\n  `;return o?`\n    <div class="abconvert-page-item${a?" active":""}">${s}</div>\n  `:`\n    <a href="${c}" class="abconvert-page-item${a?" active":""}">${s}</a>\n  `}(n,o))).join("");return`\n    <div class="abconvert-card">\n      <div class="abconvert-page-list">${a}</div>\n    </div>\n  `}function l(n,e){const t=!n.isControl&&n.customCSS?.trim()||"",o=!n.isControl&&n.customJS?.trim()||"";return t||o?`\n    <div class="abconvert-ve-code-hint">Applied to all pages</div>\n    <div class="abconvert-card">\n      <div class="abconvert-ve-code-blocks">\n        ${t?s("CSS",t,`ve-css-${e}`):""}\n        ${o?s("JS",o,`ve-js-${e}`):""}\n      </div>\n    </div>\n  `:'<div class="abconvert-ve-empty">No custom code</div>'}function u(n){let{groups:e,groupIndex:t=0,expanded:r=!1,activeTab:i,embedded:a=!1}=n;c(e,t);const s=e[t]||{},u=e.some((n=>(n.mutations||[]).length>0)),p=e.some((n=>!n.isControl&&(n.customCSS?.trim()||n.customJS?.trim()))),v=i||(u?"modifications":p?"custom-code":"modifications"),f=`\n    \n    <div class="abconvert-ve-tabs" role="tablist">\n      <button class="abconvert-ve-tab${"modifications"===v?" active":""}${u?"":" disabled"}" role="tab" data-tab="modifications" aria-selected="${"modifications"===v}"${u?"":" disabled"}>\n        Modifications\n      </button>\n      <button class="abconvert-ve-tab${"custom-code"===v?" active":""}${p?"":" disabled"}" role="tab" data-tab="custom-code" aria-selected="${"custom-code"===v}"${p?"":" disabled"}>\n        Custom Code\n      </button>\n    </div>\n  \n    <div id="abconvert-ve-tab-content">${"custom-code"===v?l(s,t):d(e,t)}</div>\n  `;return(0,o.q)({id:"abconvert-visual-editor-pages",title:"Visual Editor Config",content:f,expanded:r,embedded:a})}function p(n,e,t,r){(0,o.s)(n,"abconvert-visual-editor-pages","500px",e);const i=n.querySelectorAll(".abconvert-ve-tab");i.forEach((e=>{e.addEventListener("click",(()=>{if(e.disabled||e.classList.contains("active"))return;const o=e.dataset.tab;i.forEach((n=>{n.classList.toggle("active",n===e),n.setAttribute("aria-selected",n===e?"true":"false")}));const a=n.querySelector("#abconvert-ve-tab-content");if(a&&r){const{groups:e,groupIndex:t}=r,i=e[t]||{};"modifications"===o?a.innerHTML=d(e,t):(a.innerHTML=l(i,t),v(n))}t&&t(o)}))})),v(n)}function v(n){n.querySelectorAll(".abconvert-ve-code-toggle").forEach((e=>{e.addEventListener("click",(()=>{const t=e.dataset.target,o=n.querySelector(`#${t}`),r=n.querySelector(`#${t}-chevron`);if(!o)return;const i=o.classList.contains("expanded");o.classList.toggle("expanded",!i),r&&r.classList.toggle("expanded",!i),e.setAttribute("aria-expanded",i?"false":"true")}))}))}}},e={};function t(o){var r=e[o];if(void 0!==r)return r.exports;var i=e[o]={exports:{}};return n[o](i,i.exports,t),i.exports}t.d=(n,e)=>{for(var o in e)t.o(e,o)&&!t.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:e[o]})},t.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e);const o="#ffffff",r="#f1f1f1",i="#f7f7f7",a="#f1f1f1",c="#cdfee1",s="#fea3a3",d="#fee3e3",l="#91d0ff",u="#e6f3ff",p="#fff4d4",v="#eef6ff",f="#303030",b="#616161",g="#b5b5b5",m="#007f5c",h="#c72b2b",$="#005fcc",x="#785a00",w="#005fcc",y="#ffffff",k="#e1e1e1",E="#ebebeb",C="#c7c7c7",I="#005fcc",P="#303030",S="#616161",T="2px",A="4px",R="6px",M="8px",z="12px",L="16px",D="Inter, -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif",_="ui-monospace, SFMono-Regular, 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace",N="11px",G="12px",U="13px",j="14px",B="500",O="600",V="1.4",F="-0.01em",q="4px",H="6px",W="8px",Z="9999px",K="0 0 0 2px #005fcc",X="100ms",Y="200ms",J="cubic-bezier(0, 0, 0.58, 1)",Q="cubic-bezier(0.42, 0, 0.58, 1)",nn="150ms",en="cubic-bezier(0.42, 0, 0.58, 1)",tn="abconvert-preview-widget-styles";var on=t(4788),rn=t(6868);function an(n){return null==n||""===n?"(empty)":"object"==typeof n?JSON.stringify(n):String(n)}function cn(n){return n?"✓":"✗"}function sn(n){return n?"pass":"fail"}function dn(n){return`\n    <div class="abconvert-context-grid">
715\n      <span class="abconvert-context-label">Country:</span>\n      <span class="abconvert-context-value">${an(n.country)}</span>\n      <span class="abconvert-context-label">Device:</span>\n      <span class="abconvert-context-value">${an(n.device)}</span>\n      <span class="abconvert-context-label">Visitor:</span>\n      <span class="abconvert-context-value">${an(n.visitorType)}</span>\n      <span class="abconvert-context-label">Source:</span>\n      <span class="abconvert-context-value">${an(n.trafficSource)}</span>\n      <span class="abconvert-context-label">Referrer:</span>\n      <span class="abconvert-context-value">${an(n.referralDomain)}</span>\n      <span class="abconvert-context-label">Landing:</span>\n      <span class="abconvert-context-value">${an(n.landingPage)}</span>\n    </div>\n  `}function ln(n,e,t,o){const r=n.querySelector("#abconvert-assignment-result");r&&(r.className=`abconvert-result-box visible ${e}`,r.innerHTML=`\n    <div style="font-weight: 500; margin-bottom: 4px;">${t}</div>\n    <div style="font-size: 11px; color: #6d7175;">${o}</div>\n  `)}var un=t(5246),pn=t(947);const vn="abconvert-preview-widget";function fn(){if(window.Shopify?.designMode)return;if(!(0,on.IL)())return;const n=(0,on.P3)("abconvert_experiment_id");n&&(0,on.xX)(n),(0,on.nI)("abconvert_experiment_id"),(0,on.nI)("abconvert_preview_key"),window.abconvertCombinedTestDict&&(0,pn.eo)(un.JB.COMBINED,window.abconvertCombinedTestDict);const e=(0,un.Mo)(),t=Object.keys(e);if(0===t.length)return;const rn=(0,on.tj)();let an,cn;if(rn&&e[rn])an=rn,cn=e[rn];else if(rn){const n=t.find((n=>String(e[n].experimentId)===String(rn)));n&&(an=n,cn=e[n])}const sn=Boolean(an);if(an||(rn&&console.warn("[ABConvert] Preview target experiment not found in registry",{targetExperimentId:rn,availableIds:t,hint:"If the test was just created, confirm its window dict is defined (e.g. window.abconvertCheckoutTestDict) and that the theme snippet is installed."}),an=t[0],cn=e[an]),!cn)return;!sn&&rn||(0,on.xX)(an);const dn=document.getElementById(vn);if(dn){if(dn.dataset.experimentId===an)return;dn.remove()}const ln=(0,on.P3)("preview");null!==ln&&(0,on.gp)(an,parseInt(ln,10));const fn=gn(e,an);!function(){if(document.getElementById(tn))return;const n=`\n    /* =============================================================================\n       ABConvert Preview Widget Styles\n       Polaris-aligned design system (2024)\n       ============================================================================= */\n\n    /* Widget Container - Polaris Card elevated */\n    .abconvert-widget {\n      position: fixed;\n      top: 50%;\n      right: 20px;\n      transform: translateY(-50%);\n      width: 320px;\n      max-height: 80vh;\n      background: ${o};\n      border: 1px solid ${k};\n      border-radius: ${W};\n      box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.09), 0 4px 8px -2px rgba(0, 0, 0, 0.04);\n      font-family: ${D};\n      font-size: ${U};\n      line-height: ${V};\n      z-index: 999999;\n      color: ${f};\n      overflow: hidden;\n      display: flex;\n      flex-direction: column;\n    }\n\n    /* Header - Polaris Card header pattern */\n    .abconvert-widget-header {\n      background: ${o};\n      border-bottom: 1px solid ${E};\n      padding: ${z} ${L};\n      cursor: move;\n      display: flex;\n      align-items: center;\n      gap: ${M};\n      user-select: none;\n      flex-shrink: 0;\n    }\n\n    .abconvert-widget-header.dragging {\n      cursor: grabbing;\n    }\n\n    .abconvert-drag-handle {\n      flex-shrink: 0;\n      color: ${S};\n      display: flex;\n      align-items: center;\n    }\n\n    .abconvert-drag-handle svg {\n      width: 16px;\n      height: 16px;\n    }\n\n    .abconvert-widget-title {\n      flex: 1;\n      min-width: 0;\n    }\n\n    .abconvert-widget-title-text {\n      font-weight: ${O};\n      font-size: ${j};\n      color: ${f};\n      letter-spacing: ${F};\n    }\n\n    .abconvert-widget-subtitle {\n      font-size: ${G};\n      color: ${b};\n      margin-top: ${T};\n    }\n\n    /* Close Button - Polaris icon button */\n    .abconvert-close-btn {\n      background: transparent;\n      border: none;\n      cursor: pointer;\n      color: ${S};\n      padding: 0;\n      width: 28px;\n      height: 28px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      border-radius: ${q};\n      transition: background ${nn} ${en},\n                  color ${nn} ${en};\n    }\n\n    .abconvert-close-btn:hover {\n      background: ${a};\n      color: #303030;\n    }\n\n    .abconvert-close-btn:focus-visible {\n      outline: none;\n      box-shadow: ${K};\n    }\n\n    .abconvert-close-btn svg {\n      width: 16px;\n      height: 16px;\n    }\n\n    /* Content Area */\n    .abconvert-widget-content {\n      padding: ${L};\n      flex: 1;\n      min-height: 0;\n      overflow-y: auto;\n      scrollbar-width: thin;\n      scrollbar-color: ${k} transparent;\n    }\n\n    .abconvert-widget-content::-webkit-scrollbar {\n      width: 6px;\n    }\n\n    .abconvert-widget-content::-webkit-scrollbar-track {\n      background: transparent;\n    }\n\n    .abconvert-widget-content::-webkit-scrollbar-thumb {\n      background: ${k};\n      border-radius: ${Z};\n    }\n\n    /* Section - Polaris BlockStack pattern */\n    .abconvert-section {\n      margin-bottom: ${L};\n    }\n\n    .abconvert-section:last-child {\n      margin-bottom: 0;\n    }\n\n    .abconvert-section-label {\n      display: block;\n      font-weight: ${B};\n      font-size: ${G};\n      margin-bottom: ${M};\n      color: ${f};\n    }\n\n    /* Select - Polaris Select component */\n    .abconvert-select {\n      width: 100%;\n      padding: ${M} ${z};\n      padding-right: 36px;\n      border: 1px solid ${k};\n      border-radius: ${W};\n      background-color: ${o};\n      font-size: ${U};\n      font-family: ${D};\n      cursor: pointer;\n      color: ${f};\n      appearance: none;\n      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 20 20' fill='%23616161'
715%3E%3Cpath d='M10 14l-5-5h10l-5 5z'/%3E%3C/svg%3E");\n      background-repeat: no-repeat;\n      background-position: right 12px center;\n      background-size: 12px;\n      transition: border-color ${nn} ${en},\n                  box-shadow ${nn} ${en};\n    }\n\n    .abconvert-select:hover {\n      border-color: ${C};\n    }\n\n    .abconvert-select:focus {\n      outline: none;\n      border-color: ${I};\n      box-shadow: 0 0 0 1px ${I};\n    }\n\n    .abconvert-select:disabled {\n      background-color: ${r};\n      color: ${g};\n      cursor: not-allowed;\n    }\n\n    /* Button - Polaris Button component */\n    .abconvert-btn {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: ${A};\n      padding: ${R} ${z};\n      min-height: 32px;\n      border-radius: ${W};\n      font-size: ${G};\n      font-weight: ${B};\n      font-family: ${D};\n      line-height: 1;\n      cursor: pointer;\n      text-decoration: none;\n      transition: background ${nn} ${en},\n                  border-color ${nn} ${en},\n                  box-shadow ${nn} ${en};\n    }\n\n    .abconvert-btn:focus-visible {\n      outline: none;\n      box-shadow: ${K};\n    }\n\n    /* Primary Button - Polaris primary variant */\n    .abconvert-btn-primary {\n      background: ${P};\n      color: ${y};\n      border: none;\n      box-shadow: inset 0 -1px 0 0 #b5b5b5;\n    }\n\n    .abconvert-btn-primary:hover {\n      background: #1a1a1a;\n    }\n\n    .abconvert-btn-primary:active {\n      background: #000000;\n    }\n\n    /* Secondary Button - Polaris default variant */\n    .abconvert-btn-secondary {\n      background: ${o};\n      color: ${f};\n      border: 1px solid ${k};\n    }\n\n    .abconvert-btn-secondary:hover {\n      background: ${a};\n      border-color: ${C};\n    }\n\n    .abconvert-btn-secondary:active {\n      background: #ededed;\n    }\n\n    /* Critical/Destructive Button */\n    .abconvert-btn-critical {\n      background: ${o};\n      color: ${h};\n      border: 1px solid #c72b2b;\n    }\n\n    .abconvert-btn-critical:hover {\n      background: ${d};\n    }\n\n    /* Card - Polaris nested card */\n    .abconvert-card {\n      background: ${i};\n      border: 1px solid ${E};\n      border-radius: ${W};\n      padding: ${z};\n    }\n\n    /* Group List - Clickable items for switching groups */\n    .abconvert-group-list {\n      display: flex;\n      flex-direction: column;\n      gap: ${T};\n    }\n\n    .abconvert-group-item {\n      width: 100%;\n      padding: ${M} ${z};\n      border: none;\n      border-radius: ${q};\n      background: transparent;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      font-size: ${U};\n      font-family: ${D};\n      cursor: pointer;\n      text-align: left;\n      transition: background ${nn} ${en};\n    }\n\n    .abconvert-group-item:hover {\n      background: ${a};\n    }\n\n    .abconvert-group-item:focus-visible {\n      outline: none;\n      box-shadow: ${K};\n    }\n\n    .abconvert-group-item.active {\n      background: ${u};\n      cursor: default;\n    }\n\n    .abconvert-group-item .name {\n      font-weight: 400;\n      color: ${f};\n    }\n\n    .abconvert-group-item.active .name {\n      font-weight: ${B};\n      color: ${$};\n    }\n\n    .abconvert-group-item .percentage {\n      font-size: ${G};\n      color: ${b};\n      font-variant-numeric: tabular-nums;\n    }\n\n    .abconvert-group-item.active .percentage {\n      color: ${$};\n    }\n\n    /* Badge - Polaris Badge component */\n    .abconvert-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: ${A};\n      padding: ${T} ${M};\n      border-radius: ${Z};\n      font-size: ${N};\n      font-weight: ${B};\n      line-height: 1.4;\n    }\n\n    .abconvert-badge-success {\n      background: ${c};\n      color: ${m};\n    }\n\n    .abconvert-badge-info {\n      background: ${v};\n      color: ${w};\n    }\n\n    .abconvert-badge-warning {\n      background: ${p};\n      color: ${x};\n    }\n\n    .abconvert-badge-dot {\n      width: 6px;\n      height: 6px;\n      border-radius: 50%;\n      background: currentColor;\n    }\n\n    /* Offer Test Panel — mirrors admin OfferSummaryDisplay pattern */\n    .abconvert-offer-card {\n      display: flex;\n      flex-direction: column;\n      gap: ${z};\n      background: ${i};\n      border: 1px solid ${E};\n      border-radius: ${W};\n      padding: ${z};\n    }\n\n    .abconvert-offer-head {\n      display: flex;\n      flex-direction: column;\n      gap: ${A};\n    }\n\n    .abconvert-offer-primary-row {\n      display: flex;\n      align-items: flex-start;\n      justify-content: space-between;\n      gap: ${M};\n    }\n\n    .abconvert-offer-primary {\n      flex: 1;\n      min-width: 0;\n      font-size: ${j};\n      font-weight: 400;\n      color: ${f};\n      letter-spacing: ${F};\n      line-height: ${V};\n      word-break: break-word;\n    }\n\n    .abconvert-offer-secondary {\n      font-size: ${G};\n      color: ${b};\n      word-break: break-word;\n    }\n\n    .abconvert-offer-type {\n      flex-shrink: 0;\n      align-self: flex-start;\n      padding: 2px ${M};\n      border-radius: 999px;\n      background: ${v};\n      font-size: ${N};\n      font-weight: ${B};\n      color: ${w};\n      line-height: 1.25;\n      white-space: nowrap;\n    }
715\n\n    .abconvert-offer-type-empty {\n      background: ${i};\n      color: ${b};\n    }\n\n    .abconvert-offer-scope {\n      display: flex;\n      flex-direction: row;\n      gap: ${M};\n      align-items: flex-start;\n      padding: ${M} ${z};\n      background: ${o};\n      border: 1px solid ${E};\n      border-radius: ${H};\n    }\n\n    .abconvert-offer-scope-icon {\n      flex-shrink: 0;\n      color: ${S};\n      display: flex;\n      align-items: center;\n      margin-top: 2px;\n    }\n\n    .abconvert-offer-scope-body {\n      display: flex;\n      flex-direction: column;\n      gap: ${T};\n      flex: 1;\n      min-width: 0;\n    }\n\n    .abconvert-offer-scope-count {\n      font-size: ${N};\n      font-weight: ${B};\n      color: ${b};\n    }\n\n    .abconvert-offer-scope-names {\n      display: flex;\n      flex-direction: row;\n      gap: ${R};\n      align-items: center;\n      flex-wrap: wrap;\n      font-size: ${G};\n      color: ${f};\n      word-break: break-word;\n    }\n\n    .abconvert-offer-overflow {\n      position: relative;\n      display: inline-flex;\n      align-items: center;\n      padding: ${T} ${R};\n      background: ${r};\n      border-radius: ${q};\n      font-size: ${N};\n      color: ${b};\n    }\n\n    /* Fast CSS-only tooltip — replaces native title="" so we don't inherit the\n       browser's ~700ms hover delay. The widget container is overflow-hidden,\n       so the tooltip is anchored to the chip's left edge and extends rightward\n       (the +N more chip always sits near the widget's left side) to avoid\n       getting clipped. Width-capped so long lists wrap. */\n    .abconvert-offer-overflow::before {\n      content: attr(data-tooltip);\n      position: absolute;\n      bottom: calc(100% + ${A});\n      left: 0;\n      max-width: 220px;\n      width: max-content;\n      padding: ${R} ${M};\n      background: ${f};\n      color: ${y};\n      border-radius: ${q};\n      font-size: ${N};\n      line-height: ${V};\n      white-space: normal;\n      word-break: break-word;\n      text-align: left;\n      pointer-events: none;\n      opacity: 0;\n      transition: opacity ${X} ${J};\n      z-index: 1;\n    }\n\n    .abconvert-offer-overflow:hover::before,\n    .abconvert-offer-overflow:focus-visible::before {\n      opacity: 1;\n    }\n\n    /* Volume tier breakdown — 2-column threshold/discount table.\n       Lets merchants verify each tier rule from the storefront preview without\n       opening the admin. White card sits between the head block and scope row. */\n    .abconvert-offer-tier-table {\n      display: flex;\n      flex-direction: column;\n      background: ${o};\n      border: 1px solid ${E};\n      border-radius: ${H};\n      overflow: hidden;\n    }\n\n    .abconvert-offer-tier-header {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: ${M};\n      padding: ${M} ${z};\n      background: ${i};\n      border-bottom: 1px solid ${E};\n    }\n\n    .abconvert-offer-tier-header-label {\n      font-size: ${N};\n      font-weight: ${B};\n      color: ${b};\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n    }\n\n    .abconvert-offer-tier-row {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: ${M};\n      padding: ${M} ${z};\n      font-size: ${G};\n      color: ${f};\n    }\n\n    .abconvert-offer-tier-row + .abconvert-offer-tier-row {\n      border-top: 1px solid ${E};\n    }\n\n    .abconvert-offer-tier-qty {\n      color: ${f};\n    }\n\n    .abconvert-offer-tier-discount {\n      color: ${f};\n      font-weight: ${B};\n      font-variant-numeric: tabular-nums;\n    }\n\n    /* Checkout Test Panel — Delivery / Payment / Content / Cart / Upsell.\n       Categories mirror the editor picker; rows share a single icon-slot +\n       type/op + summary template so the panel scans top-to-bottom. */\n    .abconvert-checkout-panel {\n      display: flex;\n      flex-direction: column;\n      gap: ${z};\n    }\n\n    /* Combined test panel (PRO-2273): one collapsible per stacked modification,\n       whose body is that type's own preview panel. Header = type + short summary. */\n    .abconvert-combined-mod {\n      display: flex;\n      flex-direction: column;\n      border: 1px solid ${E};\n      border-radius: ${W};\n      overflow: hidden;\n      margin-bottom: ${M};\n    }\n\n    .abconvert-combined-mod-head {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      width: 100%;\n      padding: ${R} ${M};\n      background: ${i};\n      border: none;\n      font-family: ${D};\n      color: ${f};\n      cursor: pointer;\n      text-align: left;\n      transition: background-color ${X} ${J};\n    }\n\n    .abconvert-combined-mod-head:hover {\n      background-color: ${a};\n    }\n\n    .abconvert-combined-mod-label {\n      font-size: ${N};\n      font-weight: ${O};\n      color: ${f};\n    }\n\n    .abconvert-combined-mod-meta {\n      display: inline-flex;\n      align-items: center;\n      gap: ${R};\n    }\n\n    .abconvert-combined-mod-summary {\n      font-size: 10px;\n      font-weight: ${B};\n      color: ${b};\n    }\n\n    .abconvert-combined-mod-arrow {\n      color: ${S};\n      transition: transform ${Y} ${Q};\n      display: inline-flex;\n      align-items: center;\n    }\n\n    .abconvert-combined-mod-arrow.expanded {\n      transform: rotate(180deg);\n    }\n\n    .abconvert-combined-mod-content {\n      max-height: 0;\n      overflow: hidden;\n      padding: 0 ${M};\n    }\n\n    .abconvert-combined-mod-content.expanded {\n      padding: ${M};\n    }
715\n\n    .abconvert-combined-mod-empty {\n      font-size: ${N};\n      color: ${b};\n      text-align: center;\n    }\n\n    .abconvert-checkout-section {\n      display: flex;\n      flex-direction: column;\n      gap: ${M};\n    }\n\n    .abconvert-checkout-section-head {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      width: 100%;\n      padding: ${A} ${R};\n      margin: 0 -${R};\n      background: none;\n      border: none;\n      border-radius: ${q};\n      font-family: ${D};\n      color: ${f};\n      cursor: pointer;\n      text-align: left;\n      transition: background-color ${X} ${J};\n    }\n\n    .abconvert-checkout-section-head:hover {\n      background-color: ${a};\n    }\n\n    .abconvert-checkout-section-head:hover .abconvert-checkout-section-label,\n    .abconvert-checkout-section-head:focus-visible .abconvert-checkout-section-label {\n      color: ${f};\n    }\n\n    .abconvert-checkout-section-head:focus-visible {\n      outline: none;\n      background-color: ${a};\n    }\n\n    .abconvert-checkout-section-label {\n      font-size: ${N};\n      font-weight: ${O};\n      color: ${b};\n      text-transform: uppercase;\n      letter-spacing: 0.06em;\n    }\n\n    .abconvert-checkout-section-meta {\n      display: inline-flex;\n      align-items: center;\n      gap: ${R};\n    }\n\n    .abconvert-checkout-section-count {\n      font-size: ${N};\n      font-weight: ${B};\n      color: ${b};\n    }\n\n    .abconvert-checkout-section-arrow {\n      color: ${S};\n      transition: transform ${Y} ${Q};\n      display: inline-flex;\n      align-items: center;\n    }\n\n    .abconvert-checkout-section-arrow.expanded {\n      transform: rotate(180deg);\n    }\n\n    .abconvert-checkout-section-arrow svg {\n      display: block;\n    }\n\n    .abconvert-checkout-section-rows {\n      display: none;\n      flex-direction: column;\n      gap: ${A};\n      margin-top: ${M};\n    }\n\n    .abconvert-checkout-section-rows.expanded {\n      display: flex;\n    }\n\n    .abconvert-checkout-row {\n      display: flex;\n      align-items: flex-start;\n      gap: ${M};\n      padding: ${M};\n      background: ${i};\n      border: 1px solid ${E};\n      border-radius: ${W};\n    }\n\n    .abconvert-checkout-icon {\n      flex-shrink: 0;\n      width: 28px;\n      height: 28px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      background: ${o};\n      border: 1px solid ${k};\n      border-radius: ${H};\n      color: ${f};\n    }\n\n    .abconvert-checkout-icon-hide {\n      background: ${d};\n      border-color: ${s};\n      color: ${h};\n    }\n\n    .abconvert-checkout-icon-rename {\n      background: ${u};\n      border-color: ${l};\n      color: ${w};\n    }\n\n    .abconvert-checkout-body {\n      display: flex;\n      flex-direction: column;\n      gap: ${A};\n      flex: 1;\n      min-width: 0;\n    }\n\n    .abconvert-checkout-row-head {\n      display: flex;\n      align-items: center;\n      gap: ${R};\n      flex-wrap: wrap;\n    }\n\n    .abconvert-checkout-type {\n      font-size: 10px;\n      font-weight: ${O};\n      color: ${b};\n      text-transform: uppercase;\n      letter-spacing: 0.04em;\n    }\n\n    .abconvert-checkout-type-hide {\n      color: ${h};\n    }\n\n    .abconvert-checkout-type-rename {\n      color: ${w};\n    }\n\n    .abconvert-checkout-meta {\n      font-size: 10px;\n      font-weight: ${B};\n      color: ${b};\n      padding: 1px ${R};\n      background: ${o};\n      border: 1px solid ${E};\n      border-radius: 2px;\n    }\n\n    .abconvert-checkout-meta-success {\n      color: ${m};\n      background: ${c};\n      border-color: #a0e4cb;\n    }\n\n    .abconvert-checkout-meta-critical {\n      color: ${h};\n      background: ${d};\n      border-color: ${s};\n    }\n\n    .abconvert-checkout-meta-warning {\n      color: ${x};\n      background: ${p};\n      border-color: #ffe291;\n    }\n\n    .abconvert-checkout-meta-info {\n      color: ${w};\n      background: ${u};\n      border-color: ${l};\n    }\n\n    .abconvert-checkout-row-text {\n      font-size: ${G};\n      font-weight: ${B};\n      color: ${f};\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .abconvert-checkout-row-text-inline {\n      font-size: ${G};\n      font-weight: ${B};\n      color: ${f};\n    }\n\n    .abconvert-checkout-chip-row {\n      display: flex;\n      flex-wrap: wrap;\n      gap: ${A};\n      align-items: center;\n    }\n\n    .abconvert-checkout-method-chip {\n      display: inline-flex;\n      align-items: center;\n      gap: ${A};\n      font-size: ${N};\n      font-weight: ${B};\n      color: ${f};\n      padding: ${T} ${R};\n      background: ${o};\n      border: 1px solid ${k};\n      border-radius: ${q};\n    }\n\n    .abconvert-checkout-method-chip-strong {\n      font-weight: ${O};\n    }\n\n    .abconvert-checkout-pin-idx {\n      font-size: 9px;\n      font-weight: 700;\n      color: ${b};\n    }\n\n    .abconvert-checkout-rename-list {\n      display: flex;\n      flex-direction: column;\n      gap: ${A};\n    }\n\n    .abconvert-checkout-rename-rule {\n      display: flex;\n      align-items: center;\n      gap: ${R};\n      flex-wrap: wrap;\n    }\n\n    .abconvert-checkout-rename-arrow {\n      color: ${b};\n      display: inline-flex;\n      align-items: center;\n    }\n\n    .abconvert-checkout-flag {\n      display: inline-flex;\n      align-items: center;\n      gap: ${A};\n      font-size: ${N};\n      font-weight: ${B};\n      padding: ${T} ${R};\n      border-radius: ${q};\n    }\n\n    .abconvert-checkout-flag-on {\n      color: ${m};\n      background: ${c};\n    }\n\n    .abconvert-checkout-flag-off {\n      color: ${g};\n      background: ${r};\n      text-decoration: line-through;\n    }
715\n\n    .abconvert-checkout-empty {\n      font-size: ${G};\n      color: ${b};\n      padding: ${z};\n      text-align: center;\n    }\n\n    /* Collapsible Section - Polaris Collapsible pattern */\n    .abconvert-collapsible-header {\n      width: 100%;\n      background: none;\n      border: none;\n      padding: ${M} 0;\n      text-align: left;\n      cursor: pointer;\n      font-weight: ${B};\n      font-size: ${U};\n      font-family: ${D};\n      color: ${f};\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      transition: color ${nn} ${en};\n    }\n\n    .abconvert-collapsible-header:hover {\n      color: ${$};\n    }\n\n    .abconvert-collapsible-header:focus-visible {\n      outline: none;\n      color: ${$};\n    }\n\n    .abconvert-collapsible-arrow {\n      color: ${S};\n      transition: transform ${Y} ${Q};\n      display: flex;\n      align-items: center;\n    }\n\n    .abconvert-collapsible-arrow svg {\n      width: 16px;\n      height: 16px;\n    }\n\n    .abconvert-collapsible-arrow.expanded {\n      transform: rotate(180deg);\n    }\n\n    .abconvert-collapsible-content {\n      max-height: 0;\n      overflow: hidden;\n      transition: max-height 300ms ${Q};\n    }\n\n    .abconvert-collapsible-content.expanded {\n      max-height: 2000px;\n    }\n\n    /* Product List - Polaris ResourceItem pattern */\n    .abconvert-product-list {\n      max-height: 200px;\n      overflow-y: auto;\n      scrollbar-width: thin;\n      scrollbar-color: ${k} transparent;\n    }\n\n    .abconvert-product-list::-webkit-scrollbar {\n      width: 4px;\n    }\n\n    .abconvert-product-list::-webkit-scrollbar-thumb {\n      background: ${k};\n      border-radius: ${Z};\n    }\n\n    .abconvert-product-item {\n      display: flex;\n      align-items: center;\n      gap: ${z};\n      padding: ${M} ${z};\n      margin: ${T} 0;\n      border-radius: ${q};\n      text-decoration: none;\n      color: ${f};\n      transition: background ${nn} ${en};\n    }\n\n    .abconvert-product-item:hover {\n      background: ${a};\n    }\n\n    .abconvert-product-item:focus-visible {\n      outline: none;\n      box-shadow: ${K};\n    }\n\n    .abconvert-product-image {\n      width: 40px;\n      height: 40px;\n      border-radius: ${q};\n      object-fit: cover;\n      border: 1px solid ${E};\n      background: ${r};\n      flex-shrink: 0;\n    }\n\n    .abconvert-product-info {\n      flex: 1;\n      min-width: 0;\n    }\n\n    .abconvert-product-title {\n      font-size: ${U};\n      font-weight: ${B};\n      color: ${f};\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .abconvert-product-price {\n      font-size: ${G};\n      color: ${b};\n      margin-top: ${T};\n      font-variant-numeric: tabular-nums;\n    }\n\n    .abconvert-product-price s {\n      color: ${g};\n      margin-right: ${A};\n    }\n\n    .abconvert-product-price .current-price {\n      color: ${m};\n      font-weight: ${B};\n    }\n\n    .abconvert-product-variants {\n      font-size: ${N};\n      color: ${b};\n      margin-top: ${T};\n    }\n\n    .abconvert-product-arrow {\n      color: ${S};\n      flex-shrink: 0;\n      display: flex;\n      align-items: center;\n    }\n\n    .abconvert-product-arrow svg {\n      width: 16px;\n      height: 16px;\n    }\n\n    /* Shipping Test Panel */\n    .abconvert-shipping-groups {\n      display: flex;\n      flex-direction: column;\n      gap: ${M};\n    }\n\n    .abconvert-shipping-group-card {\n      border: 1px solid ${E};\n      border-radius: ${W};\n      background: ${o};\n      overflow: hidden;\n    }\n\n    .abconvert-shipping-group-card.active {\n      border-color: ${E};\n    }\n\n    .abconvert-shipping-group-header {\n      padding: ${M} ${z};\n      font-weight: ${B};\n      font-size: ${G};\n      background: ${i};\n      border-bottom: 1px solid ${E};\n    }\n\n    .abconvert-shipping-zone {\n      padding: ${M} ${z};\n    }\n\n    .abconvert-shipping-zone + .abconvert-shipping-zone {\n      margin-top: ${M};\n    }\n\n    .abconvert-shipping-zone-name {\n      font-size: ${G};\n      font-weight: ${O};\n      color: ${f};\n      margin-bottom: ${A};\n      padding-bottom: ${A};\n      border-bottom: 1px solid ${E};\n    }\n\n    .abconvert-shipping-rate-row {\n      display: flex;\n      align-items: baseline;\n      gap: ${A};\n      font-size: ${G};\n      padding: ${T} 0;\n      flex-wrap: wrap;\n    }\n\n    .abconvert-shipping-rate-name {\n      flex: 1;\n      min-width: 0;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      color: ${f};\n    }\n\n    .abconvert-shipping-rate-price {\n      flex-shrink: 0;\n      font-weight: ${B};\n      font-variant-numeric: tabular-nums;\n      color: ${f};\n    }\n\n    .abconvert-shipping-rate-condition {\n      width: 100%;\n      font-size: ${N};\n      color: ${b};\n      padding-left: ${M};\n    }\n\n    .abconvert-shipping-no-rates {\n      padding: ${M} ${z};\n      font-size: ${G};\n      color: ${b};\n      font-style: italic;\n    }\n\n    /* Visual Editor Tabs */\n    .abconvert-ve-tabs {\n      display: flex;\n      border-bottom: 1px solid ${E};\n      margin-bottom: ${z};\n      gap: 0;\n    }\n\n    .abconvert-ve-tab {\n      flex: 1;\n      background: none;\n      border: none;\n      border-bottom: 2px solid transparent;\n      padding: ${M} ${z};\n      font-size: ${G};\n      font-weight: ${B};\n      font-family: ${D};\n      color: ${b};\n      cursor: pointer;\n      transition: color ${nn} ${en},\n                  border-color ${nn} ${en};\n      text-align: center;\n    }\n\n    .abconvert-ve-tab:hover:not(:disabled) {\n      color: ${f};\n    }\n\n    .abconvert-ve-tab.active {\n      color: ${f};\n      border-bottom-color: ${P};\n    }\n\n    .abconvert-ve-tab:disabled {\n      color: ${g};
715\n      cursor: not-allowed;\n    }\n\n    .abconvert-ve-code-block {\n      margin-bottom: ${A};\n    }\n\n    .abconvert-ve-code-toggle {\n      display: flex;\n      align-items: center;\n      gap: ${A};\n      background: none;\n      border: none;\n      padding: ${A} 0;\n      cursor: pointer;\n      font-family: ${D};\n      font-size: ${N};\n      color: ${b};\n    }\n\n    .abconvert-ve-code-toggle:hover {\n      color: ${f};\n    }\n\n    .abconvert-ve-code-chevron {\n      display: flex;\n      align-items: center;\n      transition: transform ${Y} ${Q};\n    }\n\n    .abconvert-ve-code-chevron.expanded {\n      transform: rotate(180deg);\n    }\n\n    .abconvert-ve-code-content {\n      max-height: 0;\n      overflow: hidden;\n      transition: max-height ${Y} ${Q};\n    }\n\n    .abconvert-ve-code-content.expanded {\n      max-height: 400px;\n      overflow-y: auto;\n    }\n\n    .abconvert-ve-code-pre {\n      font-family: ${_};\n      font-size: ${N};\n      line-height: ${V};\n      background: ${r};\n      border: 1px solid ${E};\n      border-radius: ${q};\n      padding: ${M};\n      margin: 0;\n      white-space: pre-wrap;\n      word-break: break-word;\n      color: ${f};\n    }\n\n    .abconvert-ve-code-hint {\n      font-size: ${N};\n      color: ${b};\n      margin-bottom: ${M};\n    }\n\n    .abconvert-ve-empty {\n      font-size: ${G};\n      color: ${b};\n      padding: ${M} 0;\n      text-align: center;\n    }\n\n    /* Page List - Visual Editor panel */\n    .abconvert-page-list {\n      max-height: 200px;\n      overflow-y: auto;\n      scrollbar-width: thin;\n      scrollbar-color: ${k} transparent;\n    }\n\n    .abconvert-page-list::-webkit-scrollbar {\n      width: 4px;\n    }\n\n    .abconvert-page-list::-webkit-scrollbar-thumb {\n      background: ${k};\n      border-radius: ${Z};\n    }\n\n    .abconvert-page-item {\n      display: flex;\n      align-items: center;\n      gap: ${z};\n      padding: ${M} ${z};\n      margin: ${T} 0;\n      border-radius: ${q};\n      text-decoration: none;\n      color: ${f};\n      transition: background ${nn} ${en};\n    }\n\n    .abconvert-page-item:hover {\n      background: ${a};\n    }\n\n    .abconvert-page-item:focus-visible {\n      outline: none;\n      box-shadow: ${K};\n    }\n\n    .abconvert-page-item.active {\n      background: ${u};\n    }\n\n    .abconvert-page-icon {\n      flex-shrink: 0;\n      color: ${S};\n      display: flex;\n      align-items: center;\n    }\n\n    .abconvert-page-info {\n      flex: 1;\n      min-width: 0;\n    }\n\n    .abconvert-page-path {\n      font-size: ${U};\n      font-weight: ${B};\n      color: ${f};\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      font-family: ${_};\n    }\n\n    .abconvert-page-changes {\n      font-size: ${N};\n      color: ${b};\n      margin-top: ${T};\n    }\n\n    /* Debug Panel */\n    .abconvert-debug-section {\n      border-top: 1px solid ${E};\n      margin-top: ${z};\n      padding-top: ${z};\n    }\n\n    .abconvert-debug-header {\n      color: ${b};\n      font-size: ${G};\n      font-weight: ${B};\n      margin-bottom: ${M};\n    }\n\n    .abconvert-context-grid {\n      display: grid;\n      grid-template-columns: 90px 1fr;\n      gap: ${A} ${M};\n      font-size: ${G};\n    }\n\n    .abconvert-context-label {\n      color: ${b};\n    }\n\n    .abconvert-context-value {\n      font-family: ${_};\n      font-size: ${N};\n      color: ${f};\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    /* Info Banner - Polaris Banner component */\n    .abconvert-info-banner {\n      display: flex;\n      align-items: flex-start;\n      gap: ${M};\n      border-radius: ${W};\n      padding: ${z};\n      margin-bottom: ${L};\n      font-size: ${G};\n      line-height: ${V};\n      box-shadow: none;\n    }\n\n    .abconvert-info-banner .abconvert-badge {\n      flex-shrink: 0;
715\n      margin-top: 1px;\n    }\n\n    .abconvert-info-banner.highlight {\n      background: ${v};\n      border-left: 3px solid ${w};\n    }\n\n    .abconvert-info-banner.warning {\n      background: ${p};\n      border-left: 3px solid ${x};\n    }\n\n    .abconvert-info-banner.success {\n      background: ${c};\n      border-left: 3px solid ${m};\n    }\n\n    .abconvert-info-banner.critical {\n      background: ${d};\n      border-left: 3px solid ${h};\n    }\n\n    /* Override Controls */\n    .abconvert-override-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: ${M};\n    }\n\n    .abconvert-override-select {\n      padding: ${R} ${M};\n      padding-right: 28px;\n      border: 1px solid ${k};\n      border-radius: ${q};\n      font-size: ${G};\n      font-family: ${D};\n      background-color: ${o};\n      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 20 20' fill='%23616161'%3E%3Cpath d='M10 14l-5-5h10l-5 5z'/%3E%3C/svg%3E");\n      background-repeat: no-repeat;\n      background-position: right 8px center;\n      appearance: none;\n      cursor: pointer;\n    }\n\n    .abconvert-override-select:focus {\n      outline: none;\n      border-color: ${I};\n      box-shadow: 0 0 0 1px ${I};\n    }\n\n    .abconvert-button-group {\n      display: flex;\n      gap: ${M};\n      margin-top: ${L};\n    }\n\n    .abconvert-button-group .abconvert-btn {\n      flex: 1;\n    }\n\n    /* Result Box */\n    .abconvert-result-box {\n      display: none;\n      margin-top: ${L};\n      padding: ${z};\n      border-radius: ${W};\n      font-size: ${G};\n      line-height: ${V};\n    }\n\n    .abconvert-result-box.visible {\n      display: block;\n    }\n\n    .abconvert-result-box.success {\n      background: ${c};\n      color: ${m};\n    }\n\n    .abconvert-result-box.error {\n      background: ${d};\n      color: ${h};\n    }\n\n    .abconvert-result-box.info {\n      background: ${v};\n      color: ${w};\n    }\n\n    .abconvert-result-box.warning {\n      background: ${p};\n      color: ${x};\n    }\n\n    /* Status indicators */\n    .abconvert-status-icon {\n      font-weight: ${O};\n      font-size: ${j};\n    }\n\n    .abconvert-status-icon.pass {\n      color: ${m};\n    }\n\n    .abconvert-status-icon.fail {\n      color: ${h};\n    }\n\n    /* Section headers - Polaris Text subdued pattern */\n    .abconvert-section-header {\n      font-weight: ${B};\n      font-size: ${N};\n      color: ${b};\n      margin-bottom: ${M};\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n    }\n\n    /* Experiment info */\n    .abconvert-experiment-info {\n      margin-bottom: ${L};\n    }\n\n    .abconvert-experiment-name {\n      font-weight: ${O};\n      font-size: ${j};\n      margin-bottom: ${A};\n      color: ${f};\n    }\n\n    .abconvert-experiment-meta {\n      display: flex;\n      align-items: center;\n      gap: ${M};\n      margin-bottom: ${M};\n      flex-wrap: wrap;\n    }\n\n    .abconvert-experiment-id {\n      font-size: ${G};\n      color: ${b};\n      font-family: ${_};\n    }\n\n    /* Divider */\n    .abconvert-divider {\n      height: 1px;\n      background: ${E};\n      margin: ${L} 0;\n    }\n\n    /* Empty state */\n    .abconvert-empty-state {\n      text-align: center;\n      padding: 24px ${L};\n      color: ${b};\n    }\n\n    .abconvert-empty-state-text {\n      font-size: ${G};\n    }\n\n    /* Loading state */\n    .abconvert-loading {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding: ${L};\n    }\n\n    .abconvert-spinner {\n      width: 20px;\n      height: 20px;\n      border: 2px solid ${E};\n      border-top-color: ${P};\n      border-radius: 50%;\n      animation: abconvert-spin 0.8s linear infinite;\n    }\n\n    @keyframes abconvert-spin {\n      to {\n        transform: rotate(360deg);\n      }\n    }\n\n    /* Tooltip */\n    .abconvert-tooltip {\n      position: absolute;\n      background: ${f};\n      color: ${y};\n      padding: ${A} ${M};\n      border-radius: ${q};\n      font-size: ${N};\n      white-space: nowrap;\n      z-index: 1000;\n      pointer-events: none;\n      opacity: 0;\n      transition: opacity ${nn} ${en};\n    }\n\n    .abconvert-tooltip.visible {\n      opacity: 1;\n    }\n\n    /* Accessibility: Reduce motion */\n    @media (prefers-reduced-motion: reduce) {\n      .abconvert-widget *,\n      .abconvert-widget *::before,\n      .abconvert-widget *::after {\n        animation-duration: 0.01ms !important;\n        animation-iteration-count: 1 !important;\n        transition-duration: 0.01ms !important;\n      }\n    }\n  `,e=document.createElement("style");e.id=tn,e.textContent=n,document.head.appendChild(e)}();const hn=function(n){const e=function(n){let{totalExperiments:e}=n;return`\n    <div id="abconvert-widget-header" class="abconvert-widget-header">\n      \n    <svg class="abconvert-drag-handle" width="12" height="16" viewB
715ox="0 0 12 16" fill="none">\n      <circle cx="3" cy="3" r="1.5" fill="currentColor"/>\n      <circle cx="9" cy="3" r="1.5" fill="currentColor"/>\n      <circle cx="3" cy="8" r="1.5" fill="currentColor"/>\n      <circle cx="9" cy="8" r="1.5" fill="currentColor"/>\n      <circle cx="3" cy="13" r="1.5" fill="currentColor"/>\n      <circle cx="9" cy="13" r="1.5" fill="currentColor"/>\n    </svg>\n  \n      <div class="abconvert-widget-title">\n        <div class="abconvert-widget-title-text">ABConvert Preview</div>\n        <div class="abconvert-widget-subtitle">${1===e?"1 Preview Test in this theme":`${e} Preview Tests in this theme`}</div>\n      </div>\n      <button id="abconvert-widget-close" class="abconvert-close-btn" title="Close">\n        &times;\n      </button>\n    </div>\n  `}({totalExperiments:Object.keys(n.experiments).length}),t=bn(n);return`\n    <div id="${vn}" class="abconvert-widget">\n      ${e}\n      <div class="abconvert-widget-content">\n        ${t}\n      </div>\n    </div>\n  `}(fn);try{document.body.insertAdjacentHTML("beforeend",hn)}catch(n){return void console.error("[ABConvert] Failed to insert widget:",n)}const $n=document.getElementById(vn);$n&&($n.dataset.experimentId=an,function(n,e){const t=n.querySelector("#abconvert-widget-header");t&&function(n,e){let t,o,r,i,a=!1;e.addEventListener("mousedown",(c=>{r=c.clientX,i=c.clientY;const s=n.getBoundingClientRect();t=s.left,o=s.top,n.style.right="auto",n.style.left=t+"px",n.style.top=o+"px",n.style.transform="none",a=!0,e.classList.add("dragging")})),document.addEventListener("mousemove",(e=>{if(!a)return;e.preventDefault();const c=e.clientX-r,s=e.clientY-i,d=t+c,l=o+s,u=window.innerWidth-n.offsetWidth,p=window.innerHeight-n.offsetHeight,v=Math.max(0,Math.min(d,u)),f=Math.max(0,Math.min(l,p));n.style.left=v+"px",n.style.top=f+"px"})),document.addEventListener("mouseup",(()=>{a&&(a=!1,e.classList.remove("dragging"))}))}(n,t),function(n){const e=n.querySelector("#abconvert-widget-close");e&&e.addEventListener("click",(()=>{n.style.display="none"}))}(n),mn(n,e)}($n,fn))}function bn(n){const{testType:e,experiments:t,experimentId:o,experimentData:r,currentGroupIndex:i,isV5:a,debugInfo:c,debugApi:s}=n,d=r.groups||[],l=(0,on.uH)(),u=function(n){let{experiments:e,currentExperimentId:t}=n;const o=Object.keys(e);return o.length<=1?"":`\n    <div class="abconvert-section">\n      <label class="abconvert-section-label">Select Experiment</label>\n      <select id="abconvert-experiment-selector" class="abconvert-select">\n        ${o.map((n=>{const o=e[n],r=o.experimentId||n,i=o.name||"Untitled Experiment";return`<option value="${n}" ${n===t?"selected":""}>${i} (#${r})</option>`})).join("")}\n      </select>\n    </div>\n  `}({experiments:t,currentExperimentId:o}),p=function(n){let{name:e,experimentId:t,status:o}=n;return`\n    <div class="abconvert-experiment-info">\n      <div class="abconvert-experiment-name">${e||"Price Test Preview"}</div>\n      <div class="abconvert-experiment-meta">\n        <span class="abconvert-experiment-id">#${t||"—"}</span>\n        <span class="abconvert-badge abconvert-badge-success">\n          <span class="abconvert-badge-dot"></span>\n          ${o||"Preview"} Mode\n        </span>\n      </div>\n    </div>\n  `}({name:r.name,experimentId:r.experimentId||o,status:r.status||"Preview"}),v=function(n){let{groups:e,currentGroupIndex:t}=n;const o=e.map(((n,e)=>{const o=n.name||`Group ${e+1}`,r=n.percentage||0;return`\n      <button\n        class="abconvert-group-item ${e===t?"active":""}"\n        data-group-index="${e}"\n        type="button"\n      >\n        <span class="name">${o}</span>\n        <span class="percentage">${r}%</span>\n      </button>\n    `})).join("");return`\n    <div class="abconvert-section">\n      <div class="abconvert-section-label">Test Groups (${e.length})</div>\n      <div class="abconvert-card">\n        <div class="abconvert-group-list">\n          ${o}\n        </div>\n      </div>\n    </div>\n  `}({groups:d,currentGroupIndex:i}),f=(0,un.H5)(e,n,l),b=function(n){let{debugInfo:e,debugApi:t,testGroups:o,isV5:r,expanded:i=!1}=n;if(!r||!e||e.error)return"";const a=function(n,e,t){const o=n.visitorContext||{},r=n.currentContext||o,i=n.hasStoredContext,a=i?'<div class="abconvert-info-banner highlight">
715\n        <span class="abconvert-badge abconvert-badge-info">STORED</span>\n        <span>Using Stored Context - This experiment captured context when you first saw it. Context is locked for consistent targeting.</span>\n       </div>':'<div class="abconvert-info-banner warning">\n        <span class="abconvert-badge abconvert-badge-warning">NEW</span>\n        <span>No Stored Context - First time seeing this experiment. Current session context will be captured on first evaluation.</span>\n       </div>',c=`\n    <div style="margin-bottom: 12px;">\n      <div class="abconvert-section-header">\n        ${i?"Experiment Context (Stored)":"Session Context (Current)"}\n      </div>\n      <div class="abconvert-card" style="${i?"border-color: #005fcc;":""}">\n        ${dn(o)}\n      </div>\n    </div>\n  `,s=i?`\n    <div style="margin-bottom: 12px;">\n      <div class="abconvert-section-header" style="color: #616161;">\n        Current Session (Not Used)\n      </div>\n      <div class="abconvert-card" style="opacity: 0.7;">\n        ${dn(r)}\n      </div>\n    </div>\n  `:"",d=n.trafficAllocation||{},l=`\n    <div style="margin-bottom: 12px;">\n      <div class="abconvert-section-header">Traffic Allocation</div>\n      <div class="abconvert-card" style="font-size: 11px;">\n        <div style="display: flex; align-items: center; gap: 8px;">\n          <span class="abconvert-status-icon ${sn(d.inTest)}">\n            ${cn(d.inTest)}\n          </span>\n          <span>${d.percent??"?"}% of traffic enters test</span>\n          <span style="color: #6d7175;">(${d.inTest?"included":"excluded"})</span>\n        </div>\n      </div>\n    </div>\n  `;let u="";return null!==n.storedGroupIndex&&(u=`\n      <div class="abconvert-info-banner highlight" style="margin-top: 8px;">\n        <div style="font-weight: 500; color: #005bd3;">\n          Stored Assignment: ${t[n.storedGroupIndex]?.name||`Group ${n.storedGroupIndex}`} (index ${n.storedGroupIndex})\n        </div>\n      </div>\n    `),`\n    <div style="padding: 8px 0 16px 0;">\n      ${a}\n      ${c}\n      ${s}\n      ${l}\n      ${function(n,e,t){if(!(n.audienceTargeting?.config?.enabled&&n.audienceTargeting?.config?.groups?.length>0))return"";const o=n.audienceTargeting.config.groups.map((n=>(n.filters||[]).map((o=>{let r=!0;try{r=e.checkAudienceTargeting({enabled:!0,groups:[{id:n.id,filters:[o]}]},t)}catch(n){r=!1}const i=cn(r),a=sn(r),c=Array.isArray(o.value)?o.value.join(", "):o.value;return`\n        <div style="display: flex; align-items: center; gap: 6px; padding: 4px 0;">\n          <span class="abconvert-status-icon ${a}">${i}</span>\n          <span style="font-size: 11px;">${o.type}: ${o.operator} "${c}"</span>\n        </div>\n      `})).join(""))).join("");return`\n    <div style="margin-bottom: 12px;">\n      <div class="abconvert-section-header">\n        Audience Targeting\n        <span class="abconvert-status-icon ${sn(n.audienceTargeting.passes)}" style="margin-left: 4px;">\n          (${n.audienceTargeting.passes?"PASSES":"FAILS"})\n        </span>\n      </div>\n      <div class="abconvert-card" style="font-size: 11px;">\n        ${o||'<span style="color: #6d7175;">No filters configured</span>'}\n      </div>\n    </div>\n  `}(n,e,o)}\n      ${function(n){if(!(n.forceAssignRules?.config?.length>0))return"";const e=n.forceAssignRules.config.map((e=>{const t=n.forceAssignRules.result?.id===e.id;return`\n      <div style="display: flex; align-items: center; gap: 6px; padding: 4px 0; ${t?"background: #e3f1df; border-radius: 4px; padding: 4px 8px;":""}">\n        <span style="color: ${t?"#005bd3":"#6d7175"}; font-weight: bold;">${t?"→":"○"}</span>\n        <span style="font-size: 11px;">${e.filters.map((n=>`${n.type}=${Array.isArray(n.value)?n.value.join(","):n.value}`)).join(" & ")} → ${"assign_group"===e.action?`Group ${e.groupIndex}`:e.action}</span>\n      </div>\n    `})).join("");return`\n    <div style="margin-bottom: 12px;">\n      <div class="abconvert-section-header">\n        Force Assign Rules\n        ${n.forceAssignRules.result?'<span style="color: #005bd3; margin-left: 4px;">(Rule Matched!)</span>':""}\n      </div>\n      <div class="abconvert-card" style="font-size: 11px;">\n        ${e}\n      </div>\n    </div>\n  `}(n)}\n      ${u}\n      \n    <div style="margin-bottom: 12px; margin-top: 12px;">\n      <div class="abconvert-section-header">Override Context</div>\n      <div class="abconvert-override-grid">\n        <select id="abconvert-override-country" class="abconvert-override-select">\n          <option value="">Country: Auto</option>\n          <option value="US">United States</option>\n          <option value="CA">Canada</option>\n          <option value="GB">United Kingdom</option>\n          <option value="DE">Germany</option>\n          <option value="FR">France</option>\n          <option value="AU">Australia</option>\n        </select>\n        <select id="abconvert-override-device" class="abconvert-override-select">\n          <option value="">Device: Auto</option>\n          <option value="desktop">Desktop</option>\n          <option value="mobile">Mobile</option>\n        </select>\n        <select id="abconvert-override-source" class="abconvert-override-select">\n          <option value="">Source: Auto</option>\n          <option value="direct">Direct</option>\n          <option value="google">Google</option>\n          <option value="facebook">Facebook</option>\n          <option value="instagram">Instagram</option>\n          <option value="paid_search">Paid Search</option>\n          <option value="paid_social">Paid Social</option>\n          <option value="email">Email</option>\n        </select>\n        <select id="abconvert-override-visitor" class="abconvert-override-select">\n          <option value="">Visitor: Auto</option>\n          <option value="new">New</option>\n          <option value="returning">Returning</option>\n        </select>\n      </div>\n    </div>\n  \n      <div class="abconvert-button-group">\n        <button id="abconvert-recalculate" class="abconvert-btn abconvert-btn-primary">Test Assignment</button>\n        <button id="abconvert-clear-stored" class="abconvert-btn abconvert-btn-secondary">Clear Stored</button>\n      </div>\n      <div style="margin-top: 8px;">\n        <button id="abconvert-clear-context" class="abconvert-btn abconvert-btn-critical" style="width: 100%;">\n          Reset All Context (New Session)\n        </button>\n      </div>\n      <div id="abconvert-assignment-result" class="abconvert-result-box"></div>\n    </div>\n  `}(e,t,o);return`\n    <div class="abconvert-debug-section">\n      ${(0,rn.q)({id:"abconvert-debug",title:"Debug Panel (V5)",icon:"🔧",content:a,expanded:i})}\n    </div>\n  `}({debugInfo:c,debugApi:s,testGroups:d,isV5:a,expanded:l.has("abconvert-debug")});return`\n    ${u}\n    ${p}\n    ${v}\n    ${f}\n    ${b}\n  `}function gn(n,e){const t=n[e],o=t.testType;let r=(0,on.DZ)(e);const i=null!==r?r:0;null===r&&((0,on.gp)(e,0),window.location.reload());const a=window.abconvertDebug,c="v5"===t.version;let s=null;if(a&&c)try{s=a.getDebugInfo(e)}catch(n){console.warn("[ABConvert] Failed to get debug info:",n)}return{testType:o,experiments:n,experimentId:e,experimentData:t,currentGroupIndex:i,isV5:c,debugInfo:s,debugApi:a,...(0,un.WU)(o,t)}}function mn(n,e){const{testType:t,experiments:o,experimentId:r,experimentData:i,isV5:a,debugInfo:c,debugApi:s}=e,d=i.groups||[],l=(n,e)=>{const t=(0,on.uH)();e?t.add(n):t.delete(n),(0,on.K7)(t)};!function(n,e){const t=n.querySelector("#abconvert-experiment-selector");t&&t.addEventListener("change",(function(){const n=this.value;e&&e(n)}))}(n,(e=>{!function(n,e,t){(0,on.xX)(t),n.dataset.experimentId=t;const o=gn(e,t),r=n.querySelector(".abconvert-widget-content");r&&(r.innerHTML=bn(o),mn(n,o))}(n,o,e)})),function(n,e,t){n.querySelectorAll(".abconvert-group-item").forEach((n=>{n.addEventListener("click",(function(){const n=this.dataset.groupIndex;t&&t(n,e)}))}))}(n,r,((n,e)=>{(0,on.gp)(e,parseInt(n,10)),(0,un.Mq)(t,i,parseInt(n,10))||window.location.reload()})),(0,un.uh)(t,n,e,l),a&&c&&!c.error&&function(n,e,t,o,r,i){(0,rn.s)(n,"abconvert-debug","2000px",i);const a=n.querySelector("#abconvert-clear-stored");a&&o&&a.addEventListener("click",(()=>{o.clearStoredAssignment(String(t)),ln(n,"warning","Stored Assignment Cleared","Next visit will recalculate group assignment based on current context and rules.")}));const c=n.querySelector("#abconvert-clear-context");c&&o&&c.addEventListener("click",(()=>{o.clearStoredContext(),o.clearStoredAssignment(String(t)),ln(n,"error","All Context Reset","Traffic source, referral domain, landing page, visitor type, and visitor ID have been cleared.<br><br><strong>Reload the page</strong> to simulate a fresh visitor session.")}));const s=n.querySelector("#abconvert-recalculate");s&&o&&s.addEventListener("click",(()=>{!function(n,e,t,o,r){const i=n.querySelector("#abconvert-override-country")?.value,a=n.querySelector("#abconvert-override-device")?.value,c=n.querySelector("#abconvert-override-source")?.value,s=n.querySelector("#abconvert-override-visitor")?.value,d=o.getVisitorContext(e?.startTime),l={...d,country:i||d.country,device:a||d.device,trafficSource:c||d.trafficSource,visitorType:s||d.visitorType};o.clearStoredAssignment(String(t));const u=e?.groups?.map((n=>n.percentage))||[50,50],p=o.getVisitorId(),v=o.checkTrafficAllocation(p,String(t),e.trafficAllocationPercent??100),f=o.checkAudienceTargeting(e.audienceTargeting,l),b=o.evaluateForceAssignRules(e.forceAssignRules,l);if(v)if(f)if(b&&"exclude"===b.action)ln(n,"error","❌ Excluded by Force Rule",`Matched rule: ${b.id||"unknown"}`);else if(b&&"assign_group"===b.action)ln(n,"info",`→ Force Assigned to: ${r[b.groupIndex]?.name||`Group ${b.groupIndex}`}`,`Matched rule assigns to group index ${b.groupIndex}`);else{const i=o.getGroupAssignment({experimentId:String(t),trafficAllocationPercent:e.trafficAllocationPercent??100,audienceTargeting:e.audienceTargeting??null,forceAssignRules:e.forceAssignRules??null,percentages:u,experimentStartTime:e.startTime??null});ln(n,"success",`✓ Assigned to: ${r[i.groupIndex]?.name||`Group ${i.groupIndex}`}`,`Reason: ${i.reason}<br>Context used: ${l.country||"(auto)"}, ${l.device||"(auto)"}, ${l.trafficSource||"(auto)"}`)}else ln(n,"error","❌ Excluded from Test","Reason: Does not match audience targeting criteria");else ln(n,"error","❌ Excluded from Test",`Reason: Traffic allocation (visitor hash outside ${e.trafficAllocationPercent??100}% threshold)`)}(n,e,t,o,r)}))}(n,i,r,s,d,l)}let hn=!1;const $n="__ABConvertPreviewWidgetScheduler";function xn(){window[$n]===xn?hn||(hn=!0,setTimeout((()=>{hn=!1,fn()}),0)):window.removeEventListener(pn.$F,xn)}const wn=window[$n];"function"==typeof wn&&window.removeEventListener(pn.$F,wn),window[$n]=xn,window.addEventListener(pn.$F,xn),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",xn,{once:!0}):xn()})();
716</script>
716
717<!-- BEGIN app block: shopify://apps/seo-manager-venntov/blocks/seomanager/c54c366f-d4bb-4d52-8d2f-dd61ce8e7e12 --><!-- BEGIN app snippet: SEOManager4 -->
718<meta name='seomanager' content='4.0.5' /> 
719
720
721<script>
722	function sm_htmldecode(str) {
723		var txt = document.createElement('textarea');
724		txt.innerHTML = str;
725		return txt.value;
726	}
727
728	var venntov_title = sm_htmldecode("ThePhotoStick® - Official Site");
729	var venntov_description = sm_htmldecode("ThePhotoStick®");
730	
731	if (venntov_title != '') {
732		document.title = venntov_title;	
733	}
734	else {
735		document.title = "Search";	
736	}
737
738	if (document.querySelector('meta[name="description"]') == null) {
739		var venntov_desc = document.createElement('meta');
740		venntov_desc.name = "description";
741		venntov_desc.content = venntov_description;
742		var venntov_head = document.head;
743		venntov_head.appendChild(venntov_desc);
744	} else {
745		document.querySelector('meta[name="description"]').setAttribute("content", venntov_description);
746	}
747</script>
747
748
749<script>
750	var venntov_robotVals = "noindex, nofollow, noimageindex, noarchive, nosnippet, max-image-preview:large, max-snippet:-1, max-video-preview:-1";
751	if (venntov_robotVals !== "") {
752		document.querySelectorAll("[name='robots']").forEach(e => e.remove());
753		var venntov_robotMeta = document.createElement('meta');
754		venntov_robotMeta.name = "robots";
755		venntov_robotMeta.content = venntov_robotVals;
756		var venntov_head = document.head;
757		venntov_head.appendChild(venntov_robotMeta);
758	}
759</script>
759
760
761<script>
762	var venntov_googleVals = "notranslate, nositelinkssearchbox";
763	if (venntov_googleVals !== "") {
764		document.querySelectorAll("[name='google']").forEach(e => e.remove());
765		var venntov_googleMeta = document.createElement('meta');
766		venntov_googleMeta.name = "google";
767		venntov_googleMeta.content = venntov_googleVals;
768		var venntov_head = document.head;
769		venntov_head.appendChild(venntov_googleMeta);
770	}
771	</script>
771<script>
772			if (document.querySelector('meta[name="pinterest"]') == null) {
773				var venntov_pin = document.createElement('meta');
774				venntov_pin.name = "pinterest";
775				venntov_pin.content = "nopin";
776				var venntov_head = document.head;
777				venntov_head.appendChild(venntov_pin);
778			} else {
779				document.querySelector('meta[name="pinterest"]').setAttribute("content", "nopin");
780			}
781		</script>
781<meta name="google-site-verification" content="RaT-jMZuDpOeZGv96eejWVFaPHGeE3PZsf2dE7i_V5M" />
782	<!-- JSON-LD support -->
783			
783<script type="application/ld+json">
784			{
785				"@context": "http://schema.org",
786				"@type": "Organization",
787				"name": "ThePhotoStick",
788				"url": "https://www.thephotostick.com","logo": "https://customers.seomanager.com/knowledgegraph/logo/thephotostick_myshopify_com_logo.png?cache=4563"
789						,"image": "https://customers.seomanager.com/knowledgegraph/logo/thephotostick_myshopify_com_logo.png?cache=4563","contactPoint": [],"sameAs": ["https://facebook.com/thephotostickbrand", "https://www.instagram.com/thephotostickbrand", "", "https://www.pinterest.com/ThePhotoStickOfficial", "", "", "", ""]}
790			</script>
790
791
792<!-- 524F4D20383A3331 --><!-- END app snippet -->
793
794<!-- END app block --><!-- BEGIN app block: shopify://apps/abconvert/blocks/app-embed-custom-label/5c6be9a4-14ad-4ad6-a0b5-a41137ce4ddf -->
795<!-- END app block --><!-- BEGIN app block: shopify://apps/gempages-builder/blocks/embed-gp-script-head/20b379d4-1b20-474c-a6ca-665c331919f3 -->
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810<!-- END app block --><!-- BEGIN app block: shopify://apps/okendo/blocks/theme-settings/bb689e69-ea70-4661-8fb7-ad24a2e23c29 --><!-- BEGIN app snippet: header-metafields -->
811
812
813
814
815
816
817
818
819
820
821
822
823    
824        <style data-oke-reviews-version="0.91.4" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/okendo-reviews-styles.6dbb2446.css"></style><style data-oke-reviews-version="0.91.4" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-star-rating.4cb378a8.css"></style><style data-oke-reviews-version="0.91.4" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-reviews-keywords.0942444f.css"></style><style data-oke-reviews-version="0.91.4" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-reviews-summary.a0c9d7d6.css"></style><style type="text/css">.okeReviews[data-oke-container],div.okeReviews{font-size:14px;font-size:var(--oke-text-regular);font-weight:400;font-family:var(--oke-text-fontFamily);line-height:1.6}.okeReviews[data-oke-container] *,.okeReviews[data-oke-container] :after,.okeReviews[data-oke-container] :before,div.okeReviews *,div.okeReviews :after,div.okeReviews :before{box-sizing:border-box}.okeReviews[data-oke-container] h1,.okeReviews[data-oke-container] h2,.okeReviews[data-oke-container] h3,.okeReviews[data-oke-container] h4,.okeReviews[data-oke-container] h5,.okeReviews[data-oke-container] h6,div.okeReviews h1,div.okeReviews h2,div.okeReviews h3,div.okeReviews h4,div.okeReviews h5,div.okeReviews h6{font-size:1em;font-weight:400;line-height:1.4;margin:0}.okeReviews[data-oke-container] ul,div.okeReviews ul{padding:0;margin:0}.okeReviews[data-oke-container] li,div.okeReviews li{list-style-type:none;padding:0}.okeReviews[data-oke-container] p,div.okeReviews p{line-height:1.8;margin:0 0 4px}.okeReviews[data-oke-container] p:last-child,div.okeReviews p:last-child{margin-bottom:0}.okeReviews[data-oke-container] a,div.okeReviews a{text-decoration:none;color:inherit}.okeReviews[data-oke-container] button,div.okeReviews button{border-radius:0;border:0;box-shadow:none;margin:0;width:auto;min-width:auto;padding:0;background-color:transparent;min-height:auto}.okeReviews[data-oke-container] button,.okeReviews[data-oke-container] input,.okeReviews[data-oke-container] select,.okeReviews[data-oke-container] textarea,div.okeReviews button,div.okeReviews input,div.okeReviews select,div.okeReviews textarea{font-family:inherit;font-size:1em}.okeReviews[data-oke-container] label,.okeReviews[data-oke-container] select,div.okeReviews label,div.okeReviews select{display:inline}.okeReviews[data-oke-container] select,div.okeReviews select{width:auto}.okeReviews[data-oke-container] article,.okeReviews[data-oke-container] aside,div.okeReviews article,div.okeReviews aside{margin:0}.okeReviews[data-oke-container] table,div.okeReviews table{background:transparent;border:0;border-collapse:collapse;border-spacing:0;font-family:inherit;font-size:1em;table-layout:auto}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,.okeReviews[data-oke-container] table tr,div.okeReviews table td,div.okeReviews table th,div.okeReviews table tr{border:0;font-family:inherit;font-size:1em}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,div.okeReviews table td,div.okeReviews table th{background:transparent;font-weight:400;letter-spacing:normal;padding:0;text-align:left;text-transform:none;vertical-align:middle}.okeReviews[data-oke-container] table tr:hover td,.okeReviews[data-oke-container] table tr:hover th,div.okeReviews table tr:hover td,div.okeReviews table tr:hover th{background:transparent}.okeReviews[data-oke-container] fieldset,div.okeReviews fieldset{border:0;padding:0;margin:0;min-width:0}.okeReviews[data-oke-container] img,.okeReviews[data-oke-container] svg,div.okeReviews img,div.okeReviews svg{max-width:none}.okeReviews[data-oke-container] div:empty,div.okeReviews div:empty{display:block}.okeReviews[data-oke-container] .oke-icon:before,div.okeReviews .oke-icon:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:inherit}.okeReviews[data-oke-container] .oke-icon--select-arrow:before,div.okeReviews .oke-icon--select-arrow:before{content:""}.okeReviews[data-oke-container] .oke-icon--loading:before,div.okeReviews .oke-icon--loading:before{content:""}
824.okeReviews[data-oke-container] .oke-icon--pencil:before,div.okeReviews .oke-icon--pencil:before{content:""}.okeReviews[data-oke-container] .oke-icon--filter:before,div.okeReviews .oke-icon--filter:before{content:""}.okeReviews[data-oke-container] .oke-icon--play:before,div.okeReviews .oke-icon--play:before{content:""}.okeReviews[data-oke-container] .oke-icon--tick-circle:before,div.okeReviews .oke-icon--tick-circle:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-left:before,div.okeReviews .oke-icon--chevron-left:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-right:before,div.okeReviews .oke-icon--chevron-right:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-down:before,div.okeReviews .oke-icon--thumbs-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-up:before,div.okeReviews .oke-icon--thumbs-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--close:before,div.okeReviews .oke-icon--close:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-up:before,div.okeReviews .oke-icon--chevron-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-down:before,div.okeReviews .oke-icon--chevron-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--star:before,div.okeReviews .oke-icon--star:before{content:""}.okeReviews[data-oke-container] .oke-icon--magnifying-glass:before,div.okeReviews .oke-icon--magnifying-glass:before{content:""}@font-face{font-family:oke-widget-icons;src:url(https://cdn-static.okendo.io/reviews-widget-plus/fonts/oke-widget-icons.ttf) format("truetype"),url(https://cdn-static.okendo.io/reviews-widget-plus/fonts/oke-widget-icons.woff) format("woff"),url(https://cdn-static.okendo.io/reviews-widget-plus/img/oke-widget-icons.bc0d6b0a.svg) format("svg");font-weight:400;font-style:normal;font-display:swap}.okeReviews[data-oke-container] .oke-button,div.okeReviews .oke-button{display:inline-block;border-style:solid;border-color:var(--oke-button-borderColor);border-width:var(--oke-button-borderWidth);background-color:var(--oke-button-backgroundColor);line-height:1;padding:12px 24px;margin:0;border-radius:var(--oke-button-borderRadius);color:var(--oke-button-textColor);text-align:center;position:relative;font-weight:var(--oke-button-fontWeight);font-size:var(--oke-button-fontSize);font-family:var(--oke-button-fontFamily);outline:0}.okeReviews[data-oke-container] .oke-button-text,.okeReviews[data-oke-container] .oke-button .oke-icon,div.okeReviews .oke-button-text,div.okeReviews .oke-button .oke-icon{line-height:1}.okeReviews[data-oke-container] .oke-button.oke-is-loading,div.okeReviews .oke-button.oke-is-loading{position:relative}.okeReviews[data-oke-container] .oke-button.oke-is-loading:before,div.okeReviews .oke-button.oke-is-loading:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:undefined;font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-button.oke-is-loading>*,div.okeReviews .oke-button.oke-is-loading>*{opacity:0}.okeReviews[data-oke-container] .oke-button.oke-is-active,div.okeReviews .oke-button.oke-is-active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading),div.okeReviews .oke-button:not(.oke-is-loading){cursor:pointer}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{background-color:var(--oke-button-backgroundColorHover);color:var(--oke-button-textColorHover);border-color:var(--oke-button-borderColorHover);box-shadow:0 0 0 2px var(--oke-button-backgroundColorHover)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):active,.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-title,div.okeReviews .oke-title{font-weight:var(--oke-title-fontWeight);font-size:var(--oke-title-fontSize);font-family:var(--oke-title-fontFamily)}.okeReviews[data-oke-container] .oke-bodyText,div.okeReviews .oke-bodyText{font-weight:var(--oke-bodyText-fontWeight);font-size:var(--oke-bodyText-fontSize);font-family:var(--oke-bodyText-fontFamily)}.okeReviews[data-oke-container] .oke-linkButton,div.okeReviews .oke-linkButton{curs
824or:pointer;font-weight:700;pointer-events:auto;text-decoration:underline}.okeReviews[data-oke-container] .oke-linkButton:hover,div.okeReviews .oke-linkButton:hover{text-decoration:none}.okeReviews[data-oke-container] .oke-readMore,div.okeReviews .oke-readMore{cursor:pointer;color:inherit;text-decoration:underline}.okeReviews[data-oke-container] .oke-select,div.okeReviews .oke-select{cursor:pointer;background-repeat:no-repeat;background-position-x:100%;background-position-y:50%;border:none;padding:0 24px 0 12px;-moz-appearance:none;appearance:none;color:inherit;-webkit-appearance:none;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='currentColor' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");outline-offset:4px}.okeReviews[data-oke-container] .oke-select:disabled,div.okeReviews .oke-select:disabled{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%239a9db1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}.okeReviews[data-oke-container] .oke-loader,div.okeReviews .oke-loader{position:relative}.okeReviews[data-oke-container] .oke-loader:before,div.okeReviews .oke-loader:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:var(--oke-text-secondaryColor);font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-a11yText,div.okeReviews .oke-a11yText{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.okeReviews[data-oke-container] .oke-hidden,div.okeReviews .oke-hidden{display:none}.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2147483647;max-height:100%;background-color:rgba(0,0,0,.5);padding:40px 0 12px}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{display:flex;align-items:center;padding:48px 0}}.okeReviews[data-oke-container] .oke-modal ::-moz-selection,div.okeReviews .oke-modal ::-moz-selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal ::selection,div.okeReviews .oke-modal ::selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal,.okeReviews[data-oke-container] .oke-modal p,div.okeReviews .oke-modal,div.okeReviews .oke-modal p{color:#272d45}.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{background-color:#fff;margin:auto;position:relative;will-change:transform,opacity;width:calc(100% - 24px)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{max-width:1000px}}.okeReviews[data-oke-container] .oke-modal-close,div.okeReviews .oke-modal-close{cursor:pointer;position:absolute;width:32px;height:32px;top:-32px;padding:4px;right:-4px;line-height:1}.okeReviews[data-oke-container] .oke-modal-close:before,div.okeReviews .oke-modal-close:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:#fff;font-size:24px;display:inline-block;width:24px;height:24px}.okeReviews[data-oke-container] .oke-modal-overlay,div.okeReviews .oke-modal-overlay{background-color:rgba(43,46,56,.9)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal--large .oke-modal-content,div.okeReviews .oke-modal--large .oke-modal-content{max-width:1200px}}.okeReviews[data-oke-container] .oke-modal .oke-helpful,.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date,div.okeReviews .oke-modal .oke-helpful,div.okeReviews .oke-modal .oke-helpful-vote-button,div.okeReviews .oke-modal .oke-reviewContent-date{color:#676986}.oke-modal .okeReviews[data-oke-container].oke-w,.oke-modal div.okeReviews.oke-w{color:#272d45}.okeReviews[data-oke-container] .oke-tag,div.okeReviews .oke-tag{align-items:center;color:#272d45;display:flex;font-size:var(--oke-text-small);font-weight:600;text-align:left;position:relative;z-index:2;background-color:#f4f4f6;padding:4px 6px;border:none;border-radius:4px;gap:6px;line-height:1}.okeReviews[data-oke-container] .oke-tag svg,div.okeReviews .oke-tag svg{fill:currentColor;height:1rem}.okeReviews[data-oke-container] .hooper,div.okeReviews .hooper{height:auto}.okeReviews--left{text-align:left}.okeReviews--right{text-align:right}.okeReviews--center{text-align:center}.okeReviews :not([tabindex="-1"]):focus-visible{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.is-oke-modalOpen{overflow:hidden!important}img.oke-is-error{background-color:var(--oke-shadingColor);background-size:cover;background-position:50% 50%;box-shadow:inset 0 0 0 1px var(--oke-border-color)}@keyframes oke-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes oke-fade-in{0%{opacity:0}
824to{opacity:1}}.layout-panel-flex>div:has([data-oke-container]){width:100%}
825.oke-stars{line-height:1;position:relative;display:inline-block}.oke-stars-background svg{overflow:visible}.oke-stars-foreground{overflow:hidden;position:absolute;top:0;left:0}.oke-sr{display:inline-block;padding-top:var(--oke-starRating-spaceAbove);padding-bottom:var(--oke-starRating-spaceBelow)}.oke-sr .oke-is-clickable{cursor:pointer}.oke-sr--hidden{display:none}.oke-sr-count,.oke-sr-rating,.oke-sr-stars{display:inline-block;vertical-align:middle}.oke-sr-stars{line-height:1;margin-right:8px}.oke-sr-rating{display:none}.oke-sr-count--brackets:before{content:"("}.oke-sr-count--brackets:after{content:")"}
826.oke-rk{display:block}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading,div.okeReviews .oke-reviewsKeywords-heading{font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading-skeleton,div.okeReviews .oke-reviewsKeywords-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list,div.okeReviews .oke-reviewsKeywords-list{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category,div.okeReviews .oke-reviewsKeywords-list-category{background-color:var(--oke-filter-backgroundColor);color:var(--oke-filter-textColor);border:1px solid var(--oke-filter-borderColor);border-radius:var(--oke-filter-borderRadius);padding:6px 16px;transition:background-color .1s ease-out,border-color .1s ease-out;white-space:nowrap}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-clickable,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-clickable{cursor:pointer}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-active,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-active{background-color:var(--oke-filter-backgroundColorActive);color:var(--oke-filter-textColorActive);border-color:var(--oke-filter-borderColorActive)}.okeReviews[data-oke-container] .oke-reviewsKeywords .oke-translateButton,div.okeReviews .oke-reviewsKeywords .oke-translateButton{margin-top:12px}
827.oke-rs{display:block}.oke-rs .oke-reviewsSummary.oke-is-preRender .oke-reviewsSummary-summary{-webkit-mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;max-height:150px}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip,div.okeReviews .oke-reviewsSummary .oke-tooltip{display:inline-block;font-weight:400}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip-trigger,div.okeReviews .oke-reviewsSummary .oke-tooltip-trigger{height:15px;width:15px;overflow:hidden;transform:translateY(-10%)}.okeReviews[data-oke-container] .oke-reviewsSummary-heading,div.okeReviews .oke-reviewsSummary-heading{align-items:center;-moz-column-gap:4px;column-gap:4px;display:inline-flex;font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsSummary-heading-skeleton,div.okeReviews .oke-reviewsSummary-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon,div.okeReviews .oke-reviewsSummary-icon{fill:currentColor;font-size:14px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon svg,div.okeReviews .oke-reviewsSummary-icon svg{vertical-align:baseline}.okeReviews[data-oke-container] .oke-reviewsSummary-summary.oke-is-truncated,div.okeReviews .oke-reviewsSummary-summary.oke-is-truncated{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}</style>
828    
829    
829<script type="application/json" id="oke-reviews-settings">{"subscriberId":"6ab59a42-ae74-4e4b-82e9-f6c571faf5d4","analyticsSettings":{"isWidgetOnScreenTrackingEnabled":true,"provider":"none"},"locale":"en","localeAndVariant":{"code":"en"},"matchCustomerLocale":true,"widgetSettings":{"global":{"dateSettings":{"format":{"type":"absolute","options":{"dateStyle":"medium"}}},"hideOkendoBranding":true,"reviewTranslationsMode":"per-review","showIncentiveIndicator":false,"searchEnginePaginationEnabled":true,"stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#FFCF2A","interspace":2,"shape":{"type":"default"},"showBorder":false},"font":{"fontType":"inherit-from-page"}},"homepageCarousel":{"slidesPerPage":{"large":3,"medium":2},"totalSlides":12,"scrollBehaviour":"slide","style":{"showDates":true,"border":{"color":"#E5E5EB","width":{"value":1,"unit":"px"}},"headingFont":{"hasCustomFontSettings":false},"bodyFont":{"hasCustomFontSettings":false},"arrows":{"color":"#676986","size":{"value":24,"unit":"px"},"enabled":true},"avatar":{"backgroundColor":"#E5E5EB","placeholderTextColor":"#2C3E50","size":{"value":48,"unit":"px"},"enabled":true},"media":{"size":{"value":80,"unit":"px"},"imageGap":{"value":4,"unit":"px"},"enabled":true},"stars":{"height":{"value":18,"unit":"px"}},"productImageSize":{"value":48,"unit":"px"},"layout":{"name":"default","reviewDetailsPosition":"below","showProductName":false,"showAttributeBars":false,"showProductVariantName":false,"showProductDetails":"only-when-grouped"},"highlightColor":"#0E7A82","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#2C3E50","fontSizeRegular":{"value":14,"unit":"px"},"fontSizeSmall":{"value":12,"unit":"px"},"secondaryColor":"#676986"},"spaceBelow":{"value":20,"unit":"px"}},"defaultSort":"rating desc","autoPlay":false,"truncation":{"bodyMaxLines":4,"enabled":true,"truncateAll":false}},"mediaCarousel":{"minimumImages":1,"linkText":"Read More","autoPlay":false,"slideSize":"medium","arrowPosition":"outside"},"mediaGrid":{"gridStyleDesktop":{"layout":"default-desktop"},"gridStyleMobile":{"layout":"default-mobile"},"showMoreArrow":{"arrowColor":"#676986","enabled":true,"backgroundColor":"#f4f4f6"},"linkText":"Read More","infiniteScroll":false,"gapSize":{"value":10,"unit":"px"}},"questions":{"initialPageSize":6,"loadMorePageSize":6},"reviewsBadge":{"layout":"large","colorScheme":"dark"},"reviewsTab":{"enabled":false},"reviewsWidget":{"tabs":{"reviews":true,"questions":true},"header":{"columnDistribution":"space-around","verticalAlignment":"top","blocks":[{"columnWidth":"half","modules":[{"name":"rating-average","layout":"one-line"},{"name":"rating-breakdown","backgroundColor":"#f5f5f5","shadingColor":"#b0b0b0","stretchMode":"contain"}],"textAlignment":"left"},{"columnWidth":"half","modules":[{"name":"recommended"},{"name":"attributes","layout":"stacked","stretchMode":"stretch"}],"textAlignment":"left"},{"columnWidth":"one-third","modules":[{"name":"media-grid","imageGap":{"value":4,"unit":"px"},"scaleToFill":true,"rows":3,"columns":3}],"textAlignment":"center"}]},"style":{"showDates":true,"border":{"color":"#DEDEDE","width":{"value":1,"unit":"px"}},"bodyFont":{"fontSize":{"value":12,"unit":"px"},"fontType":"use-global","fontWeight":400,"hasCustomFontSettings":true},"headingFont":{"fontSize":{"value":14,"unit":"px"},"fontType":"use-global","fontWeight":600,"hasCustomFontSettings":true},"filters":{"backgroundColorActive":"#878787","backgroundColor":"#FFFFFF","borderColor":"#DBDDE4","borderRadius":{"value":100,"unit":"px"},"borderColorActive":"#878787","textColorActive":"#FFFFFF","textColor":"#504949","searchHighlightColor":"#99d1ef"},"avatar":{"backgroundColor":"#84CAF7","placeholderTextColor":"#FFFFFF","size":{"value":40,"unit":"px"},"enabled":true},"stars":{"height":{"value":15,"unit":"px"}},"shadingColor":"#F7F7F8","productImageSize":{"value":48,"unit":"px"},"button":{"backgroundColorActive":"#008BD8","borderColorHover":"#FFFFFF","backgroundColor":"#008BD8","borderColor":"#008BD8","backgroundColorHover":"#008BD8","textColorHover":"#FFFFFF","borderRadius":{"value":4,"unit":"px"},"borderWidth":{"value":0,"unit":"px"},"borderColorActive":"#FFFFFF","textColorActive":"#FFFFFF","textColor":"#FFFFFF","font":{"hasCustomFontSettings":false}},"highlightColor":"#008BD8","spaceAbove":{"value":18,"unit":"px"},"text":{"primaryColor":"#504949","fontSizeRegular":{"value":13,"unit":"px"},"fontSizeLarge":{"value":12,"unit":"px"},"fontSizeSmall":{"value":10,"unit":"px"},"secondaryColor":"#878787"},"spaceBelow":{"value":18,"unit":"px"},"attributeBar":{"style":"rounded","backgroundColor":"#dedede","shadingColor":"#b0b0b0","markerColor":"#008BD8"}},"showWhenEmpty":true,"reviews":{"list":{"layout":{"name":"masonry","cardLayout":{"reviewDetailsPosition":"above","showProductName":false,"showFullHeightImages":false,"showReply":true,"name":"featured","
829showAttributeBars":false,"showProductVariantName":false,"showProductDetails":"always"},"showProductVariantName":false,"columnAmount":3},"loyalty":{"maxInitialAchievements":3},"initialPageSize":10,"replyTruncation":{"bodyMaxLines":4,"enabled":true},"media":{"layout":"featured","size":{"value":200,"unit":"px"}},"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true},"loadMorePageSize":5},"controls":{"filterMode":"closed","freeTextSearchEnabled":false,"writeReviewButtonEnabled":true,"defaultSort":"date desc"}}},"starRatings":{"showWhenEmpty":false,"clickBehavior":"scroll-to-widget","style":{"text":{"content":"review-count","style":"number-and-text","brackets":false},"spaceAbove":{"value":0,"unit":"px"},"singleStar":false,"spaceBelow":{"value":0,"unit":"px"},"height":{"value":18,"unit":"px"}}}},"features":{"attributeFiltersEnabled":true,"recorderPlusEnabled":true,"recorderQandaPlusEnabled":true,"reviewsKeywordsEnabled":true,"reviewsSummariesEnabled":true}}</script>
829
830            <style id="oke-css-vars">:root{--oke-widget-spaceAbove:18px;--oke-widget-spaceBelow:18px;--oke-starRating-spaceAbove:0;--oke-starRating-spaceBelow:0;--oke-button-backgroundColor:#008bd8;--oke-button-backgroundColorHover:#008bd8;--oke-button-backgroundColorActive:#008bd8;--oke-button-textColor:#fff;--oke-button-textColorHover:#fff;--oke-button-textColorActive:#fff;--oke-button-borderColor:#008bd8;--oke-button-borderColorHover:#fff;--oke-button-borderColorActive:#fff;--oke-button-borderRadius:4px;--oke-button-borderWidth:0;--oke-button-fontWeight:700;--oke-button-fontSize:var(--oke-text-regular,14px);--oke-button-fontFamily:inherit;--oke-border-color:#dedede;--oke-border-width:1px;--oke-text-primaryColor:#504949;--oke-text-secondaryColor:#878787;--oke-text-small:10px;--oke-text-regular:13px;--oke-text-large:12px;--oke-text-fontFamily:inherit;--oke-avatar-size:40px;--oke-avatar-backgroundColor:#84caf7;--oke-avatar-placeholderTextColor:#fff;--oke-highlightColor:#008bd8;--oke-shadingColor:#f7f7f8;--oke-productImageSize:48px;--oke-attributeBar-shadingColor:#b0b0b0;--oke-attributeBar-borderColor:undefined;--oke-attributeBar-backgroundColor:#dedede;--oke-attributeBar-markerColor:#008bd8;--oke-filter-backgroundColor:#fff;--oke-filter-backgroundColorActive:#878787;--oke-filter-borderColor:#dbdde4;--oke-filter-borderColorActive:#878787;--oke-filter-textColor:#504949;--oke-filter-textColorActive:#fff;--oke-filter-borderRadius:100px;--oke-filter-searchHighlightColor:#99d1ef;--oke-mediaGrid-chevronColor:#676986;--oke-stars-foregroundColor:#ffcf2a;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-w,.oke-modal{--oke-title-fontWeight:600;--oke-title-fontSize:14px;--oke-title-fontFamily:inherit;--oke-bodyText-fontWeight:400;--oke-bodyText-fontSize:12px;--oke-bodyText-fontFamily:inherit}</style>
831            <style id="oke-reviews-custom-css">.oke-reviewsTab{display:none !important}</style>
832            <template id="oke-reviews-body-template"><svg id="oke-star-symbols" style="display:none!important" data-oke-id="oke-star-symbols"><symbol id="oke-star-empty" style="overflow:visible;"><path id="star-default--empty" fill="var(--oke-stars-backgroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M3.34 13.86c-.48.3-.76.1-.63-.44l1.08-4.56L.26 5.82c-.42-.36-.32-.7.24-.74l4.63-.37L6.92.39c.2-.52.55-.52.76 0l1.8 4.32 4.62.37c.56.05.67.37.24.74l-3.53 3.04 1.08 4.56c.13.54-.14.74-.63.44L7.3 11.43l-3.96 2.43z"/></symbol><symbol id="oke-star-filled" style="overflow:visible;"><path id="star-default--filled" fill="var(--oke-stars-foregroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M3.34 13.86c-.48.3-.76.1-.63-.44l1.08-4.56L.26 5.82c-.42-.36-.32-.7.24-.74l4.63-.37L6.92.39c.2-.52.55-.52.76 0l1.8 4.32 4.62.37c.56.05.67.37.24.74l-3.53 3.04 1.08 4.56c.13.54-.14.74-.63.44L7.3 11.43l-3.96 2.43z"/></symbol></svg></template>
832<script>document.addEventListener('readystatechange',() =>{Array.from(document.getElementById('oke-reviews-body-template')?.content.children)?.forEach(function(child){if(!Array.from(document.body.querySelectorAll('[data-oke-id='.concat(child.getAttribute('data-oke-id'),']'))).length){document.body.prepend(child)}})},{once:true});</script>
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846<!-- END app snippet -->
847
848    <!-- BEGIN app snippet: okendo-reviews-json-ld -->
849<!-- END app snippet -->
850
851<!-- BEGIN app snippet: widget-plus-initialisation-script -->
852
853
854
855
856    
856<script async id="okendo-reviews-script" src="https://cdn-static.okendo.io/reviews-widget-plus/js/okendo-reviews.js"></script>
856
857
858<!-- END app snippet -->
859
860
861<!-- END app block --><!-- BEGIN app block: shopify://apps/pagefly-ai-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 -->
862
863<!-- BEGIN app snippet: pagefly-cro-ab-testing-main -->
864
865
866
867
868
869
870
871<script>
872  ;(function () {
873    const url = new URL(window.location)
874    const viewParam = url.searchParams.get('view')
875    if (viewParam && viewParam.includes('variant-pf-')) {
876      url.searchParams.set('pf_v', viewParam)
877      url.searchParams.delete('view')
878      window.history.replaceState({}, '', url)
879    }
880  })()
881</script>
881
882
883
884
885<script type='module'>
886  
887  window.PAGEFLY_CRO = window.PAGEFLY_CRO || {}
888
889  window.PAGEFLY_CRO['data_debug'] = {
890    original_template_suffix: "",
891    allow_ab_test: false,
892    ab_test_start_time: 0,
893    ab_test_end_time: 0,
894    today_date_time: 1790247304000,
895  }
896  window.PAGEFLY_CRO['GA4'] = { enabled: false}
897</script>
897
898
899<!-- END app snippet -->
900
901
902
903
904
905
906
907
908  
908<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-helper.js' defer='defer'></script>
908
909
910  
910<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-general-helper.js' defer='defer'></script>
910
911
912  
912<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-snap-slider.js' defer='defer'></script>
912
913
914  
914<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-slideshow-v3.js' defer='defer'></script>
914
915
916  
916<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-slideshow-v4.js' defer='defer'></script>
916
917
918  
918<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-glider.js' defer='defer'></script>
918
919
920  
920<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-slideshow-v1-v2.js' defer='defer'></script>
920
921
922  
922<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-product-media.js' defer='defer'></script>
922
923
924  
924<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-product.js' defer='defer'></script>
924
925
926
927<script id='pagefly-helper-data' type='application/json'>
928  {
929    "page_optimization": {
930      "assets_prefetching": true
931    },
932    "elements_asset_mapper": {
933      "Accordion": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-accordion.js",
934      "Accordion3": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-accordion3.js",
935      "CountDown": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-countdown.js",
936      "GMap1": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-gmap.js",
937      "GMap2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-gmap.js",
938      "GMapBasicV2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-gmap.js",
939      "GMapAdvancedV2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-gmap.js",
940      "HTML.Video": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-htmlvideo.js",
941      "HTML.Video2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-htmlvideo2.js",
942      "HTML.Video3": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-htmlvideo2.js",
943      "BackgroundVideo": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-htmlvideo2.js",
944      "Instagram": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-instagram.js",
945      "Instagram2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-instagram.js",
946      "Insta3": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-instagram3.js",
947      "Tabs": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-tab.js",
948      "Tabs3": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-tab3.js",
949      "ProductBox": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-cart.js",
950      "FBPageBox2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-facebook.js",
951      "FBLikeButton2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-facebook.js",
952      "TwitterFeed2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-twitter.js",
953      "Paragraph4": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-paragraph4.js",
954
955      "AliReviews": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
956      "BackInStock": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
957      "GloboBackInStock": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
958      "GrowaveWishlist": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
959      "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
960      "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder
960-358/assets/pagefly-3rd-elements.js",
961      "LimeSpot": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
962      "Loox": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
963      "Opinew": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
964      "Powr": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
965      "ProductReviews": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
966      "PushOwl": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
967      "ReCharge": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
968      "Rivyo": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
969      "TrackingMore": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
970      "Vitals": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
971      "Wiser": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js"
972    },
973    "custom_elements_mapper": {
974      "pf-click-action-element": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-click-action-element.js",
975      "pf-dialog-element": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-dialog-element.js"
976    }
977  }
978</script>
978
979
980<script id='pagefly-heatmap-config' type='application/json'>
981  {}
982</script>
vendor: 1 bytes, line 982
982
983<script>
984  (function () {
985    var el = document.getElementById('pagefly-heatmap-config')
986    if (!el) { window.__pagefly_heatmap_config__ = {}; return }
987    try {
988      window.__pagefly_heatmap_config__ = JSON.parse(el.textContent || '{}') || {}
989    } catch (e) {
990      window.__pagefly_heatmap_config__ = {}
991    }
992  })()
993</script>
vendor: 1 bytes, line 993
993
994<script>
995  // Heatmap overlay loader. Three gates, all of them cheap, none of them trusting the URL:
996  // the visitor must have arrived on a pf_heatmap link, the SERVER must have published an
997  // overlay path in the metafield, and this page must already be one the merchant enabled
998  // tracking for. The last gate is what stops a crafted link pulling the asset onto an
999  // arbitrary storefront page. Everything else is decided inside the asset, and by the server.
1000  (function () {
1001    var cfg = window.__pagefly_heatmap_config__ || {}
1002    var id = (window.__pagefly_page_setting__ || {}).pageId
1003    if (!/[#&]pf_heatmap=/.test(window.location.hash || '')) return
1004    if (!cfg.overlay_data_path || !Array.isArray(cfg.enabled_page_ids)) return
1005    if (!id || cfg.enabled_page_ids.indexOf(id) === -1) return
1006    var s = document.createElement('script')
1007    s.src = 'https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-heatmap-overlay.js'
1008    s.defer = true
1009    document.head.appendChild(s)
1010  })()
1011</script>
1011
1012
1013<!-- BEGIN app snippet: pf-ai-schema -->
1014<!-- END app snippet -->
1015
1016
1017<!-- END app block --><!-- BEGIN app block: shopify://apps/kaching-bundles/blocks/app-embed-block/6c637362-a106-4a32-94ac-94dcfd68cdb8 -->
1018<!-- Kaching Bundles App Embed -->
1019
1020<!-- BEGIN app snippet: app-embed-content -->
1021
1022
1023
1024
1025
1026
1027
1028<script>
1029  // Prevent duplicate initialization if both app embeds are enabled
1030  if (window.kachingBundlesAppEmbedLoaded) {
1031    console.warn('[Kaching Bundles] Multiple app embed blocks detected. Please disable one of them. Skipping duplicate initialization.');
1032  } else {
1033    window.kachingBundlesAppEmbedLoaded = true;
1034    window.kachingBundlesEnabled = true;
1035    window.kachingBundlesInitialized = false;
1036
1037    // Allow calling kachingBundlesInitialize before the script is loaded
1038    (() => {
1039      let shouldInitialize = false;
1040      let realInitialize = null;
1041
1042      window.kachingBundlesInitialize = () => {
1043        if (realInitialize) {
1044          realInitialize();
1045        } else {
1046          shouldInitialize = true;
1047        }
1048      };
1049
1050      Object.defineProperty(window, '__kachingBundlesInitializeInternal', {
1051        set(fn) {
1052          realInitialize = fn;
1053          if (shouldInitialize) {
1054            shouldInitialize = false;
1055            fn();
1056          }
1057        },
1058        get() {
1059          return realInitialize;
1060        }
1061      });
1062    })();
1063  }
1064</script>
1064
1065
1066
1067
1068<script id="kaching-bundles-config" type="application/json">
1069  {
1070    "shopifyDomain": "thephotostick.myshopify.com",
1071    "moneyFormat": "${{amount}}",
1072    "locale": "en",
1073    "liquidLocale": "en",
1074    "country": "US",
1075    "currencyRate": 1,
1076    "marketCurrencyCode": "USD",
1077    "marketId": 1259503752,
1078    "productId": null,
1079    "storefrontAccessToken": "bfd27b5799283a301c7d3f312704227a",
1080    "includeSellingPlans": true,
1081    "includeAvailableQuantity": true,
1082    "customApiHost": null,
1083    "keepQuantityInput": false,
1084    "ignoreDeselect": false,
1085    "ignoreUnitPrice": false,
1086    "requireCustomerLogin": false,
1087    "abTestsRunning": false,
1088    "webPixel": true,
1089    "b2bCustomer": false,
1090    "isLoggedIn": false,
1091    "isDeprecatedAppEmbed": false,
1092    "preview": false,
1093    "defaultTranslations": {
1094      "system.out_of_stock": "There\u0026#39;s not enough items in our stock, please select smaller bundle.",
1095      "system.invalid_variant": "Sorry, this is not currently available.",
1096      "system.unavailable_option_value": "Unavailable",
1097      "system.confirm": "Confirm",
1098      "system.cancel": "Cancel",
1099      "system.free": "FREE",
1100      "system.search": "Search",
1101      "system.sort_by": "Sort by",
1102      "system.sort_relevance": "Relevance",
1103      "system.sort_newest_first": "Newest first",
1104      "system.sort_price_low_to_high": "Price: Low → High",
1105      "system.sort_price_high_to_low": "Price: High → Low",
1106      "system.no_results_found": "No results found",
1107      "system.no_results_description": "We can’t find any item matching your search.",
1108      "system.clear_search": "Clear search",
1109      "system.no_products_available": "No products available",
1110      "system.letters_only": "Only letters are allowed.",
1111      "system.numbers_only": "Only numbers are allowed.",
1112      "system.select_variant_alert": "Please select a variant.",
1113      "system.select_variant_placeholder": "Select",
1114      "system.personalisation_required_alert": "Please add personalisation for every item to continue.",
1115      "system.quantity": "Quantity",
1116      "system.subscription_plan": "Subscription plan",
1117      "system.remove": "Remove",
1118      "system.original_price": "Original price:",
1119      "system.price": "Price:"
1120    },
1121    "customSelectors": {
1122      "quantity": null,
1123      "addToCartButton": null,
1124      "variantPicker": null,
1125      "price": null,
1126      "priceCompare": null,
1127      "label": null
1128    },
1129    "shopCustomStyles": "",
1130    "brandColors": {"error":"#D72C2C","border":"#FF9C274D","overlay":"#000000","badgeText":"#FFFFFF","primaryText":"#171717","primaryAccent":"#FF9C27","secondaryText":"#555555","badgeBackgroun
1130d":"#FF9C27","primaryAccentText":"#FFFFFF","primaryBackground":"#FFFFFF","secondaryBackground":"#F0F0F0"},
1131    "featureFlags": {"cart_change_response_rewrite":false,"cart_interceptor_dedupe_disabled":false,"cart_interceptor_json_encoding":false,"debug_cart_add":false,"disable_nested_cart_lines":false,"early_fetch_override":false,"hide_missing_variants":false,"initialize_with_form_variant":false,"intercept_cart_request":false,"legacy_saved_percentage":false,"native_swatches_disabled":false,"observe_external_selling_plan":false,"observe_form_selling_plan":false,"percentage_cents_rounding_workaround":false,"pos_extension":false,"preserve_variant_selections":false,"price_rounding_v2":false,"propagate_line_properties":false,"propagate_picker_option_changes":false,"reinitialize_morphed_placeholders":false,"remove_variant_change_delay":false,"split_bxgy_items":false,"storefront_metaobjects":false,"variant_images":false}
1132
1133  }
1134</script>
1134
1135
1136<!-- BEGIN app snippet: translations -->
1137
1138
1139  
1140
1141<!-- END app snippet -->
1142
1143
1144
1145
1146  <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0d252-dca9-755b-940f-8b18a2011136/kaching-bundles-2001/assets/kaching-bundles.js" crossorigin="anonymous" fetchpriority="high">
1147  
1148  
1148<script type="module" src="https://cdn.shopify.com/extensions/01a0d252-dca9-755b-940f-8b18a2011136/kaching-bundles-2001/assets/loader.js" crossorigin="anonymous" fetchpriority="high"></script>
1148
1149  <link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0d252-dca9-755b-940f-8b18a2011136/kaching-bundles-2001/assets/kaching-bundles.css" media="print" onload="this.media='all'" fetchpriority="high">
1150
1151  <style>
1152    .kaching-bundles__block {
1153      display: none;
1154    }
1155
1156    .kaching-bundles-sticky-atc {
1157      display: none;
1158    }
1159  </style>
1160
1161
1162
1163<!-- END app snippet -->
1164
1165<!-- Kaching Bundles App Embed End -->
1166
1167
1168<!-- END app block --><!-- BEGIN app block: shopify://apps/easy-tag-gtm-data-layer/blocks/datalayer-embed-block/be308f3f-c82d-4290-b187-8561d4a8782a -->
1168<script>(function(w, d) {var f = d.getElementsByTagName('script')[0];var s = d.createElement('script');s.async = true;s.src = "https:\/\/cdn.shopify.com\/extensions\/9d4b20e8-14f7-4a65-86dc-eaa196dcf826\/2.1.0\/assets\/tidl-2.1.0.min.js";s.onload = function() {window.TAGinstall.init({"data_layer": {"model": "legacy","item_id_selector": "sku|variant_id"},"events":{"device_data":true,"user_data":true,"cart_data":true,"collections":true,"product_click":true,"product":true,"add_to_cart":true,"remove_from_cart":true,"login":true,"register":true,"search":true},"currency":"USD","gtm_container_id":"GTM-MK2FWML",}, {
1169   "_internal": {},"contextData": {"page": {"type":"search"}
1170   },"cartData" : {"pageType":"search","items": [],"total":0.0,"currency":"USD"}});
1171
1172
1173    };
1174    f.parentNode.insertBefore(s, f);
1175})(window, document);
1176</script>
1176
1177<!-- Google Tag Manager -->
1178<script>
vendor: 327 bytes, lines 1178-1182
1178(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
1179new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
1180j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
1181'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
1182})(window,document,'script','dataLayer','
1182GTM-MK2FWML
vendor: 3 bytes, line 1182
1182');
1182</script>
1182
1183<!-- End Google Tag Manager -->
1184
1185<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198  
1198<script async src="https://static.klaviyo.com/onsite/js/VDt99H/klaviyo.js?company_id=VDt99H"></script>
1198
1199  
1199<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
1199
1200
1201  
1202
1203
1204
1205
1206  
1206<script>
1207    window.klaviyoReviewsProductDesignMode = false
1208  </script>
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
1219<script type="text/javascript">
1220  (function (c, l, a, r, i, t, y) {
1221    c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); };
1222    t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify";
1223    y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
1224
1225    c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => {
1226      if (error) {
1227        console.error("Error loading Shopify features:", error);
1228        return;
1229      }
1230
1231      c[a]('consentv2', {
1232        ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied",
1233        analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied",
1234        source: 101,
1235      });
1236    });
1237
1238    l.addEventListener("visitorConsentCollected", function (e) {
1239      c[a]('consentv2', {
1240        ad_Storage: e.detail.marketingAllowed ? "granted" : "denied",
1241        analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied",
1242        source: 101,
1243      });
1244    });
1245  })(window, document, "clarity", "script", "vt5ci30j4z");
1246</script>
1246
1247
1248
1249
1250<!-- END app block --><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin />
1251<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
1252<script>
1253/* >> TriplePixel :: start*/
1254window.TriplePixelData={TripleName:"thephotostick.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{  }},search:"",collection:"",cart:"drawer",template:"search",curr:"USD" || "USD", market:"1259503752"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage);
1255/* << TriplePixel :: end*/
1256</script>
1256
1257
1258
1259
1260<!-- END app block --><!-- BEGIN app block: shopify://apps/quicky/blocks/quickBanner/3421d53e-fb02-449c-a9ef-daf28f28450a --><!-- BEGIN app snippet: vendors -->
1260<script defer src="https://cdn.shopify.com/extensions/01a0275c-692d-786e-ac26-0da514a772cd/quicky-137/assets/vendors.js"></script>
1260
1261<!-- END app snippet -->
1262<link rel="preconnect" href="https://static.devit.software" crossorigin>
1263<script>
1264  (() => {
1265    const url = new URL("https://cdn.shopify.com/extensions/01a0275c-692d-786e-ac26-0da514a772cd/quicky-137/assets/vendors.js");
1266    window.qb_public_path = `${url.origin}${url.pathname.replace('vendors.js', '')}`
1267  })()
1268</script>
1268
1269
1270<script>
1271  const __globalAbTest = `{}`;
1272</script>
1272
1273<style>#qb-extension-root [data-type_bar]>.qb-skeleton{display:none!important}</style>
1274<div id="qb-extension-root">
1275  
1276  
1277
1278  
1279  
1280  
1281
1282  
1283  <!-- BEGIN app snippet: actionBarSnippet --><div
1284  id='qb-689cf09eab9ff5d8a237e21b'
1285  class='qb-action-bar-block'
1286  data-target='website'
1287  data-plan='2'
1288  data-storeid='16814029'
1289  
1290    data-settings='{&quot;message&quot;:{&quot;borderWidth&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;mobile&quot;:{&quot;borderWidth&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;scale&quot;:60},&quot;tablet&quot;:{&quot;borderWidth&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;scale&quot;:&quot;70&quot;},&quot;text&quot;:&quot;&lt;p&gt;⬅ Back to App Shop&lt;/p&gt;&quot;,&quot;translatedText&quot;:{},&quot;font&quot;:&quot;Montserrat&quot;,&quot;fontWeight&quot;:500,&quot;fontStyle&quot;:&quot;normal&quot;,&quot;scale&quot;:90,&quot;color&quot;:&quot;#008bd8&quot;,&quot;align&quot;:&quot;center&quot;,&quot;borderColor&quot;:&quot;#ffffff&quot;,&quot;borderStyle&quot;:&quot;solid&quot;},&quot;timer&quot;:{&quot;borderWidth&quot;:{},&quot;borderRadius&quot;:{},&quot;section&quot;:{&quot;borderWidth&quot;:{},&quot;borderRadius&quot;:{},&quot;mobile&quot;:{&quot;borderWidth&quot;:{},&quot;borderRadius&quot;:{}},&quot;tablet&quot;:{&quot;borderWidth&quot;:{},&quot;borderRadius&quot;:{}}},&quot;mobile&quot;:{&quot;borderWidth&quot;:{},&quot;borderRadius&quot;:{}},&quot;tablet&quot;:{&quot;borderWidth&quot;:{},&quot;borderRadius&quot;:{}}},&quot;button&quot;:{&quot;hover&quot;:{&quot;textColor&quot;:&quot;&quot;,&quot;backgroundColor&quot;:&quot;&quot;,&quot;borderColor&quot;:&quot;&quot;},&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;borderWidth&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;mobile&quot;:{&quot;borderWidth&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;fontSize&quot;:75},&quot;tablet&quot;:{&quot;borderWidth&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;fontSize&quot;:75},&quot;text&quot;:&quot;&quot;,&quot;translatedText&quot;:{},&quot;font&quot;:&quot;Lato&quot;,&quot;fontWeight&quot;:500,&quot;fontStyle&quot;:&quot;normal&quot;,&quot;fontSize&quot;:75,&quot;backgroundColor&quot;:&quot;#df65b2&quot;,&quot;backgroundOpacity&quot;:100,&quot;textColor&quot;:&quot;#ffffff&quot;,&quot;style&quot;:&quot;rounded_solid&quot;,&quot;borderStyle&quot;:&quot;solid&quot;,&quot;borderColor&quot;:&quot;#ffffff&quot;,&quot;url&quot;:&quot;/pages/shop-tpso-app&quot;,&quot;openNewWindow&quot;:false},&quot;declineButton&quot;:{&quot;hover&quot;:{}},&quot;preferenceButton&quot;:{&quot;hover&quot;:{}},&quot;cookies&quot;:{&quot;analytics&quot;:{&quot;title&quot;:{},&quot;description&quot;:{}},&quot;marketing&quot;:{&quot;title&quot;:{},&quot;description&quot;:{}},&quot;saleOfData&quot;:{&quot;title&quot;:{},&quot;description&quot;:{}},&quot;preferences&quot;:{&quot;title&quot;:{},&quot;description&quot;:{}},&quot;modalAcceptButton&quot;:{},&quot;modalCancelButton&quot;:{}},&quot;product&quot;:{&quot;id&quot;:null,&quot;title&quot;:null,&quot;handle&quot;:null,&quot;imgUrl&quot;:null},&quot;collection&quot;:{&quot;id&quot;:null,&quot;title&quot;:null,&quot;handle&quot;:null,&quot;imgUrl&quot;:null},&quot;discount&quot;:{&quot;hover&quot;:{&quot;borderColor&quot;:&quot;#f8f181&quot;},&quot;borderRadius&quot;:{&quot;topLeft&quot;:4,&quot;topRight&quot;:4,&quot;bottomLeft&quot;:4,&quot;bottomRight&quot;:4},&quot;borderWidth&quot;:{&quot;top&quot;:1,&quot;right&quot;:1,&quot;bottom&quot;:1,&quot;left&quot;:1},&quot;mobile&quot;:{&quot;borderRadius&quot;:{&quot;topLeft&quot;:4,&quot;topRight&quot;:4,&quot;bottomLeft&quot;:4,&quot;bottomRight&quot;:4},&quot;borderWidth&quot;:{&quot;top&quot;:1,&quot;right&quot;:1,&quot;bottom&quot;:1,&quot;left&quot;:1},&quot;scale&quot;:75},&quot;tablet&quot;:{&quot;borderRadius&quot;:{&quot;topLeft&quot;:4,&quot;topRight&quot;:4,&quot;bottomLeft&quot;:4,&quot;bottomRight&quot;:4},&quot;borderWidth&quot;:{&quot;top&quot;:1,&quot;right&quot;:1,&quot;bottom&quot;:1,&quot;left&quot;:1},&quot;scale&quot;:120},&quot;id&quot;:&quot;&quot;,&quot;code&quot;:&quot;EXAMPLE&quot;,&quot;color&quot;:&quot;#f8f181&quot;,&quot;labelColor&quot;:&quot;#ffffff&quot;,&quot;value&quot;:100,&quot;kind&quot;:&quot;%&quot;,&quot;font&quot;:&quot;Inter&quot;,&quot;fontWeight&quot;:900,&quot;fontStyle&quot;:&quot;normal&quot;,&quot;scale&quot;:100,&quot;codePadding&quot;:8,&quot;
1290codeBackgroundColor&quot;:&quot;#26243700&quot;,&quot;borderColor&quot;:&quot;#f8f181&quot;,&quot;borderStyle&quot;:&quot;solid&quot;},&quot;background&quot;:{&quot;mobile&quot;:{&quot;imageBgUse&quot;:true,&quot;image&quot;:&quot;&quot;,&quot;patternBgUse&quot;:false,&quot;pattern&quot;:&quot;&quot;,&quot;noneUse&quot;:false},&quot;tablet&quot;:{&quot;imageBgUse&quot;:true,&quot;image&quot;:&quot;&quot;,&quot;patternBgUse&quot;:false,&quot;pattern&quot;:&quot;&quot;,&quot;noneUse&quot;:false},&quot;color&quot;:&quot;#ffffff&quot;,&quot;imageBgUse&quot;:false,&quot;image&quot;:&quot;&quot;,&quot;patternBgUse&quot;:false,&quot;pattern&quot;:&quot;&quot;,&quot;opacity&quot;:30,&quot;imagePosition&quot;:&quot;cover&quot;,&quot;noneUse&quot;:false},&quot;border&quot;:{&quot;size&quot;:{&quot;top&quot;:2,&quot;right&quot;:2,&quot;bottom&quot;:2,&quot;left&quot;:2},&quot;borderRadius&quot;:{&quot;topLeft&quot;:10,&quot;topRight&quot;:10,&quot;bottomLeft&quot;:10,&quot;bottomRight&quot;:10},&quot;mobile&quot;:{&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;size&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;horizontalSpace&quot;:18,&quot;verticalSpace&quot;:&quot;10&quot;},&quot;tablet&quot;:{&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;size&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;horizontalSpace&quot;:18,&quot;verticalSpace&quot;:&quot;10&quot;},&quot;color&quot;:&quot;#ff9c27&quot;,&quot;style&quot;:&quot;solid&quot;,&quot;horizontalSpace&quot;:17,&quot;verticalSpace&quot;:&quot;10&quot;},&quot;icons&quot;:{&quot;hover&quot;:{},&quot;borderWidth&quot;:{},&quot;borderRadius&quot;:{},&quot;mobile&quot;:{&quot;borderWidth&quot;:{},&quot;borderRadius&quot;:{}},&quot;tablet&quot;:{&quot;borderWidth&quot;:{},&quot;borderRadius&quot;:{}}},&quot;customSettings&quot;:{&quot;inputsBorderWidth&quot;:{},&quot;inputBorderRadius&quot;:{},&quot;mobile&quot;:{&quot;inputsBorderWidth&quot;:{},&quot;inputBorderRadius&quot;:{}},&quot;tablet&quot;:{&quot;inputsBorderWidth&quot;:{},&quot;inputBorderRadius&quot;:{}},&quot;durationMode&quot;:{},&quot;durationTime&quot;:{},&quot;timerDigitLabel&quot;:{&quot;mobile&quot;:{},&quot;tablet&quot;:{}},&quot;clickAction&quot;:&quot;banner&quot;,&quot;typeId&quot;:2,&quot;messenger&quot;:&quot;whatsApp&quot;,&quot;phone&quot;:null,&quot;messengerUsername&quot;:null,&quot;email&quot;:null,&quot;imageMaxSize&quot;:60,&quot;generalImage&quot;:&quot;&quot;,&quot;countdownType&quot;:&quot;&quot;,&quot;everyDaySpecificShowTime&quot;:[],&quot;shippingCountries&quot;:[]},&quot;scheduling&quot;:{&quot;start&quot;:&quot;immediately&quot;,&quot;end&quot;:&quot;never&quot;,&quot;startDate&quot;:&quot;&quot;,&quot;endDate&quot;:&quot;&quot;,&quot;showCertain&quot;:false,&quot;certainDays&quot;:[],&quot;certainTime&quot;:[0,1439]},&quot;targeting&quot;:{&quot;showOnPages&quot;:{&quot;pages&quot;:[&quot;otherPage&quot;],&quot;customPage&quot;:[&quot;https://www.thephotostick.com/products/thephotostick-quick-click-remote-app-exclusive&quot;,&quot;https://www.thephotostick.com/products/thephotostick-travel-tech-case-app-exclusive&quot;,&quot;https://www.thephotostick.com/products/thephotostick-protective-usb-case-app-exclusive&quot;,&quot;https://www.thephotostick.com/products/thephotostick-keepsafe-pouch-app-exclusive&quot;],&quot;customPageSelect&quot;:&quot;include&quot;,&quot;queryParams&quot;:[],&quot;queryParamsSelect&quot;:&quot;include&quot;},&quot;showVisitors&quot;:{&quot;sources&quot;:[&quot;otherUrl&quot;],&quot;custom&quot;:[],&quot;customSelect&quot;:&quot;include&quot;},&quot;showLocation&quot;:{&quot;filter&quot;:&quot;include&quot;,&quot;countries&quot;:[&quot;ALL&quot;]},&quot;language&quot;:{&quot;isIncluded&quot;:&quot;include&quot;,&quot;languages&quot;:[]},&quot;domains&quot;:[&quot;all&quot;],&quot;choiceDevice&quot;:&quot;showAll&quot;,&quot;choiceOS&quot;:&quot;all&quot;},&quot;closeButton&quot;:{&quot;hover&quot;:{&quot;color&quot;:&quot;&quot;,&quot;borderColor&quot;:&quot;&quot;},&quot;borderWidth&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;mobile&quot;:{&quot;borderWidth&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;size&quot;:10,&quot;marginTop&quot;:2,&quot;marginRight&quot;:2},&quot;tablet&quot;:{&quot;borderWidth&quot;:{&quot;top&quot;:0,&quot;right&quot;:0,&quot;bottom&quot;:0,&quot;left&quot;:0},&quot;borderRadius&quot;:{&quot;topLeft&quot;:0,&quot;topRight&quot;:0,&quot;bottomLeft&quot;:0,&quot;bottomRight&quot;:0},&quot;size&quot;:10,&quot;marginTop&quot;:2,&quot;marginRight&quot;:2},&quot;close&quot;:false,&quot;size&quot;:10,&quot;marginTop&quot;:2,&quot;marginRight&quot;:2,&quot;borderColor&quot;:&quot;#ffffff&quot;,&quot;borderStyle&quot;:&quot;solid&quot;,&quot;color&quot;:&quot;#ffffff&quot;},&quot;settings&quot;:{&quot;showEvery&quot;:{&quot;each&quot;:5,&quot;unit&quot;:&quot;day&quot;},&quot;mobile&quot;:{},&quot;tablet&quot;:{},&quot;showBar&quot;:&quot;3_percent&quot;,&quot;position&quot;:&quot;header&quot;,&quot;showAfterClosing&quot;:false,&quot;layoutVariant&quot;:&quot;t-b-i&quot;,&quot;barPreset&quot;:&quot;default&quot;,&quot;zIndex&quot;:&quot;90&quot;,&quot;animationText&quot;:&quot;{\&quot;type\&quot;:\&quot;fide\&quot;,\&quot;propObject\&quot;:{\&quot;effect\&quot;:\&quot;fide\&quot;,\&quot;text\&quot;:[\&quot;Example\&quot;]}}&quot;,&quot;animationRepeat&quot;:false,&quot;animationSpeed&quot;:50},&quot;adaptability&quot;:{&quot;font&quot;:{&quot;mobile&quot;:5}},&quot;announcements&quot;:[{&quot;message&quot;:&quot;🎁 Special discount — 50% off all items&quot;,&quot;url&quot;:&quot;/collections/all&quot;,&quot;
1290colorBackground&quot;:&quot;linear-gradient(90deg, rgba(35, 21, 87, 1) 30%, rgba(255, 19, 97, 1) 100%)&quot;,&quot;backgroundImage&quot;:&quot;&quot;,&quot;opacityPercentage&quot;:100,&quot;selectTextAlign&quot;:&quot;center&quot;,&quot;colorText&quot;:&quot;#ffffff&quot;,&quot;scale&quot;:90,&quot;openNewWindow&quot;:false,&quot;borderSize&quot;:0,&quot;colorBorder&quot;:&quot;#000000&quot;,&quot;visible&quot;:true,&quot;patternBgUse&quot;:false,&quot;imageBgUse&quot;:true,&quot;backgroundPattern&quot;:&quot;&quot;,&quot;_id&quot;:&quot;689f9b4ac7858c67d61bc9fa&quot;}],&quot;barType&quot;:&quot;action-bar&quot;,&quot;banners&quot;:[],&quot;template&quot;:&quot;Action Bar — Dreamy Spectrum&quot;,&quot;published&quot;:true,&quot;inTesting&quot;:false}'
1291  
1292  data-block_id='689cf09eab9ff5d8a237e21b'
1293  data-type_bar=''
1294  
1295  style="height:max-content;width:100%;"
1296  
1297>
1298  
1299    <div class="qb-skeleton" style="display: grid;
1300      border-width: 2px 2px 2px 2px;
1301      border-style:solid;
1302      overflow: hidden;
1303      border-color:#ff9c27;
1304      border-radius: 10px 10px 10px 10px;
1305      background: #ffffff;
1306    
1307      grid-template-columns: 80% 20%;
1308    
1309      padding: 10px 17px;">
1310      <div class="qb-message qb-skeleton-item" style="font-size: 1.53em;color: #008bd8;">
1311        <p style='line-height: 1; margin: 0; padding: 5px; text-align: center'><p>⬅ Back to App Shop</p></p>
1312      </div>
1313      
1314      <div class="qb-button qb-skeleton-item"
1315           style="color:#ffffff;font-size:1.275em;display:flex;justify-content:right;align-items:center">
1316        <a href="#"
1317          style="padding: 5px 12px;background:#df65b2;border: 1px solid #ffffff;text-decoration:none;color:#ffffff;"></a>
1318      </div>
1319    </div>
1320  
1321</div>
1322
1323  <style>#qb-689cf09eab9ff5d8a237e21b {
1324          display: block;
1325          filter: blur(4px);
1326      }</style>
1327
1328
1329<script>
1330  (() => {
1331    const blockBar = document.querySelector('#qb-' + '689cf09eab9ff5d8a237e21b');
1332    const settingsObj = JSON.parse(blockBar.dataset.settings);
1333    if ('' !== 'section') {
1334      settingsObj.product.imgUrl = '' || '';
1335      settingsObj.product.handle = '' || '';
1336      settingsObj.collection.imgUrl = '' || '';
1337      settingsObj.collection.handle = '' || '';
1338    }
1339    blockBar.dataset.settings = JSON.stringify(settingsObj);
1340  })()
1341</script>
1341
1342<!-- END app snippet --><!-- BEGIN app snippet: checkShowBar -->
1343
1344
1345
1346    <style>#qb-689cf09eab9ff5d8a237e21b {
1347            display: none
1348        }</style>
1349
1350
1351
1352    
1352<script>
1353			(() => {
1354				const block = document.querySelector('#qb-689cf09eab9ff5d8a237e21b');
1355				block.dataset.branding = 'false';
1356
1357				const metafieldPage = ["otherPage"];
1358				const metafieldCustomPage = ["https:\/\/www.thephotostick.com\/products\/thephotostick-quick-click-remote-app-exclusive","https:\/\/www.thephotostick.com\/products\/thephotostick-travel-tech-case-app-exclusive","https:\/\/www.thephotostick.com\/products\/thephotostick-protective-usb-case-app-exclusive","https:\/\/www.thephotostick.com\/products\/thephotostick-keepsafe-pouch-app-exclusive"];
1359				const metafieldQueryParams = [];
1360				const metafieldDevice = "showAll";
1361				const metafieldVisitors = ["otherUrl"];
1362				const metafieldVisitorsCustom = [];
1363				const metafieldCountry = ["ALL"];
1364				const metafieldLanguage = [];
1365				const metafieldIsIncluded = "include";
1366				let showByLanguage = true;
1367				const include = !metafieldIsIncluded ? 'include' : metafieldIsIncluded;
1368				const languages = !metafieldLanguage ? [] : metafieldLanguage;
1369				const currentLocale = window?.Shopify?.locale
1370				if (include === 'include' && languages.length > 0) {
1371					showByLanguage = languages.includes(currentLocale);
1372				}
1373				if (include === 'exclude' && languages.length === 0) {
1374					showByLanguage = false;
1375				}
1376				if (include === 'exclude' && languages.length > 0) {
1377					showByLanguage = !languages.includes(currentLocale);
1378				}
1379				const page = metafieldPage || ["homePage", "productPage", "collectionPage", "cartPage", "blog", "otherPage"];
1380				const customPage = metafieldCustomPage || [];
1381				const queryParams = metafieldQueryParams || [];
1382				const device = metafieldDevice || 'showAll';
1383				const visitors = metafieldVisitors || ["facebook", "instagram", "twitter", "google", "pinterest", "otherUrl"];
1384				const customVisitors = metafieldVisitorsCustom || [];
1385				const country = metafieldCountry || ["ALL"];
1386
1387				if (page.length !== 6 || !page.includes('homePage', 'productPage', 'collectionPage', 'cartPage', 'blog', 'otherPage') ||
1388					customPage.length !== 0 || queryParams.length !== 0 || device !== 'showAll' || visitors.length !== 6 ||
1389					!visitors.includes("facebook", "instagram", "twitter", "google", "pinterest", "otherUrl") || customVisitors.length !== 0 ||
1390					country.length !== 1 || !country.includes('ALL') || !showByLanguage) {
1391					const block = document.querySelector('#qb-689cf09eab9ff5d8a237e21b');
1392					block.style.display = 'none';
1393				}
1394			})()
1395    </script>
1395
1396
1397
1398<script>
1399	(() => {
1400		const showAfterClosing = false;
1401		const block = document.querySelector('#qb-689cf09eab9ff5d8a237e21b');
1402		try {
1403			if (window.sessionStorage.getItem(`qb-action-bar-689cf09eab9ff5d8a237e21b-close`) && !showAfterClosing) {
1404				block.style.display = 'none';
1405				block.dataset.is_close_bar_initial = 'true';
1406			} else if (window.localStorage.getItem(`qb-action-bar-689cf09eab9ff5d8a237e21b-close`) && showAfterClosing) {
1407				const viewDate = window.localStorage.getItem(`qb-action-bar-689cf09eab9ff5d8a237e21b-view-date`)
1408					? new Date(window.localStorage.getItem(`qb-action-bar-689cf09eab9ff5d8a237e21b-view-date`))
1409					: null;
1410				const currentDate = new Date();
1411				if (viewDate && viewDate >= currentDate) {
1412					block.style.display = 'none';
1413					block.dataset.is_close_bar_initial = 'true';
1414				} else {
1415					window.localStorage.removeItem(`qb-action-bar-689cf09eab9ff5d8a237e21b-view-date`);
1416					window.localStorage.removeItem(`qb-action-bar-689cf09eab9ff5d8a237e21b-close`);
1417					block.dataset.is_close_bar_initial = 'false';
1418				}
1419			} else {
1420				block.dataset.is_close_bar_initial = 'false';
1421			}
1422		} catch (e) {
1423			block.dataset.is_close_bar_initial = 'false';
1424		}
1425	})()
1426</script>
1426
1427
1428
1429
1430
1431<!-- END app snippet --><!-- BEGIN app snippet: setScript -->
1431<script>
1432  (() => {
1433    const isScript = document.querySelector('#'+'qbActionBarScript');
1434    const extraScript = '';
1435    const extraScriptMarquee = ''
1436    if (!isScript) {
1437      if (extraScript) {
1438        const scriptCarousel = document.createElement('script');
1439        scriptCarousel.setAttribute('src', "");
1440        scriptCarousel.setAttribute('defer', '');
1441        document.body.appendChild(scriptCarousel);
1442      }
1443      if(extraScriptMarquee){
1444        const scriptMarquee = document.createElement('script');
1445        scriptMarquee.setAttribute('src', "");
1446        scriptMarquee.setAttribute('defer', '');
1447        document.body.appendChild(scriptMarquee);
1448      }
1449      const script = document.createElement('script');
1450      script.id = 'qbActionBarScript';
1451      script.setAttribute('src', "https://cdn.shopify.com/extensions/01a0275c-692d-786e-ac26-0da514a772cd/quicky-137/assets/actionBar.js");
1452      script.setAttribute('defer', '');
1453      document.body.appendChild(script);
1454    }
1455  })()
1456</script>
1456
1457<!-- END app snippet --><!-- BEGIN app snippet: commonStyle --><style data-shopify>
1458
1459    #qb-689cf09eab9ff5d8a237e21b > .qb-skeleton {
1460        display: none !important;
1461    }
1462    
1463            @font-face {
1464                font-family: Montserrat;
1465                font-display: swap;
1466                src: url("https://static.devit.software/fonts/Montserrat.woff") format("woff");
1467            }
1468    
1469    
1470            @font-face {
1471                font-family: Lato;
1472                font-display: swap;
1473                src: url("https://static.devit.software/fonts/Lato.woff") format("woff");
1474            }
1475    
1476    #qb-689cf09eab9ff5d8a237e21b .qb-message {
1477    
1478        font-family: Montserrat;
1479    
1480        font-weight: 500;
1481        font-style: normal;
1482    }
1483    #qb-689cf09eab9ff5d8a237e21b .qb-button {
1484    
1485        font-family: Lato;
1486    
1487        font-weight: 500;
1488        font-style: normal;
1489    }
1490
1491.qb-skeleton {font-size:10px;}.qb-skeleton-image{width:60px;height:60px;background-color:grey;border-radius:5px;}.qb-skeleton-multi-announcement{font-size:14px;}
1492@media (max-width:400px){.qb-skeleton{font-size:5px;display:flex !important;align-items:center;flex-direction: column !important;}.qb-skeleton-item:not(:first-child){margin-top:1rem;}.qb-skeleton-stop-war{text-align:center !important;}}
1493@media (min-width: 401px) and (max-width: 615px){.qb-skeleton{font-size:7px;}.qb-skeleton-image{width:40px;height:40px;}}
1494</style>
1495<!-- END app snippet -->
1496</div>
1497
1498<!-- END app block --><!-- BEGIN app block: shopify://apps/addify-country-restrictions/blocks/country-restriction/8f1a8878-9149-4768-b487-01b94759156f -->
1499<input type="hidden" id="adfcr-product-id" value="">
1500<script defer="defer">
1501  var afcr_curr_collections = [];
1502  
1503  var afcr_collection_id = '';
1504  var afcr_page_type = 'all';
1505  
1506
1507  
1508</script>
1508
1509
1510<input type="hidden" value="thephotostick.myshopify.com" id="liquid_shop_name">
1511
1512<input type="hidden" id="adfcr-page-type" value="search">
1513
1514<input type="hidden" id="adfcr-product-collections" value="">
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524<input type="hidden" id="adfcr-product-tags" value="">
1525
1526<script src="https://cdn.shopify.com/extensions/01a0d2cf-3e43-7c1b-900d-e8032dd8cd36/country-restriction-673/assets/afcr-theme-script.js" defer="defer"></script>
1526
1527
1528
1529
1530<!-- END app block -->
1530<script src="https://cdn.shopify.com/extensions/01a0d1ca-e050-7c6d-ad90-4b86b0957cd6/v2.14.144/assets/visitor-label-script.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1530
1530
1531<script src="https://cdn.shopify.com/extensions/01a014da-94f2-7b4b-a112-bb52e724a7a8/announcement-bar-with-slider-90/assets/ws-announcement.js" type="text/javascript" defer="defer"></script>
1531
1532<link href="https://cdn.shopify.com/extensions/01a0d2cf-3e43-7c1b-900d-e8032dd8cd36/country-restriction-673/assets/afcr-theme-style.css" rel="stylesheet" type="text/css" media="all">
1533<script src="https://cdn.shopify.com/extensions/01a0b7a6-6b2a-7126-be17-93581506982e/applovin-shop-integration-97/assets/app-embed.js" type="text/javascript" defer="defer"></script>
1533
1534<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1535<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: 16814029,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "search"};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 1535
1535
1536<script>
1537  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1538</script>
vendor: 1 bytes, line 1538
1538
1539<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}
1539).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: 16814029,storefrontBaseUrl: "https://www.thephotostick.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.thephotostick.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b"],webPixelsConfigList: [{"id":"2867724424","configuration":"{\"accountID\":\"abconvert\",\"shopID\":\"thephotostick.myshopify.com\",\"debug\":\"false\",\"apiEndpoint\":\"https:\\\/\\\/app.abconvert.io\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"54eb69ada60c4e271588cac2428772c3","type":"APP","apiClientId":11583619073,"privacyPurposes":["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"}
1539,{"id":"1753645192","configuration":"{\"projectId\":\"vt5ci30j4z\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1722941576","configuration":"{\"accountID\":\"VDt99H\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1438679176","configuration":"{\"pixelCode\":\"D4FPSHRC77U5N1GROPQG\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"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":[]},"dataSharingState":"optimized"},{"id":"1300627592","configuration":"{\"appProxyPath\":\"\/apps\/pagefly\",\"analyticsEndpoint\":\"undefined\/analytics-v2\/events\",\"focusDuration\":\"3\",\"enableAdvancedTracking\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1e023fb0c721518c0dce4129e4d87a86","type":"APP","apiClientId":1743893,"privacyPurposes":["ANALYTICS","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1165983880","configuration":"{\"shopId\":\"thephotostick.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"3b0a66505e38d4995b6d711dbc972bc9","type":"APP","apiClientId":2753413,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1090879624","configuration":"{\"shopifyDomain\":\"thephotostick.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"14b26290829f755f27eefbf196eb8024","type":"APP","apiClientId":2935586817,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"895189128","configuration":"{\"eventKey\":\"c958c4cb-9164-4dd4-a2a6-6311b480d53d\",\"name\":\"offline_thephotostick.myshopify.com - Axon Pixel\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"59063c86dca90ebaa562063a0c13be50","type":"APP","apiClientId":256560922625,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"711884936","configuration":"{\"shop\":\"thephotostick.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8191b3afdf35502386f815b4700e2fd8","type":"APP","apiClientId":3738181,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"684720264","configuration":"{\"pixel_id\":\"1413319306042591\",\"pixel_type\":\"facebook_pixel\"}","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":"584122504","configuration":"{\"tagID\":\"2614441559962\"}","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":[]},"dataSharingState":"optimized"},{"id":"477167752","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"GT-P8Z9KGF\\\",\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-R2GFEVLLEV\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-R2GFEVLLEV\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-R2GFEVLLEV\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"447217800","configuration":"{\"myshopifyDomain\":\"thephotostick.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":"34242696","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Buy With Prime Pixel"},{"id":"48300168","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":[],"name":"EasyTag - GTM"}
1539,{"id":"103350408","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"5","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"FF Conv Pixel"},{"id":"108429448","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Retention"},{"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":"ThePhotoStick","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"thephotostick.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.thephotostick.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.thephotostick.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"148984823944","themeStoreId":"2412","themePublished":"true","eventMetadataId":"fce2c910-205a-4822-82a6-ef3c7a4d6b47","pageType":"searchresults","shopId":"16814029","storefrontBaseUrl":"https:\/\/www.thephotostick.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}],[\"search_submitted\",{\"searchResult\":{\"query\":\"\",\"productVariants\":[]}}]]"});})();</script>
1539<script>
1540  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1541  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1542  window.ShopifyAnalytics.meta.currency = 'USD';
1543  var meta = {"products":[],"page":{"pageType":"searchresults","requestId":"994bd145-f463-44ed-94db-101f4ca4a9cb-1790247304"}};
1544  for (var attr in meta) {
1545    window.ShopifyAnalytics.meta[attr] = meta[attr];
1546  }
1547</script>
vendor: 1 bytes, line 1547
1547
1548<script class="analytics">
1549  (function () {
1550    var customDocumentWrite = function(content) {
1551      var jquery = null;
1552
1553      if (window.jQuery) {
1554        jquery = window.jQuery;
1555      } else if (window.Checkout && window.Checkout.$) {
1556        jquery = window.Checkout.$;
1557      }
1558
1559      if (jquery) {
1560        jquery('body').append(content);
1561      }
1562    };
1563
1564    var hasLoggedConversion = function(token) {
1565      if (token) {
1566        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1567      }
1568      return false;
1569    }
1570
1571    var setCookieIfConversion = function(token) {
1572      if (token) {
1573        var twoMonthsFromNow = new Date(Date.now());
1574        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1575
1576        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1577      }
1578    }
1579
1580    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1581    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1582    if (trekkie.integrations) {
1583      return;
1584    }
1585    trekkie.methods = [
1586      'identify',
1587      'page',
1588      'ready',
1589      'track',
1590      'trackForm',
1591      'trackLink'
1592    ];
1593    trekkie.factory = function(method) {
1594      return function() {
1595        var args = Array.prototype.slice.call(arguments);
1596        args.unshift(method);
1597        trekkie.push(args);
1598        if (method == 'track' || method == 'page') {
1599          try {
1600            if (window.__TREKKIE_SHIM_QUEUE == null) {
1601              window.__TREKKIE_SHIM_QUEUE = [];
1602            }
1603            window.__TREKKIE_SHIM_QUEUE.push({
1604              from: 'trekkie-stub',
1605              method: method,
1606              args: args.slice(1)
1607            });
1608          } catch (e) {
1609            // no-op
1610          }
1611        }
1612        return trekkie;
1613      };
1614    };
1615    for (var i = 0; i < trekkie.methods.length; i++) {
1616      var key = trekkie.methods[i];
1617      trekkie[key] = trekkie.factory(key);
1618    }
1619    trekkie.load = function(config) {
1620      trekkie.config = config || {};
1621      trekkie.config.initialDocumentCookie = document.cookie;
1622      var first = document.getElementsByTagName('script')[0];
1623var script = document.createElement('script');
1624script.type = 'text/javascript';
1625script.onerror = function(e) {
1626  var scriptFallback = document.createElement('script');
1627  scriptFallback.type = 'text/javascript';
1628  scriptFallback.onerror = function(error) {
1629          var Monorail = {
1630      produce: function produce(monorailDomain, schemaId, payload) {
1631        var currentMs = new Date().getTime();
1632        var event = {
1633          schema_id: schemaId,
1634          payload: payload,
1635          metadata: {
1636            event_created_at_ms: currentMs,
1637            event_sent_at_ms: currentMs
1638          }
1639        };
1640        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1641      },
1642      sendRequest: function sendRequest(endpointUrl, payload) {
1643        // Try the sendBeacon API
1644        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1645          var blobData = new window.Blob([payload], {
1646            type: 'text/plain'
1647          });
1648
1649          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1650            return true;
1651          } // sendBeacon was not successful
1652
1653        } // XHR beacon
1654
1655        var xhr = new XMLHttpRequest();
1656
1657        try {
1658          xhr.open('POST', endpointUrl);
1659          xhr.setRequestHeader('Content-Type', 'text/plain');
1660          xhr.send(payload);
1661        } catch (e) {
1662          console.log(e);
1663        }
1664
1665        return false;
1666      },
1667      isIos12: function isIos12() {
1668        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1669      }
1670    };
1671    Monorail.produce('monorail-edge.shopifysvc.com',
1672      'trekkie_storefront_load_errors/1.1',
1673      {shop_id: 16814029,
1674      theme_id: 148984823944,
1675      app_name: "storefront",
1676      context_url: window.location.href,
1677      source_url: "//www.thephotostick.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
1678
1679  };
1680  scriptFallback.async = true;
1681  scriptFallback.src = '//www.thephotostick.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
1682  first.parentNode.insertBefore(scriptFallback, first);
1683};
1684script.async = true;
1685script.src = '//www.thephotostick.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
1686first.parentNode.insertBefore(script, first);
1687
1688    };
1689    trekkie.load(
1690      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":16814029,"isMerchantRequest":null,"themeId":148984823944,"themeCityHash":"13901076500434974281","contentLanguage":"en","currency":"USD","eventMetadataId":"fce2c910-205a-4822-82a6-ef3c7a4d6b47"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1691    );
1692
1693    var loaded = false;
1694    trekkie.ready(function() {
1695      if (loaded) return;
1696      loaded = true;
1697
1698      window.ShopifyAnalytics.lib = window.trekkie;
1699
1700      var originalDocumentWrite = document.write;
1701      document.write = customDocumentWrite;
1702      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1703      document.write = originalDocumentWrite;
1704
1705      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1706      var token = match? match[1]: undefined;
1707      if (!hasLoggedConversion(token)) {
1708        setCookieIfConversion(token);
1709        window.ShopifyAnalytics.lib.track("Performed Search",{"query":null},undefined,undefined,{"shopifyEmitted":true});
1710      }
1711    });
1712
1713    window.ShopifyAnalytics.lib.page(null,{"pageType":"searchresults","requestId":"994bd145-f463-44ed-94db-101f4ca4a9cb-1790247304","shopifyEmitted":true});
1714
1715    var eventsListenerScript = document.createElement('script');
1716    eventsListenerScript.async = true;
1717    eventsListenerScript.src = "//www.thephotostick.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1718    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1719})();</script>
vendor: 1 bytes, line 1719
1719
1720<script
1721  defer
1722  src="https://www.thephotostick.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1723  data-application="storefront-renderer"
1724  data-shop-id="16814029"
1725  data-render-region="gcp-us-central1"
1726  data-page-type="search"
1727  data-theme-instance-id="148984823944"
1728  data-theme-name="Concept"
1729  data-theme-version="5.3.3"
1730  data-monorail-region="shop_domain"
1731  data-resource-timing-sampling-rate="10"
1732  data-shs="true"
1733  data-shs-beacon="true"
1734  data-shs-export-with-fetch="true"
1735  data-shs-logs-sample-rate="1"
1736  data-shs-beacon-endpoint="https://www.thephotostick.com/api/collect"
1737></script>
vendor: 1 bytes, line 1737
1737
1738<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
1738<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"16814029","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":false},"visitor":{"country":"US","language":"en"}}</script>
1738
1739<meta name="shopify-y" content="31292324-d753-42d2-899d-5b9ddce0aa52" data-expiration="1821804904000"><meta name="shopify-s" content="2f279c70-4877-4fc5-a420-c1dbae7ed5cc" data-expiration="1790249104000"><meta name="new-cookie-storage-activated" content="t">
1740</head>
1741
1742  <body class="template-search" data-rounded-button="round" data-rounded-input="round-slight" data-rounded-block="round" data-rounded-card="round" data-button-hover="standard" data-lazy-image data-modal-swipe-only data-title-animation data-page-rendering>
1743  <a class="sr-only skip-link" href="#MainContent">Skip to content</a><mouse-cursor class="mouse-cursor z-50 fixed select-none flex items-center justify-center pointer-events-none rounded-full" role="button" aria-label="Close" aria-hidden="true">
1744  <svg class="icon icon-cursor" stroke="currentColor" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1745    <path d="M10 30L30 10M10 10L30 30" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path>
1746  </svg>
1747</mouse-cursor>
1748<!-- BEGIN sections: header-group -->
1749<div id="shopify-section-sections--20232691351688__announcement-bar" class="shopify-section shopify-section-group-header-group topbar-section"><style>
1750    :root {
1751      --topbar-height: var(--sp-12);
1752    }
1753    
1754    @media screen and (min-width: 1536px) {
1755      :root {
1756        --topbar-height: var(--sp-14);
1757      }
1758    }
1759
1760    #shopify-section-sections--20232691351688__announcement-bar {
1761      --gradient-background: #008bd8;
1762      --color-background: 0 139 216;
1763      --color-foreground: 250 250 250;
1764      --color-highlight: 255 221 191;
1765    }
1766  </style><nav class="topbar topbar--center topbar--only page-width page-width--full section section--rounded relative grid py-0 h-full w-full items-center" aria-label="Announcement bar"><div class="announcement-bar h-full flex justify-center lg:justify-center relative">
1767  <announcement-bar id="Slider-sections--20232691351688__announcement-bar" class="announcement__slides" autoplay autoplay-speed="5"><div class="announcement__slide flex h-full" ><div class="announcement__content flex items-center gap-2 rte"><span class="announcement-icon hidden md:block"><svg class="icon icon-truck icon-xs stroke-1" viewBox="0 0 16 16" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1768      <path d="M6.66675 12.6667H9.33342M6.66675 12.6667C6.66675 13.7712 5.77132 14.6667 4.66675 14.6667C3.56218 14.6667 2.66675 13.7712 2.66675 12.6667M6.66675 12.6667C6.66675 11.5621 5.77132 10.6667 4.66675 10.6667C3.56218 10.6667 2.66675 11.5621 2.66675 12.6667M9.33342 12.6667C9.33342 13.7712 10.2288 14.6667 11.3334 14.6667C12.438 14.6667 13.3334 13.7712 13.3334 12.6667M9.33342 12.6667C9.33342 11.5621 10.2288 10.6667 11.3334 10.6667C12.438 10.6667 13.3334 11.5621 13.3334 12.6667M13.3334 12.6667V12.6667C14.438 12.6667 15.3334 11.7712 15.3334 10.6667V4.53334C15.3334 3.41324 15.3334 2.85319 15.1154 2.42536C14.9237 2.04904 14.6177 1.74308 14.2414 1.55133C13.8136 1.33334 13.2535 1.33334 12.1334 1.33334H10.3334C9.40153 1.33334 8.93559 1.33334 8.56805 1.48558C8.07799 1.68857 7.68864 2.07792 7.48566 2.56798C7.33342 2.93552 7.33342 3.40146 7.33342 4.33334V4.33334C7.33342 5.26523 7.33342 5.73117 7.18117 6.09871C6.97819 6.58877 6.58884 6.97811 6.09878 7.1811C5.73124 7.33334 5.2653 7.33334 4.33341 7.33334H1.00008M2.66675 12.6667V12.6667C2.20176 12.6667 1.96927 12.6667 1.77852 12.6156C1.26088 12.4769 0.85656 12.0725 0.717859 11.5549C0.666748 11.3642 0.666748 11.1317 0.666748 10.6667V8.86795C0.666748 8.44463 0.666748 8.23297 0.688385 8.0258C0.734513 7.58411 0.853872 7.15318 1.04157 6.7507C1.1296 6.56192 1.2385 6.38042 1.4563 6.01743V6.01743C1.78307 5.47281 1.94646 5.20049 2.14753 4.97976C2.57779 4.50743 3.14762 4.18479 3.77402 4.05886C4.06674 4.00001 4.38431 4.00001 5.01944 4.00001H7.33342" stroke-linecap="round" stroke-linejoin="round"/>
1769    </svg></span><p class="announcement-text leading-tight">FREE shipping on U.S. orders $50+</p></div></div></announcement-bar></div>
1770</nav>
1771</div><div id="shopify-section-sections--20232691351688__header" class="shopify-section shopify-section-group-header-group header-section"><style>
1772  #shopify-section-sections--20232691351688__header {
1773    --section-padding-top: 32px;
1774    --section-padding-bottom: 32px;
1775    --color-background: 255 255 255;
1776    --color-foreground: 23 23 23;
1777    --color-transparent: 23 23 23;
1778    --color-localization: ;
1779  }
1780</style><menu-drawer id="MenuDrawer" class="menu-drawer drawer drawer--start z-30 fixed bottom-0 left-0 h-full w-full pointer-events-none"
1781  data-section-id="sections--20232691351688__header"
1782  hidden
1783>
1784  <overlay-element class="overlay fixed-modal invisible opacity-0 fixed bottom-0 left-0 w-full h-screen pointer-events-none" aria-controls="MenuDrawer" aria-expanded="false"></overlay-element>
1785  <div class="drawer__inner z-10 absolute top-0 flex flex-col w-full h-full overflow-hidden">
1786    <gesture-element class="drawer__header flex justify-between opacity-0 invisible relative" tabindex="0">
1787      <span class="drawer__title heading lg:text-3xl text-2xl leading-none tracking-tight"></span>
1788      <button class="button button--secondary button--close drawer__close hidden sm:flex items-center justify-center" type="button" is="hover-button" aria-controls="MenuDrawer" aria-expanded="false" aria-label="Close">
1789        <span class="btn-fill" data-fill></span>
1790        <span class="btn-text"><svg class="icon icon-close icon-sm" viewBox="0 0 20 20" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1791      <path stroke-linecap="round" stroke-linejoin="round" d="M5 15L15 5M5 5L15 15"></path>
1792    </svg></span>
1793      </button>
1794    </gesture-element>
1795    <div class="drawer__content opacity-0 invisible flex flex-col h-full grow shrink">
1796      <nav class="relative grow overflow-hidden" role="navigation">
1797        <ul class="drawer__scrollable drawer__menu relative w-full h-full" role="list" data-parent><li class="drawer__menu-group"><a class="drawer__menu-item block heading text-2xl leading-none tracking-tight" href="/">Home</a></li><li class="drawer__menu-group"><details is="menu-details">
1798  <summary class="drawer__menu-item block cursor-pointer relative" aria-expanded="false">
1799    <span class="heading text-2xl leading-none tracking-tight"><api-button class="api-only" data-id="DrawerSubMenu-sections--20232691351688__header-2" data-section-id="sections--20232691351688__header"></api-button>Shop Products</span><svg class="icon icon-chevron-right icon-lg" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1800      <path stroke-linecap="round" stroke-linejoin="round" d="M10 6L16 12L10 18"></path>
1801    </svg></summary>
1802  <div class="drawer__submenu z-1 absolute top-0 left-0 flex flex-col w-full h-full" data-parent><button type="button" class="tracking-tight heading text-base shrink-0 flex items-center gap-3 w-full" data-close>Shop Products</button><div id="DrawerSubMenu-sections--20232691351688__header-2" class="drawer__scrollable flex flex-col h-full"></div></div>
1803</details>
1804</li><li class="drawer__menu-group"><a class="drawer__menu-item block heading text-2xl leading-none tracking-tight" href="/pages/about-us">About Us</a></li><li class="drawer__menu-group"><a class="drawer__menu-item block heading text-2xl leading-none tracking-tight" href="https://www.thephotostick.com/blogs/stories-and-inspiration">ThePhotoStick® Blog</a></li><li class="drawer__menu-group"><details is="menu-details">
1805  <summary class="drawer__menu-item block cursor-pointer relative" aria-expanded="false">
1806    <span class="heading text-2xl leading-none tracking-tight"><api-button class="api-only" data-id="DrawerSubMenu-sections--20232691351688__header-5" data-section-id="sections--20232691351688__header"></api-button>Support</span><svg class="icon icon-chevron-right icon-lg" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1807      <path stroke-linecap="round" stroke-linejoin="round" d="M10 6L16 12L10 18"></path>
1808    </svg></summary>
1809  <div class="drawer__submenu z-1 absolute top-0 left-0 flex flex-col w-full h-full" data-parent><button type="button" class="tracking-tight heading text-base shrink-0 flex items-center gap-3 w-full" data-close>Support</button><div id="DrawerSubMenu-sections--20232691351688__header-5" class="drawer__scrollable flex flex-col h-full"></div></div>
1810</details>
1811</li></ul>
1812      </nav>
1813      <div class="drawer__footer grid w-full"><div class="drawer__footer-bottom flex items-center justify-between gap-6"><shopify-store store-domain="https://www.thephotostick.com" country="US" language="en"></shopify-store>
1814<shopify-account menu="customer-account-main-menu">
1815              <hover-element class="button button--primary icon-with-text" slot="signed-out-avatar">
1816                <span class="btn-fill" data-fill></span>
1817                <span class="btn-text"><svg class="icon icon-account-2 icon-xs" viewBox="0 0 16 17" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1818      <rect width="6.5" height="6.5" x="4.75" y="1.917" rx="3.25"></rect>
1819      <path stroke-linecap="round" d="M8 10.834c1 0 2.667.222 3 .333.333.11 2.467.533 3 1.333.667 1 .667 1.334.667 2.667M8 10.834c-1 0-2.667.222-3 .333-.333.11-2.467.533-3 1.333-.667 1-.667 1.334-.667 2.667"></path>
1820    </svg>Login</span>
1821              </hover-element>
1822            </shopify-account></div>
1823      </div>
1824    </div>
1825  </div>
1826</menu-drawer>
1827<header data-section-id="sections--20232691351688__header" class="header header--left-center mobile:header--center page-width page-width--full section section--rounded section--padding grid items-center z-20 relative w-full" is="sticky-header" data-sticky-type="always"><div class="header__icons header__icons--start flex justify-start z-2">
1828  <div class="header__buttons flex items-center gap-1d5"><a href="/search" class="search-drawer-button flex items-center justify-center" is="magnet-link" aria-controls="SearchDrawer" aria-expanded="false" >
1829        <span class="sr-only">Search</span><svg class="icon icon-search icon-md" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1830      <path stroke-linecap="round" d="m21 21-3.636-3.636m0 0A9 9 0 1 0 4.636 4.636a9 9 0 0 0 12.728 12.728Z"></path>
1831    </svg></a><button class="menu-drawer-button flex items-center gap-2d5 justify-center" type="button" is="magnet-button" aria-controls="MenuDrawer" aria-expanded="false">
1832        <span class="sr-only">Site navigation</span><svg class="icon icon-hamburger icon-md" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1833      <path stroke-linecap="round" d="M3 6H21M3 12H11M3 18H16"></path>
1834    </svg></button></div>
1835</div>
1836<div class="header__logo flex justify-center z-2" itemscope itemtype="http://schema.org/Organization"><a
1837      href="/"
1838      itemprop="url"
1839      class="header__logo-link has-white-logo flex items-center relative"
1840    >
1841      <span class="sr-only">ThePhotoStick</span><img src="//www.thephotostick.com/cdn/shop/files/TPSO_Logo.pdf.png?v=1774382146&amp;width=5760" alt="" srcset="//www.thephotostick.com/cdn/shop/files/TPSO_Logo.pdf.png?v=1774382146&amp;width=225 225w, //www.thephotostick.com/cdn/shop/files/TPSO_Logo.pdf.png?v=1774382146&amp;width=300 300w, //www.thephotostick.com/cdn/shop/files/TPSO_Logo.pdf.png?v=1774382146&amp;width=450 450w" width="5982" height="2852" loading="eager" fetchpriority="low" sizes="150px" style="max-height: 72px;max-width: 150px;" itemprop="logo" is="lazy-image" class="logo hidden md:block"><img src="//www.thephotostick.com/cdn/shop/files/TPSO_Logo_Color_Transparent.png?v=1687378839&amp;width=5318" alt="" srcset="//www.thephotostick.com/cdn/shop/files/TPSO_Logo_Color_Transparent.png?v=1687378839&amp;width=105 105w, //www.thephotostick.com/cdn/shop/files/TPSO_Logo_Color_Transparent.png?v=1687378839&amp;width=140 140w, //www.thephotostick.com/cdn/shop/files/TPSO_Logo_Color_Transparent.png?v=1687378839&amp;width=210 210w" width="5318" height="2535" loading="eager" fetchpriority="low" sizes="70px" style="max-height: 33px;max-width: 70px;" itemprop="logo" is="lazy-image" class="logo md:hidden"><img src="//www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=1250" alt="" srcset="//www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=225 225w, //www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=300 300w, //www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=450 450w" width="1250" height="625" loading="lazy" fetchpriority="low" sizes="150px" style="max-height: 75px;max-width: 150px;" itemprop="logo" is="lazy-image" class="white-logo hidden md:block absolute pointer-events-none"><img src="//www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=1250" alt="" srcset="//www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=105 105w, //www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=140 140w, //www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=210 210w" width="1250" height="625" loading="lazy" fetchpriority="low" sizes="70px" style="max-height: 35px;max-width: 70px;" itemprop="logo" is="lazy-image" class="white-logo md:hidden absolute pointer-events-none"></a></div><div class="header__navigation hidden lg:flex lg:gap-5 lg:justify-start">
1842    <nav class="header__menu hidden lg:flex" role="navigation" aria-label="Primary"><ul class="flex flex-wrap list-menu with-dot" role="list"><li>
1843        <a href="/" class="menu__item text-sm-lg flex items-center font-medium z-2 relative cursor-pointer" is="magnet-link" aria-label="Home">
1844          <span class="btn-text" data-text>Home</span></a>
1845      </li><li>
1846        <details is="details-dropdown" trigger="hover" level="top">
1847          <summary data-link="/collections/all-products" class="z-2 relative" aria-haspopup="true" aria-expanded="false" aria-label="Shop Products">
1848            <magnet-element class="menu__item text-sm-lg flex items-center font-medium z-2 relative cursor-pointer">
1849              <span class="btn-text" data-text>Shop Products</span></magnet-element>
1850          </summary>
1851          <div id="DropdownMenu-sections--20232691351688__header-2-start" class="dropdown opacity-0 invisible absolute top-0 max-w-full pointer-events-none">
1852            <div class="dropdown__container relative"><span class="dropdown__corner corner left top flex absolute pointer-events-none">
1853  <svg class="w-full h-auto" viewBox="0 0 101 101" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
1854    <path fill-rule="evenodd" clip-rule="evenodd" d="M101 0H0V101H1C1 45.7715 45.7715 1 101 1V0Z"></path>
1855    <path d="M1 101C1 45.7715 45.7715 1 101 1" fill="none"></path>
1856  </svg>
1857</span>
1858<span class="dropdown__corner corner right top flex absolute pointer-events-none">
1859  <svg class="w-full h-auto" viewBox="0 0 101 101" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
1860    <path fill-rule="evenodd" clip-rule="evenodd" d="M101 0H0V101H1C1 45.7715 45.7715 1 101 1V0Z"></path>
1861    <path d="M1 101C1 45.7715 45.7715 1 101 1" fill="none"></path>
1862  </svg>
1863</span><ul class="dropdown__nav flex flex-col gap-1d5 xl:gap-2" role="list"><li class="opacity-0">
1864                      <p>
1865                        <a href="/products/thephotostick-omni-x" class="reversed-link text-sm-base">NEW! Portable Photo & Video Backup</a>
1866                      </p>
1867                    </li><li class="opacity-0">
1868                      <p>
1869                        <a href="/collections/shop-thephotostick-omni" class="reversed-link text-sm-base">ThePhotoStick Omni Classic</a>
1870                      </p>
1871                    </li><li class="opacity-0">
1872                      <p>
1873                        <a href="/collections/shop-gear" class="reversed-link text-sm-base">ThePhotoStick Gear</a>
1874                      </p>
1875                    </li><li class="opacity-0">
1876                      <p>
1877                        <a href="/collections/shop-keepsake-collection" class="reversed-link text-sm-base">ThePhotoStick Keepsakes</a>
1878                      </p>
1879                    </li><li class="opacity-0">
1880                      <p>
1881                        <a href="/collections/shop-bundle-deals" class="reversed-link text-sm-base">Bundle Deals</a>
1882                      </p>
1883                    </li><li class="opacity-0">
1884                      <p>
1885                        <a href="/collections/shop-all-products" class="reversed-link text-sm-base">Shop All Products</a>
1886                      </p>
1887                    </li></ul>
1888            </div>
1889          </div>
1890        </details>
1891      </li><li>
1892        <a href="/pages/about-us" class="menu__item text-sm-lg flex items-center font-medium z-2 relative cursor-pointer" is="magnet-link" aria-label="About Us">
1893          <span class="btn-text" data-text>About Us</span></a>
1894      </li><li>
1895        <a href="https://www.thephotostick.com/blogs/stories-and-inspiration" class="menu__item text-sm-lg flex items-center font-medium z-2 relative cursor-pointer" is="magnet-link" aria-label="ThePhotoStick® Blog">
1896          <span class="btn-text" data-text>ThePhotoStick® Blog</span></a>
1897      </li><li>
1898        <details is="details-dropdown" trigger="hover" level="top">
1899          <summary data-link="/pages/support-center" class="z-2 relative" aria-haspopup="true" aria-expanded="false" aria-label="Support">
1900            <magnet-element class="menu__item text-sm-lg flex items-center font-medium z-2 relative cursor-pointer">
1901              <span class="btn-text" data-text>Support</span></magnet-element>
1902          </summary>
1903          <div id="DropdownMenu-sections--20232691351688__header-5-start" class="dropdown opacity-0 invisible absolute top-0 max-w-full pointer-events-none">
1904            <div class="dropdown__container relative"><span class="dropdown__corner corner left top flex absolute pointer-events-none">
1905  <svg class="w-full h-auto" viewBox="0 0 101 101" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
1906    <path fill-rule="evenodd" clip-rule="evenodd" d="M101 0H0V101H1C1 45.7715 45.7715 1 101 1V0Z"></path>
1907    <path d="M1 101C1 45.7715 45.7715 1 101 1" fill="none"></path>
1908  </svg>
1909</span>
1910<span class="dropdown__corner corner right top flex absolute pointer-events-none">
1911  <svg class="w-full h-auto" viewBox="0 0 101 101" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
1912    <path fill-rule="evenodd" clip-rule="evenodd" d="M101 0H0V101H1C1 45.7715 45.7715 1 101 1V0Z"></path>
1913    <path d="M1 101C1 45.7715 45.7715 1 101 1" fill="none"></path>
1914  </svg>
1915</span><ul class="dropdown__nav flex flex-col gap-1d5 xl:gap-2" role="list"><li class="opacity-0">
1916                      <p>
1917                        <a href="/pages/support-center" class="reversed-link text-sm-base">Support Center</a>
1918                      </p>
1919                    </li><li class="opacity-0">
1920                      <p>
1921                        <a href="https://www.thephotostick.com/a/faq" class="reversed-link text-sm-base">FAQs</a>
1922                      </p>
1923                    </li><li class="opacity-0">
1924                      <p>
1925                        <a href="https://www.thephotostick.com/blogs/help-and-troubleshooting/" class="reversed-link text-sm-base">Help & Troubleshooting</a>
1926                      </p>
1927                    </li><li class="opacity-0">
1928                      <p>
1929                        <a href="/pages/support-system-requirements" class="reversed-link text-sm-base">System Requirements</a>
1930                      </p>
1931                    </li><li class="opacity-0">
1932                      <p>
1933                        <a href="/pages/support-shipping-information" class="reversed-link text-sm-base">Shipping Information</a>
1934                      </p>
1935                    </li><li class="opacity-0">
1936                      <p>
1937                        <a href="/pages/support-return-and-refund-process" class="reversed-link text-sm-base">Returns and Refunds</a>
1938                      </p>
1939                    </li></ul>
1940            </div>
1941          </div>
1942        </details>
1943      </li></ul>
1944</nav>
1945  </div><div class="header__icons header__icons--end flex justify-end z-2">
1946  <div class="header__buttons flex items-center gap-1d5"><a href="/search" class="search-drawer-button flex items-center justify-center" is="magnet-link" aria-controls="SearchDrawer" aria-expanded="false" >
1947        <span class="sr-only">Search</span><svg class="icon icon-search icon-md" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1948      <path stroke-linecap="round" d="m21 21-3.636-3.636m0 0A9 9 0 1 0 4.636 4.636a9 9 0 0 0 12.728 12.728Z"></path>
1949    </svg></a><shopify-account class="hidden lg:flex items-center justify-center" menu="customer-account-main-menu">
1950        <magnet-element class="block" slot="signed-out-avatar">
1951          <span class="sr-only">Login</span><svg class="icon icon-account icon-md" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1952      <rect width="10.5" height="10.5" x="6.75" y="1.75" rx="5.25"></rect>
1953      <path stroke-linecap="round" d="M12 15.5c1.5 0 4 .333 4.5.5.5.167 3.7.8 4.5 2 1 1.5 1 2 1 4m-10-6.5c-1.5 0-4 .333-4.5.5-.5.167-3.7.8-4.5 2-1 1.5-1 2-1 4"></path>
1954    </svg></magnet-element>
1955      </shopify-account><a href="/cart" class="cart-drawer-button flex items-center justify-center relative" is="magnet-link" aria-controls="CartDrawer" aria-expanded="false" data-no-instant>
1956        <span class="sr-only">Cart</span><svg class="icon icon-cart icon-md" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1957          <path stroke-linecap="round" stroke-linejoin="round" d="M1 1h.5v0c.226 0 .339 0 .44.007a3 3 0 0 1 2.62 1.976c.034.095.065.204.127.42l.17.597m0 0 1.817 6.358c.475 1.664.713 2.496 1.198 3.114a4 4 0 0 0 1.633 1.231c.727.297 1.592.297 3.322.297h2.285c1.75 0 2.626 0 3.359-.302a4 4 0 0 0 1.64-1.253c.484-.627.715-1.472 1.175-3.161l.06-.221c.563-2.061.844-3.092.605-3.906a3 3 0 0 0-1.308-1.713C19.92 4 18.853 4 16.716 4H4.857ZM12 20a2 2 0 1 1-4 0 2 2 
19570 0 1 4 0Zm8 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z"></path>
1958        </svg><cart-count class="count absolute top-0 right-0 text-xs" aria-label="0 items" hidden>0</cart-count>
1959      </a><button class="menu-drawer-button flex items-center gap-2d5 justify-center" type="button" is="magnet-button" aria-controls="MenuDrawer" aria-expanded="false">
1960        <span class="sr-only">Site navigation</span><svg class="icon icon-hamburger icon-md" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
1961      <path stroke-linecap="round" d="M3 6H21M3 12H11M3 18H16"></path>
1962    </svg></button></div>
1963</div>
1964<span class="header__corner corner left bottom flex absolute pointer-events-none">
1965  <svg class="w-full h-auto" viewBox="0 0 101 101" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
1966    <path fill-rule="evenodd" clip-rule="evenodd" d="M101 0H0V101H1C1 45.7715 45.7715 1 101 1V0Z"></path>
1967    <path d="M1 101C1 45.7715 45.7715 1 101 1" fill="none"></path>
1968  </svg>
1969</span>
1970<span class="header__corner corner right bottom flex absolute pointer-events-none">
1971  <svg class="w-full h-auto" viewBox="0 0 101 101" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
1972    <path fill-rule="evenodd" clip-rule="evenodd" d="M101 0H0V101H1C1 45.7715 45.7715 1 101 1V0Z"></path>
1973    <path d="M1 101C1 45.7715 45.7715 1 101 1" fill="none"></path>
1974  </svg>
1975</span><span class="header__cutout cutout opacity-0 absolute left-0 top-100 w-full pointer-events-none"></span></header><span class="overlay opacity-0 z-1 fixed left-0 w-full pointer-events-none"></span>
1976</div>
1977<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->
1978<div id="shopify-section-sections--20232691384456__cart-drawer" class="shopify-section shopify-section-group-overlay-group">
1978<script src="//www.thephotostick.com/cdn/shop/t/45/assets/cart.js?v=156958169961437665681778619151" defer></script>
1978<cart-drawer id="CartDrawer" class="cart-drawer drawer drawer--end z-35 fixed bottom-0 left-0 h-full w-full pointer-events-none"
1979    role="dialog"
1980    aria-modal="true"
1981    aria-label="Cart"
1982    data-section-id="sections--20232691384456__cart-drawer"
1983    shopify-design-mode
1984    hidden
1985  >
1986    <overlay-element class="overlay fixed-modal invisible opacity-0 fixed bottom-0 left-0 w-full h-screen pointer-events-none" aria-controls="CartDrawer" aria-expanded="false"></overlay-element>
1987    <div class="drawer__inner z-10 absolute top-0 flex flex-col w-full h-full overflow-hidden">
1988      <gesture-element class="drawer__header flex justify-between opacity-0 invisible relative" tabindex="0">
1989        <ul class="drawer__tabs flex gap-10" is="tab-list">
1990          <li>
1991            <button class="drawer__tab relative" type="button" aria-controls="MiniCart-sections--20232691384456__cart-drawer" aria-expanded="true">
1992              <span class="drawer__title heading lg:text-3xl text-2xl leading-none tracking-tight">Cart</span>
1993              <cart-count class="count absolute font-medium text-xs lg:text-sm leading-none" aria-label="0 items" hidden>0</cart-count>
1994            </button>
1995          </li><li>
1996              <button class="drawer__tab" type="button" aria-controls="RecentlyViewed-sections--20232691384456__cart-drawer" aria-expanded="false">
1997                <span class="drawer__title heading lg:text-3xl text-2xl leading-none tracking-tight">Recently viewed</span>
1998              </button>
1999            </li></ul>
2000        <button class="button button--secondary button--close drawer__close hidden sm:flex items-center justify-center" type="button" is="hover-button" aria-controls="CartDrawer" aria-expanded="false" aria-label="Close">
2001          <span class="btn-fill" data-fill></span>
2002          <span class="btn-text"><svg class="icon icon-close icon-sm" viewBox="0 0 20 20" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2003      <path stroke-linecap="round" stroke-linejoin="round" d="M5 15L15 5M5 5L15 15"></path>
2004    </svg></span>
2005        </button>
2006      </gesture-element>
2007
2008      <div class="drawer__content opacity-0 invisible flex flex-col h-full grow shrink">
2009        <div id="MiniCart-sections--20232691384456__cart-drawer" class="drawer__panel opacity-0 flex flex-col overflow-hidden" open>
2010          <span class="sr-only">Cart</span>
2011          <div class="flex flex-col h-full"><div class="drawer__scrollable relative flex justify-center items-start grow shrink text-center">
2012                <div class="drawer__empty grid gap-5 md:gap-8">
2013                  <p class="drawer__empty-text h2 heading leading-none tracking-tight">Your cart is currently empty.</p>
2014                  <div class="drawer__empty-message text-sm md:text-base leading-tight rte"><p>Not sure where to start?<br/>Try these collections:</p></div>
2015                  <ul class="drawer__empty-collections grid gap-3"><li>
2016                          <a class="flex items-center justify-between" href="/collections/shop-all-products">
2017                            <span class="flex items-center gap-3">Shop: All Products</span><svg class="icon icon-arrow-right icon-sm transform" viewBox="0 0 21 20" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2018      <path stroke-linecap="round" stroke-linejoin="round" d="M3 10H18M18 10L12.1667 4.16675M18 10L12.1667 15.8334"></path>
2019    </svg></a>
2020                        </li></ul>
2021                </div>
2022              </div><div class="drawer__scrollable relative flex flex-col gap-9 grow shrink hidden"><div class="free-shipping-bar grid gap-3 w-full"><span class="text-sm leading-tight">Spend <span class="font-bold">$50.00</span> more to reach free shipping!</span>
2023    <progress-bar class="overflow-hidden rounded-full" style="--progress: 0%;"></progress-bar></div>
2024<cart-items class="block grow" data-section-id="sections--20232691384456__cart-drawer">
2025                <ul class="horizontal-products grid" role="list"></ul>
2026              </cart-items></div><div class="drawer__footer grid w-full hidden"><div class="drawer__footer-top flex"><button type="button" class="flex gap-2d5 grow items-center justify-center" aria-controls="CartNote-sections--20232691384456__cart-drawer" aria-expanded="false">
2026<svg class="icon icon-note icon-lg icon-light shrink-0" viewBox="0 0 25 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2027      <path class="fill" d="M12.9 2H12.1C8.73969 2 7.05953 2 5.77606 2.65396C4.64708 3.2292 3.7292 4.14708 3.15396 5.27606C2.5 6.55953 2.5 8.23969 2.5 11.6V12.4C2.5 15.7603 2.5 17.4405 3.15396 18.7239C3.7292 19.8529 4.64708 20.7708 5.77606 21.346C7.05953 22 8.73969 22 12.1 22H13.5C14.4319 22 14.8978 22 15.2654 21.8478C15.7554 21.6448 16.1448 21.2554 16.3478 20.7654C16.5 20.3978 16.5 19.9319 16.5 19C16.5 18.0681 16.5 17.6021 16.6522 17.2346C16.8552 16.7445 17.2446 16.3552 17.7346 16.1522C18.1022 16 18.5681 16 19.5 16C20.4319 16 20.8978 16 21.2654 15.8477C21.7554 15.6447 22.1448 15.2554 22.3478 14.7653C22.5 14.3978 22.5 13.9319 22.5 13V11.6C22.5 8.23969 22.5 6.55953 21.846 5.27606C21.2708 4.14708 20.3529 3.2292 19.2239 2.65396C17.9405 2 16.2603 2 12.9 2Z"></path>
2028      <path stroke-linecap="round" stroke-linejoin="round" d="M16.5 21.5V19.2C16.5 18.0799 16.5 17.5198 16.718 17.092C16.9097 16.7157 17.2157 16.4097 17.592 16.218C18.0198 16 18.5799 16 19.7 16H22M7.5 7H15.5M7.5 11H13.5M7.5 15H9.5M15.6716 22H12.1C8.73969 22 7.05953 22 5.77606 21.346C4.64708 20.7708 3.7292 19.8529 3.15396 18.7239C2.5 17.4405 2.5 15.7603 2.5 12.4V11.6C2.5 8.23969 2.5 6.55953 3.15396 5.27606C3.7292 4.14708 4.64708 3.2292 5.77606 2.65396C7.05953 2 8.73969 2 12.1 2H12.9C16.2603 2 17.9405 2 19.2239 2.65396C20.3529 3.2292 21.2708 4.14708 21.846 5.27606C22.5 6.55953 22.5 8.23969 22.5 11.6V15.1716C22.5 15.5088 22.5 15.6774 22.4912 15.8399C22.4171 17.2049 21.8791 18.5036 20.9663 19.5212C20.8577 19.6423 20.7385 19.7615 20.5 20V20C20.2615 20.2385 20.1423 20.3577 20.0212 20.4663C19.0036 21.3791 17.7049 21.9171 16.3399 21.9912C16.1774 22 16.0088 22 15.6716 22Z"></path>
2029    </svg><span class="reversed-link text-sm leading-tight">Order note</span>
2030                    </button><button type="button" class="flex gap-2d5 grow items-center justify-center" aria-controls="ShippingCalculator-sections--20232691384456__cart-drawer" aria-expanded="false"><api-button class="api-only" data-id="cart_drawer_shipping_calculator" data-section-id="sections--20232691384456__cart-drawer"></api-button><svg class="icon icon-package icon-lg icon-light shrink-0" viewBox="0 0 25 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2031      <path class="fill" d="M22.5 14.2825V7.28202C22.5 7.10718 22.4083 6.94515 22.2583 6.8552C22.0995 6.75991 21.9009 6.76067 21.7429 6.85718L15.0012 10.9731C14.0927 11.5278 13.6384 11.8052 13.1525 11.9135C12.7228 12.0092 12.2772 12.0092 11.8475 11.9135C11.3616 11.8052 10.9073 11.5278 9.99878 10.9731L3.25714 6.85718C3.09906 6.76067 2.90048 6.75991 2.74166 6.8552C2.59174 6.94515 2.5 7.10718 2.5 7.28202V14.2825C2.5 15.2735 2.5 15.769 2.64219 16.2143C2.76802 16.6083 2.97396 16.972 3.24708 17.2826C3.55572 17.6336 3.98062 17.8886 4.83042 18.3984L10.0304 21.5184C10.9283 22.0572 11.3773 22.3266 11.8565 22.4318C12.2805 22.5249 12.7195 22.5249 13.1435 22.4318C13.6227 22.3266 14.0717 22.0572 14.9696 21.5184L20.1696 18.3984C21.0194 17.8886 21.4443 17.6336 21.7529 17.2826C22.026 16.972 22.232 16.6083 22.3578 16.2143C22.5 15.769 22.5 15.2735 22.5 14.2825Z"></path>
2032      <path stroke-linecap="round" stroke-linejoin="round" d="M7.99988 9.5L17 4M12.5 12.5L21.5 7M12.5 12.5L3.5 7M12.5 12.5V22.5M2.5 9.71771V14.2823C2.5 15.2733 2.5 15.7688 2.64219 16.2141C2.76802 16.6081 2.97396 16.9718 3.24708 17.2824C3.55572 17.6334 3.98062 17.8884 4.83042 18.3983L10.0304 21.5183C10.9283 22.057 11.3773 22.3264 11.8565 22.4316C12.2805 22.5247 12.7195 22.5247 13.1435 22.4316C13.6227 22.3264 14.0717 22.057 14.9696 21.5183L20.1696 18.3983C21.0194 17.8884 21.4443 17.6334 21.7529 17.2824C22.026 16.9718 22.232 16.6081 22.3578 16.2141C22.5 15.7688 22.5 15.2733 22.5 14.2823V9.71771C22.5 8.72669 22.5 8.23117 22.3578 7.78593C22.232 7.39192 22.026 7.02818 21.7529 6.71757C21.4443 6.36657 21.0194 6.11163 20.1696 5.60175L14.9696 2.48175C14.0717 1.94301 13.6227 1.67364 13.1435 1.56839C12.7195 1.4753 12.2805 1.4753 11.8565 1.56839C11.3773 1.67364 10.9283 1.94301 10.0304 2.48175L4.83042 5.60175C3.98062 6.11163 3.55572 6.36657 3.24708 6.71757C2.97396 7.02818 2.76802 7.39192 2.64219 7.78593C2.5 8.23117 2.5 8.72669 2.5 9.71771Z"></path>
2033    </svg><span class="reversed-link text-sm leading-tight">Shipping</span>
2034                    </button><button type="button" class="flex gap-2d5 grow items-center justify-center" aria-controls="CartDiscount-sections--20232691384456__cart-drawer" aria-expanded="false">
2034<svg class="icon icon-sale icon-lg icon-light shrink-0" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2035      <path class="fill" d="M7.24012 4.02997H7.09012C6.01012 4.02997 5.47012 4.02997 5.06012 4.23997C4.70012 4.41997 4.40012 4.71997 4.22012 5.07997C4.01012 5.48997 4.01012 6.02997 4.01012 7.10997V7.22997C4.01012 7.64997 4.01012 7.85997 3.97012 8.05997C3.93012 8.23997 3.87012 8.40997 3.78012 8.56997C3.68012 8.74997 3.55012 8.90997 3.28012 9.22997L2.84012 9.74997C2.24012 10.46 1.94012 10.81 1.82012 11.21C1.72012 11.56 1.72012 11.93 1.82012 12.28C1.93012 12.68 2.23012 13.03 2.84012 13.74L3.28012 14.26C3.55012 14.58 3.69012 14.74 3.78012 14.92C3.87012 15.08 3.93012 15.25 3.97012 15.43C4.01012 15.63 4.01012 15.84 4.01012 16.26V16.38C4.01012 17.46 4.01012 18 4.22012 18.41C4.40012 18.77 4.70012 19.07 5.06012 19.25C5.47012 19.46 6.01012 19.46 7.09012 19.46H7.24012C7.66012 19.46 7.87012 19.46 8.07012 19.5C8.25012 19.54 8.42012 19.6 8.58012 19.69C8.76012 19.79 8.92012 19.93 9.24012 20.2L9.74012 20.63C10.4501 21.24 10.8101 21.55 11.2101 21.66C11.5601 21.76 11.9401 21.76 12.2901 21.66C12.6901 21.54 13.0501 21.24 13.7601 20.63L14.2601 20.2C14.5801 19.93 14.7401 19.79 14.9201 19.69C15.0801 19.6 15.2501 19.54 15.4301 19.5C15.6301 19.46 15.8401 19.46 16.2601 19.46H16.3701C17.4501 19.46 17.9901 19.46 18.4001 19.25C18.7601 19.07 19.0601 18.77 19.2401 18.41C19.4501 18 19.4501 17.46 19.4501 16.38V16.27C19.4501 15.85 19.4501 15.64 19.4901 15.44C19.5301 15.26 19.5901 15.09 19.6801 14.93C19.7801 14.75 19.9201 14.59 20.1901 14.27L20.6201 13.77C21.2301 13.06 21.5401 12.7 21.6501 12.3C21.7501 11.95 21.7501 11.57 21.6501 11.22C21.5301 10.82 21.2301 10.46 20.6201 9.74997L20.1901 9.24997C19.9201 8.92997 19.7801 8.76997 19.6801 8.58997C19.5901 8.42997 19.5301 8.25997 19.4901 8.07997C19.4501 7.87997 19.4501 7.66997 19.4501 7.24997V7.13997C19.4501 6.05997 19.4501 5.51997 19.2401 5.10997C19.0601 4.74997 18.7601 4.44997 18.4001 4.26997C17.9901 4.05997 17.4501 4.05997 16.3701 4.05997H16.2601C15.8401 4.05997 15.6301 4.05997 15.4301 4.01997C15.2501 3.97997 15.0801 3.91997 14.9201 3.82997C14.7401 3.72997 14.5801 3.58997 14.2601 3.31997L13.7601 2.88997C13.0501 2.27997 12.6901 1.96997 12.2901 1.85997C11.9401 1.75997 11.5601 1.75997 11.2101 1.85997C10.8101 1.97997 10.4501 2.27997 9.74012 2.88997L9.24012 3.31997C8.92012 3.58997 8.76012 3.72997 8.58012 3.82997C8.42012 3.91997 8.25012 3.97997 8.07012 4.01997C7.87012 4.05997 7.66012 4.05997 7.24012 4.05997V4.02997Z"></path>
2036      <path stroke-linecap="round" d="M8.38012 15.36L11.7501 11.74L15.1201 8.11997M14.9201 14.59C14.9201 14.81 14.7401 14.99 14.5201 14.99C14.3001 14.99 14.1201 14.81 14.1201 14.59M14.9201 14.59C14.9201 14.37 14.7401 14.19 14.5201 14.19C14.3001 14.19 14.1201 14.37 14.1201 14.59M14.9201 14.59H14.1201M9.42012 9.00997C9.42012 9.22997 9.24012 9.40997 9.02012 9.40997C8.80012 9.40997 8.62012 9.22997 8.62012 9.00997M9.42012 9.00997C9.42012 8.78997 9.24012 8.60997 9.02012 8.60997C8.80012 8.60997 8.62012 8.78997 8.62012 9.00997M9.42012 9.00997H8.62012M7.24012 4.02997H7.09012C6.01012 4.02997 5.47012 4.02997 5.06012 4.23997C4.70012 4.41997 4.40012 4.71997 4.22012 5.07997C4.01012 5.48997 4.01012 6.02997 4.01012 7.10997V7.22997C4.01012 7.64997 4.01012 7.85997 3.97012 8.05997C3.93012 8.23997 3.87012 8.40997 3.78012 8.56997C3.68012 8.74997 3.55012 8.90997 3.28012 9.22997L2.84012 9.74997C2.24012 10.46 1.94012 10.81 1.82012 11.21C1.72012 11.56 1.72012 11.93 1.82012 12.28C1.93012 12.68 2.23012 13.03 2.84012 13.74L3.28012 14.26C3.55012 14.58 3.69012 14.74 3.78012 14.92C3.87012 15.08 3.93012 15.25 3.97012 15.43C4.01012 15.63 4.01012 15.84 4.01012 16.26V16.38C4.01012 17.46 4.01012 18 4.22012 18.41C4.40012 18.77 4.70012 19.07 5.06012 19.25C5.47012 19.46 6.01012 19.46 7.09012 19.46H7.24012C7.66012 19.46 7.87012 19.46 8.07012 19.5C8.25012 19.54 8.42012 19.6 8.58012 19.69C8.76012 19.79 8.92012 19.93 9.24012 20.2L9.74012 20.63C10.4501 21.24 10.8101 21.55 11.2101 21.66C11.5601 21.76 11.9401 21.76 12.2901 21.66C12.6901 21.54 13.0501 21.24 13.7601 20.63L14.2601 20.2C14.5801 19.93 14.7401 19.79 14.9201 19.69C15.0801 19.6 15.2501 19.54 15.4301 19.5C15.6301 19.46 15.8401 19.46 16.2601 19.46H16.3701C17.4501 19.46 17.9901 19.46 18.4001 19.25C18.7601 19.07 19.0601 18.77 19.2401 18.41C19.4501 18 19.4501 17.46 19.4501 16.38V16.27C19.4501 15.85 19.4501 15.64 19.4901 15.44C19.5301 15.26 19.5901 15.09 19.6801 14.93C19.7801 14.75 19.9201 14.59 20.1901 14.27L20.6201 13.77C21.2301 13.06 21.5401 12.7 21.6501 12.3C21.7501 11.95 21.7501 11.57 21.6501 11.22C21.5301 10.82 21.2301 10.46 20.6201 9.74997L20.1901 9.24997C19.9201 8.92997 19.7801 8.76997 19.6801 8.58997C19.5901 8.42997 19.5301 8.25997 19.4901 8.07997C19.4501 7.87997 19.4501 7.66997 19.4501 7.24997V7.13997C19.4501 6.05997 19.4501 5.51997 19.2401 5.10997C19.0601 4.74997 18.7601 4.44997 18.4001 4.26997C17.9901 4.05997 17.4501 4.05997 16.3701 4.05997H16.2601C15.8401 4.05997 15.6301 4.05997 15.4301 4.01997C15.2501 3.97997 15.0801 3.91997 14.9201 3.82997C14.7401 3.72997 14.5801 3.58997 14.2601 3.31997L13.7601 2.88997C13.0501 2.27997 12.6901 1.96997 12.2901 1.85997C11.9401 1.75997 11.5601 1.75997 11.2101 1.85997C10.8101 1.97997 10.4501 2.27997 9.74012 2.88997L9.24012 3.31997C8.92012 3.58997 8.76012 3.72997 8.58012 3.82997C8.42012 3.91997 8.25012 3.97997 8.07012 4.01997C7.87012 4.05997 7.66012 4.05997 7.24012 4.05997V4.02997Z"></path>
2037    </svg><span class="reversed-link text-sm leading-tight">Discount</span></button><modal-element id="CartNote-sections--20232691384456__cart-drawer" class="modal inv
2037isible absolute bottom-0 left-0 w-full h-full" role="dialog" hidden>
2038                      <overlay-element class="fixed-modal opacity-0 z-1 absolute top-0 left-0 w-full h-full" aria-controls="CartNote-sections--20232691384456__cart-drawer" aria-expanded="false"></overlay-element>
2039                      <div class="modal__container flex flex-col z-3 absolute left-0 bottom-0 w-full">
2040                        <div class="modal__header flex items-center justify-between relative">
2041                          <span class="font-medium text-sm md:text-base">Order special instructions</span>
2042                          <button type="button" class="close flex items-center justify-center absolute top-0 right-0" is="magnet-button" aria-controls="CartNote-sections--20232691384456__cart-drawer" aria-expanded="false" aria-label="Close"><svg class="icon icon-close icon-md" viewBox="0 0 20 20" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2043      <path stroke-linecap="round" stroke-linejoin="round" d="M5 15L15 5M5 5L15 15"></path>
2044    </svg></button>
2045                        </div>
2046                        <div class="modal__content flex flex-col overflow-hidden">
2047                          <cart-note class="modal__scrollable grid gap-4">
2048                            <div class="field">
2049                              <textarea name="note" class="textarea is-floating" rows="3" placeholder=" " id="CartNoteForm-sections--20232691384456__cart-drawer"></textarea>
2050                              <label class="label is-floating" for="CartNoteForm-sections--20232691384456__cart-drawer">Order note</label>
2051                            </div>
2052                            <div class="justify-self-start">
2053                              <button class="button button--primary" type="button" is="hover-button" aria-controls="CartNote-sections--20232691384456__cart-drawer" aria-expanded="false">
2054                                <span class="btn-fill" data-fill></span>
2055                                <span class="btn-text">Apply</span>
2056                              </button>
2057                            </div>
2058                          </cart-note>
2059                        </div>
2060                      </div>
2061                    </modal-element><modal-element id="ShippingCalculator-sections--20232691384456__cart-drawer" class="modal invisible absolute bottom-0 left-0 w-full h-full" role="dialog" hidden>
2062                      <overlay-element class="fixed-modal opacity-0 z-1 absolute top-0 left-0 w-full h-full" aria-controls="ShippingCalculator-sections--20232691384456__cart-drawer" aria-expanded="false"></overlay-element>
2063                      <div class="modal__container flex flex-col z-3 absolute left-0 bottom-0 w-full">
2064                        <div class="modal__header flex items-center justify-between relative">
2065                          <span class="font-medium text-sm md:text-base">Estimate shipping</span>
2066                          <button type="button" class="close flex items-center justify-center absolute top-0 right-0" is="magnet-button" aria-controls="ShippingCalculator-sections--20232691384456__cart-drawer" aria-expanded="false" aria-label="Close"><svg class="icon icon-close icon-md" viewBox="0 0 20 20" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2067      <path stroke-linecap="round" stroke-linejoin="round" d="M5 15L15 5M5 5L15 15"></path>
2068    </svg></button>
2069                        </div><div class="modal__content flex flex-col overflow-hidden" id="cart_drawer_shipping_calculator"></div></div>
2070                    </modal-element><modal-element id="CartDiscount-sections--20232691384456__cart-drawer" class="modal invisible absolute bottom-0 left-0 w-full h-full" role="dialog" hidden>
2071                      <overlay-element class="fixed-modal opacity-0 z-1 absolute top-0 left-0 w-full h-full" aria-controls="CartDiscount-sections--20232691384456__cart-drawer" aria-expanded="false"></overlay-element>
2072                      <div class="modal__container flex flex-col z-3 absolute left-0 bottom-0 w-full">
2073                        <div class="modal__header flex items-center justify-between relative">
2074                          <span class="font-medium text-sm md:text-base">Discount</span>
2075                          <button type="button" class="close flex items-center justify-center absolute top-0 right-0" is="magnet-button" aria-controls="CartDiscount-sections--20232691384456__cart-drawer" aria-expanded="false" aria-label="Close"><svg class="icon icon-close icon-md" viewBox="0 0 20 20" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2076      <path stroke-linecap="round" stroke-linejoin="round" d="M5 15L15 5M5 5L15 15"></path>
2077    </svg></button>
2078                        </div>
2079                        <div class="modal__content flex flex-col overflow-hidden">
2080                          <form class="modal__scrollable cart-discount grid gap-4" action="/cart" method="POST" novalidate is="cart-discount" data-section-id="sections--20232691384456__cart-drawer">
2081                            <ul class="active-facets flex flex-wrap items-center gap-2" role="list" aria-label="Discounts"></ul>
2082                            <div class="field">
2083                              <input type="text" name="discount" class="input is-floating" rows="3" placeholder=" " id="CartDiscountForm-sections--20232691384456__cart-drawer"/>
2084                              <label class="label is-floating" for="CartDiscountForm-sections--20232691384456__cart-drawer">Discount code</label>
2085                            </div>
2086                            <div class="justify-self-start">
2087                              <button class="button button--primary" type="submit" is="hover-button">
2088                                <span class="btn-fill" data-fill></span>
2089                                <span class="btn-text">Apply</span>
2090                              </button>
2091                            </div>
2092                            <div class="alert alert--error alert--transparent flex gap-2d5" hidden><svg class="icon icon-alert-circle-filled icon-sm shrink-0" viewBox="0 0 24 24" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
2093      <path fill-rule="evenodd" clip-rule="evenodd" d="M1.25 12C1.25 6.06294 6.06294 1.25 12 1.25C17.9371 1.25 22.75 6.06294 22.75 12C22.75 17.9371 17.9371 22.75 12 22.75C6.06294 22.75 1.25 17.9371 1.25 12ZM12.75 7C12.75 6.58579 12.4142 6.25 12 6.25C11.5858 6.25 11.25 6.58579 11.25 7V13C11.25 13.4142 11.5858 13.75 12 13.75C12.4142 13.75 12.75 13.4142 12.75 13V7ZM12 15.25C11.3096 15.25 10.75 15.8096 10.75 16.5C10.75 17.1904 11.3096 17.75 12 17.75C12.6904 17.75 13.25 17.1904 13.25 16.5C13.25 15.8096 12.6904 15.25 12 15.25Z"></path>
2094    </svg><div class="grid gap-2 align-self-center text-sm leading-tight"></div>
2095                            </div>
2096                          </form>
2097                        </div>
2098                      </div>
2099                    </modal-element></div><div class="drawer__footer-bottom grid gap-6">
2100                <div class="grid gap-4 sm:grid-6"><div class="grid grid-cols-2 gap-4">
2101                    <div class="tax-note text-sm sm:text-base rte">Taxes and <a href="/policies/shipping-policy">shipping</a> calculated at checkout</div>
2102                    <div class="totals grid place-self-end gap-1">
2103                      <span class="totals__subtotal text-sm sm:text-base">Subtotal</span>
2104                      <div class="totals__subtotal-value text-lg-2xl font-bold leading-none tracking-tight">$0.00 USD</div>
2105                    </div>
2106                  </div>
2107                </div><form action="/cart" method="POST" novalidate class="drawer__footer-buttons grid grid-cols-12 gap-4"><button class="button button--primary icon-with-text col-span-full" type="submit" name="checkout" is="hover-button">
2108                        <span class="btn-fill" data-fill></span>
2109                        <span class="btn-text"><svg class="icon icon-lock icon-sm hidden sm:block" viewBox="0 0 20 20" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2110      <path stroke-linecap="round" d="M5.83333 6.66675V5.83341C5.83333 4.74781 5.83333 4.205 5.97218 3.76463C6.26651 2.83114 6.99772 2.09993 7.93122 1.8056C8.37159 1.66675 8.91439 1.66675 10 1.66675V1.66675C11.0856 1.66675 11.6284 1.66675 12.0688 1.8056C13.0023 2.09993 13.7335 2.83114 14.0278 3.76463C14.1667 4.205 14.1667 4.74781 14.1667 5.83341V6.66675M10 11.6667V13.3334M8.33333 18.3334H11.6667C13.3741 18.3334 14.2278 18.3334 14.909 18.077C15.9871 17.6713 16.8379 16.8205 17.2436 15.7424C17.5 15.0612 17.5 14.2075 17.5 12.5001V12.5001C17.5 10.7926 17.5 9.93892 17.2436 9.25775C16.8379 8.17969 15.9871 7.32888 14.909 6.92312C14.2278 6.66675 13.3741 6.66675 11.6667 6.66675H8.33333C6.62589 6.66675 5.77218 6.66675 5.091 6.92312C4.01294 7.32888 3.16213 8.17969 2.75638 9.25775C2.5 9.93892 2.5 10.7926 2.5 12.5001V12.5001C2.5 14.2075 2.5 15.0612 2.75638 15.7424C3.16213 16.8205 4.01294 17.6713 5.091 18.077C5.77218 18.3334 6.62589 18.3334 8.33333 18.3334Z"></path>
2111    </svg>Check out</span>
2112                      </button></form></div>
2113            </div>
2114          </div>
2115        </div><div id="RecentlyViewed-sections--20232691384456__cart-drawer" class="drawer__panel opacity-0 flex flex-col overflow-hidden">
2116            <span class="sr-only">Recently viewed</span>
2117            <recently-viewed class="cart__recent flex flex-col h-full" data-url="/search?section_id=sections--20232691384456__cart-drawer&type=product&q=" data-limit="5"></recently-viewed>
2118          </div></div>
2119    </div>
2120  </cart-drawer>
2121</div><div id="shopify-section-sections--20232691384456__search-drawer" class="shopify-section shopify-section-group-overlay-group"><search-drawer id="SearchDrawer" class="search-drawer drawer drawer--end z-35 fixed bottom-0 left-0 h-full w-full pointer-events-none"
2122    role="dialog"
2123    aria-modal="true"
2124    aria-label="Search"
2125    shopify-design-mode
2126    hidden
2127  >
2128    <overlay-element class="overlay fixed-modal invisible opacity-0 fixed bottom-0 left-0 w-full h-screen pointer-events-none" aria-controls="SearchDrawer" aria-expanded="false"></overlay-element>
2129    <div class="drawer__inner z-10 absolute top-0 flex flex-col w-full h-full overflow-hidden">
2130      <gesture-element class="drawer__header flex justify-between opacity-0 invisible relative" tabindex="0">
2131        <span class="drawer__title heading lg:text-3xl text-2xl leading-none tracking-tight">Search</span>
2132        <button class="button button--secondary button--close drawer__close hidden sm:flex items-center justify-center" type="button" is="hover-button" aria-controls="SearchDrawer" aria-expanded="false" aria-label="Close">
2133          <span class="btn-fill" data-fill></span>
2134          <span class="btn-text"><svg class="icon icon-close icon-sm" viewBox="0 0 20 20" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2135      <path stroke-linecap="round" stroke-linejoin="round" d="M5 15L15 5M5 5L15 15"></path>
2136    </svg></span>
2137        </button>
2138      </gesture-element>
2139      <div class="drawer__content opacity-0 invisible flex flex-col h-full grow shrink">
2140        <div class="drawer__scrollable relative flex flex-col grow shrink"><form class="search__form flex flex-col gap-8 h-full relative" action="/search" method="GET" role="search"
2141    is="predictive-search"
2142    data-section-id="sections--20232691384456__search-drawer"
2143    data-limit="3"
2144  >
2145  <input type="hidden" name="options[prefix]" value="last" />
2146  <label class="sr-only" for="SearchFormInput-sections--20232691384456__search-drawer">Search</label>
2147  <div class="search__field field flex items-center gap-4 relative"><input
2148      class="input search__input"
2149      type="search"
2150      name="q"
2151      id="SearchFormInput-sections--20232691384456__search-drawer"
2152      placeholder="Search for ..."
2153      autocomplete="off"
2154      autocorrect="off"
2155      autocapitalize="off"
2156      spellcheck="off"/>
2157      <button class="clear absolute flex items-center justify-center text-xs opacity-0" type="reset">
2158        <span>Clear</span><svg class="icon icon-loader icon-sm absolute opacity-0 invisible animate-spin" viewBox="0 0 18 18" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2159      <path stroke-linecap="round" stroke-linejoin="round" d="M0.7,9.9C0.5,5.2,4.1,1.2,8.5,1c4.7-0.3,8.9,3.8,8.8,8.8"></path>
2160    </svg></button></div>
2161    <div id="PredictiveSearchResults-sections--20232691384456__search-drawer" class="search__box search__results text-left flex flex-col items-start grow gap-10" role="listbox"></div></form>
2162</div>
2163      </div>
2164    </div>
2165  </search-drawer>
2166</div>
2167<!-- END sections: overlay-group --><div class="page-container" id="PageContainer">
2168      <main class="main-content relative" id="MainContent" role="main">
2169        <div id="shopify-section-template--20232691286152__main" class="shopify-section collection-section search-section"><style>
2170  #shopify-section-template--20232691286152__main {
2171    --section-padding-top: 40px;
2172    --section-padding-bottom: 100px;
2173  }
2174</style>
2175
2176<link href="//www.thephotostick.com/cdn/shop/t/45/assets/blog.css?v=107725454374733462721778619150" rel="stylesheet" type="text/css" media="all" />
2177<link href="//www.thephotostick.com/cdn/shop/t/45/assets/collection.css?v=70030043281113903561778619151" rel="stylesheet" type="text/css" media="all" />
2178<link href="//www.thephotostick.com/cdn/shop/t/45/assets/search.css?v=65436780809879621631778619167" rel="stylesheet" type="text/css" media="all" />
2179<script src="//www.thephotostick.com/cdn/shop/t/45/assets/collection.js?v=102030528375844515951778619152" defer="defer"></script>
vendor: 1 bytes, line 2179
2179
2180<script src="//www.thephotostick.com/cdn/shop/t/45/assets/search.js?v=6305371176491887341778619167" defer="defer"></script>
2180<div class="section section--padding section--rounded relative">
2181  <div class="collection page-width relative with-drawer">
2182    <div class="title-wrapper text-center leading-none grid gap-8">
2183      <h1 class="heading title-xl tracking-heading" tabindex="-1"><split-words class="split-words js-invisible block" data-animate="fade-up-large">Search</split-words></h1><form class="search__form flex flex-col gap-8 h-full relative" action="/search" method="GET" role="search"
2184    is="predictive-search"
2185    data-section-id="template--20232691286152__main"
2186    data-limit="3"
2187  >
2188  <input type="hidden" name="options[prefix]" value="last" />
2189  <label class="sr-only" for="SearchFormInput-template--20232691286152__main">Search</label>
2190  <div class="search__field field flex items-center gap-4 relative"><input
2191      class="input search__input"
2192      type="search"
2193      name="q"
2194      id="SearchFormInput-template--20232691286152__main"
2195      placeholder="Search for ..."
2196      autocomplete="off"
2197      autocorrect="off"
2198      autocapitalize="off"
2199      spellcheck="off"
2200        value=""
2201      />
2202      <button class="clear absolute flex items-center justify-center text-xs opacity-0" type="reset">
2203        <span>Clear</span><svg class="icon icon-loader icon-sm absolute opacity-0 invisible animate-spin" viewBox="0 0 18 18" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2204      <path stroke-linecap="round" stroke-linejoin="round" d="M0.7,9.9C0.5,5.2,4.1,1.2,8.5,1c4.7-0.3,8.9,3.8,8.8,8.8"></path>
2205    </svg></button></div>
2206    <div id="PredictiveSearchResults-template--20232691286152__main" class="search__box search__results text-left flex flex-col items-start grow gap-10" role="listbox"></div><predictive-search-overlay class="search__overlay block opacity-0 z-30 fixed top-0 left-0 w-full h-full pointer-events-none"></predictive-search-overlay></form>
2207</div><div class="active-facets flex flex-wrap items-center gap-2 z-1 relative" id="FacetFiltersActive"></div>
2208<div class="collection__content flex"><div class="flex flex-col gap-12 grow" id="ProductGridContainer"></div>
2209      </div></div>
2210</div>
2211
2212
2213</div><div id="shopify-section-template--20232691286152__recently-viewed" class="shopify-section recently-section"><style>
2214  #shopify-section-template--20232691286152__recently-viewed {
2215    --section-padding-top: 72px;
2216    --section-padding-bottom: 80px;}
2217</style>
2218
2219<recently-viewed class="recently-viewed block" data-url="/search?section_id=template--20232691286152__recently-viewed&type=product&q=" data-limit="6"></recently-viewed>
2220
2221
2222</div>
2223      </main>
2224
2225      <footer class="footer-group block w-full" is="footer-group"><!-- BEGIN sections: footer-group -->
2226<div id="shopify-section-sections--20232691318920__footer" class="shopify-section shopify-section-group-footer-group"><style>
2227  #shopify-section-sections--20232691318920__footer {
2228    --section-padding-top: 72px;
2229    --section-padding-bottom: 72px;--color-background: 47 104 179;--color-foreground: 255 255 255;
2230  --color-border: var(--color-foreground)/ 0.1;
2231  --color-border-dark: var(--color-foreground)/ 0.4;
2232  --color-border-light: var(--color-foreground)/ 0.06;--color-button-background: 255 255 255;
2233  --color-button-border: 255 255 255;--color-button-text: 47 104 179;}
2234</style><div class="section section--padding section--rounded" is="footer-parallax">
2235  <div class="footer page-width relative grid" role="region" aria-label="Footer"><div class="footer__left flex flex-col md:flex-row gap-10"><div class="footer__accordions flex flex-wrap flex-col md:flex-row md:grow md:gap-12"><details class="footer__item--link_list-1 details active" is="footer-details" >
2236      <summary class="details__summary flex items-center justify-between gap-2 cursor-pointer">
2237        <span class="heading text-base-2xl font-medium lg:font-heading">Quick links</span><svg class="icon icon-chevron-up icon-md" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2238      <path stroke-linecap="round" stroke-linejoin="round" d="M6 15L12 9L18 15"></path>
2239    </svg></summary><div class="details__content">
2240      <ul class="flex flex-col gap-3"><li class="inline-flex">
2241            <a href="/" class="block reversed-link text-sm-lg leading-tight">Home</a>
2242          </li><li class="inline-flex">
2243            <a href="/collections/all-products" class="block reversed-link text-sm-lg leading-tight">Shop Products</a>
2244          </li><li class="inline-flex">
2245            <a href="/pages/about-us" class="block reversed-link text-sm-lg leading-tight">About Us</a>
2246          </li><li class="inline-flex">
2247            <a href="https://www.thephotostick.com/blogs/stories-and-inspiration" class="block reversed-link text-sm-lg leading-tight">ThePhotoStick® Blog</a>
2248          </li><li class="inline-flex">
2249            <a href="/pages/support-center" class="block reversed-link text-sm-lg leading-tight">Support</a>
2250          </li></ul>
2251    </div>
2252    <style>
2253      @media (min-width: 1280px) {
2254        .footer__item--link_list-1 { width: calc(50% - var(--sp-12)); }
2255      }
2256    </style></details>
2256<details class="footer__item--link_list-2 details active" is="footer-details" >
2257      <summary class="details__summary flex items-center justify-between gap-2 cursor-pointer">
2258        <span class="heading text-base-2xl font-medium lg:font-heading">Information</span><svg class="icon icon-chevron-up icon-md" viewBox="0 0 24 24" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2259      <path stroke-linecap="round" stroke-linejoin="round" d="M6 15L12 9L18 15"></path>
2260    </svg></summary><div class="details__content">
2261      <ul class="flex flex-col gap-3"><li class="inline-flex">
2262            <a href="/pages/shop-all-products" class="block reversed-link text-sm-lg leading-tight">Shop</a>
2263          </li><li class="inline-flex">
2264            <a href="/pages/about-us" class="block reversed-link text-sm-lg leading-tight">About</a>
2265          </li><li class="inline-flex">
2266            <a href="/pages/support-center" class="block reversed-link text-sm-lg leading-tight">Contact Us</a>
2267          </li><li class="inline-flex">
2268            <a href="/pages/support-center" class="block reversed-link text-sm-lg leading-tight">Support</a>
2269          </li><li class="inline-flex">
2270            <a href="/pages/support-return-and-refund-process" class="block reversed-link text-sm-lg leading-tight">Return Policy</a>
2271          </li><li class="inline-flex">
2272            <a href="/pages/support-shipping-information" class="block reversed-link text-sm-lg leading-tight">Shipping Policy</a>
2273          </li><li class="inline-flex">
2274            <a href="/pages/privacy-policy" class="block reversed-link text-sm-lg leading-tight">Privacy Policy</a>
2275          </li><li class="inline-flex">
2276            <a href="/pages/terms-of-service" class="block reversed-link text-sm-lg leading-tight">Terms of Service</a>
2277          </li></ul>
2278    </div>
2279    <style>
2280      @media (min-width: 1280px) {
2281        .footer__item--link_list-2 { width: calc(50% - var(--sp-12)); }
2282      }
2283    </style></details></div>
2284      </div><div class="footer__right grid gap-10"><div class="footer__newsletter grid gap-6"><p class="footer__logo leading-none">
2285                <a href="/">
2286                  <span class="sr-only">ThePhotoStick</span><img src="//www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=1250" alt="" srcset="//www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=150 150w, //www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=200 200w, //www.thephotostick.com/cdn/shop/files/TPS_Logo_White_Transparent.png?v=1770130184&amp;width=300 300w" width="1250" height="625" loading="lazy" sizes="100px" style="--image-width: 100px; --image-height: 50px;" fetchpriority="low" is="lazy-image"></a>
2287              </p><p class="h3 text-xl md:title-md leading-none tracking-none font-medium lg:font-heading">Join ThePhotoStick® Community</p><form method="post" action="/contact#newsletter-sections--20232691318920__footer" id="newsletter-sections--20232691318920__footer" accept-charset="UTF-8" class="newsletter-form grid gap-5"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="contact[tags]" value="newsletter" />
2288  <input type="hidden" name="contact[context]" value="footer" />
2289  <div class="field relative">
2290    <input
2291      id="NewsletterForm--sections--20232691318920__footer"
2292      class="input is-floating input--fill"
2293      type="email"
2294      name="contact[email]"
2295      value=""
2296      autocorrect="off"
2297      autocapitalize="off"
2298      autocomplete="email"
2299      placeholder="Enter your email"
2300      required/>
2301    <label class="label is-floating" for="NewsletterForm--sections--20232691318920__footer">Enter your email</label>
2302    <div class="self-submit-button absolute">
2303      <button type="submit" class="button button--primary self-button flex justify-center items-center" is="magnet-button" data-magnet="20" aria-label="Subscribe">
2304        <span class="btn-text">
2305          <svg class="icon icon-arrow-right icon-xs transform" viewBox="0 0 16 16" stroke="currentColor" fill="none" xmlns="http://www.w3.org/2000/svg" role="presentation">
2306            <path stroke-linecap="round" stroke-linejoin="round" d="M2 8.00012H14M14 8.00012L9.33333 3.3335M14 8.00012L9.33333 12.6668"></path>
2307          </svg>
2308        </span>
2309      </button>
2310    </div>
2311  </div></form></div><div class="footer__socials flex align-self-end justify-start md:justify-end xl:justify-start"><ul class="flex flex-wrap items-center gap-7" role="list"><li><a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/thephotostickbrand" class="social_platform block relative" is="magnet-link" aria-describedby="a11y-new-window-message" aria-label="ThePhotoStick on Facebook"><svg class="icon icon-facebook icon-lg" viewBox="0 0 24 24" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
2312      <path d="M9.03153 23L9 13H5V9H9V6.5C9 2.7886 11.2983 1 14.6091 1C16.1951 1 17.5581 1.11807 17.9553 1.17085V5.04948L15.6591 5.05052C13.8584 5.05052 13.5098 5.90614 13.5098 7.16171V9H18.75L16.75 13H13.5098V23H9.03153Z"/>
2313    </svg><span class="sr-only">Facebook</span>
2314        </a>
2315      </li><li><a target="_blank" rel="noopener noreferrer" href="https://www.instagram.com/thephotostickbrand/" class="social_platform block relative" is="magnet-link" aria-describedby="a11y-new-window-message" aria-label="ThePhotoStick on Instagram"><svg class="icon icon-instagram icon-lg" viewBox="0 0 24 24" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
2316      <path d="M12 2.98C14.94 2.98 15.28 2.99 16.44 3.04C17.14 3.04 17.83 3.18 18.48 3.42C18.96 3.6 19.39 3.88 19.75 4.24C20.12 4.59 20.4 5.03 20.57 5.51C20.81 6.16 20.94 6.85 20.95 7.55C21 8.71 21.01 9.06 21.01 12C21.01 14.94 21 15.28 20.95 16.44C20.95 17.14 20.81 17.83 20.57 18.48C20.39 18.95 20.11 19.39 19.75 19.75C19.39 20.11 18.96 20.39 18.48 20.57C17.83 20.81 17.14 20.94 16.44 20.95C15.28 21 14.93 21.01 12 21.01C9.07 21.01 8.72 21 7.55 20.95C6.85 20.95 6.16 20.81 5.51 20.57C5.03 20.39 4.6 20.11 4.24 19.75C3.87 19.4 3.59 18.96 3.42 18.48C3.18 17.83 3.05 17.14 3.04 16.44C2.99 15.28 2.98 14.93 2.98 12C2.98 9.07 2.99 8.72 3.04 7.55C3.04 6.85 3.18 6.16 3.42 5.51C3.6 5.03 3.88 4.6 4.24 4.24C4.59 3.87 5.03 3.59 5.51 3.42C6.16 3.18 6.85 3.05 7.55 3.04C8.71 2.99 9.06 2.98 12 2.98ZM12 1C9.01 1 8.64 1.01 7.47 1.07C6.56 1.09 5.65 1.26 4.8 1.58C4.07 1.86 3.4 2.3 2.85 2.85C2.3 3.41 1.86 4.07 1.58 4.8C1.26 5.65 1.09 6.56 1.07 7.47C1.02 8.64 1 9.01 1 12C1 14.99 1.01 15.36 1.07 16.53C1.09 17.44 1.26 18.35 1.58 19.2C1.86 19.93 2.3 20.6 2.85 21.15C3.41 21.7 4.07 22.14 4.8 22.42C5.65 22.74 6.56 22.91 7.47 22.93C8.64 22.98 9.01 23 12 23C14.99 23 15.36 22.99 16.53 22.93C17.44 22.91 18.35 22.74 19.2 22.42C19.93 22.14 20.6 21.7 21.15 21.15C21.7 20.59 22.14 19.93 22.42 19.2C22.74 18.35 22.91 17.44 22.93 16.53C22.98 15.36 23 14.99 23 12C23 9.01 22.99 8.64 22.93 7.47C22.91 6.56 22.74 5.65 22.42 4.8C22.14 4.07 21.7 3.4 21.15 2.85C20.59 2.3 19.93 1.86 19.2 1.58C18.35 1.26 17.44 1.09 16.53 1.07C15.36 1.02 14.99 1 12 1ZM12 6.35C10.88 6.35 9.79 6.68 8.86 7.3C7.93 7.92 7.21 8.8 6.78 9.84C6.35 10.87 6.24 12.01 6.46 13.1C6.68 14.2 7.22 15.2 8.01 15.99C8.8 16.78 9.81 17.32 10.9 17.54C12 17.76 13.13 17.65 14.16 17.22C15.19 16.79 16.07 16.07 16.7 15.14C17.32 14.21 17.65 13.12 17.65 12C17.65 10.5 17.05 9.06 16 8.01C14.94 6.95 13.5 6.36 12.01 6.36L12 6.35ZM12 15.67C11.27 15.67 10.57 15.45 9.96 15.05C9.36 14.65 8.89 14.07 8.61 13.4C8.33 12.73 8.26 11.99 8.4 11.28C8.54 10.57 8.89 9.92 9.4 9.4C9.91 8.88 10.57 8.54 11.28 8.4C11.99 8.26 12.73 8.33 13.4 8.61C14.07 8.89 14.64 9.36 15.05 9.96C15.45 10.56 15.67 11.27 15.67 12C15.67 12.97 15.28 13.91 14.6 14.59C13.91 15.28 12.98 15.66 12.01 15.66L12 15.67ZM17.87 7.45C18.6 7.45 19.19 6.86 19.19 6.13C19.19 5.4 18.6 4.81 17.87 4.81C17.14 4.81 16.55 5.4 16.55 6.13C16.55 6.86 17.14 7.45 17.87 7.45Z"/>
2317    </svg><span class="sr-only">Instagram</span>
2318        </a>
2319      </li><li><a target="_blank" rel="noopener noreferrer" href="https://www.youtube.com/@thephotostick" class="social_platform block relative" is="magnet-link" aria-describedby="a11y-new-window-message" aria-label="ThePhotoStick on YouTube"><svg class="icon icon-youtube icon-lg" viewBox="0 0 24 24" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
2320      <path d="M23.8 7.6C23.8 7.6 23.6 5.9 22.8 5.2C21.9 4.2 20.9 4.2 20.4 4.2C17 4 12 4 12 4C12 4 7 4 3.6 4.2C3.1 4.3 2.1 4.3 1.2 5.2C0.5 5.9 0.2 7.6 0.2 7.6C0.2 7.6 0 9.5 0 11.5V13.3C0 15.2 0.2 17.2 0.2 17.2C0.2 17.2 0.4 18.9 1.2 19.6C2.1 20.6 3.3 20.5 3.8 20.6C5.7 20.8 12 20.8 12 20.8C12 20.8 17 20.8 20.4 20.5C20.9 20.4 21.9 20.4 22.8 19.5C23.5 18.8 23.8 17.1 23.8 17.1C23.8 17.1 24 15.2 24 13.2V11.4C24 9.5 23.8 7.6 23.8 7.6ZM9.5 15.5V8.8L16 12.2L9.5 15.5Z"/>
2321    </svg><span class="sr-only">YouTube</span>
2322        </a>
2323      </li><li><a target="_blank" rel="noopener noreferrer" href="https://www.tiktok.com/@thephotostickomni" class="social_platform block relative" is="magnet-link" aria-describedby="a11y-new-window-message" aria-label="ThePhotoStick on TikTok"><svg class="icon icon-tiktok icon-lg" viewBox="0 0 24 24" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
2324      <path d="M10.6315 8.937V13.059C10.1123 12.9221 9.56911 12.9034 9.0418 13.0044C8.5145 13.1054 8.01657 13.3234 7.58473 13.6424C7.15288 13.9613 6.79813 14.3732 6.54661 14.8475C6.2951 15.3218 6.15324 15.8466 6.13148 16.383C6.10175 16.8449 6.17125 17.3078 6.33531 17.7405C6.49938 18.1733 6.7542 18.5659 7.08266 18.892C7.41111 19.2181 7.80557 19.4701 8.23952 19.631C8.67346 19.7919 9.13684 19.8581 9.59848 19.825C10.0648 19.8608 10.5333 19.7949 10.9717 19.6319C11.41 19.4689 11.8078 19.2126 12.1374 18.8809C12.4671 18.5491 12.7208 18.1498 12.881 17.7104C13.0413 17.271 13.1042 16.8021 13.0655 16.336V0H17.1425C17.8355 4.315 19.9935 5.316 22.8825 5.778V9.913C20.8804 9.74881 18.9491 9.09645 17.2575 8.013V16.18C17.2575 19.88 15.0675 24 9.63048 24C8.61045 23.9955 7.60156 23.7875 6.66297 23.3881C5.72437 22.9886 4.87496 22.4059 4.16451 21.6739C3.45407 20.942 2.89689 20.0755 2.52563 19.1254C2.15438 18.1754 1.97652 17.1607 2.00248 16.141C2.03479 15.0794 2.29174 14.0366 2.75639 13.0815C3.22105 12.1265 3.88285 11.2807 4.69819 10.6C5.51352 9.9193 6.46387 9.41915 7.48658 9.1325C8.50929 8.84586 9.58114 8.77923 10.6315 8.937Z"/>
2325    </svg><span class="sr-only">TikTok</span>
2326        </a>
2327      </li><li><a target="_blank" rel="noopener noreferrer" href="https://www.pinterest.com/ThePhotoStickOfficial/" class="social_platform block relative" is="magnet-link" aria-describedby="a11y-new-window-message" aria-label="ThePhotoStick on Pinterest"><svg class="icon icon-pinterest icon-lg" viewBox="0 0 24 24" stroke="none" fill="currentColor" xmlns="http://www.w3.org/2000/svg" role="presentation">
2328      <path d="M12 1C5.95 1 1 5.95 1 12C1 16.675 3.93333 20.6167 7.96667 22.2667C7.875 21.4417 7.78333 20.0667 7.96667 19.15C8.15 18.325 9.25 13.65 9.25 13.65C9.25 13.65 8.975 12.9167 8.975 12C8.975 10.4417 9.89167 9.34167 10.9917 9.34167C11.9083 9.34167 12.3667 10.075 12.3667 10.9C12.3667 11.8167 11.725 13.2833 11.45 14.5667C11.175 15.6667 12 16.5833 13.1 16.5833C15.025 16.5833 16.5833 14.5667 16.5833 11.5417C16.5833 8.88333 14.6583 7.05 12 7.05C8.88333 7.05 7.05 9.43333 7.05 11.8167C7.05 12.7333 7.41667 13.7417 7.875 14.2917C7.96667 14.3833 7.96667 14.475 7.96667 14.5667C7.875 14.9333 7.69167 15.6667 7.69167 15.85C7.6 16.0333 7.50833 16.125 7.325 16.0333
2328C5.95 15.3917 5.125 13.375 5.125 11.8167C5.125 8.33333 7.69167 5.125 12.3667 5.125C16.2167 5.125 19.15 7.875 19.15 11.45C19.15 15.2083 16.7667 18.325 13.4667 18.325C12.3667 18.325 11.2667 17.775 10.9 17.0417C10.9 17.0417 10.35 19.15 10.2583 19.7C9.98333 20.6167 9.34167 21.8083 8.88333 22.5417C9.8 22.8167 10.9 23 12 23C18.05 23 23 18.05 23 12C23 5.95 18.05 1 12 1Z"/>
2329    </svg><span class="sr-only">Pinterest</span>
2330        </a>
2331      </li></ul></div><div class="follow-on-shop">
2331<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-follow-button.en.esm.js"></script>
vendor: 1 bytes, line 2331
2331
2332<script type="module">
2333  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-follow-button.en.esm.js");
2334
2335  
2336</script>
2336
2337
2338<shop-follow-button ux-mode="windoid" return-uri="https://www.thephotostick.com/account/redirect" proxy="true"></shop-follow-button>
2339</div></div></div><parallax-overlay class="footer-overlay hidden md:block z-20 absolute left-0 top-0 w-full pointer-events-none" data-target="height" data-start="100%" data-stop="0%"></parallax-overlay></div>
2340
2341
2342</div><div id="shopify-section-sections--20232691318920__custom_liquid_n3L7fw" class="shopify-section shopify-section-group-footer-group"><style>
2343  #shopify-section-sections--20232691318920__custom_liquid_n3L7fw {
2344    --section-padding-top: 72px;
2345    --section-padding-bottom: 72px;}
2346</style>
2347
2348<div class="section section--padding">
2349  <div class="page-width relative">
2350    
2351<div style="max-width: 600px; margin: 0 auto; background-color: #eef6fb; border: 1px solid #cce2f0; border-radius: 6px; padding: 20px; text-align: center;">
2352  <a href="#" class="termly-display-preferences" style="background-color: #1990C6; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px; display: inline-block; margin-bottom: 2px;">Consent Settings</a>
2353</div>
2354
2355<div style="text-align: left; padding-top: 25px;">
2356  <div style="max-width: 600px; margin: 0 auto; background-color: #eef6fb; border: 1px solid #cce2f0; border-radius: 6px; padding: 20px; font-size: 0.9em; color: #000; font-style: italic;">
2357    
2358    <div style="margin-bottom: 15px;">
2359      <a href="https://www.thephotostick.com/pages/dsar" style="display: block; margin: 8px 0; color: #0000EE;">Do Not Sell or Share My Personal Information</a>
2360      <a href="https://www.thephotostick.com/pages/dsar" style="display: block; margin: 8px 0; color: #0000EE;">Limit the Use Of My Sensitive Personal Information</a>
2361    </div>
2362
2363    <p><strong>IMPORTANT:</strong></p>
2364    <p><strong>These forms are for submitting Data Subject Access Requests (DSARs) related to privacy rights, such as accessing, deleting, or managing personal information.</strong></p>
2365    <p><u>It is not for order inquiries, cancellations, refunds, or technical support.</u></p>
2366
2367    <p style="margin-top: 10px;">
2368      For assistance with your order or product, please contact our support team by using the chat feature or visiting our 
2369      <a href="https://www.thephotostick.com/pages/support-center" style="color: #0000EE;">Support Center</a>.
2370    </p>
2371    
2372  </div>
2373</div>
2374
2375  </div>
2376</div>
2377
2378
2379</div>
2380<!-- END sections: footer-group --></footer>
2381    </div>
2382
2383    <ul hidden>
2384      <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li>
2385      <li id="a11y-new-window-message">Opens in a new window.</li>
2386    </ul>
2386<script src="//www.thephotostick.com/cdn/shop/t/45/assets/instant-page.js?v=99963444960178710701778619156" type="module" fetchpriority="low" defer="defer"></script>
2386<!-- Maropost Code
2387    
2387<script async src='https://content.maropost.com/uploads/2043/websites/1/a731bd45f9438e1ac66f74219757a9fc85501e7e-v5.js' type='text/javascript'></script>
2387
2388 Maropost Code End -->
2389<!-- AccessiBe Code -->    
2390<script> (function(){ var s = document.createElement('script'); var h = document.querySelector('head') || document.body; s.src = 'https://acsbapp.com/apps/app/dist/js/app.js'; s.async = true; s.onload = function(){ acsbJS.init({ statementLink : '', footerHtml : '', hideMobile : false, hideTrigger : false, disableBgProcess : false, language : 'en', position : 'left', leadColor : '#146ff8', triggerColor : '#146ff8', triggerRadius : '50%', triggerPositionX : 'left', triggerPositionY : 'bottom', triggerIcon : 'people', triggerSize : 'medium', triggerOffsetX : 20, triggerOffsetY : 20, mobile : { triggerSize : 'small', triggerPositionX : 'left', triggerPositionY : 'bottom', triggerOffsetX : 10, triggerOffsetY : 10, triggerRadius : '50%' } }); }; h.appendChild(s); })(); </script>
2390
2391<!-- Button Logic for sales pages --> 
2392
2393
2394  <div id="shopify-block-Aakx5azA3LzNyenVHT__1561686393582567663" class="shopify-block shopify-app-block">
2394<script>
2395  const cartDetail = [
2396    
2397  ];
2398
2399  window.orichiLimit = {
2400    limits: [],
2401    currentProduct: null,
2402    collections: null,
2403    parameters: [],
2404    cartItems: null,
2405    cart: cartDetail,
2406    publicAccessToken: null,
2407    shopInfo:{
2408      currencyFormat: "${{amount}}",
2409    }
2410  };
2411  
2412    
2413    window.orichiLimit.limits = [{"Id":"0192778e-00b1-42c6-8095-aab70790b5c8","StoreId":"01927786-4286-457f-9543-957a921736b6","Title":"Max Quantity - 32GB TPSO (Sale) ET","Status":true,"Target":"product","CreatedDate":"2024-10-11T00:50:47.985322+07:00","ShopifyObjects":[{"Id":8385761411208,"Title":"32GB - ThePhotoStick® Omni (Sale)","Handle":"thephotostick-omni-32gb-sale","ParentId":0,"ParentName":""}],"ValidationRules":[{"Type":"maximum_quantity","Value":"3","Unit":null}],"AlertMessages":[{"Type":"cart_and_checkout","Value":"Limit of 5 items per purchase."}],"ProductTags":null,"CustomerTags":[],"IsApplyCountry":null,"IsApplyCustomerTags":null,"IsApplyCustomerLifetime":null,"CustomerGroupType":null,"AllowQuantities":null,"SpecificQuantities":null,"IsShowLimitTable":false,"StartDate":null,"EndDate":null,"IsSetEndDate":false,"LastUpdateLifetime":null,"UpdatedAt":null,"Countries":null,"ValidationRuleId":"gid://shopify/Validation/9994376","AlertInProductPage":true,"AlertProductPageMessage":"Quantity is not valid","LanguageCodes":null,"PreventCoPurchase":null,"AlertMessageLanguage":null,"IsAdvanceRuleMessage":false,"AdvanceRuleMessages":[],"AppearanceSetting":{"ProductPageCornerRadius":14,"ProductPageTextColor":"#000000","ProductPageBackgroundColor":"#F7CA00","OrderLimitTableShowMinimumColumn":true,"OrderLimitTableShowMaximumColumn":true,"OrderLimitTableTextColor":"#000000","OrderLimitTableBackgroundColor":"#F7CA00","CartPageTextColor":"#000000","CartPageBackgroundColor":"#F7CA00"},"TableMessages":null,"version":"2.2"},{"Id":"019296f8-ca83-4110-9fdc-0650bea79418","StoreId":"01927786-4286-457f-9543-957a921736b6","Title":"Max Quantity - TPSO Packs","Status":true,"Target":"product","CreatedDate":"2024-10-17T03:15:40.1630561+07:00","ShopifyObjects":[{"Id":6647449976968,"Title":"Buy 1 ThePhotoStick® Omni 64GB, Get 1 50% OFF","Handle":"buy-1-thephotostick-omni-64gb-get-1-50-off","ParentId":0,"ParentName":""},{"Id":6687211552904,"Title":"Buy 2 ThePhotoStick® Omni 128GB, Get 2 FREE","Handle":"buy-2-thephotostick-omni-128gb-get-2-free","ParentId":0,"ParentName":""},{"Id":8501669298312,"Title":"Buy 2 ThePhotoStick® Omni 128GB, Get 2 FREE - Sale","Handle":"buy-2-thephotostick-omni-128gb-get-2-free-sale","ParentId":0,"ParentName":""},{"Id":6687206965384,"Title":"Buy 2 ThePhotoStick® Omni 256GB, Get 2 FREE","Handle":"buy-2-thephotostick-omni-256gb-get-2-free","ParentId":0,"ParentName":""},{"Id":8501669625992,"Title":"Buy 2 ThePhotoStick® Omni 256GB, Get 2 FREE - Sale","Handle":"buy-2-thephotostick-omni-256gb-get-2-free-sale","ParentId":0,"ParentName":""},{"Id":6647455514760,"Title":"Buy 2 ThePhotoStick® Omni 64GB, Get 2 FREE","Handle":"buy-2-thephotostick-omni-64gb-get-2-free","ParentId":0,"ParentName":""},{"Id":8501670051976,"Title":"Buy 2 ThePhotoStick® Omni 64GB, Get 2 FREE - Sale","Handle":"buy-2-thephotostick-omni-64gb-get-2-free-sale","ParentId":0,"ParentName":""},{"Id":6646956687496,"Title":"Buy 2 ThePhotoStick® Omni 64GB, Get 40% OFF","Handle":"buy-2-thephotostick-omni-64gb-get-40-off","ParentId":0,"ParentName":""},{"Id":6647443751048,"Title":"Buy 3 ThePhotoStick® Omni 64GB, Get 50% OFF","Handle":"buy-3-thephotostick-omni-64gb-get-50-off","ParentId":0,"ParentName":""}],"ValidationRules":[{"Type":"maximum_quantity","Value":"1","Unit":null}],"AlertMessages":[{"Type":"cart_and_checkout","Value":"Limit of 5 items per purchase."}],"ProductTags":null,"CustomerTags":[],"IsApplyCountry":null,"IsApplyCustomerTags":null,"IsApplyCustomerLifetime":null,"CustomerGroupType":null,"AllowQuantities":null,"SpecificQuantities":null,"IsShowLimitTable":false,"StartDate":null,"EndDate":null,"IsSetEndDate":false,"LastUpdateLifetime":null,"UpdatedAt":null,"Countries":null,"ValidationRuleId":"gid://shopify/Validation/10256520","AlertInProductPage":true,"AlertProductPageMessage":"Quantity is not val
2413id","LanguageCodes":null,"PreventCoPurchase":null,"AlertMessageLanguage":null,"IsAdvanceRuleMessage":false,"AdvanceRuleMessages":[],"AppearanceSetting":{"ProductPageCornerRadius":14,"ProductPageTextColor":"#000000","ProductPageBackgroundColor":"#F7CA00","OrderLimitTableShowMinimumColumn":true,"OrderLimitTableShowMaximumColumn":true,"OrderLimitTableTextColor":"#000000","OrderLimitTableBackgroundColor":"#F7CA00","CartPageTextColor":"#000000","CartPageBackgroundColor":"#F7CA00"},"TableMessages":null,"version":"2.2"}];
2414    
2415  
2416  
2417  
2418    window.orichiLimit.publicAccessToken = "1398634fb126279d60628242bb7f579e";
2419  
2420  
2421    window.orichiLimit.IntendedError = {"version":"2.2"};
2422  
2423
2424  
2425  window.test={"access_token":"1398634fb126279d60628242bb7f579e","IntendedError":{"version":"2.2"},"limits":[{"Id":"0192778e-00b1-42c6-8095-aab70790b5c8","StoreId":"01927786-4286-457f-9543-957a921736b6","Title":"Max Quantity - 32GB TPSO (Sale) ET","Status":true,"Target":"product","CreatedDate":"2024-10-11T00:50:47.985322+07:00","ShopifyObjects":[{"Id":8385761411208,"Title":"32GB - ThePhotoStick® Omni (Sale)","Handle":"thephotostick-omni-32gb-sale","ParentId":0,"ParentName":""}],"ValidationRules":[{"Type":"maximum_quantity","Value":"3","Unit":null}],"AlertMessages":[{"Type":"cart_and_checkout","Value":"Limit of 5 items per purchase."}],"ProductTags":null,"CustomerTags":[],"IsApplyCountry":null,"IsApplyCustomerTags":null,"IsApplyCustomerLifetime":null,"CustomerGroupType":null,"AllowQuantities":null,"SpecificQuantities":null,"IsShowLimitTable":false,"StartDate":null,"EndDate":null,"IsSetEndDate":false,"LastUpdateLifetime":null,"UpdatedAt":null,"Countries":null,"ValidationRuleId":"gid:\/\/shopify\/Validation\/9994376","AlertInProductPage":true,"AlertProductPageMessage":"Quantity is not valid","LanguageCodes":null,"PreventCoPurchase":null,"AlertMessageLanguage":null,"IsAdvanceRuleMessage":false,"AdvanceRuleMessages":[],"AppearanceSetting":{"ProductPageCornerRadius":14,"ProductPageTextColor":"#000000","ProductPageBackgroundColor":"#F7CA00","OrderLimitTableShowMinimumColumn":true,"OrderLimitTableShowMaximumColumn":true,"OrderLimitTableTextColor":"#000000","OrderLimitTableBackgroundColor":"#F7CA00","CartPageTextColor":"#000000","CartPageBackgroundColor":"#F7CA00"},"TableMessages":null,"version":"2.2"},{"Id":"019296f8-ca83-4110-9fdc-0650bea79418","StoreId":"01927786-4286-457f-9543-957a921736b6","Title":"Max Quantity - TPSO Packs","Status":true,"Target":"product","CreatedDate":"2024-10-17T03:15:40.1630561+07:00","ShopifyObjects":[{"Id":6647449976968,"Title":"Buy 1 ThePhotoStick® Omni 64GB, Get 1 50% OFF","Handle":"buy-1-thephotostick-omni-64gb-get-1-50-off","ParentId":0,"ParentName":""},{"Id":6687211552904,"Title":"Buy 2 ThePhotoStick® Omni 128GB, Get 2 FREE","Handle":"buy-2-thephotostick-omni-128gb-get-2-free","ParentId":0,"ParentName":""},{"Id":8501669298312,"Title":"Buy 2 ThePhotoStick® Omni 128GB, Get 2 FREE - Sale","Handle":"buy-2-thephotostick-omni-128gb-get-2-free-sale","ParentId":0,"ParentName":""},{"Id":6687206965384,"Title":"Buy 2 ThePhotoStick® Omni 256GB, Get 2 FREE","Handle":"buy-2-thephotostick-omni-256gb-get-2-free","ParentId":0,"ParentName":""},{"Id":8501669625992,"Title":"Buy 2 ThePhotoStick® Omni 256GB, Get 2 FREE - Sale","Handle":"buy-2-thephotostick-omni-256gb-get-2-free-sale","ParentId":0,"ParentName":""},{"Id":6647455514760,"Title":"Buy 2 ThePhotoStick® Omni 64GB, Get 2 FREE","Handle":"buy-2-thephotostick-omni-64gb-get-2-free","ParentId":0,"ParentName":""},{"Id":8501670051976,"Title":"Buy 2 ThePhotoStick® Omni 64GB, Get 2 FREE - Sale","Handle":"buy-2-thephotostick-omni-64gb-get-2-free-sale","ParentId":0,"ParentName":""},{"Id":6646956687496,"Title":"Buy 2 ThePhotoStick® Omni 64GB, Get 40% OFF","Handle":"buy-2-thephotostick-omni-64gb-get-40-off","ParentId":0,"ParentName":""},{"Id":6647443751048,"Title":"Buy 3 ThePhotoStick® Omni 64GB, Get 50% OFF","Handle":"buy-3-thephotostick-omni-64gb-get-50-off","ParentId":0,"ParentName":""}],"ValidationRules":[{"Type":"maximum_quantity","Value":"1","Unit":null}],"AlertMessages":[{"Type":"cart_and_checkout","Value":"Limit of 5 items per purchase."}],"ProductTags":null,"CustomerTags":[],"IsApplyCountry":null,"IsApplyCustomerTags":null,"IsApplyCustomerLifetime":null,"CustomerGroupType":null,"AllowQuantities":null,"SpecificQuantities":null,"IsShowLimitTable":false,"StartDate":null,"EndDate":null,"IsSetEndDate":false,"LastUpdateLifetime":null,"UpdatedAt":null,"Countries":null,"ValidationRuleId":"gid:\/\/shopify\/Validation\/10256520","AlertInProductPage":true,"AlertProductPageMessage":"Quantity is not val
2425id","LanguageCodes":null,"PreventCoPurchase":null,"AlertMessageLanguage":null,"IsAdvanceRuleMessage":false,"AdvanceRuleMessages":[],"AppearanceSetting":{"ProductPageCornerRadius":14,"ProductPageTextColor":"#000000","ProductPageBackgroundColor":"#F7CA00","OrderLimitTableShowMinimumColumn":true,"OrderLimitTableShowMaximumColumn":true,"OrderLimitTableTextColor":"#000000","OrderLimitTableBackgroundColor":"#F7CA00","CartPageTextColor":"#000000","CartPageBackgroundColor":"#F7CA00"},"TableMessages":null,"version":"2.2"}]}
2426</script>
2426
2427
2428
2429
2430  
2430<script defer="defer" src="https://cdn.shopify.com/extensions/01a0933e-d74c-71e8-b102-ad844b981c37/madgic-checkout-validation-427/assets/orichi-limit-purchase.js"></script>
2430
2431
2432<link href="https://cdn.shopify.com/extensions/01a0933e-d74c-71e8-b102-ad844b981c37/madgic-checkout-validation-427/assets/orichi-limit-purchase.css" rel="stylesheet" type="text/css" />
2433
2434<script>
2435  window.themeSettings = {
2436    cartType: 'drawer',
2437    enableCartDrawer: false,
2438    useAjaxCart: "null",
2439
2440    // Một số theme có thể dùng tên biến khác
2441    cartStyle: '',
2442    miniCartEnabled: false,
2443
2444    // Export luôn template để check
2445    currentTemplate: 'search',
2446    cartTemplate: 'search'
2447  };
2448</script>
2448
2449
2450
2451</div><div id="shopify-block-ARk1MeEJVR0Fxd3QzV__8847685616676869210" class="shopify-block shopify-app-block">
2452  <!-- BEGIN app snippet: announcement -->
2453
2454
2455
2456<script id="test-snippets">
2457  
2458    window.ab_animation = {"_id":"618c0d84fbd4e135b2a7af54", "rmvBtnEnabled":false, "slidePadding":8, "cssEnabled":false, "textAnimation":false, "shopUrl":"thephotostick.myshopify.com", "userId":"618c0d84fbd4e135b2a7af53", "animationIn":"lightSpeedIn", "animationOut":"slideOutRight", "autoplayTime":12500, "animationTime":1500, "slideHeight":"40", "type":"all", "slidePosition":"fixed", "rmvBtnColor":"#ffffff", "customCss":".section-header{ top: var(--announcement-bar-height0); }", "absolutePosition":"", "created":"2021-11-10T18:20:52.934Z", "updated":"2021-11-10T18:20:52.934Z", "__v":0, "StrictMobileSelector":"", "StrictSelector":"", "customPosition":"", "fixMobileSelector":"", "selector":"", "textAnimationBg":"#000", "textAnimationPadding":20, "textAnimationSliderWidth":0, "textAnimationTime":30, "textAnimationWidth":1541, "timePerPixel":76.86666666666666};
2459  
2460
2461  
2462    window.ab_announcement = [];
2463  
2464
2465   
2466    window.ab_user = {"recurringPlanName":"Yearly", "recurringPlanType":"Paid", "recurringPlanId":"Yearly"};
2467  
2468</script>
2468
2469
2470<script>
2471  var activeCurrency = "USD";
2472  var activeCurrencySymbol = "$";
2473  var productDetails = null;
2474  var ws_currencyFormat = "${{amount}} USD";
2475</script>
2475<!-- END app snippet -->
2476
2477</div><div id="shopify-block-AbmR4ZVhWZXJvS2NJQ__2786716548061469553" class="shopify-block shopify-app-block">
2478
2479<script>
2480</script>
2480
2481
2482 </div>
2482<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2482
2483</body>
2484</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.