1<!doctype html> 2<html class="no-js" lang="en" dir="ltr"> 3 <head> 4 5 6 <!-- After adding this script, call setConsentBannerParams({uuid: <unique id> }) to set unique ID for a customer. -->
7<script> 8(function () { 9 var s = document.createElement('script'); 10 s.src = 'https://cdn-prod.securiti.ai/consent/cookie-consent-sdk-loader.js'; 11 s.setAttribute('data-tenant-uuid', 'fd53fe1a-5b15-4602-bbff-18182d3c91d2'); 12 s.setAttribute('data-domain-uuid', 'd575f467-3442-43aa-a95a-8ec0969d616c'); 13 s.setAttribute('data-backend-url', 'https://app.securiti.ai'); 14 s.setAttribute('data-skip-css', 'false'); 15 s.defer = true; 16 var parent_node = document.head || document.body; 17 parent_node.appendChild(s); 18})() 19</script>
19 20
21<script type="text/javascript" src="https://cdn-prod.securiti.ai/consent/auto_blocking/fd53fe1a-5b15-4602-bbff-18182d3c91d2/d575f467-3442-43aa-a95a-8ec0969d616c.js"></script>
21 22 23 24 25 26 27 28 29 <meta charset="utf-8"> 30 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 31 <meta name="viewport" content="width=device-width,initial-scale=1"> 32 <meta name="theme-color" content="#c92c8f"> 33 <meta name="referrer" content="strict-origin-when-cross-origin"> 34 35 <link rel="canonical" href="https://goodearth.com/account/login"> 36 <link rel="preconnect" href="https://cdn.shopify.com"> 37 <link rel="preconnect" href="https://fonts.shopifycdn.com"> 38 <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com"> 39 <link rel="dns-prefetch" href="https://ajax.googleapis.com"> 40 <link rel="dns-prefetch" href="https://maps.googleapis.com"> 41 <link rel="dns-prefetch" href="https://maps.gstatic.com"><link rel="shortcut icon" href="//goodearth.com/cdn/shop/files/get_leaf-us_256x256_crop_center_1_32x32.png?v=1633111752" type="image/png"><title>Account 42– Good Earth Tea Store 43</title> 44<meta property="og:site_name" content="Good Earth Tea Store"> 45 <meta property="og:url" content="https://goodearth.com/account/login"> 46 <meta property="og:title" content="Account"> 47 <meta property="og:type" content="website"> 48 <meta property="og:description" content="Buy Good Earth Tea online and enjoy our satisfying range of Sweet & Spicy, Sensorial Blends, and Ayurveda teas. "><meta property="og:image" content="http://goodearth.com/cdn/shop/files/logo.png?v=1631843730"> 49 <meta property="og:image:secure_url" content="https://goodearth.com/cdn/shop/files/logo.png?v=1631843730"> 50 <meta property="og:image:width" content="1200"> 51 <meta property="og:image:height" content="628"><meta name="twitter:site" content="@"> 52 <meta name="twitter:card" content="summary_large_image"> 53 <meta name="twitter:title" content="Account"> 54 <meta name="twitter:description" content="Buy Good Earth Tea online and enjoy our satisfying range of Sweet & Spicy, Sensorial Blends, and Ayurveda teas. "> 55<style data-shopify>@font-face { 56 font-family: Montserrat; 57 font-weight: 500; 58 font-style: normal; 59 font-display: swap; 60 src: url("//goodearth.com/cdn/fonts/montserrat/montserrat_n5.07ef3781d9c78c8b93c98419da7ad4fbeebb6635.woff2") format("woff2"), 61 url("//goodearth.com/cdn/fonts/montserrat/montserrat_n5.adf9b4bd8b0e4f55a0b203cdd84512667e0d5e4d.woff") format("woff"); 62} 63 64 @font-face { 65 font-family: Montserrat; 66 font-weight: 400; 67 font-style: normal; 68 font-display: swap; 69 src: url("//goodearth.com/cdn/fonts/montserrat/montserrat_n4.81949fa0ac9fd2021e16436151e8eaa539321637.woff2") format("woff2"), 70 url("//goodearth.com/cdn/fonts/montserrat/montserrat_n4.a6c632ca7b62da89c3594789ba828388aac693fe.woff") format("woff"); 71} 72 73 74 @font-face { 75 font-family: Montserrat; 76 font-weight: 600; 77 font-style: normal; 78 font-display: swap; 79 src: url("//goodearth.com/cdn/fonts/montserrat/montserrat_n6.1326b3e84230700ef15b3a29fb520639977513e0.woff2") format("woff2"), 80 url("//goodearth.com/cdn/fonts/montserrat/montserrat_n6.652f051080eb14192330daceed8cd53dfdc5ead9.woff") format("woff"); 81} 82 83 @font-face { 84 font-family: Montserrat; 85 font-weight: 400; 86 font-style: italic; 87 font-display: swap; 88 src: url("//goodearth.com/cdn/fonts/montserrat/montserrat_i4.5a4ea298b4789e064f62a29aafc18d41f09ae59b.woff2") format("woff2"), 89 url("//goodearth.com/cdn/fonts/montserrat/montserrat_i4.072b5869c5e0ed5b9d2021e4c2af132e16681ad2.woff") format("woff"); 90} 91 92 @font-face { 93 font-family: Montserrat; 94 font-weight: 600; 95 font-style: italic; 96 font-display: swap; 97 src: url("//goodearth.com/cdn/fonts/montserrat/montserrat_i6.e90155dd2f004112a61c0322d66d1f59dadfa84b.woff2") format("woff2"), 98 url("//goodearth.com/cdn/fonts/montserrat/montserrat_i6.41470518d8e9d7f1bcdd29a447c2397e5393943f.woff") format("woff"); 99} 100 101</style> 102 103<!-- Start VWO Async SmartCode --> 104<link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" data-ot-ignore />
105<script data-ot-ignore type='text/javascript' id='vwoCode' > 106window._vwo_code || (function() { 107var account_id=772555, 108version=2.1, 109settings_tolerance=2000, 110hide_element='body', 111hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;', 112/* DO NOT EDIT BELOW THIS LINE */ 113f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={nonce:v&&v.nonce,use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}v&&t.setAttribute('nonce',v.nonce);d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var n=this.getSettings(),i=d.createElement('script'),r=this;t=t||{};if(n){i.textContent=n;d.getElementsByTagName('head')[0].appendChild(i);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200||o.status===304){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var n=this.hide_element(),i=n?n+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=i;else t.appendChild(d.createTextNode(i));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var i=d.createElement('div');i.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;display: block !important;';i.setAttribute('id','_vis_opt_path_hides');i.classList.add('_vis_hide_layer');t.parentNode.insertBefore(i,t.nextSibling)}var o=window._vis_opt_url||d.URL,s='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(o)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:s})}else{this.load(s+'&x=true')}}};w._vwo_code=code;code.init();})(); 114</script>
114 115<!-- End VWO Async SmartCode --> 116 117 118 119 120 <link href="//goodearth.com/cdn/shop/t/57/assets/theme.css?v=47841691234345107401789679297" rel="stylesheet" type="text/css" media="all" /> 121 <link href="//goodearth.com/cdn/shop/t/57/assets/wp_policy_about_contact.css?v=19622363960358813701789678974" rel="stylesheet" type="text/css" media="all" /> 122 <link href="//goodearth.com/cdn/shop/t/57/assets/wp_fast_shipping.css?v=29154355945686479121789678974" rel="stylesheet" type="text/css" media="all" /> 123 <link href="//goodearth.com/cdn/shop/t/57/assets/wp_collections.css?v=151205089590237756951789679297" rel="stylesheet" type="text/css" media="all" /> 124 <link href="//goodearth.com/cdn/shop/t/57/assets/wp_product.css?v=136709735423050003781789679296" rel="stylesheet" type="text/css" media="all" /> 125 <link href="//goodearth.com/cdn/shop/t/57/assets/worldpantry-liveinventory.css?v=134273787754808210341789678974" rel="stylesheet" type="text/css" media="all" /> 126 <link href="//goodearth.com/cdn/shop/t/57/assets/worldpantry.css?v=176513448336424791231789679296" rel="stylesheet" type="text/css" media="all" /> 127<style data-shopify>:root { 128 --typeHeaderPrimary: Montserrat; 129 --typeHeaderFallback: sans-serif; 130 --typeHeaderSize: 36px; 131 --typeHeaderWeight: 500; 132 --typeHeaderLineHeight: 1; 133 --typeHeaderSpacing: 0.0em; 134 135 --typeBasePrimary:Montserrat; 136 --typeBaseFallback:sans-serif; 137 --typeBaseSize: 14px; 138 --typeBaseWeight: 400; 139 --typeBaseSpacing: 0.025em; 140 --typeBaseLineHeight: 1.4; 141 142 --typeCollectionTitle: 20px; 143 144 --iconWeight: 2px; 145 --iconLinecaps: miter; 146 147 148 --buttonRadius: 0px; 149 150 151 --colorGridOverlayOpacity: 0.1; 152 } 153 154 .placeholder-content { 155 background-image: linear-gradient(100deg, #ffffff 40%, #f7f7f7 63%, #ffffff 79%); 156 }</style> 157 158 159
159<script> 160 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 161 162 window.theme = window.theme || {}; 163 theme.routes = { 164 home: "/", 165 cart: "/cart.js", 166 cartPage: "/cart", 167 cartAdd: "/cart/add.js", 168 cartChange: "/cart/change.js" 169 }; 170 theme.strings = { 171 soldOut: "Sold Out", 172 unavailable: "Unavailable", 173 inStockLabel: "In stock, ready to ship", 174 stockLabel: "Low stock - [count] items left", 175 willNotShipUntil: "Ready to ship [date]", 176 willBeInStockAfter: "Back in stock [date]", 177 waitingForStock: "Inventory on the way", 178 savePrice: "Save [saved_amount]", 179 cartEmpty: "Your cart is currently empty.", 180 cartTermsConfirmation: "You must agree with the terms and conditions of sales to check out", 181 searchCollections: "Collections:", 182 searchPages: "Pages:", 183 searchArticles: "Articles:" 184 }; 185 theme.settings = { 186 dynamicVariantsEnable: true, 187 cartType: "page", 188 isCustomerTemplate: true, 189 moneyFormat: "${{amount}}", 190 saveType: "dollar", 191 productImageSize: "natural", 192 productImageCover: false, 193 predictiveSearch: true, 194 predictiveSearchType: "product,article,page,collection", 195 quickView: false, 196 themeName: 'Impulse', 197 themeVersion: "5.1.0" 198 }; 199 </script>
199 200 201
201<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
201<meta name="google-site-verification" content="cgPc-SsgFp-CRjQARPhRlFhoZohsHZZb2_IigWJTCeo"> 202<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/50743050422/digital_wallets/dialog"> 203<meta id="in-context-paypal-metadata" data-shop-id="50743050422" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 204<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
204<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=20873398"></script>
204 205<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
206<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=20873398&shop_id=50743050422" crossorigin="anonymous"></script>
vendor: 1 bytes, line 206
206
207<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":50743050422,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/50743050422","merchantName":"Good Earth Tea Store","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Good Earth Tea Store","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 207
207
208<script id="shopify-features" type="application/json">{"accessToken":"04c9176b17527b01aae87f65427d66d0","betas":["rich-media-storefront-analytics"],"domain":"goodearth.com","predictiveSearch":true,"shopId":50743050422,"locale":"en"}</script>
vendor: 1 bytes, line 208
208
209<script>var Shopify = Shopify || {}; 210Shopify.shop = "worldpantry13.myshopify.com"; 211Shopify.locale = "en"; 212Shopify.currency = {"active":"USD","rate":"1.0"}; 213Shopify.country = "US"; 214Shopify.theme = {"name":"DY - GoodEarth Published | DevOps 25598 - FS v2","id":151115497654,"schema_name":"Impulse","schema_version":"5.1.0","theme_store_id":null,"role":"main"}; 215Shopify.theme.handle = "null"; 216Shopify.theme.style = {"id":null,"handle":null}; 217Shopify.cdnHost = "goodearth.com/cdn"; 218Shopify.routes = Shopify.routes || {}; 219Shopify.routes.root = "/"; 220Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 221Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 222Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 223Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 223
223
224<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 224
224
225<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 225
225
226<script> 227 window.ShopifyPay = window.ShopifyPay || {}; 228 window.ShopifyPay.apiHost = "shop.app\/pay"; 229 window.ShopifyPay.redirectState = null; 230</script>
vendor: 1 bytes, line 230
230
231<script> 232 window.Shopify = window.Shopify || {}; 233 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 234 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 235 window.Shopify.SignInWithShop.eligible = true; 236</script>
vendor: 1 bytes, line 236
236
237<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 237
237
238<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"></script>
vendor: 1 bytes, line 238
238
239<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"></script>
vendor: 1 bytes, line 239
239
240<script type="module"> 241 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"); 242await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"); 243 244 window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true}); 245window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true}); 246 247</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:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=worldpantry13.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-c8f742ac5a390c5edabbbc29b2208bb1.js?shop=worldpantry13.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/SFF6qm\/klaviyo.js?company_id=SFF6qm\u0026shop=worldpantry13.myshopify.com","\/\/cdn.shopify.com\/proxy\/fce62b84a18f621ee5077aa7bfa5586d80c50a9f522e083f0fe867f938d17923\/apps.bazaarvoice.com\/deployments\/goodearth\/main_site\/production\/en_US\/bv.js?shop=worldpantry13.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"]; 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":50743050422,"offset":-25200,"reqid":"2f9b42df-e9fd-42af-bc75-07df4a9be185-1791064857","pageurl":"goodearth.com\/account\/login","u":"709e4b82497d"};</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="//goodearth.com/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 = "//goodearth.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
285<script crossorigin="anonymous" defer="defer" src="//goodearth.com/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 = "worldpantry13.myshopify.com"; 292 window.Shopify.MCP.mcpEndpoint = "https:\/\/goodearth.com\/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("\/\/goodearth.com\/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://goodearth.com/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://goodearth.com/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 333 <link href="//code.jquery.com/ui/1.13.3/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" media="all" /> 334 335
335<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
335 336 337
337<script src="https://code.jquery.com/jquery-migrate-4.0.2.min.js" integrity="sha256-LzsJUf1meVLJnOtz5tjDaNu/2+KYX4BI6ytmi4nkEQU=" crossorigin="anonymous"></script>
337 338 339
339<script src="https://code.jquery.com/ui/1.13.3/jquery-ui.min.js" integrity="sha256-sw0iNNXmOJbQhYFuC9OF2kOlD5KQKe1y5lfBn4C9Sjg=" crossorigin="anonymous"></script>
339 340 341 342 343
343<script src="//goodearth.com/cdn/shop/t/57/assets/vendor-scripts-v10.js" defer="defer"></script>
343 344
344<script src="https://kit.fontawesome.com/8df0de8cbd.js" crossorigin="anonymous"></script>
344 345 346
346<script type="text/javascript" src="//goodearth.com/cdn/shop/t/57/assets/wp_jquery.multilineSelectmenu.js?v=166092185328627850251789678974"></script>
346<script src="//goodearth.com/cdn/shop/t/57/assets/theme.js?v=153721011723890191361789678974" defer="defer"></script>
346<script src="//goodearth.com/cdn/shopifycloud/storefront/assets/themes_support/shopify_common-5f594365.js" defer="defer"></script>
346 347 348 349 <!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 349-350
349 350<script async src="https://www.googletagmanager.com/gtag/js?id=
350AW-10801754494
vendor: 12 bytes, line 350
350"></script>
351<script type="text/javascript"> 352
vendor: 134 bytes, lines 352-356
352window.dataLayer = window.dataLayer || []; 353 function gtag(){dataLayer.push(arguments);} 354 gtag('js', new Date()); 355 356 gtag('config', '
356AW-10801754494
vendor: 4 bytes, line 356
356');
357</script>
357 358<!-- End Google tag (gtag.js) --> 359 360 361 <!-- Start Geotargeting JS working file --> 362
362<script src="//goodearth.com/cdn/shop/t/57/assets/worldpantry-ipzipcode.js?v=18212610840533979651789680034" type="text/javascript"></script>
362 363
363<script src="//goodearth.com/cdn/shop/t/57/assets/worldpantry-inventory.js?v=178044653678311052231789681404" type="text/javascript"></script>
363 364 <!-- End Geotargeting JS working file --> 365 366 367 368 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
369<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: 50743050422,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 369
369
370<script> 371 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 372</script>
vendor: 1 bytes, line 372
372
373<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}
373).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: 50743050422,storefrontBaseUrl: "https://goodearth.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://goodearth.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2199552182","configuration":"{\"locale\":\"en_US\",\"client\":\"goodearth\",\"environment\":\"production\",\"deployment_zone\":\"main_site\",\"use_external_ids\":\"false\",\"storefront_api_key\":\"none\",\"product_metafield_key\":\"none\",\"product_metafield_namespace\":\"none\",\"multi_locale_enabled\":\"false\",\"locale_mapping\":\"{}\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e9849bbfb1381d47503a57eebf3a7
373a78","type":"APP","apiClientId":1888040,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2093220022","configuration":"{\"store_id\":\"157421\",\"environment\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"10c4f173702937db6fa4bf871600cafd","type":"APP","apiClientId":294517,"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":"2035810486","configuration":"{\"accountID\":\"SFF6qm\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"498303158","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-LKZNPSX5M6\\\",\\\"GT-MRQHD9R\\\",\\\"G-P7ENDRMRVZ\\\",\\\"G-DKPMV8TM9B\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-LKZNPSX5M6\\\",\\\"G-P7ENDRMRVZ\\\",\\\"G-DKPMV8TM9B\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-LKZNPSX5M6\\\",\\\"G-P7ENDRMRVZ\\\",\\\"G-DKPMV8TM9B\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-LKZNPSX5M6\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-LKZNPSX5M6\\\",\\\"MC-VHY067FP33\\\",\\\"G-P7ENDRMRVZ\\\",\\\"G-DKPMV8TM9B\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-LKZNPSX5M6\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-LKZNPSX5M6\\\",\\\"MC-VHY067FP33\\\",\\\"G-P7ENDRMRVZ\\\",\\\"G-DKPMV8TM9B\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-LKZNPSX5M6\\\",\\\"MC-VHY067FP33\\\",\\\"G-P7ENDRMRVZ\\\",\\\"G-DKPMV8TM9B\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-LKZNPSX5M6\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-LKZNPSX5M6\\\",\\\"G-P7ENDRMRVZ\\\",\\\"G-DKPMV8TM9B\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-LKZNPSX5M6\\\",\\\"G-P7ENDRMRVZ\\\",\\\"G-DKPMV8TM9B\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-LKZNPSX5M6\\\"}],\\\"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":"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 Earth Tea Store","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"worldpantry13.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/goodearth.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://goodearth.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"151115497654","themePublished":"true","eventMetadataId":"ec91d4cf-af84-46e0-9410-c4855293c2bd","shopId":"50743050422","storefrontBaseUrl":"https:\/\/goodearth.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
373<script> 374 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 375 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 376 window.ShopifyAnalytics.meta.currency = 'USD'; 377 var meta = {"page":{"requestId":"2f9b42df-e9fd-42af-bc75-07df4a9be185-1791064857"}}; 378 for (var attr in meta) { 379 window.ShopifyAnalytics.meta[attr] = meta[attr]; 380 } 381</script>
vendor: 1 bytes, line 381
381
382<script class="analytics"> 383 (function () { 384 var customDocumentWrite = function(content) { 385 var jquery = null; 386 387 if (window.jQuery) { 388 jquery = window.jQuery; 389 } else if (window.Checkout && window.Checkout.$) { 390 jquery = window.Checkout.$; 391 } 392 393 if (jquery) { 394 jquery('body').append(content); 395 } 396 }; 397 398 var hasLoggedConversion = function(token) { 399 if (token) { 400 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 401 } 402 return false; 403 } 404 405 var setCookieIfConversion = function(token) { 406 if (token) { 407 var twoMonthsFromNow = new Date(Date.now()); 408 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 409 410 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 411 } 412 } 413 414 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 415 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 416 if (trekkie.integrations) { 417 return; 418 } 419 trekkie.methods = [ 420 'identify', 421 'page', 422 'ready', 423 'track', 424 'trackForm', 425 'trackLink' 426 ]; 427 trekkie.factory = function(method) { 428 return function() { 429 var args = Array.prototype.slice.call(arguments); 430 args.unshift(method); 431 trekkie.push(args); 432 if (method == 'track' || method == 'page') { 433 var pageUrl; 434 try { 435 pageUrl = window.location.href; 436 } catch (e) {} 437 var pageReferrer; 438 try { 439 pageReferrer = document.referrer; 440 } catch (e) {} 441 try { 442 if (window.__TREKKIE_SHIM_QUEUE == null) { 443 window.__TREKKIE_SHIM_QUEUE = []; 444 } 445 window.__TREKKIE_SHIM_QUEUE.push({ 446 from: 'trekkie-stub', 447 method: method, 448 args: args.slice(1), 449 pageContext: { 450 url: pageUrl, 451 referrer: pageReferrer 452 } 453 }); 454 } catch (e) { 455 // no-op 456 } 457 } 458 return trekkie; 459 }; 460 }; 461 for (var i = 0; i < trekkie.methods.length; i++) { 462 var key = trekkie.methods[i]; 463 trekkie[key] = trekkie.factory(key); 464 } 465 trekkie.load = function(config) { 466 trekkie.config = config || {}; 467 trekkie.config.initialDocumentCookie = document.cookie; 468 var first = document.getElementsByTagName('script')[0]; 469var script = document.createElement('script'); 470script.type = 'text/javascript'; 471script.onerror = function(e) { 472 var scriptFallback = document.createElement('script'); 473 scriptFallback.type = 'text/javascript'; 474 scriptFallback.onerror = function(error) { 475 var Monorail = { 476 produce: function produce(monorailDomain, schemaId, payload) { 477 var currentMs = new Date().getTime(); 478 var event = { 479 schema_id: schemaId, 480 payload: payload, 481 metadata: { 482 event_created_at_ms: currentMs, 483 event_sent_at_ms: currentMs 484 } 485 }; 486 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 487 }, 488 sendRequest: function sendRequest(endpointUrl, payload) { 489 // Try the sendBeacon API 490 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 491 var blobData = new window.Blob([payload], { 492 type: 'text/plain' 493 }); 494 495 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 496 return true; 497 } // sendBeacon was not successful 498 499 } // XHR beacon 500 501 var xhr = new XMLHttpRequest(); 502 503 try { 504 xhr.open('POST', endpointUrl); 505 xhr.setRequestHeader('Content-Type', 'text/plain'); 506 xhr.send(payload); 507 } catch (e) { 508 console.log(e); 509 } 510 511 return false; 512 }, 513 isIos12: function isIos12() { 514 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 515 } 516 }; 517 Monorail.produce('monorail-edge.shopifysvc.com', 518 'trekkie_storefront_load_errors/1.1', 519 {shop_id: 50743050422, 520 theme_id: 151115497654, 521 app_name: "storefront", 522 context_url: window.location.href, 523 source_url: "//goodearth.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 524 525 }; 526 scriptFallback.async = true; 527 scriptFallback.src = '//goodearth.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 528 first.parentNode.insertBefore(scriptFallback, first); 529}; 530script.async = true; 531script.src = '//goodearth.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 532first.parentNode.insertBefore(script, first); 533 534 }; 535 trekkie.load( 536 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":50743050422,"isMerchantRequest":null,"themeId":151115497654,"themeCityHash":"8337964274622923537","contentLanguage":"en","currency":"USD","eventMetadataId":"ec91d4cf-af84-46e0-9410-c4855293c2bd"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 537 ); 538 539 var loaded = false;
540 trekkie.ready(function() { 541 if (loaded) return; 542 loaded = true; 543 544 window.ShopifyAnalytics.lib = window.trekkie; 545 546 var originalDocumentWrite = document.write; 547 document.write = customDocumentWrite; 548 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 549 document.write = originalDocumentWrite; 550 551 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 552 var token = match? match[1]: undefined; 553 if (!hasLoggedConversion(token)) { 554 setCookieIfConversion(token); 555 556 } 557 }); 558 559 window.ShopifyAnalytics.lib.page(null,{"requestId":"2f9b42df-e9fd-42af-bc75-07df4a9be185-1791064857","shopifyEmitted":true}); 560 561 var eventsListenerScript = document.createElement('script'); 562 eventsListenerScript.async = true; 563 eventsListenerScript.src = "//goodearth.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 564 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 565})();</script>
565 566
566<script> 567 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 568 window.ga = function ga() { 569 (window.ga.q = window.ga.q || []).push(arguments); 570 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 571 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 572 } 573 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 574 }; 575 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 576 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 577 } 578 } 579</script>
vendor: 1 bytes, line 579
579
580<script 581 defer 582 src="https://goodearth.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 583 data-application="storefront-renderer" 584 data-shop-id="50743050422" 585 data-render-region="gcp-us-east1" 586 data-page-type="customers/login" 587 data-theme-instance-id="151115497654" 588 data-theme-name="Impulse" 589 data-theme-version="5.1.0" 590 data-monorail-region="shop_domain" 591 data-resource-timing-sampling-rate="10" 592 data-shs="true" 593 data-shs-beacon="true" 594 data-shs-export-with-fetch="true" 595 data-shs-logs-sample-rate="1" 596 data-shs-beacon-endpoint="https://goodearth.com/api/collect" 597></script>
597 598<meta name="shopify-y" content="36c62e32-a63a-4da6-bfce-83969f965964" data-expiration="1822622457000"><meta name="shopify-s" content="afab8321-8fca-4b91-a77c-95af52c44f2f" data-expiration="1791066657000"><meta name="new-cookie-storage-activated" content="t"> 599</head> 600 601 <body 602 class="template-customers-login" 603 data-center-text="true" 604 data-button_style="square" 605 data-type_header_capitalize="true" 606 data-type_headers_align_text="true" 607 data-type_product_capitalize="true" 608 data-swatch_style="round" 609 610 data-disable-animations="true" 611 612 > 613 <a class="in-page-link visually-hidden skip-link" href="#MainContent" tabindex="1">Skip to content</a> 614 615 616 617 <div id="shopify-section-fast-shipping-bar" class="shopify-section"> 618
619<script 620 type="application/json" 621 data-section-type="fast-shipping-bar" 622 data-section-id="fast-shipping-bar" 623>{}</script>
623 624 625 626 627 628 629 630 631 632 633 634 635 636 637<div id="topbannercontent" 638 style="background-color: #956a0f;" 639 role="banner" 640 aria-label="Fast Shipping Calculator"> 641 642 643 <span class="fast-shipping-bar"> 644 645 646 647 648 649 <span class="fast-shipping-bar-text-desktop"> 650 $3.95 1-3 Day Delivery Over $55 651 </span> 652 653 654 655 </span> 656 657 658 659 <span class="fast-shipping-bar" 660 style="color: #ffffff; display: inline-block;"> 661 <span class="separator" aria-hidden="true"> | </span> 662 <button type="button" 663 class="shipping-arrival-modal-trigger" 664 style="color: #ffffff;" 665 aria-haspopup="dialog" 666 aria-expanded="false" 667 aria-controls="ShippingModal"> 668 <span class="shipping-headline"> 669 How fast will I receive my order?<i class="fa fa-caret-right icon-arrow" aria-hidden="true"></i> 670 </span> 671 <span id="shipping-headline-results" class="hide"> 672 For Your Area - Receive it <span class="arrival_date"><span></span></span> 673 <div class="more_info">More Info</div> 674 </span> 675 </button> 676 </span> 677 678 679</div> 680 681<div class="shipping-modal" id="ShippingModal" aria-modal="true" aria-label="Shipping estimator" data-modal-container data-trap-focus> 682 <div class="modal-inner" data-modal-inner> 683 <div class="modal-content" data-modal-content aria-live="polite"> 684 <div id="shipping-arrival-dialog"> 685 <div class="shippingmessagerow title">FAST $3.95 Flat Rate Shipping Over $55</div> 686 <div class="shippingmessagerow subtitle">How FAST will I receive my Order?</div> 687 </div>�<div id="shipping-arrival-dialog-modal" class="fs-dialog fs-dialog--modal" aria-live="polite"><div id="shipping-error-results-modal" class="js-fs-errors hide"> 688 <p>
689 <span class="zip_fail"><img src="//goodearth.com/cdn/shop/t/57/assets/alert.gif?v=12685" alt="The ZIP Code you entered was not found" /></span> 690 The ZIP Code you entered was not found.<br> 691 Please try again. 692 </p> 693 </div> 694 695 <div id="shipping-arrival-results-modal" class="js-fs-results hide"><div class="zipcoderow"> 696 <div class="zipcode_display">For ZIP Code <span class="zipcode"></span></div> 697 </div> 698 <div class="resultsrow"> 699 <div class="order_by"> 700 Order by: 701 <span class="order_by_hour"></span> 702 <span class="order_by_date"></span><br> 703 Receive it 704 <strong class="arrival_date"><span></span></strong> 705 </div> 706 </div><hr> 707 <div class="another">Shipping to another address?</div> 708 </div> 709</div> 710 711<div id="shipping-arrival-modal" class="js-fs-form"> 712 <div class="display-table"> 713 <div class="display-table-cell"> 714 <label for="fs-zip-modal" class="visuallyhidden">Enter Destination ZIP Code</label> 715 <input 716 id="fs-zip-modal" 717 class="zip_input" 718 name="zip_code" 719 type="text" 720 inputmode="numeric" 721 autocomplete="postal-code" 722 maxlength="5" 723 pattern="[0-9]*" 724 title="ZIP Code" 725 placeholder="ZIP Code (must be 5 numbers)" 726 > 727 </div> 728 <div class="display-table-cell password-page-field-wrap not-really"> 729 <button class="zip_button submit " type="button">Go</button> 730 </div> 731 </div> 732</div><div class="policyrow"> 733 *Some restrictions apply. See our 734 <a href="/pages/shipping-information">complete shipping policy</a>. 735 </div> 736 </div> 737 738 <button class="modal-close" 739 type="button" 740 aria-label="Close" 741 data-modal-close> 742 <svg width="18" height="18" viewBox="0 0 18 18" fill="none" aria-hidden="true"> 743 <path d="M1 1L17 17M17 1L1 17" stroke="currentColor" stroke-width="1.5" /> 744 </svg> 745 </button> 746 </div> 747 <div class="bg"></div> 748</div> 749
750<script type="text/javascript"> 751(function ($) { 752 753 if (window.wpFastShipBound) return; 754 window.wpFastShipBound = true; 755 756 // ---------- Config ---------- 757 var LOOKUP_URL = 'https://shop.worldpantry.com/fastshipping/goodearth/zipcodelookup.aspx'; 758 var LOOKUP_KEY = 'wp_2021_goodearth'; 759 760 var CLS = { form: 'js-fs-form', input: 'zip_input', button: 'zip_button' }; 761 762 var BAD_VALUES = ['', 'undefined', 'null', 'NaN', 'Invalid Date']; 763 764 // ---------- Helpers ---------- 765 function isCleanCookieValue(v) { 766 return v != null && BAD_VALUES.indexOf(String(v).trim()) === -1; 767 } 768 function isValidDate(d) { 769 return d instanceof Date && !isNaN(d.getTime()); 770 } 771 function parseDate(timestamp) { 772 if (timestamp == null || timestamp === '') return null; 773 var d = new Date(timestamp); 774 return isValidDate(d) ? d : null; 775 } 776 // "December 30" 777 function formatLongDate(timestamp) { 778 var d = parseDate(timestamp); 779 if (!d) return null; 780 return d.toLocaleString('default', { month: 'long' }) + ' ' + d.getDate(); 781 } 782 // "3PM" 783 function formatHour(timestamp) { 784 var d = parseDate(timestamp); 785 if (!d) return null; 786 return d.toLocaleTimeString([], { hour: 'numeric' }).replace(/\s+/g, ''); 787 } 788 // "12/30" 789 function formatMonthDay(timestamp) { 790 var d = parseDate(timestamp); 791 if (!d) return null; 792 return (d.getMonth() + 1) + '/' + d.getDate(); 793 } 794 // True only if a receive-by date is today or later (stale past dates from a 795 // previous visit must not be painted). 796 function isFutureDate(timestamp) { 797 var d = parseDate(timestamp); 798 if (!d) return false; 799 var today = new Date(); today.setHours(0, 0, 0, 0); 800 var day = new Date(d.getFullYear(), d.getMonth(), d.getDate()); 801 return day.getTime() >= today.getTime(); 802 } 803 804 // ---------- UI state (Good Earth's original selectors, preserved) ---------- 805 function showResults(zipCode, orderByHour, orderByDate, receiveByDate, orderByMonth) { 806 $('.zipcode').text(zipCode); 807 $('.order_by_hour').text(orderByHour || ''); 808 $('.order_by_date').text(orderByDate || ''); 809 $('.arrival_date span').text(receiveByDate || ''); 810 if (orderByMonth) $('.arrival_month').text(orderByMonth); 811 812 $('.shipping-headline').addClass('hide'); 813 $('.shippingmessagerow').removeClass('hide'); 814 $('.policy_text').addClass('hide'); 815 $('#shipping-headline-results').removeClass('hide'); 816 $('.js-fs-results').removeClass('hide'); 817 $('.js-fs-errors').addClass('hide'); 818 $('#shipping-headline-error').addClass('hide'); 819 } 820 821 function showError() { 822 $('.shippingmessagerow.title').addClass('hide'); 823 $('.shippingmessagerow.subtitle').removeClass('hide'); 824 $('.js-fs-errors').removeClass('hide'); 825 $('#shipping-headline-error').removeClass('hide'); 826 $('.js-fs-results').addClass('hide'); 827 $('#shipping-headline-results').addClass('hide'); 828 } 829 830 function showInitial() { 831 $('.shipping-headline').removeClass('hide'); 832 $('.shippingmessagerow').removeClass('hide'); 833 $('#shipping-headline-results').addClass('hide'); 834 $('#shipping-headline-error').addClass('hide'); 835 $('.js-fs-errors').addClass('hide'); 836 $('.js-fs-results').addClass('hide'); 837 } 838 839 // ---------- Cookies ---------- 840 function persistResult(zip, orderByDate, orderByHour, receiveByDate, monthDay, calcError) { 841 setSessionCookie('FastShip.ZipCode', zip); 842 setSessionCookie('zipcode', zip); // legacy alias 843 setSessionCookie('FastShip.OrderByDateTime', orderByDate); 844 setSessionCookie('FastShip.OrderByHour', orderByHour); 845 setSessionCookie('FastShip.ReceiveByDateTime', receiveByDate); 846 setSessionCookie('FastShip.OrderByMonth', monthDay); 847 if (calcError) setSessionCookie('FastShip.FastShipCalculationError', calcError); 848 } 849 850 function restoreFromCookies() { 851 var zip = getSessionCookie('FastShip.ZipCode'); 852 var orderByDate = getSessionCookie('FastShip.OrderByDateTime'); 853 var orderByHour = getSessionCookie('FastShip.OrderByHour'); 854 var receiveDate = getSessionCookie('FastShip.ReceiveByDateTime'); 855 var monthDay = getSessionCookie('FastShip.OrderByMonth'); 856 var calcError = getSessionCookie('FastShip.FastShipCalculationError'); 857 858 if (isCleanCookieValue(calcError)) { 859 showInitial(); 860 return; 861 } 862 863 // A stored date now in the PAST (returning visitor) is stale -> clear it 864 // and show initial so the auto-trigger refetches a fresh date. 865 if (isCleanCookieValue(receiveDate) && !isFutureDate(receiveDate)) { 866 deleteCookie('FastShip.ReceiveByDateTime'); 867 deleteCookie('FastShip.OrderByDateTime'); 868 showInitial(); 869 return; 870 } 871 872 if (isCleanCookieValue(zip) && isCleanCookieValue(orderByDate) && isCleanCookieValue(receiveDate)) { 873 showResults(zip, orderByHour, orderByDate, receiveDate, monthDay); 874 } else { 875 showInitial(); 876 } 877 } 878 879 // ---------- Lookup (button click / Enter, not a form submit) ---------- 880 function runLookup($container) { 881 var zip_code = $container.find("input[name='zip_code']").val(); 882
883 // Guard against an invalid ZIP (e.g. the auto-trigger firing before a 884 // ZIP is known) hitting the API and rendering a false "not found" error. 885 if (!/^\d{5}$/.test(zip_code || '')) { 886 return; 887 } 888 889 $('.js-fs-results').addClass('hide'); 890 $('.js-fs-errors').addClass('hide'); 891 892 $.get(LOOKUP_URL, { zipcode: zip_code, key: LOOKUP_KEY }) 893 .done(function (data) { 894 var orderByDate = formatLongDate(data && data.OrderByDateTime); 895 var orderByHour = formatHour(data && data.OrderByDateTime); 896 var receiveDate = formatLongDate(data && data.ReceiveByDateTime); 897 var monthDay = formatMonthDay(data && data.ReceiveByDateTime); 898 899 if (!data || !data.Zip || !orderByDate || !receiveDate) { 900 setSessionCookie('FastShip.FastShipCalculationError', 901 (data && data.FastShipCalculationError) || '1'); 902 showError(); 903 return; 904 } 905 906 setSessionCookie('FastShip.FastShipCalculationError', ''); 907 908 // Sync every zip input on the page to the looked-up zip. 909 $('.' + CLS.input).val(data.Zip); 910 911 showResults(data.Zip, orderByHour, orderByDate, receiveDate, monthDay); 912 persistResult(data.Zip, orderByDate, orderByHour, receiveDate, monthDay, 913 data.FastShipCalculationError); 914 }) 915 .fail(function () { 916 showError(); 917 }); 918 } 919 920 // ---------- Bind ---------- 921 function bindForm() { 922 // Enable/disable each container's own button as the user types. 923 $(document).on('input', '.' + CLS.input, function () { 924 $(this).closest('.' + CLS.form).find('.' + CLS.button) 925 .prop('disabled', ($(this).val() || '').length < 5); 926 }); 927 928 // Go button clicked (also fires for the helper's programmatic click). 929 $(document).on('click', '.' + CLS.button, function (event) { 930 event.preventDefault(); 931 runLookup($(this).closest('.' + CLS.form)); 932 }); 933 934 // Enter in the zip input (no <form> to submit natively now). 935 $(document).on('keydown', '.' + CLS.input, function (event) { 936 if (event.key === 'Enter' || event.which === 13) { 937 event.preventDefault(); 938 runLookup($(this).closest('.' + CLS.form)); 939 } 940 }); 941 } 942 943 // ---------- Init ---------- 944 $(function () { 945 bindForm(); 946 restoreFromCookies(); 947 }); 948 949})(jQuery); 950</script>
950 951<style data-shopify>/* Reset UA button styling so the trigger looks like the old role=button div. */ 952 #topbannercontent .shipping-arrival-modal-trigger { 953 margin: 0; border: 0; padding: 0; background: none; color: inherit; 954 font: inherit; line-height: inherit; cursor: pointer; text-align: inherit; 955 -webkit-appearance: none; appearance: none; 956 } 957 #topbannercontent .shipping-arrival-modal-trigger:focus-visible { 958 outline: 2px solid currentColor; outline-offset: 2px; 959 }</style>
959<script type="text/javascript"> 960(function ($) { 961 'use strict'; 962 963 /* Modal open/close + focus management. Lookup logic is in the shared 964 snippet rendered above. NOTE: the modal deliberately does NOT carry 965 role="dialog" -- a global [role=dialog] rule in wp_home.css forces 966 min-height:100vh and breaks the overlay. aria-modal + aria-label + 967 the focus trap provide the dialog semantics instead. */ 968 var fsLastTrigger = null; 969 970 function focusablesIn(el) { 971 if (!el) return []; 972 return Array.prototype.filter.call( 973 el.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select, textarea, [tabindex]:not([tabindex="-1"])'), 974 function (n) { return n.offsetWidth > 0 || n.offsetHeight > 0 || n.getClientRects().length > 0; } 975 ); 976 } 977 978 window.showShippingModal = function () { 979 fsLastTrigger = document.activeElement; 980 $('html').addClass('scroll-locked'); 981 $('body').addClass('shipping-modal-loaded shipping-modal-visible'); 982 $('.shipping-arrival-modal-trigger').attr('aria-expanded', 'true'); 983 $('.shipping-modal .zip_input').first().trigger('focus'); 984 }; 985 986 window.killShippingModal = function () { 987 $('html').removeClass('scroll-locked'); 988 $('body').removeClass('shipping-modal-loaded shipping-modal-visible'); 989 $('.shipping-arrival-modal-trigger').attr('aria-expanded', 'false'); 990 if (fsLastTrigger && typeof fsLastTrigger.focus === 'function') fsLastTrigger.focus(); 991 fsLastTrigger = null; 992 }; 993 994 if (!window.wpFastShipModalBound) { 995 window.wpFastShipModalBound = true; 996 997 $(document).on('click', '.shipping-arrival-modal-trigger', function () { 998 if ($('body').hasClass('shipping-modal-visible')) { window.killShippingModal(); } 999 else { window.showShippingModal(); } 1000 }); 1001 1002 $(document).on('click', '.shipping-modal .modal-close, .shipping-modal .bg', window.killShippingModal); 1003 1004 $(document).on('keydown', function (e) { 1005 if (!$('body').hasClass('shipping-modal-visible')) return; 1006 if (e.key === 'Escape' || e.which === 27) { window.killShippingModal(); return; } 1007 if (e.key === 'Tab' || e.which === 9) { 1008 var modal = document.querySelector('.shipping-modal'); 1009 var items = focusablesIn(modal); 1010 if (!items.length) return; 1011 var first = items[0], last = items[items.length - 1]; 1012 if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); } 1013 else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); } 1014 else if (modal && !modal.contains(document.activeElement)) { e.preventDefault(); first.focus(); } 1015 } 1016 }); 1017 } 1018 1019})(jQuery); 1020</script>
1020 1021 1022 1023</div> 1024 1025 <div id="PageContainer" class="page-container"> 1026 <div class="transition-body"><div id="shopify-section-header" class="shopify-section"> 1027 1028<div id="NavDrawer" class="drawer drawer--left"> 1029 <div class="drawer__contents"> 1030 <div class="drawer__fixed-header"> 1031 <div class="drawer__header appear-animation appear-delay-1"> 1032 <div class="h2 drawer__title drawer_logo"><img src="//goodearth.com/cdn/shop/t/57/assets/logo.svg?v=113088184882866140701789678974" alt="Torani Store"></div> 1033 <div class="drawer__close"> 1034 <button type="button" class="drawer__close-button js-drawer-close"> 1035 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 1036 <span class="icon__fallback-text">Close menu</span> 1037 </button> 1038 </div> 1039 </div> 1040 </div> 1041 <div class="drawer__scrollable"> 1042 <ul class="mobile-nav" role="navigation" aria-label="Primary"> 1043 <li class="mobile-nav__item appear-animation appear-delay-2"><a href="/collections/sweet-spicy" class="mobile-nav__link mobile-nav__link--top-level">Sweet & Spicy Blends</a></li><li class="mobile-nav__item appear-animation appear-delay-3"><a href="/collections/sensorial-blends" class="mobile-nav__link mobile-nav__link--top-level">Sensorial Blends</a></li><li class="mobile-nav__item appear-animation appear-delay-4"><a href="/collections/green-tea" class="mobile-nav__link mobile-nav__link--top-level">Green Tea</a></li><li class="mobile-nav__item appear-animation appear-delay-5"><a href="/collections/black-teas" class="mobile-nav__link mobile-nav__link--top-level">Black Tea</a></li><li class="mobile-nav__item appear-animation appear-delay-6"><a href="/collections/fruit-teas" class="mobile-nav__link mobile-nav__link--top-level">Fruit Blends</a></li><li class="mobile-nav__item appear-animation appear-delay-7"><a href="/collections/variety-packs" class="mobile-nav__link mobile-nav__link--top-level">Variety Packs</a></li><li class="mobile-nav__item appear-animation appear-delay-8"><a href="/collections/best-sellers" class="mobile-nav__link mobile-nav__link--top-level">Best Sellers</a></li><li class="mobile-nav__item mobile-nav__item--secondary"> 1044 <div class="grid"><div class="grid__item one-half appear-animation appear-delay-9 medium-up--hide"> 1045 <a href="/account/login" class="mobile-nav__link">My Account</a> 1046 </div><div class="grid__item one-half appear-animation appear-delay-10"> 1047 <a href="/account" class="mobile-nav__link">Log in 1048</a> 1049 </div></div> 1050 </li></ul><ul class="mobile-nav__social appear-animation appear-delay-11"></ul> 1051 </div> 1052 </div> 1053</div> 1054<style> 1055 .site-nav__link, 1056 .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level) { 1057 font-size: 16px; 1058 } 1059 1060 .site-nav__link, .mobile-nav__link--top-level { 1061 text-transform: uppercase; 1062 letter-spacing: 0.2em; 1063 } 1064 .mobile-nav__link--top-level { 1065 font-size: 1.1em; 1066 } 1067 1068 1069 1070 1071 1072/* Hide scheduled & default slides by default to prevent FOUC */ 1073 .scheduled-slide { 1074 display: none; 1075 } 1076</style> 1077 1078<div data-section-id="header" data-section-type="header"><div class="toolbar small--hide"> 1079 <div class="page-width"> 1080 <div class="toolbar__content"><div class="toolbar__item toolbar__item--menu"> 1081 <ul class="inline-list toolbar__menu"><li> 1082 <a href="/account/login">My Account</a> 1083 </li></ul> 1084 </div><div class="toolbar__item"> 1085 <ul class="inline-list toolbar__social"></ul> 1086 </div></div> 1087 1088 </div> 1089</div> 1090<div class="header-sticky-wrapper"> 1091 <div id="HeaderWrapper" class="header-wrapper"><header 1092 id="SiteHeader" 1093 class="site-header" 1094 data-sticky="true" 1095 data-overlay="false"> 1096 <div class="page-width"> 1097 <div 1098 class="header-layout header-layout--center-split" 1099 data-logo-align="center"><div class="header-item header-item--left header-item--navigation"><div class="site-nav medium-up--hide"> 1100 <button 1101 type="button" 1102 class="site-nav__link site-nav__link--icon js-drawer-open-nav" 1103 aria-controls="NavDrawer"> 1104 1105 1106 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 37 40"><path d="M33.5 25h-30c-1.1 0-2-.9-2-2s.9-2 2-2h30c1.1 0 2 .9 2 2s-.9 2-2 2zm0-11.5h-30c-1.1 0-2-.9-2-2s.9-2 2-2h30c1.1 0 2 .9 2 2s-.9 2-2 2zm0 23h-30c-1.1 0-2-.9-2-2s.9-2 2-2h30c1.1 0 2 .9 2 2s-.9 2-2 2z"></path></svg> 1107 1108 1109
1110 <span class="icon__fallback-text">Site navigation</span> 1111 </button> 1112 </div> 1113 </div><div class="header-item header-item--logo-split" role="navigation" aria-label="Primary"> 1114 <div class="header-item header-item--split-left"><ul 1115 class="site-nav site-navigation small--hide" 1116 ><li 1117 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown site-nav--is-megamenu" 1118 aria-haspopup="true" > 1119 1120 <a href="#" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown" aria-label="Shop Teas"> 1121 Shop Teas 1122 </a><div class="site-nav__dropdown megamenu text-left"> 1123 <div class="page-width"> 1124 <div class="grid grid--center"> 1125 <div class="grid__item medium-up--one-fifth appear-animation appear-delay-1"><div class="h5"> 1126 <a href="#" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">By Type</a> 1127 </div><div> 1128 <a href="/collections/sweet-spicy" class="site-nav__dropdown-link"> 1129 Sweet and Spicy Blends 1130 </a> 1131 </div><div> 1132 <a href="/collections/black-teas" class="site-nav__dropdown-link"> 1133 Black Tea 1134 </a> 1135 </div><div> 1136 <a href="/collections/herbal-teas" class="site-nav__dropdown-link"> 1137 Herbal Tea 1138 </a> 1139 </div><div> 1140 <a href="/collections/fruit-teas" class="site-nav__dropdown-link"> 1141 Fruit Tea 1142 </a> 1143 </div><div> 1144 <a href="/collections/green-tea" class="site-nav__dropdown-link"> 1145 Green Tea 1146 </a> 1147 </div><div> 1148 <a href="/collections/caffeine-free-teas" class="site-nav__dropdown-link"> 1149 Caffeine Free Tea 1150 </a> 1151 </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-2"><a 1152 href="/collections/best-sellers" 1153 class="megamenu__colection-image" 1154 style="background-image: url(//goodearth.com/cdn/shop/collections/BestSellers_400x.jpg?v=1633532798)"><span class="visuallyhidden">Best Sellers</span></a><div class="h5"> 1155 <a href="/collections/best-sellers" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Best Sellers</a> 1156 </div><div> 1157 <a href="#" class="site-nav__dropdown-link"> 1158 1159 </a> 1160 </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-3"><a 1161 href="/collections/variety-packs" 1162 class="megamenu__colection-image" 1163 style="background-image: url(//goodearth.com/cdn/shop/collections/Teaware-VarietyPacks_468fab32-ee74-4a56-97e9-86b49470fa43_400x.jpg?v=1649176410)"><span class="visuallyhidden">Variety Packs</span></a><div class="h5"> 1164 <a href="/collections/variety-packs" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Variety Packs</a> 1165 </div><div> 1166 <a href="#" class="site-nav__dropdown-link"> 1167 1168 </a> 1169 </div></div> 1170 </div> 1171 </div> 1172 </div></li><li 1173 class="site-nav__item site-nav__expanded-item" 1174 > 1175 1176 <a href="/collections/best-sellers" class="site-nav__link site-nav__link--underline" aria-label="Best Sellers"> 1177 Best Sellers 1178 </a></li></ul> 1179</div> 1180 <div class="header-item header-item--logo"><style data-shopify>.header-item--logo, 1181 .header-layout--left-center .header-item--logo, 1182 .header-layout--left-center .header-item--icons { 1183 -webkit-box-flex: 0 1 110px; 1184 -ms-flex: 0 1 110px; 1185 flex: 0 1 110px; 1186 } 1187 1188 @media only screen and (min-width: 769px) { 1189 .header-item--logo, 1190 .header-layout--left-center .header-item--logo, 1191 .header-layout--left-center .header-item--icons { 1192 -webkit-box-flex: 0 0 140px; 1193 -ms-flex: 0 0 140px; 1194 flex: 0 0 140px; 1195 } 1196 } 1197 1198 .site-header__logo a { 1199 width: 110px; 1200 } 1201 .is-light .site-header__logo .logo--inverted { 1202 width: 110px; 1203 } 1204 @media only screen and (min-width: 769px) { 1205 .site-header__logo a { 1206 width: 140px; 1207 } 1208 1209 .is-light .site-header__logo .logo--inverted { 1210 width: 140px; 1211 } 1212 }</style><div class="h1 site-header__logo" itemscope itemtype="http://schema.org/Organization"> 1213 <a 1214 href="/" 1215 itemprop="url" 1216 class="site-header__logo-link"> 1217 <img 1218 class="small--hide" 1219 src="//goodearth.com/cdn/shop/t/57/assets/logo.svg?v=113088184882866140701789678974" 1220 srcset="//goodearth.com/cdn/shop/t/57/assets/logo.svg?v=113088184882866140701789678974 1x, //goodearth.com/cdn/shop/t/57/assets/logo.svg?v=113088184882866140701789678974 2x" 1221 alt="Good Earth Tea Store" 1222 itemprop="logo"> 1223 <img 1224 class="medium-up--hide" 1225 src="//goodearth.com/cdn/shop/t/57/assets/logo.svg?v=113088184882866140701789678974" 1226 srcset="//goodearth.com/cdn/shop/t/57/assets/logo.svg?v=113088184882866140701789678974 1x, //goodearth.com/cdn/shop/t/57/assets/logo.svg?v=113088184882866140701789678974 2x" 1227 alt="Good Earth Tea Store"> 1228 </a></div></div> 1229 <div class="header-item header-item--split-right"><ul
1230 class="site-nav site-navigation small--hide" 1231 ><li 1232 class="site-nav__item site-nav__expanded-item" 1233 > 1234 1235 <a href="/account/login" class="site-nav__link site-nav__link--underline" aria-label="Sign In"> 1236 Sign In 1237 </a></li><li 1238 class="site-nav__item site-nav__expanded-item" 1239 > 1240 1241 <a href="#" class="site-nav__link site-nav__link--underline" aria-label=" "> 1242   1243 </a></li></ul> 1244</div> 1245</div> 1246<div class="header-item header-item--icons"><div class="site-nav"> 1247 <div class="site-nav__icons"><a class="site-nav__link site-nav__link--icon small--hide myaccount" href="/account"> 1248 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-user" viewBox="0 0 64 64"><path d="M35 39.84v-2.53c3.3-1.91 6-6.66 6-11.41 0-7.63 0-13.82-9-13.82s-9 6.19-9 13.82c0 4.75 2.7 9.51 6 11.41v2.53c-10.18.85-18 6-18 12.16h42c0-6.19-7.82-11.31-18-12.16z"/></svg> 1249 <span class="icon__fallback-text">Log in 1250</span> 1251 </a><a href="/search" class="site-nav__link site-nav__link--icon js-search-header medium-up--hide small--hide "> 1252 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 1253 <span class="icon__fallback-text">Search</span> 1254 </a><a href="/search" class="site-nav__link site-nav__link--icon js-search-header"> 1255 <img src="//goodearth.com/cdn/shop/t/57/assets/search-light.svg?v=22706631887365838681789678974" alt=""> 1256 <span class="icon__fallback-text">Search</span> 1257 </a><a href="/cart" class="site-nav__link site-nav__link--icon js-drawer-open-cart" data-icon="cart"> 1258 <span class="cart-link"><img src="//goodearth.com/cdn/shop/t/57/assets/shopping-cart-light.svg?v=118404854351095360571789678974" alt="cart icon" class="icon icon-cart"><span class="icon__fallback-text">Cart</span> 1259 <span class="cart-link__bubble">0</span> 1260 1261 </span> 1262 </a> 1263 <div class="small--hide socialicons"> 1264 <a class="site-header__icon site-header__instagram site-nav__link site-nav__link--icon" href="https://instagram.com/goodearth.us"><img src="//goodearth.com/cdn/shop/t/57/assets/insta.svg?v=96849280191422813181789678974" alt="Our Instagram page"></a> <a class="site-header__icon site-header__facebook site-nav__link site-nav__link--icon" href="https://www.facebook.com/GoodEarthTea/"><img src="//goodearth.com/cdn/shop/t/57/assets/facebook.svg?v=174926683858969056231789678974" alt="Our Facebook page"></a> 1265 </div> 1266 1267 </div> 1268</div> 1269</div> 1270 </div></div> 1271 <div class="site-header__search-container"> 1272 <div class="site-header__search"> 1273 <div class="page-width"> 1274 <form action="/search" method="get" role="search" 1275 id="xHeaderSearchFormx" 1276 class="site-header__search-form"> 1277 <input type="hidden" name="type" value="product,article,page,collection"> 1278 <button type="submit" class="text-link site-header__search-btn site-header__search-btn--submit"> 1279 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 1280 <span class="icon__fallback-text">Search</span> 1281 </button> 1282 <input type="search" name="q" value="" placeholder="Search our store" class="site-header__search-input" aria-label="Search our store"> 1283 </form> 1284 <button type="button" id="SearchClose" class="js-search-header-close text-link site-header__search-btn"> 1285 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 1286 <span class="icon__fallback-text">"Close (esc)"</span> 1287 </button> 1288 </div> 1289 </div><div id="PredictiveWrapper" class="predictive-results hide" data-image-size="square"> 1290 <div class="page-width"> 1291 <div id="PredictiveResults" class="predictive-result__layout"></div> 1292 <div class="text-center predictive-results__footer"> 1293 <button type="button" class="btn btn--small" data-predictive-search-button>
1293 1294 <small> 1295 View more 1296 </small> 1297 </button> 1298 </div> 1299 </div> 1300 </div></div> 1301 </header> 1302 </div> 1303 </div> 1304 <div class="announcement-bar"> 1305 <div class="page-width"> 1306 <div class="slideshow-wrapper"> 1307 <button type="button" class="visually-hidden slideshow__pause" data-id="header" aria-live="polite"> 1308 <span class="slideshow__pause-stop"> 1309 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-pause" viewBox="0 0 10 13"><g fill="#000" fill-rule="evenodd"><path d="M0 0h3v13H0zM7 0h3v13H7z"/></g></svg> 1310 <span class="icon__fallback-text">Pause slideshow</span> 1311 </span> 1312 <span class="slideshow__pause-play"> 1313 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-play" viewBox="18.24 17.35 24.52 28.3"><path fill="#323232" d="M22.1 19.151v25.5l20.4-13.489-20.4-12.011z"/></svg> 1314 <span class="icon__fallback-text">Play slideshow</span> 1315 </span> 1316 </button> 1317 1318 <div 1319 id="AnnouncementSlider" 1320 class="announcement-slider" 1321 data-compact="true" 1322 data-block-count="2" role="banner" aria-label="Offers and coupons"><div 1323 id="AnnouncementSlide-1524770296206" 1324 class="announcement-slider__slide scheduled-slide" 1325 data-index="0" 1326 data-default="true" 1327 1328 1329 ><a class="announcement-link" href="/collections/fall-favorites"><span class="announcement-text">ð FALL IS IN THE AIR - SHOP SEASONAL FAVORITES</span></a></div><div 1330 id="AnnouncementSlide-328ddbaf-5625-40e5-a0ea-a8473173c686" 1331 class="announcement-slider__slide scheduled-slide" 1332 data-index="1" 1333 1334 data-schedule-start="2026-05-21 00:01" 1335 data-schedule-end="2026-05-26 23:59" 1336 ><a class="announcement-link" href="/collections/best-sellers"><span class="announcement-text">⨠10% OFF SITEWIDE</span><span class="announcement-link-text">USE CODE â SUMMERFUNâ</span></a></div></div> 1337 </div> 1338 </div> 1339 </div> 1340 1341
1341<script> 1342 (function() { 1343 /** 1344 * Announcement Bar Scheduling + Default Fallback â Good Earth Teas 1345 * 1346 * Logic: 1347 * 1. Partition slides into defaults (data-default="true") and non-defaults. 1348 * 2. For non-defaults, check Pacific-Time schedule windows. Out-of-window 1349 * slides are REMOVED from the DOM (so Flickity never sees them). 1350 * 3. If at least one non-default is active, use those as the visible set 1351 * and remove all defaults. 1352 * 4. If no non-defaults are active, the defaults are the fallback and 1353 * become the visible set. Multiple defaults cycle together. 1354 * 1355 * Runs SYNCHRONOUSLY before Flickity initializes â the slider markup 1356 * above this script is fully parsed by the time this executes. 1357 */ 1358 function parsePacific(dateStr) { 1359 if (!dateStr) return null; 1360 var parts = dateStr.trim().split(/[\s]+/); 1361 var datePart = parts[0]; 1362 var timePart = parts[1] || '00:00'; 1363 var isoString = datePart + 'T' + timePart + ':00'; 1364 1365 try { 1366 var tempDate = new Date(isoString + 'Z'); 1367 var formatter = new Intl.DateTimeFormat('en-US', { 1368 timeZone: 'America/Los_Angeles', 1369 year: 'numeric', month: '2-digit', day: '2-digit', 1370 hour: '2-digit', minute: '2-digit', second: '2-digit', 1371 hour12: false 1372 }); 1373 var ptParts = formatter.formatToParts(tempDate); 1374 var ptObj = {}; 1375 ptParts.forEach(function(p) { ptObj[p.type] = p.value; }); 1376 1377 var utcMs = tempDate.getTime(); 1378 var ptDate = new Date(ptObj.year + '-' + ptObj.month + '-' + ptObj.day + 'T' + ptObj.hour + ':' + ptObj.minute + ':' + ptObj.second + 'Z'); 1379 var offsetMs = utcMs - ptDate.getTime(); 1380 1381 return new Date(new Date(isoString + 'Z').getTime() + offsetMs); 1382 } catch (e) { 1383 return new Date(isoString + '-08:00'); 1384 } 1385 } 1386 1387 function pruneScheduledSlides() { 1388 var slider = document.getElementById('AnnouncementSlider'); 1389 if (!slider) return; 1390 1391 var allSlides = Array.prototype.slice.call(slider.querySelectorAll('.announcement-slider__slide')); 1392 var now = new Date(); 1393 1394 /* Partition: defaults vs non-defaults */ 1395 var defaults = []; 1396 var nonDefaults = []; 1397 allSlides.forEach(function(slide) { 1398 if (slide.getAttribute('data-default') === 'true') { 1399 defaults.push(slide); 1400 } else { 1401 nonDefaults.push(slide); 1402 } 1403 }); 1404 1405 /* Pass 1: evaluate non-defaults against their schedule windows. 1406 Slides outside their window are removed from the DOM entirely. */ 1407 var activeNonDefaults = []; 1408 nonDefaults.forEach(function(slide) { 1409 var startStr = slide.getAttribute('data-schedule-start'); 1410 var endStr = slide.getAttribute('data-schedule-end'); 1411 var visible = true; 1412 1413 if (startStr) { 1414 var start = parsePacific(startStr); 1415 if (start && now < start) visible = false; 1416 } 1417 if (endStr) { 1418 var end = parsePacific(endStr); 1419 if (end && now > end) visible = false; 1420 } 1421 1422 if (visible) { 1423 activeNonDefaults.push(slide); 1424 } else { 1425 slide.parentNode.removeChild(slide); 1426 } 1427 }); 1428 1429 /* Decide which set survives: non-defaults take precedence; 1430 defaults only render when nothing else is active. */ 1431 var winners; 1432 if (activeNonDefaults.length > 0) { 1433 winners = activeNonDefaults; 1434 defaults.forEach(function(slide) { 1435 slide.parentNode.removeChild(slide); 1436 }); 1437 } else { 1438 winners = defaults; 1439 } 1440 1441 /* Reveal winners (strip the FOUC-prevention class) */ 1442 winners.forEach(function(slide) { 1443 slide.classList.remove('scheduled-slide'); 1444 }); 1445 1446 var visibleCount = winners.length; 1447 slider.setAttribute('data-block-count', visibleCount); 1448 1449 var bar = slider.closest('.announcement-bar'); 1450 if (bar) { 1451 bar.style.display = visibleCount === 0 ? 'none' : ''; 1452 } 1453 1454 var wrapper = slider.closest('.slideshow-wrapper'); 1455 if (wrapper) { 1456 var pauseBtn = wrapper.querySelector('.slideshow__pause'); 1457 if (pauseBtn) { 1458 pauseBtn.style.display = visibleCount <= 1 ? 'none' : ''; 1459 } 1460 } 1461 } 1462 1463 /* Run synchronously, immediately â before Flickity initialization. */ 1464 pruneScheduledSlides(); 1465 })(); 1466 </script>
1466 1467 1468 1469</div> 1470 1471 1472</div><main class="main-content" id="MainContent"> 1473 <div class="page-width page-width--tiny page-content"> 1474 <header class="section-header"> 1475 <h1 class="section-header__title">Login</h1> 1476 </header> 1477 1478 <div class="note note--success hide" id="ResetSuccess"> 1479 We've sent you an email with a link to update your password. 1480 </div> 1481 1482 <div id="CustomerLoginForm" class="form-vertical"><form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="â" /> 1483 1484 <label for="CustomerEmail">Email</label> 1485 <input type="email" name="customer[email]" id="CustomerEmail" class="input-full" autocorrect="off" autocapitalize="off" autofocus><div class="grid"> 1486 <div class="grid__item one-half"> 1487 <label for="CustomerPassword">Password</label> 1488 </div> 1489 <div class="grid__item one-half text-right"> 1490 <small class="label-info"> 1491 <a href="#recover" id="RecoverPassword"> 1492 Forgot password? 1493 </a> 1494 </small> 1495 </div> 1496 </div> 1497 <input type="password" value="" name="customer[password]" id="CustomerPassword" class="input-full"><p> 1498 <button type="submit" class="btn btn--full"> 1499 Sign In 1500 </button> 1501 </p> 1502 <p><a href="/account/register" id="customer_register_link">Create account</a></p></form></div> 1503 1504 <div id="RecoverPasswordForm" class="hide"> 1505 <div class="form-vertical"> 1506 <h2>Reset your password</h2> 1507 <p>We will send you an email to reset your password.</p><form method="post" action="/account/recover" accept-charset="UTF-8"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="â" /> 1508<label for="RecoverEmail">Email</label> 1509 <input type="email" value="" name="email" id="RecoverEmail" class="input-full" autocorrect="off" autocapitalize="off"> 1510 1511 <p> 1512 <button type="submit" class="btn"> 1513 Submit 1514 </button> 1515 </p> 1516 <button type="button" id="HideRecoverPasswordLink">Cancel</button></form></div> 1517 1518 </div></div> 1519 1520 </main><div id="shopify-section-footer-promotions" class="shopify-section index-section--footer"> 1521</div> 1522<div id="shopify-section-footer" class="shopify-section"><style data-shopify>.site-footer { 1523 border-top: 1px solid #e8e8e1; 1524 }</style><footer class="site-footer" data-section-id="footer" data-section-type="footer-section"> 1525 <div class="page-width"> 1526 1527 <div class="klavyio-form"> 1528 <p class="h4 footer__title">SUBSCRIBE FOR 10% OFF YOUR NEXT ORDER</p> 1529 <div class="klaviyo-form-VMfDPx"></div> 1530 </div> 1531 1532 <div class="grid"><div class="grid__item footer__item--4d407010-0cb7-49a4-a53f-dd788c0a965e" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 1533 .footer__item--4d407010-0cb7-49a4-a53f-dd788c0a965e { 1534 width: 50%; 1535 padding-top: 40px; 1536 } 1537 .footer__item--4d407010-0cb7-49a4-a53f-dd788c0a965e:nth-child(2n + 1) { 1538 clear: left; 1539 } 1540 } 1541 @media only screen and (min-width: 960px) { 1542 .footer__item--4d407010-0cb7-49a4-a53f-dd788c0a965e { 1543 width: 25%; 1544 } 1545 1546 }</style><h2 class="h4 footer__title small--hide"> 1547 Shop 1548 </h2> 1549 <button type="button" class="h4 footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-4d407010-0cb7-49a4-a53f-dd788c0a965e"> 1550 Shop 1551<span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 1552 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="0" stroke="#000" fill="#000" fill-rule="evenodd"/></svg> 1553</span> 1554</button><div 1555 1556 id="Footer-4d407010-0cb7-49a4-a53f-dd788c0a965e" class="collapsible-content collapsible-content--small" 1557 > 1558 <div class="collapsible-content__inner">
1559 <div class="footer__collapsible"> 1560 <ul class="no-bullets site-footer__linklist"><li><a href="/collections/green-tea" aria-label="green tea">Green Tea</a></li><li><a href="/collections/black-teas" aria-label="black tea">Black Tea</a></li><li><a href="/collections/fruit-teas" aria-label="fruit tea">Fruit Tea</a></li><li><a href="/collections/herbal-teas" aria-label="herbal tea">Herbal Tea</a></li><li><a href="/collections/caffeine-free-teas" aria-label="caffeine free tea">Caffeine Free Tea</a></li><li><a href="/collections/sweet-spicy" aria-label="sweet and spicy blends">Sweet and Spicy Blends</a></li></ul> 1561 </div> 1562 </div> 1563 </div></div><div class="grid__item footer__item--732ac3b6-984c-458d-9a19-6f2d17683619" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 1564 .footer__item--732ac3b6-984c-458d-9a19-6f2d17683619 { 1565 width: 50%; 1566 padding-top: 40px; 1567 } 1568 .footer__item--732ac3b6-984c-458d-9a19-6f2d17683619:nth-child(2n + 1) { 1569 clear: left; 1570 } 1571 } 1572 @media only screen and (min-width: 960px) { 1573 .footer__item--732ac3b6-984c-458d-9a19-6f2d17683619 { 1574 width: 25%; 1575 } 1576 1577 }</style><h2 class="h4 footer__title small--hide"> 1578 About Us 1579 </h2> 1580 <button type="button" class="h4 footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-732ac3b6-984c-458d-9a19-6f2d17683619"> 1581 About Us 1582<span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 1583 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="0" stroke="#000" fill="#000" fill-rule="evenodd"/></svg> 1584</span> 1585</button><div 1586 1587 id="Footer-732ac3b6-984c-458d-9a19-6f2d17683619" class="collapsible-content collapsible-content--small" 1588 > 1589 <div class="collapsible-content__inner"> 1590 <div class="footer__collapsible"> 1591 <ul class="no-bullets site-footer__linklist"><li><a href="/pages/our-story" aria-label="our story">Our Story</a></li><li><a href="/pages/sustainability" aria-label="sustainability">Sustainability</a></li><li><a href="/pages/tea-101" aria-label="tea 101">Tea 101</a></li><li><a href="/pages/faqs" aria-label="good earth faqs">Good Earth FAQs</a></li><li><a href="https://sustainability.tetley.co.uk/" aria-label="sustainability impact report">Sustainability Impact Report</a></li></ul> 1592 </div> 1593 </div> 1594 </div></div><div class="grid__item footer__item--0aa488f8-60ee-4ce5-8852-c0add1309775" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 1595 .footer__item--0aa488f8-60ee-4ce5-8852-c0add1309775 { 1596 width: 50%; 1597 padding-top: 40px; 1598 } 1599 .footer__item--0aa488f8-60ee-4ce5-8852-c0add1309775:nth-child(2n + 1) { 1600 clear: left; 1601 } 1602 } 1603 @media only screen and (min-width: 960px) { 1604 .footer__item--0aa488f8-60ee-4ce5-8852-c0add1309775 { 1605 width: 25%; 1606 } 1607 1608 }</style><h2 class="h4 footer__title small--hide"> 1609 Help 1610 </h2> 1611 <button type="button" class="h4 footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-0aa488f8-60ee-4ce5-8852-c0add1309775"> 1612 Help 1613<span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 1614 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="0" stroke="#000" fill="#000" fill-rule="evenodd"/></svg> 1615</span> 1616</button><div 1617 1618 id="Footer-0aa488f8-60ee-4ce5-8852-c0add1309775" class="collapsible-content collapsible-content--small" 1619 > 1620 <div class="collapsible-content__inner">
1621 <div class="footer__collapsible"> 1622 <ul class="no-bullets site-footer__linklist"><li><a href="/pages/contact-us" aria-label="contact us">Contact Us</a></li><li><a href="/pages/refund-policy" aria-label="refund policy">Refund Policy</a></li><li><a href="/pages/shipping-information" aria-label="shipping information">Shipping Information</a></li><li><a href="/pages/terms-conditions" aria-label="terms & conditions">Terms & Conditions</a></li><li><a href="/pages/alexa-terms-of-use" aria-label="terms of service">Terms of Service</a></li><li><a href="/pages/accessibility-statement" aria-label="accessibility statement">Accessibility Statement</a></li><li><a href="/pages/california-supply-chain-transparency" aria-label="ca transparency in supply chain statement">CA Transparency in Supply Chain Statement</a></li><li><a href="/pages/webstore-privacy-policy#fin" aria-label="notice of financial incentive">Notice Of Financial Incentive</a></li><li><a href="/pages/tata-privacy-policy" aria-label="tata privacy policy">Tata Privacy Policy</a></li><li><a href="/pages/webstore-privacy-policy" aria-label="webstore privacy policy">Webstore Privacy Policy</a></li></ul> 1623 </div> 1624 </div> 1625 </div></div></div><div class="trustus"> 1626 <a href="/pages/sustainability#rainforest"><img src="//goodearth.com/cdn/shop/t/57/assets/rainforest-alliance-seal.png?v=169984413281813990251789678974" class="rfa-logo get-us" width="106" height="" alt="Rainforest alliance logo"></a> 1627 <a href="/pages/sustainability#ethical"><img src="//goodearth.com/cdn/shop/t/57/assets/etp.png?v=30037635905749286671789678974" class="trust-logo get-us" width="140" height="" alt="Logo for Member of Ethical Tea Partnership"></a> 1628 1629 </div> 1630 1631 <p class="footer__small-text"> 1632 © 2026 Good Earth Tea Store 1633& WorldPantry.com® LLC. 1634</p> 1635 1636 <p class="footer__small-text">All Rights Reserved.</p></div> 1637 1638 1639 1640 1641 1642 1643<a id="BackToTop" href="#PageContainer" class="back-to-top hide" aria-label="back to top"> 1644 <img src="//goodearth.com/cdn/shop/t/57/assets/backtotop1.svg?v=124654218110704395361789678974" alt=""> 1645</a> 1646 1647<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet" type="text/css" media="all" /> 1648 1649<style> 1650 .back-to-top { 1651 position: fixed; 1652 bottom: 6em; 1653 right: 0px; 1654 text-decoration: none; 1655 color: #cb2c90; 1656 font-size: 16px; 1657 padding: 0.3em; 1658 -webkit-border-top-left-radius: 3px; 1659 -webkit-border-bottom-left-radius: 3px; 1660 -moz-border-radius-topleft: 3px; 1661 -moz-border-radius-bottomleft: 3px; 1662 border-top-left-radius: 3px; 1663 border-bottom-left-radius: 3px; 1664 z-index: 60000; 1665 } 1666 .back-to-top i { 1667 vertical-align: middle; 1668 } 1669 .back-to-top span { 1670 padding-left: 0.5em; 1671 } 1672 .back-to-top i + span { 1673 padding-left: 0; 1674 } 1675 .back-to-top:hover { 1676 text-decoration: none; 1677 color: #555; 1678 } 1679 .hide { 1680 display: none!important; 1681 } 1682 1683 .fa.fa-arrow-circle-o-up { 1684 font-family: "Font Awesome 5 Pro"; 1685 font-weight: 400; 1686 color: #cb2c90; 1687 } 1688 1689 .back-to-top img { 1690 width: 40px; 1691 } 1692</style>
1693<script> 1694 (function() { 1695 function trackScroll() { 1696 var scrolled = window.pageYOffset; 1697 var coords = 300; 1698 1699 if (scrolled > coords) { 1700 goTopBtn.classList.remove('hide'); 1701 } 1702 if (scrolled < coords) { 1703 goTopBtn.classList.add('hide'); 1704 } 1705 } 1706 1707 function backToTop() { 1708 if (window.pageYOffset > 0) { 1709 window.scrollBy(0, -80); 1710 setTimeout(backToTop, 0); 1711 } 1712 } 1713 1714 var goTopBtn = document.querySelector('.back-to-top'); 1715 1716 window.addEventListener('scroll', trackScroll); 1717 goTopBtn.addEventListener('click', backToTop); 1718 })(); 1719</script>
1719 1720</footer> 1721 1722 1723<style> 1724 .cmp-revoke-consent { 1725 text-decoration: none !important; 1726} 1727 1728.cmp-revoke-consent:hover { 1729 text-decoration: underline !important; 1730 cursor: pointer; 1731} 1732</style> 1733
1734<script> 1735 (function() { 1736 var defined = '[data-type="menu"] .site-footer__linklist'; 1737 var menuLists = document.querySelectorAll(defined); 1738 var consentLi = '<li><a class="cmp-revoke-consent">Revoke Consent</a></li>'; 1739 1740 // Inject into every 3rd menu column (handles both control + test variants) 1741 for (var i = 2; i < menuLists.length; i += 3) { 1742 menuLists[i].insertAdjacentHTML('beforeend', consentLi); 1743 } 1744 })(); 1745</script>
1745 1746 1747 1748</div> 1749 </div> 1750 </div><div id="shopify-section-newsletter-popup" class="shopify-section index-section--hidden"> 1751</div><div id="VideoModal" class="modal modal--solid"> 1752 <div class="modal__inner"> 1753 <div class="modal__centered page-width text-center"> 1754 <div class="modal__centered-content"> 1755 <div class="video-wrapper video-wrapper--modal"> 1756 <div id="VideoHolder"></div> 1757 </div> 1758 </div> 1759 </div> 1760 </div> 1761 1762 <button type="button" class="modal__close js-modal-close text-link"> 1763 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 1764 <span class="icon__fallback-text">"Close (esc)"</span> 1765 </button> 1766</div> 1767<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 1768 <div class="pswp__bg"></div> 1769 <div class="pswp__scroll-wrap"> 1770 <div class="pswp__container"> 1771 <div class="pswp__item"></div> 1772 <div class="pswp__item"></div> 1773 <div class="pswp__item"></div> 1774 </div> 1775 1776 <div class="pswp__ui pswp__ui--hidden"> 1777 <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--left" title="Previous"> 1778 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 1779 </button> 1780 1781 <button class="btn btn--body btn--circle btn--large pswp__button pswp__button--close" title="Close (esc)"> 1782 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 1783 </button> 1784 1785 <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--right" title="Next"> 1786 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 1787 </button> 1788 </div> 1789 </div> 1790</div>
1791<script src="//goodearth.com/cdn/shop/t/57/assets/accessible-accordion.min.js?v=107033066116228370141789678974" type="text/javascript"></script>
1791 1792 1793 1794 1795
1796<script> 1797/** 1798 * Module to ajaxify all add to cart forms on the page. 1799 * 1800 * Copyright (c) 2015 Caroline Schnapp (11heavens.com) 1801 * Dual licensed under the MIT and GPL licenses: 1802 * http://www.opensource.org/licenses/mit-license.php 1803 * http://www.gnu.org/licenses/gpl.html 1804 * 1805 */ 1806Shopify.AjaxifyCart = (function($) { 1807 var _config = { 1808 addToCartBtnLabel: 'Add to cart', 1809 addedToCartBtnLabel: 'Added to cart', 1810 addingToCartBtnLabel: 'Adding...', 1811 soldOutBtnLabel: 'Sold Out', 1812 howLongTillBtnReturnsToNormal: 1000, // in milliseconds. 1813 cartCountSelector: '#CartCount', 1814 cartTotalSelector: '#cart-price', 1815 feedbackPosition: 'nextButton', 1816 addToCartBtnSelector: '[type="submit"]', 1817 addToCartFormSelector: 'form[action="/cart/add"]', 1818 shopifyAjaxAddURL: '/cart/add.js', 1819 shopifyAjaxCartURL: '/cart.js' 1820 }; 1821 1822 // We need some feedback when adding an item to the cart. 1823 // Here it is. 1824 1825 var _showFeedback = function(success, html, $addToCartForm) { 1826 $('.ajaxified-cart-feedback').remove(); 1827 var feedback = html; 1828 switch (_config.feedbackPosition) { 1829 case 'aboveForm': 1830 $addToCartForm.before(feedback); 1831 break; 1832 case 'belowForm': 1833 $addToCartForm.after(feedback); 1834 break; 1835 case 'nextButton': 1836 default: 1837 $addToCartForm.find(_config.addToCartBtnSelector).after(feedback); 1838 break; 1839 } 1840 // If you use animate.css 1841 $('.mwd-cart-popup-wrapper').show(5000); 1842 $('.mwd-cart-popup-wrapper').addClass('animated bounceInDown'); 1843 }; 1844 var _setText = function($button, label) { 1845 if ($button.children().length) { 1846 $button.children().each(function() { 1847 if ($.trim($(this).text()) !== '') { 1848 $(this).text(label); 1849 } 1850 }); 1851 } 1852 else { 1853 $button.val(label).text(label); 1854 } 1855 }; 1856 var _init = function() { 1857 $(document).ready(function() { 1858 $(_config.addToCartFormSelector).submit(function(e) { 1859 e.preventDefault(); 1860 var $addToCartForm = $(this); 1861 var $addToCartBtn = $addToCartForm.find(_config.addToCartBtnSelector); 1862 _setText($addToCartBtn, _config.addingToCartBtnLabel); 1863 $addToCartBtn.addClass('disabled').prop('disabled', true); 1864 // Add to cart. 1865 $.ajax({ 1866 url: _config.shopifyAjaxAddURL, 1867 dataType: 'json', 1868 type: 'post', 1869 data: $addToCartForm.serialize(), 1870 success: function(itemData) { 1871 1872 if(typeof window.BOLD !== 'undefined' 1873 && typeof window.BOLD.common !== 'undefined' 1874 && typeof window.BOLD.common.cartDoctor !== 'undefined') { 1875 // NOTE: "cart" should be the variable containing the cart json data 1876 itemData = window.BOLD.common.cartDoctor.fixItem(itemData); 1877 } 1878 var p_id = itemData.id; 1879 var sel_qty = itemData.quantity; 1880 var p_title = itemData.title; 1881 var p_image = itemData.image; 1882 var p_url = itemData.url; 1883 var p_price = parseFloat(itemData.price / 100).toFixed(2); 1884 var p_sku = itemData.sku; 1885 // where is the item.data coming from 1886 // find the itemData 1887 var p_status = 'in stock' 1888 _showFeedback('success','<div class="product_inventory_cart_status_container "><div class="product_inventory_cart_status_title"></div><div class="product_inventory_cart_status"></div></div><div id="ModalLabelTitle" class="visuallyhidden">Added to your cart</div><div class="mwd-cart-popup-wrapper" id="mwd_cart_product_'+p_id+'" tabindex="-1" role="alert" aria-labelledby="ModalLabelTitle" aria-hidden="true"> <div class="cart-popup" id="addedtocartmodal"><h2 class="cart-popup__heading" id="ModalLabelTitle"><span>Just added to your cart</span></h2><div class="cart-popup-item"> <div class="cart-popup-item__image-wrapper"> <img src="'+p_image+'" alt="" class="cart-popup-item__image"></div><div class="cart-popup-item__description"> <div> <div class="cart-popup-item__title"><a href="'+p_url+'">'+p_title+'</a></div><ul class="product-details"> <li class="product-details__item">Price: $'+p_price+'</li></ul> </div><div class="cart-popup-item__quantity"> <span>Qty:</span> <span data-cart-popup-quantity="">'+sel_qty+'</span> </div></div></div> <div class="product_inventory_status "><span class="inventory_product_status_title"></span><span class="product_inventory_message"></span></div><a href="#" onclick="window.location.reload();" class="cart-popup__cta-link btn btn--secondary-accent ms-continue_shopping">Continue shopping</a><div class="viewcart_butt"><a href="/cart" class="cart-popup__cta-link btn btn--secondary-accent ms-view-cart"> View cart </a></div><button id="mwd-popup-close" type="button" class="cart-popup__close" onclick="window.location.reload();"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 40 40"><path d="M23.868 20.015L39.117 4.78c1.11-1.108 1.11-2.77 0-3.877-1.109-1.108-2.773
1888-1.108-3.882 0L19.986 16.137 4.737.904C3.628-.204 1.965-.204.856.904c-1.11 1.108-1.11 2.77 0 3.877l15.249 15.234L.855 35.248c-1.108 1.108-1.108 2.77 0 3.877.555.554 1.248.831 1.942.831s1.386-.277 1.94-.83l15.25-15.234 15.248 15.233c.555.554 1.248.831 1.941.831s1.387-.277 1.941-.83c1.11-1.109 1.11-2.77 0-3.878L23.868 20.015z" class="layer"></path></svg><span class="visuallyhidden">close alert window</span></button> </div></div>',$addToCartForm); 1889 // Re-enable add to cart button. 1890 $addToCartBtn.addClass('inverted'); 1891 // _setText($addToCartBtn, _config.addedToCartBtnLabel); 1892 // _showFeedback('success','<i class="fa fa-check"></i> Added to cart! <a href="/cart">View cart</a> or <a href="/collections/all">continue shopping</a>.',$addToCartForm); 1893 window.setTimeout(function(){ 1894 $addToCartBtn.prop('disabled', false).removeClass('disabled').removeClass('inverted'); 1895 _setText($addToCartBtn,_config.addToCartBtnLabel); 1896 }, _config.howLongTillBtnReturnsToNormal); 1897 // Update cart count and show cart link. 1898 $.getJSON(_config.shopifyAjaxCartURL, function(cart) { 1899 if (_config.cartCountSelector && $(_config.cartCountSelector).size()) { 1900 var value = $(_config.cartCountSelector).html() || '0'; 1901 $(_config.cartCountSelector).html(value.replace(/[0-9]+/,cart.item_count)).removeClass('hidden-count'); 1902 } 1903 if (_config.cartTotalSelector && $(_config.cartTotalSelector).size()) { 1904 if (typeof Currency !== 'undefined' && typeof Currency.moneyFormats !== 'undefined') { 1905 var newCurrency = ''; 1906 if ($('[name="currencies"]').size()) { 1907 newCurrency = $('[name="currencies"]').val(); 1908 } 1909 else if ($('#currencies span.selected').size()) { 1910 newCurrency = $('#currencies span.selected').attr('data-currency'); 1911 } 1912 if (newCurrency) { 1913 $(_config.cartTotalSelector).html('<span class=money>' + Shopify.formatMoney(Currency.convert(cart.total_price, "USD", newCurrency), Currency.money_format[newCurrency]) + '</span>'); 1914 } 1915 else { 1916 $(_config.cartTotalSelector).html(Shopify.formatMoney(cart.total_price, "${{amount}}")); 1917 } 1918 } 1919 else { 1920 $(_config.cartTotalSelector).html(Shopify.formatMoney(cart.total_price, "${{amount}}")); 1921 } 1922 }; 1923 }); 1924 }, 1925 error: function(XMLHttpRequest) { 1926 var response = eval('(' + XMLHttpRequest.responseText + ')'); 1927 response = response.description; 1928 $('.mwd-cart-popup-wrapper').show(5000); 1929 $('.mwd-cart-popup-wrapper').addClass('animated bounceInDown'); 1930 if (response.slice(0,4) === 'All ') { 1931 _showFeedback('error', '<div class="mwd-cart-popup-wrapper cart-popup-error-wrapper" role="alert" id="mwd_cart_product"><div class="cart-popup"><h2 class="cart-popup__heading_error">'+response.replace('All 1 ', 'All ')+'</h2> <button id="mwd-popup-close" type="button" class="cart-popup__close" onclick="close_popup()"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 40 40"> <path d="M23.868 20.015L39.117 4.78c1.11-1.108 1.11-2.77 0-3.877-1.109-1.108-2.773-1.108-3.882 0L19.986 16.137 4.737.904C3.628-.204 1.965-.204.856.904c-1.11 1.108-1.11 2.77 0 3.877l15.249 15.234L.855 35.248c-1.108 1.108-1.108 2.77 0 3.877.555.554 1.248.831 1.942.831s1.386-.277 1.94-.83l15.25-15.234 15.248 15.233c.555.554 1.248.831 1.941.831s1.387-.277 1.941-.83c1.11-1.109 1.11-2.77 0-3.878L23.868 20.015z" class="layer"></path> </svg> </button></div></div>', $addToCartForm); 1932 $addToCartBtn.prop('disabled', false); 1933 _setText($addToCartBtn, _config.soldOutBtnLabel); 1934 $addToCartBtn.prop('disabled',true); 1935 } 1936 else { 1937 _showFeedback('error', '<div class="mwd-cart-popup-wrapper cart-popup-error-wrapper" role="alert" id="mwd_cart_product"><div class="cart-popup"><h2 class="cart-popup__heading_error">'+response+'</h2> <button id="mwd-popup-close" type="button" class="cart-popup__close" onclick="close_popup()"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 40 40"> <path d="M23.868 20.015L39.117 4.78c1.11-1.108 1.11-2.77 0-3.877-1.109-1.108-2.773
1937-1.108-3.882 0L19.986 16.137 4.737.904C3.628-.204 1.965-.204.856.904c-1.11 1.108-1.11 2.77 0 3.877l15.249 15.234L.855 35.248c-1.108 1.108-1.108 2.77 0 3.877.555.554 1.248.831 1.942.831s1.386-.277 1.94-.83l15.25-15.234 15.248 15.233c.555.554 1.248.831 1.941.831s1.387-.277 1.941-.83c1.11-1.109 1.11-2.77 0-3.878L23.868 20.015z" class="layer"></path> </svg> </button></div></div>', $addToCartForm); 1938 $addToCartBtn.prop('disabled', false).removeClass('disabled'); 1939 _setText($addToCartBtn, _config.addToCartBtnLabel); 1940 } 1941 } 1942 }); 1943 return false; 1944 }); 1945 }); 1946 }; 1947 return { 1948 init: function(params) { 1949 params = params || {}; 1950 $.extend(_config, params); 1951 $(function() { 1952 _init(); 1953 }); 1954 }, 1955 getConfig: function() { 1956 return _config; 1957 } 1958 } 1959})(jQuery); 1960Shopify.AjaxifyCart.init(); 1961function close_popup(){ 1962 jQuery('.mwd-cart-popup-wrapper').remove(); 1963} 1964</script>
1964 1965 1966
1967<script id="rendered-js" > 1968// add all the elements inside modal which you want to make focusable 1969const focusableElements = 1970'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'; 1971const modal = document.querySelector('#mwd_cart_product_'); // select the modal by it's id 1972 1973if (modal) { 1974 1975 const firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal 1976 1977 if (focusableContent.length > 0) { 1978 1979 const focusableContent = modal.querySelectorAll(focusableElements); 1980 const lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal 1981 1982 1983 document.addEventListener('keydown', function (e) { 1984 let isTabPressed = e.key === 'Tab' || e.keyCode === 9; 1985 1986 if (!isTabPressed) { 1987 return; 1988 } 1989 1990 if (e.shiftKey) {// if shift key pressed for shift + tab combination 1991 if (document.activeElement === firstFocusableElement) { 1992 lastFocusableElement.focus();
1992 // add focus for the last focusable element 1993 e.preventDefault(); 1994 } 1995 } else {// if tab key is pressed 1996 if (document.activeElement === lastFocusableElement) {// if focused has reached to last focusable element then focus first focusable element after pressing tab 1997 firstFocusableElement.focus(); // add focus for the first focusable element 1998 e.preventDefault(); 1999 } 2000 } 2001 }); 2002 2003 firstFocusableElement.focus(); 2004 2005 } 2006} 2007 2008//# sourceURL=pen.js 2009 2010</script>
2010 2011 2012 2013 2014
2014<script async type="text/javascript" src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=SFF6qm" /> 2015 2016
2016<script> 2017 $( function() { 2018 2019 // jQuery 2020 var $carousel = $('.carousel').flickity({ 2021 fade: true, 2022 }); 2023 2024 }); 2025 </script>
2025 2026 2027
2027<script type="text/javascript"> 2028 // Fix for multiline selects in AJAX-loaded content 2029 (function($) { 2030 2031 function initNewMultilineSelects() { 2032 $('.collection-variants, .quickaddcoll').each(function() { 2033 var $select = $(this); 2034 // Only initialize if NOT already processed by jQuery UI 2035 if (!$select.hasClass('ui-selectmenu-hidden') && 2036 typeof $.fn.multilineSelectmenu !== 'undefined') { 2037 try { 2038 $select.multilineSelectmenu(); 2039 } catch(e) { 2040 console.log('Multiline select init error:', e); 2041 } 2042 } 2043 }); 2044 2045 // Refresh AOS animations for newly added content 2046 if (typeof AOS !== 'undefined') { 2047 AOS.refresh(); 2048 } 2049 } 2050 2051 // MutationObserver to watch for dynamically added selects 2052 var observer = new MutationObserver(function(mutations) { 2053 var shouldInit = false; 2054 mutations.forEach(function(mutation) { 2055 if (mutation.addedNodes.length) { 2056 for (var i = 0; i < mutation.addedNodes.length; i++) { 2057 var node = mutation.addedNodes[i]; 2058 if (node.nodeType === 1) { 2059 if ((node.querySelector && node.querySelector('.collection-variants, .quickaddcoll')) || 2060 (node.classList && (node.classList.contains('collection-variants') || node.classList.contains('quickaddcoll')))) { 2061 shouldInit = true; 2062 break; 2063 } 2064 } 2065 } 2066 } 2067 }); 2068 if (shouldInit) { 2069 setTimeout(initNewMultilineSelects, 150); 2070 } 2071 }); 2072 2073 // Start observing immediately on document.body 2074 function startObserver() { 2075 observer.observe(document.body, { 2076 childList: true, 2077 subtree: true 2078 }); 2079 } 2080 2081 // Initialize on DOM ready 2082 $(document).ready(function() { 2083 startObserver(); 2084 }); 2085 2086 // Re-initialize on Shopify section events 2087 document.addEventListener('shopify:section:load', function() { 2088 setTimeout(initNewMultilineSelects, 200); 2089 }); 2090 2091 // Hook into Impulse theme's AJAX navigation 2092 $(document).on('page:loaded ajaxify:updated', function() { 2093 setTimeout(initNewMultilineSelects, 200); 2094 }); 2095 2096 // Also listen for the recommendations section specifically 2097 $(document).on('recommendations:loaded', function() { 2098 setTimeout(initNewMultilineSelects, 150); 2099 }); 2100 2101 // Fallback: periodic check for first few seconds after any navigation 2102 var checkCount = 0; 2103 var maxChecks = 10; 2104 2105 function periodicCheck() { 2106 initNewMultilineSelects(); 2107 checkCount++; 2108 if (checkCount < maxChecks) { 2109 setTimeout(periodicCheck, 500); 2110 } 2111 } 2112 2113 // Trigger periodic check on popstate (back/forward navigation) and page transitions 2114 $(window).on('popstate', function() { 2115 checkCount = 0; 2116 setTimeout(periodicCheck, 300); 2117 }); 2118 2119 // Watch for URL changes (covers most SPA navigation patterns) 2120 var lastUrl = location.href; 2121 new MutationObserver(function() { 2122 if (location.href !== lastUrl) { 2123 lastUrl = location.href; 2124 checkCount = 0; 2125 setTimeout(periodicCheck, 300); 2126 } 2127 }).observe(document.body, { childList: true, subtree: true }); 2128 2129 })(jQuery); 2130</script>
2130 2131
2132<script> 2133 window.addEventListener("klaviyoForms", function(e) { 2134 if (e.detail.type == 'open' || e.detail.type == 'embedOpen') { 2135 gtag('event', 'form_open', {'form': 'Klaviyo form', 'form_id': e.detail.formId}); 2136 } 2137 if (e.detail.type == 'submit') { 2138 gtag('event', 'form_submit', {'form': 'Klaviyo form', 'form_id': e.detail.formId}); 2139 } 2140 if (e.detail.type == 'stepSubmit') { 2141 gtag('event', 'form_step_submit', {'form': 'Klaviyo form', 'step_name': e.detail.metaData.$step_name}); 2142 } 2143 if (e.detail.type == 'redirectedToUrl') { 2144 gtag('event', 'form_url_redirect', {'form': 'Klaviyo form', 'form_id': e.detail.formId}); 2145 } 2146 if (e.detail.type == 'close') { 2147 gtag('event', 'form_close', {'form': 'Klaviyo form', 'form_id': e.detail.formId}); 2148 } 2149 }); 2150</script>
2150 2151
2152<script> 2153 window.addEventListener('load', function () { 2154 var links = document.querySelectorAll('.cmp-revoke-consent'); 2155 for (var i = 0; i < links.length; i++) { 2156 links[i].style.cursor = 'pointer'; 2157 links[i].addEventListener('click', function (e) { 2158 e.preventDefault(); 2159 if (typeof showConsentPreferencesPopup === 'function') { 2160 showConsentPreferencesPopup(); 2161 } 2162 }); 2163 } 2164 }); 2165 </script>
2165 2166 2167 2168 2169 �<!--Gorgias Chat Widget Start-->
2170<script type="text/javascript" id="gorgias-chat-widget-install-v3" src="https://config.gorgias.chat/bundle-loader/01KNJDPB53FQDHACS5J098D670"></script>
2170 2171<!--Gorgias Chat Widget End--> 2172<!--Bundle Start-->
2173<script ype="text/javascript" src="https://static.9gtb.com/loader.js?g_cvt_id=3746aaa6-cb43-4871-8ceb-1d2a75d29dac" async></script>
2173 2174<!--Bundle End--> 2175 2176<style> 2177 #gorgias-chat-container { 2178 position: relative; 2179 z-index: 9 !important; 2180 } 2181</style> 2182 2183 2184 2185
2185<script>setTimeout(() => { let aioa_script_tag = document.createElement("script"); aioa_script_tag.src = "https://www.skynettechnologies.com/accessibility/js/aioa-single-script-loader.js?colorcode=#420083&token=ADAAIOA-2EE3DC8A3B6C60AD7281C36D35972F32&position=bottom_right"; aioa_script_tag.id = "aioa-adawidget";aioa_script_tag.defer="true"; aioa_script_tag.type="module"; document.getElementsByTagName("body")[0].appendChild(aioa_script_tag); }, 3000);</script>
2185 2186 2187 2188 2189 <div id="shopify-block-AMXlNNXM5SWtGZ0cxR__17151115064775110295" class="shopify-block shopify-app-block"><style data-recharge-theme='{"has_theme_customization": true, "design_mode": false }'> 2190 .recharge-theme { 2191 /* App */ 2192 --recharge-app-background: #FFFFFF; 2193 --recharge-app-container: 1200px; 2194 --recharge-app-vertical-padding: 32px; 2195 2196 /* Brand colors */ 2197 2198--recharge-color-brand: #C92C8F; 2199 2200 /* Tints */ 2201 --recharge-color-brand-120: #a42475; 2202 --recharge-color-brand-20: #d456a5; 2203 --recharge-color-brand-40: #df80bc; 2204 --recharge-color-brand-60: #e9abd2; 2205 --recharge-color-brand-75: #f2cae3; 2206 --recharge-color-brand-85: #f7dfee; 2207 2208 /* Neutral */ 2209 --recharge-color-neutral: hsl(322, 35%, 7%); 2210 --recharge-color-neutral-80: hsl(322, 7%, 25%); 2211 --recharge-color-neutral-70: hsl(322, 5%, 35%); 2212 --recharge-color-neutral-40: hsl(322, 3%, 63%); 2213 --recharge-color-neutral-10: hsl(322, 2%, 91%); 2214 2215 2216 /* Links */ 2217 --recharge-button-secondary: #CB2C90; 2218 --recharge-button-secondary-120: #a62476; 2219 --recharge-button-secondary-60: #e080bc; 2220 2221 /* Images */ 2222 --recharge-images-ratio: 1; 2223 2224 /* Cards */ 2225 2226 --recharge-cards-background: #F5F5F5; 2227 2228 2229 2230 --recharge-cards-border-color: #C92C8F; 2231 2232 2233 /* Fonts */ 2234 --recharge-typography-scale: 16px; 2235 --recharge-typography-size-1: calc(3 * var(--recharge-typography-scale)); 2236 --recharge-typography-size-2: calc(2.25 * var(--recharge-typography-scale)); 2237 --recharge-typography-size-3: calc(1.625 * var(--recharge-typography-scale)); 2238 --recharge-typography-size-4: calc(1.25 * var(--recharge-typography-scale)); 2239 --recharge-typography-size-5: calc(1 * var(--recharge-typography-scale)); 2240 --recharge-typography-size-6: calc(.875 * var(--recharge-typography-scale)); 2241 2242 /** Text **/ 2243 --recharge-typography-light: #FFFFFF; 2244 --recharge-typography-primary: var(--recharge-color-neutral); 2245 --recharge-typography-secondary: var(--recharge-color-neutral-70); 2246 2247 /* Corners */ 2248 --recharge-corners-radius: 0px; 2249 2250 --recharge-button-border-radius: 0px; 2251 2252 2253 /* Views */ 2254 2255 --recharge-views-background: #FFFFFF; 2256 2257 2258 /* Buttons */ 2259 --recharge-button-font-family: inherit; 2260 --recharge-button-brand: var(--recharge-color-brand); 2261 --recharge-button-color: #FFFFFF; 2262 } 2263</style> 2264 2265</div>
2265<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2265 2266</body> 2267</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.