1<!DOCTYPE html> 2 3<html lang="en"> 4<head> 5 <meta name="google-site-verification" content="-WIPJyy2Ng7K07tModat6XpGUfyEYC5-2hqlG8Zo-gs" /> 6 <meta charset="UTF-8" /> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 8 <title>Contact | Good Sleep Co</title> 9 <meta name="description" content="Contact Good Sleep Co for sleep apnea testing and oral device inquiries. Call 07 5690 2029 or email [email protected]. Burleigh Heads, QLD." /> 10 <link rel="canonical" href="https://goodsleepco.health/pages/contact" /> 11 <meta property="og:title" content="Contact" /> 12 <meta property="og:description" content="Contact Good Sleep Co for sleep apnea testing and oral device inquiries. Call 07 5690 2029 or email [email protected]. Burleigh Heads, QLD." /> 13 <meta property="og:url" content="https://goodsleepco.health/pages/contact" /> 14 <meta property="og:type" content="website" /> 15 <meta property="og:site_name" content="Good Sleep Co" /> 16 <meta property="og:image" content="https:files/Screen_Shot_2022-07-29_at_3.59.41_pm.png" /> 17
17<script type="application/ld+json"> 18 { 19 "@context": "https://schema.org", 20 "@type": ["Organization", "MedicalBusiness"], 21 "name": "Good Sleep Co", 22 "url": "https://goodsleepco.health", 23 "logo": "https://cdn.shopify.com/s/files/1/0598/2417/7291/files/good-sleep-co-logo-long.svg", 24 "description": "At-home sleep apnea testing and clinically proven oral devices for snoring and sleep apnea treatment.", 25 "telephone": "+61756902029", 26 "email": "[email protected]", 27 "address": { 28 "@type": "PostalAddress", 29 "streetAddress": "U2/46 Junction Rd", 30 "addressLocality": "Burleigh Heads", 31 "addressRegion": "QLD", 32 "postalCode": "4220", 33 "addressCountry": "AU" 34 }, 35 "sameAs": [ 36 "https://www.facebook.com/GoodSleepCo", 37 "https://www.instagram.com/goodsleep_co/", 38 "https://www.linkedin.com/company/good-sleep-co/" 39 ] 40 } 41 </script>
41 42 <link rel="icon" type="image/png" href="https://cdn.shopify.com/s/files/1/0718/2372/0537/files/good_sleep_fav.png?v=1685575978"> 43 44 <!-- Google Tag Manager --> 45
45<script>
vendor: 335 bytes, lines 45-49
45(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 46 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 47 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 48 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 49 })(window,document,'script','dataLayer','
49GTM-M3CLJRL4
vendor: 3 bytes, line 49
49');
49</script>
49 50 51 <!-- Meta Pixel --> 52
52<script>
vendor: 419 bytes, lines 52-58
52 53 !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 54 n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; 55 n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; 56 t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, 57 document,'script','https://connect.facebook.net/en_US/fbevents.js'); 58 fbq('init', '
58215594561324661
vendor: 36 bytes, lines 58-60
58'); 59 fbq('track', 'PageView'); 60
60</script>
60 61 <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=215594561324661&ev=PageView&noscript=1" /></noscript> 62 63 <!-- CAPI Helpers (Stape dedup + dataLayer bridge) --> 64
64<script> 65 function genEventId(prefix) { 66 return prefix + '_' + Date.now() + '_' + Math.random().toString(36).substr(2,9); 67 } 68 function getFbCookie(n) { 69 var m = document.cookie.match('(^|;)\\s*' + n + '\\s*=\\s*([^;]+)'); 70 return m ? m.pop() : ''; 71 } 72 window.dataLayer = window.dataLayer || []; 73 dataLayer.push({ 74 event: 'capi_init', 75 fbp: getFbCookie('_fbp'), 76 fbc: getFbCookie('_fbc'), 77 page_url: window.location.href, 78 page_referrer: document.referrer 79 }); 80 </script>
80 81 82 <!-- GA4 -->
vendor: 66 bytes, lines 82-83
82 83 <script async src="https://www.googletagmanager.com/gtag/js?id=
83G-KJMJE19M6G
vendor: 14 bytes, lines 83-84
83"></script> 84
84<script> 85
vendor: 139 bytes, lines 85-88
85window.dataLayer = window.dataLayer || []; 86 function gtag(){dataLayer.push(arguments);} 87 gtag('js', new Date()); 88 gtag('config', '
88G-KJMJE19M6G
vendor: 8 bytes, lines 88-89
88'); 89
89/* Google Ads conversion tracking handled via GTM (Kraken tags, conversion ID 16804250699). 90 AW-17634919796 removed â no conversion actions configured in that account. 91 Re-add when account has proper conversion tags set up. */ 92 </script>
92 93 94 95 <!-- Hyros (universal) â deferred to not block LCP --> 96
96<script> 97window.addEventListener('load', function() { 98 var head = document.head; 99 var script = document.createElement('script'); 100 script.type = 'text/javascript'; 101 script.src = "https://tr.goodsleepco.health/v1/lst/universal-script?ph=870f297b63c5291965577f724d5b5cb88e2f5c638b25cab9e3dc91ddcecd6f74&tag=!clicked&ref_url=" + encodeURI(document.URL) ; 102 head.appendChild(script); 103}); 104</script>
104 105 106 107 <!-- PostHog â deferred to window.load --> 108
108<script> 109 window.addEventListener('load', function() { 110 !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group identify setPersonProperties setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags resetGroups onFeatureFlags addFeatureFlagsHandler onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); 111 posthog.init('phc_i4IITH8aa9SyDS1vFFcMt7ZWwjunMcFE9TzA6BokPkh', { 112 api_host: 'https://us.i.posthog.com', 113 defaults: '2026-01-30' 114 }); 115 }); 116 </script>
116 117 118 <!-- Klaviyo Web Tracking â deferred --> 119
119<script> 120 window.addEventListener('load', function() { 121 var s = document.createElement('script'); 122 s.type = 'text/javascript'; 123 s.src = 'https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WscBdf'; 124 document.head.appendChild(s); 125 }); 126 </script>
126 127 128 <!-- Compiled Tailwind CSS (replaces CDN runtime â 26KB vs 300KB) --> 129 <link rel="stylesheet" href="//goodsleepco.health/cdn/shop/t/11/assets/tailwind-compiled.css?v=59973773598703081251773992497"> 130 <link rel="preconnect" href="https://fonts.googleapis.com"> 131 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 132 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet"> 133 <style> 134 * { font-family: 'Inter', system-ui, sans-serif; } 135 html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; } 136 body { font-family: 'Inter', system-ui, sans-serif; margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } 137 .tracking-brand { letter-spacing: 0.2em; } 138 139 /* FAQ Accordion */ 140 .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; } 141 .faq-answer.open { max-height: 500px; } 142 .faq-chevron { transition: transform 0.3s ease; } 143 .faq-chevron.open { transform: rotate(180deg); } 144 145 /* Fade-in animation */ 146 .fade-in { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; } 147 .fade-in.visible { opacity: 1; transform: translateY(0); } 148 149 /* Quiz select dropdown */ 150 .quiz-select { transition: all 0.2s ease; } 151 .quiz-step { animation: fadeUp 0.4s ease; } 152 153 /* Result cards */ 154 .result-card { display: none; } 155 .result-card.active { display: block; animation: fadeUp 0.5s ease; } 156 157 @keyframes fadeUp { 158 from { opacity: 0; transform: translateY(16px); } 159 to { opacity: 1; transform: translateY(0); } 160 } 161 162 /* Sticky bar */ 163 .sticky-cta { transform: translateY(100%); transition: transform 0.3s ease; } 164 .sticky-cta.show { transform: translateY(0); } 165 166 /* Price strikethrough */ 167 .price-old { text-decoration: line-through; opacity: 0.6; } 168 169 /* Safe area for iOS notch/bottom bar */ 170 .safe-area-bottom { padding-bottom: env(safe-area-inset-bottom, 0); } 171 172 /* Bottom padding so sticky CTA doesn't overlap footer content on mobile */ 173 @media (max-width: 1023px) { 174 footer { padding-bottom: 4.5rem; } 175 } 176 177 /* Comparison table highlight */ 178 .highlight-col { background-color: #E8F0F6; } 179 180 /* Journey line */ 181 .journey-line { position: relative; } 182 .journey-line::before { 183 content: ''; 184 position: absolute; 185 top: 20px; 186 left: 0; 187 right: 0; 188 height: 2px; 189 background: linear-gradient(to right, #ECAFAC, #99BCD2, #002156); 190 } 191 192 /* Pulse animation for CTA */ 193 .pulse-soft { 194 animation: pulseSoft 2s infinite; 195 } 196 @keyframes pulseSoft { 197 0%, 100% { box-shadow: 0 0 0 0 rgba(236, 175, 172, 0.4); } 198 50% { box-shadow: 0 0 0 12px rgba(236, 175, 172, 0); } 199 } 200 201 /* Scrollbar hide for thumbnail strips */ 202 .scrollbar-hide::-webkit-scrollbar { display: none; } 203 .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; } 204 205 /* Skip-to-content */ 206 .skip-link { position: absolute; top: -100%; left: 50%; transform: translateX(-50%); z-index: 100; } 207 .skip-link:focus { top: 0.5rem; } 208 209 /* Focus-visible for keyboard users */ 210 :focus-visible { outline: 2px solid #ECAFAC; outline-offset: 2px; } 211 button:focus:not(:focus-visible), a:focus:not(:focus-visible) { outline: none; } 212 </style>
212<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
212<meta name="google-site-verification" content="ETV9ghkhb6XK185UpHnL0Au1_x3pQ1Y_ggHn-iG5VAg"> 213<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/59824177291/digital_wallets/dialog">
214<script async="async" src="/checkouts/internal/preloads.js?locale=en-AU"></script>
214 215<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
216<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-AU&shop_id=59824177291" crossorigin="anonymous"></script>
vendor: 1 bytes, line 216
216
217<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":59824177291,"countryCode":"AU","currencyCode":"AUD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/59824177291","merchantName":"Good Sleep Co","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","jcb"],"total":{"type":"pending","label":"Good Sleep Co","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 217
217
218<script id="shopify-features" type="application/json">{"accessToken":"ded888b8287375f7beb665757cf73295","betas":["rich-media-storefront-analytics"],"domain":"goodsleepco.health","predictiveSearch":true,"shopId":59824177291,"locale":"en"}</script>
vendor: 1 bytes, line 218
218
219<script>var Shopify = Shopify || {}; 220Shopify.shop = "good-sleep-co-gc.myshopify.com"; 221Shopify.locale = "en"; 222Shopify.currency = {"active":"AUD","rate":"1.0"}; 223Shopify.country = "AU"; 224Shopify.theme = {"name":"Gateway Home Page","id":140639207563,"schema_name":"Motion","schema_version":"8.5.1","theme_store_id":null,"role":"main"}; 225Shopify.theme.handle = "null"; 226Shopify.theme.style = {"id":null,"handle":null}; 227Shopify.cdnHost = "goodsleepco.health/cdn"; 228Shopify.routes = Shopify.routes || {}; 229Shopify.routes.root = "/"; 230Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 231Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 232Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 233Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 233
233
234<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 234
234
235<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 235
235
236<script> 237 window.ShopifyPay = window.ShopifyPay || {}; 238 window.ShopifyPay.apiHost = "shop.app\/pay"; 239 window.ShopifyPay.redirectState = null; 240</script>
vendor: 1 bytes, line 240
240
241<script> 242 window.Shopify = window.Shopify || {}; 243 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 244 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 245 window.Shopify.SignInWithShop.eligible = true; 246</script>
vendor: 1 bytes, line 246
246
247<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 247
247
248<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 248
248
249<script type="module"> 250 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 251 252 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 253 254</script>
vendor: 1 bytes, line 254
254
255<script> 256 window.Shopify = window.Shopify || {}; 257 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 258 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"]}; 259</script>
vendor: 1 bytes, line 259
259
260<script>(function() { 261 var isLoaded = false; 262 function asyncLoad() { 263 if (isLoaded) return; 264 isLoaded = true; 265 var urls = ["https:\/\/cached.rebuyengine.com\/onsite\/js\/rebuy.js?shop=good-sleep-co-gc.myshopify.com"]; 266 for (var i = 0; i < urls.length; i++) { 267 var s = document.createElement('script'); 268 s.type = 'text/javascript'; 269 s.async = true; 270 s.src = urls[i]; 271 var x = document.getElementsByTagName('script')[0]; 272 x.parentNode.insertBefore(s, x); 273 } 274 }; 275 if(window.attachEvent) { 276 window.attachEvent('onload', asyncLoad); 277 } else { 278 window.addEventListener('load', asyncLoad, false); 279 } 280})();</script>
vendor: 1 bytes, line 280
280
281<script id="__st">var __st={"a":59824177291,"offset":36000,"reqid":"98ccc998-acba-45e1-a7f5-8fd5ea159486-1790243499","pageurl":"goodsleepco.health\/pages\/contact","s":"pages-93631021195","u":"9b9427f81ad2","p":"page","rtyp":"page","rid":93631021195};</script>
vendor: 1 bytes, line 281
281
282<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 282
282
283<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 283
283
284<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//goodsleepco.health/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 284
284
285<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 = "//goodsleepco.health/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>
285<script crossorigin="anonymous" defer="defer" src="//goodsleepco.health/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 285
285
286<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 286
286
287<script> 288 window.Shopify = window.Shopify || {}; 289 window.Shopify.MCP = window.Shopify.MCP || {}; 290 window.Shopify.MCP.enabled = true; 291 window.Shopify.MCP.shop = "good-sleep-co-gc.myshopify.com"; 292 window.Shopify.MCP.mcpEndpoint = "https:\/\/goodsleepco.health\/api\/mcp"; 293 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"]}}]; 294</script>
vendor: 1 bytes, line 294
294
295<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("\/\/goodsleepco.health\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 296</script>
vendor: 1 bytes, line 296
296
297<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://goodsleepco.health/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 298</script>
vendor: 1 bytes, line 298
298
299<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 300 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); 301</script>
vendor: 1 bytes, line 301
301
302<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})}})); 303</script>
303 304<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://goodsleepco.health/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 305<style id="shopify-accelerated-checkout-cart"> 306 #shopify-buyer-consent { 307 margin-top: 1em; 308 display: inline-block; 309 width: 100%; 310} 311 312#shopify-buyer-consent.hidden { 313 display: none; 314} 315 316#shopify-subscription-policy-button { 317 background: none; 318 border: none; 319 padding: 0; 320 text-decoration: underline; 321 font-size: inherit; 322 cursor: pointer; 323} 324 325#shopify-subscription-policy-button::before { 326 box-shadow: none; 327} 328 329 </style> 330
331<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
331 332
332<script> 333 /* Session UTM capture: any entry page stores UTMs so lead forms (e.g. treatment) keep attribution after navigation */ 334 (function () { 335 try { 336 var p = new URLSearchParams(window.location.search); 337 var ks = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term']; 338 var out = {}, found = false; 339 ks.forEach(function (k) { var v = p.get(k); if (v) { out[k] = v; found = true; } }); 340 if (found) sessionStorage.setItem('gsc_utms', JSON.stringify(out)); 341 } catch (e) {} 342 })(); 343 </script>
343 344<!-- BEGIN app block: shopify://apps/essential-a-b-testing/blocks/ab-testing/0154ac6b-7b9c-4958-8219-ed5b06e6d463 -->
344<script type="text/javascript"> 345 var eaABtEmbdScrV=(function(){"use strict";var P=Object.defineProperty;var E=(c,a,l)=>a in c?P(c,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):c[a]=l;var h=(c,a,l)=>E(c,typeof a!="symbol"?a+"":a,l);class c{constructor(){h(this,"selectors",["#PBarNextFrameWrapper","#preview-bar-iframe"]);h(this,"keepLookingForMs",1e4)}hide(){return Promise.all(this.selectors.map(e=>this.waitAndHideElement(e)))}waitAndHideElement(e){return new Promise(t=>{let s=0;const i=u=>{u.dataset.eaAbPbHidden!=="1"&&(u.dataset.eaAbPbHidden="1",u.style.display="none")},n=document.querySelector(e);if(n){i(n),t(!0);return}const o=new MutationObserver(()=>{const u=document.querySelector(e);u&&(i(u),window.clearTimeout(s),o.disconnect(),t(!0))});o.observe(document.documentElement,{childList:!0,subtree:!0}),s=window.setTimeout(()=>{o.disconnect(),t(!1)},this.keepLookingForMs)})}}const a=/\b(googlebot|adsbot-google|google-adsbot|mediapartners-google|google-inspectiontool|googleother|storebot-google|google-read-aloud|googleweblight|googlepage|google-adwords(?:-[a-z0-9-]+)?|bingbot|slurp|duckduckbot|baiduspider|yandex(?:bot|images)|sogou|exabot|applebot|petalbot|ahrefsbot|semrushbot|mj12bot|dotbot|seznambot|rogerbot|linkdexbot|facebookexternalhit|facebot|linkedinbot|twitterbot|pinterest|redditbot|discordbot|slackbot|whatsapp|telegrambot|embedly|quora-link-preview|outbrain|nuzzel|flipboardproxy|vkshare)\b/i;class l{static shouldProcessRequest(e){return!(this.isBot()||!this.canPersist()||this.isInDesignMode(e)||this.isAppPreview())}static isBot(){return a.test(navigator.userAgent)}static canPersist(){try{const e="__essential-ab-testing-persistance__";return localStorage.setItem(e,"1"),localStorage.removeItem(e),!0}catch{return!1}}static isInDesignMode(e){return e.request.designMode}static isAppPreview(){return new URLSearchParams(window.location.search).get("eaPreview")==="true"}}var d=(r=>(r.TEMPLATE="template",r.THEME="theme",r))(d||{});class f{static themeGid(e){return`gid://shopify/OnlineStoreTheme/${e}`}static themeId(e){return e.replace("gid://shopify/OnlineStoreTheme/","")}}class m{static handle(e,t,s){switch(e.type){case d.TEMPLATE:this.handleTemplate(e,t,s);return;case d.THEME:this.handleTheme(e,t);return}}static handleTemplate(e,t,s){if(t!=="a"&&t!=="b")return;const n=e.params[t];if(n.name!==s.template.name||n.suffix===s.template.suffix)return;const o=new URL(window.location.href);o.searchParams.set("view",n.suffix??"__DEFAULT"),window.location.replace(o.toString())}static handleTheme(e,t){if(t!=="a"&&t!=="b")return;const i=e.params[t];if(i===f.themeGid(Shopify.theme.id))return;const n=f.themeId(i),o=new URL(window.location.href);o.searchParams.set("preview_theme_id",n),window.location.replace(o.toString())}}class p{constructor(e){h(this,"tests");this.tests=e}find(e){return this.tests.find(t=>{switch(t.type){case d.TEMPLATE:return this.testMatchesTemplate(t.params,e);case d.THEME:return this.testMatchesTheme(t.params)}return!1})}testMatchesTemplate(e,t){return e.themeId!==f.themeGid(Shopify.theme.id)?!1:e.a.name===t.template.name&&e.a.suffix===t.template.suffix||e.b.name===t.template.name&&e.b.suffix===t.template.suffix}testMatchesTheme(e){const t=f.themeGid(Shopify.theme.id);return e.a===t||e.b===t}}class g{static pick(e){return Math.random()<=e.aPercentage/100?"a":"b"}}class b{static generate(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():typeof crypto<"u"&&crypto.getRandomValues?"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(+e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+e/4).toString(16)):"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}}class x{constructor(e){h(this,"key");this.key=`essential-ab-testing-${e}`}get(){const e=localStorage.getItem(this.key);if(e)try{return JSON.parse(e)}catch{}}getOrMake(){const e=this.get();return e||{id:b.generate(),createdAt:new Date,tests:[]}}getTestVariant(e){const t=this.get();if(!t)return;const i=(t.tests??[]).find(n=>n.id==e);return i?i.variant:void 0}setTestVariant(e,t){const s=this.getOrMake();s.tests.push({id:e,variant:t,createdAt:new Date}),localStorage.setItem(this.key,JSON.stringify(s))}onlyKeepTests(e){const t=this.get();if(!t||t.tests.length==0)return;const s=t.tests.filter(i=>e.includes(i.id));s.length!=t.tests.length&&(t.tests=s,localStorage.setItem(this.key,JSON.stringify(t)))}}const w=50,y=200;function T(r){if(typeof Shopify<"u"&&Shopify.theme){r();return}let e=0;const t=setInterval(()=>{e++,typeof Shopify<"u"&&Shopify.theme?(clearInterval(t),r()):e>=y&&clearInterval(t)},w)}function S(r,e){if(!l.shouldProcessRequest(r))return;new c().hide();const t=new x(r.shopId);t.onlyKeepTests(e.map(o=>o.id));const i=new p(e).find(r);if(!i)return;let n=t.getTestVariant(i.id);n||(n=g.pick(i),t.setTestVariant(i.id,n)),m.handle(i,n,r)}function v(r,e){T(()=>S(r,e))}return v})(); 346 347 eaABtEmbdScrV( 348 { 349 shopId: 59824177291, 350 request: { 351 designMode: false, 352 visualPreviewMode: false, 353 }, 354 template: { 355 directory: null, 356 name: "page", 357 suffix: "contact-v2", 358 } 359 }, 360 JSON.parse('[]') 361 ); 362</script>
362<!-- END app block --><!-- BEGIN app block: shopify://apps/eg-auto-add-to-cart/blocks/app-embed/0f7d4f74-1e89-4820-aec4-6564d7e535d2 --> 363 364 365 366 367 368 369 370 371 372 373 374 375
375<script 376 async 377 type="text/javascript" 378 src="https://cdn.506.io/eg/script.js?shop=good-sleep-co-gc.myshopify.com&v=12" 379 ></script>
379 380 381 382 383 384 <meta id="easygift-shop" itemid="c2hvcF8kXzE3OTAyNDM0OTk=" content="{"isInstalled":true,"installedOn":"2025-10-07T06:33:21.498Z","appVersion":"3.0","subscriptionName":"Standard","cartAnalytics":true,"freeTrialEndsOn":null,"settings":{"reminderBannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"closingMode":"doNotAutoClose","cssStyles":"","displayAfter":5,"headerText":"","imageUrl":null,"primaryColor":"#000000","reshowBannerAfter":"everyNewSession","selfcloseAfter":5,"showImage":false,"subHeaderText":""},"addedItemIdentifier":"_Gifted","ignoreOtherAppLineItems":null,"customVariantsInfoLifetimeMins":1440,"redirectPath":null,"ignoreNonStandardCartRequests":false,"bannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"cssStyles":null,"primaryColor":"#000000"},"themePresetId":null,"notificationStyle":{"position":{"horizontal":null,"vertical":null},"cssStyles":null,"duration":null,"hasCustomizations":false,"primaryColor":null},"fetchCartData":false,"useLocalStorage":{"enabled":false,"expiryMinutes":null},"popupStyle":{"addButtonText":null,"cssStyles":null,"dismissButtonText":null,"hasCustomizations":false,"imageUrl":null,"outOfStockButtonText":null,"primaryColor":null,"secondaryColor":null,"showProductLink":false,"subscriptionLabel":null},"refreshAfterBannerClick":false,"disableReapplyRules":false,"disableReloadOnFailedAddition":false,"autoReloadCartPage":false,"ajaxRedirectPath":null,"allowSimultaneousRequests":false,"applyRulesOnCheckout":false,"enableCartCtrlOverrides":true,"scriptSettings":{"branding":{"removalRequestSent":null,"show":false},"productPageRedirection":{"enabled":false,"products":[],"redirectionURL":"\/"},"debugging":{"enabled":false,"enabledOn":null,"stringifyObj":false},"hideGiftedPropertyText":false,"fetchCartDataBeforeRequest":false,"customCSS":null,"decodePayload":false,"delayUpdates":2000,"enableBuyNowInterceptions":false,"fetchProductInfoFromSavedDomain":false,"hideAlertsOnFrontend":false,"removeEGPropertyFromSplitActionLineItems":false,"removeProductsAddedFromExpiredRules":false,"useFinalPrice":true}},"translations":null,"defaultLocale":"en","shopDomain":"goodsleepco.health"}"> 385 386
387<script defer> 388 (async function() { 389 try { 390 391 const blockVersion = "v3" 392 if (blockVersion != "v3") { 393 return 394 } 395 396 let metaErrorFlag = false; 397 if (metaErrorFlag) { 398 return 399 } 400 401 // Parse metafields as JSON 402 const metafields = {"easygift-rule-68e4b71485c315935a7a62fa":{"schedule":{"enabled":false,"starts":null,"ends":null},"trigger":{"productTags":{"targets":[],"collectionInfo":null,"sellingPlan":null},"type":"productsInclude","minCartValue":null,"hasUpperCartValue":false,"upperCartValue":null,"products":[{"name":"Good Sleep Test - Default Title","variantId":41438208163979,"variantGid":"gid:\/\/shopify\/ProductVariant\/41438208163979","productGid":"gid:\/\/shopify\/Product\/7135719981195","handle":"good-sleep-test","sellingPlans":[],"alerts":[],"_id":"68e4b7ac65068856f3ac3ab7"}],"collections":[],"condition":"quantity","conditionMin":1,"conditionMax":null,"collectionSellingPlanType":null},"action":{"notification":{"enabled":false,"headerText":null,"subHeaderText":null,"showImage":false,"imageUrl":""},"discount":{"issue":null,"type":"app","discountType":"percentage","title":"Ebook Free","createdByEasyGift":true,"easygiftAppDiscount":true,"value":100,"id":"gid:\/\/shopify\/DiscountAutomaticNode\/1536712671371"},"popupOptions":{"showVariantsSeparately":false,"headline":null,"subHeadline":null,"showItemsPrice":false,"popupDismissable":false,"imageUrl":null,"persistPopup":false,"rewardQuantity":1,"showDiscountedPrice":false,"hideOOSItems":false},"banner":{"enabled":false,"headerText":null,"subHeaderText":null,"showImage":false,"imageUrl":null,"displayAfter":"5","closingMode":"doNotAutoClose","selfcloseAfter":"5","reshowBannerAfter":"everyNewSession","redirectLink":null},"type":"addAutomatically","products":[{"name":"Ebook - Sleep, snoring and sleep disorders - Default Title","variantId":"44338407899275","variantGid":"gid:\/\/shopify\/ProductVariant\/44338407899275","productGid":"gid:\/\/shopify\/Product\/7934261297291","quantity":1,"handle":"ebook-sleep-snoring-and-sleep-disorders","price":"0.00"}],"limit":1,"preventProductRemoval":false,"addAvailableProducts":false},"targeting":{"link":{"destination":null,"data":null,"cookieLifetime":14},"additionalCriteria":{"geo":{"include":[],"exclude":[]},"type":null,"customerTags":[],"customerTagsExcluded":[],"customerId":[],"orderCount":null,"hasOrderCountMax":false,"orderCountMax":null,"totalSpent":null,"hasTotalSpentMax":false,"totalSpentMax":null},"type":"all"},"settings":{"worksInReverse":true,"runsOncePerSession":false,"preventAddedItemPurchase":true,"showReminderBanner":false},"_id":"68e4b71485c315935a7a62fa","name":"Ebook","store":"68e4b42e97137fb6fb552788","shop":"good-sleep-co-gc","active":true,"translations":null,"createdAt":"2025-10-07T06:45:40.675Z","updatedAt":"2025-11-10T16:38:19.921Z","__v":0}}; 403 404 // Process metafields in JavaScript 405 let savedRulesArray = []; 406 for (const [key, value] of Object.entries(metafields)) { 407 if (value) { 408 for (const prop in value) { 409 // avoiding Object.Keys for performance gain -- no need to make an array of keys. 410 savedRulesArray.push(value); 411 break; 412 } 413 } 414 } 415 416 const metaTag = document.createElement('meta'); 417 metaTag.id = 'easygift-rules'; 418 metaTag.content = JSON.stringify(savedRulesArray); 419 metaTag.setAttribute('itemid', 'cnVsZXNfJF8xNzkwMjQzNDk5'); 420 421 document.head.appendChild(metaTag); 422 } catch (err) { 423 424 } 425 })(); 426</script>
426 427 428 429
429<script 430 type="text/javascript" 431 defer 432 > 433 434 (function () { 435 try { 436 window.EG_INFO = window.EG_INFO || {}; 437 var shopInfo = {"isInstalled":true,"installedOn":"2025-10-07T06:33:21.498Z","appVersion":"3.0","subscriptionName":"Standard","cartAnalytics":true,"freeTrialEndsOn":null,"settings":{"reminderBannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"closingMode":"doNotAutoClose","cssStyles":"","displayAfter":5,"headerText":"","imageUrl":null,"primaryColor":"#000000","reshowBannerAfter":"everyNewSession","selfcloseAfter":5,"showImage":false,"subHeaderText":""},"addedItemIdentifier":"_Gifted","ignoreOtherAppLineItems":null,"customVariantsInfoLifetimeMins":1440,"redirectPath":null,"ignoreNonStandardCartRequests":false,"bannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"cssStyles":null,"primaryColor":"#000000"},"themePresetId":null,"notificationStyle":{"position":{"horizontal":null,"vertical":null},"cssStyles":null,"duration":null,"hasCustomizations":false,"primaryColor":null},"fetchCartData":false,"useLocalStorage":{"enabled":false,"expiryMinutes":null},"popupStyle":{"addButtonText":null,"cssStyles":null,"dismissButtonText":null,"hasCustomizations":false,"imageUrl":null,"outOfStockButtonText":null,"primaryColor":null,"secondaryColor":null,"showProductLink":false,"subscriptionLabel":null},"refreshAfterBannerClick":false,"disableReapplyRules":false,"disableReloadOnFailedAddition":false,"autoReloadCartPage":false,"ajaxRedirectPath":null,"allowSimultaneousRequests":false,"applyRulesOnCheckout":false,"enableCartCtrlOverrides":true,"scriptSettings":{"branding":{"removalRequestSent":null,"show":false},"productPageRedirection":{"enabled":false,"products":[],"redirectionURL":"\/"},"debugging":{"enabled":false,"enabledOn":null,"stringifyObj":false},"hideGiftedPropertyText":false,"fetchCartDataBeforeRequest":false,"customCSS":null,"decodePayload":false,"delayUpdates":2000,"enableBuyNowInterceptions":false,"fetchProductInfoFromSavedDomain":false,"hideAlertsOnFrontend":false,"removeEGPropertyFromSplitActionLineItems":false,"removeProductsAddedFromExpiredRules":false,"useFinalPrice":true}},"translations":null,"defaultLocale":"en","shopDomain":"goodsleepco.health"}; 438 var productRedirectionEnabled = shopInfo.settings.scriptSettings.productPageRedirection.enabled; 439 if (["Unlimited", "Enterprise"].includes(shopInfo.subscriptionName) && productRedirectionEnabled) { 440 var products = shopInfo.settings.scriptSettings.productPageRedirection.products; 441 if (products.length > 0) { 442 var productIds = products.map(function(prod) { 443 var productGid = prod.id; 444 var productIdNumber = parseInt(productGid.split('/').pop()); 445 return productIdNumber; 446 }); 447 var productInfo = null; 448 var isProductInList = productIds.includes(productInfo.id); 449 if (isProductInList) { 450 var redirectionURL = shopInfo.settings.scriptSettings.productPageRedirection.redirectionURL; 451 if (redirectionURL) { 452 window.location = redirectionURL; 453 } 454 } 455 } 456 } 457 458 459 } catch(err) { 460 return 461 }}
461)() 462 </script>
462 463 464 465 466<!-- END app block --><!-- BEGIN app block: shopify://apps/geolocation-flow/blocks/auto-redirects/99c42a40-4a88-4244-a03e-a752a0b4e07d -->
466<script src="https://cdn.shopify.com/extensions/019fa68b-5014-74a6-b414-02bbdcfce20d/xapps-geo-345/assets/xgeo-countries-data.js"></script>
466<script type="application/json" data-xgeo-auto-config> 467 { 468 "settings": {"autoRedirectOnce":false,"autoRedirectOnceType":"session","disableUrlParam":false,"forward_url_params":true,"domain_redirection":false,"botDetectionPatterns":"bot|adsbot|googlebot|crawler|spider|robot|crawling|slurp","allowedPages":["all"],"redirectOnPagesMode":"trigger","autoRedirectDelay":0,"utm_source":"","utm_medium":"","utm_campaign":""}, 469 "shopifyTemplate": "page", 470 "shopifyTemplateDir": "", 471 "planName": "Pro plan", 472 "isDevPlan": false, 473 474 "autoRedirects": [{"id":"gid:\/\/shopify\/Metafield\/34906479493259","key":"mmcluumm","location":["US","CA"],"except_r":false,"block":false,"url":"https:\/\/goodsleepco.com\/","domain_redirection":true,"status":true,"order":1,"redirectOnPagesMode":"trigger","allowedPages":["all"]}], 475 "customCodeString": "" 476 } 477 </script>
477<script src="https://cdn.shopify.com/extensions/019fa68b-5014-74a6-b414-02bbdcfce20d/xapps-geo-345/assets/auto-redirects.min.js"></script>
477<!-- BEGIN app snippet: geo-simulator -->
477<script> 478(function(){ 479 var u=location.search,c=document.cookie,k='xgeo-sim-active'; 480 if(u.includes('xgeo-sim=1')){document.cookie=k+'=1;path=/;max-age=86400';} 481 if(u.includes('xgeo-sim=1')||c.includes(k+'=')){ 482 var s=document.createElement('script'); 483 s.src="https://cdn.shopify.com/extensions/019fa68b-5014-74a6-b414-02bbdcfce20d/xapps-geo-345/assets/geo-simulator.min.js"; 484 s.dataset.logo="https://cdn.shopify.com/extensions/019fa68b-5014-74a6-b414-02bbdcfce20d/xapps-geo-345/assets/main-logo.svg"; 485 document.head.appendChild(s); 486 } 487})(); 488</script>
488 489<!-- END app snippet --> 490<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 491 492 493 494 495 496 497 498 499 500 501 502 503
503<script async src="https://static.klaviyo.com/onsite/js/WscBdf/klaviyo.js?company_id=WscBdf"></script>
503 504
504<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>
504 505 506 507 508 509 510 511
511<script> 512 window.klaviyoReviewsProductDesignMode = false 513 </script>
513 514 515 516 517 518 519 520 521 522 523<!-- 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 /> 524<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
525<script> 526/* >> TriplePixel :: start*/ 527window.TriplePixelData={TripleName:"good-sleep-co-gc.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{ }},search:"",collection:"",cart:"drawer",template:"page",curr:"AUD" || "AUD", market:"28434563211"},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); 528/* << TriplePixel :: end*/ 529</script>
529 530 531 532 533<!-- END app block -->
533<script src="https://cdn.shopify.com/extensions/019cfe03-08f6-782b-9714-4c1ba92113b7/theme-app-extension-25/assets/kooee-embed.js" type="text/javascript" defer="defer"></script>
533 534<link href="https://cdn.shopify.com/extensions/019cfe03-08f6-782b-9714-4c1ba92113b7/theme-app-extension-25/assets/kooee.css" rel="stylesheet" type="text/css" media="all">
535<script src="https://cdn.shopify.com/extensions/01a0c89b-84ec-7e38-9224-6021e627d1b1/lb-upsell-447/assets/lb-selleasy.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 535
535
536<script src="https://cdn.shopify.com/extensions/019feb7b-2b89-71ba-a248-f1c8ef9b3368/stape-remix-56/assets/widget.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 536
536
537<script src="https://cdn.shopify.com/extensions/019fa68b-5014-74a6-b414-02bbdcfce20d/xapps-geo-345/assets/native-geo-redirects.min.js" type="text/javascript" defer="defer"></script>
537 538<link href="https://cdn.shopify.com/extensions/019fa68b-5014-74a6-b414-02bbdcfce20d/xapps-geo-345/assets/native-geo-redirects.min.css" rel="stylesheet" type="text/css" media="all"> 539<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
540<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: 59824177291,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};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 540
540
541<script> 542 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 543</script>
vendor: 1 bytes, line 543
543
544<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}
544).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: 59824177291,storefrontBaseUrl: "https://goodsleepco.health",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://goodsleepco.health/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b"],webPixelsConfigList: [{"id":"2378301579","configuration":"{\"storeId\":\"fc8c33ba-ddb3-4627-bcbd-4d1f2e36df0d\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9b5c7e9eba54366aed35e340586c8163","type":"APP","apiClientId":274629623809,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2197258379","configuration":"{\"shopId\":\"good-sleep-co-gc.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"}
544,{"id":"1902149771","configuration":"{\"accountID\":\"59824177291\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9cf281f576a3744d05c8685f9f7f3f72","type":"APP","apiClientId":10250649601,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1809023115","configuration":"{\"accountID\":\"WscBdf\",\"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":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"1502478475","configuration":"{\"hyrosProductHash\":\"870f297b63c5291965577f724d5b5cb88e2f5c638b25cab9e3dc91ddcecd6f74\",\"hyrosUrl\":\"https:\\\/\\\/tr.goodsleepco.health\\\/v1\\\/lst\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"602d3c7dfefa9b81da3f888ed343aca5","type":"APP","apiClientId":1804565,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1430978699","configuration":"{\"shopId\":\"gid:\/\/shopify\/Shop\/59824177291\",\"baseUrl\":\"https:\/\/ab-testing.essential-apps.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"b26e45fa9a7a5cf51742cf4b300d6739","type":"APP","apiClientId":248390909953,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1293156491","configuration":"{\"pixel_id\":\"215594561324661\",\"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":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"519209099","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"AW-17634919796\\\",\\\"GT-PL9DFRG2\\\",\\\"G-KJMJE19M6G\\\"],\\\"target_country\\\":\\\"AU\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-KJMJE19M6G\\\",\\\"AW-17634919796\\\/pn9QCNar8KMcEPSK_thB\\\",\\\"AW-17634919796\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-KJMJE19M6G\\\",\\\"AW-17634919796\\\/cO1QCM6X8KMcEPSK_thB\\\",\\\"AW-17634919796\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-KJMJE19M6G\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-KJMJE19M6G\\\",\\\"AW-17634919796\\\/PQMCCNOr8KMcEPSK_thB\\\",\\\"MC-5E8NX8PYRJ\\\",\\\"AW-17634919796\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-KJMJE19M6G\\\",\\\"AW-17634919796\\\/trUiCMuX8KMcEPSK_thB\\\",\\\"MC-5E8NX8PYRJ\\\",\\\"AW-17634919796\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-KJMJE19M6G\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-KJMJE19M6G\\\",\\\"AW-17634919796\\\/E7u5CMyY8KMcEPSK_thB\\\",\\\"MC-5E8NX8PYRJ\\\",\\\"AW-17634919796\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-KJMJE19M6G\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-KJMJE19M6G\\\",\\\"AW-17634919796\\\/mub6CNmr8KMcEPSK_thB\\\",\\\"AW-17634919796\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-KJMJE19M6G\\\",\\\"AW-17634919796\\\/-fJXCMmY8KMcEPSK_thB\\\",\\\"AW-17634919796\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-KJMJE19M6G\\\"}],\\\"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":"46170251","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"3","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"Google Ads Tracking"}
544,{"id":"127205515","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"Strape"},{"id":"127238283","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"Hyros"},{"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":"Good Sleep Co","paymentSettings":{"currencyCode":"AUD"},"myshopifyDomain":"good-sleep-co-gc.myshopify.com","countryCode":"AU","storefrontUrl":"https:\/\/goodsleepco.health"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"7557722964107","handle":"hushd-avera","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42792097382539","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7135719981195","handle":"good-sleep-test","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"41438208163979","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7222007398539","handle":"hushd-guard","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"41722883932299","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7399462469771","handle":"hushd-nasal","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42331947729035","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7058014961803","handle":"cleaner","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"41124907712651","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://goodsleepco.health/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"140639207563","themePublished":"true","eventMetadataId":"16589abf-02cf-4320-bd5f-304a08edf368","pageType":"page","resourceId":"93631021195","shopId":"59824177291","storefrontBaseUrl":"https:\/\/goodsleepco.health","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\",{}]]"});})();</script>
544<script> 545 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 546 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 547 window.ShopifyAnalytics.meta.currency = 'AUD'; 548 var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":93631021195,"requestId":"98ccc998-acba-45e1-a7f5-8fd5ea159486-1790243499"}}; 549 for (var attr in meta) { 550 window.ShopifyAnalytics.meta[attr] = meta[attr]; 551 } 552</script>
vendor: 1 bytes, line 552
552
553<script class="analytics"> 554 (function () { 555 var customDocumentWrite = function(content) { 556 var jquery = null; 557 558 if (window.jQuery) { 559 jquery = window.jQuery; 560 } else if (window.Checkout && window.Checkout.$) { 561 jquery = window.Checkout.$; 562 } 563 564 if (jquery) { 565 jquery('body').append(content); 566 } 567 }; 568 569 var hasLoggedConversion = function(token) { 570 if (token) { 571 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 572 } 573 return false; 574 } 575 576 var setCookieIfConversion = function(token) { 577 if (token) { 578 var twoMonthsFromNow = new Date(Date.now()); 579 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 580 581 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 582 } 583 } 584 585 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 586 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 587 if (trekkie.integrations) { 588 return; 589 } 590 trekkie.methods = [ 591 'identify', 592 'page', 593 'ready', 594 'track', 595 'trackForm', 596 'trackLink' 597 ]; 598 trekkie.factory = function(method) { 599 return function() { 600 var args = Array.prototype.slice.call(arguments); 601 args.unshift(method); 602 trekkie.push(args); 603 if (method == 'track' || method == 'page') { 604 try { 605 if (window.__TREKKIE_SHIM_QUEUE == null) { 606 window.__TREKKIE_SHIM_QUEUE = []; 607 } 608 window.__TREKKIE_SHIM_QUEUE.push({ 609 from: 'trekkie-stub', 610 method: method, 611 args: args.slice(1) 612 }); 613 } catch (e) { 614 // no-op 615 } 616 } 617 return trekkie; 618 }; 619 }; 620 for (var i = 0; i < trekkie.methods.length; i++) { 621 var key = trekkie.methods[i]; 622 trekkie[key] = trekkie.factory(key); 623 } 624 trekkie.load = function(config) { 625 trekkie.config = config || {}; 626 trekkie.config.initialDocumentCookie = document.cookie; 627 var first = document.getElementsByTagName('script')[0]; 628var script = document.createElement('script'); 629script.type = 'text/javascript'; 630script.onerror = function(e) { 631 var scriptFallback = document.createElement('script'); 632 scriptFallback.type = 'text/javascript'; 633 scriptFallback.onerror = function(error) { 634 var Monorail = { 635 produce: function produce(monorailDomain, schemaId, payload) { 636 var currentMs = new Date().getTime(); 637 var event = { 638 schema_id: schemaId, 639 payload: payload, 640 metadata: { 641 event_created_at_ms: currentMs, 642 event_sent_at_ms: currentMs 643 } 644 }; 645 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 646 }, 647 sendRequest: function sendRequest(endpointUrl, payload) { 648 // Try the sendBeacon API 649 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 650 var blobData = new window.Blob([payload], { 651 type: 'text/plain' 652 }); 653 654 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 655 return true; 656 } // sendBeacon was not successful 657 658 } // XHR beacon 659 660 var xhr = new XMLHttpRequest(); 661 662 try { 663 xhr.open('POST', endpointUrl); 664 xhr.setRequestHeader('Content-Type', 'text/plain'); 665 xhr.send(payload); 666 } catch (e) { 667 console.log(e); 668 } 669 670 return false; 671 }, 672 isIos12: function isIos12() { 673 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 674 } 675 }; 676 Monorail.produce('monorail-edge.shopifysvc.com', 677 'trekkie_storefront_load_errors/1.1', 678 {shop_id: 59824177291, 679 theme_id: 140639207563, 680 app_name: "storefront", 681 context_url: window.location.href, 682 source_url: "//goodsleepco.health/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 683 684 }; 685 scriptFallback.async = true; 686 scriptFallback.src = '//goodsleepco.health/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 687 first.parentNode.insertBefore(scriptFallback, first); 688}; 689script.async = true; 690script.src = '//goodsleepco.health/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 691first.parentNode.insertBefore(script, first); 692 693 }; 694 trekkie.load( 695 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":59824177291,"isMerchantRequest":null,"themeId":14
6950639207563,"themeCityHash":"148775060654889333","contentLanguage":"en","currency":"AUD","eventMetadataId":"16589abf-02cf-4320-bd5f-304a08edf368"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 696 ); 697 698 var loaded = false; 699 trekkie.ready(function() { 700 if (loaded) return; 701 loaded = true; 702 703 window.ShopifyAnalytics.lib = window.trekkie; 704 705 var originalDocumentWrite = document.write; 706 document.write = customDocumentWrite; 707 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 708 document.write = originalDocumentWrite; 709 710 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 711 var token = match? match[1]: undefined; 712 if (!hasLoggedConversion(token)) { 713 setCookieIfConversion(token); 714 715 } 716 }); 717 718 window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":93631021195,"requestId":"98ccc998-acba-45e1-a7f5-8fd5ea159486-1790243499","shopifyEmitted":true}); 719 720 var eventsListenerScript = document.createElement('script'); 721 eventsListenerScript.async = true; 722 eventsListenerScript.src = "//goodsleepco.health/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 723 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 724})();</script>
vendor: 1 bytes, line 724
724
725<script 726 defer 727 src="https://goodsleepco.health/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 728 data-application="storefront-renderer" 729 data-shop-id="59824177291" 730 data-render-region="gcp-us-central1" 731 data-page-type="page" 732 data-theme-instance-id="140639207563" 733 data-theme-name="Motion" 734 data-theme-version="8.5.1" 735 data-monorail-region="shop_domain" 736 data-resource-timing-sampling-rate="10" 737 data-shs="true" 738 data-shs-beacon="true" 739 data-shs-export-with-fetch="true" 740 data-shs-logs-sample-rate="1" 741 data-shs-beacon-endpoint="https://goodsleepco.health/api/collect" 742></script>
742 743<meta name="shopify-y" content="dedeb7d7-e2fd-4b06-91b3-f3166f1a48ef" data-expiration="1821801099000"><meta name="shopify-s" content="0f69d6c8-5da1-4ff6-a9d1-227548742174" data-expiration="1790245299000"><meta name="new-cookie-storage-activated" content="t"> 744</head> 745<body class="bg-white text-brand-gray-900"> 746<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 746-747
746 747<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
747GTM-M3CLJRL4
vendor: 86 bytes, lines 747-749
747" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 748 749
749<a href="#main-content" class="skip-link bg-blossom text-astral font-bold px-4 py-2 rounded-lg">Skip to content</a> 750 <div id="shopify-section-template--20248016584843__main" class="shopify-section"> 751 752<!-- âââ UNIVERSAL SITE HEADER (site-header) âââ --> 753<style> 754 .gsh-mobile-nav { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; } 755 .gsh-mobile-nav.open { max-height: 380px; } 756 .gsh-link { font-size: 14px; font-weight: 600; color: #002156; transition: color 0.2s; text-decoration: none; } 757 .gsh-link:hover { color: #ECAFAC; } 758 .gsh-link.gsh-active { border-bottom: 2px solid #002156; padding-bottom: 2px; } 759 .gsh-link.gsh-active:hover { color: #002156; } 760</style> 761<header class="sticky top-0 left-0 right-0 z-50 bg-white/95 backdrop-blur-sm border-b border-brand-gray-100" style="position:sticky;"> 762 <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> 763 <div class="flex justify-between items-center h-16"> 764 765 <!-- Logo --> 766 <a href="/" class="flex items-center"> 767 <img src="https://cdn.shopify.com/s/files/1/0598/2417/7291/files/gst-logo-navy-pink.webp?v=1772167928" 768 alt="Good Sleep Co." class="h-8 sm:h-9 w-auto" width="180" height="36" /> 769 </a> 770 771 <!-- Desktop Nav --> 772 <nav class="hidden lg:flex items-center gap-8"> 773 <a href="/pages/sleep-quiz" class="gsh-link">Sleep Quiz</a> 774 <a href="/products/good-sleep-test" class="gsh-link">Get Tested</a> 775 <a href="/pages/treatment" class="gsh-link">Treatment</a> 776 <a href="/products/cleaner" class="gsh-link">Cleaner</a> 777 <a href="/collections/shop" class="gsh-link">Shop</a> 778 <a href="/pages/faqs" class="gsh-link">FAQs</a> 779 </nav><!-- Desktop Cart --> 780 <a href="/cart" onclick="if (window.scCart && window.scCart.open) { event.preventDefault(); window.scCart.open(); }" class="hidden lg:flex items-center gap-2 text-astral hover:text-blossom transition" aria-label="Cart"> 781 <svg class="w-5 h-5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> 782 <path stroke-linecap="round" stroke-linejoin="round" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z" /> 783 </svg> 784 </a> 785 786 <!-- Mobile: Cart + Hamburger --> 787 <div class="flex items-center gap-3 lg:hidden"> 788 <a href="/cart" onclick="if (window.scCart && window.scCart.open) { event.preventDefault(); window.scCart.open(); }" class="text-astral" aria-label="Cart"> 789 <svg class="w-5 h-5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> 790 <path stroke-linecap="round" stroke-linejoin="round" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z" /> 791 </svg> 792 </a> 793 <button class="gsh-menu-toggle text-astral" aria-label="Menu" aria-expanded="false"> 794 <svg class="gsh-menu-open w-6 h-6" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> 795 <path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16" /> 796 </svg> 797 <svg class="gsh-menu-close w-6 h-6 hidden" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> 798 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> 799 </svg> 800 </button> 801 </div> 802 </div> 803 804 <!-- Mobile Nav Dropdown --> 805 <div class="gsh-mobile-nav lg:hidden"> 806 <nav class="py-4 border-t border-brand-gray-100 flex flex-col gap-3"><a href="/pages/sleep-quiz" class="gsh-link py-1">Sleep Quiz</a> 807 <a href="/products/good-sleep-test" class="gsh-link py-1">Get Tested</a> 808 <a href="/pages/treatment" class="gsh-link py-1">Treatment</a> 809 <a href="/products/cleaner" class="gsh-link py-1">Cleaner</a> 810 <a href="/collections/shop" class="gsh-link py-1">Shop</a> 811 <a href="/pages/faqs" class="gsh-link py-1">FAQs</a> 812 </nav> 813 </div> 814 </div> 815</header>
816<script> 817 (function () { 818 document.querySelectorAll('.gsh-menu-toggle').forEach(function (toggle) { 819 if (toggle.dataset.gshBound) return; 820 toggle.dataset.gshBound = '1'; 821 var header = toggle.closest('header'); 822 var nav = header.querySelector('.gsh-mobile-nav'); 823 var iconOpen = toggle.querySelector('.gsh-menu-open'); 824 var iconClose = toggle.querySelector('.gsh-menu-close'); 825 toggle.addEventListener('click', function () { 826 var isOpen = nav.classList.toggle('open'); 827 toggle.setAttribute('aria-expanded', isOpen); 828 iconOpen.classList.toggle('hidden', isOpen); 829 iconClose.classList.toggle('hidden', !isOpen); 830 }); 831 }); 832 })(); 833</script>
833 834 835 836<main id="main-content" class="bg-white"> 837 <!-- Hero --> 838 <section class="bg-gradient-to-br from-astral to-astral/90 py-16 sm:py-20"> 839 <div class="max-w-4xl mx-auto px-6 text-center"> 840 <p class="text-xs font-bold tracking-brand uppercase text-blossom mb-4">GET IN TOUCH</p> 841 <h1 class="text-3xl sm:text-4xl md:text-5xl font-extrabold text-white leading-tight mb-4"> 842 We're Here to Help 843 </h1> 844 <p class="text-white/70 text-lg max-w-2xl mx-auto"> 845 Questions about sleep testing, our oral devices, or your order? Our team is ready to help. 846 </p> 847 </div> 848 </section> 849 850 <!-- Contact Grid --> 851 <section class="py-16 sm:py-20"> 852 <div class="max-w-6xl mx-auto px-6"> 853 <div> 854 855 <!-- Contact Form --> 856 <div class="max-w-3xl mx-auto"> 857 <h2 class="text-2xl font-bold text-astral mb-6">Send Us a Message</h2> 858 <form method="post" action="/contact#gscContactForm" id="gscContactForm" accept-charset="UTF-8" class="space-y-5"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="â" /> 859 860 861 862 <div> 863 <label class="block text-sm font-semibold text-astral mb-1.5">What do you need help with?</label> 864 <div id="contact-topic-grid" class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3"> 865 <button type="button" data-topic="Order & Shipping" aria-pressed="false" style="-webkit-tap-highlight-color:transparent;" class="topic-opt w-full px-4 py-4 rounded-xl border-2 border-brand-gray-300 text-sm font-semibold text-astral text-center hover:border-blossom">Order & Shipping</button> 866 <button type="button" data-topic="Refund or Return" aria-pressed="false" style="-webkit-tap-highlight-color:transparent;" class="topic-opt w-full px-4 py-4 rounded-xl border-2 border-brand-gray-300 text-sm font-semibold text-astral text-center hover:border-blossom">Refund or Return</button> 867 <button type="button" data-topic="Product Support" aria-pressed="false" style="-webkit-tap-highlight-color:transparent;" class="topic-opt w-full px-4 py-4 rounded-xl border-2 border-brand-gray-300 text-sm font-semibold text-astral text-center hover:border-blossom">Product Support</button> 868 <button type="button" data-topic="Healthcare Professional" aria-pressed="false" style="-webkit-tap-highlight-color:transparent;" class="topic-opt w-full px-4 py-4 rounded-xl border-2 border-brand-gray-300 text-sm font-semibold text-astral text-center hover:border-blossom">I’m a Healthcare Professional</button> 869 <button type="button" data-topic="Other" aria-pressed="false" style="-webkit-tap-highlight-color:transparent;" class="topic-opt w-full px-4 py-4 rounded-xl border-2 border-brand-gray-300 text-sm font-semibold text-astral text-center hover:border-blossom">Other</button> 870 </div> 871 <select id="contact-topic" name="contact[topic]" class="hidden" tabindex="-1" aria-hidden="true"> 872 <option value="" selected></option> 873 <option value="Order & Shipping">Order & Shipping</option> 874 <option value="Refund or Return">Refund or Return</option> 875 <option value="Product Support">Product Support</option> 876 <option value="Healthcare Professional">I’m a Healthcare Professional</option> 877 <option value="Other">Other</option> 878 </select> 879 </div> 880 881 <div id="contact-provider-panel" class="hidden bg-astral/5 rounded-xl p-5"> 882 <p class="font-semibold text-astral text-sm mb-1">Healthcare professionals</p> 883 <p class="text-sm text-brand-gray-600 mb-3">Our provider team looks after practitioners: partnerships, Resdent software and patient referrals.</p> 884 <a href="https://provider.goodsleepco.health" class="inline-flex items-center bg-astral text-white font-bold text-sm px-5 py-2.5 rounded-full hover:bg-astral/90 transition">Visit the provider site</a> 885 </div> 886 887 <div id="contact-fields-wrap" class="hidden space-y-5"> 888 <div id="contact-order-wrap" class="hidden"> 889 <label for="contact-order" class="block text-sm font-semibold text-astral mb-1.5">Order number <span class="font-normal text-brand-gray-400">(from your confirmation email)</span></label> 890 <input type="text" id="contact-order" name="contact[order_number]" placeholder="e.g. #12345" 891 class="w-full px-4 py-3 rounded-xl border-2 border-brand-gray-300 focus:border-blossom focus:ring-2 focus:ring-blossom/20 outline-none transition text-sm" /> 892 </div> 893 894 <!-- Order tracking. Self-contained: its own order-number and email inputs 895 (the ticket form's copies are hidden while this shows and mirror these), 896 because customers typed the order number into the wrong box when the
897 two inputs lived in different places. --> 898 <div id="contact-track-panel" class="hidden"> 899 <p class="gsc-tk-title">Where is my order?</p> 900 <p class="gsc-tk-hint">Your order number and the email you ordered with. Both are in your confirmation email.</p> 901 <div class="gsc-tk-row"> 902 <div class="gsc-tk-col gsc-tk-col-order"> 903 <label for="contact-track-order" class="gsc-tk-label">Order number</label> 904 <input type="text" id="contact-track-order" inputmode="numeric" autocomplete="off" placeholder="e.g. 5024" class="gsc-tk-input" /> 905 </div> 906 <div class="gsc-tk-col gsc-tk-col-email"> 907 <label for="contact-track-email" class="gsc-tk-label">Email</label> 908 <input type="email" id="contact-track-email" autocomplete="email" placeholder="[email protected]" class="gsc-tk-input" /> 909 </div> 910 <div class="gsc-tk-col gsc-tk-col-btn"> 911 <button type="button" id="contact-track-btn" class="gsc-tk-btn">Track</button> 912 </div> 913 </div> 914 <div id="contact-track-result" class="hidden gsc-tk-result"></div> 915 </div> 916 917 <div id="contact-product-wrap" class="hidden"> 918 <label for="contact-product" class="block text-sm font-semibold text-astral mb-1.5">Which product?</label> 919 <select id="contact-product" name="contact[product]" class="w-full px-4 py-3 rounded-xl border-2 border-brand-gray-300 focus:border-blossom focus:ring-2 focus:ring-blossom/20 outline-none transition text-sm bg-white"> 920 <option value="" disabled selected>Choose a product</option> 921 <option value="Good Sleep Test">Good Sleep Test</option> 922 <option value="Hushd Avera">Hushd Avera</option> 923 <option value="Pro Avera">Pro Avera</option> 924 <option value="Cleaner">Cleaner</option> 925 <option value="Guard/Nasal">Guard/Nasal</option> 926 <option value="App">App</option> 927 </select> 928 </div> 929 930 <div class="grid sm:grid-cols-2 gap-4"> 931 <div> 932 <label for="contact-name" class="block text-sm font-semibold text-astral mb-1.5">Name</label> 933 <input type="text" id="contact-name" name="contact[name]" autocomplete="name" 934 class="w-full px-4 py-3 rounded-xl border-2 border-brand-gray-300 focus:border-blossom focus:ring-2 focus:ring-blossom/20 outline-none transition text-sm" /> 935 </div> 936 <div> 937 <label for="contact-phone" class="block text-sm font-semibold text-astral mb-1.5">Phone</label> 938 <input type="tel" id="contact-phone" name="contact[phone]" autocomplete="tel" 939 class="w-full px-4 py-3 rounded-xl border-2 border-brand-gray-300 focus:border-blossom focus:ring-2 focus:ring-blossom/20 outline-none transition text-sm" /> 940 </div> 941 </div> 942 943 <!-- SMS consent (A2P): its own checkbox, unticked by default, never required to submit --> 944 <div class="flex items-start gap-3"> 945 <input type="checkbox" id="contact-sms-consent" name="contact[sms_consent]" value="yes" 946 class="mt-0.5 w-4 h-4 flex-shrink-0 rounded border-brand-gray-300" style="accent-color:#ECAFAC;" /> 947 <label for="contact-sms-consent" class="text-xs text-brand-gray-500 leading-relaxed">I consent to receive SMS notifications and alerts from Good Sleep Co at the number provided. Message frequency varies. Message and data rates may apply. Text HELP for help. Reply STOP to unsubscribe at any time.</label> 948 </div> 949 <p id="contact-consent-phone-note" class="hidden text-xs text-red-600">Add your phone number so we can send SMS updates, or untick the SMS box.</p> 950 951 <div> 952 <label for="contact-email" class="block text-sm font-semibold text-astral mb-1.5">Email</label> 953 <input type="email" id="contact-email" name="contact[email]" autocomplete="email" 954 class="w-full px-4 py-3 rounded-xl border-2 border-brand-gray-300 focus:border-blossom focus:ring-2 focus:ring-blossom/20 outline-none transition text-sm" /> 955 </div> 956 957 <div id="contact-msg-wrap"> 958 <label for="contact-message" class="block text-sm font-semibold text-astral mb-1.5">Describe the issue. <span class="text-red-500">*</span></label> 959 <textarea id="contact-message" name="contact[body]" rows="5" 960 class="w-full px-4 py-3 rounded-xl border-2 border-brand-gray-300 focus:border-blossom focus:ring-2 focus:ring-blossom/20 outline-none transition text-sm resize-none"></textarea> 961 </div> 962 963 <div style="position:absolute;
963left:-9999px;top:-9999px;" aria-hidden="true"> 964 <label>Website<input type="text" name="website" tabindex="-1" autocomplete="off" value="" /></label> 965 </div> 966 967 <button type="submit" id="contact-submit" 968 class="w-full sm:w-auto bg-blossom text-astral font-bold text-sm px-8 py-3.5 rounded-full hover:bg-opacity-80 transition"> 969 Send Message 970 </button> 971 </div> 972 </form> 973 </div> 974 975 <!-- Contact Info --> 976 <div class="max-w-3xl mx-auto mt-16 grid sm:grid-cols-2 gap-10 items-start"> 977 <div> 978 <h2 class="text-2xl font-bold text-astral mb-6">Contact Details</h2> 979 <div class="space-y-5"> 980 <div class="flex items-start gap-4"> 981 <div class="w-10 h-10 bg-blossom/10 rounded-xl flex items-center justify-center flex-shrink-0"> 982 <svg class="w-5 h-5 text-blossom" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> 983 <path stroke-linecap="round" stroke-linejoin="round" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" /> 984 </svg> 985 </div> 986 <div> 987 <p class="font-semibold text-astral">Phone</p> 988 <a href="tel:+61756902029" class="text-brand-gray-600 hover:text-blossom transition">07 5690 2029</a> 989 </div> 990 </div> 991 992 <div class="flex items-start gap-4"> 993 <div class="w-10 h-10 bg-blossom/10 rounded-xl flex items-center justify-center flex-shrink-0"> 994 <svg class="w-5 h-5 text-blossom" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> 995 <path stroke-linecap="round" stroke-linejoin="round" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" /> 996 </svg> 997 </div> 998 <div> 999 <p class="font-semibold text-astral">Email</p> 1000 <a href="mailto:[email protected]" class="text-brand-gray-600 hover:text-blossom transition">[email protected]</a> 1001 </div> 1002 </div> 1003 1004 <div class="flex items-start gap-4"> 1005 <div class="w-10 h-10 bg-blossom/10 rounded-xl flex items-center justify-center flex-shrink-0"> 1006 <svg class="w-5 h-5 text-blossom" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> 1007 <path stroke-linecap="round" stroke-linejoin="round" d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" /> 1008 <path stroke-linecap="round" stroke-linejoin="round" d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" /> 1009 </svg> 1010 </div> 1011 <div> 1012 <p class="font-semibold text-astral">Address</p> 1013 <p class="text-brand-gray-600">U2/46 Junction Rd<br>Burleigh Heads, QLD 4220<br>Australia</p> 1014 </div> 1015 </div> 1016 </div> 1017 </div> 1018 1019 <div class="bg-astral/5 rounded-2xl p-6"> 1020 <h3 class="font-bold text-astral mb-2">Business Hours</h3> 1021 <div class="text-sm text-brand-gray-600 space-y-1"> 1022 <p>Monday â Friday: 9:00 AM â 5:00 PM AEST</p> 1023 <p>Saturday â Sunday: Closed</p> 1024 </div> 1025 </div> 1026 </div> 1027 1028 </div> 1029 </div> 1030 </section> 1031</main> 1032 1033<!-- ContactPage Schema -->
1034<script type="application/ld+json"> 1035{ 1036 "@context": "https://schema.org", 1037 "@type": "ContactPage", 1038 "name": "Contact Good Sleep Co", 1039 "url": "https://goodsleepco.health/pages/contact", 1040 "mainEntity": { 1041 "@type": "Organization", 1042 "name": "Good Sleep Co", 1043 "telephone": "+61756902029", 1044 "email": "[email protected]", 1045 "address": { 1046 "@type": "PostalAddress", 1047 "streetAddress": "U2/46 Junction Rd", 1048 "addressLocality": "Burleigh Heads", 1049 "addressRegion": "QLD", 1050 "postalCode": "4220", 1051 "addressCountry": "AU" 1052 } 1053 } 1054} 1055</script>
1055 1056 1057<!-- Footer --> 1058<footer class="bg-white border-t border-astral/10 pt-16 pb-24 md:pb-8"> 1059 <div class="max-w-7xl mx-auto px-6 grid grid-cols-2 md:grid-cols-4 gap-8 mb-16"> 1060 <div class="col-span-2 md:col-span-1"> 1061 <div class="flex items-center gap-2 mb-4"> 1062 <span class="font-bold text-lg tracking-tight text-astral"> 1063 Good Sleep<span class="font-normal">co</span> 1064 </span> 1065 </div> 1066 <p class="text-sm text-astral/60 mb-4">Aura of the night, energy for the day.</p> 1067 <div class="flex items-center gap-4"> 1068 <a href="https://www.facebook.com/GoodSleepCo" target="_blank" rel="noopener" 1069 class="text-astral/50 hover:text-astral transition-colors"> 1070 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"> 1071 <path 1072 d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z" /> 1073 </svg> 1074 </a> 1075 <a href="https://www.instagram.com/goodsleep_co/" target="_blank" rel="noopener" 1076 class="text-astral/50 hover:text-astral transition-colors"> 1077 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"> 1078 <path 1079 d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z" /> 1080 </svg> 1081 </a> 1082 <a href="https://www.linkedin.com/company/good-sleep-co/" target="_blank" rel="noopener" 1083 class="text-astral/50 hover:text-astral transition-colors"> 1084 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"> 1085 <path 1086 d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" /> 1087 </svg> 1088 </a> 1089 </div> 1090 </div> 1091 <div> 1092 <h4 class="text-astral font-bold mb-4">Support</h4> 1093 <ul class="space-y-3 text-sm text-astral/70"> 1094 <li><a href="https://goodsleepco.health/pages/contact" 1095 class="hover:text-astral underline-offset-4 hover:underline">Contact</a></li> 1096 <li><a href="https://goodsleepco.health/pages/faqs" 1097 class="hover:text-astral underline-offset-4 hover:underline">FAQs</a></li> 1098 <li><a href="https://calendly.com/nilvi-goodsleepco/resdent-team" target="_blank" 1099 class="hover:text-astral underline-offset-4 hover:underline">Talk to Our Team</a></li> 1100 <li><a href="https://goodsleepco.health/pages/location" 1101 class="hover:text-astral underline-offset-4 hover:underline">Retailers</a></li> 1102 </ul> 1103 </div> 1104 <div> 1105 <h4 class="text-astral font-bold mb-4">Legal</h4> 1106 <ul class="space-y-3 text-sm text-astral/70"> 1107 <li><a href="https://goodsleepco.health/policies/privacy-policy" 1108 class="hover:text-astral underline-offset-4 hover:underline">Privacy Policy</a></li> 1109 <li><a href="https://goodsleepco.health/policies/terms-of-service" 1110 class="hover:text-astral underline-offset-4 hover:underline">Terms of Service</a></li> 1111 <li><a href="https://goodsleepco.health/policies/shipping-policy" 1112 class="hover:text-astral underline-offset-4 hover:underline">Shipping Policy</a></li> 1113 <li><a href="https://goodsleepco.health/policies/refund-policy" 1114 class="hover:text-astral underline-offset-4 hover:underline">Refund Policy</a></li> 1115 </ul> 1116 </div> 1117 </div> 1118 <div 1119 class="max-w-7xl mx-auto px-6 text-center text-sm font-semibold text-astral/40 border-t border-astral/10 pt-8"> 1120 <p>© 2026 Good Sleep Co. All rights reserved.</p> 1121 </div> 1122</footer> 1123 1124<style> 1125 /* Order tracking widget. Custom CSS on purpose: the AU Tailwind build is 1126 precompiled, so text-red-800 / bg-red-50 / border-red-200 / text-green-800 / 1127 py-2.5 and bare outline-none silently do nothing on this store. */ 1128 #contact-track-panel { border: 2px solid #dee2e6; border-radius: .75rem; padding: 1rem; } 1129 @media (min-width: 640px) { #contact-track-panel { padding: 1.25rem; } } 1130 .gsc-tk-title { font-size: .875rem; font-weight: 600; color: #002156; margin-bottom: .25rem; } 1131 .gsc-tk-hint { font-size: .75rem; color: #495057; margin-bottom: .75rem; } 1132 .gsc-tk-input { width: 100%; padding: .75rem 1rem; margin-bottom: .75rem; font-size: .875rem; 1133 border: 2px solid #dee2e6; border-radius: .75rem; outline: none; 1134 transition: border-color .15s ease, box-shadow .15s ease; } 1135 .gsc-tk-input:focus { border-color: #ecafac; box-shadow: 0 0 0 2px rgba(236, 175, 172, .2); } 1136 .gsc-tk-btn { background: #002156; color: #fff; font-weight: 700; font-size: .875rem; 1137 padding: .625rem 1.5rem; border: 0; border-radius: 9999px; cursor: pointer; 1138 transition: opacity .15s ease; -webkit-tap-highlight-color: transparent; } 1139 .gsc-tk-btn:hover { opacity: .8; } 1140 .gsc-tk-btn[disabled] { opacity: .6; cursor: default; } 1141 .gsc-tk-row { display: flex; flex-direction: column; gap: .75rem; } 1142 .gsc-tk-row .gsc-tk-input { margin-bottom: 0; } 1143 .gsc-tk-col-btn { display: flex; align-items: flex-end; } 1144 .gsc-tk-col-btn .gsc-tk-btn { width: 100%; } 1145 @media (min-width: 640px) { 1146 .gsc-tk-row { flex-direction: row; align-items: flex-end; } 1147 .gsc-tk-col-order { flex: 1 1 0; } 1148 .gsc-tk-col-email { flex: 1.4 1 0; } 1149 .gsc-tk-col-btn .gsc-tk-btn { width: auto; } 1150 } 1151 .gsc-tk-label { display: block; font-size: .7rem; font-weight: 600; letter-spacing: .06em; 1152 text-transform: uppercase; color: #495057; margin-bottom: .25rem; } 1153 .gsc-tk-result { margin-top: 1rem; font-size: .875rem; } 1154 .gsc-tk-ok, .gsc-tk-err { border-radius: .75rem; padding: .75rem 1rem; } 1155 .gsc-tk-ok { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; } 1156 .gsc-tk-err { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; } 1157 .gsc-tk-ok p, .gsc-tk-err p { margin: 0; } 1158 .gsc-tk-ok p + p { margin-top: .25rem; } 1159 .gsc-tk-ok a { color: inherit; font-weight: 600; text-decoration: underline; } 1160 /* Delivery timeline result */ 1161 .gsc-tk-card { border: 1px solid #dee2e6; border-radius: .75rem; padding: 1rem 1.25rem; color: #002156; } 1162 .gsc-tk-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .6rem; } 1163 .gsc-tk-head p { margin: 0; font-weight: 700; } 1164 .gsc-tk-pill { font-size: .65rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; 1165 padding: .3rem .65rem; border-radius: 9999px; background: #f4efe9; color: #002156; white-space: nowrap; } 1166 .gsc-tk-pill.is-live { background: #ecafac; } 1167 .gsc-tl { list-style: none; margin: 0; padding: 0 0 0 1.75rem; position: relative; } 1168 .gsc-tl:before { content: ''; position: absolute; left: .5rem; top: .5rem; bottom: .5rem; width: 2px; background: #dee2e6; } 1169 .gsc-tl li { position: relative; padding: .3rem 0; color: #6b7280; font-size: .875rem; } 1170 .gsc-tl li:before { content: ''; position: absolute; left: -1.75rem; top: .55rem; width: 18px; height: 18px; 1171 border-radius: 9999px; background: #fff; border: 2px solid #dee2e6; box-sizing: border-box; } 1172 .gsc-tl li.done { color: #002156; font-weight: 600; } 1173 .gsc-tl li.done:before { background: #002156; border-color: #002156; box-shadow: inset 0 0 0 3px #fff; } 1174 .gsc-tl li.now { color: #002156; font-weight: 700; } 1175 .gsc-tl li.now:before { background: #ecafac; border-color: #ecafac; } 1176 .gsc-tl a { color: inherit; font-weight: 600; text-decoration: underline; margin-left: .25rem; } 1177 .gsc-tk-foot { font-size: .75rem; color: #6b7280; margin: .75rem 0 0; } 1178</style> 1179
1180<script> 1181 (function () { 1182 var form = document.getElementById('gscContactForm'); 1183 if (!form) return; 1184 var topic = document.getElementById('contact-topic'); 1185 var fieldsWrap = document.getElementById('contact-fields-wrap'); 1186 var orderWrap = document.getElementById('contact-order-wrap'); 1187 var productWrap = document.getElementById('contact-product-wrap'); 1188 var providerPanel = document.getElementById('contact-provider-panel'); 1189 var nameEl = document.getElementById('contact-name'); 1190 var emailEl = document.getElementById('contact-email'); 1191 var msg = document.getElementById('contact-message'); 1192 1193 /* Order tracking. Webhook is store-parameterised and live since 19/08/2026. 1194 It returns only status + carrier + tracking number/url, and refuses when the 1195 email does not match the order, so a wrong email and a missing order look 1196 identical from the outside. */ 1197 var TRACK_URL = 'https://n8n.altoraa.com/webhook/gsc-order-tracking'; 1198 var trackPanel = document.getElementById('contact-track-panel'); 1199 var trackBtn = document.getElementById('contact-track-btn'); 1200 var trackEmail = document.getElementById('contact-track-email'); 1201 var trackOrder = document.getElementById('contact-track-order'); 1202 var trackResult = document.getElementById('contact-track-result'); 1203 var orderEl = document.getElementById('contact-order'); 1204 1205 function show(el, on) { el.classList.toggle('hidden', !on); } 1206 function sync() { 1207 var v = topic.value; 1208 var provider = v === 'Healthcare Professional'; 1209 var picked = v !== '' && !provider; 1210 show(providerPanel, provider); 1211 show(fieldsWrap, picked); 1212 /* Order & Shipping gets its order number from the tracker (mirrored into the 1213 hidden ticket field), so only Refund or Return shows the plain field. */ 1214 show(orderWrap, v === 'Refund or Return'); 1215 show(productWrap, v === 'Refund or Return' || v === 'Product Support'); 1216 show(trackPanel, v === 'Order & Shipping'); 1217 if (v !== 'Order & Shipping') { trackResult.classList.add('hidden'); trackResult.innerHTML = ''; } 1218 nameEl.required = picked; 1219 emailEl.required = picked; 1220 msg.required = picked; 1221 } 1222 /* Keep the tracker inputs and the ticket inputs in step. Assigning .value does 1223 not fire `input`, so these listeners cannot loop. */ 1224 trackEmail.addEventListener('input', function () { emailEl.value = trackEmail.value; }); 1225 emailEl.addEventListener('input', function () { trackEmail.value = emailEl.value; }); 1226 trackOrder.addEventListener('input', function () { orderEl.value = trackOrder.value; }); 1227 orderEl.addEventListener('input', function () { trackOrder.value = orderEl.value; }); 1228 1229 var HTML_ESC = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; 1230 function escapeHtml(s) { 1231 return String(s == null ? '' : s).replace(/[&<>"']/g, function (ch) { return HTML_ESC[ch]; }); 1232 } 1233 1234 function timeline(orderNumber, pill, pillLive, steps) { 1235 var html = '<div class="gsc-tk-card"><div class="gsc-tk-head"><p>Order #' + escapeHtml(orderNumber) + '</p>' + 1236 '<span class="gsc-tk-pill' + (pillLive ? ' is-live' : '') + '">' + pill + '</span></div><ul class="gsc-tl">'; 1237 for (var i = 0; i < steps.length; i++) { 1238 html += '<li class="' + steps[i].state + '">' + steps[i].text + '</li>'; 1239 } 1240 html += '</ul><p class="gsc-tk-foot">Something not right? Send us a request below and we will look into it.</p></div>'; 1241 return html; 1242 } 1243 1244 function renderTracking(data, orderNumber) { 1245 var html; 1246 if (!data || data.found !== true) { 1247 html = '<div class="gsc-tk-err"><p style="font-weight:600;">No match for that order number and email.</p><p>Check both against your confirmation email. Still stuck? Send us a request below.</p></div>'; 1248 } else if (data.status === 'cancelled') { 1249 html = '<div class="gsc-tk-err">This order was cancelled. If that is unexpected, send us a request below.</div>'; 1250 } else if (data.status === 'preparing') { 1251 html = timeline(orderNumber, 'Preparing', false, [ 1252 { state: 'done', text: 'Order confirmed' }, 1253 { state: 'now', text: 'Being packed. You will get a tracking email the moment it ships' }, 1254 { state: '', text: 'In transit' }, 1255 { state: '', text: 'Delivered' } 1256 ]); 1257 } else { 1258 var partial = data.status === 'partially_shipped'; 1259 var ships = data.shipments || []; 1260 var transit = partial ? 'Part of your order is in transit' : 'In transit'; 1261 var links = ''; 1262 for (var i = 0; i < ships.length; i++) { 1263 var s = ships[i]; 1264 /* Cin7 writes the literal "Standard" as a carrier name, which tells the 1265 customer nothing, so hide it rather than print it. */ 1266 var carrier = s.carrier && s.carrier !== 'Standard' ? ' with ' + escapeHtml(s.carrier) : ''; 1267 if (s.tracking_url) { 1268 links += carrier + '<a href="' + escapeHtml(s.tracking_url) + '" target="_blank" rel="noopener">
1268Track parcel</a>'; 1269 } else if (s.tracking_number) { 1270 links += carrier + ', tracking number <strong>' + escapeHtml(s.tracking_number) + '</strong>'; 1271 } 1272 } 1273 if (ships.length === 0) { links = '. Tracking details are being generated, check back shortly'; } 1274 html = timeline(orderNumber, partial ? 'Partly shipped' : 'On its way', true, [ 1275 { state: 'done', text: 'Order confirmed' }, 1276 { state: 'done', text: 'Packed and dispatched' }, 1277 { state: 'now', text: transit + links }, 1278 { state: '', text: 'Delivered' } 1279 ]); 1280 } 1281 trackResult.innerHTML = html; 1282 trackResult.classList.remove('hidden'); 1283 } 1284 1285 trackBtn.addEventListener('click', function () { 1286 var email = trackEmail.value.trim() || emailEl.value.trim(); 1287 /* Customers paste "#5024" straight from the confirmation email. */ 1288 var orderNumber = (trackOrder.value.trim() || orderEl.value.trim()).replace(/^#/, ''); 1289 if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) || !orderNumber) { 1290 trackResult.innerHTML = '<div class="gsc-tk-err">Enter your order number and the email you ordered with.</div>'; 1291 trackResult.classList.remove('hidden'); 1292 return; 1293 } 1294 trackBtn.disabled = true; 1295 var restore = trackBtn.textContent; 1296 trackBtn.textContent = 'Checking...'; 1297 fetch(TRACK_URL, { 1298 method: 'POST', 1299 headers: { 'Content-Type': 'application/json' }, 1300 body: JSON.stringify({ order_number: orderNumber, email: email, store: 'AU' }) 1301 }) 1302 .then(function (res) { return res.json(); }) 1303 .then(function (data) { renderTracking(data, orderNumber); }) 1304 .catch(function () { renderTracking(null, orderNumber); }) 1305 .then(function () { 1306 trackBtn.disabled = false; 1307 trackBtn.textContent = restore; 1308 }); 1309 }); 1310 1311 var topicGrid = document.getElementById('contact-topic-grid'); 1312 topicGrid.addEventListener('click', function (e) { 1313 var btn = e.target.closest('.topic-opt'); 1314 if (!btn) return; 1315 topic.value = btn.getAttribute('data-topic'); 1316 Array.prototype.forEach.call(topicGrid.querySelectorAll('.topic-opt'), function (b) { 1317 var on = b === btn; 1318 b.classList.toggle('bg-astral', on); 1319 b.classList.toggle('border-astral', on); 1320 b.classList.toggle('text-white', on); 1321 b.classList.toggle('text-astral', !on); 1322 b.setAttribute('aria-pressed', on ? 'true' : 'false'); 1323 }); 1324 sync(); 1325 }); 1326 topic.addEventListener('change', sync); 1327 sync(); 1328 form.addEventListener('submit', function (e) { 1329 var consent = document.getElementById('contact-sms-consent').checked; 1330 var phone = document.getElementById('contact-phone').value.trim(); 1331 var note = document.getElementById('contact-consent-phone-note'); 1332 if (consent && !phone) { 1333 e.preventDefault(); 1334 note.classList.remove('hidden'); 1335 document.getElementById('contact-phone').focus(); 1336 return; 1337 } 1338 note.classList.add('hidden');
1339 try { 1340 var name = nameEl.value.trim(); 1341 var parts = name.split(/\s+/); 1342 fetch('https://n8n.altoraa.com/webhook/gsc-support-ticket-au', { 1343 method: 'POST', 1344 keepalive: true, 1345 headers: { 'Content-Type': 'application/json' }, 1346 body: JSON.stringify({ 1347 store: 'au', 1348 first_name: parts[0] || '', 1349 last_name: parts.slice(1).join(' '), 1350 email: emailEl.value.trim(), 1351 phone: phone, 1352 category: topic.value || 'Other', 1353 product: document.getElementById('contact-product').value || '', 1354 order_number: document.getElementById('contact-order').value.trim(), 1355 details: msg.value.trim(), 1356 urgency: 'Normal', 1357 sms_consent: consent ? 'true' : 'false', 1358 page_url: window.location.origin + window.location.pathname, 1359 website: form.querySelector('input[name="website"]').value || '' 1360 }) 1361 }); 1362 } catch (err) {} 1363 }); 1364 })(); 1365</script>
1365 1366 1367 1368</div> 1369 1370<style> 1371 #gsc-intent-popup { position: fixed; inset: 0; z-index: 9996; display: none; background: #002156 url('https://cdn.shopify.com/s/files/1/0598/2417/7291/files/Couple_Sleeping.jpg?v=1782981097') center/cover no-repeat; } 1372 #gsc-intent-popup.gscp-open { display: block; } 1373 #gsc-intent-popup::before { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(0,33,86,0.94) 0%, rgba(0,33,86,0.78) 55%, rgba(0,33,86,0.55) 100%); } 1374 .gscp-modal { position: absolute; inset: 0; overflow-y: auto; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 24px 40px; box-sizing: border-box; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; opacity: 0; transform: translateY(14px); transition: opacity .25s ease, transform .25s ease; } 1375 #gsc-intent-popup.gscp-in .gscp-modal { opacity: 1; transform: translateY(0); } 1376 .gscp-close { position: fixed; top: 16px; right: 16px; width: 38px; height: 38px; border: 0; background: rgba(244,239,233,0.15); border-radius: 50%; cursor: pointer; color: #F4EFE9; font-size: 22px; line-height: 38px; text-align: center; padding: 0; z-index: 2; -webkit-tap-highlight-color: transparent; } 1377 .gscp-step { display: none; width: 100%; max-width: 480px; margin: 0 auto; text-align: center; } 1378 .gscp-step.gscp-active { display: block; } 1379 .gscp-eyebrow { display: inline-block; background: #ECAFAC; color: #002156; font-size: 11px; font-weight: bold; letter-spacing: 1.4px; text-transform: uppercase; border-radius: 999px; padding: 6px 14px; margin: 0 0 20px; } 1380 .gscp-ten { color: #F4EFE9; font-size: 72px; line-height: 72px; font-weight: bold; letter-spacing: -2px; margin: 0; } 1381 .gscp-h { margin: 6px 0 10px; color: #F4EFE9; font-size: 25px; line-height: 32px; font-weight: bold; } 1382 .gscp-sub { margin: 0 0 26px; color: #99BCD2; font-size: 15px; line-height: 22px; } 1383 .gscp-opt { display: block; width: 100%; text-align: center; background: rgba(244,239,233,0.14); color: #F4EFE9; border: 1px solid rgba(153,188,210,0.7); border-radius: 999px; padding: 14px 18px; margin: 0 0 11px; font-size: 15px; line-height: 20px; font-family: inherit; cursor: pointer; transition: border-color .15s ease; -webkit-tap-highlight-color: transparent; backdrop-filter: blur(3px); } 1384 .gscp-opt:hover { border-color: #ECAFAC; } 1385 .gscp-opt.gscp-selected { background: #F4EFE9; color: #002156; border-color: #F4EFE9; } 1386 .gscp-input { display: block; width: 100%; box-sizing: border-box; background: #F4EFE9; border: 1.5px solid #F4EFE9; border-radius: 999px; padding: 14px 20px; font-size: 16px; color: #002156; font-family: inherit; margin: 0 0 12px; text-align: center; } 1387 .gscp-input:focus { outline: none; border-color: #ECAFAC; } 1388 .gscp-cta { display: block; width: 100%; background: #ECAFAC; color: #002156; border: 0; border-radius: 999px; padding: 15px 18px; font-size: 16px; font-weight: bold; font-family: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; } 1389 .gscp-cta:disabled { opacity: .6; cursor: default; } 1390 .gscp-fine { margin: 14px 0 0; color: rgba(244,239,233,0.55); font-size: 12px; line-height: 17px; } 1391 .gscp-err { display: none; margin: 0 0 10px; color: #FFB4AC; font-size: 13px; line-height: 18px; } 1392 .gscp-err.gscp-show { display: block; } 1393 .gscp-hp { position: absolute; left: -9999px; top: -9999px; height: 0; width: 0; opacity: 0; } 1394 .gscp-tick { width: 54px; height: 54px; border-radius: 50%; background: #F4EFE9; color: #002156; font-size: 26px; line-height: 54px; text-align: center; margin: 4px auto 16px; } 1395 .gscp-code { background: rgba(244,239,233,0.12); border: 1.5px dashed #ECAFAC; border-radius: 14px; padding: 13px 18px; margin: 0 0 14px; font-size: 30px; letter-spacing: 5px; font-weight: bold; color: #F4EFE9; } 1396 #gscp-teaser { position: fixed; left: 16px; bottom: 16px; z-index: 9995; display: none; background: #ECAFAC; color: #002156; border: 0; border-radius: 999px; padding: 12px 20px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; font-weight: bold; letter-spacing: .3px; cursor: pointer; box-shadow: 0 6px 20px rgba(0,33,86,0.28); transition: transform .2s ease, box-shadow .2s ease; -webkit-tap-highlight-color: transparent; }
1397 #gscp-teaser.gscp-teaser-show { display: block; animation: gscpTeaserIn .35s cubic-bezier(0.34, 1.56, 0.64, 1); } 1398 #gscp-teaser:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,33,86,0.34); } 1399 @keyframes gscpTeaserIn { from { opacity: 0; transform: scale(0.7); } to { opacity: 1; transform: scale(1); } } 1400 @media (max-width: 860px) { #gscp-teaser { bottom: 90px; left: 12px; padding: 11px 16px; font-size: 13px; } } 1401 @media (max-width: 480px) { 1402 .gscp-ten { font-size: 54px; line-height: 54px; } 1403 .gscp-h { font-size: 20px; line-height: 26px; } 1404 .gscp-code { font-size: 24px; letter-spacing: 4px; } 1405 .gscp-modal { padding: 56px 20px 32px; } 1406 } 1407</style> 1408 1409<div id="gsc-intent-popup" role="dialog" aria-modal="true" aria-labelledby="gscp-title"> 1410 <div class="gscp-modal"> 1411 <button type="button" class="gscp-close" data-gscp-dismiss aria-label="Close">×</button> 1412 1413 <div class="gscp-step gscp-active" data-gscp-step="intent"> 1414 <span class="gscp-eyebrow">Our gift to you</span> 1415 <p class="gscp-ten">$10 off</p> 1416 <h3 class="gscp-h" id="gscp-title">your first order — and quieter nights ahead</h3> 1417 <p class="gscp-sub">Tell us what brings you here to unlock your $10 code.</p> 1418 <button type="button" class="gscp-opt" data-gscp-intent="snoring">I snore</button> 1419 <button type="button" class="gscp-opt" data-gscp-intent="test">I think I have sleep apnea</button> 1420 <button type="button" class="gscp-opt" data-gscp-intent="cpap_alt">Diagnosed, but CPAP isn’t working</button> 1421 <button type="button" class="gscp-opt" data-gscp-intent="research">Just researching better sleep</button> 1422 <p class="gscp-fine">Plus practical sleep tips. Unsubscribe anytime.</p> 1423 </div> 1424 1425 <div class="gscp-step" data-gscp-step="email"> 1426 <span class="gscp-eyebrow">Almost there</span> 1427 <h3 class="gscp-h">Last step — unlock your $10 code</h3> 1428 <p class="gscp-sub">Your code shows right here and applies automatically at checkout.</p> 1429 <form id="gscp-form" novalidate> 1430 <p class="gscp-err" data-gscp-error>Something went wrong — please check your email and try again.</p> 1431 <input type="email" class="gscp-input" data-gscp-email placeholder="Enter your email" autocomplete="email" required> 1432 <input type="text" class="gscp-hp" name="website" tabindex="-1" autocomplete="off" data-gscp-hp> 1433 <button type="submit" class="gscp-cta" data-gscp-submit>Show my $10 code</button> 1434 </form> 1435 <p class="gscp-fine">Plus practical sleep tips. Unsubscribe anytime.</p> 1436 </div> 1437 1438 <div class="gscp-step" data-gscp-step="success"> 1439 <div class="gscp-tick">✓</div> 1440 <h3 class="gscp-h">Here’s your $10 code</h3> 1441 <p class="gscp-code" data-gscp-code>SLEEP10</p> 1442 <p class="gscp-sub">It’s applied automatically at checkout — nothing to paste.</p> 1443 <button type="button" class="gscp-cta" data-gscp-dismiss>Keep browsing</button> 1444 <p class="gscp-fine" data-gscp-code-fine>Not showing at checkout? Just enter SLEEP10.</p> 1445 </div> 1446 </div> 1447</div> 1448<button type="button" id="gscp-teaser" aria-label="Get $10 off your first order">$10 Off</button>
1449<script> 1450(function () { 1451 'use strict'; 1452 var COMPANY_ID = 'WscBdf'; 1453 var LIST_ID = 'RsDuiB'; 1454 var CODE = 'SLEEP10'; 1455 var LS_SUBMITTED = 'gscp_submitted'; 1456 var LS_DISMISSED_AT = 'gscp_dismissed_at'; 1457 var SS_SHOWN = 'gscp_shown'; 1458 var DISMISS_DAYS = 7; 1459 var root = document.getElementById('gsc-intent-popup'); 1460 if (!root) return; 1461 1462 var state = { open: false, step: 'intent', intent: null, submitting: false, openRetries: 0, code: CODE }; 1463 1464 function lsGet(k) { try { return window.localStorage.getItem(k); } catch (e) { return null; } } 1465 function lsSet(k, v) { try { window.localStorage.setItem(k, v); } catch (e) {} } 1466 function ssGet(k) { try { return window.sessionStorage.getItem(k); } catch (e) { return null; } } 1467 function ssSet(k, v) { try { window.sessionStorage.setItem(k, v); } catch (e) {} } 1468 1469 // Urgency A/B concluded 28/08/2026: evergreen (control) won on purchases in 1470 // both markets. The 48h badge / unique-code / countdown machinery is gone; 1471 // the static SLEEP10 + auto-apply path below is the whole popup again. 1472 1473 function track(name, props) { 1474 var payload = props || {}; 1475 try { 1476 window.dataLayer = window.dataLayer || []; 1477 var dl = { event: name }; 1478 for (var k in payload) { if (payload.hasOwnProperty(k)) dl[k] = payload[k]; } 1479 window.dataLayer.push(dl); 1480 } catch (e) {} 1481 try { 1482 if (window.posthog && typeof window.posthog.capture === 'function') { 1483 window.posthog.capture(name, payload); 1484 } 1485 } catch (e) {} 1486 } 1487 1488 function eligible() { 1489 if (lsGet(LS_SUBMITTED)) return false; 1490 if (ssGet(SS_SHOWN)) return false; 1491 var d = parseInt(lsGet(LS_DISMISSED_AT) || '0', 10); 1492 if (d && (Date.now() - d) < DISMISS_DAYS * 86400000) return false; 1493 return true; 1494 } 1495 1496 function setStep(step) { 1497 state.step = step; 1498 var steps = root.querySelectorAll('[data-gscp-step]'); 1499 for (var i = 0; i < steps.length; i++) { 1500 steps[i].className = steps[i].className.replace(' gscp-active', ''); 1501 if (steps[i].getAttribute('data-gscp-step') === step) steps[i].className += ' gscp-active'; 1502 } 1503 } 1504 1505 function openPopup(source, force) { 1506 if (state.open) return; 1507 if (!force && !eligible()) return; 1508 var cartOpen = document.querySelector('.sc-overlay.sc-open'); 1509 if (cartOpen && state.openRetries < 4) { 1510 state.openRetries += 1; 1511 window.setTimeout(function () { openPopup(source); }, 15000); 1512 return; 1513 } 1514 state.open = true; 1515 ssSet(SS_SHOWN, '1'); 1516 root.className = 'gscp-open'; 1517 window.setTimeout(function () { root.className = 'gscp-open gscp-in'; }, 20); 1518 document.body.style.overflow = 'hidden'; 1519 updateTeaser(); 1520 track('popup_viewed', { trigger_source: source, popup: 'au_intent' }); 1521 } 1522 1523 function closePopup(reason) { 1524 if (!state.open) return; 1525 state.open = false; 1526 root.className = ''; 1527 document.body.style.overflow = ''; 1528 updateTeaser(); 1529 if (reason === 'dismiss' && !lsGet(LS_SUBMITTED)) { 1530 lsSet(LS_DISMISSED_AT, String(Date.now())); 1531 track('popup_dismissed', { step: state.step, intent: state.intent || 'none', popup: 'au_intent' }); 1532 } 1533 } 1534 1535 // --- triggers: first of 30s timer / >50% scroll / desktop exit-intent --- 1536 var fired = false; 1537 function fire(source) { 1538 if (fired) return; 1539 fired = true; 1540 window.removeEventListener('scroll', onScroll); 1541 document.removeEventListener('mouseleave', onLeave); 1542 openPopup(source); 1543 } 1544 function onScroll() { 1545 var doc = document.documentElement; 1546 var max = (doc.scrollHeight - doc.clientHeight); 1547 if (max > 0 && (window.pageYOffset / max) > 0.5) fire('scroll'); 1548 } 1549 function onLeave(e) { if (e.clientY <= 0) fire('exit_intent'); } 1550 1551 if (eligible()) { 1552 try { var pre = new Image(); pre.src = 'https://cdn.shopify.com/s/files/1/0598/2417/7291/files/Couple_Sleeping.jpg?v=1782981097'; } catch (e) {} 1553 window.setTimeout(function () { fire('timer'); }, 12000); 1554 window.addEventListener('scroll', onScroll, { passive: true }); 1555 if (window.matchMedia && window.matchMedia('(pointer: fine)').matches) { 1556 document.addEventListener('mouseleave', onLeave); 1557 } 1558 } 1559 1560 // --- dismiss handlers --- 1561 var dismissers = root.querySelectorAll('[data-gscp-dismiss]'); 1562 for (var i = 0; i < dismissers.length; i++) { 1563 dismissers[i].addEventListener('click', function () {
1564 closePopup(state.step === 'success' ? 'done' : 'dismiss'); 1565 }); 1566 } 1567 document.addEventListener('keydown', function (e) { 1568 if (e.key === 'Escape' && state.open) closePopup(state.step === 'success' ? 'done' : 'dismiss'); 1569 }); 1570 1571 // --- intent selection --- 1572 var opts = root.querySelectorAll('[data-gscp-intent]'); 1573 for (var j = 0; j < opts.length; j++) { 1574 opts[j].addEventListener('click', function () { 1575 state.intent = this.getAttribute('data-gscp-intent'); 1576 this.className += ' gscp-selected'; 1577 track('popup_intent_selected', { intent: state.intent, popup: 'au_intent' }); 1578 var self = this; 1579 window.setTimeout(function () { 1580 setStep('email'); 1581 var em = root.querySelector('[data-gscp-email]'); 1582 if (em) em.focus(); 1583 self.className = self.className.replace(' gscp-selected', ''); 1584 }, 180); 1585 }); 1586 } 1587 1588 function showSuccessCode() { 1589 var codeEl = root.querySelector('[data-gscp-code]'); 1590 if (codeEl) codeEl.textContent = state.code; 1591 var fineEl = root.querySelector('[data-gscp-code-fine]'); 1592 if (fineEl) fineEl.textContent = 'Not showing at checkout? Just enter ' + state.code + '.'; 1593 setStep('success'); 1594 } 1595 1596 // --- submit --- 1597 var form = document.getElementById('gscp-form'); 1598 form.addEventListener('submit', function (e) { 1599 e.preventDefault(); 1600 if (state.submitting) return; 1601 var emailEl = root.querySelector('[data-gscp-email]'); 1602 var errEl = root.querySelector('[data-gscp-error]'); 1603 var btn = root.querySelector('[data-gscp-submit]'); 1604 var hp = root.querySelector('[data-gscp-hp]'); 1605 var email = (emailEl.value || '').trim(); 1606 errEl.className = errEl.className.replace(' gscp-show', ''); 1607 1608 if (hp && hp.value) { setStep('success'); return; } // honeypot: silently succeed 1609 if (!/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(email)) { 1610 errEl.textContent = 'Please enter a valid email address.'; 1611 errEl.className += ' gscp-show'; 1612 return; 1613 } 1614 1615 state.submitting = true; 1616 btn.disabled = true; 1617 var prevLabel = btn.textContent; 1618 btn.textContent = 'Sendingâ¦'; 1619 1620 Promise.resolve().then(function () { 1621 state.code = CODE; 1622 1623 var props = { intent: state.intent || 'research' }; 1624 var body = { 1625 data: { 1626 type: 'subscription', 1627 attributes: { 1628 custom_source: 'AU Intent Popup', 1629 profile: { data: { type: 'profile', attributes: { 1630 email: email, 1631 properties: props 1632 } } } 1633 }, 1634 relationships: { list: { data: { type: 'list', id: LIST_ID } } } 1635 } 1636 }; 1637 1638 function subscribe() { 1639 return fetch('https://a.klaviyo.com/client/subscriptions/?company_id=' + COMPANY_ID, { 1640 method: 'POST', 1641 headers: { 'Content-Type': 'application/vnd.api+json', 'revision': '2025-07-15' }, 1642 body: JSON.stringify(body) 1643 }); 1644 } 1645 return subscribe().then(function (res) { 1646 if (res.status !== 202 && !res.ok) throw new Error('klaviyo_' + res.status); 1647 return res; 1648 }).catch(function () { 1649 return new Promise(function (resolve) { window.setTimeout(resolve, 1200); }).then(subscribe); 1650 }).then(function (res) { 1651 if (res.status !== 202 && !res.ok) throw new Error('klaviyo_' + res.status); 1652 lsSet(LS_SUBMITTED, '1'); 1653 try { fetch('/discount/' + state.code, { credentials: 'same-origin' }); } catch (err) {} 1654 showSuccessCode(); 1655 track('popup_submitted', { intent: state.intent || 'research', popup: 'au_intent' }); 1656 }); 1657 }).catch(function () { 1658 errEl.textContent = 'Something went wrong â please try again in a moment.'; 1659 errEl.className += ' gscp-show'; 1660 }).then(function () { 1661 state.submitting = false; 1662 btn.disabled = false; 1663 btn.textContent = prevLabel; 1664 }); 1665 }); 1666 1667 // --- teaser tab: stays in the corner while the offer is unclaimed; reopens the form --- 1668 var teaser = document.getElementById('gscp-teaser'); 1669 var teaserTracked = false; 1670 function updateTeaser() { 1671 if (!teaser) return; 1672 var show = !lsGet(LS_SUBMITTED) && !state.open;
1673 teaser.className = show ? 'gscp-teaser-show' : ''; 1674 if (show && !teaserTracked) { 1675 teaserTracked = true; 1676 track('popup_teaser_shown', { popup: 'au_intent' }); 1677 } 1678 } 1679 if (teaser) teaser.addEventListener('click', function () { 1680 track('popup_teaser_clicked', { popup: 'au_intent' }); 1681 openPopup('teaser', true); 1682 }); 1683 updateTeaser(); 1684})();</script>
1684 1685 1686 1687<style> 1688 .gs-sd-backdrop { position: fixed; inset: 0; z-index: 9998; background: rgba(0,21,54,.45); opacity: 0; pointer-events: none; transition: opacity .25s ease; } 1689 .gs-sd-backdrop.gs-sd-open { opacity: 1; pointer-events: auto; } 1690 #gs-shop-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 9999; width: 440px; max-width: 100%; background: #fff; display: flex; flex-direction: column; 1691 transform: translateX(102%); transition: transform .3s cubic-bezier(.22,.7,.3,1); box-shadow: -12px 0 40px rgba(0,21,54,.18); } 1692 #gs-shop-drawer.gs-sd-open { transform: translateX(0); } 1693 #gs-shop-drawer *, #gs-shop-drawer *:before, #gs-shop-drawer *:after { box-sizing: border-box; } 1694 .gs-sd-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid #E5E7EB; flex: 0 0 auto; } 1695 .gs-sd-head img { height: 26px; width: auto; display: block; } 1696 .gs-sd-close, .gs-sd-cart { background: none; border: none; cursor: pointer; padding: 8px; -webkit-tap-highlight-color: transparent; line-height: 0; } 1697 .gs-sd-close svg, .gs-sd-cart svg { width: 22px; height: 22px; fill: none; stroke: #002156; stroke-width: 2.2; } 1698 .gs-sd-body { overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 14px 14px 40px; flex: 1 1 auto; } 1699 .gs-sd-col { display: flex; flex-direction: column; gap: 12px; } 1700 .gs-sd-tile { display: grid; grid-template-columns: 1.15fr 1fr; border-radius: 14px; overflow: hidden; min-height: 150px; position: relative; border: 1px solid #E5E7EB; 1701 text-decoration: none; transition: box-shadow .18s ease, transform .18s ease; -webkit-tap-highlight-color: transparent; } 1702 .gs-sd-tile:hover { box-shadow: 0 8px 26px rgba(0,21,54,.12); transform: translateY(-1px); text-decoration: none; } 1703 .gs-sd-txt { padding: 20px 6px 20px 20px; display: flex; flex-direction: column; justify-content: center; } 1704 .gs-sd-tag { font-size: 11px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: #43567A; } 1705 .gs-sd-tile h3 { font-size: 20px; font-weight: 800; color: #002156; margin: 6px 0 0; line-height: 1.15; } 1706 .gs-sd-sub { margin: 8px 0 0; font-size: 13.5px; line-height: 1.45; font-weight: 300; color: #43567A; } 1707 .gs-sd-img { display: flex; align-items: center; justify-content: center; overflow: hidden; } 1708 .gs-sd-img img { width: 100%; height: 100%; object-fit: contain; padding: 14px; } 1709 .gs-sd-img.gs-sd-cover img { object-fit: cover; padding: 0; } 1710 .gs-sd-tile.gs-sd-hero { background: #002156; border-color: #002156; } 1711 .gs-sd-tile.gs-sd-hero .gs-sd-tag { color: #ECAFAC; } 1712 .gs-sd-tile.gs-sd-hero h3 { color: #fff; } 1713 .gs-sd-tile.gs-sd-hero .gs-sd-sub { color: #C9D6E6; } 1714 .gs-sd-tile.gs-sd-blush { background: #F8ECEB; } 1715 .gs-sd-tile.gs-sd-blue { background: #E8F0F6; } 1716 .gs-sd-tile.gs-sd-grey { background: #F7F8FA; } 1717 .gs-sd-soldout { position: absolute; top: 12px; right: 12px; background: #43567A; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; } 1718 .gs-sd-tile.gs-sd-is-sold .gs-sd-img img { filter: grayscale(55%); opacity: .72; } 1719 .gs-sd-tile.gs-sd-quiz { background: #ECAFAC; border-color: #ECAFAC; min-height: 110px; grid-template-columns: 1fr; } 1720 .gs-sd-tile.gs-sd-quiz h3 { color: #001536; } 1721 .gs-sd-tile.gs-sd-quiz .gs-sd-tag, .gs-sd-tile.gs-sd-quiz .gs-sd-sub { color: #7A4A46; } 1722 .gs-sd-links { display: none; margin-top: 18px; border-top: 1px solid #E5E7EB; padding-top: 6px; } 1723 .gs-sd-links a { display: block; padding: 13px 6px; color: #002156; font-size: 15px; font-weight: 400; text-decoration: none; border-bottom: 1px solid #F7F8FA; } 1724 @media (max-width: 860px) { .gs-sd-links { display: block; } } 1725</style> 1726 1727<div class="gs-sd-backdrop" id="gs-sd-backdrop"></div> 1728<div id="gs-shop-drawer" role="dialog" aria-modal="true" aria-label="Shop"> 1729 <div class="gs-sd-head"> 1730 <button class="gs-sd-close" id="gs-sd-close" aria-label="Close shop menu"><svg viewBox="0 0 24 24"><path d="M6 6l12 12M18 6L6 18"/></svg></button> 1731 <img src="//goodsleepco.health/cdn/shop/t/11/assets/good-sleep-co-logo-long.svg?v=74090565778415339771747357548" alt="Good Sleep Co"> 1732 <a class="gs-sd-cart" href="/cart" onclick="if (window.scCart && window.scCart.open) { event.preventDefault(); window.scCart.open(); }" aria-label="Cart"><svg viewBox="0 0 24 24">
1732<path d="M6 7h12l1.2 12.2a1.5 1.5 0 01-1.5 1.8H6.3a1.5 1.5 0 01-1.5-1.8L6 7z"/><path d="M9 10V6a3 3 0 016 0v4"/></svg></a> 1733 </div> 1734 <div class="gs-sd-body"> 1735 <div class="gs-sd-col"><a class="gs-sd-tile gs-sd-hero" href="/products/hushd-avera"> 1736 <div class="gs-sd-txt"><span class="gs-sd-tag">Snoring</span><h3>Stop the snoring</h3> 1737 <p class="gs-sd-sub">Hushd Avera. The custom-fit mouthpiece you mould at home. $139</p></div> 1738 <div class="gs-sd-img"><img src="//goodsleepco.health/cdn/shop/files/Avera_Packaging.webp?v=1771996349&width=400" alt="Hushd Avera" loading="lazy"></div></a><a class="gs-sd-tile gs-sd-blue" href="/products/good-sleep-test"> 1739 <div class="gs-sd-txt"><span class="gs-sd-tag">Sleep Apnea</span><h3>Test your sleep at home</h3> 1740 <p class="gs-sd-sub">Good Sleep Test. One night in your own bed, specialist report and a free consult. $200</p></div> 1741 <div class="gs-sd-img"><img src="//goodsleepco.health/cdn/shop/files/Web_Product_Images_1080x1080_GoodSleepTest2.jpg?v=1728010687&width=400" alt="Good Sleep Test" loading="lazy"></div></a><a class="gs-sd-tile gs-sd-blush" href="/pages/treatment"> 1742 <div class="gs-sd-txt"><span class="gs-sd-tag">Sleep Apnea</span><h3>Explore treatment options</h3> 1743 <p class="gs-sd-sub">Clinically-backed treatment pathways, guided by our team.</p></div> 1744 <div class="gs-sd-img gs-sd-cover"><img src="https://cdn.shopify.com/s/files/1/0598/2417/7291/files/homepage-oral-device-hand.webp?v=1773366326" alt="Oral device" loading="lazy"></div> 1745 </a><a class="gs-sd-tile gs-sd-grey gs-sd-is-sold" href="/products/hushd-guard"> 1746 <div class="gs-sd-txt"><span class="gs-sd-tag">Teeth Grinding</span><h3>Protect your teeth</h3> 1747 <p class="gs-sd-sub">Hushd Guard. Custom-fit night guard for grinding and jaw tension. $59.95</p></div> 1748 <div class="gs-sd-img"><img src="//goodsleepco.health/cdn/shop/files/Web_Product_Images_1080x1080_HushdGuardTemp2.jpg?v=1700607833&width=400" alt="Hushd Guard" loading="lazy"></div><span class="gs-sd-soldout">Sold Out</span></a><a class="gs-sd-tile gs-sd-blue gs-sd-is-sold" href="/products/hushd-nasal"> 1749 <div class="gs-sd-txt"><span class="gs-sd-tag">Blocked Nose</span><h3>Breathe easier tonight</h3> 1750 <p class="gs-sd-sub">Hushd Nasal dilators. Drug-free, two per pack. $24.95</p></div> 1751 <div class="gs-sd-img"><img src="//goodsleepco.health/cdn/shop/files/Hushd_Nasal.jpg?v=1757568127&width=400" alt="Hushd Nasal" loading="lazy"></div><span class="gs-sd-soldout">Sold Out</span></a><a class="gs-sd-tile gs-sd-grey" href="/products/cleaner"> 1752 <div class="gs-sd-txt"><span class="gs-sd-tag">Device Care</span><h3>Keep it fresh</h3> 1753 <p class="gs-sd-sub">The Cleaner. Deep-cleaning solution for your mouthpiece. $25</p></div> 1754 <div class="gs-sd-img"><img src="//goodsleepco.health/cdn/shop/files/GoodSleepCo-Product-Photos-39_Clipped.jpg?v=1752707389&width=400" alt="Cleaner" loading="lazy"></div></a><a class="gs-sd-tile gs-sd-quiz" href="/pages/sleep-quiz"> 1755 <div class="gs-sd-txt"><span class="gs-sd-tag">Not sure where to start?</span><h3>Take the 2-minute sleep quiz</h3> 1756 <p class="gs-sd-sub">Get a personalised recommendation.</p></div> 1757 </a> 1758 1759 </div> 1760 <nav class="gs-sd-links"> 1761 <a href="/pages/location">Location</a> 1762 <a href="/pages/faqs">FAQs</a> 1763 <a href="/pages/contact">Contact Us</a> 1764 </nav> 1765 </div> 1766</div> 1767
1768<script> 1769(function () { 1770 var drawer = document.getElementById('gs-shop-drawer'); 1771 var backdrop = document.getElementById('gs-sd-backdrop'); 1772 if (!drawer || !backdrop) return; 1773 var pushed = false; 1774 var prevOverflow = ''; 1775 1776 function openDrawer() { 1777 drawer.classList.add('gs-sd-open'); 1778 backdrop.classList.add('gs-sd-open'); 1779 prevOverflow = document.body.style.overflow; 1780 document.body.style.overflow = 'hidden'; 1781 if (window.location.pathname !== '/collections/shop') { 1782 try { 1783 history.pushState({ gsShopDrawer: 1 }, '', '/collections/shop'); 1784 pushed = true; 1785 } catch (e) { pushed = false; } 1786 } 1787 window.dataLayer = window.dataLayer || []; 1788 window.dataLayer.push({ event: 'virtual_page_view', page_path: '/collections/shop', page_title: 'Shop' }); 1789 if (window.posthog && typeof window.posthog.capture === 'function') { 1790 try { window.posthog.capture('$pageview'); } catch (e) {} 1791 } 1792 } 1793 1794 function closeDrawer(skipHistory) { 1795 drawer.classList.remove('gs-sd-open'); 1796 backdrop.classList.remove('gs-sd-open'); 1797 document.body.style.overflow = prevOverflow; 1798 if (pushed && !skipHistory) { try { history.back(); } catch (e) {} } 1799 pushed = false; 1800 } 1801 1802 document.getElementById('gs-sd-close').addEventListener('click', function () { closeDrawer(false); }); 1803 backdrop.addEventListener('click', function () { closeDrawer(false); }); 1804 document.addEventListener('keydown', function (e) { 1805 if (e.key === 'Escape' && drawer.classList.contains('gs-sd-open')) closeDrawer(false); 1806 }); 1807 window.addEventListener('popstate', function () { 1808 if (drawer.classList.contains('gs-sd-open')) closeDrawer(true); 1809 }); 1810 1811 // Capture-phase interception: burger (mobile nav) + Shop nav links. 1812 document.addEventListener('click', function (e) { 1813 var burger = e.target.closest ? e.target.closest('.js-drawer-open-nav, #menuBtn, #menuToggle, button[aria-label="Menu"]') : null; 1814 if (burger) { 1815 e.preventDefault(); 1816 e.stopImmediatePropagation ? e.stopImmediatePropagation() : e.stopPropagation(); 1817 openDrawer(); 1818 return; 1819 } 1820 var link = e.target.closest ? e.target.closest('a[href*="/collections/shop"]') : null; 1821 if (link && !drawer.contains(link)) { 1822 e.preventDefault(); 1823 e.stopImmediatePropagation ? e.stopImmediatePropagation() : e.stopPropagation(); 1824 openDrawer(); 1825 } 1826 }, true); 1827})(); 1828</script>
1828 1829 1830<div id="shopify-block-AUitnVGUzYUpqd3NYV__3498691031678343252" class="shopify-block shopify-app-block">
1830<script> 1831 var translations = {"store.load_more":"Load More-","store.leave_a_review":"Leave a review","store.verified_buyer":"Verified Buyer","store.view_product":"View Product","store.reply_from_owner":"Reply from owner","store.sticky_bar_discount":"CLAIM UP TO {discount} OFF* IN DISCOUNT CODES","store.sticky_bar_info":"Review products from your previous orders to claim your discount codes.","store.sticky_bar_click":"Click each order below to get started.","store.sticky_bar_order":"Order","store.sticky_bar_order_discount_one":"Discount code worth {discount} off","store.sticky_bar_order_discount_every":"Discount codes worth {discount} off","store.sticky_bar_term_created":"*A discount code is created for each product reviewed.","store.sticky_bar_term_only_one":"*Only one discount code can be used per order.","store.review_graph_total":"From {count} Reviews"}; 1832 window.kooee = { 1833 strings: translations 1834 }; 1835</script>
1835 1836 1837<!-- BEGIN app snippet: kooee-rich-snippet --> 1838<!-- END app snippet --> 1839 1840<div 1841 id="kooee-global-style" 1842 data-local-dev="false" 1843 data-fill-color="#F0F083" 1844 data-star-size="24" 1845 data-text-color="#000000" 1846 data-text-size="16" 1847 data-hide-no-results="false" 1848 data-rating-template="${review_rating} stars from ${review_count} reviews" 1849 data-padding="20" 1850 data-gap="10" 1851 data-flex-direction="column" 1852 data-align-items="center" 1853 data-script-url="https://cdn.shopify.com/extensions/019cfe03-08f6-782b-9714-4c1ba92113b7/theme-app-extension-25/assets/kooee-reviews-rating.js" 1854 data-leave-review-script-url="https://cdn.shopify.com/extensions/019cfe03-08f6-782b-9714-4c1ba92113b7/theme-app-extension-25/assets/kooee-leave-review.js" 1855 data-so-load-more="Load More" 1856 data-so-leave-review="Leave a Review" 1857 data-so-verified-buyer="Verified Buyer" 1858 data-so-view-product="View Product" 1859 data-so-owner-reply="Reply from owner" 1860></div> 1861 1862 1863 1864
1865<script 1866 src="https://cdn.shopify.com/extensions/019cfe03-08f6-782b-9714-4c1ba92113b7/theme-app-extension-25/assets/kooee-reviews-rewards.js" 1867 data-rewards-enabled="true" 1868 data-sticky-enabled="true" 1869 data-user="" 1870 data-bar-bg-colour="#F8AFB1" 1871 data-bar-text-size="20" 1872 data-bar-text-weight="800" 1873 data-bar-text-colour="#021f4a" 1874 data-bar-location="footer" 1875 data-bar-reward-for="one" 1876 data-modal-left-bg-colour="#F8AFB1" 1877 data-modal-left-text-colour="#fff" 1878 data-modal-right-bg-colour="#fff" 1879 data-modal-right-text-colour="#021f4a" 1880 data-bar-app-url="https://app.kooee.reviews" 1881 1882 async></script>
1882 1883 1884
1884<script 1885 src="https://cdn.shopify.com/extensions/019cfe03-08f6-782b-9714-4c1ba92113b7/theme-app-extension-25/assets/kooee-embed.js" 1886 async></script>
1886 1887 1888</div><div id="shopify-block-AM05QbkZpaG5MWU93V__18228966181090706294" class="shopify-block shopify-app-block"> 1889 1890 1891
1891<script type="module" src="https://cdn.shopify.com/extensions/01a0c89b-84ec-7e38-9224-6021e627d1b1/lb-upsell-447/assets/lb-upsell.js" defer="defer"></script>
1891 1892
1892<script type="module" src="https://cdn.shopify.com/extensions/01a0c89b-84ec-7e38-9224-6021e627d1b1/lb-upsell-447/assets/lb-upsell-components.esm.js" defer="defer"></script>
1892 1893 1894 1895
1896<script> 1897 1898 1899 1900</script>
1900 1901
1902<script> 1903 1904 window.lbInitMode = "immediate"; 1905 1906 window.lbComponentSrc = "https://cdn.shopify.com/extensions/01a0c89b-84ec-7e38-9224-6021e627d1b1/lb-upsell-447/assets/lb-upsell-components.esm.js";</script>
1906 1907
1908<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a0c89b-84ec-7e38-9224-6021e627d1b1/lb-upsell-447/assets/lb-utils.js" defer="defer"></script>
1908 1909 1910</div><div id="shopify-block-ARExFU25Wa0dyOGZGU__6251270934270006384" class="shopify-block shopify-app-block">
1910<script> 1911 console.log("Stape gtm: 1.0.4"); 1912 window.lsData = {}; 1913 window.dataLayer = window.dataLayer || []; 1914 window.addEventListener("message", (event) => { 1915 if (event.data?.event) { 1916 window.dataLayer.push(event.data); 1917 } 1918 }); 1919 window.dataShopStape = { 1920 shop: "goodsleepco.health", 1921 shopId: "59824177291", 1922 } 1923</script>
1923 1924 1925 1926 1927 1928 1929 1930
1930<script> 1931 console.log("â ï¸ User not logged in"); 1932 window.localStorage.removeItem('customerShopStape'); 1933 </script>
1933 1934 1935 1936 1937
1938<script> 1939 window.currentShopifyMarketStapeId = null; 1940 window.currentShopifyMarketStapeCode = null; 1941 try { 1942 window.currentShopifyMarketStapeId = "28434563211"; 1943 window.currentShopifyMarketStapeCode = "AU"; 1944 // Checkout doesn't render theme app extension blocks, so this is the 1945 // only place the market/country code is ever set. Persisting it here 1946 // lets checkout-side field mapping (country_market_code) fall back to 1947 // the last known value instead of coming up empty. 1948 localStorage.setItem('marketShopStape', JSON.stringify({ 1949 id: window.currentShopifyMarketStapeId, 1950 code: window.currentShopifyMarketStapeCode 1951 })); 1952 } catch (error) { 1953 console.error("â Stape Error:", error); 1954 } 1955</script>
1955 1956 1957 1958 1959 1960 1961</div><div id="shopify-block-AY3pVa3ZJR0E3aHF6e__10436698916776057164" class="shopify-block shopify-app-block">
1961<script id="subscription-helper"> 1962 1963 if (!window.AppstleIncluded) { 1964 window.AppstleIncluded = true; 1965 window.RS = Window.RS || {}; 1966 1967 RS.Config = { 1968 "selectors": { 1969 "payment_button_selectors": "form[action$='/cart/add'] .shopify-payment-button", 1970 "subscriptionLinkSelector": "", 1971 "atcButtonPlacement": "BEFORE", 1972 "subscriptionLinkPlacement": "BEFORE", 1973 "cartRowSelector": "", 1974 "cartLineItemSelector": "", 1975 "cartLineItemPerQuantityPriceSelector": "", 1976 "cartLineItemTotalPriceSelector": "", 1977 "cartLineItemSellingPlanNameSelector": "", 1978 "cartSubTotalSelector" : "", 1979 "cartLineItemPriceSelector": "", 1980 "cartLineItemPlacement": "BEFORE", 1981 "cartHiddenAttributesSelector": "", 1982 "buildABoxDiscountSelector": "", 1983 }, 1984 "baseUrl": "https://subscription-admin.appstle.com", 1985 "usedTranslation": "true", 1986 "enableCartWidgetFeature": "false", 1987 "storefrontAnalyticsForwardingEnabled": false, 1988 "appstleStorefrontAnalyticsPath": "https://subscription-admin.appstle.com/assets/js/appstle-storefront-analytics.min.js?shop=good-sleep-co-gc.myshopify.com&v=1785489929499", 1989 "useUrlWithCustomerId": "true", 1990 "atcButtonSelector": "", 1991 "moneyFormat": "${{amount}}", 1992 "oneTimePurchaseText": "One Time Purchase", 1993 "minimumQuantityMessage": "", 1994 "tapToSelectText": "", 1995 "bundleDiscountTextV2": "bundle discount extra: {{bundleDiscount}} off", 1996 "productPageUnitPriceSelectorV2": "", 1997 "monthsFrequencyTextV2": "Months", 1998 "monthlyLabelTextV2": "Monthly", 1999 "monthFrequencyTextV2": "Month", 2000 "weeksFrequencyTextV2": "Weeks", 2001 "weeklyLabelTextV2": "Weekly", 2002 "weekFrequencyTextV2": "Week", 2003 "daysFrequencyTextV2": "Days", 2004 "dayFrequencyTextV2": "day", 2005 "yearsFrequencyTextV2": "Years", 2006 "yearlyLabelTextV2": "Yearly", 2007 "yearFrequencyTextV2": "Year", 2008 "offFrequencyTextV2": "Off", 2009 "prepayLabelTextV2": "Prepay", 2010 "prepaidLabelTextV2": "Prepaid", 2011 "prepaidSaveBadgeTextV2": "SAVE {{selectedDiscountPercentage}}", 2012 "onetimeDescriptionTextV2": "", 2013 "atcButtonTextV2": "", 2014 "oneTimeFrequencyTextV2": "One Time", 2015 "cancelAnytimeLabelTextV2": "Cancel Anytime", 2016 "noSubscriptionLabelTextV2": "No Subscription", 2017 "addToShipmentButtonTextV2": "Add to Shipment", 2018 "addToShipmentProcessingV2": "Processing...", 2019 "addToShipmentSuccessTextV2": "Success", 2020 "addToShipmentErrorTextV2": "Error", 2021 "addToShipmentTooltipTextV2": "Please avoid double delivery charges! Login to add this product to an upcoming delivery.", 2022 "frequencyCombinedWidgetTextV2": "Frequency", 2023 "selectDeliverOptionV2": "select deliver option", 2024 "subscribeAndSaveSuccessV2": "Subscribe success", 2025 "unsubscribeFrequencyTextV2": "unsubscribe", 2026 "deliveryEveryFrequencyTextV2": "Delivery Every", 2027 "sellingPlanTitleTextNonPrepaid": "{{sellingPlanName}}", 2028 "subscribeAndSaveInitalV2": "Subscribe & save", 2029 "subscriptionDescriptionTextV2": "", 2030 "atcButtonTextSelector": "", 2031 "disableCartWidgetOnVariants": "", 2032 "shop": "good-sleep-co-gc.myshopify.com", 2033 "deliveryText": "delivery", 2034 "purchaseOptionsText": "Purchase Options", 2035 "manageSubscriptionButtonText": "Manage Subscription", 2036 "subscriptionOptionText": "Subscribe", 2037 "sellingPlanSelectTitle": "DELIVERY FREQUENCY", 2038 "subscriptionPriceDisplayText": "", 2039 "tooltipTitle": "Subscription detail", 2040 "showTooltipOnClick": "false", 2041 "tooltipDesctiption": `<strong>Have complete control of your subscriptions<\/strong><br\/><br\/>Skip, reschedule, edit, or cancel deliveries anytime, based on your needs.`, 2042 "tooltipDescriptionOnPrepaidPlan": "<b>Prepaid Plan Details<\/b><\/br> Total price: {{totalPrice}} ( Price for every delivery: {{pricePerDelivery}})", 2043 "tooltipDescriptionOnMultipleDiscount": "<b>Discount Details<\/b><\/br> Initial discount is {{discountOne}} and then {{discountTwo}}", 2044 "manualTranslation": "false", 2045 "tooltipDescriptionCustomization": "{{{defaultTooltipDescription}}} <\/br> {{{prepaidDetails}}} <\/br> {{{discountDetails}}}", 2046 "orderStatusManageSubscriptionTitle": "Subscription", 2047 "orderStatusManageSubscriptionDescription": "Continue to your account to view and manage your subscriptions. Please use the same email address that you used to buy the subscription.", 2048 "orderStatusManageSubscriptionButtonText": "Manage your subscription", 2049 "subscriptionOptionSelectedByDefault" : true, 2050 "totalPricePerDeliveryText" : "{{prepaidPerDeliveryPrice}}\/delivery", 2051 "memberOnlySellingPlansJson": {}, 2052 "nonMemberOnlySellingPlansJson": {}, 2053 "sellingPlansJson": [{"frequencyCount":1,"frequencyInterval":"MONTH","billingFrequencyCount":1,"billingFrequencyInterval":"MONTH","frequencyName":"Monthly","frequencyDescription":"A monthly delivery of our Cleaner solution.","discountOffer":20.0,"afterCycle1":0,"discountType":"PERCENTAGE","discountEnabled":true,"discountEnabledMasked":true,"id":"gid://shopify/SellingPlan/773587083","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/773587083","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"null","frequencySequence":0,"groupName":"Monthly Cleaner","groupId":219283595,"repeatingCycle":false,"defaultSelectedPlan":false,"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]},{"frequencyCount":1,"frequencyInterval":"MONTH","billingFrequencyCount":1,"billingFrequencyInterval":"MONTH","frequencyName":"Monthly Subscription","frequencyDescription":"","afterCycle1":0,"afterCycle2":0,"discountEnabled":false,"discountEnabled2":false,"discountEnabledMasked":false,"discountEnabled2Masked":false,"id":"gid://shopify/SellingPlan/2068152459","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/2068152459","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"null","frequencySequence":0,"groupName":"Hushd Avera Subscription ","groupId":1153433739,"repeatingCycle":false,"defaultSelectedPlan":false,"frequencyNameTranslations":{},"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]},{"frequencyCount":3,"frequencyInterval":"MONTH","billingFrequencyCount":3,"billingFrequencyInterval":"MONTH","frequencyName":"Quarterly Subscription","frequencyDescription":"","afterCycle1":0,"afterCycle2":0,"discountEnabled":false,"discountEnabled2":false,"discountEnabledMasked":false,"discountEnabled2Masked":false,"id":"gid://shopify/SellingPlan/2068185227","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/2068185227","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"[]","frequencySequence":1,"groupName":"Hushd Avera Subscription ","groupId":1153433739,"repeatingCycle":false,"defaultSelectedPlan":false,"frequencyNameTranslations":{},"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]},{"frequencyCount":1,"frequencyInterval":"MONTH","billingFrequencyCount":1,"billingFrequencyInterval":"MONTH","frequencyName":"Monthly Subscription","frequencyDescription":"","discountOffer":10.0,"afterCycle1":0,"discountType":"PERCENTAGE","discountEnabled":true,"discountEnabledMasked":true,"id":"gid://shopify/SellingPlan/2655355019","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/2655355019","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"[]","frequencySequence":0,"groupName":"Magnesium Subscription ","groupId":1711603851,"repeatingCycle":false,"defaultSelectedPlan":false,"frequencyNameTranslations":{},"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]}], 2054 "widgetEnabled": true, 2055 "showFreeGiftPrice" : true, 2056 "showFreeGiftComparePrice" : true, 2057 "enableFreeGiftLayout" : false, 2058 "freeGiftLabelText": "+ Free {{productName}}", 2059 "freeGiftBadgeText": "", 2060 "showTooltip" : true, 2061 "showCartWidgetOnBundleItems" : false, 2062 "prepaidOptionSelectedByDefault" : false, 2063 "disablePassingSellingPlanAsLineProperties" : false, 2064 "updateThemePrice" : false, 2065 "sortByDefaultSequence": false, 2066 "showSubOptionBeforeOneTime": false, 2067 "detectVariantFromURLParams": false, 2068 "disableQueryParamsUpdate": false, 2069 "showStaticTooltip": false, 2070 "showAppstleLink": true, 2071 "sellingPlanTitleText" : "{{sellingPlanName}} ({{sellingPlanPrice}}\/delivery)", 2072 "oneTimePriceText" : "{{price}}", 2073 "selectedPayAsYouGoSellingPlanPriceText" : "{{price}}", 2074 "selectedPrepaidSellingPlanPriceText" : " {{totalPrice}}", 2075 "selectedDiscountFormat" : "SAVE {{selectedDiscountPercentage}}", 2076 "manageSubscriptionBtnFormat" : "<a href='apps\/subscriptions' class='appstle_manageSubBtn' ><button class='btn' style='padding: 2px 20px'>Manage Subscription<\/button>
2076<a><br><br>", 2077 "manageSubscriptionUrl" : "https:\/\/goodsleepco.health\/apps\/subscriptions", 2078 "appstlePlanId": 161, 2079 "showCheckoutSubscriptionBtn": true, 2080 "priceSelector": "", 2081 "reloadPriceSelector": "", 2082 "landingPagePriceSelector": "", 2083 "quickViewClickSelector": "", 2084 "badgeTop": "", 2085 "pricePlacement": "BEFORE", 2086 "disableLoadingJquery": false, 2087 "widgetEnabledOnSoldVariant": "false", 2088 "switchRadioButtonWidget": true, 2089 "appstlePlanName": "FREE", 2090 "appstlePlanFeatures": {"analytics": true, "webhookAccess": false, "accessBundling": false, "enableAutoSync": false, "enableBundling": false, "enableSmsAlert": false, "accessBuildABox": false, "enableCampaigns": false, "enablePriceSync": false, "enableAutomation": false, "enableCartWidget": false, "accessAppstleMenu": false, "accessResendEmail": false, "enableAddressSync": false, "enableExternalApi": false, "enablePhasedRetry": false, "enableIntegrations": true, "enableQuickActions": false, "accessQuickCheckout": false, "accessSplitContract": false, "enableSummaryReports": false, "enableCustomEmailHtml": false, "enableWidgetPlacement": false, "enableCancellationFlow": false, "enableShippingProfiles": true, "accessZapierIntegration": true, "enableCustomEmailDomain": false, "enableDunningManagement": true, "enableExportActivityLog": true, "subscriptionOrderAmount": 500, "accessGorgiasIntegration": true, "accessKlaviyoContactSync": false, "enableOrderConsolidation": false, "accessMechanicIntegration": true, "accessWidgetDesignOptions": false, "enableImmediatePlaceOrder": false, "enableInventoryManagement": true, "accessMechanicsIntegration": true, "enableAdvancedSellingPlans": false, "accessOneTimeProductUpsells": false, "enableBillingIntervalChange": true, "enableProductSwapAutomation": false, "accessShopifyFlowIntegration": true, "enableCancellationManagement": false, "enableCustomerPortalSettings": true, "enableSubscriptionManagement": true, "accessKlaviyoEmailIntegration": true, "enableAdminNotificationAccess": true, "accessSubscriptionActivityLogs": true, "enableBackupPaymentMethodRetry": false, "accessSubscriberLoyaltyFeatures": false, "enableAddToExistingSubscription": false, "enableContractPriceModification": true, "enableTrackInventoryInSingleBAB": true, "accessManualSubscriptionCreation": false, "enableNextBillingDateModification": true, "accessCustomerPortalProductUpsells": false, "enableServerSideConversionTracking": false, "accessDiscountOnCancellationAttempt": false, "enableStorefrontAnalyticsForwarding": false, "accessAdvanceSubscriptionPlanOptions": false, "accessAdvancedCustomerPortalSettings": true}, 2091 "formMappingAttributeName": "", 2092 "formMappingAttributeSelector": "", 2093 "quickViewModalPollingSelector": "", 2094 "scriptLoadDelay": "0", 2095 "formatMoneyOverride": "false", 2096 "enableAddToExistingSubscriptionFeature": "false", 2097 "displayAddToExistingSubscriptionButtonForNotLoggedInV2": "", 2098 "showAddToSubscriptionButtonOnlyOnSubscriptionProducts": "false", 2099 "appstle_app_proxy_path_prefix": "apps\/subscriptions", 2100 "updatePriceOnQuantityChange": "", 2101 "widgetParentSelector": "", 2102 "quantitySelector": "", 2103 "enableAddJSInterceptor": "false", 2104 "isDevEnabled": false, 2105 "forceReloadWidgetSelector": "", 2106 "forceReloadOnFreqChange": false, 2107 "showPrepaidPlanSeparately": false, 2108 "debugLogsEnabled": false, 2109 "isUseStorefrontAPI": false, 2110 "reBuyEnabled": "false", 2111 "loyaltyDetailsLabelText": "", 2112 "loyaltyPerkDescriptionTextV2": "{{#isDiscountTypeFreeProduct}}<div style='display: flex;'><div style='height: 60px; width: 60px; flex-shrink: 0; margin-right: 10px;'><img style='width: 100%' src={{{featured_image}}}><\/img><\/div><div>After {{{billingCycleBlock}}} orders,<span style='color: #ffc000;font-weight: 700;';> get a FREE {{freeProductName}} <\/span><\/div><div>{{\/isDiscountTypeFreeProduct}}{{#isDiscountTypePercentage}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>
2112get <span style='color: #ffc000;font-weight: 700;';>{{{discount}}}% OFF your entire order<\/span><\/span>.{{\/isDiscountTypePercentage}}{{#isDiscountTypeShipping}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>get <span style='color: #ffc000;font-weight: 700;';>shipping at {{{formatDiscountedPrice}}}<\/span><\/span>.{{\/isDiscountTypeShipping}}{{#isDiscountTypeFixed}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>get <span style='color: #ffc000;font-weight: 700;';>{{{formatDiscountedPrice}}} OFF your entire order<\/span><\/span>.{{\/isDiscountTypeFixed}}", 2113 "widgetType": "WIDGET_TYPE_1", 2114 "collectionWidgetType": "LEGACY", 2115 "enableCompactProductPageWidget": false, 2116 "enableCartDrawerWidget": false, 2117 "cartDrawerWidgetStyle": false, 2118 "cartDrawerWidgetInlineStyle": "", 2119 "cartDrawerWidgetPanelStyle": "", 2120 "cartDrawerWidgetSegmentedStyle": "", 2121 "showOneTimeComparePrice": false, 2122 "showCombinedSellingPlanCartWidget": false, 2123 "combinedCartWidgetSelector": "", 2124 "removeUnsubscribeOption": false, 2125 "widgetTemplateHtml": `{% raw %}{% endraw %}`, 2126 2127 "allWidgetTemplateHtml": "{\"WIDGET_TYPE_1\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_6\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n <div class=\\\"widgetSellingPlanWrapper\\\">\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n <div class=\\\"appstle_input_wrapper appstle_onetime_block\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper\\\">\\n {{oneTimePuchaseText}}\\n<div class=\\\"appstle-cancel-text\\\">{{{noSubscriptionLabelTextV2}}}</div>\\n</div>\\n <div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<div class=\\\"appstle_span_wrapper\\\">\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}</span></div>\\n</div>\\n </label>\\n \\n </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n \\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n{{^prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper appstle-selling-plan-label-name\\\">\\n {{{name}}}\\n<div class=\\\"appstle-cancel-text\\\">{{{cancelAnytimeLabelTextV2}}}</div>\\n</div>\\n<div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_formattedCompareAtPrice appstle_price_block\\\">{{{formattedCompareAtPrice}}}</span>\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}</span>
2127\\n\\n\\n</div> \\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_formattext_block\\\"></span>\\n{{#showPricePerDay}}<div class=\\\"appstle-perday-price\\\">{{{pricePerDay}}}</div>{{/showPricePerDay}}\\n<div class=\\\"appstle-frequency-description\\\">\\n{{{frequencyDescription}}} \\n</div>\\n </div>\\n </label>\\n{{#showFormattedDiscountText}}\\n <span class=\\\"appstle_sellingPlan_discountText\\\">{{{formattedDiscountText}}}</span>\\n{{/showFormattedDiscountText}}\\n<div class=\\\"appstle-sm-hide appstle-frequency-description\\\">{{{frequencyDescription}}} </div> \\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n<label for=\\\"{{sellingPlanId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper appstle-selling-plan-label-name\\\">\\n {{{name}}}\\n<div class=\\\"appstle-cancel-text\\\">{{{cancelAnytimeLabelTextV2}}}</div>\\n</div>\\n<div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_formattedCompareAtPrice appstle_price_block\\\">{{{formattedCompareAtPrice}}}</span>\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n\\n</div> \\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block appstle_formattedPrepaidPerDeliveryPriceText\\\">{{{formattedPrepaidPerDeliveryPriceText}}}</span>\\n {{#showPricePerDay}}<div class=\\\"appstle-perday-price\\\">{{{pricePerDay}}}</div>{{/showPricePerDay}}\\n<div class=\\\"\\\">\\n<div class=\\\"appstle-frequency-description\\\">\\n{{{frequencyDescription}}} \\n</div>\\n</div>\\n</div>\\n</label>\\n{{#showFormattedDiscountText}}\\n <span class=\\\"appstle_sellingPlan_discountText\\\">{{{formattedDiscountText}}}</span>\\n{{/showFormattedDiscountText}}\\n<div class=\\\"appstle-sm-hide appstle-frequency-description\\\">{{{frequencyDescription}}} </div> \\n\\n{{/prepaidFlag}}\\n \\n </div>\\n {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n <div class=\\\"appstle_input_wrapper appstle_onetime_block\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper\\\">\\n {{oneTimePuchaseText}}\\n<div class=\\\"appstle-cancel-text\\\">{{{noSubscriptionLabelTextV2}}}</div>\\n</div>\\n<div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">{{{oneTimePuchaseComparePriceAmount}}}</span>\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}</span>\\n\\n</div>\\n </label>\\n \\n </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\"> {{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n<div class=\\\"appstle-tootltip-parent\\\">\\n <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n <path\\n d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n ></path>\\n </svg>\\n <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n </div>\\n<div class=\\\"appstle_tooltip\\\">\\n <div class=\\\"appstle_tooltip_content\\\">\\n {{{toolTipDescription}}}\\n </div>\\n {{#showAppstleLink}}\\n <div class=\\\"appstle_tooltip_appstle\\\">\\n <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n POWERED BY APPSTLE </a>\\n </div>\\n {{/showAppstleLink}}\\n </div>\\n</div>\\n{{/showTooltip}}\\n<style>\\n.widgetSellingPlanWrapper {\\n display: grid;\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n gap: 1.5rem;\\n grid-auto-rows: 1fr;\\n margin-bottom: 6px;\\nmargin-top: 10px;\\n}\\n\\n.widgetSellingPlanWrapper input {\\n display: none;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n border-radius: 10px;\\n border: 1px solid rgba(var(--color-foreground));\\n padding: 0.5rem;\\n display: flex;\\n justify-content: center;
2127\\n align-items: center;\\n display: block;\\n height: 100%;\\n width: 100%;\\n text-align: center;\\ncursor: pointer;\\n}\\n\\n.widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground)) !important;\\ncolor: rgba(var(--color-background)) !important;\\n}\\n.appstle_lowercase {\\n text-transform: lowercase;\\n}\\n\\n\\n.appstle_input_wrapper {\\n position: relative;\\n}\\n\\nspan.appstle_sellingPlan_discountText {\\n position: absolute;\\n background: rgba(var(--color-foreground));\\n color: rgba(var(--color-background));\\n border-radius: 3px;\\n padding: 1px 18px;\\n left: 50%;\\n display: block;\\n transform: translate(-50%, -50%);\\n white-space: nowrap;\\n}\\n\\nspan.appstle_sellingPlan_discountText:empty {\\n display: none !important;\\n}\\ndiv.appstle_span_wrapper{\\n\\tdisplay: flex;\\n\\tjustify-content: center;\\n}\\n</style>\\n<style>\\n.widgetSellingPlanWrapper {\\n grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\\n gap: 0.8rem !important;\\n}\\n\\n.appstle_sub_widget {\\n max-width: 100%!important;\\n} \\n\\n.widgetSellingPlanWrapper label {\\n height: auto !important;\\n border: none !important;\\n padding: 14px 5px !important;\\n display: flex !important;\\n justify-content: center !important;\\n align-items: center !important;\\n flex-direction: column;\\n max-width: 100% !important;\\n width: unset !important;\\nline-height: 20px;\\n}\\n\\n.appstle_how_does_it_work {\\n line-height: 16px !important;\\n margin: 6px 0px;\\n color: rgba(var(--color-background));\\n}\\n@media screen and (max-width: 800px) {\\n .appstle_how_does_it_work {\\n text-align: right;\\n }\\n}\\n\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_formattext_block {\\ntext-align: right !important;\\n display: block;\\n}\\n\\n.appstle_span_wrapper {\\n align-items: baseline;\\n}\\n\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_discount_block.appstle_formattedPrepaidPerDeliveryPriceText {\\n display: block;\\n text-align: right;\\n}\\n\\n.appstle_input_wrapper {\\n display: flex;\\n height: 100% !important;\\nflex-direction: column;\\n}\\n\\n.appstle_sub_widget input[type=radio]+label:before {\\n content: \\\"\\\";\\n position: absolute;\\n inset: 0;\\n border-radius: 12px;\\n padding: 2px;\\n background: #121212;\\n -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);\\n -webkit-mask-composite: xor;\\n mask-composite: exclude;\\n pointer-events: none;\\n z-index: 0;\\n transition: all 0.2s;\\n}\\n\\n.appstle_sub_widget input[type=radio]:checked+label:before {\\n content: \\\"\\\";\\n position: absolute;\\n inset: 0;\\n border-radius: 12px;\\n // padding: 4px;\\n// background: linear-gradient(to right,#Fef58f,#7A3900);\\n//background: #E53D29;\\n border: 2px transparent;\\n -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);\\n -webkit-mask-composite: xor;\\n mask-composite: exclude;\\n pointer-events: none;\\n z-index: 0;\\n}\\n\\nspan.appstle_sellingPlan_discountText {\\n background: rgba(var(--color-foreground));\\n border-radius: 100px !important;\\n padding: 0px 8px !important;\\n height: 20px;\\n display: flex !important;\\n justify-content: center;\\n align-items: center;\\n letter-spacing: 1px;\\nz-index: 2;\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_onetime_amount_compare {\\ntext-decoration: line-through;\\n}\\n\\n\\nspan.appstle-popular {\\n position: absolute;\\n top: -40px;\\n background: black;\\n color: rgba(var(--color-background));\\n z-index: -3;\\n border-radius: 10px;\\n padding: 0px 10px 29px 10px;\\nleft: 0;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n border-radius: 14px;\\n}\\n\\n.widgetSellingPlanWrapper input:checked+label {\\n overflow: hidden;\\n}\\n\\n\\n.appstle-perday-price {\\ndisplay: none;\\n}\\n\\n .widgetSellingPlanWrapper {\\n grid-template-columns: repeat(1, minmax(0, 1fr)) !important;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n flex-direction: row;\\n justify-content: space-between !important;
2127\\n align-items: flex-start !important;\\nwidth: 100% !important;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n text-align: left;\\n padding: 16px !important;\\nflex-basis: unset;\\n}\\n\\n.appstle_span_wrapper {\\n justify-content: flex-end !important;\\n}\\n\\n.appstle-perday-price {\\n text-align: right;\\n}\\n\\n.widgetSellingPlanWrapper {\\n gap: 15px !important;\\n}\\n\\nspan.appstle-popular {\\n width: calc(100% - 20px);\\n text-align: center;\\n letter-spacing: 2px;\\n top: -30px;\\nleft: 0;\\n}\\n\\nspan.appstle_sellingPlan_discountText { \\nleft: unset !important;\\n right: 15px;\\n transform: translate(0, -50%) !important;\\n}\\n.appstle-cancel-text {\\n text-align: left;\\n}\\n\\n.appstle_input_wrapper label {\\n text-align: left !important;\\n}\\n\\n.widgetSellingPlanWrapper input:checked+label {\\n width: 100% !important;\\n margin: 0 !important;\\n}\\n.appstle_input_wrapper {\\n width: 100% !important;\\nflex-direction: row;\\n}\\n.widgetSellingPlanWrapper input:checked+label+span {\\n background: rgba(var(--color-background)) !important;\\n color:rgba(var(--color-foreground)) !important;\\n border: 2px solid rgba(var(--color-foreground));\\n}\\n.appstle_onetime_block .appstle_span_wrapper {\\n grid-column: 2;\\n}\\n.appstle-frequency-description {\\n text-align: right !important;\\n}\\n\\n\\n.appstle-sm-hide {\\n display: none;\\n}\\n\\n@media screen and (min-width: 800px) {\\n.appstle-lg-show {\\n display: block;\\n}\\n.appstle-lg-hide {\\n display: none;\\n}\\n\\n}\\n\\nspan.appstle_lowercase.appstle_sellingPlan_formattedCompareAtPrice.appstle_price_block {\\n text-decoration: line-through;\\n display: block;\\n margin-right: 3px;\\n color: rgba(var(--color-foreground));\\n}\\n.widgetSellingPlanWrapper input:checked+label .appstle_sellingPlan_formattedCompareAtPrice {\\ncolor:rgba(var(--color-background));\\n} \\n\\n.appstle_span_wrapper > * {\\nflex-shrink: 0\\n}\\n.appstle-selling-plan-detail-wrapper{\\ncolor: rgba(var(--color-foreground));\\n}\\n.widgetSellingPlanWrapper input:checked+label .appstle-selling-plan-detail-wrapper{\\ncolor: rgba(var(--color-background)) !important;\\n}\\n\\n</style>\\n</div>{% endraw %}\",\"WIDGET_TYPE_7\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_8\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_2\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_3\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n <div class=\\\"widgetSellingPlanWrapper appstle_subscription_wrapper\\\">\\n{{#showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper appstle_subscription_option\\\">\\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n {{^prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}</span>\\n{{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\"> ({{{secondFormattedDiscountText}}})</span> {{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n</div>\\n \\n </label>\\n {{/prepaidFlag}}\\n {{#prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n {{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\"> ({{{secondFormattedDiscountText}}})</span>{{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n {{#formattedPrepaidPerDeliveryPriceText}}<span class=\\\"appstle_formattedPrepaidPerDeliveryPriceText\\\"> ({{{formattedPrepaidPerDeliveryPriceText}}})</span>{{/formattedPrepaidPerDeliveryPriceText}}\\n </div>\\n \\n </label>\\n {{/prepaidFlag}}\\n \\n </div>\\n {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n {{^requires_selling_plan}}\\n <div class=\\\"appstle_input_wrapper appstle_onetime\\\">
2127\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"{{sellingPlanId}}\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{oneTimePuchaseText}}\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n{{{oneTimePuchaseAmount}}}</span>\\n </label>\\n \\n </div>\\n {{/requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper appstle_subscription_option\\\">\\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n {{^prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}</span>\\n{{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\"> ({{{secondFormattedDiscountText}}})</span> {{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n</div>\\n \\n </label>\\n {{/prepaidFlag}}\\n {{#prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n {{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\"> ({{{secondFormattedDiscountText}}})</span>{{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n {{#formattedPrepaidPerDeliveryPriceText}}<span class=\\\"appstle_formattedPrepaidPerDeliveryPriceText\\\"> ({{{formattedPrepaidPerDeliveryPriceText}}})</span>{{/formattedPrepaidPerDeliveryPriceText}}\\n </div>\\n \\n </label>\\n {{/prepaidFlag}}\\n \\n </div>\\n {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\">{{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n <path\\n d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n ></path>\\n </svg>\\n <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n </div>\\n<div class=\\\"appstle_tooltip appstle_tooltip_hover\\\">\\n <div class=\\\"appstle_tooltip_content\\\">\\n {{{toolTipDescription}}}\\n </div>\\n {{#showAppstleLink}}\\n <div class=\\\"appstle_tooltip_appstle\\\">\\n <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n POWERED BY APPSTLE\\n </a>\\n </div>\\n{{/showAppstleLink}}\\n </div>\\n{{/showTooltip}}\\n<style>.widgetSellingPlanWrapper {\\n display: grid;\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n gap: 0.5rem;\\n grid-auto-rows: 1fr;\\n margin-bottom: 6px;\\n}\\n.widgetSellingPlanWrapper input {\\n display: none;\\n}\\n.widgetSellingPlanWrapper label {\\n border-radius: 8px;\\n border: 1px solid rgba(var(--color-foreground));\\n padding: 0.5rem;\\n display: flex;\\n justify-content: center;
2127\\n align-items: center;\\n display: block;\\n height: 100%;\\n width: 100%;\\n text-align: center;\\ncursor: pointer;\\ncolor: rgba(var(--color-foreground));\\n}\\n.widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground));\\n color: rgba(var(--color-background));\\n border: 1px solid rgba(var(--color-background)) !important;\\n}\\n.appstle_lowercase {\\n text-transform: lowercase;\\n}\\n.appstle_input_wrapper {\\n position: relative;\\n}\\nspan.appstle_sellingPlan_discountText {\\n position: absolute;\\n background-color: color: rgba(var(--color-foreground));\\n color: rgba(var(--color-background));\\n border-radius: 3px;\\n padding: 1px 18px;\\n left: 50%;\\n display: block;\\n transform: translate(-50%, -50%);\\n white-space: nowrap;\\n}\\nspan.appstle_sellingPlan_discountText:empty {\\n display: none !important;\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price {\\n color: rgba(var(--color-foreground));\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_onetime_amount_compare {\\n color: rgba(var(--color-foreground));\\n text-decoration: line-through;\\n padding: 0 3px;\\n}\\n#appstle_subscription_widget0 .appstle_tooltip_wrapper {\\n margin-top: 8px;\\n margin-bottom: 16px;\\n}\\n.appstle_subscription_wrapper {\\n border: none !important;\\n}\\nlabel.appstle_widget_three {\\n display: flex;\\n flex-direction: column;\\n}\\n.widgetSellingPlanWrapper input:checked+label span {\\n color: rgba(var(--color-background)) !important;\\n}\\n.appstle_sub_widget .appstle_subscription_wrapper{\\n border-radius:unset !important;\\n}\\nspan.appstle_second_price_block:empty {\\n display: none !important;\\n}\\n</style>\\n</div>{% endraw %}\",\"WIDGET_TYPE_4\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n <div class=\\\"widgetSellingPlanWrapper\\\">\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n {{oneTimePuchaseText}}\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}/{{{oneTimeFrequencyText}}}</span>\\n </label>\\n </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <span class=\\\"appstle_sellingPlan_discountText\\\">{{{formattedDiscountText}}}</span>\\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n{{^prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}<span>\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_formattext_block\\\">/{{{sellingPlanFrequencyText}}}{{#isFrequencySubsequent}}{{/isFrequencySubsequent}}</span>\\n</div>\\n </label>\\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n<label for=\\\"{{sellingPlanId}}\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block appstle_formattedPrepaidPerDeliveryPriceText\\\"> {{{formattedPrepaidPerDeliveryPriceText}}}</span>\\n</div>\\n</label>\\n{{/prepaidFlag}}\\n </div>\\n {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n <div class=\\\"appstle_input_wrapper\\\">
2127\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n {{oneTimePuchaseText}}\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}/{{{oneTimeFrequencyText}}}</span>\\n </label>\\n </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\"> {{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n <path\\n d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n ></path>\\n </svg>\\n <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n </div>\\n <div class=\\\"appstle_tooltip\\\">\\n <div class=\\\"appstle_tooltip_content\\\">\\n {{{toolTipDescription}}}\\n </div>\\n{{#showAppstleLink}}\\n <div class=\\\"appstle_tooltip_appstle\\\">\\n <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n POWERED BY APPSTLE\\n </a>\\n </div>\\n{{/showAppstleLink}}\\n </div>\\n{{/showTooltip}}\\n<style>\\n.widgetSellingPlanWrapper {\\n display: grid;\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n gap: 16px;\\n grid-auto-rows: 1fr;\\n margin-bottom: 6px;\\nmargin-top: 10px\\n}\\n.widgetSellingPlanWrapper input {\\n display: none;\\n}\\n.widgetSellingPlanWrapper label {\\n border-radius: 10px;\\n border: 1px solid rgba(var(--color-foreground, 0, 0, 0));\\n padding: 0.5rem;\\n display: flex !important;\\n flex-direction: column;\\n justify-content: center;
2127\\n align-items: center;\\n display: block;\\n height: 100%;\\n width: 100%;\\n text-align: center;\\ncursor: pointer;\\n}\\n.widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground, 0, 0, 0));\\n}\\n.appstle_lowercase {\\n text-transform: lowercase;\\n}\\n.appstle_input_wrapper {\\n position: relative;\\n}\\nspan.appstle_sellingPlan_discountText {\\n position: absolute;\\n font-size: 1.2rem;\\n background-color: rgba(var(--color-foreground, 0, 0, 0));\\n color: rgba(var(--color-background, 255, 255, 255));\\n border-radius: 3px;\\n border: 2px solid rgba(var(--color-background, 255, 255, 255));\\n padding: 1px 18px;\\n left: 50%;\\n display: block;\\n transform: translate(-50%, -50%);\\n white-space: nowrap;\\n}\\nspan.appstle_sellingPlan_discountText:empty {\\n display: none !important;\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_onetime_amount_compare {\\ntext-decoration: line-through;\\n}\\n.appstle_tooltip_wrapper {\\n margin-bottom:10px;\\n}\\n.widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground, 0, 0, 0));\\n color: rgba(var(--color-background, 255, 255, 255));\\n border: 2px solid rgba(var(--color-background, 255, 255, 255)) !important;\\n}\\n</style>\\n</div>{% endraw %}\",\"WIDGET_TYPE_5\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n <div class=\\\"widgetSellingPlanWrapper\\\">\\n{{^showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}/>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n {{{oneTimePuchaseText}}}\\n </label>\\n \\n </div>\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}} />\\n <label for=\\\"{{sellingPlanId}}\\\">\\n {{{name}}}\\n </label>\\n \\n </div>\\n {{/sellingPlanVariants}}\\n{{#showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}/>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n {{{oneTimePuchaseText}}}\\n </label>\\n \\n </div>\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\">{{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n <path\\n d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8
2127635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n ></path>\\n </svg>\\n <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n </div>\\n<div class=\\\"appstle_tooltip appstle_tooltip_hover\\\">\\n <div class=\\\"appstle_tooltip_content\\\">\\n {{{toolTipDescription}}}\\n </div>\\n {{#showAppstleLink}}\\n <div class=\\\"appstle_tooltip_appstle\\\">\\n <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n POWERED BY APPSTLE\\n </a>\\n </div>\\n {{/showAppstleLink}}\\n </div>\\n{{/showTooltip}}\\n <style>\\n .widgetSellingPlanWrapper {\\n display: grid;\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n gap: 8px;\\n grid-auto-rows: 1fr;\\n margin-bottom: 6px;\\n margin-top: 10px;\\n }\\n \\n .widgetSellingPlanWrapper input {\\n display: none;\\n }\\n \\n .widgetSellingPlanWrapper label {\\n border-radius: 4px;\\n border: 1px solid rgba(var(--color-foreground));\\n padding: 0.5rem;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n display: block;\\n height: 100%;\\n width: 100%;\\n text-align: center;\\n \\t color: rgba(var(--color-foreground));\\ncursor: pointer;\\n }\\n \\n .widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground));\\n \\t color: rgba(var(--color-background));\\n }\\n .appstle_lowercase {\\n text-transform: lowercase;\\n }\\n \\n \\n .appstle_input_wrapper {\\n position: relative;\\n }\\n \\n span.appstle_sellingPlan_discountText {\\n position: absolute;\\n background-color: rgba(var(--color-foreground));\\n color: rgba(var(--color-background));\\n border-radius: 3px;\\n padding: 1px 18px;\\n left: 50%;\\n display: block;\\n transform: translate(-50%, -50%);\\n white-space: nowrap;\\n }\\n span.appstle_sellingPlan_discountText:empty {\\n display: none !important;\\n }\\n </style>\\n </div>{% endraw %}\"}", 2128 2129 2130 "bundle": {}, 2131 2132 2133 "labels": `{\"appstle.subscription.wg.addToShipmentErrorTextV2\":\"Error\",\"appstle.subscription.wg.weeksFrequencyTextV2\":\"Weeks\",\"appstle.subscription.wg.weeklyLabelTextV2\":\"Weekly\",\"appstle.subscription.wg.displayAddToExistingSubscriptionButtonForNotLoggedInV2\":\"false\",\"appstle.subscription.wg.addToShipmentProcessingV2\":\"Processing...\",\"appstle.subscription.wg.deliveryEveryFrequencyTextV2\":\"Delivery Every\",\"appstle.subscription.wg.subscribeAndSaveInitalV2\":\"Subscribe & save\",\"appstle.subscription.wg.allowRefreshOnCartPageV2\":\"false\",\"appstle.subscription.wg.prepaidLabelTextV2\":\"Prepaid\",\"appstle.subscription.wg.daysFrequencyTextV2\":\"Days\",\"appstle.subscription.wg.monthlyLabelTextV2\":\"Monthly\",\"appstle.subscription.wg.subscribeAndSaveSuccessV2\":\"Subscribe success\",\"appstle.subscription.wg.addToShipmentSuccessTextV2\":\"Success\",\"appstle.subscription.wg.monthFrequencyTextV2\":\"Month\",\"appstle.subscription.wg.addToShipmentButtonTextV2\":\"Add to Shipment\",\"appstle.subscription.wg.displayAddToExistingSubscriptionButtonToSubscribersOnlyV2\":\"false\",\"appstle.subscription.wg.yearsFrequencyTextV2\":\"Years\",\"appstle.subscription.wg.addToShipmentTooltipTextV2\":\"Please avoid double delivery charges! Login to add this product to an upcoming delivery.\",\"appstle.subscription.wg.weekFrequencyTextV2\":\"Week\",\"appstle.subscription.wg.oneTimePurchaseTextV2\":\"One Time Purchase\",\"appstle.subscription.wg.loyaltyPerkDescriptionTextV2\":\"{{#isDiscountTypeFreeProduct}}<div style='display: flex;'><div style='height: 60px; width: 60px; flex-shrink: 0; margin-right: 10px;'><img style='width: 100%' src={{{featured_image}}}><\/img><\/div><div>After {{{billingCycleBlock}}} orders,<span style='color: #ffc000;font-weight: 700;';> get a FREE {{freeProductName}} <\/span><\/div><div>{{\/isDiscountTypeFreeProduct}}{{#isDiscountTypePercentage}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>
2133get <span style='color: #ffc000;font-weight: 700;';>{{{discount}}}% OFF your entire order<\/span><\/span>.{{\/isDiscountTypePercentage}}{{#isDiscountTypeShipping}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>get <span style='color: #ffc000;font-weight: 700;';>shipping at {{{formatDiscountedPrice}}}<\/span><\/span>.{{\/isDiscountTypeShipping}}{{#isDiscountTypeFixed}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>get <span style='color: #ffc000;font-weight: 700;';>{{{formatDiscountedPrice}}} OFF your entire order<\/span><\/span>.{{\/isDiscountTypeFixed}}\",\"appstle.subscription.wg.unsubscribeFrequencyTextV2\":\"unsubscribe\",\"appstle.subscription.wg.oneTimeFrequencyTextV2\":\"One Time\",\"appstle.subscription.wg.dayFrequencyTextV2\":\"day\",\"appstle.subscription.wg.allowFulfilmentCountViaPropertiesV2\":\"false\",\"appstle.subscription.wg.monthsFrequencyTextV2\":\"Months\",\"appstle.subscription.wg.prepaidSaveBadgeTextV2\":\"SAVE {{selectedDiscountPercentage}}\",\"appstle.subscription.wg.showPrepidPerDeliveryProductPriceV2\":\"false\",\"appstle.subscription.wg.manageSubscriptionButtonTextV2\":\"Manage Subscription\",\"appstle.subscription.wg.offFrequencyTextV2\":\"Off\",\"appstle.subscription.wg.yearFrequencyTextV2\":\"Year\",\"appstle.subscription.wg.prepayLabelTextV2\":\"Prepay\",\"appstle.subscription.wg.frequencyCombinedWidgetTextV2\":\"Frequency\",\"appstle.subscription.wg.showNewLoyaltyUI\":\"false\",\"appstle.subscription.wg.sellingPlanTitleTextNonPrepaid\":\"{{sellingPlanName}}\",\"appstle.subscription.wg.selectDeliverOptionV2\":\"select deliver option\",\"appstle.subscription.wg.yearlyLabelTextV2\":\"Yearly\"}`, 2134 2135 "css": { 2136 "appstle_subscription_widget": { 2137 "margin-top": "" , 2138 "margin-bottom": "", 2139 }, 2140 2141 "appstle_subscription_wrapper": { 2142 "border-width": "", 2143 "border-color": "", 2144 }, 2145 2146 "appstle_circle": { 2147 "border-color": "", 2148 }, 2149 2150 "appstle_dot": { 2151 "background-color": "", 2152 }, 2153 2154 "appstle_select": { 2155 "padding-top": "", 2156 "padding-bottom": "", 2157 "padding-left": "", 2158 "padding-right": "", 2159 "border-width": "", 2160 "border-style": "", 2161 "border-color": "", 2162 "border-radius": "", 2163 }, 2164 2165 "tooltip_subscription_svg": { 2166 "fill": "", 2167 }, 2168 2169 "appstle_tooltip": { 2170 "color": "", 2171 "background-color": "", 2172 }, 2173 2174 "appstle_tooltip_border_top_color": { 2175 "border-top-color": "", 2176 }, 2177 2178 "appstle_subscription_final_price": { 2179 "color": "", 2180 }, 2181 "appstle_widget_text_color": { 2182 "color": "", 2183 }, 2184 "appstle_selected_background": { 2185 "background": "transparent", 2186 }, 2187 "elementCSS": "[]", 2188 "customCSS": "", 2189 "customerPortalCss": "", 2190 "externalStyleTag": "", 2191 "themeCss": "", 2192 } 2193 }; 2194 2195 2196 window.AppstleSubscription = window.AppstleSubscription || JSON.parse(JSON.stringify(RS)); 2197 2198 sessionStorage['appstleSubscriptionConfig'] = JSON.stringify(RS.Config); 2199 2200 2201 try { 2202 2203 window.appstle_build_a_box_labels = {"perDeliveryLabelTextV2":"\\/delivery","variantNotAvailable":"Not Available","saveDiscountText":"{{discount}}","bundleSummaryTextV2":"Your bundle is empty. Please add products to your bundles to see bundle summary here.","freeProductLabelTextV2":"Free","bundleDescriptionTextV2":"Our bundle of all bundles, The Ultimate Superfood Bundle delivers exactly what it promises - a complete superfood solution. With 7 superfood blends each created to empower every aspect of your health and wellbeing - from immunity and gut health to energy & better focus.","productDetails":"Product Details","failedToAddMsgText":"Your cart can't have more than {{maxProduct}}
2203 products","cart":"Cart","reviewBundleTextV2":"Review Bundle","addButtonText":"Add","minimumQuantityToCheckoutV2":"Minimum {{quantity}} quantity to checkout","buildBoxErrormsgV2":"Build a Box token is Invalid, Please reach out to support.","continueShopping":"Continue Shopping","failedToAddTitleText":"Failed to add","spendAmountGetDiscount":"Spend {{amount}} get {{percent}}% discount","maxiumQuantityToCheckoutV2":"Maxium {{quantity}} quantity to checkout","contentsOnModalTextV2":"Contents","nextStepButtonTextV2":"Next Step","choosePlanLifeStyleTextV2":"Choose a plan to match your lifestyle","selectMinimumProductButtonText":"Please select {{minProduct}} minimum product","subtotal":"Subtotal","buyQuantityGetDiscount":"Buy {{quantity}} get {{percent}}% discount","loyaltyTablePercentageTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>{{discount}}% off<\\/span><\\/span>.","loyaltyTablePriceTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get at <span class='appstle-loyalty-discount-amount'>{{price}}<\\/span><\\/span>.","myDeliveryText":"My {{selectedSellingPlanDisplayName}} delivery","removeItem":"Remove","productsToProceedText":"Please select products to proceed","previousStepButtonTextV2":"Previous step","loadMoreTextV2":"Load more","selectedFrequencyLabelText":"Selected Frequency","addToCartButtonTextV2":"Add To Cart ","basePriceFormatFieldV2":"{{unitPrice}}\\/{{quantityUnit}}","title":"Build a Box","productPriceFormatField":"{{price}}","reviewOrdeDescriptionTextV2":"Check your items and select your required frequency plan","quantityLabelV2":"Quantity","subscriptionNotAvailableButtonV2":"Subscription not available","shoppingCart":"Shopping Cart","checkoutMessage":"Shipping and taxes calculated at checkout.","discountPopupCheckoutMessageV2":"Discount","selectedButtonTextV2":"Selected","congratsMessageText":null,"okBtnText":"Ok","tieredDiscount":"Tiered Discount","choosePlanLifeStyleDescriptionTextV2":"Cutoff each week to amend your meals is midnight on Thursday's. (Delivery Schedule is as follows: Gold Coast - Mondays | Brisbane & Sunshine Coast - Wednesdays)","orderNoteLabelTextV2":"Order Note","minimumToCheckoutV2":"Minimum {{quantity}} to checkout","loyaltyTableFixedTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>{{price}} off<\\/span><\\/span>.","editQuantity":"Edit Quantity","itemsText":null,"chooseProductsTextV2":"Choose Products","loyaltyTableFreeProductTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>FREE PRODUCT ({{productName}})<\\/span><\\/span>.","loyaltyTableShippingTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>shipping at {{price}}<\\/span><\\/span>.","spentText":null,"quantityLabel":null,"addButtonV2":"Add","loyaltyTableFreeTrailTextV2":"Get <span class='appstle-loyalty-free-trial-discount'>{{discount}} <span class='appstle-loyalty-free-trial-discount-count' style='text-transform: lowercase;'>{{discountType}} <\\/span><\\/span> <span class='appstle-loyalty-free-trial-text'>free trial.<\\/span>","bundleCheckoutTextV2":"Checkout","reviewOrderTextV2":"Review Order","goBackButtonText":"Go Back","selectPlanTextV2":"Select Plan","viewProduct":"View Product","oneTimePurchaseTextV2":"One Time Purchase","bundleOnModalTextV2":"Bundle","proceedToCheckoutButtonText":"Proceed to checkout","pleaseWaitLabelTextV2":"Please wait...","typeToSearchPlaceholderTextV2":"Type to search","selectedProgressLabelTextV2":"Selected","outOfStockTextV2":"Out of stock"}; 2204 2205 } catch (e) { 2206 console.error("Error parsing build a box labels:", e); 2207 } 2208 2209 2210 var _RSConfig = _RSConfig || {}; 2211 2212 _RSConfig.shop = 'good-sleep-co-gc.myshopify.com'; 2213 2214 2215 2216 2217 2218 2219 _RSConfig.shopMoneyFormat = '${{amount}}'; 2220 _RSConfig.shopMoneyFormatWithCurrencyFormat = '${{amount}} AUD'; 2221 2222 2223 2224 2225 } 2226 2227 2228 2229 _RSConfig.assetRev = "f692e2ab9771bd0c6c55e797118551a1"; 2230 2231 2232</script>
2232 2233 2234<style id="appstle-payment-button-override"> 2235 .shopify-payment-button {display: none;} 2236</style>
2237<script> 2238 let appstleCount = 0 2239 function isAppstleJSInitiated() { 2240 appstleCount++; 2241 if (window?.["RSConfig"] || appstleCount > 20) { 2242 let appstleStyleElement = document.querySelector('#appstle-payment-button-override'); 2243 if (appstleStyleElement) { 2244 appstleStyleElement.remove(); 2245 } 2246 } else { 2247 setTimeout(isAppstleJSInitiated, 500) 2248 } 2249 } 2250 isAppstleJSInitiated(); 2251</script>
2251 2252 2253<style> 2254 2255</style>
2256<script> 2257 function pollAppstleInit() { 2258 if (window?.appstleInit) { 2259 window?.appstleInit() 2260 } else { 2261 setTimeout(pollAppstleInit, 30); 2262 } 2263 } 2264</script>
2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282
2282<script src="https://subscription-admin.appstle.com/assets/js/appstle-subscription.min.js?shop=good-sleep-co-gc.myshopify.com&v=1785489929499" defer ></script>
2282 2283 2284 2285 2286 2287 2288 2289 2290 2291</div><div id="shopify-block-ANExPbHMzYjJyMXg2Z__17646240911419608881" class="shopify-block shopify-app-block ngr-embed-block">
2292<script src="https://cdn.shopify.com/extensions/019fa68b-5014-74a6-b414-02bbdcfce20d/xapps-geo-345/assets/countries-data.js"></script>
2292<!-- BEGIN app snippet: autoredirects -->
2293<script> 2294 function ngrSetCookie(name, value, days) { 2295 var expires = ""; 2296 if (days) { 2297 var date = new Date(); 2298 date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000); 2299 expires = "; expires=" + date.toUTCString(); 2300 } 2301 document.cookie = name + "=" + (encodeURIComponent(value) || "") + expires + "; path=/"; 2302 } 2303 function ngrGetCookie(name) { 2304 var nameEQ = name + "="; 2305 var cookies = document.cookie.split(';'); 2306 for (var i = 0; i < cookies.length; i++) { 2307 var cookie = cookies[i].trim(); 2308 if (cookie.indexOf(nameEQ) === 0) { 2309 return decodeURIComponent(cookie.substring(nameEQ.length, cookie.length)); 2310 } 2311 } 2312 return null; 2313 } 2314 function ngrDeleteCookie(name) { 2315 document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'; 2316 } 2317 function ngrAutoRun(){ 2318 const STORE_PLAN = "Pro plan"; 2319 const NGR_REDIRECTED = "ngr-redirected" 2320 const LOGGER_NAME = "[NGRP APP]:"; 2321 const NGR_SESSION_NAME = "ngr-session"; 2322 const NGR_AUTORD_NAME = "ngr-auto"; 2323 const ENABLE_DEV_MODE_PARAM = "xgeo-off"; 2324 const DISABLE_DEV_MODE_PARAM = "xgeo-reset"; 2325 const NGR_TEST_PARAM = "ngr-test"; 2326 const NGR_TEST_HASH = "#" + NGR_TEST_PARAM; 2327 const HOST = "https://xapps-geo-ca956fdeab0c.herokuapp.com"; 2328 const AUTO_ONCE_TYPE = "session"; 2329 const AUTO_ONCE = false; 2330 const ROOT_URL = "/"; 2331 const userAgents = { 2332 mobile: 'Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36', 2333 desktop: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36', 2334 }; 2335 let isBot = false; 2336 if(window.location.search.includes(ENABLE_DEV_MODE_PARAM)){ 2337 ngrSetCookie(ENABLE_DEV_MODE_PARAM, 1, 7); 2338 } 2339 if(window.location.search.includes(DISABLE_DEV_MODE_PARAM)){ 2340 ngrDeleteCookie(ENABLE_DEV_MODE_PARAM); 2341 } 2342 2343 const isPreviewMode = ngrGetCookie(ENABLE_DEV_MODE_PARAM); 2344 if(navigator && navigator.userAgent){ 2345 isBot = /bot|adsbot|googlebot|crawler|spider|robot|crawling|slurp/i.test(navigator.userAgent); 2346 if(navigator.userAgent === userAgents.mobile || navigator.userAgent === userAgents.desktop){ 2347 isBot = true; 2348 } 2349 } 2350 2351 if(!isPreviewMode && !window.location?.host?.includes(".shopifypreview.com") && !isBot && !window.Shopify.designMode && !(window.location.search.includes(NGR_TEST_PARAM) || window.location.hash === NGR_TEST_HASH)){ 2352 2353 try{ 2354 ngrInitialize() 2355 }catch(e){ 2356 console.error(`${LOGGER_NAME} GEO location issue. `, e) 2357 } 2358 async function ngrInitialize(){ 2359 const ngrCurrentGeo = await ngrGeoRequest(); 2360 const ngrAutoRedirects = [{"id":"gid:\/\/shopify\/Metafield\/26630627917963","location":["US"],"except_r":false,"block":false,"url":"https:\/\/provider.goodsleepco.health\/usa-landing-page\/","domain_redirection":false,"status":false,"order_r":1}]; 2361 if(!ngrAutoRedirects || !ngrAutoRedirects?.length) return; 2362 if(window.Shopify.designMode || window.location.search.includes(NGR_TEST_PARAM) || window.location.hash === NGR_TEST_HASH){ 2363 return; 2364 } 2365 const suitableRedirects = ngrAutoRedirects.filter(item => item.status).sort((a, b) => a.order_r - b.order_r); 2366 for (let index = 0; index < suitableRedirects.length; index++) { 2367 const item = suitableRedirects[index]; 2368 let itemStringUrl = item.url ? item.url.replace(/\/$/, '') : ''; 2369 let itemUrl = null; 2370 2371 if (!item.block && (!itemStringUrl || typeof itemStringUrl !== 'string')) continue; 2372 2373 if (!item.block) { 2374 try { 2375 itemUrl = new URL(item.url.replace(/\/$/, '')); 2376 } catch (e) { 2377 console.warn(`${LOGGER_NAME} Invalid URL encountered: "${item.url}". Error:`, e); 2378 continue; 2379 } 2380 } 2381 2382 let domainRedirectUrl = ''; 2383 const currentParams = new URLSearchParams(removePreviewThemeId(window.location.search)); 2384 if(itemUrl) { 2385 const existingParams = new URLSearchParams(itemUrl.search);
2386 for (const [key, value] of currentParams.entries()) { 2387 existingParams.set(key, value); 2388 } 2389 itemUrl.search = existingParams.toString(); 2390 const basePath = (itemUrl.pathname && itemUrl.pathname !== '/') 2391 ? itemUrl.pathname.replace(/\/$/, '') 2392 : ''; 2393 const currentPath = window.location.pathname.replace(/^\/+/, ''); 2394 let combinedPath = joinPathsAvoidDuplicate(basePath, currentPath); 2395 if (!combinedPath.startsWith('/')) { 2396 combinedPath = '/' + combinedPath; 2397 } 2398 domainRedirectUrl = itemUrl.origin + combinedPath + (itemUrl.search ? itemUrl.search : '') + window.location.hash; 2399 } 2400 const locationIncludes = item.location.includes(ngrCurrentGeo.country) || item.location.includes("C:" + ngrCurrentGeo.continent) 2401 const customCodeString = ` 2402function pattern(redirectUrl, currentUrl, geolocation, forceRedirect) { 2403 let newUrl = ; 2404 // your logic 2405 // force redirection logic: 2406 // if(gelocation.country === CA){ 2407 // return forceRedirect(https://your-url.com) 2408 // } 2409 return newUrl; 2410} 2411`; 2412 2413 if(item.block && (!item.except_r && locationIncludes || item.except_r && !locationIncludes)){ 2414 blockUser(); 2415 return 2416 } 2417 if(!item.block && item.domain_redirection && (!item.except_r && locationIncludes || item.except_r && !locationIncludes)){ 2418 redirectUser(domainRedirectUrl, itemStringUrl) 2419 return 2420 } 2421 if(!item.block && !item.domain_redirection && (!item.except_r && locationIncludes || item.except_r && !locationIncludes)){ 2422 redirectUser(itemStringUrl) 2423 return 2424 } 2425 } 2426 } 2427 function redirectUser(redirectUrl, orignalUrl){ 2428 if (window.location.hostname === 'thejunkdesign.com') { 2429 if (!window.ngrRedirectCountTheJunkDesign) { 2430 window.ngrRedirectCountTheJunkDesign = 0; 2431 } 2432 window.ngrRedirectCountTheJunkDesign++; 2433 if (window.ngrRedirectCountTheJunkDesign > 3) { 2434 return; 2435 } 2436 const currentUrl = window.location.href.split('?')[0]; 2437 const targetUrl = redirectUrl.split('?')[0]; 2438 if (currentUrl === targetUrl) { 2439 return; 2440 } 2441 try { 2442 const redirectUrlObj = new URL(redirectUrl); 2443 if (redirectUrlObj.hostname === window.location.hostname && 2444 redirectUrlObj.pathname === window.location.pathname) { 2445 return; 2446 } 2447 } catch (e) {} 2448 } 2449 if(checkRedirectOnce() || window.location.search.includes(NGR_REDIRECTED)){ 2450 return; 2451 } 2452 let generatedUrl; 2453 try { 2454 generatedUrl = orignalUrl && new URL(orignalUrl); 2455 } catch (e) { 2456 console.warn(`${LOGGER_NAME} Invalid original URL encountered: "${orignalUrl}". Error:`, e); 2457 generatedUrl = null; 2458 } 2459 if(!generatedUrl){ 2460 const redirectUrlObj = new URL(redirectUrl, window.location.origin); 2461 if (window.location.search) { 2462 const currentSearchParams = new URLSearchParams(window.location.search); 2463 currentSearchParams.forEach((value, key) => { 2464 if (!redirectUrlObj.searchParams.has(key)) { 2465 redirectUrlObj.searchParams.append(key, value); 2466 } 2467 }); 2468 } 2469 redirectUrl = redirectUrlObj.toString(); 2470 } 2471 const equalHost = window.location.host === generatedUrl?.host; 2472 const checkCondition = equalHost ? !window.location.href.includes(orignalUrl) : true; 2473 const locationHref = window.location.href.replace(/\/$/, ''); 2474 2475 if(locationHref !== redirectUrl && checkCondition){ 2476 track();setRedirectOnce(); 2477 2478 if (window.location.hostname === 'thejunkdesign.com') { 2479 const referrer = document.referrer; 2480 const hasInstagramReferrer = referrer.includes('instagram.com'); 2481 const hasFacebookReferrer = referrer.includes('facebook.com') || referrer.includes('fb.com'); 2482 const hasFbclid = window.location.search.includes('fbclid'); 2483 const hasIgshid = window.location.search.includes('igshid'); 2484 if (hasInstagramReferrer || hasFacebookReferrer || hasFbclid || hasIgshid) { 2485 setTimeout(() => { 2486 window.location.replace(footprint(redirectUrl)); 2487 }, 1000); 2488 return; 2489 } 2490 } 2491 2492 return window.location.replace(footprint(redirectUrl)); 2493 } 2494 }
2495 function footprint(urlString){ 2496 const url = new URL(urlString); 2497 url.searchParams.append(NGR_REDIRECTED, 1); 2498 return url.toString(); 2499 } 2500 function blockUser(){ 2501 track(); 2502 window.location.replace("about:blank"); 2503 } 2504 function track() { 2505 try{ 2506 const dataEndpoint = `${HOST}/api/analytics/auto?shop=${window?.Shopify?.shop}`; 2507 fetch(dataEndpoint) 2508 return; 2509 }catch(e){} 2510 } 2511 function removePreviewThemeId(search) { 2512 return search.replace( 2513 /([?&])preview_theme_id=\d+(&?)/, 2514 (match, p1, p2) => { 2515 return p1 === "?" && p2 ? "?" : p1; 2516 } 2517 ); 2518 } 2519 function setRedirectOnce(){ 2520 if(!AUTO_ONCE) return; 2521 if(AUTO_ONCE_TYPE === "session"){ 2522 sessionStorage.setItem(NGR_AUTORD_NAME, 1); 2523 return 2524 } 2525 if(AUTO_ONCE_TYPE === "cookies"){ 2526 ngrSetCookie(NGR_AUTORD_NAME, 1, 7) 2527 return 2528 } 2529 } 2530 function checkRedirectOnce(){ 2531 if(AUTO_ONCE){ 2532 if(AUTO_ONCE_TYPE === "session"){ 2533 return sessionStorage?.getItem(NGR_AUTORD_NAME) ? true : false 2534 } 2535 if(AUTO_ONCE_TYPE === "cookies"){ 2536 return ngrGetCookie(NGR_AUTORD_NAME) ? true : false 2537 } 2538 return false 2539 } 2540 return false 2541 } 2542 async function ngrGeoRequest(){ 2543 const savedUserData = ngrGetCookie(NGR_SESSION_NAME); 2544 if (savedUserData && isJsonParsable(savedUserData) && !window.location.search.includes(NGR_TEST_PARAM) && window.location.hash !== NGR_TEST_HASH) { 2545 return JSON.parse(savedUserData) 2546 } 2547 try{ 2548 const countries = window.ngr_countries_window 2549 const userGeo = await fetch("/browsing_context_suggestions.json").then( 2550 (resp) => resp.json() 2551 ); 2552 if (!countries || !userGeo) 2553 return console.error( 2554 `${LOGGER_NAME} User GEO location or countries list not detected. Contact app support please.` 2555 ); 2556 const userCountry = userGeo?.detected_values?.country?.handle; 2557 const userLocation = { 2558 country_name: userGeo?.detected_values?.country?.name || userGeo?.detected_values?.country_name || countries[userCountry]?.name, 2559 country: userCountry, 2560 continent: countries[userCountry]?.continent, 2561 }; 2562 ngrSetCookie(NGR_SESSION_NAME, JSON.stringify(userLocation), 7); 2563 window[NGR_SESSION_NAME] = userLocation 2564 return userLocation; 2565 }catch(e){ 2566 console.error(`${LOGGER_NAME} GEO location issue. `, e) 2567 } 2568 } 2569 function isJsonParsable(input){try{JSON.parse(input);return true}catch(e){return false}} 2570 function joinPathsAvoidDuplicate(basePath, currentPath) { 2571 basePath = basePath.replace(/\/$/, ''); 2572 currentPath = currentPath.replace(/^\/+/, ''); 2573 if (currentPath.toLowerCase().startsWith(basePath.replace(/^\/+/, '').toLowerCase() + '/')) { 2574 return '/' + currentPath; 2575 } 2576 if (currentPath.toLowerCase() === basePath.replace(/^\/+/, '').toLowerCase()) { 2577 return '/' + currentPath; 2578 } 2579 if (basePath && currentPath) { 2580 return basePath + '/' + currentPath; 2581 } else if (basePath) { 2582 return basePath; 2583 } else { 2584 return '/' + currentPath; 2585 } 2586 } 2587 2588 } 2589 } 2590 ngrAutoRun() 2591</script>
2591 2592 2593<!-- END app snippet --><!-- BEGIN app snippet: widget --><ngr-app 2594 style="display: none" 2595 data-markets="false" 2596 data-menu-icon="" 2597 data-lng="en" 2598 data-shopify-template="page" 2599 data-shopify-template-dir="" 2600 data-flag-src="//cdn.shopify.com/static/images/flags/au.svg?width=100" 2601 data-custom-opener-icon-src="" 2602 data-widget-icon="https://cdn.shopify.com/extensions/019fa68b-5014-74a6-b414-02bbdcfce20d/xapps-geo-345/assets/earth-americas-solid.svg" 2603 data-widget-sticky-icon="https://cdn.shopify.com/extensions/019fa68b-5014-74a6-b414-02bbdcfce20d/xapps-geo-345/assets/sticky-logo.png" 2604 data-test-mode="false" 2605 ><template id="NGR-Redirects-Template"> 2606 <div class="ngr-modal" data-ngr-modal> 2607 <div role="dialog" aria-label="" aria-modal="true" class="ngr-modal__content" tabindex="-1" data-ngr-modal-content> 2608 <button class="ngr-modal__close" type="button" aria-label="Close" data-ngr-close>â</button> 2609 <div data-ngr-redirects></div> 2610 </div> 2611 </div> 2612 </template> 2613 </ngr-app><!-- END app snippet --> 2614 2615</div>
2615<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2615 2616</body> 2617</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.