1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<!doctype html> 17<html class="no-js" lang="en" dir="ltr"> 18<head> 19 20
20<script type="text/javascript" async src="https://na.shgcdn3.com/pixel-collector.js"></script>
20 21 <!-- Brightedge -->
21<script src="//cdn.bc0a.com/autopilot/f00000000318433/autopilot_sdk.js"></script>
21 22 <meta charset="utf-8"> 23 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 24 <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0"><link rel="shortcut icon" href="//amazinggrass.com/cdn/shop/files/favicon_32x32_49ac478b-e0d3-4b0e-9e5a-34ed07a488f8.webp?crop=center&height=48&v=1696904013&width=48" type="image/png" /><title>Green Superfood, Plant Based Protein & Effervescent – Amazing Grass 25</title><meta name="description" content="From nutritious greens to antioxidant-rich superfoods and plant-based proteins, we have products for all your family's tasty nutritional needs. Shop Now!"> 26 27<meta property="og:site_name" content="Amazing Grass"> 28<meta property="og:url" content="https://amazinggrass.com/"> 29<meta property="og:title" content="Green Superfood, Plant Based Protein & Effervescent"> 30<meta property="og:type" content="website"> 31<meta property="og:description" content="From nutritious greens to antioxidant-rich superfoods and plant-based proteins, we have products for all your family's tasty nutritional needs. Shop Now!"><meta property="og:image" content="http://amazinggrass.com/cdn/shop/files/ag-og-image.png?v=1747164104"> 32 <meta property="og:image:secure_url" content="https://amazinggrass.com/cdn/shop/files/ag-og-image.png?v=1747164104"> 33 <meta property="og:image:width" content="1200"> 34 <meta property="og:image:height" content="628"><meta name="twitter:card" content="summary_large_image"> 35<meta name="twitter:title" content="Green Superfood, Plant Based Protein & Effervescent"> 36<meta name="twitter:description" content="From nutritious greens to antioxidant-rich superfoods and plant-based proteins, we have products for all your family's tasty nutritional needs. Shop Now!">
36<script type="application/ld+json"> 37 [ 38 { 39 "@context": "https://schema.org", 40 "@type": "WebSite", 41 "name": "Amazing Grass", 42 "url": "https:\/\/amazinggrass.com" 43 }, 44 { 45 "@context": "https://schema.org", 46 "@type": "Organization", 47 "name": "Amazing Grass", 48 "url": "https:\/\/amazinggrass.com" 49 } 50 ] 51</script>
51 52
53<script type="application/ld+json"> 54{ 55 "@context": "http://schema.org", 56 "@type": "BreadcrumbList", 57 "itemListElement": [ 58 { 59 "@type": "ListItem", 60 "position": 1, 61 "name": "Home", 62 "item": "https://amazinggrass.com" 63 }] 64} 65</script>
65<link rel="canonical" href="https://amazinggrass.com/"> 66 67 <link rel="preconnect" href="https://cdn.shopify.com"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin> 68<link href="//amazinggrass.com/cdn/shop/t/110/assets/theme.css?v=83882337549814669501766531578" as="style" rel="preload"><link href="//amazinggrass.com/cdn/shop/t/110/assets/section-header.css?v=55602922814321423081762367902" as="style" rel="preload"> 69<link rel="preload" href="//amazinggrass.com/cdn/fonts/jost/jost_n5.7c8497861ffd15f4e1284cd221f14658b0e95d61.woff2" as="font" type="font/woff2" crossorigin> 70<link rel="preload" href="//amazinggrass.com/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2" as="font" type="font/woff2" crossorigin> 71<style type="text/css"> 72@font-face { 73 font-family: Jost; 74 font-weight: 500; 75 font-style: normal; 76 font-display: swap; 77 src: url("//amazinggrass.com/cdn/fonts/jost/jost_n5.7c8497861ffd15f4e1284cd221f14658b0e95d61.woff2") format("woff2"), 78 url("//amazinggrass.com/cdn/fonts/jost/jost_n5.fb6a06896db583cc2df5ba1b30d9c04383119dd9.woff") format("woff"); 79} 80@font-face { 81 font-family: "DM Sans"; 82 font-weight: 400; 83 font-style: normal; 84 font-display: swap; 85 src: url("//amazinggrass.com/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2") format("woff2"), 86 url("//amazinggrass.com/cdn/fonts/dm_sans/dmsans_n4.87bdd914d8a61247b911147ae68e754d695c58a6.woff") format("woff"); 87} 88@font-face { 89 font-family: "DM Sans"; 90 font-weight: 500; 91 font-style: normal; 92 font-display: swap; 93 src: url("//amazinggrass.com/cdn/fonts/dm_sans/dmsans_n5.8a0f1984c77eb7186ceb87c4da2173ff65eb012e.woff2") format("woff2"), 94 url("//amazinggrass.com/cdn/fonts/dm_sans/dmsans_n5.9ad2e755a89e15b3d6c53259daad5fc9609888e6.woff") format("woff"); 95} 96@font-face { 97 font-family: "DM Sans"; 98 font-weight: 400; 99 font-style: italic; 100 font-display: swap; 101 src: url("//amazinggrass.com/cdn/fonts/dm_sans/dmsans_i4.b8fe05e69ee95d5a53155c346957d8cbf5081c1a.woff2") format("woff2"), 102 url("//amazinggrass.com/cdn/fonts/dm_sans/dmsans_i4.403fe28ee2ea63e142575c0aa47684d65f8c23a0.woff") format("woff"); 103} 104 105 106 107 108</style> 109<style type="text/css"> 110 111 :root { 112 113 /* Direction */ 114 --direction:ltr; 115 116 /* Font variables */ 117 118 --font-stack-headings: nobel, sans-serif; 119 --font-weight-headings: 900; 120 --font-style-headings: normal; 121 122 --font-stack-body: "DM Sans", sans-serif; 123 --font-weight-body: 400;--font-weight-body-bold: 900;--font-style-body: normal;--font-weight-buttons: var(--font-weight-body-bold);--font-weight-menu: var(--font-weight-body-bold);--base-headings-size: 59; 124 --base-headings-line: 1.1; 125 --base-headings-spacing: -0.01em; 126 --base-body-size: 17; 127 --base-body-line: 1.4; 128 --base-body-spacing: 0.0em; 129 130 --base-menu-size: 17; 131 132 /* Color variables */ 133 134 --color-background-header: #ffffff; 135 --color-secondary-background-header: rgba(0, 73, 31, 0.08); 136 --color-opacity-background-header: rgba(255, 255, 255, 0); 137 --color-text-header: #00491f; 138 --color-foreground-header: #ffffff; 139 --color-accent-header: #008540; 140 --color-foreground-accent-header: #ffffff; 141 --color-borders-header: rgba(0, 73, 31, 0.1); 142 143 --color-background-main: #ffffff; 144 --color-secondary-background-main: rgba(0, 73, 31, 0.08); 145 --color-third-background-main: white; 146 --color-fourth-background-main: rgba(0, 73, 31, 0.02); 147 --color-opacity-background-main: rgba(255, 255, 255, 0); 148 --color-text-main: #00491f; 149 --color-foreground-main: #ffffff; 150 --color-secondary-text-main: rgba(0, 73, 31, 0.62); 151 --color-accent-main: #008540; 152 --color-foreground-accent-main: #ffffff; 153 --color-borders-main: rgba(0, 73, 31, 0.15); 154 155 --color-background-cards: #ffffff; 156 --color-gradient-cards: ; 157 --color-text-cards: #00491f; 158 --color-foreground-cards: #ffffff; 159 --color-secondary-text-cards: rgba(0, 73, 31, 0.6); 160 --color-accent-cards: #008540; 161 --color-foreground-accent-cards: #ffffff; 162 --color-borders-cards: rgba(0,0,0,0); 163 164 --color-background-footer: #00491f; 165 --color-text-footer: #ffffff; 166 --color-accent-footer: #c1d42f; 167 --color-borders-footer: rgba(255, 255, 255, 0.15); 168 169 --color-borders-forms-primary: rgba(0, 73, 31, 0.3); 170 --color-borders-forms-secondary: rgba(0, 73, 31, 0.6); 171 172 /* Borders */ 173 174 --border-width-cards: 1px; 175 --border-radius-cards: 16px; 176 --border-width-buttons: 1px; 177 --border-radius-buttons: 30px; 178 --border-width-forms: 1px; 179 --border-radius-forms: 5px; 180 181 /* Shadows */ 182 --shadow-x-cards: 0px; 183 --shadow-y-cards: 0px; 184 --shadow-blur-cards: 0px; 185 --color-shadow-cards: rgba(0,0,0,0); 186 --shadow-x-buttons: 0px; 187 --shadow-y-buttons: 0px; 188 --shadow-blur-buttons: 0px; 189 --color-shadow-buttons: rgba(0,0,0,0); 190 191 /* Layout */ 192 193 --grid-gap-original-base: 30px; 194 --theme-max-width: 1520px; 195 --container-vertical-space-base: 100px; 196 --image-fit-padding: 5%; 197 198 } 199 200 @media screen and (max-width: 767px) { 201 :root { 202 --border-radius-cards: clamp(8px, 8px, 16px); 203 } 204 } 205 206 207 .facets__summary, #main select, .sidebar select, .modal-content select { 208 background-image: url('data:image/svg+xml;utf8,<svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="%2300491f"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="%2300491f"/></svg>'); 209 } 210 211 .card .star-rating__stars { 212 background-image: url('data:image/svg+xml;utf8,<svg width="20" height="13" viewBox="0 0 14 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m7 0 1.572 4.837h5.085l-4.114 2.99 1.572 4.836L7 9.673l-4.114 2.99 1.571-4.837-4.114-2.99h5.085L7 0Z" stroke="%2300491f" stroke-width="1"/></svg>'); 213 } 214 .card .star-rating__stars-active { 215 background-image: url('data:image/svg+xml;utf8,<svg width="20" height="13" viewBox="0 0 14 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m7 0 1.572 4.837h5.085l-4.114 2.99 1.572 4.836L7 9.673l-4.114 2.99 1.571-4.837-4.114-2.99h5.085L7 0Z" fill="%2300491f" stroke-width="0"/></svg>'); 216 } 217 218 .star-rating__stars { 219 background-image: url('data:image/svg+xml;utf8,<svg width="20" height="13" viewBox="0 0 14 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m7 0 1.572 4.837h5.085l-4.114 2.99 1.572 4.836L7 9.673l-4.114 2.99 1.571-4.837-4.114-2.99h5.085L7 0Z" stroke="%2300491f" stroke-width="1"/></svg>'); 220 } 221 .star-rating__stars-active { 222 background-image: url('data:image/svg+xml;utf8,<svg width="20" height="13" viewBox="0 0 14 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m7 0 1.572 4.837h5.085l-4.114 2.99 1.572 4.836L7 9.673l-4.114 2.99 1.571-4.837-4.114-2.99h5.085L7 0Z" fill="%2300491f" stroke-width="0"/></svg>'); 223 } 224 225 .product-item {--color-borders-cards: #ffffff;}</style> 226 227<style id="root-height"> 228 :root { 229 --window-height: 100vh; 230 } 231</style><link href="//amazinggrass.com/cdn/shop/t/110/assets/theme.css?v=83882337549814669501766531578" rel="stylesheet" type="text/css" media="all" /> 232 233 234
234<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
234<meta name="google-site-verification" content="78LYmzdQMb4fVC2M2VKGUwjirv3ZmIzD1LXTeUmrurQ"> 235<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/1345945674/digital_wallets/dialog"> 236<meta id="in-context-paypal-metadata" data-shop-id="1345945674" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 237<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
237<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=7864425"></script>
237 238<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
239<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=7864425&shop_id=1345945674" crossorigin="anonymous"></script>
vendor: 1 bytes, line 239
239
240<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":1345945674,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/1345945674","merchantName":"Amazing Grass","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Amazing Grass","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 240
240
241<script id="shopify-features" type="application/json">{"accessToken":"74842fb8332dc8bb126a1fab6ab0d28a","betas":["rich-media-storefront-analytics"],"domain":"amazinggrass.com","predictiveSearch":true,"shopId":1345945674,"locale":"en"}</script>
vendor: 1 bytes, line 241
241
242<script>var Shopify = Shopify || {}; 243Shopify.shop = "amazinggrass.myshopify.com"; 244Shopify.locale = "en"; 245Shopify.currency = {"active":"USD","rate":"1.0"}; 246Shopify.country = "US"; 247Shopify.theme = {"name":"AG Redesign 2025 v2","id":182910976365,"schema_name":"Local","schema_version":"2.6.2","theme_store_id":1651,"role":"main"}; 248Shopify.theme.handle = "null"; 249Shopify.theme.style = {"id":null,"handle":null}; 250Shopify.cdnHost = "amazinggrass.com/cdn"; 251Shopify.routes = Shopify.routes || {}; 252Shopify.routes.root = "/"; 253Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 254Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 255Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 256Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 256
256
257<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 257
257
258<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 258
258
259<script> 260 window.ShopifyPay = window.ShopifyPay || {}; 261 window.ShopifyPay.apiHost = "shop.app\/pay"; 262 window.ShopifyPay.redirectState = null; 263</script>
vendor: 1 bytes, line 263
263
264<script> 265 window.Shopify = window.Shopify || {}; 266 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 267 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 268 window.Shopify.SignInWithShop.eligible = true; 269</script>
vendor: 1 bytes, line 269
269
270<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 270
270
271<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 271
271
272<script type="module"> 273 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 274 275 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 276 277</script>
vendor: 1 bytes, line 277
277
278<script> 279 window.Shopify = window.Shopify || {}; 280 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 281 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"]}; 282</script>
vendor: 1 bytes, line 282
282
283<script>(function() { 284 var isLoaded = false; 285 function asyncLoad() { 286 if (isLoaded) return; 287 isLoaded = true; 288 var urls = ["https:\/\/cdn-loyalty.yotpo.com\/loader\/UPD8DPnD6mHhkIWQNK25nA.js?shop=amazinggrass.myshopify.com","\/\/cdn.shopify.com\/s\/files\/1\/0257\/0108\/9360\/t\/85\/assets\/usf-license.js?shop=amazinggrass.myshopify.com","\/\/cdn.shopify.com\/proxy\/d9c7966860b56e47f5c5ecefcfa12b538a5be822704fe0e8f44232f150cf13fb\/apps.bazaarvoice.com\/deployments\/amazinggrass\/main_site\/production\/en_US\/bv.js?shop=amazinggrass.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"]; 289 for (var i = 0; i < urls.length; i++) { 290 var s = document.createElement('script'); 291 s.type = 'text/javascript'; 292 s.async = true; 293 s.src = urls[i]; 294 var x = document.getElementsByTagName('script')[0]; 295 x.parentNode.insertBefore(s, x); 296 } 297 }; 298 if(window.attachEvent) { 299 window.attachEvent('onload', asyncLoad); 300 } else { 301 window.addEventListener('load', asyncLoad, false); 302 } 303})();</script>
vendor: 1 bytes, line 303
303
304<script id="__st">var __st={"a":1345945674,"offset":-25200,"reqid":"63d7c479-ec67-4a79-be35-b6fbb3cd0f43-1791056867","pageurl":"amazinggrass.com\/","u":"18cd35cac36f","p":"home"};</script>
vendor: 1 bytes, line 304
304
305<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 305
305
306<script id="form-persister">!function(){'use strict';const t='contact',e='new_comment',n=[[t,t],['blogs',e],['comments',e],[t,'customer']],o='password',r='form_key',c=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',o],s=()=>{try{return window.sessionStorage}catch{return}},i='__shopify_v',u=t=>t.elements[r],a=function(){const t=[...n].map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');var e;return e=t,()=>e?[...document.querySelectorAll(e)].map((t=>t.form)):[]}();function m(t){const e=u(t);a().includes(t)&&(!e||!e.value)&&function(t){try{if(!s())return;!function(t){const e=s();if(!e)return;const n=u(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){u(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:r})),t.elements[r].value=e}(t,e),function(t,e){const n=s();if(!n)return;const r=[...t.querySelectorAll(`input[type='${o}']`)].map((({name:t})=>t)),u=[...c,...r],a={};for(const[o,c]of new FormData(t).entries())u.includes(o)||(a[o]=c);n.setItem(e,JSON.stringify({[i]:1,action:t.action,data:a}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(t)}const f=t=>{if('true'===t.dataset.persistBound)return;const e=function(t,e){const n=function(t){return'function'==typeof t.submit?t.submit:HTMLFormElement.prototype.submit}(t).bind(t);return function(){let t;return()=>{t||(t=!0,(()=>{try{e(),n()}catch(t){(t=>{console.error('form submit failed',t)})(t)}})(),setTimeout((()=>t=!1),250))}}()}(t,(()=>{m(t)}));!function(t,e){if('function'==typeof t.submit&&'function'==typeof e)try{t.submit=e}catch{}}(t,e),t.addEventListener('submit',(t=>{t.preventDefault(),e()})),t.dataset.persistBound='true'};!function(){function t(t){const e=(t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form})(t);e&&m(e)}document.addEventListener('submit',t),document.addEventListener('DOMContentLoaded',(()=>{const e=a();for(const t of e)f(t);var n;n=document.body,new window.MutationObserver((t=>{for(const e of t)if('childList'===e.type&&e.addedNodes.length)for(const t of e.addedNodes)1===t.nodeType&&'FORM'===t.tagName&&a().includes(t)&&f(t)})).observe(n,{childList:!0,subtree:!0,attributes:!1}),document.removeEventListener('submit',t)}))}()}();</script>
vendor: 1 bytes, line 306
306
307<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//amazinggrass.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 307
307
308<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 = "//amazinggrass.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>
308<script crossorigin="anonymous" defer="defer" src="//amazinggrass.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 308
308
309<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 309
309
310<script> 311 window.Shopify = window.Shopify || {}; 312 window.Shopify.MCP = window.Shopify.MCP || {}; 313 window.Shopify.MCP.enabled = true; 314 window.Shopify.MCP.shop = "amazinggrass.myshopify.com"; 315 window.Shopify.MCP.mcpEndpoint = "https:\/\/amazinggrass.com\/api\/mcp"; 316 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"]}}]; 317</script>
vendor: 1 bytes, line 317
317
318<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("\/\/amazinggrass.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 319</script>
vendor: 1 bytes, line 319
319
320<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://amazinggrass.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 321</script>
vendor: 1 bytes, line 321
321
322<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 323 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); 324</script>
vendor: 1 bytes, line 324
324
325<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})}})); 326</script>
326 327<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://amazinggrass.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 328<style id="shopify-accelerated-checkout-cart"> 329 #shopify-buyer-consent { 330 margin-top: 1em; 331 display: inline-block; 332 width: 100%; 333} 334 335#shopify-buyer-consent.hidden { 336 display: none; 337} 338 339#shopify-subscription-policy-button { 340 background: none; 341 border: none; 342 padding: 0; 343 text-decoration: underline; 344 font-size: inherit; 345 cursor: pointer; 346} 347 348#shopify-subscription-policy-button::before { 349 box-shadow: none; 350} 351 352 </style> 353
354<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
354 355 356 357 358 359 360 361
361<script type="text/javascript"> 362 363 window.__shgMoneyFormat = window.__shgMoneyFormat || {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}; 364 365 window.__shgCurrentCurrencyCode = window.__shgCurrentCurrencyCode || { 366 currency: "USD", 367 currency_symbol: "$", 368 decimal_separator: ".", 369 thousands_separator: ",", 370 decimal_places: 2, 371 currency_symbol_location: "left" 372 }; 373 </script>
373 374 375 376 377
378<script>window._usfActive=1;</script>
vendor: 1 bytes, line 378
378
379<script>window._usfTheme={ 380 id:123811201129, 381 name:"Local", 382 version:"2.2.4", 383 vendor:"KrownThemes", 384 applied:1, 385 assetUrl:"//amazinggrass.com/cdn/shop/t/110/assets/usf-boot.js?v=15384874395198300481780592165" 386}; 387window._usfCustomerTags = null; 388window._usfCollectionId = null; 389window._usfCollectionDefaultSort = null; 390window._usfLocale = "en"; 391window._usfRootUrl = "\/"; 392window.usf = { 393 settings: {"online":1,"version":"1.0.2.4112","shop":"amazinggrass.myshopify.com","siteId":"479743d5-5101-47aa-97ab-a8e7b43de20a","resUrl":"//cdn.shopify.com/s/files/1/0257/0108/9360/t/85/assets/","analyticsApiUrl":"https://svc-16-analytics-usf.hotyon.com/set","searchSvcUrl":"https://svc-16-usf.hotyon.com/","enabledPlugins":[],"showGotoTop":1,"mobileBreakpoint":767,"decimals":2,"useTrailingZeros":1,"decimalDisplay":".","thousandSeparator":",","currency":"USD","priceLongFormat":"${0} USD","priceFormat":"${0}","plugins":{},"revision":86784772,"filters":{"filtersHorzStyle":"default","filtersHorzPosition":"left","filtersMobileStyle":"default"},"instantSearch":{"online":1,"searchBoxSelector":"input[name=q]:not([placeholder=\"Search blog posts...\"])","numOfSuggestions":6,"numOfProductMatches":6,"showCollections":1,"numOfCollections":4,"showPages":1,"numOfPages":4,"layout":"two-columns","productDisplayType":"list","productColumnPosition":"left","productsPerRow":2,"showPopularProducts":1,"numOfPopularProducts":6,"numOfRecentSearches":5},"search":{"online":1,"sortFields":["r","title","-title","bestselling","price","-price"],"searchResultsUrl":"/pages/search-results","more":"infinite","itemsPerPage":28,"imageSizeType":"fixed","imageSize":"600,350","showSearchInputOnSearchPage":1,"showAltImage":1,"showSale":1,"showSoldOut":1,"canChangeUrl":1},"collections":{"online":1,"collectionsPageUrl":"/pages/collections"},"filterNavigation":{"showFilterArea":1,"showSingle":1,"showProductCount":1},"translation_en":{"search":"Search","latestSearches":"Latest searches","popularSearches":"Popular searches","viewAllResultsFor":"view all results for <span class=\"usf-highlight\">{0}</span>","viewAllResults":"view all results","noMatchesFoundFor":"No matches found for \"<strong>{0}</strong>\". Please try again with a different term.","productSearchResultWithTermSummary":"<strong>{0}</strong> results for '<strong>{1}</strong>'","productSearchResultSummary":"<strong>{0}</strong> products","productSearchNoResults":"<h2>No matching for '<strong>{0}</strong>'.</h2><p>But don't give up â check the filters, spelling or try less specific search terms.</p>","productSearchNoResultsEmptyTerm":"<h2>No results found.</h2><p>But don't give up â check the filters or try less specific terms.</p>","clearAll":"Clear all","clear":"Clear","clearAllFilters":"Clear all filters","clearFiltersBy":"Clear filters by {0}","filterBy":"Filter by {0}","sort":"Sort","sortBy_r":"Relevance","sortBy_title":"Title: A-Z","sortBy_-title":"Title: Z-A","sortBy_date":"Date: Old to New","sortBy_-date":"Date: New to Old","sortBy_price":"Price: Low to High","sortBy_-price":"Price: High to Low","sortBy_percentSale":"Percent sales: Low to High","sortBy_-percentSale":"Percent sales: High to Low","sortBy_-discount":"Discount: High to Low","sortBy_bestselling":"Best selling","sortBy_-available":"Inventory: High to Low","sortBy_producttype":"Product Type: A-Z","sortBy_-producttype":"Product Type: Z-A","sortBy_random":"Random","filters":"Filters","filterOptions":"Filter options","clearFilterOptions":"Clear all filter options","youHaveViewed":"You've viewed {0} of {1} products","loadMore":"Load more","loadPrev":"Load previous","productMatches":"Product matches","trending":"Trending","didYouMean":"Sorry, nothing found for '<strong>{0}</strong>'.<br>Did you mean '<strong>{1}</strong>'?","searchSuggestions":"Search suggestions","popularSearch":"Popular search","quantity":"Quantity","selectedVariantNotAvailable":"The selected variant is not available.","addToCart":"Add to cart","seeFullDetails":"See full details","chooseOptions":"Choose options","quickView":"Quick view","sale":"Sale","save":"Save","soldOut":"Sold out","viewItems":"View items","more":"More","all":"All","prevPage":"Previous page","gotoPage":"Go to page {0}","nextPage":"Next page","from":"From","collections":"Collections","pages":"Pages","sortBy_option:Size":"Size: A-Z","sortBy_-option:Size":"Size: Z-A","sortBy_varMetafield:custom.form":"custom.form: A-Z","sortBy_-varMetafield:custom.form":"custom.form: Z-A","sortBy_metafield:custom.dietary":"custom.dietary: A-Z","sortBy_-metafield:custom.dietary":"custom.dietary: Z-A"}} 394} 395</script>
vendor: 1 bytes, line 395
395
396<script src="//amazinggrass.com/cdn/shop/t/110/assets/usf-boot.js?v=15384874395198300481780592165" async></script>
396 397 398
398<script> 399 const rbi = []; 400 const ribSetSize = (img) => { 401 if ( img.offsetWidth / img.dataset.ratio < img.offsetHeight ) { 402 img.setAttribute('sizes', `${Math.ceil(img.offsetHeight * img.dataset.ratio)}px`); 403 } else { 404 img.setAttribute('sizes', `${Math.ceil(img.offsetWidth)}px`); 405 } 406 } 407 const debounce = (fn, wait) => { 408 let t; 409 return (...args) => { 410 clearTimeout(t); 411 t = setTimeout(() => fn.apply(this, args), wait); 412 }; 413 } 414 window.KEYCODES = { 415 TAB: 9, 416 ESC: 27, 417 DOWN: 40, 418 RIGHT: 39, 419 UP: 38, 420 LEFT: 37, 421 RETURN: 13 422 }; 423 window.addEventListener('resize', debounce(()=>{ 424 for ( let img of rbi ) { 425 ribSetSize(img); 426 } 427 }, 250)); 428 </script>
428<noscript> 429 <link rel="stylesheet" href="//amazinggrass.com/cdn/shop/t/110/assets/theme-noscript.css?v=42099867224588620941762367902"> 430 </noscript> 431<link rel="stylesheet" href="https://use.typekit.net/bzu3lfk.css"> 432
432<script src="https://cdn-widgetsrepository.yotpo.com/v1/loader/UPD8DPnD6mHhkIWQNK25nA" async></script>
432 433 434 435 <!-- OneTrust Cookies Consent Notice start for amazinggrass.com -->
436<script type="text/javascript" src="https://cdn.cookielaw.org/consent/541af074-5a62-4ce4-a223-65137afa29e6/OtAutoBlock.js" ></script>
vendor: 1 bytes, line 436
436
437<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="541af074-5a62-4ce4-a223-65137afa29e6" ></script>
437 438
439<script type="text/javascript"> 440function validateEmail(e){return!!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(e)||(alert("Invalid, check email address."),!1)}; 441function handleEmailSuppression(){var e=document.querySelector("#suppressionEmailAddress");validateEmail(e.value)&&(analytics.identify({email:e.value,suppression:"Y"}),e.value="",document.querySelector(".email-ba-opt-out-button").innerText="SENT")}; 442 443function OptanonWrapper() { 444var suppressionHTML = '<div style="margin-top: 1rem;" class="ot-custom-section-ba"><h4 style="font-size: .8rem;margin-bottom: 1rem;">Behavioral Advertising</h4><p style="font-size: .8rem;line-height: 1.5;">Behavioral Advertising Linked to Your Email Address: You may have previously provided your email address to us. In some cases, we use email addresses or other non-cookie personal information to deliver behavioral advertising to consumers on third party platforms like Facebook and Google. <a href="/pages/behavioral-advertising-opt-out">Click here to access the opt-out request form.</a>'; 445if (!document.querySelector(".ot-custom-section-ba")) { 446document.querySelector("#ot-pc-content .ot-cat-grp").insertAdjacentHTML("afterend", suppressionHTML); 447} 448 449var marketingCookieCategory = 'C0004,'; 450var analyticsCookieCategory = 'C0002,'; 451 452function waitForOneTrust() { 453 hasOneTrustLoaded(); 454 let attempts = 0; 455 var interval = setInterval(function () { 456 if (hasOneTrustLoaded() || attempts > 100){ 457 clearInterval(interval); 458 } 459 attempts++; 460 }, 100) 461} 462function hasOneTrustLoaded() { 463 if (typeof window.OnetrustActiveGroups === 'string') { 464 //check now 465 optanonWrapper() 466 // and wrap and trigger after cookie opt-in 467 window.OptanonWrapper = optanonWrapper; 468 return true; 469 } 470 return false; 471} 472 473function sendConsent(trackingConsent) { 474 window.Shopify.customerPrivacy.setTrackingConsent(trackingConsent, () => { 475 console.log('Shopify Consent Set') 476 }); 477} 478 479const trackingConsent = {marketing: !!window.OnetrustActiveGroups.includes(marketingCookieCategory), 480analytics: !!window.OnetrustActiveGroups.includes(analyticsCookieCategory)}; 481 482 window.Shopify.loadFeatures( 483 [ 484 { 485 name: 'consent-tracking-api', 486 version: '0.1', 487 }, 488 ], 489 error => { 490 if (error) { 491 throw error; 492 } 493 sendConsent(trackingConsent) 494 }, 495 ); 496 497} 498</script>
498 499<!-- OneTrust Cookies Consent Notice end for amazinggrass.com --> 500 501
502<script src="//embed.typeform.com/next/embed.js"></script>
502</div> 503 504 <!-- Google Tag Manager -->
505<script data-ot-ignore>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 506new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 507j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.setAttributeNode(d.createAttribute('data-ot-ignore'));j.async=true;j.src= 508'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 509})(window,document,'script','dataLayer','GTM-MTMGSC2'); 510</script>
510 511 512 <!-- BAZAAR VOICE COOKIE CONSENT SCRIPTS -->
513<script type="text/javascript"> 514 515 function bazaarvoiceCookieConsent() { 516 var analyticsAllowed = OptanonActiveGroups.includes('C0002'); 517 518 let attempts = 0; 519 var interval = setInterval(function () { 520 if (bazaarvoiceLoaded() || attempts > 100){ 521 clearInterval(interval); 522 523 window.BV.cookieConsent.setConsent({ 524 bv_metrics: analyticsAllowed, 525 BVBRANDID: analyticsAllowed, 526 BVBRANDSID: analyticsAllowed 527 }) 528 } 529 530 attempts++; 531 }, 100) 532} 533 534 function bazaarvoiceLoaded() { 535 return !!window.BV.cookieConsent 536 } 537</script>
537 538 539 540 541
542<script type="text/javascript"> 543 544 window.SHG_CUSTOMER = null; 545 546</script>
546 547 548 549 550 551 552 553 554<!-- BEGIN app block: shopify://apps/littledata-the-data-layer/blocks/LittledataLayer/45a35ed8-a2b2-46c3-84fa-6f58497c5345 --> 555
555<script type="application/javascript"> 556 try { 557 var layer = {"env":"production","ecommerce":{"impressions":[]},"debug":false,"hideBranding":false,"pageType":null,"productClicks":true,"productListLinksHaveImages":false,"productListLinksHavePrices":false,"productPageClicks":true,"referralExclusion":null,"sendNoteAttributes":true,"googleAnalytics4":{"disabledEvents":[],"doNotTrackReplaceState":false,"productIdentifier":"PRODUCT_ID","uniqueIdentifierForOrders":"orderId","usePageTypeForListName":false,"measurementId":"G-ZFK3XB4Y63","respectUserTrackingConsent":true},"featureType":"standardApp"}; 558 var currentMarketId = 1439432809; 559 560 var marketOverwrites = null; 561 562 563 564 if (marketOverwrites) { 565 Object.keys(marketOverwrites).forEach(function(connectionName) { 566 var overwrites = marketOverwrites[connectionName]; 567 if (overwrites) { 568 layer[connectionName] = Object.assign({}, layer[connectionName], overwrites); 569 } 570 }); 571 } else if (!currentMarketId) { 572 573 } 574 575 window.LittledataLayer = { 576 ...layer, 577 country: "US", 578 language: "en", 579 market: { 580 id: 1439432809, 581 handle: "us" 582 } 583 } 584 585 try { 586 sessionStorage.setItem('_ldmk', JSON.stringify({ 587 id: 1439432809, 588 handle: "us" 589 })); 590 } catch(e) {} 591 } catch {} 592 593 594 console.log(`%cThis store uses Littledata ð to automate its Google Analytics setup and make better, data-driven decisions. Learn more at https://apps.shopify.com/littledata`,'color: #088f87;'); 595 596 </script>
596 597 598
598<script async type="text/javascript" src="https://cdn.shopify.com/extensions/01a0f28a-6521-7cc4-bd6f-a1dbc311c1ec/littledata-148/assets/colibrius-g.js"></script>
598 599 600 601 602 603 604 605 606 607 608 609 610<!-- END app block --><!-- BEGIN app block: shopify://apps/fbp-fast-bundle/blocks/fast_bundle/9e87fbe2-9041-4c23-acf5-322413994cef --> 611 612 613 614
614<script> 615 window.rbrHideScripts = true; 616 </script>
616 617 618 619 620<!-- END app block --><!-- BEGIN app block: shopify://apps/ordergroove-subscriptions/blocks/main-app-embed/cf69fc68-e893-4d33-87e3-4e71e2f5822f --> 621 622 623 624 625 626
627<script 628 type="text/javascript" 629 src="https://static.ordergroove.com/86a1e7855b9b4932b150f7f867ea1295/main.js" 630 defer 631 data-shopify-selling-plans 632 ></script>
632 633 634
635<script> 636 document.addEventListener("DOMContentLoaded", (event) => { 637 const ordergrooveJsInstances = Array.from(document.querySelectorAll('script[src*="ordergroove.js"]')); 638 if (ordergrooveJsInstances.length > 0) { 639 console.warn("Multiple Ordergroove Theme Integrations appear to be in use. Subscriptions may not work as intended. Please check your theme setup."); 640 } 641 }); 642</script>
642 643 644 645<!-- END app block -->
645<script src="https://cdn.shopify.com/extensions/01a0d7ba-f423-716f-ac31-9fbf68b5c662/revenuehunt-201/assets/embed.js" type="text/javascript" defer="defer"></script>
645 646<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
647<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: 1345945674,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};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 647
647
648<script> 649 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 650</script>
vendor: 1 bytes, line 650
650
651<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}
651).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: 1345945674,storefrontBaseUrl: "https://amazinggrass.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://amazinggrass.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2578284909","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"GT-5R78WKTZ\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-SDK6W6Z0EY\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-SDK6W6Z0EY\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-SDK6W6Z0EY\\\"}],\\\"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":"2094793069","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9bce1c0cdfc09538057898e4ff134fa2","type":"APP","apiClientId":30400643073,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
651,"dataSharingState":"unrestricted"},{"id":"210272361","configuration":"{\"site_id\":\"33741bcd-f65c-4510-84fc-a2f2cbafdd81\",\"analytics_endpoint\":\"https:\\\/\\\/na.shgcdn3.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"695709fc3f146fa50a25299517a954f2","type":"APP","apiClientId":1158168,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"210206825","configuration":"{\"locale\":\"en_US\",\"client\":\"amazinggrass\",\"environment\":\"production\",\"deployment_zone\":\"main_site\",\"use_external_ids\":\"false\",\"use_variants\":\"false\",\"external_id_attribute\":\"default\",\"storefront_api_key\":\"none\",\"product_metafield_key\":\"none\",\"product_metafield_namespace\":\"none\",\"multi_locale_enabled\":\"false\",\"locale_mapping\":\"{}\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"bf601cbef12079fa1ab77422415f1989","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":"187629673","configuration":"{\"shopId\":\"68ffb5337ab8c9ae05c0a14e\",\"env\":\"production\",\"featureType\":\"standardApp\",\"productViewEnabled\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"687df24bcd6cc2cee72686ebb7794e6d","type":"APP","apiClientId":1464241,"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":"23199849","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"7","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"Checkout Datalayer"},{"id":"138838381","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"75","type":"CUSTOM","privacyPurposes":[],"name":"Emarsys Web Extend"},{"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":"Amazing Grass","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"amazinggrass.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/amazinggrass.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"1485694402634","handle":"greens-blend-the-original","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"13610019029066","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"14650075087213","handle":"sweet-greens-peach-hibiscus","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51777923416429","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"1387430772810","handle":"chocolate-greens-blend","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"12432361062474","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"1387430936650","handle":"watermelon-energy-greens-blend","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"12432361586762","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
651,{"id":"1387430838346","handle":"lemon-lime-energy-greens-blend","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"12432361291850","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"1387431067722","handle":"super-greens-digest-green-bliss","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"12432361881674","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"1387431592010","handle":"fizzygreentablets-energy-tropical","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"12566434807882","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://amazinggrass.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"182910976365","themeStoreId":"1651","themePublished":"true","eventMetadataId":"2053552d-6416-461d-a4a2-082bce2fd036","pageType":"home","shopId":"1345945674","storefrontBaseUrl":"https:\/\/amazinggrass.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>
651<script> 652 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 653 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 654 window.ShopifyAnalytics.meta.currency = 'USD'; 655 var meta = {"page":{"pageType":"home","requestId":"63d7c479-ec67-4a79-be35-b6fbb3cd0f43-1791056867"}}; 656 for (var attr in meta) { 657 window.ShopifyAnalytics.meta[attr] = meta[attr]; 658 } 659</script>
vendor: 1 bytes, line 659
659
660<script class="analytics"> 661 (function () { 662 var customDocumentWrite = function(content) { 663 var jquery = null; 664 665 if (window.jQuery) { 666 jquery = window.jQuery; 667 } else if (window.Checkout && window.Checkout.$) { 668 jquery = window.Checkout.$; 669 } 670 671 if (jquery) { 672 jquery('body').append(content); 673 } 674 }; 675 676 var hasLoggedConversion = function(token) { 677 if (token) { 678 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 679 } 680 return false; 681 } 682 683 var setCookieIfConversion = function(token) { 684 if (token) { 685 var twoMonthsFromNow = new Date(Date.now()); 686 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 687 688 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 689 } 690 } 691 692 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 693 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 694 if (trekkie.integrations) { 695 return; 696 } 697 trekkie.methods = [ 698 'identify', 699 'page', 700 'ready', 701 'track', 702 'trackForm', 703 'trackLink' 704 ]; 705 trekkie.factory = function(method) { 706 return function() { 707 var args = Array.prototype.slice.call(arguments); 708 args.unshift(method); 709 trekkie.push(args); 710 if (method == 'track' || method == 'page') { 711 var pageUrl; 712 try { 713 pageUrl = window.location.href; 714 } catch (e) {} 715 var pageReferrer; 716 try { 717 pageReferrer = document.referrer; 718 } catch (e) {} 719 try { 720 if (window.__TREKKIE_SHIM_QUEUE == null) { 721 window.__TREKKIE_SHIM_QUEUE = []; 722 } 723 window.__TREKKIE_SHIM_QUEUE.push({ 724 from: 'trekkie-stub', 725 method: method, 726 args: args.slice(1), 727 pageContext: { 728 url: pageUrl, 729 referrer: pageReferrer 730 } 731 }); 732 } catch (e) { 733 // no-op 734 } 735 } 736 return trekkie; 737 }; 738 }; 739 for (var i = 0; i < trekkie.methods.length; i++) { 740 var key = trekkie.methods[i]; 741 trekkie[key] = trekkie.factory(key); 742 } 743 trekkie.load = function(config) { 744 trekkie.config = config || {}; 745 trekkie.config.initialDocumentCookie = document.cookie; 746 var first = document.getElementsByTagName('script')[0]; 747var script = document.createElement('script'); 748script.type = 'text/javascript'; 749script.onerror = function(e) { 750 var scriptFallback = document.createElement('script'); 751 scriptFallback.type = 'text/javascript'; 752 scriptFallback.onerror = function(error) { 753 var Monorail = { 754 produce: function produce(monorailDomain, schemaId, payload) { 755 var currentMs = new Date().getTime(); 756 var event = { 757 schema_id: schemaId, 758 payload: payload, 759 metadata: { 760 event_created_at_ms: currentMs, 761 event_sent_at_ms: currentMs 762 } 763 }; 764 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 765 }, 766 sendRequest: function sendRequest(endpointUrl, payload) { 767 // Try the sendBeacon API 768 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 769 var blobData = new window.Blob([payload], { 770 type: 'text/plain' 771 }); 772 773 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 774 return true; 775 } // sendBeacon was not successful 776 777 } // XHR beacon 778 779 var xhr = new XMLHttpRequest(); 780 781 try { 782 xhr.open('POST', endpointUrl); 783 xhr.setRequestHeader('Content-Type', 'text/plain'); 784 xhr.send(payload); 785 } catch (e) { 786 console.log(e); 787 } 788 789 return false; 790 }, 791 isIos12: function isIos12() { 792 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 793 } 794 }; 795 Monorail.produce('monorail-edge.shopifysvc.com', 796 'trekkie_storefront_load_errors/1.1', 797 {shop_id: 1345945674, 798 theme_id: 182910976365, 799 app_name: "storefront", 800 context_url: window.location.href, 801 source_url: "//amazinggrass.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 802 803 }; 804 scriptFallback.async = true; 805 scriptFallback.src = '//amazinggrass.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 806 first.parentNode.insertBefore(scriptFallback, first); 807}; 808script.async = true; 809script.src = '//amazinggrass.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 810first.parentNode.insertBefore(script, first); 811 812 }; 813 trekkie.load( 814 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":1345945674,"isMerchantRequest":null,"themeId":182910976365,"themeCityHash":"14323821842069169560","contentLanguage":"en","currency":"USD","eventMetadataId":"2053552d-6416-461d-a4a2-082bce2fd036"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 815 ); 816 817 var loaded = false;
818 trekkie.ready(function() { 819 if (loaded) return; 820 loaded = true; 821 822 window.ShopifyAnalytics.lib = window.trekkie; 823 824 var originalDocumentWrite = document.write; 825 document.write = customDocumentWrite; 826 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 827 document.write = originalDocumentWrite; 828 829 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 830 var token = match? match[1]: undefined; 831 if (!hasLoggedConversion(token)) { 832 setCookieIfConversion(token); 833 834 } 835 }); 836 837 window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"63d7c479-ec67-4a79-be35-b6fbb3cd0f43-1791056867","shopifyEmitted":true}); 838 839 var eventsListenerScript = document.createElement('script'); 840 eventsListenerScript.async = true; 841 eventsListenerScript.src = "//amazinggrass.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 842 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 843})();</script>
vendor: 1 bytes, line 843
843
844<script 845 defer 846 src="https://amazinggrass.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 847 data-application="storefront-renderer" 848 data-shop-id="1345945674" 849 data-render-region="gcp-us-central1" 850 data-page-type="index" 851 data-theme-instance-id="182910976365" 852 data-theme-name="Local" 853 data-theme-version="2.6.2" 854 data-monorail-region="shop_domain" 855 data-resource-timing-sampling-rate="10" 856 data-shs="true" 857 data-shs-beacon="true" 858 data-shs-export-with-fetch="true" 859 data-shs-logs-sample-rate="1" 860 data-shs-beacon-endpoint="https://amazinggrass.com/api/collect" 861></script>
861 862<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1822614467000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1791058667000"><meta name="new-cookie-storage-activated" content="t"> 863</head> 864 865<body id="green-superfood-plant-based-protein-amp-effervescent" class="no-touchevents 866 867 template-index template-index 868 869 870 sidebars-has-scrollbars 871"> 872 873
873<script type="text/javascript"> 874 if ( 'ontouchstart' in window || window.DocumentTouch && document instanceof DocumentTouch ) { document.querySelector('body').classList.remove('no-touchevents'); document.querySelector('body').classList.add('touchevents'); } 875 </script>
875 876 877 <a href="#main" class="visually-hidden skip-to-content" tabindex="0" data-js-inert>Skip to content</a> 878 <div id="screen-reader-info" aria-live="polite" class="visually-hidden"></div> 879 880 <link href="//amazinggrass.com/cdn/shop/t/110/assets/section-header.css?v=55602922814321423081762367902" rel="stylesheet" type="text/css" media="all" /> 881<!-- BEGIN sections: header-group --> 882<div id="shopify-section-sections--25765833703789__announcement_bar_bcqmyx" class="shopify-section shopify-section-group-header-group mount-announcement-bar">
882<script src="//amazinggrass.com/cdn/shop/t/110/assets/section-announcement-bar.js?v=2655672852751453971762367902" defer></script>
882<announcement-bar 883 id="announcement-sections--25765833703789__announcement_bar_bcqmyx" 884 style="display:block; border-radius: 0 0 17px 0;" 885 data-js-inert 886 > 887 <div class="container--large"> 888 <div class="announcement-bar"> 889 <div class="announcement-bar__social-icons lap-hide"></div> 890 891 <div class="announcement-bar__content"><button 892 class="announcement-bar__content-nav announcement-bar__content-nav--left announcement-bar__content-nav--disabled" 893 tabindex="0" 894 > 895 <span class="visually-hidden">Previous</span><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></button><div class="announcement-bar__slider" data-js-slider> 896 897 898 899 900 901 902 903 <span class="announcement" ><a 904 href="https://amazinggrass.com/products/sweet-savings-bundle" 905 906 >Limited Time Bundle: Super Greens 30 Servings + Sweet Greens 25 Servings â Only $36.99 907</a></span> 908 909 910 911 912 913 914 915 916 917 <span class="announcement" ><a 918 href="https://amazinggrass.com/collections/sweet-greens" 919 920 >50% Off Sweet Greens (25 Servings) While Supplies Last 921</a></span> 922 923 924 925 926 927 928 929 930 931 <span class="announcement" ><a 932 href="/collections/all-products" 933 934 >FREE SHIPPING ON ALL ORDERS $59.99+ (CONTIGUOUS 48 STATES ONLY) 935</a></span> 936 937 938 939 940 941 942 943 944 945 <span class="announcement" ><a 946 href="/collections/all" 947 948 >20% OFF + FREE SHIPPING ON ALL SUBSCRIPTION ORDERS 949</a></span> 950 951</div><button class="announcement-bar__content-nav announcement-bar__content-nav--right" tabindex="0"> 952 <span class="visually-hidden">Next</span><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></button></div> 953 954 <div class="announcement-bar__localization-form lap-hide"> 955</div> 956 </div> 957 </div> 958 </announcement-bar> 959 960 <style data-shopify> 961#announcement-sections--25765833703789__announcement_bar_bcqmyx .announcement-bar, #announcement-sections--25765833703789__announcement_bar_bcqmyx .announcement-bar a, #announcement-sections--25765833703789__announcement_bar_bcqmyx .announcement-bar .localization-form__item-text { 962 color: #ffffff; 963 } 964 #announcement-sections--25765833703789__announcement_bar_bcqmyx .announcement-bar svg *, #announcement-sections--25765833703789__announcement_bar_bcqmyx .announcement-bar .localization-form__item-symbol * { 965 fill: #ffffff; 966 }#announcement-sections--25765833703789__announcement_bar_bcqmyx, #announcement-sections--25765833703789__announcement_bar_bcqmyx .announcement-bar__content-nav { 967 background: #00491f; 968 }</style> 969 970 971</div><div id="shopify-section-sections--25765833703789__header" class="shopify-section shopify-section-group-header-group site-header-container mount-header"><style data-shopify> 972 .header__top { 973 --header-logo: 70px; 974 } 975 @media screen and (max-width: 767px) { 976 .header__top { 977 --header-logo: 50px; 978 } 979 } 980 @media screen and (min-width: 1521px) { 981 .site-nav.style--classic .submenu.mega-menu { 982 max-width: 80%; 983 margin-inline-start: 0; 984 } 985 } 986</style> 987 988<main-header id="site-header" class="site-header" data-js-inert data-sticky-header > 989 990 <div class="header-container header-container--top hide-border-on-portable "> 991 <div class="header__top container--large"> 992 993 994 995 <!-- logo --> 996 997 <div id="logo" class="logo"><a class="logo-img logo-img--mobile" title="Amazing Grass" href="/"> 998 <img src="//amazinggrass.com/cdn/shop/files/Amazing-Grass-logo-color.png?v=1740591057" alt="Amazing Grass" width="900" height="304" 999 style="width: 207px; object-fit:contain" 1000 /> 1001 </a><a class="logo-img logo-img--desk-only " title="Amazing Grass" href="/" style="height:var(--header-logo)"> 1002 <img src="//amazinggrass.com/cdn/shop/files/Amazing-Grass-logo-color.png?v=1740591057" alt="Amazing Grass" width="900" height="304" 1003 style="width: 207px; object-fit:contain" 1004 /> 1005 </a> 1006 1007 </div> 1008 1009 <!-- header blocks --> 1010 1011 <div class="header-actions header-actions--buttons header-actions--show-search portable-hide"> 1012 1013 <a class="button--icon account-img" href="/account/login" title="Account login"><span class="button__icon" role="img" aria-hidden="true"><span class="visually-hidden">Account</span><svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3333 19.25V17.4167C18.3333 16.4442 17.947 15.5116 17.2593 14.8239C16.5717 14.1363 15.6391 13.75 14.6666 13.75H7.33329C6.36083 13.75 5.4282 14.1363 4.74057 14.8239C4.05293 15.5116 3.66663 16.4442 3.66663 17.4167V19.25" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="fill:none!important"/><path d="M11 10.0833C13.0251 10.0833 14.6667 8.44171 14.6667 6.41667C14.6667 4.39162 13.0251 2.75 11 2.75C8.975 2.75 7.33337 4.39162 7.33337 6.41667C7.33337 8.44171 8.975 10.0833 11 10.0833Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="fill:none!important"/></svg></span> 1014 1015 </a> 1016<search-form style="position:relative"> 1017 <div class="button button--outline button--icon button--outline-hover button--no-padding button--no-hover site-search-handle">
1018 <span class="button__icon" role="img" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="10.5" cy="10.5" r="7.5" stroke="black" stroke-width="2" style="fill:none!important"/><path d="M17.1213 15.2929L16.4142 14.5858L15 16L15.7071 16.7071L17.1213 15.2929ZM19.2426 20.2426C19.6331 20.6332 20.2663 20.6332 20.6568 20.2426C21.0473 19.8521 21.0473 19.219 20.6568 18.8284L19.2426 20.2426ZM15.7071 16.7071L19.2426 20.2426L20.6568 18.8284L17.1213 15.2929L15.7071 16.7071Z" fill="black" style="stroke:none!important"/></svg></span> 1019 <form action="/search" method="get" role="search" autocomplete="off"> 1020 <input name="q" type="search" autocomplete="off" 1021 aria-label="Search for..." 1022 data-js-search-input 1023 data-js-focus-overlay="search-results-overlay-desktop" 1024 id="main-nav-search" 1025 /> 1026 <button type="submit" style="display:none">Submit</button> 1027 </form> 1028 </div> 1029 <div class="search-results-overlay" id="search-results-overlay-desktop" onclick="this.classList.remove('active')" style="display:none"></div> 1030 <div class="search-results-container" data-js-search-results></div> 1031 </search-form><div id="logo" class="logo"><a class="logo-img logo-img--mobile" title="Amazing Grass" href="/"> 1032 <img src="//amazinggrass.com/cdn/shop/files/Amazing-Grass-logo-color.png?v=1740591057" alt="Amazing Grass" width="900" height="304" 1033 style="width: 207px; object-fit:contain" 1034 /> 1035 </a><a class="logo-img logo-img--desk-only " title="Amazing Grass" href="/" style="height:var(--header-logo)"> 1036 <img src="//amazinggrass.com/cdn/shop/files/Amazing-Grass-logo-color.png?v=1740591057" alt="Amazing Grass" width="900" height="304" 1037 style="width: 207px; object-fit:contain" 1038 /> 1039 </a> 1040 1041 </div> 1042 <br><a 1043 class="button button--solid button--icon no-js-hidden" 1044 1045 data-js-sidebar-handle aria-expanded="false" aria-controls="site-cart-sidebar" role="button" 1046 1047 title="Open cart" tabindex="0" 1048 > 1049 <span class="visually-hidden">Open cart</span> 1050 <span class="button__icon" role="img" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" style="margin-left:-2px"><path class="circle" d="M9.5 20C9.77614 20 10 19.7761 10 19.5C10 19.2239 9.77614 19 9.5 19C9.22386 19 9 19.2239 9 19.5C9 19.7761 9.22386 20 9.5 20Z" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path class="circle" d="M18.5 20C18.7761 20 19 19.7761 19 19.5C19 19.2239 18.7761 19 18.5 19C18.2239 19 18 19.2239 18 19.5C18 19.7761 18.2239 20 18.5 20Z" fill="white" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path d="M3 3H6.27273L8.46545 13.7117C8.54027 14.08 8.7452 14.4109 9.04436 14.6464C9.34351 14.8818 9.71784 15.0069 10.1018 14.9997H18.0545C18.4385 15.0069 18.8129 14.8818 19.112 14.6464C19.4112 14.4109 19.6161 14.08 19.6909 13.7117L21 6.9999H7.09091" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="fill:none !important"/></svg></span> 1051 <span class="visually-hidden">Shopping Cart Total:</span> 1052 <span data-header-cart-total>$0.00</span> 1053 <span data-header-cart-count class="element--wrap-paranth" aria-hidden="true">0</span> 1054 <span class="visually-hidden"> products in your cart</span> 1055 </a> 1056 1057 <noscript> 1058 <a 1059 class="button button--solid button--icon button--regular data-js-hidden" 1060 href="/cart" 1061 tabindex="0" 1062 > 1063 <span class="button__icon" role="img" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" style="margin-left:-2px"><path class="circle" d="M9.5 20C9.77614 20 10 19.7761 10 19.5C10 19.2239 9.77614 19 9.5 19C9.22386 19 9 19.2239 9 19.5C9 19.7761 9.22386 20 9.5 20Z" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
1063<path class="circle" d="M18.5 20C18.7761 20 19 19.7761 19 19.5C19 19.2239 18.7761 19 18.5 19C18.2239 19 18 19.2239 18 19.5C18 19.7761 18.2239 20 18.5 20Z" fill="white" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path d="M3 3H6.27273L8.46545 13.7117C8.54027 14.08 8.7452 14.4109 9.04436 14.6464C9.34351 14.8818 9.71784 15.0069 10.1018 14.9997H18.0545C18.4385 15.0069 18.8129 14.8818 19.112 14.6464C19.4112 14.4109 19.6161 14.08 19.6909 13.7117L21 6.9999H7.09091" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="fill:none !important"/></svg></span> 1064 <span data-header-cart-total aria-hidden="true">$0.00</span> 1065 (<span data-header-cart-count aria-hidden="true">0</span>) 1066 </a> 1067 </noscript> 1068 1069 </div> 1070 1071 <button data-js-sidebar-handle class="mobile-menu-button hide portable-show" aria-expanded="false" aria-controls="site-menu-sidebar"> 1072 <span class="visually-hidden">Open menu</span><svg fill="none" height="16" viewBox="0 0 20 16" width="20" xmlns="http://www.w3.org/2000/svg"><g fill="#000"><path d="m0 0h20v2h-20z"/><path d="m0 7h20v2h-20z"/><path d="m0 14h20v2h-20z"/></g></svg></button> 1073 1074 <a 1075 1076 data-js-sidebar-handle aria-expanded="false" aria-controls="site-cart-sidebar" role="button" 1077 1078 class="mobile-cart-button hide portable-show" 1079 title="Open cart" tabindex="0" 1080 > 1081 <span class="visually-hidden">Open cart</span><svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" style="margin-left:-2px"><path class="circle" d="M9.5 20C9.77614 20 10 19.7761 10 19.5C10 19.2239 9.77614 19 9.5 19C9.22386 19 9 19.2239 9 19.5C9 19.7761 9.22386 20 9.5 20Z" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path class="circle" d="M18.5 20C18.7761 20 19 19.7761 19 19.5C19 19.2239 18.7761 19 18.5 19C18.2239 19 18 19.2239 18 19.5C18 19.7761 18.2239 20 18.5 20Z" fill="white" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path d="M3 3H6.27273L8.46545 13.7117C8.54027 14.08 8.7452 14.4109 9.04436 14.6464C9.34351 14.8818 9.71784 15.0069 10.1018 14.9997H18.0545C18.4385 15.0069 18.8129 14.8818 19.112 14.6464C19.4112 14.4109 19.6161 14.08 19.6909 13.7117L21 6.9999H7.09091" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="fill:none !important"/></svg><span data-header-cart-count aria-hidden="true">0</span> 1082 </a> 1083 1084 </div> 1085 1086 </div> 1087 1088 <!-- header menu --><div class="header-container header-container--bottom no-header-blocks 1089 portable-hide 1090 "> 1091 1092 <div class="header__bottom container--large"> 1093 1094 <span class="scrollable-navigation-button scrollable-navigation-button--left" aria-hidden="true"><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></span> 1095 <scrollable-navigation class="header-links"> 1096<div class="site-nav style--classic"> 1097 <style> 1098 .shop-tile-wrap { 1099 flex: 3; 1100 display: grid; 1101 grid-template-columns: repeat(3, 1fr); 1102 grid-auto-rows: 1fr; 1103 gap: 10px; 1104 } 1105 1106mobile-navigation .site-nav ul a:not(.button) { 1107 border-bottom: 0 !important; 1108} 1109.menu-tile-wrap li { 1110 display: block !important; 1111} 1112.nav-tile-child-link a { 1113 color: #008445; 1114} 1115a.menu-link.coll-with-image { 1116 color: white; 1117} 1118.has-submenu a.menu-link { 1119 color: #00491F; 1120 font-weight: bold; 1121} 1122span.sidebar__title.h5 { 1123 display: none; 1124} 1125#menu-item-account a { 1126 color: #008445; 1127 font-weight: bold; 1128} 1129.coll-img a img { 1130 width: 55%; 1131 height: auto; 1132 margin: 0 auto; 1133} 1134.coll-img a.menu-link { 1135 color: white; 1136} 1137 .site-nav.style--classic .submenu.mega-menu .submenu-masonry.with-promotion .mega-link { 1138 background-color: #A6E068; 1139 color: #00491F; 1140 font-size: 1rem; 1141 display: flex; 1142 padding: 0.5rem; 1143 overflow: hidden;
1144 border-radius: 17px; 1145 width: 100%; 1146 } 1147 .site-nav.style--classic .submenu.mega-menu .submenu-masonry.without-promotion .mega-link { 1148 background-color: #A6E068; 1149 color: #00491F; 1150 font-size: 1rem; 1151 display: flex; 1152 padding: 0.5rem; 1153 overflow: hidden; 1154 border-radius: 17px; 1155 width: 100%; 1156 } 1157 1158.mega-link.all-products a span { 1159 color:white!important; 1160} 1161 1162.mega-link.super-greens:hover { 1163 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-13T162002.249.png?v=1747171672'); 1164 background-size: cover; 1165 background-repeat: no-repeat; 1166 } 1167 1168 .mega-link.sweet-greens:hover { 1169 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-13T162029.299.png?v=1747171672'); 1170 background-size: cover; 1171 background-repeat: no-repeat; 1172 1173 } 1174.mega-link.fizzy-green-tablets:hover { 1175 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-13T162056.559.png?v=1747171672'); 1176 background-size: cover; 1177 background-repeat: no-repeat; 1178 1179} 1180.mega-link.kidz:hover { 1181 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-13T162119.931.png?v=1747171672'); 1182 background-size: cover; 1183 background-repeat: no-repeat; 1184 1185} 1186.mega-link.super-greens-protein:hover { 1187 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/AG_SuperGreens_Protein_Chocolate_10Serv_B__11.png?v=1771883024'); 1188 background-size: cover; 1189 background-repeat: no-repeat; 1190 1191} 1192 1193 .mega-link.all-products:hover img { 1194 transform: scale(1.05); 1195 } 1196 .site-nav #menu-item-recipes .featured_card .cards:hover img { 1197 transform: scale(1.05); 1198 } 1199 .mega-link.super-greens:hover span, .mega-link.sweet-greens:hover span, .mega-link.fizzy-green-tablets:hover span, .mega-link.kidz:hover span, .mega-link.super-greens-protein:hover span { 1200 opacity: 0; 1201 } 1202 .mega-link.super-greens:hover img, .mega-link.sweet-greens:hover img, .mega-link.fizzy-green-tablets:hover img, .mega-link.kidz:hover img, .mega-link.super-greens-protein:hover img { 1203 opacity: 0; 1204 } 1205 1206#menu-promotion-62620b63-1b08-45b5-8014-5ad83ca0f0dd { 1207 background: none!important; 1208} 1209.menu-promotion { 1210 min-height: 100%; 1211 } 1212 li.mega-link.has-promotion { 1213 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-05T083514.308_1.png?v=1746452175'); 1214 background-color: #A6E068; 1215 background-size: cover; 1216 background-position: bottom; 1217 background-repeat: no-repeat; 1218 padding: 1rem; 1219} 1220 .mega-link.has-promotion { 1221 flex: 1; 1222 display: flex; 1223 } 1224 .mega-link { 1225 border-radius: 22px; 1226 } 1227 1228 .mega-link a span { 1229 text-transform: uppercase; 1230 font-size: 1rem; 1231 } 1232 1233 1234 .menu-promotion-title span { 1235 font-weight: 900!important; 1236 font-size: 2rem!important; 1237 color: #00491F!important; 1238 } 1239 1240 .menu-promotion-title-two span { 1241 font-weight: 900!important; 1242 font-size: 1.5rem!important; 1243 color: #00491F!important; 1244 } 1245 1246 .menu-promotion-subtitle { 1247 color: white; 1248 margin-top: 3rem!important; 1249 font-weight: 400!important; 1250 } 1251 1252 #menu-promotion-mega_menu_KPYVcr .menu-promotion-button { 1253 color: #00491F!important; 1254 background-color: white!important; 1255 border-color: white!important; 1256 } 1257 #menu-promotion-mega_menu_KPYVcr .menu-promotion-button:hover { 1258 color: #00491F!important; 1259 background-color: #DBF3C3!important; 1260 border-color: #DBF3C3!important; 1261 } 1262.mega-link.all-products { 1263 text-align: center; 1264 grid-column: 3!important; 1265 grid-row: 2!important; 1266 display: flex; 1267 flex-direction: column; 1268 align-items: center; 1269 justify-content: center; 1270 text-align: center; 1271 width: 100%; 1272 height: 100%; 1273 background-color: #00491F!important; 1274} 1275 1276 .mega-link.all-products a img { 1277 width: 200px; 1278 } 1279 1280 .featured_card_text { 1281 line-height: 112%; 1282 } 1283 .mega-link.super-greens { 1284 text-align: center; 1285 grid-column: 1; 1286 grid-row: 1; 1287 display: flex; 1288 flex-direction: column; 1289 align-items: center; 1290 justify-content: center; 1291 text-align: center; 1292 width: 100%; 1293 height: 100%; 1294 background-color: #A6E068; 1295 } 1296 .mega-link.smoothie-boosters { 1297 text-align: center; 1298 1299 } 1300 .mega-link.grasses { 1301 text-align: center; 1302 } 1303 .mega-link.fizzy-green-tablets { 1304 text-align: center; 1305 grid-column: 3; 1306 grid-row: 1; 1307 display: flex; 1308 flex-direction: column; 1309 align-items: center; 1310 justify-content: center; 1311 text-align: center; 1312 width: 100%; 1313 height: 100%; 1314 background-color: #A6E068; 1315 } 1316 .mega-link.kidz { 1317 text-align: center; 1318 grid-column: 1; 1319 grid-row: 2; 1320 display: flex; 1321 flex-direction: column; 1322 align-items: center; 1323 justify-content: center; 1324 text-align: center; 1325 width: 100%; 1326 height: 100%; 1327 background-color: #A6E068; 1328 } 1329 .mega-link.sweet-greens { 1330 text-align: center; 1331 grid-column: 2; 1332 grid-row: 1; 1333 display: flex; 1334 flex-direction: column; 1335 align-items: center; 1336 justify-content: center; 1337 text-align: center; 1338 width: 100%; 1339 height: 100%; 1340 background-color: #A6E068; 1341 } 1342 .mega-link.super-greens-protein { 1343 text-align: center; 1344 grid-column: 2; 1345 grid-row: 2; 1346 display: flex; 1347 flex-direction: column; 1348 align-items: center; 1349 justify-content: center; 1350 text-align: center; 1351 width: 100%; 1352 height: 100%; 1353 background-color: #A6E068; 1354 } 1355 a.menu-link.coll-with-image.no-focus-link { 1356 text-align: center; 1357 justify-content: center; 1358 font-weight: bold; 1359} 1360 .sticky-header.show { 1361 display: none !important; 1362} 1363 @media only screen and (min-width: 1650px) { 1364 .site-nav.style--classic .submenu.mega-menu .submenu-holder { 1365 aspect-ratio: 4 / 2; 1366} 1367 } 1368 @media only screen and (max-width: 1440px) { 1369 .site-nav.style--classic .submenu.mega-menu { 1370 width: 80%!important; 1371} 1372 #SiteNavLabel-recipes-classic { 1373 max-width: 80%!important; 1374} 1375 .menu-promotion-title span { 1376 font-size: 2rem!important; 1377 line-height: 100%!important; 1378 } 1379 .menu-promotion-title-two span { 1380 font-size: 1rem!important; 1381 } 1382 .menu-promotion-subtitle { 1383 margin-top: 4.5rem!important; 1384 } 1385 } 1386 1387 @media only screen and (max-width: 1200px) { 1388 .mega-link.all-products a img { 1389 width: 100px; 1390 } 1391 } 1392 1393 1394 @media only screen and (max-width: 1023px) { 1395 1396 .site-nav #menu-item-recipes .featured_card .cards .featured_card_title {
1397 left: 50%!important; 1398 height: 100%!important; 1399 border-radius: 17px!important; 1400 } 1401 1402 .mega-link.all-products { 1403 display: inline-flex; 1404 align-items: center; 1405 } 1406 1407 1408 .menu-promotion-content::before { 1409 content: "SPRING INTO SUMMER"; 1410 color: #00491F; 1411 position: absolute; 1412 left: -70%; 1413 width: 45%; 1414 font-weight: 800; 1415 top: 35%; 1416 } 1417 .menu-promotion-title span { 1418 font-size: 1.5rem!important; 1419 color: white!important; 1420 line-height: 100%!important; 1421 } 1422 .menu-promotion-title-two span { 1423 font-size: .8rem!important; 1424 color: white!important; 1425 } 1426 .menu-promotion-subtitle { 1427 margin-top: 0!important; 1428 } 1429 .menu-promotion-button { 1430 font-size. 1rem!important; 1431 } 1432 .mega-link a span { 1433 font-size: .8rem!important; 1434 color: #00491F; 1435 line-height: 110%; 1436 margin-bottom: .5rem; 1437 } 1438 1439 li.mega-link.has-promotion { 1440 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-05T093504.813.png?v=1747949008'); 1441} 1442 .menu-promotion.align-content--horizontal-center { 1443 justify-content: right; 1444 } 1445 .menu-promotion .menu-promotion-content { 1446 width: 55%; 1447 } 1448 .submenu-holder { 1449 gap: 5px!important; 1450} 1451 li.mega-link.coll-img { 1452 width: 47%; 1453} 1454 1455.shop-tile-wrap { 1456 display: flex; 1457 flex-wrap: wrap; 1458 padding: 0 10px; 1459 aspect-ratio: 5 / 2; 1460 gap: 0; 1461} 1462 li.mega-link.coll-img { 1463 margin: 5px; 1464} 1465.submenu-holder { 1466 display: flex; 1467 flex-direction: column; 1468 gap: 20px; 1469} 1470 1471 1472span.menu-promotion-title span { 1473 font-size: 2rem; 1474 color: #154726; 1475} 1476 1477span.menu-promotion-subtitle.text-size--regular { 1478 color: #154726; 1479 font-weight: bold; 1480} 1481 1482#menu-promotion-62620b63-1b08-45b5-8014-5ad83ca0f0dd { 1483 background: none !important; 1484} 1485} 1486 1487 /* Tom J Navigation - Featured Recipes/blogs */ 1488 1489#SiteNavLabel-recipes-classic { 1490 left: 0!important; 1491 max-width: 60%; 1492 top: 89%; 1493} 1494 1495#SiteNavLabel-recipes-classic .submenu-holder { 1496 display: flex!important; 1497} 1498 1499#SiteNavLabel-recipes-classic .submenu-holder .nav-tile-wrap { 1500 width: 30%!important; 1501 padding-left: 1rem; 1502} 1503 1504.cards .menu-link { 1505 padding-top: 0!important; 1506 } 1507 1508.site-nav #menu-item-recipes .mega-link .text-animation--underline-in-header, 1509.site-nav #menu-item-blog .mega-link .text-animation--underline-in-header{ 1510 color: #008445; 1511} 1512.site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry, 1513.site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry{ 1514 display: block; 1515} 1516.site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry.with-promotion, 1517.site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry.with-promotion{ 1518 width: 25%; 1519} 1520.site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry.with-promotion .mega-link, 1521.site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry.with-promotion .mega-link{ 1522 width: auto !important; 1523 position: static !important; 1524 left:0 !important; 1525 display: block; 1526} 1527.site-nav #menu-item-recipes .submenu.mega-menu li.mega-link.has-promotion, 1528.site-nav #menu-item-blog .submenu.mega-menu li.mega-link.has-promotion{ 1529 display: none; 1530} 1531.site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry.with-promotion .mega-link a.menu-link.coll-with-image.no-focus-link, 1532.site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry.with-promotion .mega-link a.menu-link.coll-with-image.no-focus-link{ 1533 text-align: left; 1534} 1535.site-nav #menu-item-recipes .featured_card, 1536.site-nav #menu-item-blog .featured_card{ 1537 width: 75%; 1538} 1539.site-nav #menu-item-recipes .featured_card .cards, 1540.site-nav #menu-item-blog .featured_card .cards{ 1541 display: inline-flex; 1542 width: 30%; 1543 height: 500px; 1544 position: relative; 1545 border-radius: 17px; 1546 overflow: hidden; 1547 margin: 5px; 1548} 1549.site-nav #menu-item-recipes .featured_card .cards a, 1550.site-nav #menu-item-blog .featured_card .cards a{ 1551 overflow: hidden; 1552 } 1553 1554.site-nav #menu-item-recipes .featured_card .cards img, 1555.site-nav #menu-item-blog .featured_card .cards img{ 1556 object-fit: cover; 1557 height: 80%;
1558 border-radius: 17px; 1559} 1560.site-nav #menu-item-recipes .featured_card .cards .featured_card_title, 1561.site-nav #menu-item-blog .featured_card .cards .featured_card_title{ 1562 position: absolute; 1563 bottom: 0; 1564 background-color: #A6E068; 1565 left: 0; 1566 right: 0; 1567 height: 30%; 1568 color: #00491F; 1569 padding: 1rem; 1570 border-radius: 0 0 17px 17px; 1571 display: flex; 1572 justify-content: center; 1573 align-items: center; 1574} 1575.nav-tile-wrap { 1576 display: flex; 1577 flex-direction: column; 1578} 1579.nav-tile-wrap .nav-tile-child-link { 1580 margin-bottom: 1rem !important; 1581} 1582@media (max-width: 1023px) { 1583 .site-nav #menu-item-recipes .featured_card .cards img, 1584.site-nav #menu-item-blog .featured_card .cards img{ 1585 height: 100%; 1586 object-position: -80px; 1587} 1588 .site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry.with-promotion, 1589 .site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry.with-promotion{ 1590 width: 100%; 1591 order: 2; 1592 } 1593 .site-nav #menu-item-recipes .featured_card, 1594 .site-nav #menu-item-blog .featured_card { 1595 width: 100%; 1596 text-align: center; 1597 order: 1; 1598 } 1599 .site-nav #menu-item-recipes .featured_card .cards, 1600 .site-nav #menu-item-blog .featured_card .cards { 1601 display: inline-flex; 1602 width: calc(50% - 20px); 1603 height: 200px; 1604 position: relative; 1605 border-radius: 20px; 1606 overflow: hidden; 1607 margin: 5px; 1608 font-size: .8rem; 1609 } 1610 .site-nav #menu-item-recipes .featured_card .cards a, 1611 .site-nav #menu-item-blog .featured_card .cards a { 1612 padding: 0; 1613 } 1614} 1615 1616 @media screen and (max-width: 1020px) { 1617.site-nav #menu-item-recipes .featured_card .cards, 1618 .site-nav #menu-item-blog .featured_card .cards { 1619 width: 100%; 1620 } 1621 .featured_card_text { 1622 font-size: .8rem; 1623 line-height: 110%; 1624 } 1625 .site-nav ul { 1626 margin-right: 10px; 1627 } 1628 .nav-tile-child-link a.menu-link.coll-with-image.no-focus-link { 1629 justify-content: left; 1630 } 1631 1632 li.mega-link.has-promotion { 1633 margin: 0 1rem; 1634 } 1635 .featured_card { 1636 order: 1; 1637 } 1638 .nav-tile-wrap { 1639 order: 2; 1640 } 1641 } 1642 1643/* END Tom J Navigation - Featured Recipes/blogs */ 1644 </style> 1645 1646 <div class="site-nav-container"> 1647 1648 <nav><ul class="link-list"><li 1649 1650 class="has-submenu" aria-controls="SiteNavLabel-shop-classic" aria-expanded="false" 1651 1652 id="menu-item-shop" 1653 > 1654 1655 <a title="Shop" class="menu-link " href="https://amazinggrass.com/collections/all"> 1656 1657 <span><span class="">Shop</span></span> 1658 1659 1660 <span class="icon"><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></span> 1661 1662 1663 </a> 1664 1665 1666 1667 <ul class="submenu mega-menu " id="SiteNavLabel-shop-classic"><div class="submenu-holder container--large "><div class="submenu-masonry without-promotion "><div class="shop-tile-wrap"><li 1668 1669 class="mega-link super-greens coll-img " 1670 1671 > 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 <a title="Super Greens" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243556457"> 1695 <img src="//amazinggrass.com/cdn/shop/collections/GreensBlend-Original30.png?crop=center&height=200&v=1756395179&width=200" alt="Super Greens The Original" srcset="//amazinggrass.com/cdn/shop/collections/GreensBlend-Original30.png?crop=center&height=200&v=1756395179&width=200 200w" width="200" height="200" loading="lazy"> 1696 </a> 1697 1698 1699 1700 1701 <a title="Super Greens" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243556457"> 1702 <span><span class="">Super Greens</span></span></a></li><li 1703
1704 class="mega-link sweet-greens coll-img " 1705 1706 > 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 <a title="Sweet Greens" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=618976837997"> 1733 <img src="//amazinggrass.com/cdn/shop/collections/US_SweetGreens_4.4OZ_SummerBerry_6075039.png?crop=center&height=200&v=1743707106&width=200" alt="Sweet Greens" srcset="//amazinggrass.com/cdn/shop/collections/US_SweetGreens_4.4OZ_SummerBerry_6075039.png?crop=center&height=200&v=1743707106&width=200 200w" width="200" height="200" loading="lazy"> 1734 </a> 1735 1736 <a title="Sweet Greens" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=618976837997"> 1737 <span><span class="">Sweet Greens</span></span></a></li><li 1738 1739 class="mega-link fizzy-green-tablets coll-img " 1740 1741 > 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 <a title="Fizzy Green Tablets" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243425385"> 1754 <img src="//amazinggrass.com/cdn/shop/collections/FizzyGreenTablets-HydrateStrawberryLemonadeTube_4fadf793-b244-42b9-af29-6698765d5484.png?crop=center&height=200&v=1768934557&width=200" alt="Fizzy Green Tablets" srcset="//amazinggrass.com/cdn/shop/collections/FizzyGreenTablets-HydrateStrawberryLemonadeTube_4fadf793-b244-42b9-af29-6698765d5484.png?crop=center&height=200&v=1768934557&width=200 200w" width="200" height="200" loading="lazy"> 1755 </a> 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 <a title="Fizzy Green Tablets" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243425385"> 1772 <span><span class="">Fizzy Green Tablets</span></span></a></li><li 1773 1774 class="mega-link kidz coll-img " 1775 1776 > 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 <a title="Kidz" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243720297"> 1795 <img src="//amazinggrass.com/cdn/shop/collections/Kidz_Superfood_-_Chocolate_30_a69e69ac-97a3-46c4-8d4b-1cddcac6be98.png?crop=center&height=200&v=1777990513&width=200" alt="Kidz" srcset="//amazinggrass.com/cdn/shop/collections/Kidz_Superfood_-_Chocolate_30_a69e69ac-97a3-46c4-8d4b-1cddcac6be98.png?crop=center&height=200&v=1777990513&width=200 200w" width="200" height="200" loading="lazy"> 1796 </a> 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 <a title="Kidz" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243720297"> 1807 <span><span class="">Kidz</span></span></a></li><li 1808
1809 class="mega-link super-greens-protein coll-img " 1810 1811 > 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 <a title="Super Greens + Protein" href="/collections/protein"> 1836 <img src="//amazinggrass.com/cdn/shop/collections/AG_SuperGreensProtein_Chocolate_10Serv_B_03.png?crop=center&height=200&v=1771869500&width=200" alt="Super Greens + Protein" srcset="//amazinggrass.com/cdn/shop/collections/AG_SuperGreensProtein_Chocolate_10Serv_B_03.png?crop=center&height=200&v=1771869500&width=200 200w" width="200" height="200" loading="lazy"> 1837 </a> 1838 1839 1840 1841 <a title="Super Greens + Protein" class="menu-link coll-with-image no-focus-link " href="/collections/protein"> 1842 <span><span class="">Super Greens + Protein</span></span></a></li><li 1843 1844 class="mega-link all-products coll-img " 1845 1846 > 1847 1848 1849 1850 1851 1852 <a title="All Products" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=271949889641"> 1853 <img src="//amazinggrass.com/cdn/shop/collections/AG_AllProducts_2000x2000_a3e8e9b6-d6a6-4d8c-b185-8540572225f8.png?crop=center&height=200&v=1768935208&width=200" alt="Amazing Grass Super Greens Original, Sweet Greens Summer Berry and Fizzy Green Tablets Hydrate Stawberry" srcset="//amazinggrass.com/cdn/shop/collections/AG_AllProducts_2000x2000_a3e8e9b6-d6a6-4d8c-b185-8540572225f8.png?crop=center&height=200&v=1768935208&width=200 200w" width="200" height="200" loading="lazy"> 1854 </a> 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 <a title="All Products" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=271949889641"> 1877 <span><span class="">All Products</span></span></a></li></div></div> 1878 1879 1880 1881 </div> 1882 </ul> 1883 1884 1885 1886 </li><li 1887 1888 id="menu-item-about-us" 1889 > 1890 1891 <a title="About Us" class="menu-link no-focus-link " href="/pages/our-story"> 1892 1893 <span><span class="">About Us</span></span> 1894 1895 1896 1897 </a> 1898 1899 1900 1901 </li><li 1902 1903 class="has-submenu" aria-controls="SiteNavLabel-recipes-classic" aria-expanded="false" 1904 1905 id="menu-item-recipes" 1906 > 1907 1908 <a title="Recipes" class="menu-link " href="https://amazinggrass.com/blogs/recipes/"> 1909 1910 <span><span class="">Recipes</span></span> 1911 1912 1913 <span class="icon"><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></span> 1914 1915 1916 </a> 1917 1918 1919 1920 <ul class="submenu normal-menu " id="SiteNavLabel-recipes-classic"><div class="submenu-holder "><div class="nav-tile-wrap"><li 1921 1922 class="nav-tile-child-link all-recipes" 1923 1924 > 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 <a title="All Recipes" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/"> 1952 <span><span class="">All Recipes</span></span></a></li><li 1953 1954 class="nav-tile-child-link breakfast" 1955 1956 > 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 <a title="Breakfast" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Breakfast"> 1984 <span><span class="">Breakfast</span></span></a></li><li 1985 1986 class="nav-tile-child-link meals" 1987 1988 > 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 <a title="Meals" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Meals"> 2016 <span><span class="">Meals</span></span></a></li><li 2017 2018 class="nav-tile-child-link snacks" 2019 2020 > 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 <a title="Snacks" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Snacks"> 2048 <span><span class="">Snacks</span></span></a></li><li 2049 2050 class="nav-tile-child-link desserts" 2051 2052 > 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 <a title="Desserts" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Desserts"> 2080 <span><span class="">Desserts</span></span></a></li><li 2081 2082 class="nav-tile-child-link smoothies" 2083 2084 > 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 <a title="Smoothies" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Smoothies"> 2112 <span><span class="">Smoothies</span></span></a></li></div> 2113<div class="featured_card"> 2114 <ul> 2115 2116 2117 <li class="cards"> 2118 <a class="menu-link coll-with-image no-focus-link " href="/blogs/recipes/grain-free-berry-waffles"> 2119 <img src="//amazinggrass.com/cdn/shop/articles/Grain-Free-Berry-Waffles-Recipe-Post-Desktop_135ca467-55c8-4847-84b5-4bd41a014bdf.png?height=600&
2119v=1747331634" alt="Grain Free Berry Waffles" srcset="//amazinggrass.com/cdn/shop/articles/Grain-Free-Berry-Waffles-Recipe-Post-Desktop_135ca467-55c8-4847-84b5-4bd41a014bdf.png?height=125&v=1747331634 352w, //amazinggrass.com/cdn/shop/articles/Grain-Free-Berry-Waffles-Recipe-Post-Desktop_135ca467-55c8-4847-84b5-4bd41a014bdf.png?height=297&v=1747331634 832w, //amazinggrass.com/cdn/shop/articles/Grain-Free-Berry-Waffles-Recipe-Post-Desktop_135ca467-55c8-4847-84b5-4bd41a014bdf.png?height=428&v=1747331634 1200w" height="600" loading="lazy"> 2120 <div class="featured_card_title"> 2121 <div class="featured_card_text"> 2122 Grain Free Berry Waffles 2123 </div> 2124 </div> 2125 </a> 2126 </li> 2127 2128 2129 <li class="cards"> 2130 <a class="menu-link coll-with-image no-focus-link " href="/blogs/recipes/honeydew-coconut-smoothie"> 2131 <img src="//amazinggrass.com/cdn/shop/articles/Honeydew-Coconut-Smoothie-Desktop_33e8225d-90ac-477c-8fd1-b22067f40bfc.jpg?height=600&v=1747331689" alt="Energizing Honeydew Coconut Smoothie" srcset="//amazinggrass.com/cdn/shop/articles/Honeydew-Coconut-Smoothie-Desktop_33e8225d-90ac-477c-8fd1-b22067f40bfc.jpg?height=125&v=1747331689 352w, //amazinggrass.com/cdn/shop/articles/Honeydew-Coconut-Smoothie-Desktop_33e8225d-90ac-477c-8fd1-b22067f40bfc.jpg?height=297&v=1747331689 832w, //amazinggrass.com/cdn/shop/articles/Honeydew-Coconut-Smoothie-Desktop_33e8225d-90ac-477c-8fd1-b22067f40bfc.jpg?height=428&v=1747331689 1200w" height="600" loading="lazy"> 2132 <div class="featured_card_title"> 2133 <div class="featured_card_text"> 2134 Energizing Honeydew Coconut Smoothie 2135 </div> 2136 </div> 2137 </a> 2138 </li> 2139 2140 2141 <li class="cards"> 2142 <a class="menu-link coll-with-image no-focus-link " href="/blogs/recipes/creamy-superfood-avocado-dip"> 2143 <img src="//amazinggrass.com/cdn/shop/articles/Creamy-Superfood-Avocado-Dip-Desktop.png?height=600&v=1747331441" alt="Creamy Superfood Guacamole" srcset="//amazinggrass.com/cdn/shop/articles/Creamy-Superfood-Avocado-Dip-Desktop.png?height=125&v=1747331441 352w, //amazinggrass.com/cdn/shop/articles/Creamy-Superfood-Avocado-Dip-Desktop.png?height=297&v=1747331441 832w, //amazinggrass.com/cdn/shop/articles/Creamy-Superfood-Avocado-Dip-Desktop.png?height=428&v=1747331441 1200w" height="600" loading="lazy"> 2144 <div class="featured_card_title"> 2145 <div class="featured_card_text"> 2146 Creamy Superfood Guacamole 2147 </div> 2148 </div> 2149 </a> 2150 </li> 2151 2152 </ul> 2153 </div> 2154 2155 2156 </div> 2157 </ul> 2158 2159 2160 2161 </li><li 2162 2163 id="menu-item-blog" 2164 > 2165 2166 <a title="Blog" class="menu-link no-focus-link " href="/blogs/blog"> 2167 2168 <span><span class="">Blog</span></span> 2169 2170 2171 2172 </a> 2173 2174 2175 2176 </li><li 2177 2178 id="menu-item-rewards" 2179 > 2180 2181 <a title="Rewards" class="menu-link no-focus-link " href="/pages/rewards"> 2182 2183 <span><span class="">Rewards</span></span> 2184 2185 2186 2187 </a> 2188 2189 2190 2191 </li><li 2192 2193 id="menu-item-take-the-quiz" 2194 > 2195 2196 <a title="Take The Quiz" class="menu-link no-focus-link " href="https://amazinggrass.com/pages/which-greens-are-right-for-you"> 2197 2198 <span><span class="">Take The Quiz</span></span> 2199 2200 2201 2202 </a> 2203 2204 2205 2206 </li></ul>
2206<script src="//amazinggrass.com/cdn/shop/t/110/assets/vendor-macy.js?v=6843837194850696251762367902" defer onload="runMacy()"></script>
2206 2207
2207<script> 2208 function runMacy(){ 2209 document.querySelectorAll('.site-nav.style--classic .submenu-masonry .menu-tile-wrap').forEach(elm=>{ 2210 const submenuMacy = new Macy({ 2211 container: elm, 2212 columns: elm.classList.contains('with-promotion') ? 3 : 4 2213 }); 2214 setTimeout(()=>{ 2215 submenuMacy.reInit(); 2216 }, 100); 2217 }) 2218 } 2219 </script>
2219</nav> 2220 2221 </div> 2222 2223 2224</div></scrollable-navigation> 2225 <span class="scrollable-navigation-button scrollable-navigation-button--right" aria-hidden="true"><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></span> 2226 2227 <div class="header-actions header-actions--blocks" data-js-header-actions></div> 2228 2229 </div> 2230 2231 </div> 2232 2233</main-header> 2234 2235<sidebar-drawer id="site-menu-sidebar" class="sidebar sidebar--left" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true" style="display:none"> 2236 2237 <div class="sidebar__header"> 2238 <span class="sidebar__title h5"> 2239 Menu 2240 </span> 2241 <button class="sidebar__close" data-js-close> 2242 <span class="visually-hidden">Close sidebar</span> 2243 <span aria-hidden="true" aria-role="img"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 1L1 17" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 1L17 17" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></span> 2244 </button> 2245 </div> 2246 2247 <div class="sidebar__body"> 2248 <mobile-navigation data-show-header-actions="false"> 2249<div class="site-nav style--sidebar"> 2250 <style> 2251 .shop-tile-wrap { 2252 flex: 3; 2253 display: grid; 2254 grid-template-columns: repeat(3, 1fr); 2255 grid-auto-rows: 1fr; 2256 gap: 10px; 2257 } 2258 2259mobile-navigation .site-nav ul a:not(.button) { 2260 border-bottom: 0 !important; 2261} 2262.menu-tile-wrap li { 2263 display: block !important; 2264} 2265.nav-tile-child-link a { 2266 color: #008445; 2267} 2268a.menu-link.coll-with-image { 2269 color: white; 2270} 2271.has-submenu a.menu-link { 2272 color: #00491F; 2273 font-weight: bold; 2274} 2275span.sidebar__title.h5 { 2276 display: none; 2277} 2278#menu-item-account a { 2279 color: #008445; 2280 font-weight: bold; 2281} 2282.coll-img a img { 2283 width: 55%; 2284 height: auto; 2285 margin: 0 auto; 2286} 2287.coll-img a.menu-link { 2288 color: white; 2289} 2290 .site-nav.style--classic .submenu.mega-menu .submenu-masonry.with-promotion .mega-link { 2291 background-color: #A6E068; 2292 color: #00491F; 2293 font-size: 1rem; 2294 display: flex; 2295 padding: 0.5rem; 2296 overflow: hidden; 2297 border-radius: 17px; 2298 width: 100%; 2299 } 2300 .site-nav.style--classic .submenu.mega-menu .submenu-masonry.without-promotion .mega-link { 2301 background-color: #A6E068; 2302 color: #00491F; 2303 font-size: 1rem; 2304 display: flex; 2305 padding: 0.5rem; 2306 overflow: hidden; 2307 border-radius: 17px; 2308 width: 100%; 2309 } 2310 2311.mega-link.all-products a span { 2312 color:white!important; 2313} 2314 2315.mega-link.super-greens:hover { 2316 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-13T162002.249.png?v=1747171672'); 2317 background-size: cover; 2318 background-repeat: no-repeat; 2319 } 2320 2321 .mega-link.sweet-greens:hover { 2322 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-13T162029.299.png?v=1747171672'); 2323 background-size: cover; 2324 background-repeat: no-repeat; 2325 2326 } 2327.mega-link.fizzy-green-tablets:hover { 2328 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-13T162056.559.png?v=1747171672'); 2329 background-size: cover; 2330 background-repeat: no-repeat; 2331 2332} 2333.mega-link.kidz:hover { 2334 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-13T162119.931.png?v=1747171672'); 2335 background-size: cover; 2336 background-repeat: no-repeat; 2337 2338} 2339.mega-link.super-greens-protein:hover { 2340 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/AG_SuperGreens_Protein_Chocolate_10Serv_B__11.png?v=1771883024'); 2341 background-size: cover; 2342 background-repeat: no-repeat; 2343 2344} 2345 2346 .mega-link.all-products:hover img { 2347 transform: scale(1.05); 2348 } 2349 .site-nav #menu-item-recipes .featured_card .cards:hover img { 2350 transform: scale(1.05); 2351 } 2352 .mega-link.super-greens:hover span, .mega-link.sweet-greens:hover span, .mega-link.fizzy-green-tablets:hover span, .mega-link.kidz:hover span, .mega-link.super-greens-protein:hover span { 2353 opacity: 0; 2354 } 2355 .mega-link.super-greens:hover img, .mega-link.sweet-greens:hover img, .mega-link.fizzy-green-tablets:hover img, .mega-link.kidz:hover img, .mega-link.super-greens-protein:hover img { 2356 opacity: 0; 2357 } 2358 2359#menu-promotion-62620b63-1b08-45b5-8014-5ad83ca0f0dd { 2360 background: none!important; 2361} 2362.menu-promotion { 2363 min-height: 100%; 2364 } 2365 li.mega-link.has-promotion { 2366 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-05T083514.308_1.png?v=1746452175'); 2367 background-color: #A6E068; 2368 background-size: cover; 2369 background-position: bottom; 2370 background-repeat: no-repeat; 2371 padding: 1rem; 2372} 2373 .mega-link.has-promotion { 2374 flex: 1; 2375 display: flex; 2376 } 2377 .mega-link { 2378 border-radius: 22px; 2379 } 2380 2381 .mega-link a span { 2382 text-transform: uppercase; 2383 font-size: 1rem; 2384 } 2385 2386 2387 .menu-promotion-title span { 2388 font-weight: 900!important; 2389 font-size: 2rem!important; 2390 color: #00491F!important; 2391 } 2392 2393 .menu-promotion-title-two span { 2394 font-weight: 900!important; 2395 font-size: 1.5rem!important; 2396 color: #00491F!important; 2397 } 2398 2399 .menu-promotion-subtitle { 2400 color: white; 2401 margin-top: 3rem!important; 2402 font-weight: 400!important; 2403 } 2404 2405 #menu-promotion-mega_menu_KPYVcr .menu-promotion-button { 2406 color: #00491F!important; 2407 background-color: white!important; 2408 border-color: white!important; 2409 } 2410 #menu-promotion-mega_menu_KPYVcr .menu-promotion-button:hover { 2411 color: #00491F!important; 2412 background-color: #DBF3C3!important; 2413 border-color: #DBF3C3!important; 2414 } 2415.mega-link.all-products { 2416 text-align: center; 2417 grid-column: 3!important; 2418 grid-row: 2!important; 2419 display: flex; 2420 flex-direction: column; 2421 align-items: center; 2422 justify-content: center; 2423 text-align: center; 2424 width: 100%; 2425 height: 100%; 2426 background-color: #00491F!important; 2427} 2428 2429 .mega-link.all-products a img { 2430 width: 200px; 2431 } 2432 2433 .featured_card_text { 2434 line-height: 112%; 2435 } 2436 .mega-link.super-greens { 2437 text-align: center; 2438 grid-column: 1; 2439 grid-row: 1; 2440 display: flex; 2441 flex-direction: column; 2442 align-items: center; 2443 justify-content: center; 2444 text-align: center; 2445 width: 100%; 2446 height: 100%; 2447 background-color: #A6E068; 2448 } 2449 .mega-link.smoothie-boosters { 2450 text-align: center; 2451 2452 } 2453 .mega-link.grasses { 2454 text-align: center; 2455 } 2456 .mega-link.fizzy-green-tablets { 2457 text-align: center; 2458 grid-column: 3; 2459 grid-row: 1; 2460 display: flex; 2461 flex-direction: column; 2462 align-items: center; 2463 justify-content: center; 2464 text-align: center; 2465 width: 100%; 2466 height: 100%; 2467 background-color: #A6E068; 2468 } 2469 .mega-link.kidz { 2470 text-align: center; 2471 grid-column: 1; 2472 grid-row: 2; 2473 display: flex; 2474 flex-direction: column; 2475 align-items: center; 2476 justify-content: center; 2477 text-align: center; 2478 width: 100%; 2479 height: 100%; 2480 background-color: #A6E068; 2481 } 2482 .mega-link.sweet-greens { 2483 text-align: center; 2484 grid-column: 2; 2485 grid-row: 1; 2486 display: flex; 2487 flex-direction: column; 2488 align-items: center; 2489 justify-content: center; 2490 text-align: center; 2491 width: 100%; 2492 height: 100%; 2493 background-color: #A6E068; 2494 } 2495 .mega-link.super-greens-protein { 2496 text-align: center; 2497 grid-column: 2; 2498 grid-row: 2; 2499 display: flex; 2500 flex-direction: column; 2501 align-items: center; 2502 justify-content: center; 2503 text-align: center; 2504 width: 100%; 2505 height: 100%; 2506 background-color: #A6E068; 2507 } 2508 a.menu-link.coll-with-image.no-focus-link { 2509 text-align: center; 2510 justify-content: center; 2511 font-weight: bold; 2512} 2513 .sticky-header.show { 2514 display: none !important; 2515} 2516 @media only screen and (min-width: 1650px) { 2517 .site-nav.style--classic .submenu.mega-menu .submenu-holder { 2518 aspect-ratio: 4 / 2; 2519} 2520 } 2521 @media only screen and (max-width: 1440px) { 2522 .site-nav.style--classic .submenu.mega-menu { 2523 width: 80%!important; 2524} 2525 #SiteNavLabel-recipes-classic { 2526 max-width: 80%!important; 2527} 2528 .menu-promotion-title span { 2529 font-size: 2rem!important; 2530 line-height: 100%!important; 2531 } 2532 .menu-promotion-title-two span { 2533 font-size: 1rem!important; 2534 } 2535 .menu-promotion-subtitle { 2536 margin-top: 4.5rem!important; 2537 } 2538 } 2539 2540 @media only screen and (max-width: 1200px) { 2541 .mega-link.all-products a img { 2542 width: 100px; 2543 } 2544 } 2545 2546 2547 @media only screen and (max-width: 1023px) { 2548 2549 .site-nav #menu-item-recipes .featured_card .cards .featured_card_title {
2550 left: 50%!important; 2551 height: 100%!important; 2552 border-radius: 17px!important; 2553 } 2554 2555 .mega-link.all-products { 2556 display: inline-flex; 2557 align-items: center; 2558 } 2559 2560 2561 .menu-promotion-content::before { 2562 content: "SPRING INTO SUMMER"; 2563 color: #00491F; 2564 position: absolute; 2565 left: -70%; 2566 width: 45%; 2567 font-weight: 800; 2568 top: 35%; 2569 } 2570 .menu-promotion-title span { 2571 font-size: 1.5rem!important; 2572 color: white!important; 2573 line-height: 100%!important; 2574 } 2575 .menu-promotion-title-two span { 2576 font-size: .8rem!important; 2577 color: white!important; 2578 } 2579 .menu-promotion-subtitle { 2580 margin-top: 0!important; 2581 } 2582 .menu-promotion-button { 2583 font-size. 1rem!important; 2584 } 2585 .mega-link a span { 2586 font-size: .8rem!important; 2587 color: #00491F; 2588 line-height: 110%; 2589 margin-bottom: .5rem; 2590 } 2591 2592 li.mega-link.has-promotion { 2593 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_-_2025-05-05T093504.813.png?v=1747949008'); 2594} 2595 .menu-promotion.align-content--horizontal-center { 2596 justify-content: right; 2597 } 2598 .menu-promotion .menu-promotion-content { 2599 width: 55%; 2600 } 2601 .submenu-holder { 2602 gap: 5px!important; 2603} 2604 li.mega-link.coll-img { 2605 width: 47%; 2606} 2607 2608.shop-tile-wrap { 2609 display: flex; 2610 flex-wrap: wrap; 2611 padding: 0 10px; 2612 aspect-ratio: 5 / 2; 2613 gap: 0; 2614} 2615 li.mega-link.coll-img { 2616 margin: 5px; 2617} 2618.submenu-holder { 2619 display: flex; 2620 flex-direction: column; 2621 gap: 20px; 2622} 2623 2624 2625span.menu-promotion-title span { 2626 font-size: 2rem; 2627 color: #154726; 2628} 2629 2630span.menu-promotion-subtitle.text-size--regular { 2631 color: #154726; 2632 font-weight: bold; 2633} 2634 2635#menu-promotion-62620b63-1b08-45b5-8014-5ad83ca0f0dd { 2636 background: none !important; 2637} 2638} 2639 2640 /* Tom J Navigation - Featured Recipes/blogs */ 2641 2642#SiteNavLabel-recipes-classic { 2643 left: 0!important; 2644 max-width: 60%; 2645 top: 89%; 2646} 2647 2648#SiteNavLabel-recipes-classic .submenu-holder { 2649 display: flex!important; 2650} 2651 2652#SiteNavLabel-recipes-classic .submenu-holder .nav-tile-wrap { 2653 width: 30%!important; 2654 padding-left: 1rem; 2655} 2656 2657.cards .menu-link { 2658 padding-top: 0!important; 2659 } 2660 2661.site-nav #menu-item-recipes .mega-link .text-animation--underline-in-header, 2662.site-nav #menu-item-blog .mega-link .text-animation--underline-in-header{ 2663 color: #008445; 2664} 2665.site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry, 2666.site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry{ 2667 display: block; 2668} 2669.site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry.with-promotion, 2670.site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry.with-promotion{ 2671 width: 25%; 2672} 2673.site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry.with-promotion .mega-link, 2674.site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry.with-promotion .mega-link{ 2675 width: auto !important; 2676 position: static !important; 2677 left:0 !important; 2678 display: block; 2679} 2680.site-nav #menu-item-recipes .submenu.mega-menu li.mega-link.has-promotion, 2681.site-nav #menu-item-blog .submenu.mega-menu li.mega-link.has-promotion{ 2682 display: none; 2683} 2684.site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry.with-promotion .mega-link a.menu-link.coll-with-image.no-focus-link, 2685.site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry.with-promotion .mega-link a.menu-link.coll-with-image.no-focus-link{ 2686 text-align: left; 2687} 2688.site-nav #menu-item-recipes .featured_card, 2689.site-nav #menu-item-blog .featured_card{ 2690 width: 75%; 2691} 2692.site-nav #menu-item-recipes .featured_card .cards, 2693.site-nav #menu-item-blog .featured_card .cards{ 2694 display: inline-flex; 2695 width: 30%; 2696 height: 500px; 2697 position: relative; 2698 border-radius: 17px; 2699 overflow: hidden; 2700 margin: 5px; 2701} 2702.site-nav #menu-item-recipes .featured_card .cards a, 2703.site-nav #menu-item-blog .featured_card .cards a{ 2704 overflow: hidden; 2705 } 2706 2707.site-nav #menu-item-recipes .featured_card .cards img, 2708.site-nav #menu-item-blog .featured_card .cards img{ 2709 object-fit: cover; 2710 height: 80%;
2711 border-radius: 17px; 2712} 2713.site-nav #menu-item-recipes .featured_card .cards .featured_card_title, 2714.site-nav #menu-item-blog .featured_card .cards .featured_card_title{ 2715 position: absolute; 2716 bottom: 0; 2717 background-color: #A6E068; 2718 left: 0; 2719 right: 0; 2720 height: 30%; 2721 color: #00491F; 2722 padding: 1rem; 2723 border-radius: 0 0 17px 17px; 2724 display: flex; 2725 justify-content: center; 2726 align-items: center; 2727} 2728.nav-tile-wrap { 2729 display: flex; 2730 flex-direction: column; 2731} 2732.nav-tile-wrap .nav-tile-child-link { 2733 margin-bottom: 1rem !important; 2734} 2735@media (max-width: 1023px) { 2736 .site-nav #menu-item-recipes .featured_card .cards img, 2737.site-nav #menu-item-blog .featured_card .cards img{ 2738 height: 100%; 2739 object-position: -80px; 2740} 2741 .site-nav #menu-item-recipes .submenu.mega-menu .submenu-masonry.with-promotion, 2742 .site-nav #menu-item-blog .submenu.mega-menu .submenu-masonry.with-promotion{ 2743 width: 100%; 2744 order: 2; 2745 } 2746 .site-nav #menu-item-recipes .featured_card, 2747 .site-nav #menu-item-blog .featured_card { 2748 width: 100%; 2749 text-align: center; 2750 order: 1; 2751 } 2752 .site-nav #menu-item-recipes .featured_card .cards, 2753 .site-nav #menu-item-blog .featured_card .cards { 2754 display: inline-flex; 2755 width: calc(50% - 20px); 2756 height: 200px; 2757 position: relative; 2758 border-radius: 20px; 2759 overflow: hidden; 2760 margin: 5px; 2761 font-size: .8rem; 2762 } 2763 .site-nav #menu-item-recipes .featured_card .cards a, 2764 .site-nav #menu-item-blog .featured_card .cards a { 2765 padding: 0; 2766 } 2767} 2768 2769 @media screen and (max-width: 1020px) { 2770.site-nav #menu-item-recipes .featured_card .cards, 2771 .site-nav #menu-item-blog .featured_card .cards { 2772 width: 100%; 2773 } 2774 .featured_card_text { 2775 font-size: .8rem; 2776 line-height: 110%; 2777 } 2778 .site-nav ul { 2779 margin-right: 10px; 2780 } 2781 .nav-tile-child-link a.menu-link.coll-with-image.no-focus-link { 2782 justify-content: left; 2783 } 2784 2785 li.mega-link.has-promotion { 2786 margin: 0 1rem; 2787 } 2788 .featured_card { 2789 order: 1; 2790 } 2791 .nav-tile-wrap { 2792 order: 2; 2793 } 2794 } 2795 2796/* END Tom J Navigation - Featured Recipes/blogs */ 2797 </style> 2798 2799 <div class="site-nav-container"> 2800 2801 <nav><ul class="link-list"><li 2802 2803 class="has-submenu" aria-controls="SiteNavLabel-shop-sidebar" aria-expanded="false" 2804 2805 id="menu-item-shop" 2806 > 2807 2808 <a title="Shop" class="menu-link " href="https://amazinggrass.com/collections/all"> 2809 2810 <span><span class="">Shop</span></span> 2811 2812 2813 <span class="icon"><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></span> 2814 2815 2816 </a> 2817 2818 2819 2820 <ul class="submenu mega-menu " id="SiteNavLabel-shop-sidebar"><li class="submenu-back"> 2821 <a><span class="icon"><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></span>Back</a> 2822 </li><div class="submenu-holder "><div class="submenu-masonry without-promotion "><div class="shop-tile-wrap"><li 2823 2824 class="mega-link super-greens coll-img " 2825 2826 > 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 <a title="Super Greens" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243556457"> 2850 <img src="//amazinggrass.com/cdn/shop/collections/GreensBlend-Original30.png?crop=center&height=200&v=1756395179&width=200" alt="Super Greens The Original" srcset="//amazinggrass.com/cdn/shop/collections/GreensBlend-Original30.png?crop=center&height=200&v=1756395179&width=200 200w" width="200" height="200" loading="lazy"> 2851 </a> 2852 2853 2854 2855 2856 <a title="Super Greens" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243556457"> 2857 <span><span class="">Super Greens</span></span></a></li><li 2858
2859 class="mega-link sweet-greens coll-img " 2860 2861 > 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 <a title="Sweet Greens" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=618976837997"> 2888 <img src="//amazinggrass.com/cdn/shop/collections/US_SweetGreens_4.4OZ_SummerBerry_6075039.png?crop=center&height=200&v=1743707106&width=200" alt="Sweet Greens" srcset="//amazinggrass.com/cdn/shop/collections/US_SweetGreens_4.4OZ_SummerBerry_6075039.png?crop=center&height=200&v=1743707106&width=200 200w" width="200" height="200" loading="lazy"> 2889 </a> 2890 2891 <a title="Sweet Greens" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=618976837997"> 2892 <span><span class="">Sweet Greens</span></span></a></li><li 2893 2894 class="mega-link fizzy-green-tablets coll-img " 2895 2896 > 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 <a title="Fizzy Green Tablets" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243425385"> 2909 <img src="//amazinggrass.com/cdn/shop/collections/FizzyGreenTablets-HydrateStrawberryLemonadeTube_4fadf793-b244-42b9-af29-6698765d5484.png?crop=center&height=200&v=1768934557&width=200" alt="Fizzy Green Tablets" srcset="//amazinggrass.com/cdn/shop/collections/FizzyGreenTablets-HydrateStrawberryLemonadeTube_4fadf793-b244-42b9-af29-6698765d5484.png?crop=center&height=200&v=1768934557&width=200 200w" width="200" height="200" loading="lazy"> 2910 </a> 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 <a title="Fizzy Green Tablets" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243425385"> 2927 <span><span class="">Fizzy Green Tablets</span></span></a></li><li 2928 2929 class="mega-link kidz coll-img " 2930 2931 > 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 <a title="Kidz" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243720297"> 2950 <img src="//amazinggrass.com/cdn/shop/collections/Kidz_Superfood_-_Chocolate_30_a69e69ac-97a3-46c4-8d4b-1cddcac6be98.png?crop=center&height=200&v=1777990513&width=200" alt="Kidz" srcset="//amazinggrass.com/cdn/shop/collections/Kidz_Superfood_-_Chocolate_30_a69e69ac-97a3-46c4-8d4b-1cddcac6be98.png?crop=center&height=200&v=1777990513&width=200 200w" width="200" height="200" loading="lazy"> 2951 </a> 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 <a title="Kidz" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243720297"> 2962 <span><span class="">Kidz</span></span></a></li><li 2963
2964 class="mega-link super-greens-protein coll-img " 2965 2966 > 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 <a title="Super Greens + Protein" href="/collections/protein"> 2991 <img src="//amazinggrass.com/cdn/shop/collections/AG_SuperGreensProtein_Chocolate_10Serv_B_03.png?crop=center&height=200&v=1771869500&width=200" alt="Super Greens + Protein" srcset="//amazinggrass.com/cdn/shop/collections/AG_SuperGreensProtein_Chocolate_10Serv_B_03.png?crop=center&height=200&v=1771869500&width=200 200w" width="200" height="200" loading="lazy"> 2992 </a> 2993 2994 2995 2996 <a title="Super Greens + Protein" class="menu-link coll-with-image no-focus-link " href="/collections/protein"> 2997 <span><span class="">Super Greens + Protein</span></span></a></li><li 2998 2999 class="mega-link all-products coll-img " 3000 3001 > 3002 3003 3004 3005 3006 3007 <a title="All Products" href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=271949889641"> 3008 <img src="//amazinggrass.com/cdn/shop/collections/AG_AllProducts_2000x2000_a3e8e9b6-d6a6-4d8c-b185-8540572225f8.png?crop=center&height=200&v=1768935208&width=200" alt="Amazing Grass Super Greens Original, Sweet Greens Summer Berry and Fizzy Green Tablets Hydrate Stawberry" srcset="//amazinggrass.com/cdn/shop/collections/AG_AllProducts_2000x2000_a3e8e9b6-d6a6-4d8c-b185-8540572225f8.png?crop=center&height=200&v=1768935208&width=200 200w" width="200" height="200" loading="lazy"> 3009 </a> 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 <a title="All Products" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=271949889641"> 3032 <span><span class="">All Products</span></span></a></li></div></div> 3033 3034 3035 3036 </div> 3037 </ul> 3038 3039 3040 3041 </li><li 3042 3043 id="menu-item-about-us" 3044 > 3045 3046 <a title="About Us" class="menu-link no-focus-link " href="/pages/our-story"> 3047 3048 <span><span class="">About Us</span></span> 3049 3050 3051 3052 </a> 3053 3054 3055 3056 </li><li 3057 3058 class="has-submenu" aria-controls="SiteNavLabel-recipes-sidebar" aria-expanded="false" 3059 3060 id="menu-item-recipes" 3061 > 3062 3063 <a title="Recipes" class="menu-link " href="https://amazinggrass.com/blogs/recipes/"> 3064 3065 <span><span class="">Recipes</span></span> 3066 3067 3068 <span class="icon"><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></span> 3069 3070 3071 </a> 3072 3073 3074 3075 <ul class="submenu normal-menu " id="SiteNavLabel-recipes-sidebar"><li class="submenu-back"> 3076 <a><span class="icon"><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></span>Back</a> 3077 </li><div class="submenu-holder "><div class="nav-tile-wrap"><li 3078 3079 class="nav-tile-child-link all-recipes" 3080 3081 > 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 <a title="All Recipes" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/"> 3109 <span><span class="">All Recipes</span></span></a></li><li 3110 3111 class="nav-tile-child-link breakfast" 3112 3113 > 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 <a title="Breakfast" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Breakfast"> 3141 <span><span class="">Breakfast</span></span></a></li><li 3142 3143 class="nav-tile-child-link meals" 3144 3145 > 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 <a title="Meals" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Meals"> 3173 <span><span class="">Meals</span></span></a></li><li 3174 3175 class="nav-tile-child-link snacks" 3176 3177 > 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 <a title="Snacks" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Snacks"> 3205 <span><span class="">Snacks</span></span></a></li><li 3206 3207 class="nav-tile-child-link desserts" 3208 3209 > 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 <a title="Desserts" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Desserts"> 3237 <span><span class="">Desserts</span></span></a></li><li 3238 3239 class="nav-tile-child-link smoothies" 3240 3241 > 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 <a title="Smoothies" class="menu-link coll-with-image no-focus-link " href="https://amazinggrass.com/blogs/recipes/tagged/Smoothies"> 3269 <span><span class="">Smoothies</span></span></a></li></div> 3270<div class="featured_card"> 3271 <ul> 3272 3273 3274 <li class="cards"> 3275 <a class="menu-link coll-with-image no-focus-link " href="/blogs/recipes/grain-free-berry-waffles"> 3276
3276 <img src="//amazinggrass.com/cdn/shop/articles/Grain-Free-Berry-Waffles-Recipe-Post-Desktop_135ca467-55c8-4847-84b5-4bd41a014bdf.png?height=600&v=1747331634" alt="Grain Free Berry Waffles" srcset="//amazinggrass.com/cdn/shop/articles/Grain-Free-Berry-Waffles-Recipe-Post-Desktop_135ca467-55c8-4847-84b5-4bd41a014bdf.png?height=125&v=1747331634 352w, //amazinggrass.com/cdn/shop/articles/Grain-Free-Berry-Waffles-Recipe-Post-Desktop_135ca467-55c8-4847-84b5-4bd41a014bdf.png?height=297&v=1747331634 832w, //amazinggrass.com/cdn/shop/articles/Grain-Free-Berry-Waffles-Recipe-Post-Desktop_135ca467-55c8-4847-84b5-4bd41a014bdf.png?height=428&v=1747331634 1200w" height="600" loading="lazy"> 3277 <div class="featured_card_title"> 3278 <div class="featured_card_text"> 3279 Grain Free Berry Waffles 3280 </div> 3281 </div> 3282 </a> 3283 </li> 3284 3285 3286 <li class="cards"> 3287 <a class="menu-link coll-with-image no-focus-link " href="/blogs/recipes/honeydew-coconut-smoothie"> 3288 <img src="//amazinggrass.com/cdn/shop/articles/Honeydew-Coconut-Smoothie-Desktop_33e8225d-90ac-477c-8fd1-b22067f40bfc.jpg?height=600&v=1747331689" alt="Energizing Honeydew Coconut Smoothie" srcset="//amazinggrass.com/cdn/shop/articles/Honeydew-Coconut-Smoothie-Desktop_33e8225d-90ac-477c-8fd1-b22067f40bfc.jpg?height=125&v=1747331689 352w, //amazinggrass.com/cdn/shop/articles/Honeydew-Coconut-Smoothie-Desktop_33e8225d-90ac-477c-8fd1-b22067f40bfc.jpg?height=297&v=1747331689 832w, //amazinggrass.com/cdn/shop/articles/Honeydew-Coconut-Smoothie-Desktop_33e8225d-90ac-477c-8fd1-b22067f40bfc.jpg?height=428&v=1747331689 1200w" height="600" loading="lazy"> 3289 <div class="featured_card_title"> 3290 <div class="featured_card_text"> 3291 Energizing Honeydew Coconut Smoothie 3292 </div> 3293 </div> 3294 </a> 3295 </li> 3296 3297 3298 <li class="cards"> 3299 <a class="menu-link coll-with-image no-focus-link " href="/blogs/recipes/creamy-superfood-avocado-dip"> 3300 <img src="//amazinggrass.com/cdn/shop/articles/Creamy-Superfood-Avocado-Dip-Desktop.png?height=600&v=1747331441" alt="Creamy Superfood Guacamole" srcset="//amazinggrass.com/cdn/shop/articles/Creamy-Superfood-Avocado-Dip-Desktop.png?height=125&v=1747331441 352w, //amazinggrass.com/cdn/shop/articles/Creamy-Superfood-Avocado-Dip-Desktop.png?height=297&v=1747331441 832w, //amazinggrass.com/cdn/shop/articles/Creamy-Superfood-Avocado-Dip-Desktop.png?height=428&v=1747331441 1200w" height="600" loading="lazy"> 3301 <div class="featured_card_title"> 3302 <div class="featured_card_text"> 3303 Creamy Superfood Guacamole 3304 </div> 3305 </div> 3306 </a> 3307 </li> 3308 3309 </ul> 3310 </div> 3311 3312 3313 </div> 3314 </ul> 3315 3316 3317 3318 </li><li 3319 3320 id="menu-item-blog" 3321 > 3322 3323 <a title="Blog" class="menu-link no-focus-link " href="/blogs/blog"> 3324 3325 <span><span class="">Blog</span></span> 3326 3327 3328 3329 </a> 3330 3331 3332 3333 </li><li 3334 3335 id="menu-item-rewards" 3336 > 3337 3338 <a title="Rewards" class="menu-link no-focus-link " href="/pages/rewards"> 3339 3340 <span><span class="">Rewards</span></span> 3341 3342 3343 3344 </a> 3345 3346 3347 3348 </li><li 3349 3350 id="menu-item-take-the-quiz" 3351 > 3352 3353 <a title="Take The Quiz" class="menu-link no-focus-link " href="https://amazinggrass.com/pages/which-greens-are-right-for-you"> 3354 3355 <span><span class="">Take The Quiz</span></span> 3356 3357 3358 3359 </a> 3360 3361 3362 3363 </li><li id="menu-item-account"> 3364 <a class="menu-link" href="/account/login" title="Account"> 3365 <span style="display: inline-flex; align-items: center;"><svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3333 19.25V17.4167C18.3333 16.4442 17.947 15.5116 17.2593 14.8239C16.5717 14.1363 15.6391 13.75 14.6666 13.75H7.33329C6.36083 13.75 5.4282 14.1363 4.74057 14.8239C4.05293 15.5116 3.66663 16.4442 3.66663 17.4167V19.25" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="fill:none!important"/><path d="M11 10.0833C13.0251 10.0833 14.6667 8.44171 14.6667 6.41667C14.6667 4.39162 13.0251 2.75 11 2.75C8.975 2.75 7.33337 4.39162 7.33337 6.41667C7.33337 8.44171 8.975 10.0833 11 10.0833Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="fill:none!important"/></svg></span> 3366 </a> 3367 <!-- header mobile search --><div class="header-container header--container--bottom container--large mobile-search hide portable-show"> 3368 <search-form style="position:relative"> 3369 <div class="button button--outline button--icon button--outline-hover button--no-padding button--no-hover site-search-handle">
3370 <span class="button__icon" role="img" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="10.5" cy="10.5" r="7.5" stroke="black" stroke-width="2" style="fill:none!important"/><path d="M17.1213 15.2929L16.4142 14.5858L15 16L15.7071 16.7071L17.1213 15.2929ZM19.2426 20.2426C19.6331 20.6332 20.2663 20.6332 20.6568 20.2426C21.0473 19.8521 21.0473 19.219 20.6568 18.8284L19.2426 20.2426ZM15.7071 16.7071L19.2426 20.2426L20.6568 18.8284L17.1213 15.2929L15.7071 16.7071Z" fill="black" style="stroke:none!important"/></svg></span> 3371 <form action="/search" method="get" role="search" autocomplete="off"> 3372 <input name="q" type="search" autocomplete="off" 3373 placeholder="" 3374 aria-label="Search for..." 3375 data-js-search-input 3376 data-js-focus-overlay="search-results-overlay-mobile" 3377 id="main-nav-search-mobile" 3378 /> 3379 <button type="submit" style="display:none">Submit</button> 3380 </form> 3381 </div> 3382 <div id="search-results-overlay-mobile" class="search-results-overlay" onclick="this.classList.remove('active')" style="display:none"></div> 3383 <div class="search-results-container" data-js-search-results></div> 3384 </search-form> 3385 </div></li></ul></nav> 3386 3387 </div> 3388 3389 3390</div></mobile-navigation> 3391 </div> 3392 3393 <div class="sidebar__footer site-menu-sidebar-footer"> 3394</div> 3395 3396 <link rel="stylesheet" href="//amazinggrass.com/cdn/shop/t/110/assets/component-mobile-navigation.css?v=139411820035368824821762367902" media="print" onload="this.media='all'"> 3397 3398</sidebar-drawer> 3399 3400</div> 3401<!-- END sections: header-group --><link href="//amazinggrass.com/cdn/shop/t/110/assets/component-slider.css?v=41265367307193109841762367902" rel="stylesheet" type="text/css" media="all" /> 3402
3402<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-product-form.js?v=142389655646927860751762367902" defer></script>
3402 3403 3404 <main id="main" class="main-content 3405 main-content--align-product-items 3406 "> 3407<div id="shopify-section-template--25765837963629__image_tPN4k" class="shopify-section"> 3408 3409 3410 3411 3412 3413 3414 3415 3416<div class="container--fullwidth container--vertical-space"><a href="https://amazinggrass.com/products/sweet-savings-bundle" ><div class=" element--hide-on-small "> 3417<figure 3418 class="lazy-image 3419 3420 3421 " 3422 3423 data-ratio="4.0" style="padding-top: 25.0%" 3424 3425 data-crop="true" 3426> 3427 3428 <img 3429 src="//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=480" alt="SAVE 35% 3430Â 3431ON OUR SWEET 3432SAVINGS BUNDLE 3433Â 3434Super Greens 30 Servings + Sweet Greens 343525 Servings - Was $56.98 | Now Only $36.99* 3436Â 3437*Available for a limited time only" 3438 srcset="//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=240 240w,//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=360 360w,//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=420 420w,//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=480 480w,//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=640 640w,//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=840 840w,//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=1080 1080w,//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=1280 1280w,//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=1540 1540w,//amazinggrass.com/cdn/shop/files/AG_DTC_Sweet_Savings_Bundle_Desktop_2000x500_7fd44454-b0f0-429b-981a-bedbffe36cac.png?v=1787926004&width=1860 1860w" 3439 class="img" 3440 width="2000" 3441 height="500" 3442 data-ratio="4.0" 3443 sizes="100vw" 3444 3445 3446 3447 onload="this.parentNode.classList.add('lazyloaded')" 3448 /> 3449 3450</figure></div><div class="element--hide-on-desk "> 3451<figure 3452 class="lazy-image 3453 3454 3455 " 3456 3457 data-ratio="1.0" style="padding-top: 100.0%" 3458 3459 data-crop="true" 3460> 3461 3462 <img 3463 src="//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=480" alt="SAVE 35% 3464Â 3465ON OUR SWEET 3466SAVINGS BUNDLE 3467Â 3468Super Greens 30 Servings + Sweet Greens 346925 Servings - Was $56.98 | Now Only $36.99* 3470Â 3471*Available for a limited time only" 3472 srcset="//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=240 240w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=360 360w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=420 420w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=480 480w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=640 640w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=840 840w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=1080 1080w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=1280 1280w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=1540 1540w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=1860 1860w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=2100 2100w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=2460 2460w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=2820 2820w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=3360 3360w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__Sweet_Savings_Bundle_4000x4000_3b12b6f3-1c9f-41c6-9c61-608a83a3c498.png?v=1787926005&width=3820 3820w" 3473 class="img" 3474 width="4000" 3475 height="4000" 3476 data-ratio="1.0" 3477 sizes="100vw" 3478 3479 3480 3481 onload="this.parentNode.classList.add('lazyloaded')" 3482 /> 3483 3484</figure></div></a></div> 3485 3486 3487</div><div id="shopify-section-template--25765837963629__rich_text_NbMCr9" class="shopify-section can-be-fullwidth no-fullwidth-padding"><link href="//amazinggrass.com/cdn/shop/t/110/assets/section-rich-text.css?v=167548673202396956391762367902" rel="stylesheet" type="text/css" media="all" /> 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499<style> @media screen and (max-width: 767px) {#shopify-section-template--25765837963629__rich_text_NbMCr9 .rich-text__text {padding-top: 1rem !important; } #shopify-section-template--25765837963629__rich_text_NbMCr9 .rich-text__container--image-right .rich-text__image, #shopify-section-template--25765837963629__rich_text_NbMCr9 .rich-text__container--image-left .rich-text__image {aspect-ratio: unset; }} </style></div><div id="shopify-section-template--25765837963629__featured-collection" class="shopify-section mount-css-slider mount-collection-tabs"><link href="//amazinggrass.com/cdn/shop/t/110/assets/component-product-item.css?v=55444043758211983081787925645" rel="stylesheet" type="text/css" media="all" /> 3500<div class="container--large container--has-background remove-empty-space"> 3501 3502 <collection-tabs> 3503<div class="section-heading section-heading--center gutter-bottom--page"><div class="section-heading__text remove-empty-space"><h3 class="section-heading__title h4">FRESH PICKS</h3></div></div><div id="product-grid-template--25765837963629__featured-collection"> 3504<div 3505 class="collection-tabs_panel 3506 active 3507 active 3508 " 3509 id="collection-template--25765837963629__featured-collection-0" 3510 3511><css-slider data-options='{ 3512 "selector": ".product-item", 3513 "indexNav": true, 3514 "groupCells": true, 3515 "navigationDOM": "<span class=\"css-slider-button css-slider-prev\" style=\"display:none\"><svg fill=\"none\" height=\"13\" viewBox=\"0 0 8 13\" width=\"8\" xmlns=\"http://www.w3.org/2000/svg\"><g fill=\"#000\" ><path d=\"m7.91419 1.41431-6.48529 6.48528-1.4142102-1.41422 6.4852802-6.48527702z\"/><path d=\"m6.48528 12.9849-6.48528027-6.48532 1.41421027-1.41421 6.48528 6.48523z\"/></g></svg></span><span class=\"css-slider-button css-slider-next\" style=\"display:none\"><svg width=\"9\" height=\"13\" viewBox=\"0 0 9 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0.914169 11.5857L7.39945 5.10041L8.81367 6.51463L2.32838 12.9999L0.914169 11.5857Z\" fill=\"black\"/><path d=\"M2.34307 0.0151367L8.82835 6.50042L7.41414 7.91463L0.928857 1.42935L2.34307 0.0151367Z\" fill=\"black\"/></svg></span>" 3516 }' 3517 class="css-slider css-slider--bottom-navigation" 3518 id="css-slider-template--25765837963629__featured-collection-0" 3519 > 3520<div class="grid grid--slider grid-4 grid-portable-3 grid-lap-2 grid-tiny-1 grid-palm-1"> 3521<div id="product-item-1485694402634" class="product-item card" data-js-product-item><a href="/collections/fresh-picks/products/greens-blend-the-original" 3522 class="card__image product-item__image 3523 3524 product-item__image--has-secondary " 3525 style="padding-top:100.0%" 3526 data-content-id="product_image_super_greens_the_original" 3527 > 3528<figure 3529 class="lazy-image product-item__image-figure product-item__image-figure--primary lazy-image--animation 3530 lazy-image--background 3531 3532 " 3533 3534 data-ratio="1.0" style="padding-top: 100.0%" 3535 3536 data-crop="false" 3537> 3538 3539 <img 3540 src="//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?v=1756394358&width=480" alt="Amazing Grass Super Greens Original" 3541 srcset="//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=240&v=1756394358&width=240 240w,//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=360&v=1756394358&width=360 360w,//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=420&v=1756394358&width=420 420w,//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=480&v=1756394358&width=480 480w,//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=640&v=1756394358&width=640 640w,//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=840&v=1756394358&width=840 840w,//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=1080&v=1756394358&width=1080 1080w,//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=1280&v=1756394358&width=1280 1280w,//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=1540&v=1756394358&width=1540 1540w,//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=1860&v=1756394358&width=1860 1860w" 3542 class="img" 3543 width="2000" 3544 height="2000" 3545 data-ratio="1.0" 3546 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 3547 loading="lazy" 3548 3549 3550 onload="this.parentNode.classList.add('lazyloaded')" 3551 /> 3552 3553</figure> 3554<figure 3555 class="lazy-image product-item__image-figure product-item__image-figure--secondary lazy-image--animation 3556 lazy-image--background 3557 3558 " 3559 3560 data-ratio="1.0" style="padding-top: 100.0%" 3561 3562 data-crop="false" 3563> 3564 3565 <img 3566 src="//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?v=1757431359&width=480" alt="Super greens the original with decorative spinach and grass images" 3567 srcset="//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=240&v=1757431359&width=240 240w,//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=360&v=1757431359&width=360 360w,//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=420&v=1757431359&width=420 420w,//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=480&v=1757431359&width=480 480w,//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=640&v=1757431359&width=640 640w,//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=840&v=1757431359&width=840 840w,//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=1080&v=1757431359&width=1080 1080w,//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=1280&v=1757431359&width=1280 1280w,//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=1540&v=1757431359&width=1540 1540w,//amazinggrass.com/cdn/shop/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?crop=center&height=1860&v=1757431359&width=1860 1860w" 3568 class="img" 3569 width="2000" 3570 height="2000" 3571 data-ratio="1.0" 3572 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 3573 loading="lazy" 3574 3575 3576 onload="this.parentNode.classList.add('lazyloaded')" 3577 /> 3578 3579</figure></a> 3580 3581 <div class="card__text product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center"> 3582<a class="product-item__title h4" style="margin-bottom: .5rem;" 3583 href="/products/greens-blend-the-original" title="Super Greens The Original" > 3584Super Greens 3585</a> 3586 3587<div> 3588 3589 3590<p class="flavor-tile">The Original</p> 3591 3592 3593 3594 3595<style> 3596 .flavor-tile { 3597 background-color: #008540; 3598 border-radius: 6px; 3599 padding: 5px 15px; 3600 color: white; 3601 text-transform: uppercase; 3602 font-weight: 900!important; 3603 text-wrap: nowrap; 3604 margin-bottom: 0; 3605 } 3606 .flavor-tile--sweet-berry { 3607 background-color: #DE4668!important; 3608 } 3609 .flavor-tile--summer-berry { 3610 background-color: #8E2D4E!important; 3611 } 3612 .flavor-tile--chocolate { 3613 background-color: #864322!important; 3614 } 3615 .flavor-tile--pineapple { 3616 background-color: #FFCF00!important; 3617 } 3618 .flavor-tile--peach-hibiscus { 3619 background-color: #ECB4D9!important; 3620 } 3621 .flavor-tile--tropical-lime { 3622 background-color: #c1d42d!important; 3623 } 3624 .flavor-tile--watermelon { 3625 background-color: #f67172!important; 3626 } 3627 .flavor-tile--detox { 3628 background-color: #7dcfc3!important; 3629 } 3630 .flavor-tile--tropical { 3631 background-color: #f99643!important; 3632 } 3633</style></div> 3634<div 3635 class="product-item__ratings" 3636 3637 > 3638<div itemscope itemtype="http://schema.org/Product"> 3639 <meta itemprop="name" content="Super Greens The Original" /> 3640 <div data-bv-show="inline_rating" 3641 data-bv-product-id="1485694402634" 3642 data-bv-redirect-url="/products/greens-blend-the-original"></div> 3643 </div></div> 3644<div 3645 class="product-item__price text-size--regular equalize-white-space" 3646 3647 > 3648 <div class="remove-line-height-space"> 3649 3650 3651<div 3652 class="product-price " 3653 data-og-price 3654 data-og-price-scope="13610019029066" 3655 data-variant-id="13610019029066" 3656 data-variant-price="2849" 3657 data-variant-compare-at-price="0" 3658> 3659 3660 <!-- SUBSCRIPTION PRICE --> 3661 <div 3662 id="subscription-price" 3663 class="og-subscription-price" 3664 style="display:none" 3665 data-subscription-price-wrapper 3666 > 3667 3668 <span 3669 class="product-price--original " 3670 data-subscription-price 3671 data-og-sale-price 3672 > 3673 $28.49 3674 </span> 3675 3676 <del class="product-price--compare"> 3677
3678 <span data-subscription-compare-price> 3679 $28.49 3680 </span></del> 3681 3682 </div> 3683 3684 <!-- REGULAR PRICE --> 3685 <div 3686 id="regular-price" 3687 class="og-regular-price" 3688 style="display:block" 3689 data-regular-price-wrapper 3690 > 3691 3692 <span 3693 class="product-price--original " 3694 data-regular-price 3695 > 3696 $28.49 3697 </span></div> 3698 3699</div> 3700
3701<script> 3702(function() { 3703 var POLL_INTERVAL = 250; 3704 var MAX_POLL_ATTEMPTS = 80; 3705 3706 var MONEY_FORMAT = "${{amount}}"; 3707 var ISO_CODE = ""; 3708 3709 /** 3710 * AJAX variant switches replace price block markup via innerHTML 3711 * (see ProductVariants.renderProductUpdates in the theme JS), and 3712 * browsers never execute
3712<script> tags injected that way. That 3713 * means whichever script instance(s) executed on the real initial 3714 * page load are the ONLY ones that will ever run for the life of 3715 * this page â their own [data-og-price-scope] element can get 3716 * destroyed and replaced by a fresh one (for whatever variant is 3717 * now selected) without a new script ever picking it up. 3718 * 3719 * The fix: never hold a fixed VARIANT_ID. Resolve which scope 3720 * element to use fresh, every time, from whatever the currently 3721 * selected variant actually is â so a still-running instance 3722 * always finds and controls the current (possibly freshly 3723 * re-injected) scope element instead of a stale reference to one 3724 * that no longer exists. 3725 */ 3726 function getActiveVariantId() { 3727 var productVariants = getProductVariantsElement(); 3728 3729 if ( 3730 productVariants && 3731 productVariants.currentVariant && 3732 productVariants.currentVariant.id 3733 ) { 3734 return String(productVariants.currentVariant.id); 3735 } 3736 3737 return null; 3738 } 3739 3740 function getScope() { 3741 var variantId = getActiveVariantId(); 3742 3743 if (!variantId) { 3744 return null; 3745 } 3746 3747 return document.querySelector('[data-og-price-scope="' + variantId + '"]'); 3748 } 3749 3750 function scopedQuery(selector) { 3751 var scope = getScope(); 3752 return scope ? scope.querySelector(selector) : null; 3753 } 3754 3755 function getPriceWrapper() { 3756 return getScope(); 3757 } 3758 3759 function getProductVariantsElement() { 3760 return document.querySelector('product-variants'); 3761 } 3762 3763 function getOGOffer() { 3764 return document.getElementsByTagName('og-offer')[0]; 3765 } 3766 3767 /** 3768 * The single source of truth for whether the discounted price 3769 * should show: a direct, real-time read of whether 'subscribed' is 3770 * present on <og-offer> right now. No stored variable, no default 3771 * state, no syncing from any OG JS API â just whatever the DOM 3772 * actually says at the moment this is called. 3773 */ 3774 function isSubscribed() { 3775 var offer = getOGOffer(); 3776 return !!(offer && offer.hasAttribute('subscribed')); 3777 } 3778 3779 function getOptoutButton() { 3780 var offer = getOGOffer(); 3781 return offer ? offer.querySelector('og-optout-button') : null; 3782 } 3783 3784 /** 3785 * Guards resetToOneTimeOnLoad so it only ever acts once per page 3786 * load â it exists purely to actively select one-time purchase at 3787 * initialization (clicking the opt-out control just like a real 3788 * user would), not to fight a real subscribe selection made 3789 * afterward. 3790 */ 3791 var hasAttemptedInitialSelection = false; 3792 3793 /** 3794 * Actively selects one-time purchase on load by clicking the 3795 * opt-out control, once, the same way a real user click would. 3796 * Polls briefly in case the offer/buttons aren't in the DOM yet at 3797 * the moment this first runs. 3798 */ 3799 function selectOneTimeOnLoad(attempts) { 3800 attempts = attempts || 0; 3801 3802 if (hasAttemptedInitialSelection) { 3803 return; 3804 } 3805 3806 var optout = getOptoutButton(); 3807 3808 if (optout) { 3809 hasAttemptedInitialSelection = true; 3810 optout.click(); 3811 return; 3812 } 3813 3814 if (attempts < MAX_POLL_ATTEMPTS) { 3815 setTimeout(function() { 3816 selectOneTimeOnLoad(attempts + 1); 3817 }, POLL_INTERVAL); 3818 } 3819 } 3820 3821 /** 3822 * Cached purely so the DOM observer below can re-apply the offer's 3823 * visibility without re-running the whole price pipeline (which 3824 * itself mutates innerHTML and would otherwise retrigger the 3825 * observer in an infinite loop). The actual eligibility computation 3826 * still always comes fresh from updatePriceValues()/getIncentive() 3827 * inside applyPriceState() â this is just the last known result of 3828 * that computation, used only for the narrow display toggle. 3829 */ 3830 var currentVariantEligible = false; 3831 3832 function updateOfferEligibility(isEligible) { 3833 currentVariantEligible = isEligible; 3834 3835 var offerElement = getOGOffer(); 3836 3837 if (!offerElement) { 3838 return; 3839 } 3840 3841 offerElement.style.display = currentVariantEligible 3842 ? '' 3843 : 'none'; 3844 } 3845 3846 /** 3847 * Only re-applies the cached display state when the offer element 3848 * itself enters/leaves the DOM â it deliberately does NOT call 3849 * applyPriceState() here, since that function mutates innerHTML 3850 * elsewhere on the page, which would retrigger this childList/ 3851 * subtree observer and cause an infinite update loop. 3852 */ 3853 function bindOfferObserver() { 3854 if (!document.body) { 3855 return; 3856 } 3857 3858 var observer = new MutationObserver(function() { 3859 var offerElement = getOGOffer(); 3860
3861 if (!offerElement) { 3862 return; 3863 } 3864 3865 offerElement.style.display = currentVariantEligible 3866 ? '' 3867 : 'none'; 3868 }); 3869 3870 observer.observe(document.body, { 3871 childList: true, 3872 subtree: true 3873 }); 3874 } 3875 3876 /** 3877 * Watches specifically for the 'subscribed' attribute changing 3878 * anywhere in the document (i.e. on <og-offer>) and re-applies price 3879 * state whenever it does. This is the only trigger tied to 3880 * subscription selection â there is no separate stored state to 3881 * keep in sync. 3882 */ 3883 function bindSubscribedAttributeObserver() { 3884 if (!document.body) { 3885 return; 3886 } 3887 3888 var observer = new MutationObserver(function(mutations) { 3889 var relevant = mutations.some(function(m) { 3890 return m.type === 'attributes' && m.attributeName === 'subscribed'; 3891 }); 3892 3893 if (!relevant) { 3894 return; 3895 } 3896 3897 retryApplyPriceState(); 3898 }); 3899 3900 observer.observe(document.body, { 3901 subtree: true, 3902 attributes: true, 3903 attributeFilter: ['subscribed'] 3904 }); 3905 } 3906 3907 function getCurrentVariant() { 3908 var productVariants = getProductVariantsElement(); 3909 3910 if ( 3911 productVariants && 3912 productVariants.currentVariant 3913 ) { 3914 return productVariants.currentVariant; 3915 } 3916 3917 /** 3918 * Last-resort fallback only, for the case where product-variants 3919 * isn't available at all. getScope() can't help here since it 3920 * itself depends on productVariants.currentVariant â so this 3921 * grabs any price wrapper still in the DOM as a best-effort guess. 3922 */ 3923 var priceWrapper = document.querySelector('[data-og-price]'); 3924 3925 if (!priceWrapper) { 3926 return null; 3927 } 3928 3929 return { 3930 id: priceWrapper.getAttribute('data-variant-id'), 3931 price: Number(priceWrapper.getAttribute('data-variant-price')), 3932 compare_at_price: Number(priceWrapper.getAttribute('data-variant-compare-at-price')) || 0 3933 }; 3934 } 3935 3936 function formatMoney(cents) { 3937 cents = Math.round(Number(cents)); 3938 3939 if ( 3940 window.Shopify && 3941 typeof Shopify.formatMoney === 'function' 3942 ) { 3943 return Shopify.formatMoney(cents, MONEY_FORMAT) + ISO_CODE; 3944 } 3945 3946 return '$' + (cents / 100).toFixed(2) + ISO_CODE; 3947 } 3948 3949 function getIncentive(variantId) { 3950 try { 3951 if ( 3952 typeof OG === 'undefined' || 3953 !OG.store || 3954 typeof OG.store.getState !== 'function' 3955 ) { 3956 return null; 3957 } 3958 3959 var state = OG.store.getState(); 3960 var incentives = state && state.incentives; 3961 3962 if (!incentives) { 3963 return null; 3964 } 3965 3966 var productIncentives = 3967 incentives[variantId] || 3968 incentives[Number(variantId)]; 3969 3970 if (!productIncentives) { 3971 return null; 3972 } 3973 3974 var incentive = 3975 productIncentives.initial && productIncentives.initial[0] 3976 ? productIncentives.initial[0] 3977 : productIncentives.ongoing && productIncentives.ongoing[0] 3978 ? productIncentives.ongoing[0] 3979 : null; 3980 3981 if ( 3982 incentive && 3983 incentive.value 3984 ) { 3985 return incentive; 3986 } 3987 3988 return null; 3989 } 3990 catch(e) { 3991 console.log('[OG Price] getIncentive:', e.message); 3992 return null; 3993 } 3994 } 3995 3996 function calcDiscountedPrice( 3997 incentive, 3998 variantPrice 3999 ) { 4000 if (!incentive) { 4001 return null; 4002 } 4003 4004 var value = 4005 parseFloat(incentive.value); 4006 4007 if ( 4008 isNaN(value) || 4009 value <= 0 4010 ) { 4011 return null; 4012 } 4013 4014 var type = 4015 String(incentive.type || '').toLowerCase(); 4016 4017 if ( 4018 type === 'discount percent' || 4019 type === 'percentage' || 4020 type === 'percent' 4021 ) { 4022 return Math.ceil( 4023 variantPrice * (1 - value / 100) 4024 ); 4025 } 4026 if ( 4027 type === 'discount fixed' || 4028 type === 'fixed' || 4029 type === 'fixed_amount' 4030 ) { 4031 return Math.ceil( 4032 variantPrice - value * 100 4033 ); 4034 } 4035 4036 return null; 4037 } 4038 4039 function updatePriceWrapperData(variant) { 4040 var priceWrapper = getPriceWrapper(); 4041 4042 if ( 4043 !priceWrapper || 4044 !variant 4045 ) { 4046 return; 4047 } 4048 4049 priceWrapper.setAttribute( 4050 'data-variant-id', 4051 variant.id 4052 ); 4053 4054 priceWrapper.setAttribute( 4055 'data-variant-price', 4056 variant.price 4057 ); 4058 4059 priceWrapper.setAttribute( 4060 'data-variant-compare-at-price', 4061 variant.compare_at_price || 0 4062 ); 4063 } 4064 4065 function updatePriceValues() { 4066 var variant = getCurrentVariant(); 4067 4068 if ( 4069 !variant || 4070 !variant.id || 4071 !variant.price 4072 ) { 4073 return false;
4074 } 4075 4076 var incentive = 4077 getIncentive(variant.id); 4078 4079 if (!incentive) { 4080 return false; 4081 } 4082 4083 var discountedCents = 4084 calcDiscountedPrice( 4085 incentive, 4086 variant.price 4087 ); 4088 4089 if ( 4090 discountedCents === null || 4091 discountedCents >= variant.price 4092 ) { 4093 return false; 4094 } 4095 4096 var subscriptionPriceNode = 4097 scopedQuery('[data-subscription-price]'); 4098 4099 var subscriptionCompareNode = 4100 scopedQuery('[data-subscription-compare-price]'); 4101 4102 var subscriptionSavingNode = 4103 scopedQuery('[data-subscription-saving]'); 4104 4105 var regularPriceNode = 4106 scopedQuery('[data-regular-price]'); 4107 4108 var comparePriceNode = 4109 scopedQuery('[data-compare-price]'); 4110 4111 if (subscriptionPriceNode) { 4112 subscriptionPriceNode.innerHTML = 4113 formatMoney(discountedCents); 4114 } 4115 4116 if (subscriptionCompareNode) { 4117 subscriptionCompareNode.innerHTML = 4118 formatMoney(variant.price); 4119 } 4120 4121 if (subscriptionSavingNode) { 4122 subscriptionSavingNode.innerHTML = 4123 "you save [amount]" 4124 .replace( 4125 '[amount]', 4126 formatMoney(variant.price - discountedCents) 4127 ); 4128 } 4129 4130 if (regularPriceNode) { 4131 regularPriceNode.innerHTML = 4132 formatMoney(variant.price); 4133 } 4134 4135 if ( 4136 comparePriceNode && 4137 variant.compare_at_price && 4138 variant.compare_at_price > variant.price 4139 ) { 4140 comparePriceNode.innerHTML = 4141 formatMoney(variant.compare_at_price); 4142 } 4143 4144 return true; 4145 } 4146 4147 function showSubscriptionPrice() { 4148 var regularPrice = 4149 scopedQuery('[data-regular-price-wrapper]'); 4150 4151 var subscriptionPrice = 4152 scopedQuery('[data-subscription-price-wrapper]'); 4153 4154 if (regularPrice) { 4155 regularPrice.style.display = 'none'; 4156 } 4157 4158 if (subscriptionPrice) { 4159 subscriptionPrice.style.display = 'block'; 4160 } 4161 } 4162 4163 function showRegularPrice() { 4164 var regularPrice = 4165 scopedQuery('[data-regular-price-wrapper]'); 4166 4167 var subscriptionPrice = 4168 scopedQuery('[data-subscription-price-wrapper]'); 4169 4170 if (regularPrice) { 4171 regularPrice.style.display = 'block'; 4172 } 4173 4174 if (subscriptionPrice) { 4175 subscriptionPrice.style.display = 'none'; 4176 } 4177 } 4178 4179 function displayPriceInOffer() { 4180 var offerElement = getOGOffer(); 4181 4182 if (!offerElement) { 4183 return; 4184 } 4185 4186 var optedInLabel = 4187 offerElement.querySelector( 4188 "og-optin-button span[id='og-label']" 4189 ); 4190 4191 var optedOutLabel = 4192 offerElement.querySelector( 4193 "og-optout-button span[id='og-label']" 4194 ); 4195 4196 var subscriptionPrice = 4197 scopedQuery('[data-subscription-price]'); 4198 4199 var regularPrice = 4200 scopedQuery('[data-regular-price]'); 4201 4202 if ( 4203 !optedInLabel || 4204 !optedOutLabel || 4205 !subscriptionPrice || 4206 !regularPrice 4207 ) { 4208 return; 4209 } 4210 4211 optedInLabel.innerHTML = 4212 '<span>' + 4213 subscriptionPrice.innerHTML + 4214 '</span> - Subscribe & Save'; 4215 4216 optedOutLabel.innerHTML = 4217 '<span>' + 4218 regularPrice.innerHTML + 4219 '</span> - One-Time Purchase'; 4220 } 4221 4222 function applyPriceState() { 4223 var hasSubscriptionPrice = 4224 updatePriceValues(); 4225 4226 /** 4227 * Eligible variant = show <og-offer> 4228 * Ineligible variant = hide <og-offer> 4229 */ 4230 updateOfferEligibility(hasSubscriptionPrice); 4231 4232 if ( 4233 hasSubscriptionPrice && 4234 isSubscribed() 4235 ) { 4236 showSubscriptionPrice(); 4237 displayPriceInOffer(); 4238 return true; 4239 } 4240 4241 showRegularPrice(); 4242 displayPriceInOffer(); 4243 4244 return hasSubscriptionPrice; 4245 } 4246 4247 function retryApplyPriceState() { 4248 var attempts = 0; 4249 4250 function run() { 4251 attempts++; 4252 4253 if (applyPriceState()) { 4254 return; 4255 } 4256 4257 if (attempts < MAX_POLL_ATTEMPTS) { 4258 setTimeout(run, POLL_INTERVAL); 4259 } 4260 } 4261 4262 run(); 4263 } 4264 4265 function handleVariantChange() { 4266 setTimeout(function() { 4267 var variant = 4268 getCurrentVariant(); 4269 4270 updatePriceWrapperData(variant); 4271 4272 /** 4273 * If not currently subscribed, re-affirm one-time purchase with 4274 * a real click on the new variant/product context â the same 4275 * kind of genuine interaction that fixed the initial-load case. 4276 * Only does this when NOT subscribed, so it never fights a real 4277 * subscribe selection the user already made before switching. 4278 */ 4279 if (!isSubscribed()) { 4280 var optout = getOptoutButton(); 4281 if (optout) { 4282 optout.click(); 4283 } 4284 } 4285 4286 /** 4287 * Retry because OG incentives may update after variant change. 4288 * <og-offer> will only stay visible if this variant has a valid 4289 * subscription price, and its price only shows the discount if 4290 * 'subscribed' is present on it right now. 4291 */ 4292 retryApplyPriceState(); 4293 }, 200); 4294 } 4295 4296 function bindVariantChangeEvent() { 4297 var productVariants = 4298 getProductVariantsElement(); 4299 4300 if (!productVariants) { 4301 return; 4302 } 4303 4304 productVariants.addEventListener(
4305 'VARIANT_CHANGE', 4306 handleVariantChange 4307 ); 4308 } 4309 4310 function initializeOGPricing() { 4311 if (typeof OG === 'undefined') { 4312 setTimeout(initializeOGPricing, 200); 4313 return; 4314 } 4315 4316 if ( 4317 typeof OG.isReady === 'function' && 4318 !OG.isReady() 4319 ) { 4320 setTimeout(initializeOGPricing, 150); 4321 return; 4322 } 4323 4324 retryApplyPriceState(); 4325 } 4326 4327 function initOGPricing() { 4328 updateOfferEligibility(false); 4329 4330 bindOfferObserver(); 4331 bindSubscribedAttributeObserver(); 4332 bindVariantChangeEvent(); 4333 initializeOGPricing(); 4334 selectOneTimeOnLoad(); 4335 4336 // Force correct initial display after OG has time to load 4337 setTimeout(function() { 4338 retryApplyPriceState(); 4339 }, 500); 4340 } 4341 4342 if (document.readyState === 'loading') { 4343 document.addEventListener('DOMContentLoaded', initOGPricing); 4344 } else { 4345 initOGPricing(); 4346 } 4347})(); 4348</script>
4348</div> 4349 </div> 4350 4351</div><div 4352 class="product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center" 4353 style="padding-top: 0;" 4354 > 4355 <div 4356 class="product-item__quick-buy" 4357 4358 ><quick-view-product class="quick-add-to-cart" data-content-id="cta_quick_add_super_greens_the_original" > 4359 <a href="/products/greens-blend-the-original" class="button button--solid button--regular button--fullwidth button--loader" data-js-product-add-to-cart data-id="1485694402634" title="Open quick view modal" > 4360 <span class="button__text ">Buy now</span> 4361 <span class="button__preloader"> 4362 <svg class="button__preloader-element" viewBox="25 25 50 50"><circle cx="50" cy="50" r="20" fill="none" stroke-width="4"/></svg> 4363 </span> 4364 </a> 4365 </quick-view-product></div> 4366</div></div> 4367<div id="product-item-14650075087213" class="product-item card" data-js-product-item><a href="/collections/fresh-picks/products/sweet-greens-peach-hibiscus" 4368 class="card__image product-item__image 4369 4370 product-item__image--has-secondary " 4371 style="padding-top:100.0%" 4372 data-content-id="product_image_sweet_greens_peach_hibiscus" 4373 > 4374<figure 4375 class="lazy-image product-item__image-figure product-item__image-figure--primary lazy-image--animation 4376 lazy-image--background 4377 4378 " 4379 4380 data-ratio="1.0" style="padding-top: 100.0%" 4381 4382 data-crop="false" 4383> 4384 4385 <img 4386 src="//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?v=1741037413&width=480" alt="Amazing Grass Sweet Greens" 4387 srcset="//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=240&v=1741037413&width=240 240w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=360&v=1741037413&width=360 360w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=420&v=1741037413&width=420 420w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=480&v=1741037413&width=480 480w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=640&v=1741037413&width=640 640w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=840&v=1741037413&width=840 840w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=1080&v=1741037413&width=1080 1080w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=1280&v=1741037413&width=1280 1280w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=1540&v=1741037413&width=1540 1540w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=1860&v=1741037413&width=1860 1860w,//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088.png?crop=center&height=2100&v=1741037413&width=2100 2100w" 4388 class="img" 4389 width="4000" 4390 height="4000" 4391 data-ratio="1.0" 4392 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 4393 loading="lazy" 4394 4395 4396 onload="this.parentNode.classList.add('lazyloaded')" 4397 /> 4398 4399</figure> 4400<figure 4401 class="lazy-image product-item__image-figure product-item__image-figure--secondary lazy-image--animation 4402 lazy-image--background 4403 4404 " 4405 4406 data-ratio="1.0" style="padding-top: 100.0%" 4407 4408 data-crop="false" 4409> 4410 4411 <img 4412 src="//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?v=1770672016&width=480" alt="Sweet Greens Peach Hibiscus" 4413 srcset="//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=240&v=1770672016&width=240 240w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=360&v=1770672016&width=360 360w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=420&v=1770672016&width=420 420w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=480&v=1770672016&width=480 480w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=640&v=1770672016&width=640 640w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=840&v=1770672016&width=840 840w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=1080&v=1770672016&width=1080 1080w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=1280&v=1770672016&width=1280 1280w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=1540&v=1770672016&width=1540 1540w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=1860&v=1770672016&width=1860 1860w,//amazinggrass.com/cdn/shop/files/AG_AMZ_B__SweetGreens_PeachHibiscus_5.29oz_01.jpg?crop=center&height=2100&v=1770672016&width=2100 2100w" 4414 class="img" 4415 width="4000" 4416 height="4000" 4417 data-ratio="1.0" 4418 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 4419 loading="lazy" 4420 4421 4422 onload="this.parentNode.classList.add('lazyloaded')" 4423 /> 4424 4425</figure></a> 4426 4427 <div class="card__text product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center"> 4428<a class="product-item__title h4" style="margin-bottom: .5rem;" 4429 href="/products/sweet-greens-peach-hibiscus" title="Sweet Greens Peach Hibiscus" > 4430Sweet Greens 4431</a> 4432 4433<div> 4434 4435 4436<p class="flavor-tile flavor-tile--peach-hibiscus">Peach Hibiscus</p> 4437 4438 4439 4440 4441<style> 4442 .flavor-tile { 4443 background-color: #008540; 4444 border-radius: 6px; 4445 padding: 5px 15px; 4446 color: white; 4447 text-transform: uppercase; 4448 font-weight: 900!important; 4449 text-wrap: nowrap; 4450 margin-bottom: 0; 4451 } 4452 .flavor-tile--sweet-berry { 4453 background-color: #DE4668!important; 4454 } 4455 .flavor-tile--summer-berry { 4456 background-color: #8E2D4E!important; 4457 } 4458 .flavor-tile--chocolate { 4459 background-color: #864322!important; 4460 } 4461 .flavor-tile--pineapple { 4462 background-color: #FFCF00!important; 4463 } 4464 .flavor-tile--peach-hibiscus { 4465 background-color: #ECB4D9!important; 4466 } 4467 .flavor-tile--tropical-lime { 4468 background-color: #c1d42d!important; 4469 } 4470 .flavor-tile--watermelon { 4471 background-color: #f67172!important; 4472 } 4473 .flavor-tile--detox { 4474 background-color: #7dcfc3!important; 4475 } 4476 .flavor-tile--tropical { 4477 background-color: #f99643!important; 4478 } 4479</style></div> 4480<div 4481 class="product-item__ratings" 4482 4483 > 4484<div itemscope itemtype="http://schema.org/Product"> 4485 <meta itemprop="name" content="Sweet Greens Peach Hibiscus" /> 4486 <div data-bv-show="inline_rating" 4487 data-bv-product-id="14650075087213" 4488 data-bv-redirect-url="/products/sweet-greens-peach-hibiscus"></div> 4489 </div></div> 4490<div 4491 class="product-item__price text-size--regular equalize-white-space" 4492 4493 > 4494 <div class="remove-line-height-space"> 4495 4496 4497<div 4498 class="product-price " 4499 data-og-price 4500 data-og-price-scope="53760937722221" 4501 data-variant-id="53760937722221" 4502 data-variant-price="2849" 4503 data-variant-compare-at-price="0" 4504> 4505 4506 <!-- SUBSCRIPTION PRICE --> 4507 <div 4508 id="subscription-price" 4509 class="og-subscription-price" 4510 style="display:none" 4511 data-subscription-price-wrapper 4512 > 4513 4514 <span 4515 class="product-price--original " 4516 data-subscription-price 4517 data-og-sale-price 4518 > 4519 $28.49 4520 </span> 4521 4522 <del class="product-price--compare"> 4523
4524 <span data-subscription-compare-price> 4525 $28.49 4526 </span></del> 4527 4528 </div> 4529 4530 <!-- REGULAR PRICE --> 4531 <div 4532 id="regular-price" 4533 class="og-regular-price" 4534 style="display:block" 4535 data-regular-price-wrapper 4536 > 4537 4538 <span 4539 class="product-price--original " 4540 data-regular-price 4541 > 4542 $28.49 4543 </span></div> 4544 4545</div> 4546
4547<script> 4548(function() { 4549 var POLL_INTERVAL = 250; 4550 var MAX_POLL_ATTEMPTS = 80; 4551 4552 var MONEY_FORMAT = "${{amount}}"; 4553 var ISO_CODE = ""; 4554 4555 /** 4556 * AJAX variant switches replace price block markup via innerHTML 4557 * (see ProductVariants.renderProductUpdates in the theme JS), and 4558 * browsers never execute
4558<script> tags injected that way. That 4559 * means whichever script instance(s) executed on the real initial 4560 * page load are the ONLY ones that will ever run for the life of 4561 * this page â their own [data-og-price-scope] element can get 4562 * destroyed and replaced by a fresh one (for whatever variant is 4563 * now selected) without a new script ever picking it up. 4564 * 4565 * The fix: never hold a fixed VARIANT_ID. Resolve which scope 4566 * element to use fresh, every time, from whatever the currently 4567 * selected variant actually is â so a still-running instance 4568 * always finds and controls the current (possibly freshly 4569 * re-injected) scope element instead of a stale reference to one 4570 * that no longer exists. 4571 */ 4572 function getActiveVariantId() { 4573 var productVariants = getProductVariantsElement(); 4574 4575 if ( 4576 productVariants && 4577 productVariants.currentVariant && 4578 productVariants.currentVariant.id 4579 ) { 4580 return String(productVariants.currentVariant.id); 4581 } 4582 4583 return null; 4584 } 4585 4586 function getScope() { 4587 var variantId = getActiveVariantId(); 4588 4589 if (!variantId) { 4590 return null; 4591 } 4592 4593 return document.querySelector('[data-og-price-scope="' + variantId + '"]'); 4594 } 4595 4596 function scopedQuery(selector) { 4597 var scope = getScope(); 4598 return scope ? scope.querySelector(selector) : null; 4599 } 4600 4601 function getPriceWrapper() { 4602 return getScope(); 4603 } 4604 4605 function getProductVariantsElement() { 4606 return document.querySelector('product-variants'); 4607 } 4608 4609 function getOGOffer() { 4610 return document.getElementsByTagName('og-offer')[0]; 4611 } 4612 4613 /** 4614 * The single source of truth for whether the discounted price 4615 * should show: a direct, real-time read of whether 'subscribed' is 4616 * present on <og-offer> right now. No stored variable, no default 4617 * state, no syncing from any OG JS API â just whatever the DOM 4618 * actually says at the moment this is called. 4619 */ 4620 function isSubscribed() { 4621 var offer = getOGOffer(); 4622 return !!(offer && offer.hasAttribute('subscribed')); 4623 } 4624 4625 function getOptoutButton() { 4626 var offer = getOGOffer(); 4627 return offer ? offer.querySelector('og-optout-button') : null; 4628 } 4629 4630 /** 4631 * Guards resetToOneTimeOnLoad so it only ever acts once per page 4632 * load â it exists purely to actively select one-time purchase at 4633 * initialization (clicking the opt-out control just like a real 4634 * user would), not to fight a real subscribe selection made 4635 * afterward. 4636 */ 4637 var hasAttemptedInitialSelection = false; 4638 4639 /** 4640 * Actively selects one-time purchase on load by clicking the 4641 * opt-out control, once, the same way a real user click would. 4642 * Polls briefly in case the offer/buttons aren't in the DOM yet at 4643 * the moment this first runs. 4644 */ 4645 function selectOneTimeOnLoad(attempts) { 4646 attempts = attempts || 0; 4647 4648 if (hasAttemptedInitialSelection) { 4649 return; 4650 } 4651 4652 var optout = getOptoutButton(); 4653 4654 if (optout) { 4655 hasAttemptedInitialSelection = true; 4656 optout.click(); 4657 return; 4658 } 4659 4660 if (attempts < MAX_POLL_ATTEMPTS) { 4661 setTimeout(function() { 4662 selectOneTimeOnLoad(attempts + 1); 4663 }, POLL_INTERVAL); 4664 } 4665 } 4666 4667 /** 4668 * Cached purely so the DOM observer below can re-apply the offer's 4669 * visibility without re-running the whole price pipeline (which 4670 * itself mutates innerHTML and would otherwise retrigger the 4671 * observer in an infinite loop). The actual eligibility computation 4672 * still always comes fresh from updatePriceValues()/getIncentive() 4673 * inside applyPriceState() â this is just the last known result of 4674 * that computation, used only for the narrow display toggle. 4675 */ 4676 var currentVariantEligible = false; 4677 4678 function updateOfferEligibility(isEligible) { 4679 currentVariantEligible = isEligible; 4680 4681 var offerElement = getOGOffer(); 4682 4683 if (!offerElement) { 4684 return; 4685 } 4686 4687 offerElement.style.display = currentVariantEligible 4688 ? '' 4689 : 'none'; 4690 } 4691 4692 /** 4693 * Only re-applies the cached display state when the offer element 4694 * itself enters/leaves the DOM â it deliberately does NOT call 4695 * applyPriceState() here, since that function mutates innerHTML 4696 * elsewhere on the page, which would retrigger this childList/ 4697 * subtree observer and cause an infinite update loop. 4698 */ 4699 function bindOfferObserver() { 4700 if (!document.body) { 4701 return; 4702 } 4703 4704 var observer = new MutationObserver(function() { 4705 var offerElement = getOGOffer(); 4706
4707 if (!offerElement) { 4708 return; 4709 } 4710 4711 offerElement.style.display = currentVariantEligible 4712 ? '' 4713 : 'none'; 4714 }); 4715 4716 observer.observe(document.body, { 4717 childList: true, 4718 subtree: true 4719 }); 4720 } 4721 4722 /** 4723 * Watches specifically for the 'subscribed' attribute changing 4724 * anywhere in the document (i.e. on <og-offer>) and re-applies price 4725 * state whenever it does. This is the only trigger tied to 4726 * subscription selection â there is no separate stored state to 4727 * keep in sync. 4728 */ 4729 function bindSubscribedAttributeObserver() { 4730 if (!document.body) { 4731 return; 4732 } 4733 4734 var observer = new MutationObserver(function(mutations) { 4735 var relevant = mutations.some(function(m) { 4736 return m.type === 'attributes' && m.attributeName === 'subscribed'; 4737 }); 4738 4739 if (!relevant) { 4740 return; 4741 } 4742 4743 retryApplyPriceState(); 4744 }); 4745 4746 observer.observe(document.body, { 4747 subtree: true, 4748 attributes: true, 4749 attributeFilter: ['subscribed'] 4750 }); 4751 } 4752 4753 function getCurrentVariant() { 4754 var productVariants = getProductVariantsElement(); 4755 4756 if ( 4757 productVariants && 4758 productVariants.currentVariant 4759 ) { 4760 return productVariants.currentVariant; 4761 } 4762 4763 /** 4764 * Last-resort fallback only, for the case where product-variants 4765 * isn't available at all. getScope() can't help here since it 4766 * itself depends on productVariants.currentVariant â so this 4767 * grabs any price wrapper still in the DOM as a best-effort guess. 4768 */ 4769 var priceWrapper = document.querySelector('[data-og-price]'); 4770 4771 if (!priceWrapper) { 4772 return null; 4773 } 4774 4775 return { 4776 id: priceWrapper.getAttribute('data-variant-id'), 4777 price: Number(priceWrapper.getAttribute('data-variant-price')), 4778 compare_at_price: Number(priceWrapper.getAttribute('data-variant-compare-at-price')) || 0 4779 }; 4780 } 4781 4782 function formatMoney(cents) { 4783 cents = Math.round(Number(cents)); 4784 4785 if ( 4786 window.Shopify && 4787 typeof Shopify.formatMoney === 'function' 4788 ) { 4789 return Shopify.formatMoney(cents, MONEY_FORMAT) + ISO_CODE; 4790 } 4791 4792 return '$' + (cents / 100).toFixed(2) + ISO_CODE; 4793 } 4794 4795 function getIncentive(variantId) { 4796 try { 4797 if ( 4798 typeof OG === 'undefined' || 4799 !OG.store || 4800 typeof OG.store.getState !== 'function' 4801 ) { 4802 return null; 4803 } 4804 4805 var state = OG.store.getState(); 4806 var incentives = state && state.incentives; 4807 4808 if (!incentives) { 4809 return null; 4810 } 4811 4812 var productIncentives = 4813 incentives[variantId] || 4814 incentives[Number(variantId)]; 4815 4816 if (!productIncentives) { 4817 return null; 4818 } 4819 4820 var incentive = 4821 productIncentives.initial && productIncentives.initial[0] 4822 ? productIncentives.initial[0] 4823 : productIncentives.ongoing && productIncentives.ongoing[0] 4824 ? productIncentives.ongoing[0] 4825 : null; 4826 4827 if ( 4828 incentive && 4829 incentive.value 4830 ) { 4831 return incentive; 4832 } 4833 4834 return null; 4835 } 4836 catch(e) { 4837 console.log('[OG Price] getIncentive:', e.message); 4838 return null; 4839 } 4840 } 4841 4842 function calcDiscountedPrice( 4843 incentive, 4844 variantPrice 4845 ) { 4846 if (!incentive) { 4847 return null; 4848 } 4849 4850 var value = 4851 parseFloat(incentive.value); 4852 4853 if ( 4854 isNaN(value) || 4855 value <= 0 4856 ) { 4857 return null; 4858 } 4859 4860 var type = 4861 String(incentive.type || '').toLowerCase(); 4862 4863 if ( 4864 type === 'discount percent' || 4865 type === 'percentage' || 4866 type === 'percent' 4867 ) { 4868 return Math.ceil( 4869 variantPrice * (1 - value / 100) 4870 ); 4871 } 4872 if ( 4873 type === 'discount fixed' || 4874 type === 'fixed' || 4875 type === 'fixed_amount' 4876 ) { 4877 return Math.ceil( 4878 variantPrice - value * 100 4879 ); 4880 } 4881 4882 return null; 4883 } 4884 4885 function updatePriceWrapperData(variant) { 4886 var priceWrapper = getPriceWrapper(); 4887 4888 if ( 4889 !priceWrapper || 4890 !variant 4891 ) { 4892 return; 4893 } 4894 4895 priceWrapper.setAttribute( 4896 'data-variant-id', 4897 variant.id 4898 ); 4899 4900 priceWrapper.setAttribute( 4901 'data-variant-price', 4902 variant.price 4903 ); 4904 4905 priceWrapper.setAttribute( 4906 'data-variant-compare-at-price', 4907 variant.compare_at_price || 0 4908 ); 4909 } 4910 4911 function updatePriceValues() { 4912 var variant = getCurrentVariant(); 4913 4914 if ( 4915 !variant || 4916 !variant.id || 4917 !variant.price 4918 ) { 4919 return false;
4920 } 4921 4922 var incentive = 4923 getIncentive(variant.id); 4924 4925 if (!incentive) { 4926 return false; 4927 } 4928 4929 var discountedCents = 4930 calcDiscountedPrice( 4931 incentive, 4932 variant.price 4933 ); 4934 4935 if ( 4936 discountedCents === null || 4937 discountedCents >= variant.price 4938 ) { 4939 return false; 4940 } 4941 4942 var subscriptionPriceNode = 4943 scopedQuery('[data-subscription-price]'); 4944 4945 var subscriptionCompareNode = 4946 scopedQuery('[data-subscription-compare-price]'); 4947 4948 var subscriptionSavingNode = 4949 scopedQuery('[data-subscription-saving]'); 4950 4951 var regularPriceNode = 4952 scopedQuery('[data-regular-price]'); 4953 4954 var comparePriceNode = 4955 scopedQuery('[data-compare-price]'); 4956 4957 if (subscriptionPriceNode) { 4958 subscriptionPriceNode.innerHTML = 4959 formatMoney(discountedCents); 4960 } 4961 4962 if (subscriptionCompareNode) { 4963 subscriptionCompareNode.innerHTML = 4964 formatMoney(variant.price); 4965 } 4966 4967 if (subscriptionSavingNode) { 4968 subscriptionSavingNode.innerHTML = 4969 "you save [amount]" 4970 .replace( 4971 '[amount]', 4972 formatMoney(variant.price - discountedCents) 4973 ); 4974 } 4975 4976 if (regularPriceNode) { 4977 regularPriceNode.innerHTML = 4978 formatMoney(variant.price); 4979 } 4980 4981 if ( 4982 comparePriceNode && 4983 variant.compare_at_price && 4984 variant.compare_at_price > variant.price 4985 ) { 4986 comparePriceNode.innerHTML = 4987 formatMoney(variant.compare_at_price); 4988 } 4989 4990 return true; 4991 } 4992 4993 function showSubscriptionPrice() { 4994 var regularPrice = 4995 scopedQuery('[data-regular-price-wrapper]'); 4996 4997 var subscriptionPrice = 4998 scopedQuery('[data-subscription-price-wrapper]'); 4999 5000 if (regularPrice) { 5001 regularPrice.style.display = 'none'; 5002 } 5003 5004 if (subscriptionPrice) { 5005 subscriptionPrice.style.display = 'block'; 5006 } 5007 } 5008 5009 function showRegularPrice() { 5010 var regularPrice = 5011 scopedQuery('[data-regular-price-wrapper]'); 5012 5013 var subscriptionPrice = 5014 scopedQuery('[data-subscription-price-wrapper]'); 5015 5016 if (regularPrice) { 5017 regularPrice.style.display = 'block'; 5018 } 5019 5020 if (subscriptionPrice) { 5021 subscriptionPrice.style.display = 'none'; 5022 } 5023 } 5024 5025 function displayPriceInOffer() { 5026 var offerElement = getOGOffer(); 5027 5028 if (!offerElement) { 5029 return; 5030 } 5031 5032 var optedInLabel = 5033 offerElement.querySelector( 5034 "og-optin-button span[id='og-label']" 5035 ); 5036 5037 var optedOutLabel = 5038 offerElement.querySelector( 5039 "og-optout-button span[id='og-label']" 5040 ); 5041 5042 var subscriptionPrice = 5043 scopedQuery('[data-subscription-price]'); 5044 5045 var regularPrice = 5046 scopedQuery('[data-regular-price]'); 5047 5048 if ( 5049 !optedInLabel || 5050 !optedOutLabel || 5051 !subscriptionPrice || 5052 !regularPrice 5053 ) { 5054 return; 5055 } 5056 5057 optedInLabel.innerHTML = 5058 '<span>' + 5059 subscriptionPrice.innerHTML + 5060 '</span> - Subscribe & Save'; 5061 5062 optedOutLabel.innerHTML = 5063 '<span>' + 5064 regularPrice.innerHTML + 5065 '</span> - One-Time Purchase'; 5066 } 5067 5068 function applyPriceState() { 5069 var hasSubscriptionPrice = 5070 updatePriceValues(); 5071 5072 /** 5073 * Eligible variant = show <og-offer> 5074 * Ineligible variant = hide <og-offer> 5075 */ 5076 updateOfferEligibility(hasSubscriptionPrice); 5077 5078 if ( 5079 hasSubscriptionPrice && 5080 isSubscribed() 5081 ) { 5082 showSubscriptionPrice(); 5083 displayPriceInOffer(); 5084 return true; 5085 } 5086 5087 showRegularPrice(); 5088 displayPriceInOffer(); 5089 5090 return hasSubscriptionPrice; 5091 } 5092 5093 function retryApplyPriceState() { 5094 var attempts = 0; 5095 5096 function run() { 5097 attempts++; 5098 5099 if (applyPriceState()) { 5100 return; 5101 } 5102 5103 if (attempts < MAX_POLL_ATTEMPTS) { 5104 setTimeout(run, POLL_INTERVAL); 5105 } 5106 } 5107 5108 run(); 5109 } 5110 5111 function handleVariantChange() { 5112 setTimeout(function() { 5113 var variant = 5114 getCurrentVariant(); 5115 5116 updatePriceWrapperData(variant); 5117 5118 /** 5119 * If not currently subscribed, re-affirm one-time purchase with 5120 * a real click on the new variant/product context â the same 5121 * kind of genuine interaction that fixed the initial-load case. 5122 * Only does this when NOT subscribed, so it never fights a real 5123 * subscribe selection the user already made before switching. 5124 */ 5125 if (!isSubscribed()) { 5126 var optout = getOptoutButton(); 5127 if (optout) { 5128 optout.click(); 5129 } 5130 } 5131 5132 /** 5133 * Retry because OG incentives may update after variant change. 5134 * <og-offer> will only stay visible if this variant has a valid 5135 * subscription price, and its price only shows the discount if 5136 * 'subscribed' is present on it right now. 5137 */ 5138 retryApplyPriceState(); 5139 }, 200); 5140 } 5141 5142 function bindVariantChangeEvent() { 5143 var productVariants = 5144 getProductVariantsElement(); 5145 5146 if (!productVariants) { 5147 return; 5148 } 5149 5150 productVariants.addEventListener(
5151 'VARIANT_CHANGE', 5152 handleVariantChange 5153 ); 5154 } 5155 5156 function initializeOGPricing() { 5157 if (typeof OG === 'undefined') { 5158 setTimeout(initializeOGPricing, 200); 5159 return; 5160 } 5161 5162 if ( 5163 typeof OG.isReady === 'function' && 5164 !OG.isReady() 5165 ) { 5166 setTimeout(initializeOGPricing, 150); 5167 return; 5168 } 5169 5170 retryApplyPriceState(); 5171 } 5172 5173 function initOGPricing() { 5174 updateOfferEligibility(false); 5175 5176 bindOfferObserver(); 5177 bindSubscribedAttributeObserver(); 5178 bindVariantChangeEvent(); 5179 initializeOGPricing(); 5180 selectOneTimeOnLoad(); 5181 5182 // Force correct initial display after OG has time to load 5183 setTimeout(function() { 5184 retryApplyPriceState(); 5185 }, 500); 5186 } 5187 5188 if (document.readyState === 'loading') { 5189 document.addEventListener('DOMContentLoaded', initOGPricing); 5190 } else { 5191 initOGPricing(); 5192 } 5193})(); 5194</script>
5194</div> 5195 </div> 5196 5197</div><div 5198 class="product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center" 5199 style="padding-top: 0;" 5200 > 5201 <div 5202 class="product-item__quick-buy" 5203 5204 ><quick-view-product class="quick-add-to-cart" data-content-id="cta_quick_add_sweet_greens_peach_hibiscus" > 5205 <a href="/products/sweet-greens-peach-hibiscus" class="button button--solid button--regular button--fullwidth button--loader" data-js-product-add-to-cart data-id="14650075087213" title="Open quick view modal" > 5206 <span class="button__text ">Buy now</span> 5207 <span class="button__preloader"> 5208 <svg class="button__preloader-element" viewBox="25 25 50 50"><circle cx="50" cy="50" r="20" fill="none" stroke-width="4"/></svg> 5209 </span> 5210 </a> 5211 </quick-view-product></div> 5212</div></div> 5213<div id="product-item-1387430772810" class="product-item card" data-js-product-item><a href="/collections/fresh-picks/products/chocolate-greens-blend" 5214 class="card__image product-item__image 5215 5216 product-item__image--has-secondary " 5217 style="padding-top:100.0%" 5218 data-content-id="product_image_super_greens_chocolate" 5219 > 5220<figure 5221 class="lazy-image product-item__image-figure product-item__image-figure--primary lazy-image--animation 5222 lazy-image--background 5223 5224 " 5225 5226 data-ratio="1.0" style="padding-top: 100.0%" 5227 5228 data-crop="false" 5229> 5230 5231 <img 5232 src="//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?v=1757968509&width=480" alt="Super Greens Chocolate front of packaging" 5233 srcset="//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=240&v=1757968509&width=240 240w,//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=360&v=1757968509&width=360 360w,//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=420&v=1757968509&width=420 420w,//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=480&v=1757968509&width=480 480w,//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=640&v=1757968509&width=640 640w,//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=840&v=1757968509&width=840 840w,//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=1080&v=1757968509&width=1080 1080w,//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=1280&v=1757968509&width=1280 1280w,//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=1540&v=1757968509&width=1540 1540w,//amazinggrass.com/cdn/shop/files/on-1154835_Image_01.png?crop=center&height=1860&v=1757968509&width=1860 1860w" 5234 class="img" 5235 width="2000" 5236 height="2000" 5237 data-ratio="1.0" 5238 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 5239 loading="lazy" 5240 5241 5242 onload="this.parentNode.classList.add('lazyloaded')" 5243 /> 5244 5245</figure> 5246<figure 5247 class="lazy-image product-item__image-figure product-item__image-figure--secondary lazy-image--animation 5248 lazy-image--background 5249 5250 " 5251 5252 data-ratio="1.0" style="padding-top: 100.0%" 5253 5254 data-crop="false" 5255> 5256 5257 <img 5258 src="//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?v=1757968410&width=480" alt="Super Greens Chocolate front of packaging with flavor cues" 5259 srcset="//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=240&v=1757968410&width=240 240w,//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=360&v=1757968410&width=360 360w,//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=420&v=1757968410&width=420 420w,//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=480&v=1757968410&width=480 480w,//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=640&v=1757968410&width=640 640w,//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=840&v=1757968410&width=840 840w,//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=1080&v=1757968410&width=1080 1080w,//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=1280&v=1757968410&width=1280 1280w,//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=1540&v=1757968410&width=1540 1540w,//amazinggrass.com/cdn/shop/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?crop=center&height=1860&v=1757968410&width=1860 1860w" 5260 class="img" 5261 width="2000" 5262 height="2000" 5263 data-ratio="1.0" 5264 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 5265 loading="lazy" 5266 5267 5268 onload="this.parentNode.classList.add('lazyloaded')" 5269 /> 5270 5271</figure></a> 5272 5273 <div class="card__text product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center"> 5274<a class="product-item__title h4" style="margin-bottom: .5rem;" 5275 href="/products/chocolate-greens-blend" title="Super Greens Chocolate" > 5276Super Greens 5277</a> 5278 5279<div> 5280 5281 5282<p class="flavor-tile flavor-tile--chocolate">Chocolate</p> 5283 5284 5285 5286 5287<style> 5288 .flavor-tile { 5289 background-color: #008540; 5290 border-radius: 6px; 5291 padding: 5px 15px; 5292 color: white; 5293 text-transform: uppercase; 5294 font-weight: 900!important; 5295 text-wrap: nowrap; 5296 margin-bottom: 0; 5297 } 5298 .flavor-tile--sweet-berry { 5299 background-color: #DE4668!important; 5300 } 5301 .flavor-tile--summer-berry { 5302 background-color: #8E2D4E!important; 5303 } 5304 .flavor-tile--chocolate { 5305 background-color: #864322!important; 5306 } 5307 .flavor-tile--pineapple { 5308 background-color: #FFCF00!important; 5309 } 5310 .flavor-tile--peach-hibiscus { 5311 background-color: #ECB4D9!important; 5312 } 5313 .flavor-tile--tropical-lime { 5314 background-color: #c1d42d!important; 5315 } 5316 .flavor-tile--watermelon { 5317 background-color: #f67172!important; 5318 } 5319 .flavor-tile--detox { 5320 background-color: #7dcfc3!important; 5321 } 5322 .flavor-tile--tropical { 5323 background-color: #f99643!important; 5324 } 5325</style></div> 5326<div 5327 class="product-item__ratings" 5328 5329 > 5330<div itemscope itemtype="http://schema.org/Product"> 5331 <meta itemprop="name" content="Super Greens Chocolate" /> 5332 <div data-bv-show="inline_rating" 5333 data-bv-product-id="1387430772810" 5334 data-bv-redirect-url="/products/chocolate-greens-blend"></div> 5335 </div></div> 5336<div 5337 class="product-item__price text-size--regular equalize-white-space" 5338 5339 > 5340 <div class="remove-line-height-space"> 5341 5342 5343<div 5344 class="product-price " 5345 data-og-price 5346 data-og-price-scope="12432361062474" 5347 data-variant-id="12432361062474" 5348 data-variant-price="2849" 5349 data-variant-compare-at-price="0" 5350> 5351 5352 <!-- SUBSCRIPTION PRICE --> 5353 <div 5354 id="subscription-price" 5355 class="og-subscription-price" 5356 style="display:none" 5357 data-subscription-price-wrapper 5358 > 5359 5360 <span 5361 class="product-price--original " 5362 data-subscription-price 5363 data-og-sale-price 5364 > 5365 $28.49 5366 </span> 5367 5368 <del class="product-price--compare"> 5369
5370 <span data-subscription-compare-price> 5371 $28.49 5372 </span></del> 5373 5374 </div> 5375 5376 <!-- REGULAR PRICE --> 5377 <div 5378 id="regular-price" 5379 class="og-regular-price" 5380 style="display:block" 5381 data-regular-price-wrapper 5382 > 5383 5384 <span 5385 class="product-price--original " 5386 data-regular-price 5387 > 5388 $28.49 5389 </span></div> 5390 5391</div> 5392
5393<script> 5394(function() { 5395 var POLL_INTERVAL = 250; 5396 var MAX_POLL_ATTEMPTS = 80; 5397 5398 var MONEY_FORMAT = "${{amount}}"; 5399 var ISO_CODE = ""; 5400 5401 /** 5402 * AJAX variant switches replace price block markup via innerHTML 5403 * (see ProductVariants.renderProductUpdates in the theme JS), and 5404 * browsers never execute
5404<script> tags injected that way. That 5405 * means whichever script instance(s) executed on the real initial 5406 * page load are the ONLY ones that will ever run for the life of 5407 * this page â their own [data-og-price-scope] element can get 5408 * destroyed and replaced by a fresh one (for whatever variant is 5409 * now selected) without a new script ever picking it up. 5410 * 5411 * The fix: never hold a fixed VARIANT_ID. Resolve which scope 5412 * element to use fresh, every time, from whatever the currently 5413 * selected variant actually is â so a still-running instance 5414 * always finds and controls the current (possibly freshly 5415 * re-injected) scope element instead of a stale reference to one 5416 * that no longer exists. 5417 */ 5418 function getActiveVariantId() { 5419 var productVariants = getProductVariantsElement(); 5420 5421 if ( 5422 productVariants && 5423 productVariants.currentVariant && 5424 productVariants.currentVariant.id 5425 ) { 5426 return String(productVariants.currentVariant.id); 5427 } 5428 5429 return null; 5430 } 5431 5432 function getScope() { 5433 var variantId = getActiveVariantId(); 5434 5435 if (!variantId) { 5436 return null; 5437 } 5438 5439 return document.querySelector('[data-og-price-scope="' + variantId + '"]'); 5440 } 5441 5442 function scopedQuery(selector) { 5443 var scope = getScope(); 5444 return scope ? scope.querySelector(selector) : null; 5445 } 5446 5447 function getPriceWrapper() { 5448 return getScope(); 5449 } 5450 5451 function getProductVariantsElement() { 5452 return document.querySelector('product-variants'); 5453 } 5454 5455 function getOGOffer() { 5456 return document.getElementsByTagName('og-offer')[0]; 5457 } 5458 5459 /** 5460 * The single source of truth for whether the discounted price 5461 * should show: a direct, real-time read of whether 'subscribed' is 5462 * present on <og-offer> right now. No stored variable, no default 5463 * state, no syncing from any OG JS API â just whatever the DOM 5464 * actually says at the moment this is called. 5465 */ 5466 function isSubscribed() { 5467 var offer = getOGOffer(); 5468 return !!(offer && offer.hasAttribute('subscribed')); 5469 } 5470 5471 function getOptoutButton() { 5472 var offer = getOGOffer(); 5473 return offer ? offer.querySelector('og-optout-button') : null; 5474 } 5475 5476 /** 5477 * Guards resetToOneTimeOnLoad so it only ever acts once per page 5478 * load â it exists purely to actively select one-time purchase at 5479 * initialization (clicking the opt-out control just like a real 5480 * user would), not to fight a real subscribe selection made 5481 * afterward. 5482 */ 5483 var hasAttemptedInitialSelection = false; 5484 5485 /** 5486 * Actively selects one-time purchase on load by clicking the 5487 * opt-out control, once, the same way a real user click would. 5488 * Polls briefly in case the offer/buttons aren't in the DOM yet at 5489 * the moment this first runs. 5490 */ 5491 function selectOneTimeOnLoad(attempts) { 5492 attempts = attempts || 0; 5493 5494 if (hasAttemptedInitialSelection) { 5495 return; 5496 } 5497 5498 var optout = getOptoutButton(); 5499 5500 if (optout) { 5501 hasAttemptedInitialSelection = true; 5502 optout.click(); 5503 return; 5504 } 5505 5506 if (attempts < MAX_POLL_ATTEMPTS) { 5507 setTimeout(function() { 5508 selectOneTimeOnLoad(attempts + 1); 5509 }, POLL_INTERVAL); 5510 } 5511 } 5512 5513 /** 5514 * Cached purely so the DOM observer below can re-apply the offer's 5515 * visibility without re-running the whole price pipeline (which 5516 * itself mutates innerHTML and would otherwise retrigger the 5517 * observer in an infinite loop). The actual eligibility computation 5518 * still always comes fresh from updatePriceValues()/getIncentive() 5519 * inside applyPriceState() â this is just the last known result of 5520 * that computation, used only for the narrow display toggle. 5521 */ 5522 var currentVariantEligible = false; 5523 5524 function updateOfferEligibility(isEligible) { 5525 currentVariantEligible = isEligible; 5526 5527 var offerElement = getOGOffer(); 5528 5529 if (!offerElement) { 5530 return; 5531 } 5532 5533 offerElement.style.display = currentVariantEligible 5534 ? '' 5535 : 'none'; 5536 } 5537 5538 /** 5539 * Only re-applies the cached display state when the offer element 5540 * itself enters/leaves the DOM â it deliberately does NOT call 5541 * applyPriceState() here, since that function mutates innerHTML 5542 * elsewhere on the page, which would retrigger this childList/ 5543 * subtree observer and cause an infinite update loop. 5544 */ 5545 function bindOfferObserver() { 5546 if (!document.body) { 5547 return; 5548 } 5549 5550 var observer = new MutationObserver(function() { 5551 var offerElement = getOGOffer(); 5552
5553 if (!offerElement) { 5554 return; 5555 } 5556 5557 offerElement.style.display = currentVariantEligible 5558 ? '' 5559 : 'none'; 5560 }); 5561 5562 observer.observe(document.body, { 5563 childList: true, 5564 subtree: true 5565 }); 5566 } 5567 5568 /** 5569 * Watches specifically for the 'subscribed' attribute changing 5570 * anywhere in the document (i.e. on <og-offer>) and re-applies price 5571 * state whenever it does. This is the only trigger tied to 5572 * subscription selection â there is no separate stored state to 5573 * keep in sync. 5574 */ 5575 function bindSubscribedAttributeObserver() { 5576 if (!document.body) { 5577 return; 5578 } 5579 5580 var observer = new MutationObserver(function(mutations) { 5581 var relevant = mutations.some(function(m) { 5582 return m.type === 'attributes' && m.attributeName === 'subscribed'; 5583 }); 5584 5585 if (!relevant) { 5586 return; 5587 } 5588 5589 retryApplyPriceState(); 5590 }); 5591 5592 observer.observe(document.body, { 5593 subtree: true, 5594 attributes: true, 5595 attributeFilter: ['subscribed'] 5596 }); 5597 } 5598 5599 function getCurrentVariant() { 5600 var productVariants = getProductVariantsElement(); 5601 5602 if ( 5603 productVariants && 5604 productVariants.currentVariant 5605 ) { 5606 return productVariants.currentVariant; 5607 } 5608 5609 /** 5610 * Last-resort fallback only, for the case where product-variants 5611 * isn't available at all. getScope() can't help here since it 5612 * itself depends on productVariants.currentVariant â so this 5613 * grabs any price wrapper still in the DOM as a best-effort guess. 5614 */ 5615 var priceWrapper = document.querySelector('[data-og-price]'); 5616 5617 if (!priceWrapper) { 5618 return null; 5619 } 5620 5621 return { 5622 id: priceWrapper.getAttribute('data-variant-id'), 5623 price: Number(priceWrapper.getAttribute('data-variant-price')), 5624 compare_at_price: Number(priceWrapper.getAttribute('data-variant-compare-at-price')) || 0 5625 }; 5626 } 5627 5628 function formatMoney(cents) { 5629 cents = Math.round(Number(cents)); 5630 5631 if ( 5632 window.Shopify && 5633 typeof Shopify.formatMoney === 'function' 5634 ) { 5635 return Shopify.formatMoney(cents, MONEY_FORMAT) + ISO_CODE; 5636 } 5637 5638 return '$' + (cents / 100).toFixed(2) + ISO_CODE; 5639 } 5640 5641 function getIncentive(variantId) { 5642 try { 5643 if ( 5644 typeof OG === 'undefined' || 5645 !OG.store || 5646 typeof OG.store.getState !== 'function' 5647 ) { 5648 return null; 5649 } 5650 5651 var state = OG.store.getState(); 5652 var incentives = state && state.incentives; 5653 5654 if (!incentives) { 5655 return null; 5656 } 5657 5658 var productIncentives = 5659 incentives[variantId] || 5660 incentives[Number(variantId)]; 5661 5662 if (!productIncentives) { 5663 return null; 5664 } 5665 5666 var incentive = 5667 productIncentives.initial && productIncentives.initial[0] 5668 ? productIncentives.initial[0] 5669 : productIncentives.ongoing && productIncentives.ongoing[0] 5670 ? productIncentives.ongoing[0] 5671 : null; 5672 5673 if ( 5674 incentive && 5675 incentive.value 5676 ) { 5677 return incentive; 5678 } 5679 5680 return null; 5681 } 5682 catch(e) { 5683 console.log('[OG Price] getIncentive:', e.message); 5684 return null; 5685 } 5686 } 5687 5688 function calcDiscountedPrice( 5689 incentive, 5690 variantPrice 5691 ) { 5692 if (!incentive) { 5693 return null; 5694 } 5695 5696 var value = 5697 parseFloat(incentive.value); 5698 5699 if ( 5700 isNaN(value) || 5701 value <= 0 5702 ) { 5703 return null; 5704 } 5705 5706 var type = 5707 String(incentive.type || '').toLowerCase(); 5708 5709 if ( 5710 type === 'discount percent' || 5711 type === 'percentage' || 5712 type === 'percent' 5713 ) { 5714 return Math.ceil( 5715 variantPrice * (1 - value / 100) 5716 ); 5717 } 5718 if ( 5719 type === 'discount fixed' || 5720 type === 'fixed' || 5721 type === 'fixed_amount' 5722 ) { 5723 return Math.ceil( 5724 variantPrice - value * 100 5725 ); 5726 } 5727 5728 return null; 5729 } 5730 5731 function updatePriceWrapperData(variant) { 5732 var priceWrapper = getPriceWrapper(); 5733 5734 if ( 5735 !priceWrapper || 5736 !variant 5737 ) { 5738 return; 5739 } 5740 5741 priceWrapper.setAttribute( 5742 'data-variant-id', 5743 variant.id 5744 ); 5745 5746 priceWrapper.setAttribute( 5747 'data-variant-price', 5748 variant.price 5749 ); 5750 5751 priceWrapper.setAttribute( 5752 'data-variant-compare-at-price', 5753 variant.compare_at_price || 0 5754 ); 5755 } 5756 5757 function updatePriceValues() { 5758 var variant = getCurrentVariant(); 5759 5760 if ( 5761 !variant || 5762 !variant.id || 5763 !variant.price 5764 ) { 5765 return false;
5766 } 5767 5768 var incentive = 5769 getIncentive(variant.id); 5770 5771 if (!incentive) { 5772 return false; 5773 } 5774 5775 var discountedCents = 5776 calcDiscountedPrice( 5777 incentive, 5778 variant.price 5779 ); 5780 5781 if ( 5782 discountedCents === null || 5783 discountedCents >= variant.price 5784 ) { 5785 return false; 5786 } 5787 5788 var subscriptionPriceNode = 5789 scopedQuery('[data-subscription-price]'); 5790 5791 var subscriptionCompareNode = 5792 scopedQuery('[data-subscription-compare-price]'); 5793 5794 var subscriptionSavingNode = 5795 scopedQuery('[data-subscription-saving]'); 5796 5797 var regularPriceNode = 5798 scopedQuery('[data-regular-price]'); 5799 5800 var comparePriceNode = 5801 scopedQuery('[data-compare-price]'); 5802 5803 if (subscriptionPriceNode) { 5804 subscriptionPriceNode.innerHTML = 5805 formatMoney(discountedCents); 5806 } 5807 5808 if (subscriptionCompareNode) { 5809 subscriptionCompareNode.innerHTML = 5810 formatMoney(variant.price); 5811 } 5812 5813 if (subscriptionSavingNode) { 5814 subscriptionSavingNode.innerHTML = 5815 "you save [amount]" 5816 .replace( 5817 '[amount]', 5818 formatMoney(variant.price - discountedCents) 5819 ); 5820 } 5821 5822 if (regularPriceNode) { 5823 regularPriceNode.innerHTML = 5824 formatMoney(variant.price); 5825 } 5826 5827 if ( 5828 comparePriceNode && 5829 variant.compare_at_price && 5830 variant.compare_at_price > variant.price 5831 ) { 5832 comparePriceNode.innerHTML = 5833 formatMoney(variant.compare_at_price); 5834 } 5835 5836 return true; 5837 } 5838 5839 function showSubscriptionPrice() { 5840 var regularPrice = 5841 scopedQuery('[data-regular-price-wrapper]'); 5842 5843 var subscriptionPrice = 5844 scopedQuery('[data-subscription-price-wrapper]'); 5845 5846 if (regularPrice) { 5847 regularPrice.style.display = 'none'; 5848 } 5849 5850 if (subscriptionPrice) { 5851 subscriptionPrice.style.display = 'block'; 5852 } 5853 } 5854 5855 function showRegularPrice() { 5856 var regularPrice = 5857 scopedQuery('[data-regular-price-wrapper]'); 5858 5859 var subscriptionPrice = 5860 scopedQuery('[data-subscription-price-wrapper]'); 5861 5862 if (regularPrice) { 5863 regularPrice.style.display = 'block'; 5864 } 5865 5866 if (subscriptionPrice) { 5867 subscriptionPrice.style.display = 'none'; 5868 } 5869 } 5870 5871 function displayPriceInOffer() { 5872 var offerElement = getOGOffer(); 5873 5874 if (!offerElement) { 5875 return; 5876 } 5877 5878 var optedInLabel = 5879 offerElement.querySelector( 5880 "og-optin-button span[id='og-label']" 5881 ); 5882 5883 var optedOutLabel = 5884 offerElement.querySelector( 5885 "og-optout-button span[id='og-label']" 5886 ); 5887 5888 var subscriptionPrice = 5889 scopedQuery('[data-subscription-price]'); 5890 5891 var regularPrice = 5892 scopedQuery('[data-regular-price]'); 5893 5894 if ( 5895 !optedInLabel || 5896 !optedOutLabel || 5897 !subscriptionPrice || 5898 !regularPrice 5899 ) { 5900 return; 5901 } 5902 5903 optedInLabel.innerHTML = 5904 '<span>' + 5905 subscriptionPrice.innerHTML + 5906 '</span> - Subscribe & Save'; 5907 5908 optedOutLabel.innerHTML = 5909 '<span>' + 5910 regularPrice.innerHTML + 5911 '</span> - One-Time Purchase'; 5912 } 5913 5914 function applyPriceState() { 5915 var hasSubscriptionPrice = 5916 updatePriceValues(); 5917 5918 /** 5919 * Eligible variant = show <og-offer> 5920 * Ineligible variant = hide <og-offer> 5921 */ 5922 updateOfferEligibility(hasSubscriptionPrice); 5923 5924 if ( 5925 hasSubscriptionPrice && 5926 isSubscribed() 5927 ) { 5928 showSubscriptionPrice(); 5929 displayPriceInOffer(); 5930 return true; 5931 } 5932 5933 showRegularPrice(); 5934 displayPriceInOffer(); 5935 5936 return hasSubscriptionPrice; 5937 } 5938 5939 function retryApplyPriceState() { 5940 var attempts = 0; 5941 5942 function run() { 5943 attempts++; 5944 5945 if (applyPriceState()) { 5946 return; 5947 } 5948 5949 if (attempts < MAX_POLL_ATTEMPTS) { 5950 setTimeout(run, POLL_INTERVAL); 5951 } 5952 } 5953 5954 run(); 5955 } 5956 5957 function handleVariantChange() { 5958 setTimeout(function() { 5959 var variant = 5960 getCurrentVariant(); 5961 5962 updatePriceWrapperData(variant); 5963 5964 /** 5965 * If not currently subscribed, re-affirm one-time purchase with 5966 * a real click on the new variant/product context â the same 5967 * kind of genuine interaction that fixed the initial-load case. 5968 * Only does this when NOT subscribed, so it never fights a real 5969 * subscribe selection the user already made before switching. 5970 */ 5971 if (!isSubscribed()) { 5972 var optout = getOptoutButton(); 5973 if (optout) { 5974 optout.click(); 5975 } 5976 } 5977 5978 /** 5979 * Retry because OG incentives may update after variant change. 5980 * <og-offer> will only stay visible if this variant has a valid 5981 * subscription price, and its price only shows the discount if 5982 * 'subscribed' is present on it right now. 5983 */ 5984 retryApplyPriceState(); 5985 }, 200); 5986 } 5987 5988 function bindVariantChangeEvent() { 5989 var productVariants = 5990 getProductVariantsElement(); 5991 5992 if (!productVariants) { 5993 return; 5994 } 5995 5996 productVariants.addEventListener(
5997 'VARIANT_CHANGE', 5998 handleVariantChange 5999 ); 6000 } 6001 6002 function initializeOGPricing() { 6003 if (typeof OG === 'undefined') { 6004 setTimeout(initializeOGPricing, 200); 6005 return; 6006 } 6007 6008 if ( 6009 typeof OG.isReady === 'function' && 6010 !OG.isReady() 6011 ) { 6012 setTimeout(initializeOGPricing, 150); 6013 return; 6014 } 6015 6016 retryApplyPriceState(); 6017 } 6018 6019 function initOGPricing() { 6020 updateOfferEligibility(false); 6021 6022 bindOfferObserver(); 6023 bindSubscribedAttributeObserver(); 6024 bindVariantChangeEvent(); 6025 initializeOGPricing(); 6026 selectOneTimeOnLoad(); 6027 6028 // Force correct initial display after OG has time to load 6029 setTimeout(function() { 6030 retryApplyPriceState(); 6031 }, 500); 6032 } 6033 6034 if (document.readyState === 'loading') { 6035 document.addEventListener('DOMContentLoaded', initOGPricing); 6036 } else { 6037 initOGPricing(); 6038 } 6039})(); 6040</script>
6040</div> 6041 </div> 6042 6043</div><div 6044 class="product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center" 6045 style="padding-top: 0;" 6046 > 6047 <div 6048 class="product-item__quick-buy" 6049 6050 ><quick-view-product class="quick-add-to-cart" data-content-id="cta_quick_add_super_greens_chocolate" > 6051 <a href="/products/chocolate-greens-blend" class="button button--solid button--regular button--fullwidth button--loader" data-js-product-add-to-cart data-id="1387430772810" title="Open quick view modal" > 6052 <span class="button__text ">Buy now</span> 6053 <span class="button__preloader"> 6054 <svg class="button__preloader-element" viewBox="25 25 50 50"><circle cx="50" cy="50" r="20" fill="none" stroke-width="4"/></svg> 6055 </span> 6056 </a> 6057 </quick-view-product></div> 6058</div></div> 6059<div id="product-item-1387430936650" class="product-item card" data-js-product-item><a href="/collections/fresh-picks/products/watermelon-energy-greens-blend" 6060 class="card__image product-item__image 6061 6062 product-item__image--has-secondary " 6063 style="padding-top:100.0%" 6064 data-content-id="product_image_super_greens_energy_watermelon" 6065 > 6066<figure 6067 class="lazy-image product-item__image-figure product-item__image-figure--primary lazy-image--animation 6068 lazy-image--background 6069 6070 " 6071 6072 data-ratio="1.0" style="padding-top: 100.0%" 6073 6074 data-crop="false" 6075> 6076 6077 <img 6078 src="//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?v=1763160791&width=480" alt="Container of Amazing Grass Super Greens Energy supplement with watermelon flavor on a white background" 6079 srcset="//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=240&v=1763160791&width=240 240w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=360&v=1763160791&width=360 360w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=420&v=1763160791&width=420 420w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=480&v=1763160791&width=480 480w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=640&v=1763160791&width=640 640w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=840&v=1763160791&width=840 840w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=1080&v=1763160791&width=1080 1080w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=1280&v=1763160791&width=1280 1280w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=1540&v=1763160791&width=1540 1540w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?crop=center&height=1860&v=1763160791&width=1860 1860w" 6080 class="img" 6081 width="2000" 6082 height="2000" 6083 data-ratio="1.0" 6084 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 6085 loading="lazy" 6086 6087 6088 onload="this.parentNode.classList.add('lazyloaded')" 6089 /> 6090 6091</figure> 6092<figure 6093 class="lazy-image product-item__image-figure product-item__image-figure--secondary lazy-image--animation 6094 lazy-image--background 6095 6096 " 6097 6098 data-ratio="1.0" style="padding-top: 100.0%" 6099 6100 data-crop="false" 6101> 6102 6103 <img 6104 src="//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?v=1763161164&width=480" alt="Container of Amazing Grass Super Greens Energy supplement with watermelon flavor on a white background" 6105 srcset="//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=240&v=1763161164&width=240 240w,//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=360&v=1763161164&width=360 360w,//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=420&v=1763161164&width=420 420w,//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=480&v=1763161164&width=480 480w,//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=640&v=1763161164&width=640 640w,//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=840&v=1763161164&width=840 840w,//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=1080&v=1763161164&width=1080 1080w,//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=1280&v=1763161164&width=1280 1280w,//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=1540&v=1763161164&width=1540 1540w,//amazinggrass.com/cdn/shop/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?crop=center&height=1860&v=1763161164&width=1860 1860w" 6106 class="img" 6107 width="2000" 6108 height="2000" 6109 data-ratio="1.0" 6110 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 6111 loading="lazy" 6112 6113 6114 onload="this.parentNode.classList.add('lazyloaded')" 6115 /> 6116 6117</figure></a> 6118 6119 <div class="card__text product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center"> 6120<a class="product-item__title h4" style="margin-bottom: .5rem;" 6121 href="/products/watermelon-energy-greens-blend" title="Super Greens Energy Watermelon" > 6122Super Greens 6123</a> 6124 6125<div> 6126 6127 6128<p class="flavor-tile flavor-tile--watermelon">Watermelon</p> 6129 6130 6131 6132 6133<style> 6134 .flavor-tile { 6135 background-color: #008540; 6136 border-radius: 6px; 6137 padding: 5px 15px; 6138 color: white; 6139 text-transform: uppercase; 6140 font-weight: 900!important; 6141 text-wrap: nowrap; 6142 margin-bottom: 0; 6143 } 6144 .flavor-tile--sweet-berry { 6145 background-color: #DE4668!important; 6146 } 6147 .flavor-tile--summer-berry { 6148 background-color: #8E2D4E!important; 6149 } 6150 .flavor-tile--chocolate { 6151 background-color: #864322!important; 6152 } 6153 .flavor-tile--pineapple { 6154 background-color: #FFCF00!important; 6155 } 6156 .flavor-tile--peach-hibiscus { 6157 background-color: #ECB4D9!important; 6158 } 6159 .flavor-tile--tropical-lime { 6160 background-color: #c1d42d!important; 6161 } 6162 .flavor-tile--watermelon { 6163 background-color: #f67172!important; 6164 } 6165 .flavor-tile--detox { 6166 background-color: #7dcfc3!important; 6167 } 6168 .flavor-tile--tropical { 6169 background-color: #f99643!important; 6170 } 6171</style></div> 6172<div 6173 class="product-item__ratings" 6174 6175 > 6176<div itemscope itemtype="http://schema.org/Product"> 6177 <meta itemprop="name" content="Super Greens Energy Watermelon" /> 6178 <div data-bv-show="inline_rating" 6179 data-bv-product-id="1387430936650" 6180 data-bv-redirect-url="/products/watermelon-energy-greens-blend"></div> 6181 </div></div> 6182<div 6183 class="product-item__price text-size--regular equalize-white-space" 6184 6185 > 6186 <div class="remove-line-height-space"> 6187 6188 6189<div 6190 class="product-price " 6191 data-og-price 6192 data-og-price-scope="12432361586762" 6193 data-variant-id="12432361586762" 6194 data-variant-price="2849" 6195 data-variant-compare-at-price="0" 6196> 6197 6198 <!-- SUBSCRIPTION PRICE --> 6199 <div 6200 id="subscription-price" 6201 class="og-subscription-price" 6202 style="display:none" 6203 data-subscription-price-wrapper 6204 > 6205 6206 <span 6207 class="product-price--original " 6208 data-subscription-price 6209 data-og-sale-price 6210 > 6211 $28.49 6212 </span> 6213 6214 <del class="product-price--compare"> 6215
6216 <span data-subscription-compare-price> 6217 $28.49 6218 </span></del> 6219 6220 </div> 6221 6222 <!-- REGULAR PRICE --> 6223 <div 6224 id="regular-price" 6225 class="og-regular-price" 6226 style="display:block" 6227 data-regular-price-wrapper 6228 > 6229 6230 <span 6231 class="product-price--original " 6232 data-regular-price 6233 > 6234 $28.49 6235 </span></div> 6236 6237</div> 6238
6239<script> 6240(function() { 6241 var POLL_INTERVAL = 250; 6242 var MAX_POLL_ATTEMPTS = 80; 6243 6244 var MONEY_FORMAT = "${{amount}}"; 6245 var ISO_CODE = ""; 6246 6247 /** 6248 * AJAX variant switches replace price block markup via innerHTML 6249 * (see ProductVariants.renderProductUpdates in the theme JS), and 6250 * browsers never execute
6250<script> tags injected that way. That 6251 * means whichever script instance(s) executed on the real initial 6252 * page load are the ONLY ones that will ever run for the life of 6253 * this page â their own [data-og-price-scope] element can get 6254 * destroyed and replaced by a fresh one (for whatever variant is 6255 * now selected) without a new script ever picking it up. 6256 * 6257 * The fix: never hold a fixed VARIANT_ID. Resolve which scope 6258 * element to use fresh, every time, from whatever the currently 6259 * selected variant actually is â so a still-running instance 6260 * always finds and controls the current (possibly freshly 6261 * re-injected) scope element instead of a stale reference to one 6262 * that no longer exists. 6263 */ 6264 function getActiveVariantId() { 6265 var productVariants = getProductVariantsElement(); 6266 6267 if ( 6268 productVariants && 6269 productVariants.currentVariant && 6270 productVariants.currentVariant.id 6271 ) { 6272 return String(productVariants.currentVariant.id); 6273 } 6274 6275 return null; 6276 } 6277 6278 function getScope() { 6279 var variantId = getActiveVariantId(); 6280 6281 if (!variantId) { 6282 return null; 6283 } 6284 6285 return document.querySelector('[data-og-price-scope="' + variantId + '"]'); 6286 } 6287 6288 function scopedQuery(selector) { 6289 var scope = getScope(); 6290 return scope ? scope.querySelector(selector) : null; 6291 } 6292 6293 function getPriceWrapper() { 6294 return getScope(); 6295 } 6296 6297 function getProductVariantsElement() { 6298 return document.querySelector('product-variants'); 6299 } 6300 6301 function getOGOffer() { 6302 return document.getElementsByTagName('og-offer')[0]; 6303 } 6304 6305 /** 6306 * The single source of truth for whether the discounted price 6307 * should show: a direct, real-time read of whether 'subscribed' is 6308 * present on <og-offer> right now. No stored variable, no default 6309 * state, no syncing from any OG JS API â just whatever the DOM 6310 * actually says at the moment this is called. 6311 */ 6312 function isSubscribed() { 6313 var offer = getOGOffer(); 6314 return !!(offer && offer.hasAttribute('subscribed')); 6315 } 6316 6317 function getOptoutButton() { 6318 var offer = getOGOffer(); 6319 return offer ? offer.querySelector('og-optout-button') : null; 6320 } 6321 6322 /** 6323 * Guards resetToOneTimeOnLoad so it only ever acts once per page 6324 * load â it exists purely to actively select one-time purchase at 6325 * initialization (clicking the opt-out control just like a real 6326 * user would), not to fight a real subscribe selection made 6327 * afterward. 6328 */ 6329 var hasAttemptedInitialSelection = false; 6330 6331 /** 6332 * Actively selects one-time purchase on load by clicking the 6333 * opt-out control, once, the same way a real user click would. 6334 * Polls briefly in case the offer/buttons aren't in the DOM yet at 6335 * the moment this first runs. 6336 */ 6337 function selectOneTimeOnLoad(attempts) { 6338 attempts = attempts || 0; 6339 6340 if (hasAttemptedInitialSelection) { 6341 return; 6342 } 6343 6344 var optout = getOptoutButton(); 6345 6346 if (optout) { 6347 hasAttemptedInitialSelection = true; 6348 optout.click(); 6349 return; 6350 } 6351 6352 if (attempts < MAX_POLL_ATTEMPTS) { 6353 setTimeout(function() { 6354 selectOneTimeOnLoad(attempts + 1); 6355 }, POLL_INTERVAL); 6356 } 6357 } 6358 6359 /** 6360 * Cached purely so the DOM observer below can re-apply the offer's 6361 * visibility without re-running the whole price pipeline (which 6362 * itself mutates innerHTML and would otherwise retrigger the 6363 * observer in an infinite loop). The actual eligibility computation 6364 * still always comes fresh from updatePriceValues()/getIncentive() 6365 * inside applyPriceState() â this is just the last known result of 6366 * that computation, used only for the narrow display toggle. 6367 */ 6368 var currentVariantEligible = false; 6369 6370 function updateOfferEligibility(isEligible) { 6371 currentVariantEligible = isEligible; 6372 6373 var offerElement = getOGOffer(); 6374 6375 if (!offerElement) { 6376 return; 6377 } 6378 6379 offerElement.style.display = currentVariantEligible 6380 ? '' 6381 : 'none'; 6382 } 6383 6384 /** 6385 * Only re-applies the cached display state when the offer element 6386 * itself enters/leaves the DOM â it deliberately does NOT call 6387 * applyPriceState() here, since that function mutates innerHTML 6388 * elsewhere on the page, which would retrigger this childList/ 6389 * subtree observer and cause an infinite update loop. 6390 */ 6391 function bindOfferObserver() { 6392 if (!document.body) { 6393 return; 6394 } 6395 6396 var observer = new MutationObserver(function() { 6397 var offerElement = getOGOffer(); 6398
6399 if (!offerElement) { 6400 return; 6401 } 6402 6403 offerElement.style.display = currentVariantEligible 6404 ? '' 6405 : 'none'; 6406 }); 6407 6408 observer.observe(document.body, { 6409 childList: true, 6410 subtree: true 6411 }); 6412 } 6413 6414 /** 6415 * Watches specifically for the 'subscribed' attribute changing 6416 * anywhere in the document (i.e. on <og-offer>) and re-applies price 6417 * state whenever it does. This is the only trigger tied to 6418 * subscription selection â there is no separate stored state to 6419 * keep in sync. 6420 */ 6421 function bindSubscribedAttributeObserver() { 6422 if (!document.body) { 6423 return; 6424 } 6425 6426 var observer = new MutationObserver(function(mutations) { 6427 var relevant = mutations.some(function(m) { 6428 return m.type === 'attributes' && m.attributeName === 'subscribed'; 6429 }); 6430 6431 if (!relevant) { 6432 return; 6433 } 6434 6435 retryApplyPriceState(); 6436 }); 6437 6438 observer.observe(document.body, { 6439 subtree: true, 6440 attributes: true, 6441 attributeFilter: ['subscribed'] 6442 }); 6443 } 6444 6445 function getCurrentVariant() { 6446 var productVariants = getProductVariantsElement(); 6447 6448 if ( 6449 productVariants && 6450 productVariants.currentVariant 6451 ) { 6452 return productVariants.currentVariant; 6453 } 6454 6455 /** 6456 * Last-resort fallback only, for the case where product-variants 6457 * isn't available at all. getScope() can't help here since it 6458 * itself depends on productVariants.currentVariant â so this 6459 * grabs any price wrapper still in the DOM as a best-effort guess. 6460 */ 6461 var priceWrapper = document.querySelector('[data-og-price]'); 6462 6463 if (!priceWrapper) { 6464 return null; 6465 } 6466 6467 return { 6468 id: priceWrapper.getAttribute('data-variant-id'), 6469 price: Number(priceWrapper.getAttribute('data-variant-price')), 6470 compare_at_price: Number(priceWrapper.getAttribute('data-variant-compare-at-price')) || 0 6471 }; 6472 } 6473 6474 function formatMoney(cents) { 6475 cents = Math.round(Number(cents)); 6476 6477 if ( 6478 window.Shopify && 6479 typeof Shopify.formatMoney === 'function' 6480 ) { 6481 return Shopify.formatMoney(cents, MONEY_FORMAT) + ISO_CODE; 6482 } 6483 6484 return '$' + (cents / 100).toFixed(2) + ISO_CODE; 6485 } 6486 6487 function getIncentive(variantId) { 6488 try { 6489 if ( 6490 typeof OG === 'undefined' || 6491 !OG.store || 6492 typeof OG.store.getState !== 'function' 6493 ) { 6494 return null; 6495 } 6496 6497 var state = OG.store.getState(); 6498 var incentives = state && state.incentives; 6499 6500 if (!incentives) { 6501 return null; 6502 } 6503 6504 var productIncentives = 6505 incentives[variantId] || 6506 incentives[Number(variantId)]; 6507 6508 if (!productIncentives) { 6509 return null; 6510 } 6511 6512 var incentive = 6513 productIncentives.initial && productIncentives.initial[0] 6514 ? productIncentives.initial[0] 6515 : productIncentives.ongoing && productIncentives.ongoing[0] 6516 ? productIncentives.ongoing[0] 6517 : null; 6518 6519 if ( 6520 incentive && 6521 incentive.value 6522 ) { 6523 return incentive; 6524 } 6525 6526 return null; 6527 } 6528 catch(e) { 6529 console.log('[OG Price] getIncentive:', e.message); 6530 return null; 6531 } 6532 } 6533 6534 function calcDiscountedPrice( 6535 incentive, 6536 variantPrice 6537 ) { 6538 if (!incentive) { 6539 return null; 6540 } 6541 6542 var value = 6543 parseFloat(incentive.value); 6544 6545 if ( 6546 isNaN(value) || 6547 value <= 0 6548 ) { 6549 return null; 6550 } 6551 6552 var type = 6553 String(incentive.type || '').toLowerCase(); 6554 6555 if ( 6556 type === 'discount percent' || 6557 type === 'percentage' || 6558 type === 'percent' 6559 ) { 6560 return Math.ceil( 6561 variantPrice * (1 - value / 100) 6562 ); 6563 } 6564 if ( 6565 type === 'discount fixed' || 6566 type === 'fixed' || 6567 type === 'fixed_amount' 6568 ) { 6569 return Math.ceil( 6570 variantPrice - value * 100 6571 ); 6572 } 6573 6574 return null; 6575 } 6576 6577 function updatePriceWrapperData(variant) { 6578 var priceWrapper = getPriceWrapper(); 6579 6580 if ( 6581 !priceWrapper || 6582 !variant 6583 ) { 6584 return; 6585 } 6586 6587 priceWrapper.setAttribute( 6588 'data-variant-id', 6589 variant.id 6590 ); 6591 6592 priceWrapper.setAttribute( 6593 'data-variant-price', 6594 variant.price 6595 ); 6596 6597 priceWrapper.setAttribute( 6598 'data-variant-compare-at-price', 6599 variant.compare_at_price || 0 6600 ); 6601 } 6602 6603 function updatePriceValues() { 6604 var variant = getCurrentVariant(); 6605 6606 if ( 6607 !variant || 6608 !variant.id || 6609 !variant.price 6610 ) { 6611 return false;
6612 } 6613 6614 var incentive = 6615 getIncentive(variant.id); 6616 6617 if (!incentive) { 6618 return false; 6619 } 6620 6621 var discountedCents = 6622 calcDiscountedPrice( 6623 incentive, 6624 variant.price 6625 ); 6626 6627 if ( 6628 discountedCents === null || 6629 discountedCents >= variant.price 6630 ) { 6631 return false; 6632 } 6633 6634 var subscriptionPriceNode = 6635 scopedQuery('[data-subscription-price]'); 6636 6637 var subscriptionCompareNode = 6638 scopedQuery('[data-subscription-compare-price]'); 6639 6640 var subscriptionSavingNode = 6641 scopedQuery('[data-subscription-saving]'); 6642 6643 var regularPriceNode = 6644 scopedQuery('[data-regular-price]'); 6645 6646 var comparePriceNode = 6647 scopedQuery('[data-compare-price]'); 6648 6649 if (subscriptionPriceNode) { 6650 subscriptionPriceNode.innerHTML = 6651 formatMoney(discountedCents); 6652 } 6653 6654 if (subscriptionCompareNode) { 6655 subscriptionCompareNode.innerHTML = 6656 formatMoney(variant.price); 6657 } 6658 6659 if (subscriptionSavingNode) { 6660 subscriptionSavingNode.innerHTML = 6661 "you save [amount]" 6662 .replace( 6663 '[amount]', 6664 formatMoney(variant.price - discountedCents) 6665 ); 6666 } 6667 6668 if (regularPriceNode) { 6669 regularPriceNode.innerHTML = 6670 formatMoney(variant.price); 6671 } 6672 6673 if ( 6674 comparePriceNode && 6675 variant.compare_at_price && 6676 variant.compare_at_price > variant.price 6677 ) { 6678 comparePriceNode.innerHTML = 6679 formatMoney(variant.compare_at_price); 6680 } 6681 6682 return true; 6683 } 6684 6685 function showSubscriptionPrice() { 6686 var regularPrice = 6687 scopedQuery('[data-regular-price-wrapper]'); 6688 6689 var subscriptionPrice = 6690 scopedQuery('[data-subscription-price-wrapper]'); 6691 6692 if (regularPrice) { 6693 regularPrice.style.display = 'none'; 6694 } 6695 6696 if (subscriptionPrice) { 6697 subscriptionPrice.style.display = 'block'; 6698 } 6699 } 6700 6701 function showRegularPrice() { 6702 var regularPrice = 6703 scopedQuery('[data-regular-price-wrapper]'); 6704 6705 var subscriptionPrice = 6706 scopedQuery('[data-subscription-price-wrapper]'); 6707 6708 if (regularPrice) { 6709 regularPrice.style.display = 'block'; 6710 } 6711 6712 if (subscriptionPrice) { 6713 subscriptionPrice.style.display = 'none'; 6714 } 6715 } 6716 6717 function displayPriceInOffer() { 6718 var offerElement = getOGOffer(); 6719 6720 if (!offerElement) { 6721 return; 6722 } 6723 6724 var optedInLabel = 6725 offerElement.querySelector( 6726 "og-optin-button span[id='og-label']" 6727 ); 6728 6729 var optedOutLabel = 6730 offerElement.querySelector( 6731 "og-optout-button span[id='og-label']" 6732 ); 6733 6734 var subscriptionPrice = 6735 scopedQuery('[data-subscription-price]'); 6736 6737 var regularPrice = 6738 scopedQuery('[data-regular-price]'); 6739 6740 if ( 6741 !optedInLabel || 6742 !optedOutLabel || 6743 !subscriptionPrice || 6744 !regularPrice 6745 ) { 6746 return; 6747 } 6748 6749 optedInLabel.innerHTML = 6750 '<span>' + 6751 subscriptionPrice.innerHTML + 6752 '</span> - Subscribe & Save'; 6753 6754 optedOutLabel.innerHTML = 6755 '<span>' + 6756 regularPrice.innerHTML + 6757 '</span> - One-Time Purchase'; 6758 } 6759 6760 function applyPriceState() { 6761 var hasSubscriptionPrice = 6762 updatePriceValues(); 6763 6764 /** 6765 * Eligible variant = show <og-offer> 6766 * Ineligible variant = hide <og-offer> 6767 */ 6768 updateOfferEligibility(hasSubscriptionPrice); 6769 6770 if ( 6771 hasSubscriptionPrice && 6772 isSubscribed() 6773 ) { 6774 showSubscriptionPrice(); 6775 displayPriceInOffer(); 6776 return true; 6777 } 6778 6779 showRegularPrice(); 6780 displayPriceInOffer(); 6781 6782 return hasSubscriptionPrice; 6783 } 6784 6785 function retryApplyPriceState() { 6786 var attempts = 0; 6787 6788 function run() { 6789 attempts++; 6790 6791 if (applyPriceState()) { 6792 return; 6793 } 6794 6795 if (attempts < MAX_POLL_ATTEMPTS) { 6796 setTimeout(run, POLL_INTERVAL); 6797 } 6798 } 6799 6800 run(); 6801 } 6802 6803 function handleVariantChange() { 6804 setTimeout(function() { 6805 var variant = 6806 getCurrentVariant(); 6807 6808 updatePriceWrapperData(variant); 6809 6810 /** 6811 * If not currently subscribed, re-affirm one-time purchase with 6812 * a real click on the new variant/product context â the same 6813 * kind of genuine interaction that fixed the initial-load case. 6814 * Only does this when NOT subscribed, so it never fights a real 6815 * subscribe selection the user already made before switching. 6816 */ 6817 if (!isSubscribed()) { 6818 var optout = getOptoutButton(); 6819 if (optout) { 6820 optout.click(); 6821 } 6822 } 6823 6824 /** 6825 * Retry because OG incentives may update after variant change. 6826 * <og-offer> will only stay visible if this variant has a valid 6827 * subscription price, and its price only shows the discount if 6828 * 'subscribed' is present on it right now. 6829 */ 6830 retryApplyPriceState(); 6831 }, 200); 6832 } 6833 6834 function bindVariantChangeEvent() { 6835 var productVariants = 6836 getProductVariantsElement(); 6837 6838 if (!productVariants) { 6839 return; 6840 } 6841 6842 productVariants.addEventListener(
6843 'VARIANT_CHANGE', 6844 handleVariantChange 6845 ); 6846 } 6847 6848 function initializeOGPricing() { 6849 if (typeof OG === 'undefined') { 6850 setTimeout(initializeOGPricing, 200); 6851 return; 6852 } 6853 6854 if ( 6855 typeof OG.isReady === 'function' && 6856 !OG.isReady() 6857 ) { 6858 setTimeout(initializeOGPricing, 150); 6859 return; 6860 } 6861 6862 retryApplyPriceState(); 6863 } 6864 6865 function initOGPricing() { 6866 updateOfferEligibility(false); 6867 6868 bindOfferObserver(); 6869 bindSubscribedAttributeObserver(); 6870 bindVariantChangeEvent(); 6871 initializeOGPricing(); 6872 selectOneTimeOnLoad(); 6873 6874 // Force correct initial display after OG has time to load 6875 setTimeout(function() { 6876 retryApplyPriceState(); 6877 }, 500); 6878 } 6879 6880 if (document.readyState === 'loading') { 6881 document.addEventListener('DOMContentLoaded', initOGPricing); 6882 } else { 6883 initOGPricing(); 6884 } 6885})(); 6886</script>
6886</div> 6887 </div> 6888 6889</div><div 6890 class="product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center" 6891 style="padding-top: 0;" 6892 > 6893 <div 6894 class="product-item__quick-buy" 6895 6896 ><quick-view-product class="quick-add-to-cart" data-content-id="cta_quick_add_super_greens_energy_watermelon" > 6897 <a href="/products/watermelon-energy-greens-blend" class="button button--solid button--regular button--fullwidth button--loader" data-js-product-add-to-cart data-id="1387430936650" title="Open quick view modal" > 6898 <span class="button__text ">Buy now</span> 6899 <span class="button__preloader"> 6900 <svg class="button__preloader-element" viewBox="25 25 50 50"><circle cx="50" cy="50" r="20" fill="none" stroke-width="4"/></svg> 6901 </span> 6902 </a> 6903 </quick-view-product></div> 6904</div></div> 6905<div id="product-item-1387430838346" class="product-item card" data-js-product-item><a href="/collections/fresh-picks/products/lemon-lime-energy-greens-blend" 6906 class="card__image product-item__image 6907 6908 product-item__image--has-secondary " 6909 style="padding-top:100.0%" 6910 data-content-id="product_image_super_greens_energy_lemon_lime" 6911 > 6912<figure 6913 class="lazy-image product-item__image-figure product-item__image-figure--primary lazy-image--animation 6914 lazy-image--background 6915 6916 " 6917 6918 data-ratio="1.0" style="padding-top: 100.0%" 6919 6920 data-crop="false" 6921> 6922 6923 <img 6924 src="//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?v=1768924035&width=480" alt="Super Greens Energy Lemon Lime" 6925 srcset="//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=240&v=1768924035&width=240 240w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=360&v=1768924035&width=360 360w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=420&v=1768924035&width=420 420w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=480&v=1768924035&width=480 480w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=640&v=1768924035&width=640 640w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=840&v=1768924035&width=840 840w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=1080&v=1768924035&width=1080 1080w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=1280&v=1768924035&width=1280 1280w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=1540&v=1768924035&width=1540 1540w,//amazinggrass.com/cdn/shop/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?crop=center&height=1860&v=1768924035&width=1860 1860w" 6926 class="img" 6927 width="2000" 6928 height="2000" 6929 data-ratio="1.0" 6930 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 6931 loading="lazy" 6932 6933 6934 onload="this.parentNode.classList.add('lazyloaded')" 6935 /> 6936 6937</figure> 6938<figure 6939 class="lazy-image product-item__image-figure product-item__image-figure--secondary lazy-image--animation 6940 lazy-image--background 6941 6942 " 6943 6944 data-ratio="1.0" style="padding-top: 100.0%" 6945 6946 data-crop="false" 6947> 6948 6949 <img 6950 src="//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?v=1770671565&width=480" alt="Super Greens Energy Lemon Lime" 6951 srcset="//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=240&v=1770671565&width=240 240w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=360&v=1770671565&width=360 360w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=420&v=1770671565&width=420 420w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=480&v=1770671565&width=480 480w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=640&v=1770671565&width=640 640w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=840&v=1770671565&width=840 840w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=1080&v=1770671565&width=1080 1080w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=1280&v=1770671565&width=1280 1280w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=1540&v=1770671565&width=1540 1540w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=1860&v=1770671565&width=1860 1860w,//amazinggrass.com/cdn/shop/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?crop=center&height=2100&v=1770671565&width=2100 2100w" 6952 class="img" 6953 width="4000" 6954 height="4000" 6955 data-ratio="1.0" 6956 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 6957 loading="lazy" 6958 6959 6960 onload="this.parentNode.classList.add('lazyloaded')" 6961 /> 6962 6963</figure></a> 6964 6965 <div class="card__text product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center"> 6966<a class="product-item__title h4" style="margin-bottom: .5rem;" 6967 href="/products/lemon-lime-energy-greens-blend" title="Super Greens Energy Lemon Lime" > 6968Super Greens 6969</a> 6970 6971<div> 6972 6973 6974<p class="flavor-tile flavor-tile--tropical-lime">Lemon Lime</p> 6975 6976 6977 6978 6979<style> 6980 .flavor-tile { 6981 background-color: #008540; 6982 border-radius: 6px; 6983 padding: 5px 15px; 6984 color: white; 6985 text-transform: uppercase; 6986 font-weight: 900!important; 6987 text-wrap: nowrap; 6988 margin-bottom: 0; 6989 } 6990 .flavor-tile--sweet-berry { 6991 background-color: #DE4668!important; 6992 } 6993 .flavor-tile--summer-berry { 6994 background-color: #8E2D4E!important; 6995 } 6996 .flavor-tile--chocolate { 6997 background-color: #864322!important; 6998 } 6999 .flavor-tile--pineapple { 7000 background-color: #FFCF00!important; 7001 } 7002 .flavor-tile--peach-hibiscus { 7003 background-color: #ECB4D9!important; 7004 } 7005 .flavor-tile--tropical-lime { 7006 background-color: #c1d42d!important; 7007 } 7008 .flavor-tile--watermelon { 7009 background-color: #f67172!important; 7010 } 7011 .flavor-tile--detox { 7012 background-color: #7dcfc3!important; 7013 } 7014 .flavor-tile--tropical { 7015 background-color: #f99643!important; 7016 } 7017</style></div> 7018<div 7019 class="product-item__ratings" 7020 7021 > 7022<div itemscope itemtype="http://schema.org/Product"> 7023 <meta itemprop="name" content="Super Greens Energy Lemon Lime" /> 7024 <div data-bv-show="inline_rating" 7025 data-bv-product-id="1387430838346" 7026 data-bv-redirect-url="/products/lemon-lime-energy-greens-blend"></div> 7027 </div></div> 7028<div 7029 class="product-item__price text-size--regular equalize-white-space" 7030 7031 > 7032 <div class="remove-line-height-space"> 7033 7034 7035<div 7036 class="product-price " 7037 data-og-price 7038 data-og-price-scope="12432361291850" 7039 data-variant-id="12432361291850" 7040 data-variant-price="2849" 7041 data-variant-compare-at-price="0" 7042> 7043 7044 <!-- SUBSCRIPTION PRICE --> 7045 <div 7046 id="subscription-price" 7047 class="og-subscription-price" 7048 style="display:none" 7049 data-subscription-price-wrapper 7050 > 7051 7052 <span 7053 class="product-price--original " 7054 data-subscription-price 7055 data-og-sale-price 7056 > 7057 $28.49 7058 </span> 7059 7060 <del class="product-price--compare"> 7061
7062 <span data-subscription-compare-price> 7063 $28.49 7064 </span></del> 7065 7066 </div> 7067 7068 <!-- REGULAR PRICE --> 7069 <div 7070 id="regular-price" 7071 class="og-regular-price" 7072 style="display:block" 7073 data-regular-price-wrapper 7074 > 7075 7076 <span 7077 class="product-price--original " 7078 data-regular-price 7079 > 7080 $28.49 7081 </span></div> 7082 7083</div> 7084
7085<script> 7086(function() { 7087 var POLL_INTERVAL = 250; 7088 var MAX_POLL_ATTEMPTS = 80; 7089 7090 var MONEY_FORMAT = "${{amount}}"; 7091 var ISO_CODE = ""; 7092 7093 /** 7094 * AJAX variant switches replace price block markup via innerHTML 7095 * (see ProductVariants.renderProductUpdates in the theme JS), and 7096 * browsers never execute
7096<script> tags injected that way. That 7097 * means whichever script instance(s) executed on the real initial 7098 * page load are the ONLY ones that will ever run for the life of 7099 * this page â their own [data-og-price-scope] element can get 7100 * destroyed and replaced by a fresh one (for whatever variant is 7101 * now selected) without a new script ever picking it up. 7102 * 7103 * The fix: never hold a fixed VARIANT_ID. Resolve which scope 7104 * element to use fresh, every time, from whatever the currently 7105 * selected variant actually is â so a still-running instance 7106 * always finds and controls the current (possibly freshly 7107 * re-injected) scope element instead of a stale reference to one 7108 * that no longer exists. 7109 */ 7110 function getActiveVariantId() { 7111 var productVariants = getProductVariantsElement(); 7112 7113 if ( 7114 productVariants && 7115 productVariants.currentVariant && 7116 productVariants.currentVariant.id 7117 ) { 7118 return String(productVariants.currentVariant.id); 7119 } 7120 7121 return null; 7122 } 7123 7124 function getScope() { 7125 var variantId = getActiveVariantId(); 7126 7127 if (!variantId) { 7128 return null; 7129 } 7130 7131 return document.querySelector('[data-og-price-scope="' + variantId + '"]'); 7132 } 7133 7134 function scopedQuery(selector) { 7135 var scope = getScope(); 7136 return scope ? scope.querySelector(selector) : null; 7137 } 7138 7139 function getPriceWrapper() { 7140 return getScope(); 7141 } 7142 7143 function getProductVariantsElement() { 7144 return document.querySelector('product-variants'); 7145 } 7146 7147 function getOGOffer() { 7148 return document.getElementsByTagName('og-offer')[0]; 7149 } 7150 7151 /** 7152 * The single source of truth for whether the discounted price 7153 * should show: a direct, real-time read of whether 'subscribed' is 7154 * present on <og-offer> right now. No stored variable, no default 7155 * state, no syncing from any OG JS API â just whatever the DOM 7156 * actually says at the moment this is called. 7157 */ 7158 function isSubscribed() { 7159 var offer = getOGOffer(); 7160 return !!(offer && offer.hasAttribute('subscribed')); 7161 } 7162 7163 function getOptoutButton() { 7164 var offer = getOGOffer(); 7165 return offer ? offer.querySelector('og-optout-button') : null; 7166 } 7167 7168 /** 7169 * Guards resetToOneTimeOnLoad so it only ever acts once per page 7170 * load â it exists purely to actively select one-time purchase at 7171 * initialization (clicking the opt-out control just like a real 7172 * user would), not to fight a real subscribe selection made 7173 * afterward. 7174 */ 7175 var hasAttemptedInitialSelection = false; 7176 7177 /** 7178 * Actively selects one-time purchase on load by clicking the 7179 * opt-out control, once, the same way a real user click would. 7180 * Polls briefly in case the offer/buttons aren't in the DOM yet at 7181 * the moment this first runs. 7182 */ 7183 function selectOneTimeOnLoad(attempts) { 7184 attempts = attempts || 0; 7185 7186 if (hasAttemptedInitialSelection) { 7187 return; 7188 } 7189 7190 var optout = getOptoutButton(); 7191 7192 if (optout) { 7193 hasAttemptedInitialSelection = true; 7194 optout.click(); 7195 return; 7196 } 7197 7198 if (attempts < MAX_POLL_ATTEMPTS) { 7199 setTimeout(function() { 7200 selectOneTimeOnLoad(attempts + 1); 7201 }, POLL_INTERVAL); 7202 } 7203 } 7204 7205 /** 7206 * Cached purely so the DOM observer below can re-apply the offer's 7207 * visibility without re-running the whole price pipeline (which 7208 * itself mutates innerHTML and would otherwise retrigger the 7209 * observer in an infinite loop). The actual eligibility computation 7210 * still always comes fresh from updatePriceValues()/getIncentive() 7211 * inside applyPriceState() â this is just the last known result of 7212 * that computation, used only for the narrow display toggle. 7213 */ 7214 var currentVariantEligible = false; 7215 7216 function updateOfferEligibility(isEligible) { 7217 currentVariantEligible = isEligible; 7218 7219 var offerElement = getOGOffer(); 7220 7221 if (!offerElement) { 7222 return; 7223 } 7224 7225 offerElement.style.display = currentVariantEligible 7226 ? '' 7227 : 'none'; 7228 } 7229 7230 /** 7231 * Only re-applies the cached display state when the offer element 7232 * itself enters/leaves the DOM â it deliberately does NOT call 7233 * applyPriceState() here, since that function mutates innerHTML 7234 * elsewhere on the page, which would retrigger this childList/ 7235 * subtree observer and cause an infinite update loop. 7236 */ 7237 function bindOfferObserver() { 7238 if (!document.body) { 7239 return; 7240 } 7241 7242 var observer = new MutationObserver(function() { 7243 var offerElement = getOGOffer(); 7244
7245 if (!offerElement) { 7246 return; 7247 } 7248 7249 offerElement.style.display = currentVariantEligible 7250 ? '' 7251 : 'none'; 7252 }); 7253 7254 observer.observe(document.body, { 7255 childList: true, 7256 subtree: true 7257 }); 7258 } 7259 7260 /** 7261 * Watches specifically for the 'subscribed' attribute changing 7262 * anywhere in the document (i.e. on <og-offer>) and re-applies price 7263 * state whenever it does. This is the only trigger tied to 7264 * subscription selection â there is no separate stored state to 7265 * keep in sync. 7266 */ 7267 function bindSubscribedAttributeObserver() { 7268 if (!document.body) { 7269 return; 7270 } 7271 7272 var observer = new MutationObserver(function(mutations) { 7273 var relevant = mutations.some(function(m) { 7274 return m.type === 'attributes' && m.attributeName === 'subscribed'; 7275 }); 7276 7277 if (!relevant) { 7278 return; 7279 } 7280 7281 retryApplyPriceState(); 7282 }); 7283 7284 observer.observe(document.body, { 7285 subtree: true, 7286 attributes: true, 7287 attributeFilter: ['subscribed'] 7288 }); 7289 } 7290 7291 function getCurrentVariant() { 7292 var productVariants = getProductVariantsElement(); 7293 7294 if ( 7295 productVariants && 7296 productVariants.currentVariant 7297 ) { 7298 return productVariants.currentVariant; 7299 } 7300 7301 /** 7302 * Last-resort fallback only, for the case where product-variants 7303 * isn't available at all. getScope() can't help here since it 7304 * itself depends on productVariants.currentVariant â so this 7305 * grabs any price wrapper still in the DOM as a best-effort guess. 7306 */ 7307 var priceWrapper = document.querySelector('[data-og-price]'); 7308 7309 if (!priceWrapper) { 7310 return null; 7311 } 7312 7313 return { 7314 id: priceWrapper.getAttribute('data-variant-id'), 7315 price: Number(priceWrapper.getAttribute('data-variant-price')), 7316 compare_at_price: Number(priceWrapper.getAttribute('data-variant-compare-at-price')) || 0 7317 }; 7318 } 7319 7320 function formatMoney(cents) { 7321 cents = Math.round(Number(cents)); 7322 7323 if ( 7324 window.Shopify && 7325 typeof Shopify.formatMoney === 'function' 7326 ) { 7327 return Shopify.formatMoney(cents, MONEY_FORMAT) + ISO_CODE; 7328 } 7329 7330 return '$' + (cents / 100).toFixed(2) + ISO_CODE; 7331 } 7332 7333 function getIncentive(variantId) { 7334 try { 7335 if ( 7336 typeof OG === 'undefined' || 7337 !OG.store || 7338 typeof OG.store.getState !== 'function' 7339 ) { 7340 return null; 7341 } 7342 7343 var state = OG.store.getState(); 7344 var incentives = state && state.incentives; 7345 7346 if (!incentives) { 7347 return null; 7348 } 7349 7350 var productIncentives = 7351 incentives[variantId] || 7352 incentives[Number(variantId)]; 7353 7354 if (!productIncentives) { 7355 return null; 7356 } 7357 7358 var incentive = 7359 productIncentives.initial && productIncentives.initial[0] 7360 ? productIncentives.initial[0] 7361 : productIncentives.ongoing && productIncentives.ongoing[0] 7362 ? productIncentives.ongoing[0] 7363 : null; 7364 7365 if ( 7366 incentive && 7367 incentive.value 7368 ) { 7369 return incentive; 7370 } 7371 7372 return null; 7373 } 7374 catch(e) { 7375 console.log('[OG Price] getIncentive:', e.message); 7376 return null; 7377 } 7378 } 7379 7380 function calcDiscountedPrice( 7381 incentive, 7382 variantPrice 7383 ) { 7384 if (!incentive) { 7385 return null; 7386 } 7387 7388 var value = 7389 parseFloat(incentive.value); 7390 7391 if ( 7392 isNaN(value) || 7393 value <= 0 7394 ) { 7395 return null; 7396 } 7397 7398 var type = 7399 String(incentive.type || '').toLowerCase(); 7400 7401 if ( 7402 type === 'discount percent' || 7403 type === 'percentage' || 7404 type === 'percent' 7405 ) { 7406 return Math.ceil( 7407 variantPrice * (1 - value / 100) 7408 ); 7409 } 7410 if ( 7411 type === 'discount fixed' || 7412 type === 'fixed' || 7413 type === 'fixed_amount' 7414 ) { 7415 return Math.ceil( 7416 variantPrice - value * 100 7417 ); 7418 } 7419 7420 return null; 7421 } 7422 7423 function updatePriceWrapperData(variant) { 7424 var priceWrapper = getPriceWrapper(); 7425 7426 if ( 7427 !priceWrapper || 7428 !variant 7429 ) { 7430 return; 7431 } 7432 7433 priceWrapper.setAttribute( 7434 'data-variant-id', 7435 variant.id 7436 ); 7437 7438 priceWrapper.setAttribute( 7439 'data-variant-price', 7440 variant.price 7441 ); 7442 7443 priceWrapper.setAttribute( 7444 'data-variant-compare-at-price', 7445 variant.compare_at_price || 0 7446 ); 7447 } 7448 7449 function updatePriceValues() { 7450 var variant = getCurrentVariant(); 7451 7452 if ( 7453 !variant || 7454 !variant.id || 7455 !variant.price 7456 ) { 7457 return false;
7458 } 7459 7460 var incentive = 7461 getIncentive(variant.id); 7462 7463 if (!incentive) { 7464 return false; 7465 } 7466 7467 var discountedCents = 7468 calcDiscountedPrice( 7469 incentive, 7470 variant.price 7471 ); 7472 7473 if ( 7474 discountedCents === null || 7475 discountedCents >= variant.price 7476 ) { 7477 return false; 7478 } 7479 7480 var subscriptionPriceNode = 7481 scopedQuery('[data-subscription-price]'); 7482 7483 var subscriptionCompareNode = 7484 scopedQuery('[data-subscription-compare-price]'); 7485 7486 var subscriptionSavingNode = 7487 scopedQuery('[data-subscription-saving]'); 7488 7489 var regularPriceNode = 7490 scopedQuery('[data-regular-price]'); 7491 7492 var comparePriceNode = 7493 scopedQuery('[data-compare-price]'); 7494 7495 if (subscriptionPriceNode) { 7496 subscriptionPriceNode.innerHTML = 7497 formatMoney(discountedCents); 7498 } 7499 7500 if (subscriptionCompareNode) { 7501 subscriptionCompareNode.innerHTML = 7502 formatMoney(variant.price); 7503 } 7504 7505 if (subscriptionSavingNode) { 7506 subscriptionSavingNode.innerHTML = 7507 "you save [amount]" 7508 .replace( 7509 '[amount]', 7510 formatMoney(variant.price - discountedCents) 7511 ); 7512 } 7513 7514 if (regularPriceNode) { 7515 regularPriceNode.innerHTML = 7516 formatMoney(variant.price); 7517 } 7518 7519 if ( 7520 comparePriceNode && 7521 variant.compare_at_price && 7522 variant.compare_at_price > variant.price 7523 ) { 7524 comparePriceNode.innerHTML = 7525 formatMoney(variant.compare_at_price); 7526 } 7527 7528 return true; 7529 } 7530 7531 function showSubscriptionPrice() { 7532 var regularPrice = 7533 scopedQuery('[data-regular-price-wrapper]'); 7534 7535 var subscriptionPrice = 7536 scopedQuery('[data-subscription-price-wrapper]'); 7537 7538 if (regularPrice) { 7539 regularPrice.style.display = 'none'; 7540 } 7541 7542 if (subscriptionPrice) { 7543 subscriptionPrice.style.display = 'block'; 7544 } 7545 } 7546 7547 function showRegularPrice() { 7548 var regularPrice = 7549 scopedQuery('[data-regular-price-wrapper]'); 7550 7551 var subscriptionPrice = 7552 scopedQuery('[data-subscription-price-wrapper]'); 7553 7554 if (regularPrice) { 7555 regularPrice.style.display = 'block'; 7556 } 7557 7558 if (subscriptionPrice) { 7559 subscriptionPrice.style.display = 'none'; 7560 } 7561 } 7562 7563 function displayPriceInOffer() { 7564 var offerElement = getOGOffer(); 7565 7566 if (!offerElement) { 7567 return; 7568 } 7569 7570 var optedInLabel = 7571 offerElement.querySelector( 7572 "og-optin-button span[id='og-label']" 7573 ); 7574 7575 var optedOutLabel = 7576 offerElement.querySelector( 7577 "og-optout-button span[id='og-label']" 7578 ); 7579 7580 var subscriptionPrice = 7581 scopedQuery('[data-subscription-price]'); 7582 7583 var regularPrice = 7584 scopedQuery('[data-regular-price]'); 7585 7586 if ( 7587 !optedInLabel || 7588 !optedOutLabel || 7589 !subscriptionPrice || 7590 !regularPrice 7591 ) { 7592 return; 7593 } 7594 7595 optedInLabel.innerHTML = 7596 '<span>' + 7597 subscriptionPrice.innerHTML + 7598 '</span> - Subscribe & Save'; 7599 7600 optedOutLabel.innerHTML = 7601 '<span>' + 7602 regularPrice.innerHTML + 7603 '</span> - One-Time Purchase'; 7604 } 7605 7606 function applyPriceState() { 7607 var hasSubscriptionPrice = 7608 updatePriceValues(); 7609 7610 /** 7611 * Eligible variant = show <og-offer> 7612 * Ineligible variant = hide <og-offer> 7613 */ 7614 updateOfferEligibility(hasSubscriptionPrice); 7615 7616 if ( 7617 hasSubscriptionPrice && 7618 isSubscribed() 7619 ) { 7620 showSubscriptionPrice(); 7621 displayPriceInOffer(); 7622 return true; 7623 } 7624 7625 showRegularPrice(); 7626 displayPriceInOffer(); 7627 7628 return hasSubscriptionPrice; 7629 } 7630 7631 function retryApplyPriceState() { 7632 var attempts = 0; 7633 7634 function run() { 7635 attempts++; 7636 7637 if (applyPriceState()) { 7638 return; 7639 } 7640 7641 if (attempts < MAX_POLL_ATTEMPTS) { 7642 setTimeout(run, POLL_INTERVAL); 7643 } 7644 } 7645 7646 run(); 7647 } 7648 7649 function handleVariantChange() { 7650 setTimeout(function() { 7651 var variant = 7652 getCurrentVariant(); 7653 7654 updatePriceWrapperData(variant); 7655 7656 /** 7657 * If not currently subscribed, re-affirm one-time purchase with 7658 * a real click on the new variant/product context â the same 7659 * kind of genuine interaction that fixed the initial-load case. 7660 * Only does this when NOT subscribed, so it never fights a real 7661 * subscribe selection the user already made before switching. 7662 */ 7663 if (!isSubscribed()) { 7664 var optout = getOptoutButton(); 7665 if (optout) { 7666 optout.click(); 7667 } 7668 } 7669 7670 /** 7671 * Retry because OG incentives may update after variant change. 7672 * <og-offer> will only stay visible if this variant has a valid 7673 * subscription price, and its price only shows the discount if 7674 * 'subscribed' is present on it right now. 7675 */ 7676 retryApplyPriceState(); 7677 }, 200); 7678 } 7679 7680 function bindVariantChangeEvent() { 7681 var productVariants = 7682 getProductVariantsElement(); 7683 7684 if (!productVariants) { 7685 return; 7686 } 7687 7688 productVariants.addEventListener(
7689 'VARIANT_CHANGE', 7690 handleVariantChange 7691 ); 7692 } 7693 7694 function initializeOGPricing() { 7695 if (typeof OG === 'undefined') { 7696 setTimeout(initializeOGPricing, 200); 7697 return; 7698 } 7699 7700 if ( 7701 typeof OG.isReady === 'function' && 7702 !OG.isReady() 7703 ) { 7704 setTimeout(initializeOGPricing, 150); 7705 return; 7706 } 7707 7708 retryApplyPriceState(); 7709 } 7710 7711 function initOGPricing() { 7712 updateOfferEligibility(false); 7713 7714 bindOfferObserver(); 7715 bindSubscribedAttributeObserver(); 7716 bindVariantChangeEvent(); 7717 initializeOGPricing(); 7718 selectOneTimeOnLoad(); 7719 7720 // Force correct initial display after OG has time to load 7721 setTimeout(function() { 7722 retryApplyPriceState(); 7723 }, 500); 7724 } 7725 7726 if (document.readyState === 'loading') { 7727 document.addEventListener('DOMContentLoaded', initOGPricing); 7728 } else { 7729 initOGPricing(); 7730 } 7731})(); 7732</script>
7732</div> 7733 </div> 7734 7735</div><div 7736 class="product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center" 7737 style="padding-top: 0;" 7738 > 7739 <div 7740 class="product-item__quick-buy" 7741 7742 ><quick-view-product class="quick-add-to-cart" data-content-id="cta_quick_add_super_greens_energy_lemon_lime" > 7743 <a href="/products/lemon-lime-energy-greens-blend" class="button button--solid button--regular button--fullwidth button--loader" data-js-product-add-to-cart data-id="1387430838346" title="Open quick view modal" > 7744 <span class="button__text ">Buy now</span> 7745 <span class="button__preloader"> 7746 <svg class="button__preloader-element" viewBox="25 25 50 50"><circle cx="50" cy="50" r="20" fill="none" stroke-width="4"/></svg> 7747 </span> 7748 </a> 7749 </quick-view-product></div> 7750</div></div> 7751<div id="product-item-1387431067722" class="product-item card" data-js-product-item><a href="/collections/fresh-picks/products/super-greens-digest-green-bliss" 7752 class="card__image product-item__image 7753 7754 product-item__image--has-secondary " 7755 style="padding-top:100.0%" 7756 data-content-id="product_image_greens_blend_detox_&_digest_clean_greens" 7757 > 7758<figure 7759 class="lazy-image product-item__image-figure product-item__image-figure--primary lazy-image--animation 7760 lazy-image--background 7761 7762 " 7763 7764 data-ratio="1.0" style="padding-top: 100.0%" 7765 7766 data-crop="false" 7767> 7768 7769 <img 7770 src="//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?v=1788543897&width=480" alt="Greens Blend Detox & Digest Clean Greens" 7771 srcset="//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=240&v=1788543897&width=240 240w,//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=360&v=1788543897&width=360 360w,//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=420&v=1788543897&width=420 420w,//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=480&v=1788543897&width=480 480w,//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=640&v=1788543897&width=640 640w,//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=840&v=1788543897&width=840 840w,//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=1080&v=1788543897&width=1080 1080w,//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=1280&v=1788543897&width=1280 1280w,//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=1540&v=1788543897&width=1540 1540w,//amazinggrass.com/cdn/shop/files/GreensBlend-DetoxDigest30-2000x2000-064a3d6.png?crop=center&height=1860&v=1788543897&width=1860 1860w" 7772 class="img" 7773 width="2000" 7774 height="2000" 7775 data-ratio="1.0" 7776 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 7777 loading="lazy" 7778 7779 7780 onload="this.parentNode.classList.add('lazyloaded')" 7781 /> 7782 7783</figure> 7784<figure 7785 class="lazy-image product-item__image-figure product-item__image-figure--secondary lazy-image--animation 7786 lazy-image--background 7787 7788 " 7789 7790 data-ratio="1.0" style="padding-top: 100.0%" 7791 7792 data-crop="false" 7793> 7794 7795 <img 7796 src="//amazinggrass.com/cdn/shop/files/81mKuwlKExL._AC_SL1500.jpg?v=1788544329&width=480" alt="Greens Blend Detox & Digest Clean Greens" 7797 srcset="//amazinggrass.com/cdn/shop/files/81mKuwlKExL._AC_SL1500.jpg?crop=center&height=240&v=1788544329&width=240 240w,//amazinggrass.com/cdn/shop/files/81mKuwlKExL._AC_SL1500.jpg?crop=center&height=360&v=1788544329&width=360 360w,//amazinggrass.com/cdn/shop/files/81mKuwlKExL._AC_SL1500.jpg?crop=center&height=420&v=1788544329&width=420 420w,//amazinggrass.com/cdn/shop/files/81mKuwlKExL._AC_SL1500.jpg?crop=center&height=480&v=1788544329&width=480 480w,//amazinggrass.com/cdn/shop/files/81mKuwlKExL._AC_SL1500.jpg?crop=center&height=640&v=1788544329&width=640 640w,//amazinggrass.com/cdn/shop/files/81mKuwlKExL._AC_SL1500.jpg?crop=center&height=840&v=1788544329&width=840 840w,//amazinggrass.com/cdn/shop/files/81mKuwlKExL._AC_SL1500.jpg?crop=center&height=1080&v=1788544329&width=1080 1080w,//amazinggrass.com/cdn/shop/files/81mKuwlKExL._AC_SL1500.jpg?crop=center&height=1280&v=1788544329&width=1280 1280w" 7798 class="img" 7799 width="1500" 7800 height="1500" 7801 data-ratio="1.0" 7802 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 7803 loading="lazy" 7804 7805 7806 onload="this.parentNode.classList.add('lazyloaded')" 7807 /> 7808 7809</figure></a> 7810 7811 <div class="card__text product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center"> 7812<a class="product-item__title h4" style="margin-bottom: .5rem;" 7813 href="/products/super-greens-digest-green-bliss" title="Greens Blend Detox & Digest Clean Greens" > 7814Super Greens 7815</a> 7816 7817<div> 7818 7819 7820<p class="flavor-tile">Digest</p> 7821 7822 7823 7824 7825<style> 7826 .flavor-tile { 7827 background-color: #008540; 7828 border-radius: 6px; 7829 padding: 5px 15px; 7830 color: white; 7831 text-transform: uppercase; 7832 font-weight: 900!important; 7833 text-wrap: nowrap; 7834 margin-bottom: 0; 7835 } 7836 .flavor-tile--sweet-berry { 7837 background-color: #DE4668!important; 7838 } 7839 .flavor-tile--summer-berry { 7840 background-color: #8E2D4E!important; 7841 } 7842 .flavor-tile--chocolate { 7843 background-color: #864322!important; 7844 } 7845 .flavor-tile--pineapple { 7846 background-color: #FFCF00!important; 7847 } 7848 .flavor-tile--peach-hibiscus { 7849 background-color: #ECB4D9!important; 7850 } 7851 .flavor-tile--tropical-lime { 7852 background-color: #c1d42d!important; 7853 } 7854 .flavor-tile--watermelon { 7855 background-color: #f67172!important; 7856 } 7857 .flavor-tile--detox { 7858 background-color: #7dcfc3!important; 7859 } 7860 .flavor-tile--tropical { 7861 background-color: #f99643!important; 7862 } 7863</style></div> 7864<div 7865 class="product-item__ratings" 7866 7867 > 7868<div itemscope itemtype="http://schema.org/Product"> 7869 <meta itemprop="name" content="Greens Blend Detox & Digest Clean Greens" /> 7870 <div data-bv-show="inline_rating" 7871 data-bv-product-id="1387431067722" 7872 data-bv-redirect-url="/products/super-greens-digest-green-bliss"></div> 7873 </div></div> 7874<div 7875 class="product-item__price text-size--regular equalize-white-space" 7876 7877 > 7878 <div class="remove-line-height-space"> 7879 7880 7881<div 7882 class="product-price " 7883 data-og-price 7884 data-og-price-scope="12432361881674" 7885 data-variant-id="12432361881674" 7886 data-variant-price="2849" 7887 data-variant-compare-at-price="0" 7888> 7889 7890 <!-- SUBSCRIPTION PRICE --> 7891 <div 7892 id="subscription-price" 7893 class="og-subscription-price" 7894 style="display:none" 7895 data-subscription-price-wrapper 7896 > 7897 7898 <span 7899 class="product-price--original " 7900 data-subscription-price 7901 data-og-sale-price 7902 > 7903 $28.49 7904 </span> 7905 7906 <del class="product-price--compare"> 7907
7908 <span data-subscription-compare-price> 7909 $28.49 7910 </span></del> 7911 7912 </div> 7913 7914 <!-- REGULAR PRICE --> 7915 <div 7916 id="regular-price" 7917 class="og-regular-price" 7918 style="display:block" 7919 data-regular-price-wrapper 7920 > 7921 7922 <span 7923 class="product-price--original " 7924 data-regular-price 7925 > 7926 $28.49 7927 </span></div> 7928 7929</div> 7930
7931<script> 7932(function() { 7933 var POLL_INTERVAL = 250; 7934 var MAX_POLL_ATTEMPTS = 80; 7935 7936 var MONEY_FORMAT = "${{amount}}"; 7937 var ISO_CODE = ""; 7938 7939 /** 7940 * AJAX variant switches replace price block markup via innerHTML 7941 * (see ProductVariants.renderProductUpdates in the theme JS), and 7942 * browsers never execute
7942<script> tags injected that way. That 7943 * means whichever script instance(s) executed on the real initial 7944 * page load are the ONLY ones that will ever run for the life of 7945 * this page â their own [data-og-price-scope] element can get 7946 * destroyed and replaced by a fresh one (for whatever variant is 7947 * now selected) without a new script ever picking it up. 7948 * 7949 * The fix: never hold a fixed VARIANT_ID. Resolve which scope 7950 * element to use fresh, every time, from whatever the currently 7951 * selected variant actually is â so a still-running instance 7952 * always finds and controls the current (possibly freshly 7953 * re-injected) scope element instead of a stale reference to one 7954 * that no longer exists. 7955 */ 7956 function getActiveVariantId() { 7957 var productVariants = getProductVariantsElement(); 7958 7959 if ( 7960 productVariants && 7961 productVariants.currentVariant && 7962 productVariants.currentVariant.id 7963 ) { 7964 return String(productVariants.currentVariant.id); 7965 } 7966 7967 return null; 7968 } 7969 7970 function getScope() { 7971 var variantId = getActiveVariantId(); 7972 7973 if (!variantId) { 7974 return null; 7975 } 7976 7977 return document.querySelector('[data-og-price-scope="' + variantId + '"]'); 7978 } 7979 7980 function scopedQuery(selector) { 7981 var scope = getScope(); 7982 return scope ? scope.querySelector(selector) : null; 7983 } 7984 7985 function getPriceWrapper() { 7986 return getScope(); 7987 } 7988 7989 function getProductVariantsElement() { 7990 return document.querySelector('product-variants'); 7991 } 7992 7993 function getOGOffer() { 7994 return document.getElementsByTagName('og-offer')[0]; 7995 } 7996 7997 /** 7998 * The single source of truth for whether the discounted price 7999 * should show: a direct, real-time read of whether 'subscribed' is 8000 * present on <og-offer> right now. No stored variable, no default 8001 * state, no syncing from any OG JS API â just whatever the DOM 8002 * actually says at the moment this is called. 8003 */ 8004 function isSubscribed() { 8005 var offer = getOGOffer(); 8006 return !!(offer && offer.hasAttribute('subscribed')); 8007 } 8008 8009 function getOptoutButton() { 8010 var offer = getOGOffer(); 8011 return offer ? offer.querySelector('og-optout-button') : null; 8012 } 8013 8014 /** 8015 * Guards resetToOneTimeOnLoad so it only ever acts once per page 8016 * load â it exists purely to actively select one-time purchase at 8017 * initialization (clicking the opt-out control just like a real 8018 * user would), not to fight a real subscribe selection made 8019 * afterward. 8020 */ 8021 var hasAttemptedInitialSelection = false; 8022 8023 /** 8024 * Actively selects one-time purchase on load by clicking the 8025 * opt-out control, once, the same way a real user click would. 8026 * Polls briefly in case the offer/buttons aren't in the DOM yet at 8027 * the moment this first runs. 8028 */ 8029 function selectOneTimeOnLoad(attempts) { 8030 attempts = attempts || 0; 8031 8032 if (hasAttemptedInitialSelection) { 8033 return; 8034 } 8035 8036 var optout = getOptoutButton(); 8037 8038 if (optout) { 8039 hasAttemptedInitialSelection = true; 8040 optout.click(); 8041 return; 8042 } 8043 8044 if (attempts < MAX_POLL_ATTEMPTS) { 8045 setTimeout(function() { 8046 selectOneTimeOnLoad(attempts + 1); 8047 }, POLL_INTERVAL); 8048 } 8049 } 8050 8051 /** 8052 * Cached purely so the DOM observer below can re-apply the offer's 8053 * visibility without re-running the whole price pipeline (which 8054 * itself mutates innerHTML and would otherwise retrigger the 8055 * observer in an infinite loop). The actual eligibility computation 8056 * still always comes fresh from updatePriceValues()/getIncentive() 8057 * inside applyPriceState() â this is just the last known result of 8058 * that computation, used only for the narrow display toggle. 8059 */ 8060 var currentVariantEligible = false; 8061 8062 function updateOfferEligibility(isEligible) { 8063 currentVariantEligible = isEligible; 8064 8065 var offerElement = getOGOffer(); 8066 8067 if (!offerElement) { 8068 return; 8069 } 8070 8071 offerElement.style.display = currentVariantEligible 8072 ? '' 8073 : 'none'; 8074 } 8075 8076 /** 8077 * Only re-applies the cached display state when the offer element 8078 * itself enters/leaves the DOM â it deliberately does NOT call 8079 * applyPriceState() here, since that function mutates innerHTML 8080 * elsewhere on the page, which would retrigger this childList/ 8081 * subtree observer and cause an infinite update loop. 8082 */ 8083 function bindOfferObserver() { 8084 if (!document.body) { 8085 return; 8086 } 8087 8088 var observer = new MutationObserver(function() { 8089 var offerElement = getOGOffer(); 8090
8091 if (!offerElement) { 8092 return; 8093 } 8094 8095 offerElement.style.display = currentVariantEligible 8096 ? '' 8097 : 'none'; 8098 }); 8099 8100 observer.observe(document.body, { 8101 childList: true, 8102 subtree: true 8103 }); 8104 } 8105 8106 /** 8107 * Watches specifically for the 'subscribed' attribute changing 8108 * anywhere in the document (i.e. on <og-offer>) and re-applies price 8109 * state whenever it does. This is the only trigger tied to 8110 * subscription selection â there is no separate stored state to 8111 * keep in sync. 8112 */ 8113 function bindSubscribedAttributeObserver() { 8114 if (!document.body) { 8115 return; 8116 } 8117 8118 var observer = new MutationObserver(function(mutations) { 8119 var relevant = mutations.some(function(m) { 8120 return m.type === 'attributes' && m.attributeName === 'subscribed'; 8121 }); 8122 8123 if (!relevant) { 8124 return; 8125 } 8126 8127 retryApplyPriceState(); 8128 }); 8129 8130 observer.observe(document.body, { 8131 subtree: true, 8132 attributes: true, 8133 attributeFilter: ['subscribed'] 8134 }); 8135 } 8136 8137 function getCurrentVariant() { 8138 var productVariants = getProductVariantsElement(); 8139 8140 if ( 8141 productVariants && 8142 productVariants.currentVariant 8143 ) { 8144 return productVariants.currentVariant; 8145 } 8146 8147 /** 8148 * Last-resort fallback only, for the case where product-variants 8149 * isn't available at all. getScope() can't help here since it 8150 * itself depends on productVariants.currentVariant â so this 8151 * grabs any price wrapper still in the DOM as a best-effort guess. 8152 */ 8153 var priceWrapper = document.querySelector('[data-og-price]'); 8154 8155 if (!priceWrapper) { 8156 return null; 8157 } 8158 8159 return { 8160 id: priceWrapper.getAttribute('data-variant-id'), 8161 price: Number(priceWrapper.getAttribute('data-variant-price')), 8162 compare_at_price: Number(priceWrapper.getAttribute('data-variant-compare-at-price')) || 0 8163 }; 8164 } 8165 8166 function formatMoney(cents) { 8167 cents = Math.round(Number(cents)); 8168 8169 if ( 8170 window.Shopify && 8171 typeof Shopify.formatMoney === 'function' 8172 ) { 8173 return Shopify.formatMoney(cents, MONEY_FORMAT) + ISO_CODE; 8174 } 8175 8176 return '$' + (cents / 100).toFixed(2) + ISO_CODE; 8177 } 8178 8179 function getIncentive(variantId) { 8180 try { 8181 if ( 8182 typeof OG === 'undefined' || 8183 !OG.store || 8184 typeof OG.store.getState !== 'function' 8185 ) { 8186 return null; 8187 } 8188 8189 var state = OG.store.getState(); 8190 var incentives = state && state.incentives; 8191 8192 if (!incentives) { 8193 return null; 8194 } 8195 8196 var productIncentives = 8197 incentives[variantId] || 8198 incentives[Number(variantId)]; 8199 8200 if (!productIncentives) { 8201 return null; 8202 } 8203 8204 var incentive = 8205 productIncentives.initial && productIncentives.initial[0] 8206 ? productIncentives.initial[0] 8207 : productIncentives.ongoing && productIncentives.ongoing[0] 8208 ? productIncentives.ongoing[0] 8209 : null; 8210 8211 if ( 8212 incentive && 8213 incentive.value 8214 ) { 8215 return incentive; 8216 } 8217 8218 return null; 8219 } 8220 catch(e) { 8221 console.log('[OG Price] getIncentive:', e.message); 8222 return null; 8223 } 8224 } 8225 8226 function calcDiscountedPrice( 8227 incentive, 8228 variantPrice 8229 ) { 8230 if (!incentive) { 8231 return null; 8232 } 8233 8234 var value = 8235 parseFloat(incentive.value); 8236 8237 if ( 8238 isNaN(value) || 8239 value <= 0 8240 ) { 8241 return null; 8242 } 8243 8244 var type = 8245 String(incentive.type || '').toLowerCase(); 8246 8247 if ( 8248 type === 'discount percent' || 8249 type === 'percentage' || 8250 type === 'percent' 8251 ) { 8252 return Math.ceil( 8253 variantPrice * (1 - value / 100) 8254 ); 8255 } 8256 if ( 8257 type === 'discount fixed' || 8258 type === 'fixed' || 8259 type === 'fixed_amount' 8260 ) { 8261 return Math.ceil( 8262 variantPrice - value * 100 8263 ); 8264 } 8265 8266 return null; 8267 } 8268 8269 function updatePriceWrapperData(variant) { 8270 var priceWrapper = getPriceWrapper(); 8271 8272 if ( 8273 !priceWrapper || 8274 !variant 8275 ) { 8276 return; 8277 } 8278 8279 priceWrapper.setAttribute( 8280 'data-variant-id', 8281 variant.id 8282 ); 8283 8284 priceWrapper.setAttribute( 8285 'data-variant-price', 8286 variant.price 8287 ); 8288 8289 priceWrapper.setAttribute( 8290 'data-variant-compare-at-price', 8291 variant.compare_at_price || 0 8292 ); 8293 } 8294 8295 function updatePriceValues() { 8296 var variant = getCurrentVariant(); 8297 8298 if ( 8299 !variant || 8300 !variant.id || 8301 !variant.price 8302 ) { 8303 return false;
8304 } 8305 8306 var incentive = 8307 getIncentive(variant.id); 8308 8309 if (!incentive) { 8310 return false; 8311 } 8312 8313 var discountedCents = 8314 calcDiscountedPrice( 8315 incentive, 8316 variant.price 8317 ); 8318 8319 if ( 8320 discountedCents === null || 8321 discountedCents >= variant.price 8322 ) { 8323 return false; 8324 } 8325 8326 var subscriptionPriceNode = 8327 scopedQuery('[data-subscription-price]'); 8328 8329 var subscriptionCompareNode = 8330 scopedQuery('[data-subscription-compare-price]'); 8331 8332 var subscriptionSavingNode = 8333 scopedQuery('[data-subscription-saving]'); 8334 8335 var regularPriceNode = 8336 scopedQuery('[data-regular-price]'); 8337 8338 var comparePriceNode = 8339 scopedQuery('[data-compare-price]'); 8340 8341 if (subscriptionPriceNode) { 8342 subscriptionPriceNode.innerHTML = 8343 formatMoney(discountedCents); 8344 } 8345 8346 if (subscriptionCompareNode) { 8347 subscriptionCompareNode.innerHTML = 8348 formatMoney(variant.price); 8349 } 8350 8351 if (subscriptionSavingNode) { 8352 subscriptionSavingNode.innerHTML = 8353 "you save [amount]" 8354 .replace( 8355 '[amount]', 8356 formatMoney(variant.price - discountedCents) 8357 ); 8358 } 8359 8360 if (regularPriceNode) { 8361 regularPriceNode.innerHTML = 8362 formatMoney(variant.price); 8363 } 8364 8365 if ( 8366 comparePriceNode && 8367 variant.compare_at_price && 8368 variant.compare_at_price > variant.price 8369 ) { 8370 comparePriceNode.innerHTML = 8371 formatMoney(variant.compare_at_price); 8372 } 8373 8374 return true; 8375 } 8376 8377 function showSubscriptionPrice() { 8378 var regularPrice = 8379 scopedQuery('[data-regular-price-wrapper]'); 8380 8381 var subscriptionPrice = 8382 scopedQuery('[data-subscription-price-wrapper]'); 8383 8384 if (regularPrice) { 8385 regularPrice.style.display = 'none'; 8386 } 8387 8388 if (subscriptionPrice) { 8389 subscriptionPrice.style.display = 'block'; 8390 } 8391 } 8392 8393 function showRegularPrice() { 8394 var regularPrice = 8395 scopedQuery('[data-regular-price-wrapper]'); 8396 8397 var subscriptionPrice = 8398 scopedQuery('[data-subscription-price-wrapper]'); 8399 8400 if (regularPrice) { 8401 regularPrice.style.display = 'block'; 8402 } 8403 8404 if (subscriptionPrice) { 8405 subscriptionPrice.style.display = 'none'; 8406 } 8407 } 8408 8409 function displayPriceInOffer() { 8410 var offerElement = getOGOffer(); 8411 8412 if (!offerElement) { 8413 return; 8414 } 8415 8416 var optedInLabel = 8417 offerElement.querySelector( 8418 "og-optin-button span[id='og-label']" 8419 ); 8420 8421 var optedOutLabel = 8422 offerElement.querySelector( 8423 "og-optout-button span[id='og-label']" 8424 ); 8425 8426 var subscriptionPrice = 8427 scopedQuery('[data-subscription-price]'); 8428 8429 var regularPrice = 8430 scopedQuery('[data-regular-price]'); 8431 8432 if ( 8433 !optedInLabel || 8434 !optedOutLabel || 8435 !subscriptionPrice || 8436 !regularPrice 8437 ) { 8438 return; 8439 } 8440 8441 optedInLabel.innerHTML = 8442 '<span>' + 8443 subscriptionPrice.innerHTML + 8444 '</span> - Subscribe & Save'; 8445 8446 optedOutLabel.innerHTML = 8447 '<span>' + 8448 regularPrice.innerHTML + 8449 '</span> - One-Time Purchase'; 8450 } 8451 8452 function applyPriceState() { 8453 var hasSubscriptionPrice = 8454 updatePriceValues(); 8455 8456 /** 8457 * Eligible variant = show <og-offer> 8458 * Ineligible variant = hide <og-offer> 8459 */ 8460 updateOfferEligibility(hasSubscriptionPrice); 8461 8462 if ( 8463 hasSubscriptionPrice && 8464 isSubscribed() 8465 ) { 8466 showSubscriptionPrice(); 8467 displayPriceInOffer(); 8468 return true; 8469 } 8470 8471 showRegularPrice(); 8472 displayPriceInOffer(); 8473 8474 return hasSubscriptionPrice; 8475 } 8476 8477 function retryApplyPriceState() { 8478 var attempts = 0; 8479 8480 function run() { 8481 attempts++; 8482 8483 if (applyPriceState()) { 8484 return; 8485 } 8486 8487 if (attempts < MAX_POLL_ATTEMPTS) { 8488 setTimeout(run, POLL_INTERVAL); 8489 } 8490 } 8491 8492 run(); 8493 } 8494 8495 function handleVariantChange() { 8496 setTimeout(function() { 8497 var variant = 8498 getCurrentVariant(); 8499 8500 updatePriceWrapperData(variant); 8501 8502 /** 8503 * If not currently subscribed, re-affirm one-time purchase with 8504 * a real click on the new variant/product context â the same 8505 * kind of genuine interaction that fixed the initial-load case. 8506 * Only does this when NOT subscribed, so it never fights a real 8507 * subscribe selection the user already made before switching. 8508 */ 8509 if (!isSubscribed()) { 8510 var optout = getOptoutButton(); 8511 if (optout) { 8512 optout.click(); 8513 } 8514 } 8515 8516 /** 8517 * Retry because OG incentives may update after variant change. 8518 * <og-offer> will only stay visible if this variant has a valid 8519 * subscription price, and its price only shows the discount if 8520 * 'subscribed' is present on it right now. 8521 */ 8522 retryApplyPriceState(); 8523 }, 200); 8524 } 8525 8526 function bindVariantChangeEvent() { 8527 var productVariants = 8528 getProductVariantsElement(); 8529 8530 if (!productVariants) { 8531 return; 8532 } 8533 8534 productVariants.addEventListener(
8535 'VARIANT_CHANGE', 8536 handleVariantChange 8537 ); 8538 } 8539 8540 function initializeOGPricing() { 8541 if (typeof OG === 'undefined') { 8542 setTimeout(initializeOGPricing, 200); 8543 return; 8544 } 8545 8546 if ( 8547 typeof OG.isReady === 'function' && 8548 !OG.isReady() 8549 ) { 8550 setTimeout(initializeOGPricing, 150); 8551 return; 8552 } 8553 8554 retryApplyPriceState(); 8555 } 8556 8557 function initOGPricing() { 8558 updateOfferEligibility(false); 8559 8560 bindOfferObserver(); 8561 bindSubscribedAttributeObserver(); 8562 bindVariantChangeEvent(); 8563 initializeOGPricing(); 8564 selectOneTimeOnLoad(); 8565 8566 // Force correct initial display after OG has time to load 8567 setTimeout(function() { 8568 retryApplyPriceState(); 8569 }, 500); 8570 } 8571 8572 if (document.readyState === 'loading') { 8573 document.addEventListener('DOMContentLoaded', initOGPricing); 8574 } else { 8575 initOGPricing(); 8576 } 8577})(); 8578</script>
8578</div> 8579 </div> 8580 8581</div><div 8582 class="product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center" 8583 style="padding-top: 0;" 8584 > 8585 <div 8586 class="product-item__quick-buy" 8587 8588 ><quick-view-product class="quick-add-to-cart" data-content-id="cta_quick_add_greens_blend_detox_&_digest_clean_greens" > 8589 <a href="/products/super-greens-digest-green-bliss" class="button button--solid button--regular button--fullwidth button--loader" data-js-product-add-to-cart data-id="1387431067722" title="Open quick view modal" > 8590 <span class="button__text ">Buy now</span> 8591 <span class="button__preloader"> 8592 <svg class="button__preloader-element" viewBox="25 25 50 50"><circle cx="50" cy="50" r="20" fill="none" stroke-width="4"/></svg> 8593 </span> 8594 </a> 8595 </quick-view-product></div> 8596</div></div> 8597<div id="product-item-1387431592010" class="product-item card" data-js-product-item><a href="/collections/fresh-picks/products/fizzygreentablets-energy-tropical" 8598 class="card__image product-item__image 8599 8600 product-item__image--has-secondary " 8601 style="padding-top:100.0%" 8602 data-content-id="product_image_fizzy_green_tablets_energy_tropical" 8603 > 8604<figure 8605 class="lazy-image product-item__image-figure product-item__image-figure--primary lazy-image--animation 8606 lazy-image--background 8607 8608 " 8609 8610 data-ratio="1.0" style="padding-top: 100.0%" 8611 8612 data-crop="false" 8613> 8614 8615 <img 8616 src="//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?v=1768924572&width=480" alt="Fizzy Green Tablets Energy Tropical" 8617 srcset="//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=240&v=1768924572&width=240 240w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=360&v=1768924572&width=360 360w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=420&v=1768924572&width=420 420w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=480&v=1768924572&width=480 480w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=640&v=1768924572&width=640 640w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=840&v=1768924572&width=840 840w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=1080&v=1768924572&width=1080 1080w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=1280&v=1768924572&width=1280 1280w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=1540&v=1768924572&width=1540 1540w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Front.png?crop=center&height=1860&v=1768924572&width=1860 1860w" 8618 class="img" 8619 width="2000" 8620 height="2000" 8621 data-ratio="1.0" 8622 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 8623 loading="lazy" 8624 8625 8626 onload="this.parentNode.classList.add('lazyloaded')" 8627 /> 8628 8629</figure> 8630<figure 8631 class="lazy-image product-item__image-figure product-item__image-figure--secondary lazy-image--animation 8632 lazy-image--background 8633 8634 " 8635 8636 data-ratio="1.0" style="padding-top: 100.0%" 8637 8638 data-crop="false" 8639> 8640 8641 <img 8642 src="//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?v=1768924572&width=480" alt="Fizzy Green Tablets Energy Tropical" 8643 srcset="//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=240&v=1768924572&width=240 240w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=360&v=1768924572&width=360 360w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=420&v=1768924572&width=420 420w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=480&v=1768924572&width=480 480w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=640&v=1768924572&width=640 640w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=840&v=1768924572&width=840 840w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=1080&v=1768924572&width=1080 1080w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=1280&v=1768924572&width=1280 1280w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=1540&v=1768924572&width=1540 1540w,//amazinggrass.com/cdn/shop/files/US_FizzyTablets_Energy_10ct_Tropical_6076772-Open.png?crop=center&height=1860&v=1768924572&width=1860 1860w" 8644 class="img" 8645 width="2000" 8646 height="2000" 8647 data-ratio="1.0" 8648 sizes="(max-width: 474px) calc(100vw - 30px), (max-width: 767px) calc((100vw - 50px) / 2), (max-width: 1023px) calc((100vw - 100px) / 3), (max-width: 1520px) calc((100vw - 120px) / 4), 360px" 8649 loading="lazy" 8650 8651 8652 onload="this.parentNode.classList.add('lazyloaded')" 8653 /> 8654 8655</figure></a> 8656 8657 <div class="card__text product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center"> 8658<a class="product-item__title h4" style="margin-bottom: .5rem;" 8659 href="/products/fizzygreentablets-energy-tropical" title="Fizzy Green Tablets Energy Tropical" > 8660Fizzy Green Tablets 8661</a> 8662 8663<div> 8664 8665 8666<p class="flavor-tile flavor-tile--tropical">Tropical</p> 8667 8668 8669 8670 8671<style> 8672 .flavor-tile { 8673 background-color: #008540; 8674 border-radius: 6px; 8675 padding: 5px 15px; 8676 color: white; 8677 text-transform: uppercase; 8678 font-weight: 900!important; 8679 text-wrap: nowrap; 8680 margin-bottom: 0; 8681 } 8682 .flavor-tile--sweet-berry { 8683 background-color: #DE4668!important; 8684 } 8685 .flavor-tile--summer-berry { 8686 background-color: #8E2D4E!important; 8687 } 8688 .flavor-tile--chocolate { 8689 background-color: #864322!important; 8690 } 8691 .flavor-tile--pineapple { 8692 background-color: #FFCF00!important; 8693 } 8694 .flavor-tile--peach-hibiscus { 8695 background-color: #ECB4D9!important; 8696 } 8697 .flavor-tile--tropical-lime { 8698 background-color: #c1d42d!important; 8699 } 8700 .flavor-tile--watermelon { 8701 background-color: #f67172!important; 8702 } 8703 .flavor-tile--detox { 8704 background-color: #7dcfc3!important; 8705 } 8706 .flavor-tile--tropical { 8707 background-color: #f99643!important; 8708 } 8709</style></div> 8710<div 8711 class="product-item__ratings" 8712 8713 > 8714<div itemscope itemtype="http://schema.org/Product"> 8715 <meta itemprop="name" content="Fizzy Green Tablets Energy Tropical" /> 8716 <div data-bv-show="inline_rating" 8717 data-bv-product-id="1387431592010" 8718 data-bv-redirect-url="/products/fizzygreentablets-energy-tropical"></div> 8719 </div></div> 8720<div 8721 class="product-item__price text-size--regular equalize-white-space" 8722 8723 > 8724 <div class="remove-line-height-space"> 8725 8726 8727<div 8728 class="product-price " 8729 data-og-price 8730 data-og-price-scope="12566434807882" 8731 data-variant-id="12566434807882" 8732 data-variant-price="5399" 8733 data-variant-compare-at-price="0" 8734> 8735 8736 <!-- SUBSCRIPTION PRICE --> 8737 <div 8738 id="subscription-price" 8739 class="og-subscription-price" 8740 style="display:none" 8741 data-subscription-price-wrapper 8742 > 8743 8744 <span 8745 class="product-price--original " 8746 data-subscription-price 8747 data-og-sale-price 8748 > 8749 $53.99 8750 </span> 8751 8752 <del class="product-price--compare"> 8753
8754 <span data-subscription-compare-price> 8755 $53.99 8756 </span></del> 8757 8758 </div> 8759 8760 <!-- REGULAR PRICE --> 8761 <div 8762 id="regular-price" 8763 class="og-regular-price" 8764 style="display:block" 8765 data-regular-price-wrapper 8766 > 8767 8768 <span 8769 class="product-price--original " 8770 data-regular-price 8771 > 8772 $53.99 8773 </span></div> 8774 8775</div> 8776
8777<script> 8778(function() { 8779 var POLL_INTERVAL = 250; 8780 var MAX_POLL_ATTEMPTS = 80; 8781 8782 var MONEY_FORMAT = "${{amount}}"; 8783 var ISO_CODE = ""; 8784 8785 /** 8786 * AJAX variant switches replace price block markup via innerHTML 8787 * (see ProductVariants.renderProductUpdates in the theme JS), and 8788 * browsers never execute
8788<script> tags injected that way. That 8789 * means whichever script instance(s) executed on the real initial 8790 * page load are the ONLY ones that will ever run for the life of 8791 * this page â their own [data-og-price-scope] element can get 8792 * destroyed and replaced by a fresh one (for whatever variant is 8793 * now selected) without a new script ever picking it up. 8794 * 8795 * The fix: never hold a fixed VARIANT_ID. Resolve which scope 8796 * element to use fresh, every time, from whatever the currently 8797 * selected variant actually is â so a still-running instance 8798 * always finds and controls the current (possibly freshly 8799 * re-injected) scope element instead of a stale reference to one 8800 * that no longer exists. 8801 */ 8802 function getActiveVariantId() { 8803 var productVariants = getProductVariantsElement(); 8804 8805 if ( 8806 productVariants && 8807 productVariants.currentVariant && 8808 productVariants.currentVariant.id 8809 ) { 8810 return String(productVariants.currentVariant.id); 8811 } 8812 8813 return null; 8814 } 8815 8816 function getScope() { 8817 var variantId = getActiveVariantId(); 8818 8819 if (!variantId) { 8820 return null; 8821 } 8822 8823 return document.querySelector('[data-og-price-scope="' + variantId + '"]'); 8824 } 8825 8826 function scopedQuery(selector) { 8827 var scope = getScope(); 8828 return scope ? scope.querySelector(selector) : null; 8829 } 8830 8831 function getPriceWrapper() { 8832 return getScope(); 8833 } 8834 8835 function getProductVariantsElement() { 8836 return document.querySelector('product-variants'); 8837 } 8838 8839 function getOGOffer() { 8840 return document.getElementsByTagName('og-offer')[0]; 8841 } 8842 8843 /** 8844 * The single source of truth for whether the discounted price 8845 * should show: a direct, real-time read of whether 'subscribed' is 8846 * present on <og-offer> right now. No stored variable, no default 8847 * state, no syncing from any OG JS API â just whatever the DOM 8848 * actually says at the moment this is called. 8849 */ 8850 function isSubscribed() { 8851 var offer = getOGOffer(); 8852 return !!(offer && offer.hasAttribute('subscribed')); 8853 } 8854 8855 function getOptoutButton() { 8856 var offer = getOGOffer(); 8857 return offer ? offer.querySelector('og-optout-button') : null; 8858 } 8859 8860 /** 8861 * Guards resetToOneTimeOnLoad so it only ever acts once per page 8862 * load â it exists purely to actively select one-time purchase at 8863 * initialization (clicking the opt-out control just like a real 8864 * user would), not to fight a real subscribe selection made 8865 * afterward. 8866 */ 8867 var hasAttemptedInitialSelection = false; 8868 8869 /** 8870 * Actively selects one-time purchase on load by clicking the 8871 * opt-out control, once, the same way a real user click would. 8872 * Polls briefly in case the offer/buttons aren't in the DOM yet at 8873 * the moment this first runs. 8874 */ 8875 function selectOneTimeOnLoad(attempts) { 8876 attempts = attempts || 0; 8877 8878 if (hasAttemptedInitialSelection) { 8879 return; 8880 } 8881 8882 var optout = getOptoutButton(); 8883 8884 if (optout) { 8885 hasAttemptedInitialSelection = true; 8886 optout.click(); 8887 return; 8888 } 8889 8890 if (attempts < MAX_POLL_ATTEMPTS) { 8891 setTimeout(function() { 8892 selectOneTimeOnLoad(attempts + 1); 8893 }, POLL_INTERVAL); 8894 } 8895 } 8896 8897 /** 8898 * Cached purely so the DOM observer below can re-apply the offer's 8899 * visibility without re-running the whole price pipeline (which 8900 * itself mutates innerHTML and would otherwise retrigger the 8901 * observer in an infinite loop). The actual eligibility computation 8902 * still always comes fresh from updatePriceValues()/getIncentive() 8903 * inside applyPriceState() â this is just the last known result of 8904 * that computation, used only for the narrow display toggle. 8905 */ 8906 var currentVariantEligible = false; 8907 8908 function updateOfferEligibility(isEligible) { 8909 currentVariantEligible = isEligible; 8910 8911 var offerElement = getOGOffer(); 8912 8913 if (!offerElement) { 8914 return; 8915 } 8916 8917 offerElement.style.display = currentVariantEligible 8918 ? '' 8919 : 'none'; 8920 } 8921 8922 /** 8923 * Only re-applies the cached display state when the offer element 8924 * itself enters/leaves the DOM â it deliberately does NOT call 8925 * applyPriceState() here, since that function mutates innerHTML 8926 * elsewhere on the page, which would retrigger this childList/ 8927 * subtree observer and cause an infinite update loop. 8928 */ 8929 function bindOfferObserver() { 8930 if (!document.body) { 8931 return; 8932 } 8933 8934 var observer = new MutationObserver(function() { 8935 var offerElement = getOGOffer(); 8936
8937 if (!offerElement) { 8938 return; 8939 } 8940 8941 offerElement.style.display = currentVariantEligible 8942 ? '' 8943 : 'none'; 8944 }); 8945 8946 observer.observe(document.body, { 8947 childList: true, 8948 subtree: true 8949 }); 8950 } 8951 8952 /** 8953 * Watches specifically for the 'subscribed' attribute changing 8954 * anywhere in the document (i.e. on <og-offer>) and re-applies price 8955 * state whenever it does. This is the only trigger tied to 8956 * subscription selection â there is no separate stored state to 8957 * keep in sync. 8958 */ 8959 function bindSubscribedAttributeObserver() { 8960 if (!document.body) { 8961 return; 8962 } 8963 8964 var observer = new MutationObserver(function(mutations) { 8965 var relevant = mutations.some(function(m) { 8966 return m.type === 'attributes' && m.attributeName === 'subscribed'; 8967 }); 8968 8969 if (!relevant) { 8970 return; 8971 } 8972 8973 retryApplyPriceState(); 8974 }); 8975 8976 observer.observe(document.body, { 8977 subtree: true, 8978 attributes: true, 8979 attributeFilter: ['subscribed'] 8980 }); 8981 } 8982 8983 function getCurrentVariant() { 8984 var productVariants = getProductVariantsElement(); 8985 8986 if ( 8987 productVariants && 8988 productVariants.currentVariant 8989 ) { 8990 return productVariants.currentVariant; 8991 } 8992 8993 /** 8994 * Last-resort fallback only, for the case where product-variants 8995 * isn't available at all. getScope() can't help here since it 8996 * itself depends on productVariants.currentVariant â so this 8997 * grabs any price wrapper still in the DOM as a best-effort guess. 8998 */ 8999 var priceWrapper = document.querySelector('[data-og-price]'); 9000 9001 if (!priceWrapper) { 9002 return null; 9003 } 9004 9005 return { 9006 id: priceWrapper.getAttribute('data-variant-id'), 9007 price: Number(priceWrapper.getAttribute('data-variant-price')), 9008 compare_at_price: Number(priceWrapper.getAttribute('data-variant-compare-at-price')) || 0 9009 }; 9010 } 9011 9012 function formatMoney(cents) { 9013 cents = Math.round(Number(cents)); 9014 9015 if ( 9016 window.Shopify && 9017 typeof Shopify.formatMoney === 'function' 9018 ) { 9019 return Shopify.formatMoney(cents, MONEY_FORMAT) + ISO_CODE; 9020 } 9021 9022 return '$' + (cents / 100).toFixed(2) + ISO_CODE; 9023 } 9024 9025 function getIncentive(variantId) { 9026 try { 9027 if ( 9028 typeof OG === 'undefined' || 9029 !OG.store || 9030 typeof OG.store.getState !== 'function' 9031 ) { 9032 return null; 9033 } 9034 9035 var state = OG.store.getState(); 9036 var incentives = state && state.incentives; 9037 9038 if (!incentives) { 9039 return null; 9040 } 9041 9042 var productIncentives = 9043 incentives[variantId] || 9044 incentives[Number(variantId)]; 9045 9046 if (!productIncentives) { 9047 return null; 9048 } 9049 9050 var incentive = 9051 productIncentives.initial && productIncentives.initial[0] 9052 ? productIncentives.initial[0] 9053 : productIncentives.ongoing && productIncentives.ongoing[0] 9054 ? productIncentives.ongoing[0] 9055 : null; 9056 9057 if ( 9058 incentive && 9059 incentive.value 9060 ) { 9061 return incentive; 9062 } 9063 9064 return null; 9065 } 9066 catch(e) { 9067 console.log('[OG Price] getIncentive:', e.message); 9068 return null; 9069 } 9070 } 9071 9072 function calcDiscountedPrice( 9073 incentive, 9074 variantPrice 9075 ) { 9076 if (!incentive) { 9077 return null; 9078 } 9079 9080 var value = 9081 parseFloat(incentive.value); 9082 9083 if ( 9084 isNaN(value) || 9085 value <= 0 9086 ) { 9087 return null; 9088 } 9089 9090 var type = 9091 String(incentive.type || '').toLowerCase(); 9092 9093 if ( 9094 type === 'discount percent' || 9095 type === 'percentage' || 9096 type === 'percent' 9097 ) { 9098 return Math.ceil( 9099 variantPrice * (1 - value / 100) 9100 ); 9101 } 9102 if ( 9103 type === 'discount fixed' || 9104 type === 'fixed' || 9105 type === 'fixed_amount' 9106 ) { 9107 return Math.ceil( 9108 variantPrice - value * 100 9109 ); 9110 } 9111 9112 return null; 9113 } 9114 9115 function updatePriceWrapperData(variant) { 9116 var priceWrapper = getPriceWrapper(); 9117 9118 if ( 9119 !priceWrapper || 9120 !variant 9121 ) { 9122 return; 9123 } 9124 9125 priceWrapper.setAttribute( 9126 'data-variant-id', 9127 variant.id 9128 ); 9129 9130 priceWrapper.setAttribute( 9131 'data-variant-price', 9132 variant.price 9133 ); 9134 9135 priceWrapper.setAttribute( 9136 'data-variant-compare-at-price', 9137 variant.compare_at_price || 0 9138 ); 9139 } 9140 9141 function updatePriceValues() { 9142 var variant = getCurrentVariant(); 9143 9144 if ( 9145 !variant || 9146 !variant.id || 9147 !variant.price 9148 ) { 9149 return false;
9150 } 9151 9152 var incentive = 9153 getIncentive(variant.id); 9154 9155 if (!incentive) { 9156 return false; 9157 } 9158 9159 var discountedCents = 9160 calcDiscountedPrice( 9161 incentive, 9162 variant.price 9163 ); 9164 9165 if ( 9166 discountedCents === null || 9167 discountedCents >= variant.price 9168 ) { 9169 return false; 9170 } 9171 9172 var subscriptionPriceNode = 9173 scopedQuery('[data-subscription-price]'); 9174 9175 var subscriptionCompareNode = 9176 scopedQuery('[data-subscription-compare-price]'); 9177 9178 var subscriptionSavingNode = 9179 scopedQuery('[data-subscription-saving]'); 9180 9181 var regularPriceNode = 9182 scopedQuery('[data-regular-price]'); 9183 9184 var comparePriceNode = 9185 scopedQuery('[data-compare-price]'); 9186 9187 if (subscriptionPriceNode) { 9188 subscriptionPriceNode.innerHTML = 9189 formatMoney(discountedCents); 9190 } 9191 9192 if (subscriptionCompareNode) { 9193 subscriptionCompareNode.innerHTML = 9194 formatMoney(variant.price); 9195 } 9196 9197 if (subscriptionSavingNode) { 9198 subscriptionSavingNode.innerHTML = 9199 "you save [amount]" 9200 .replace( 9201 '[amount]', 9202 formatMoney(variant.price - discountedCents) 9203 ); 9204 } 9205 9206 if (regularPriceNode) { 9207 regularPriceNode.innerHTML = 9208 formatMoney(variant.price); 9209 } 9210 9211 if ( 9212 comparePriceNode && 9213 variant.compare_at_price && 9214 variant.compare_at_price > variant.price 9215 ) { 9216 comparePriceNode.innerHTML = 9217 formatMoney(variant.compare_at_price); 9218 } 9219 9220 return true; 9221 } 9222 9223 function showSubscriptionPrice() { 9224 var regularPrice = 9225 scopedQuery('[data-regular-price-wrapper]'); 9226 9227 var subscriptionPrice = 9228 scopedQuery('[data-subscription-price-wrapper]'); 9229 9230 if (regularPrice) { 9231 regularPrice.style.display = 'none'; 9232 } 9233 9234 if (subscriptionPrice) { 9235 subscriptionPrice.style.display = 'block'; 9236 } 9237 } 9238 9239 function showRegularPrice() { 9240 var regularPrice = 9241 scopedQuery('[data-regular-price-wrapper]'); 9242 9243 var subscriptionPrice = 9244 scopedQuery('[data-subscription-price-wrapper]'); 9245 9246 if (regularPrice) { 9247 regularPrice.style.display = 'block'; 9248 } 9249 9250 if (subscriptionPrice) { 9251 subscriptionPrice.style.display = 'none'; 9252 } 9253 } 9254 9255 function displayPriceInOffer() { 9256 var offerElement = getOGOffer(); 9257 9258 if (!offerElement) { 9259 return; 9260 } 9261 9262 var optedInLabel = 9263 offerElement.querySelector( 9264 "og-optin-button span[id='og-label']" 9265 ); 9266 9267 var optedOutLabel = 9268 offerElement.querySelector( 9269 "og-optout-button span[id='og-label']" 9270 ); 9271 9272 var subscriptionPrice = 9273 scopedQuery('[data-subscription-price]'); 9274 9275 var regularPrice = 9276 scopedQuery('[data-regular-price]'); 9277 9278 if ( 9279 !optedInLabel || 9280 !optedOutLabel || 9281 !subscriptionPrice || 9282 !regularPrice 9283 ) { 9284 return; 9285 } 9286 9287 optedInLabel.innerHTML = 9288 '<span>' + 9289 subscriptionPrice.innerHTML + 9290 '</span> - Subscribe & Save'; 9291 9292 optedOutLabel.innerHTML = 9293 '<span>' + 9294 regularPrice.innerHTML + 9295 '</span> - One-Time Purchase'; 9296 } 9297 9298 function applyPriceState() { 9299 var hasSubscriptionPrice = 9300 updatePriceValues(); 9301 9302 /** 9303 * Eligible variant = show <og-offer> 9304 * Ineligible variant = hide <og-offer> 9305 */ 9306 updateOfferEligibility(hasSubscriptionPrice); 9307 9308 if ( 9309 hasSubscriptionPrice && 9310 isSubscribed() 9311 ) { 9312 showSubscriptionPrice(); 9313 displayPriceInOffer(); 9314 return true; 9315 } 9316 9317 showRegularPrice(); 9318 displayPriceInOffer(); 9319 9320 return hasSubscriptionPrice; 9321 } 9322 9323 function retryApplyPriceState() { 9324 var attempts = 0; 9325 9326 function run() { 9327 attempts++; 9328 9329 if (applyPriceState()) { 9330 return; 9331 } 9332 9333 if (attempts < MAX_POLL_ATTEMPTS) { 9334 setTimeout(run, POLL_INTERVAL); 9335 } 9336 } 9337 9338 run(); 9339 } 9340 9341 function handleVariantChange() { 9342 setTimeout(function() { 9343 var variant = 9344 getCurrentVariant(); 9345 9346 updatePriceWrapperData(variant); 9347 9348 /** 9349 * If not currently subscribed, re-affirm one-time purchase with 9350 * a real click on the new variant/product context â the same 9351 * kind of genuine interaction that fixed the initial-load case. 9352 * Only does this when NOT subscribed, so it never fights a real 9353 * subscribe selection the user already made before switching. 9354 */ 9355 if (!isSubscribed()) { 9356 var optout = getOptoutButton(); 9357 if (optout) { 9358 optout.click(); 9359 } 9360 } 9361 9362 /** 9363 * Retry because OG incentives may update after variant change. 9364 * <og-offer> will only stay visible if this variant has a valid 9365 * subscription price, and its price only shows the discount if 9366 * 'subscribed' is present on it right now. 9367 */ 9368 retryApplyPriceState(); 9369 }, 200); 9370 } 9371 9372 function bindVariantChangeEvent() { 9373 var productVariants = 9374 getProductVariantsElement(); 9375 9376 if (!productVariants) { 9377 return; 9378 } 9379 9380 productVariants.addEventListener(
9381 'VARIANT_CHANGE', 9382 handleVariantChange 9383 ); 9384 } 9385 9386 function initializeOGPricing() { 9387 if (typeof OG === 'undefined') { 9388 setTimeout(initializeOGPricing, 200); 9389 return; 9390 } 9391 9392 if ( 9393 typeof OG.isReady === 'function' && 9394 !OG.isReady() 9395 ) { 9396 setTimeout(initializeOGPricing, 150); 9397 return; 9398 } 9399 9400 retryApplyPriceState(); 9401 } 9402 9403 function initOGPricing() { 9404 updateOfferEligibility(false); 9405 9406 bindOfferObserver(); 9407 bindSubscribedAttributeObserver(); 9408 bindVariantChangeEvent(); 9409 initializeOGPricing(); 9410 selectOneTimeOnLoad(); 9411 9412 // Force correct initial display after OG has time to load 9413 setTimeout(function() { 9414 retryApplyPriceState(); 9415 }, 500); 9416 } 9417 9418 if (document.readyState === 'loading') { 9419 document.addEventListener('DOMContentLoaded', initOGPricing); 9420 } else { 9421 initOGPricing(); 9422 } 9423})(); 9424</script>
9424</div> 9425 </div> 9426 9427</div><div 9428 class="product-item__text gutter--regular spacing--xlarge remove-empty-space text-align--center" 9429 style="padding-top: 0;" 9430 > 9431 <div 9432 class="product-item__quick-buy" 9433 9434 ><quick-view-product class="quick-add-to-cart" data-content-id="cta_quick_add_fizzy_green_tablets_energy_tropical" > 9435 <a href="/products/fizzygreentablets-energy-tropical" class="button button--solid button--regular button--fullwidth button--loader" data-js-product-add-to-cart data-id="1387431592010" title="Open quick view modal" > 9436 <span class="button__text ">Buy now</span> 9437 <span class="button__preloader"> 9438 <svg class="button__preloader-element" viewBox="25 25 50 50"><circle cx="50" cy="50" r="20" fill="none" stroke-width="4"/></svg> 9439 </span> 9440 </a> 9441 </quick-view-product></div> 9442</div></div></div></css-slider></div></div></collection-tabs> 9443 9444</div> 9445 9446<style> 9447 9448 #product-grid-template--25765837963629__featured-collection .product-item {--color-background-cards: #ffffff;}#product-grid-template--25765837963629__featured-collection .product-item .button { 9449 --color-text-cards: #00491f;--color-foreground-cards: #ffffff; 9450 }#shopify-section-template--24115206357357__featured-collection .css-slider-navigation-container { 9451 justify-content: space-between; 9452 background-color: #dbf3c3; 9453 border-radius: 71px; 9454} 9455 9456</style><style data-shopify> 9457 #shopify-section-template--25765837963629__featured-collection { 9458 background-color: #ffffff; 9459 } 9460 </style> 9461<style> #shopify-section-template--25765837963629__featured-collection .product-item__title {text-wrap: nowrap;} #shopify-section-template--25765837963629__featured-collection .bv_numReviews_component_container .bv_text, #shopify-section-template--25765837963629__featured-collection .bv_averageRating_component_container .bv_text {font-size: 0.8rem !important;} #shopify-section-template--25765837963629__featured-collection .container--large .css-slider-navigation-container {justify-content: space-between; background-color: #dbf3c3; border-radius: 71px;} </style></div><div id="shopify-section-template--25765837963629__custom_liquid_44dQqk" class="shopify-section"><div class="container container--fullwidth "> 9462<div class="subscribe-banner-text" style="padding: 10%; max-width: 60%;"> 9463<h1>Save 20%</h1> 9464<h2>WHEN YOU SUBSCRIBE TODAY!</h2> 9465 9466<p>Never run out. Delivered on your schedule.</p> 9467<a href="https://amazinggrass.com/collections/all-products" class="button button--large button--solid" data-content-id="cta_shop_now_subscribe 9468"> 9469 SHOP NOW 9470 </a> 9471<a href="https://amazinggrass.com/pages/subscribe" style="text-decoration: underline; margin-left: 10px;" data-content-id="cta_shop_now_subscribe 9472"> 9473 Learn More 9474 </a> 9475</div> 9476</div> 9477 9478<style> #shopify-section-template--25765837963629__custom_liquid_44dQqk {background-image: url("https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_28.jpg?v=1781107449"); background-size: cover; background-position: top; min-height: 600px;} @media screen and (max-width: 767px) {#shopify-section-template--25765837963629__custom_liquid_44dQqk {background-image: url("https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_29.jpg?v=1781107448"); min-height: 600px; text-align: center; } #shopify-section-template--25765837963629__custom_liquid_44dQqk h2 {line-height: 80%; } #shopify-section-template--25765837963629__custom_liquid_44dQqk .subscribe-banner-text {max-width: unset !important; }} </style></div><div id="shopify-section-template--25765837963629__custom_liquid_ydMQbT" class="shopify-section"><div class="container container--vertical-space container--fullwidth "> 9479<div class="section-heading section-heading--center gutter-bottom--page"><div class="section-heading__text remove-empty-space"><h2 class="section-heading__title h4">JUST SPROUTED</h2></div></div><style> 9480 9481 .flavor-card-container { 9482 display: flex; 9483 flex-wrap: wrap; 9484 justify-content: center; 9485 } 9486 9487 .flavor-card { 9488 position: relative; 9489 background: #fff; 9490 border-radius: 50px; 9491 display: flex; 9492 align-items: center; 9493 justify-content: center; 9494 overflow: hidden; 9495 flex-direction: column; 9496 margin: 1rem; 9497 padding: 1rem; 9498 height: 340px; 9499 width: 340px; 9500 color: #8E2D4E; 9501z-index:55; 9502 } 9503 9504 .main-img { 9505 width: 220px; 9506 height: auto; 9507 transition: transform 0.4s ease; 9508 z-index: 1; 9509 } 9510 9511 .flavor-card:hover .main-img { 9512 transform: scale(1.07); 9513 } 9514 9515 .decorative-img { 9516 position: absolute; 9517 width: 100px; 9518 height: 100px; 9519 transition: transform 0.5s ease; 9520 } 9521 9522 .decorative-1 { 9523 top: 10px; 9524 left: 50px; 9525 } 9526 9527 .peach .decorative-1 { 9528 width: 120px; 9529 height: 120px; 9530 top: 5px!important; 9531 left: 20px!important; 9532 } 9533 9534 .decorative-2 { 9535 top: 40%; 9536 left: -10%; 9537 } 9538 .lime .decorative-2 { 9539 top: 30%; 9540 left: -10%; 9541 transform: rotate(90deg); 9542 } 9543 .lime .decorative-3 { 9544 transform: rotate(50deg); 9545 width: 120px; 9546 height: 120px; 9547top: 110px; 9548 } 9549 9550 .decorative-3 { 9551 top: 120px; 9552 right: 10%; 9553 z-index: 5; 9554 9555 } 9556 9557 .new { 9558 top: 15px; 9559 right: 60px; 9560 z-index: 5; 9561 position: absolute; 9562 } 9563 9564 .flavor-card:hover .decorative-1 { 9565 transform: translateX(-15%) rotate(-20deg); 9566 } 9567 9568 9569 .flavor-card:hover .decorative-2 { 9570 transform: translateX(20%)rotate(20deg); 9571 } 9572 9573 .flavor-card:hover .decorative-3 { 9574 transform: translateX(20%) rotate(20deg); 9575 } 9576 9577 .lime { 9578background-color: #24A926; 9579} 9580.recipe { 9581background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Cranberry-Immunity-Energy-Bites-Desktop-1_099801b4-83ee-48d5-ab77-f509b5bfd146_1_1.png?v=1779384950'); 9582 background-size: 105%; 9583 transition: all 0.3s ease-in-out; 9584 background-position: center; 9585background-repeat: no-repeat; 9586} 9587 .recipe:hover { 9588 background-size: 115%; 9589 } 9590.peach { 9591background-color: #FFBFAC; 9592} 9593 .lime h5 { 9594color: #00491F;;
9595font-weight: 900!important; 9596padding: .5rem; 9597border-radius: 10px; 9598margin-bottom: 1rem; 9599} 9600.recipe h5 { 9601background-color: #A6E068; 9602color: #00491F; 9603font-weight: 900!important; 9604padding: .5rem; 9605border-radius: 10px; 9606margin: 190px 10px .5rem 10px; 9607text-align: center; 9608text-transform: uppercase; 9609} 9610.peach h5 { 9611color: #00491F; 9612font-weight: 900!important; 9613padding: .5rem; 9614border-radius: 10px; 9615margin-bottom: 1rem; 9616text-align: center; 9617} 9618 .peach p { 9619color: #00491F; 9620 text-align: center; 9621} 9622 .recipe p { 9623text-align: center; 9624 color: white; 9625} 9626 .lime p { 9627text-align: center; 9628 color: white; 9629} 9630 </style> 9631 9632<div class="flavor-card-container"> 9633 <a href="https://amazinggrass.com/pages/super-greens"> 9634 <div class="flavor-card lime"> 9635 <img src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/on-C101349_Image_01.png?v=1756394358" alt="Main" class="main-img"> 9636 <img src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Spinach.png?v=1744835060" alt="Deco 1" class="decorative-img decorative-1"> 9637 <img src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/SG_-_Original_1.png?v=1760045717" alt="Deco 2" class="decorative-img decorative-2"> 9638 <img src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/SG_-_Original_2.png?v=1760045788" alt="Deco 3" class="decorative-img decorative-3"> 9639 <h5>SUPER GREENS</h5> 9640<p>New Name, New Look, 9641<strong>SAME GREENS</strong></p> 9642 </div></a> 9643 9644 <a href="https://amazinggrass.com/blogs/recipes/berry-smoothie-bowl"> 9645 <div class="flavor-card recipe"> 9646 9647 <h5>Berry Smoothie Bowl 9648</h5> 9649<p>This nutritious recipe with greens is bowl goals.</p> 9650 </div></a> 9651 9652 <a href="https://amazinggrass.com/pages/sweet-greens"> 9653 <div class="flavor-card peach"> 9654 <img src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SweetGreens_5.29OZ_PeachHibiscus_6075088_c5843783-2caa-4452-b510-307fe406dd0e.png?v=1747091431" alt="Main" class="main-img"> 9655 <img src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/iStock-515015341-1_a2ee9b9b-f420-41ed-94c9-bf17ca83e801.png?v=1747143815" alt="Deco 1" class="decorative-img decorative-1"> 9656 <img src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/102fb44fedbf85693df06773392cdba62eae9a98.png?v=1747092903" alt="Deco 2" class="decorative-img decorative-2"> 9657 <img src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/iStock-2167439845.png?v=1747092891" alt="Deco 3" class="decorative-img decorative-3"> 9658 <h5>SWEET GREENS</h5> 9659<p>Nutritious greens blend in a lush fusion of flavor with no added sugar.</p> 9660 </div></a> 9661</div> 9662</div> 9663 9664<style> #shopify-section-template--25765837963629__custom_liquid_ydMQbT .container--fullwidth {background-color: #a6e068; padding: 2rem 0;} @media screen and (max-width: 767px) {#shopify-section-template--25765837963629__custom_liquid_ydMQbT h5 {font-size: calc(20px / 60 * var(--base-headings-size) + 0px) !important; }} </style></div><div id="shopify-section-template--25765837963629__rich_text_d4iHpp" class="shopify-section can-be-fullwidth no-fullwidth-padding"><link href="//amazinggrass.com/cdn/shop/t/110/assets/section-rich-text.css?v=167548673202396956391762367902" rel="stylesheet" type="text/css" media="all" /> 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676</div><div id="shopify-section-template--25765837963629__custom_liquid_r3Q4Wm" class="shopify-section"><div class="container container--fullwidth "> 9677<div class="container-rtb"> 9678 <div class="card-rtb"> 9679 <img 9680 src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Carrot.png?v=1744835059" 9681 class="parallax-image carrot" 9682 data-speed="0.05" alt="carrot slice" 9683 /> 9684 <img 9685 src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Raspberry.png?v=1744835060" 9686 class="parallax-image raspberry" 9687 data-speed=".09" alt="raspberry fruit" 9688 /> 9689 <img 9690 src=https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Spinach.png?v=1744835060" 9691 class="parallax-image spinach" 9692 data-speed="0.1" alt="piece of spinach" 9693 /> 9694
9694<script> 9695 window.addEventListener("scroll", () => { 9696 const scrollTop = window.pageYOffset; 9697 document.querySelectorAll(".parallax-image").forEach(img => { 9698 const speed = parseFloat(img.dataset.speed); 9699 img.style.transform = `translateY(${scrollTop * speed}px)`; 9700 }); 9701 }); 9702 </script>
9702 9703 <h1 style="color: white;">FEEL <span style="color:#FFCF00;">AMAZING</span> <br>EVERY DAY</h2> 9704 <h4 style="color: white;">You rise every morning, but do you shine? We've got a way to help you get up and glow. 9705 </h4> 9706 <a href="https://amazinggrass.com/pages/our-story" class="button button--large button--solid" title="Amazing Grass About Us page" data-content-id="cta_our_story">LEARN MORE</a> 9707 </div> 9708 </div> 9709 9710 <style> 9711 body { 9712 overflow-x: hidden; 9713} 9714 .parallax-image { 9715 position: absolute; 9716 will-change: transform; 9717 transition: transform 0.1s ease-out; 9718 } 9719 9720 9721 .raspberry { 9722 top: 22%; 9723 left: 10%; 9724 width: 250px; 9725 9726 } 9727 .carrot { 9728 top: -25%; 9729 left: 6%; 9730 width: 300px; 9731 } 9732 9733 .spinach { 9734 top: 15%; 9735 left: 72%; 9736 width: 300px; 9737 } 9738 9739 .card-rtb { 9740 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/AG_Section_Module.png?v=1742488173'); 9741 border-radius: 50px; 9742 min-height: 700px; 9743 background-position:center; 9744 text-align: center; 9745 padding: 4rem; 9746 background-repeat: no-repeat; 9747 background-size: cover; 9748 max-width: 1400px; 9749 margin: 0 auto; 9750position: relative; 9751 } 9752 .card-rtb h4 { 9753 max-width: 600px; 9754 margin: 2rem auto; 9755 font-weight: 400!important; 9756 } 9757 .card-rtb .button { 9758 background-color: white; 9759 color: #00491F; 9760 border: none; 9761 } 9762 .container-rtb { 9763 background-color: #a6e068; 9764 padding: 4rem 2.5rem; 9765overflow: hidden; 9766 } 9767@media only screen and (min-width: 440px) and (max-width: 1241px) { 9768 .raspberry { 9769 top: 45%; 9770 left: 0%; 9771 width: 150px; 9772 9773 } 9774 .carrot { 9775 top: -5%; 9776 left: -5%; 9777 width: 200px; 9778 } 9779 9780 .spinach { 9781 top: 5%; 9782 left: 78%; 9783 width: 200px; 9784 } 9785} 9786 9787 @media screen and (max-width: 440px) { 9788 .container-rtb { 9789 padding: 3rem 1rem 1rem 1rem; 9790 } 9791 .card-rtb { 9792 background-image: url('https://cdn.shopify.com/s/files/1/0013/4594/5674/files/rtb-ag-mb.png?v=1746041308'); 9793 padding: 2rem 4rem; 9794 min-height: 610px; 9795 } 9796 .card-rtb h4 { 9797 margin: 1rem auto; 9798 } 9799} 9800 9801 9802 @media screen and (max-width: 440px) { 9803 .raspberry { 9804 top: 10%; 9805 left: -8%; 9806 width: 110px; 9807 9808 } 9809 .carrot { 9810 top: -10%; 9811 left: -15%; 9812 width: 150px; 9813 } 9814 9815 .spinach { 9816 top: 15%; 9817 left: 72%; 9818 width: 150px; 9819 } 9820 } 9821 </style> 9822</div> 9823 9824</div><div id="shopify-section-template--25765837963629__rich_text_NQHkHE" class="shopify-section can-be-fullwidth no-fullwidth-padding"><link href="//amazinggrass.com/cdn/shop/t/110/assets/section-rich-text.css?v=167548673202396956391762367902" rel="stylesheet" type="text/css" media="all" /> 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834<style data-shopify> 9835 @media screen and (max-width: 1520px) { 9836 #shopify-section-template--25765837963629__rich_text_NQHkHE .rich-text__container--image-right .rich-text__text { 9837 padding-inline-start: var(--gutter-container) !important; 9838 } 9839 #shopify-section-template--25765837963629__rich_text_NQHkHE .rich-text__container--image-left .rich-text__text { 9840 padding-inline-end: var(--gutter-container) !important; 9841 } 9842 } 9843 </style> 9844<div class=" container--fullwidth "><div 9845 id="element-template--25765837963629__rich_text_NQHkHE" 9846 class=" 9847 card 9848 card--no-radius card--no-sideborders card--no-shadow 9849 9850 rich-text--image-on-top 9851 9852 rich-text 9853 " 9854 > 9855 <div class="rich-text__container rich-text__container--image-top no-image rich-text__container--fullwidth container--large "><div 9856 class="rich-text__text align-content align-content--horizontal-center align-content--vertical-middle" 9857 9858 > 9859 <div 9860 class=" 9861 card__text 9862 element--width-100 spacing--large 9863 9864 gutter-top--xlarge gutter-bottom--xlarge remove-empty-space 9865 " 9866 ><h2 9867 class="h2 rte rich-text__title" 9868 9869 > 9870 Super Greens + Protein 9871 </h2> 9872<div > 9873 <style> 9874.ag-flavor-tag-choc { 9875color: white;
9876font-weight: 800!important; 9877background-color: #008540; 9878max-width: 300px; 9879padding: 10px 25px; 9880border-radius: 14px; 9881margin: 0 auto; 9882background-color: #864322; 9883text-transform: uppercase; 9884} 9885</style> 9886 9887 9888<h5 class="ag-flavor-tag-choc">Chocolate</h5> 9889 </div> 9890<div > 9891 <style> 9892 .diagram-container { 9893 display: flex; 9894 max-width: 1000px; 9895 align-items: center; 9896 justify-content: center; 9897 overflow: hidden; 9898 gap: 0; 9899 margin: 0 auto; 9900 } 9901 9902 .diagram-side-column { 9903 flex: 1; 9904 text-align: left; 9905 align-self: flex-start; 9906 } 9907 9908 .diagram-side-column h5 { 9909 font-weight: 800 !important; 9910 font-size: 2rem !important; 9911 word-break: keep-all; 9912 } 9913 9914 .diagram-side-column p { 9915 margin-bottom: 0.5rem !important; 9916 font-size: 1rem !important; 9917 } 9918 9919 .diagram-main-column { 9920 flex: 1; 9921 text-align: center; 9922 background-image: url("https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Untitled_1_b41c65aa-87b3-4229-8216-10ab3d5d7673.svg?v=1759337485"); 9923 background-repeat: no-repeat; 9924 background-position: center; 9925 background-size: contain; 9926 } 9927 9928 .diagram-main-column img { 9929 max-width: 500px; 9930 height: auto; 9931 display: block; 9932 margin: 0 auto; 9933 } 9934 9935 .diagram-first-row { 9936 height: 400px; 9937 } 9938 9939 /* Media Queries */ 9940 @media screen and (min-width: 1420px) { 9941 .diagram-main-column img { 9942 max-width: 500px; 9943 } 9944 .diagram-first-row { 9945 height: 500px; 9946 } 9947 } 9948 9949 @media screen and (max-width: 1100px) { 9950 .diagram-main-column img { 9951 max-width: 450px; 9952 } 9953 .diagram-first-row { 9954 height: 380px; 9955 } 9956 } 9957 9958 /* Fade-in Animation */ 9959 .fade-in { 9960 opacity: 0; 9961 transform: translateY(20px); 9962 transition: 9963 opacity 0.6s ease-out, 9964 transform 0.6s ease-out; 9965 } 9966 9967 .fade-in.visible { 9968 opacity: 1; 9969 transform: translateY(0); 9970 } 9971</style> 9972 9973<div class="diagram-container"> 9974 <div class="diagram-side-column"> 9975 <div class="diagram-first-row fade-in"> 9976 <h5> 9977 10g of Plant-Based<br /> 9978 Protein 9979 </h5> 9980 </div> 9981 <div class="fade-in"><h5>Supports Vitality</h5></div> 9982 </div> 9983 9984 <div class="diagram-main-column"> 9985 <a href="https://amazinggrass.com/collections/protein" data-content-id="homepage_feat_super_greens_protein_img"> 9986 <img 9987 src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreensProtein_7.7OZ_Chocolate_6078812-Front.png?v=1771023396" 9988 alt="Super Greens + Protein" 9989 /> 9990 </a> 9991 </div> 9992 9993 <div class="diagram-side-column"> 9994 <div class="diagram-first-row fade-in" style="margin-left: 1rem"> 9995 <h5> 9996 Supports<br /> 9997 Gut Health 9998 </h5> 9999 </div> 10000 <div class="fade-in"> 10001 <h5 style="margin-left: 1rem"> 10002 Blend of 8 greens,<br /> 10003 fruits & veggies 10004 </h5> 10005 </div> 10006 </div> 10007</div> 10008
10009<script> 10010 document.addEventListener("DOMContentLoaded", function () { 10011 const observer = new IntersectionObserver( 10012 (entries) => { 10013 entries.forEach((entry, i) => { 10014 if (entry.isIntersecting) { 10015 entry.target.classList.add("visible"); 10016 observer.unobserve(entry.target); // fade in only once 10017 } 10018 }); 10019 }, 10020 { 10021 threshold: 0.1, 10022 }, 10023 ); 10024 10025 // Add staggered delay 10026 document.querySelectorAll(".fade-in").forEach((el, i) => { 10027 el.style.transitionDelay = `${i * 0.25}s`; // Staggering the delay by 0.3s 10028 observer.observe(el); 10029 }); 10030 }); 10031</script>
10031 10032 </div> 10033<div class="empty-space" > </div> 10034<div 10035 class="rte text-size--regular" 10036 10037 > 10038 <h5><strong>NEW Super Greens+ Protein</strong> delivers four big wins with every scoop - support for vitality, 10g of plant-based protein, probiotics for your gut, and an excellent source of vitamin C for immune system support. It also feels amazing to get a source of nutrition that's gluten free, non-GMO, vegan and kosher!</h5> 10039 </div> 10040<div 10041 class="increased-spacing" 10042 10043 > 10044 <a 10045 href="/collections/protein" 10046 10047 class="button button--large button--solid" 10048 data-content-id="cta_shop_now_protein 10049" 10050 > 10051 Shop Now 10052 </a> 10053 </div> 10054</div> 10055 </div> 10056<style data-shopify> 10057 #element-template--25765837963629__rich_text_NQHkHE { 10058 --color-background-cards: #a6e068; 10059 } 10060 </style> 10061</div> 10062 </div></div> 10063 10064 10065<style> #shopify-section-template--25765837963629__rich_text_NQHkHE .diagram-container h5 {text-transform: uppercase;} #shopify-section-template--25765837963629__rich_text_NQHkHE .text-size--regular {max-width: 600px; margin: 0 auto;} @media screen and (max-width: 973px) {#shopify-section-template--25765837963629__rich_text_NQHkHE div {display: none; }} </style></div><div id="shopify-section-template--25765837963629__rich_text_PLa3kn" class="shopify-section can-be-fullwidth no-fullwidth-padding"><link href="//amazinggrass.com/cdn/shop/t/110/assets/section-rich-text.css?v=167548673202396956391762367902" rel="stylesheet" type="text/css" media="all" /> 10066 10067 10068 10069 10070 10071 10072 10073 10074 10075 10076 10077<style> @media screen and (min-width: 974px) {#shopify-section-template--25765837963629__rich_text_PLa3kn div {display: none; }} </style></div><div id="shopify-section-template--25765837963629__content_toggles_4XHEUK" class="shopify-section mount-toggles"><link href="//amazinggrass.com/cdn/shop/t/110/assets/component-toggle.css?v=79308428177397460871762367902" rel="stylesheet" type="text/css" media="all" /> 10078 10079<div class="container--large container--vertical-space"> 10080<div class=""> 10081 10082 <div class="faq-items"> 10083 <div class="element--border-radius element--has-border"><toggle-group><toggle-tab class="toggle toggle--faq " 10084 data-togglepack-alternate 10085 10086 > 10087 10088 <div class="toggle__title" data-js-title tabindex="0" aria-expanded="false" role="button" aria-controls="toggle-text_XQGHzV"> 10089 10090 <div class="toggle__heading"> 10091 10092 <span class="text-weight--bold">10G OF PLANT-BASED PROTEIN</span><div class="toggle__subtitle"> 10093<span class="text-size--small"></span> 10094 </div> 10095 10096 </div></div> 10097 10098 <div id="toggle--text_XQGHzV" data-js-content class="toggle__content rte remove-empty-space" role="region"> 10099 10100 <p>Super Greens got a protein glow-up!</p> 10101</div> 10102 10103 </toggle-tab><toggle-tab class="toggle toggle--faq " 10104 data-togglepack-alternate 10105 10106 > 10107 10108 <div class="toggle__title" data-js-title tabindex="0" aria-expanded="false" role="button" aria-controls="toggle-text_qKeQrE"> 10109 10110 <div class="toggle__heading"> 10111 10112 <span class="text-weight--bold">SUPPORTS VITALITY</span><div class="toggle__subtitle"> 10113<span class="text-size--small"></span> 10114 </div> 10115 10116 </div></div> 10117 10118 <div id="toggle--text_qKeQrE" data-js-content class="toggle__content rte remove-empty-space" role="region"> 10119 10120 <p>Support overall health and wellness!*</p> 10121</div> 10122 10123 </toggle-tab></toggle-group></div> 10124 </div></div> 10125 10126</div> 10127
10128<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-toggle.js?v=56068292206579506591762367902" defer></script>
10128 10129 10130<style> #shopify-section-template--25765837963629__content_toggles_4XHEUK div {background-color: #a6e068; margin-top: 0;} @media screen and (min-width: 974px) {#shopify-section-template--25765837963629__content_toggles_4XHEUK div {display: none; }} </style></div><div id="shopify-section-template--25765837963629__custom_liquid_i6etEi" class="shopify-section"><div class="container container--fullwidth "> 10131<img style="max-width:100%;" src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreensProtein_7.7OZ_Chocolate_6078812-Front.png?v=1771023396" alt="Super Greens + Protein product image"> 10132</div> 10133 10134<style> #shopify-section-template--25765837963629__custom_liquid_i6etEi div {background-color: #a6e068; padding: 1rem 2rem 0 2rem; display: flex;} @media screen and (min-width: 974px) {#shopify-section-template--25765837963629__custom_liquid_i6etEi div {display: none; }} </style></div><div id="shopify-section-template--25765837963629__content_toggles_NMffH4" class="shopify-section mount-toggles"><link href="//amazinggrass.com/cdn/shop/t/110/assets/component-toggle.css?v=79308428177397460871762367902" rel="stylesheet" type="text/css" media="all" /> 10135 10136<div class="container--large container--vertical-space"> 10137<div class=""> 10138 10139 <div class="faq-items"> 10140 <div class="element--border-radius element--has-border"><toggle-group><toggle-tab class="toggle toggle--faq " 10141 data-togglepack-alternate 10142 10143 > 10144 10145 <div class="toggle__title" data-js-title tabindex="0" aria-expanded="false" role="button" aria-controls="toggle-text_jnXwaQ"> 10146 10147 <div class="toggle__heading"> 10148 10149 <span class="text-weight--bold">SUPPORTS GUT HEALTH</span><div class="toggle__subtitle"> 10150<span class="text-size--small"></span> 10151 </div> 10152 10153 </div></div> 10154 10155 <div id="toggle--text_jnXwaQ" data-js-content class="toggle__content rte remove-empty-space" role="region"> 10156 10157 <p>Includes probiotics</p> 10158</div> 10159 10160 </toggle-tab><toggle-tab class="toggle toggle--faq " 10161 data-togglepack-alternate 10162 10163 > 10164 10165 <div class="toggle__title" data-js-title tabindex="0" aria-expanded="false" role="button" aria-controls="toggle-text_7FKkbx"> 10166 10167 <div class="toggle__heading"> 10168 10169 <span class="text-weight--bold">BLEND OF 8 GREENS, FRUITS & VEGGIES</span><div class="toggle__subtitle"> 10170<span class="text-size--small"></span> 10171 </div> 10172 10173 </div></div> 10174 10175 <div id="toggle--text_7FKkbx" data-js-content class="toggle__content rte remove-empty-space" role="region"> 10176 10177 <p>Source of nutrition that's gluten free, non-GMO, vegan and kosher!</p> 10178</div> 10179 10180 </toggle-tab></toggle-group></div> 10181 </div></div> 10182 10183</div> 10184
10185<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-toggle.js?v=56068292206579506591762367902" defer></script>
10185 10186 10187<style> #shopify-section-template--25765837963629__content_toggles_NMffH4 div {background-color: #a6e068; margin-top: 0;} @media screen and (min-width: 974px) {#shopify-section-template--25765837963629__content_toggles_NMffH4 div {display: none; }} </style></div><div id="shopify-section-template--25765837963629__rich_text_88g3Lm" class="shopify-section can-be-fullwidth no-fullwidth-padding"><link href="//amazinggrass.com/cdn/shop/t/110/assets/section-rich-text.css?v=167548673202396956391762367902" rel="stylesheet" type="text/css" media="all" /> 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197<div class=" container--large container--has-background "><div 10198 id="element-template--25765837963629__rich_text_88g3Lm" 10199 class=" 10200 card 10201 10202 10203 rich-text--image-on-top 10204 10205 rich-text 10206 " 10207 > 10208 <div class="rich-text__container rich-text__container--image-top no-image "><div 10209 class="rich-text__text align-content align-content--horizontal-center align-content--vertical-middle" 10210 10211 > 10212 <div 10213 class=" 10214 card__text 10215 element--width-100 spacing--large 10216 gutter--xlarge 10217 remove-empty-space 10218 " 10219 ><div 10220 class="rte text-size--regular" 10221 10222 > 10223 <h5>Supporting overall health and wellness is serious fizz-ness, but we made it fun & super easy! Fizzy Green Tablets deliver a pop of effervescent citrus flavor and go-anywhere convenience, so youâll always have what you want to <strong>feel amazing every day!</strong></h5> 10224 </div> 10225<div 10226 class="increased-spacing" 10227 10228 > 10229 <a 10230 href="https://amazinggrass.com/collections/all-products/products/fizzygreentablet-lemon-lime-tube" 10231 10232 class="button button--large button--solid" 10233 data-content-id="cta_shop_now_fizzygreentablet_lemon_lime_tube 10234" 10235 > 10236 SHOP NOW 10237 </a> 10238 </div> 10239</div> 10240 </div> 10241<style data-shopify> 10242 #element-template--25765837963629__rich_text_88g3Lm { 10243 --color-background-cards: #a6e068; 10244 } 10245 </style> 10246</div> 10247 </div></div><style data-shopify> 10248 #shopify-section-template--25765837963629__rich_text_88g3Lm { 10249 background-color: #a6e068; 10250 } 10251 </style> 10252 10253 10254 10255<style> @media screen and (min-width: 974px) {#shopify-section-template--25765837963629__rich_text_88g3Lm div {display: none; }} </style></div><div id="shopify-section-template--25765837963629__165407625224b5d2af" class="shopify-section can-be-fullwidth no-fullwidth-padding"><link href="//amazinggrass.com/cdn/shop/t/110/assets/section-rich-text.css?v=167548673202396956391762367902" rel="stylesheet" type="text/css" media="all" /> 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265<style data-shopify> 10266 @media screen and (max-width: 1520px) { 10267 #shopify-section-template--25765837963629__165407625224b5d2af .rich-text__container--image-right .rich-text__text { 10268 padding-inline-start: var(--gutter-container) !important; 10269 } 10270 #shopify-section-template--25765837963629__165407625224b5d2af .rich-text__container--image-left .rich-text__text { 10271 padding-inline-end: var(--gutter-container) !important; 10272 } 10273 } 10274 </style> 10275<div class=" container--fullwidth container--has-background "><div 10276 id="element-template--25765837963629__165407625224b5d2af" 10277 class=" 10278 card 10279 card--no-radius card--no-sideborders card--no-shadow 10280 10281 rich-text--image-on-top 10282 10283 rich-text 10284 " 10285 > 10286 <div class="rich-text__container rich-text__container--image-top no-image rich-text__container--fullwidth container--large "><div 10287 class="rich-text__text align-content align-content--horizontal-center align-content--vertical-middle" 10288 10289 > 10290 <div 10291 class=" 10292 card__text 10293 element--width-70 spacing--large 10294 10295 gutter-top--xlarge gutter-bottom--xlarge remove-empty-space 10296 " 10297 ><h2 10298 class="h2 rte rich-text__title" 10299 10300 >
10301 LET THE GREENS CREW GUIDE YOU! 10302 </h2> 10303<div 10304 class="rte text-size--regular" 10305 10306 > 10307 <p>Ready to discover your perfect greens match? <br/>Let the Greens Crew guide you to your ideal daily boost!</p> 10308 </div> 10309<div > 10310 10311 </div> 10312<div 10313 class="increased-spacing" 10314 10315 > 10316 <a 10317 href="https://amazinggrass.com/pages/which-greens-are-right-for-you" 10318 10319 class="button button--large button--solid" 10320 data-content-id="cta_take_the_quiz_which_greens_are_right_for_you 10321" 10322 > 10323 Take The Quiz 10324 </a> 10325 </div> 10326</div> 10327 </div> 10328<style data-shopify> 10329 #element-template--25765837963629__165407625224b5d2af { 10330 --color-background-cards: #dbf3c3; 10331 } 10332 </style> 10333<style data-shopify> 10334 #element-template--25765837963629__165407625224b5d2af { 10335 --color-borders-cards: #dbf3c3; 10336 } 10337 </style> 10338</div> 10339 </div></div><style data-shopify> 10340 #shopify-section-template--25765837963629__165407625224b5d2af { 10341 background-color: #dbf3c3; 10342 } 10343 </style> 10344 10345 10346 10347</div><div id="shopify-section-template--25765837963629__media_with_text_overlay_VkenmB" class="shopify-section"><div id="section-template--25765837963629__media_with_text_overlay_VkenmB" class="container--large container--has-background remove-empty-space"> 10348<div class="section-heading section-heading--left gutter-bottom--page"><div class="section-heading__text remove-empty-space"><h2 class="section-heading__title h4">Featured Article</h2></div></div><div class="grid grid--layout grid-1"><div id="element-image_XjRJCd" class="card element--height-small align-content align-content--horizontal-left align-content--vertical-bottom" ><div class="card__text gutter--large spacing--large remove-empty-space"><h3 class="h3"><span class="text-animation--underline underline-mobile">The Realistic Reset: 5 Simple Daily Habits to Help You Feel Amazing</span></h3><div class="increased-spacing"> 10349 <a href="/blogs/blog/the-realistic-reset" class="button button--large button--solid">Read More</a> 10350 </div></div> 10351 10352 <div class="card__image card__image--background "> 10353<figure 10354 class="lazy-image 10355 lazy-image--background 10356 10357 " 10358 10359 data-ratio="2.800875273522976" style="padding-top: 35.703125%" 10360 10361 data-crop="true" 10362> 10363 10364 <img 10365 src="//amazinggrass.com/cdn/shop/files/AG_Blog_-_The_Realistic_Reset.png?v=1773783533&width=480" alt="The Realistic Reset: 5 Simple Daily Habits to Help You Feel Amazing" 10366 srcset="//amazinggrass.com/cdn/shop/files/AG_Blog_-_The_Realistic_Reset.png?v=1773783533&width=240 240w,//amazinggrass.com/cdn/shop/files/AG_Blog_-_The_Realistic_Reset.png?v=1773783533&width=360 360w,//amazinggrass.com/cdn/shop/files/AG_Blog_-_The_Realistic_Reset.png?v=1773783533&width=420 420w,//amazinggrass.com/cdn/shop/files/AG_Blog_-_The_Realistic_Reset.png?v=1773783533&width=480 480w,//amazinggrass.com/cdn/shop/files/AG_Blog_-_The_Realistic_Reset.png?v=1773783533&width=640 640w,//amazinggrass.com/cdn/shop/files/AG_Blog_-_The_Realistic_Reset.png?v=1773783533&width=840 840w,//amazinggrass.com/cdn/shop/files/AG_Blog_-_The_Realistic_Reset.png?v=1773783533&width=1080 1080w,//amazinggrass.com/cdn/shop/files/AG_Blog_-_The_Realistic_Reset.png?v=1773783533&width=1280 1280w" 10367 class="img" 10368 width="1280" 10369 height="457" 10370 data-ratio="2.800875273522976" 10371 sizes="(max-width: 1520px) calc(100vw - 20px), calc(1520 - 80px)" 10372 loading="lazy" 10373 style="object-position: 50.0% 50.0%" 10374 id="responsive-background-image_XjRJCd" 10375 onload="this.parentNode.classList.add('lazyloaded')" 10376 /> 10377 10378</figure>
10378<script> 10379 rbi.push(document.getElementById('responsive-background-image_XjRJCd')); 10380 ribSetSize(document.getElementById('responsive-background-image_XjRJCd')); 10381 </script>
10381</div> 10382<style data-shopify> 10383 #element-image_XjRJCd { 10384 --color-text-cards: #ffffff; 10385 --color-foreground-cards: #00491f; 10386 --color-secondary-text-cards: rgba(255, 255, 255, 0.6); 10387 } 10388 </style> 10389<style data-shopify> 10390 #element-image_XjRJCd { 10391 --color-borders-cards: none; 10392 } 10393 </style> 10394</div> 10395 10396 </div></div> 10397 10398<style data-shopify> 10399 @media screen and (min-width: 640px) { 10400 #section-template--25765837963629__media_with_text_overlay_VkenmB .card__text { 10401 max-width: 60%; 10402 } 10403 } 10404</style> 10405<style data-shopify> 10406 #shopify-section-template--25765837963629__media_with_text_overlay_VkenmB { 10407 background-color: #a6e068; 10408 } 10409 </style> 10410 10411</div><div id="shopify-section-template--25765837963629__rich_text_XiETdk" class="shopify-section can-be-fullwidth no-fullwidth-padding"><link href="//amazinggrass.com/cdn/shop/t/110/assets/section-rich-text.css?v=167548673202396956391762367902" rel="stylesheet" type="text/css" media="all" /> 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421<style data-shopify> 10422 @media screen and (max-width: 1520px) { 10423 #shopify-section-template--25765837963629__rich_text_XiETdk .rich-text__container--image-right .rich-text__text { 10424 padding-inline-start: var(--gutter-container) !important; 10425 } 10426 #shopify-section-template--25765837963629__rich_text_XiETdk .rich-text__container--image-left .rich-text__text { 10427 padding-inline-end: var(--gutter-container) !important; 10428 } 10429 } 10430 </style> 10431<div class=" container--fullwidth container--has-background "><div 10432 id="element-template--25765837963629__rich_text_XiETdk" 10433 class=" 10434 card 10435 card--no-radius card--no-sideborders card--no-shadow 10436 10437 rich-text--image-on-top 10438 10439 rich-text 10440 " 10441 > 10442 <div class="rich-text__container rich-text__container--image-top no-image rich-text__container--fullwidth container--large "><div 10443 class="rich-text__text align-content align-content--horizontal-center align-content--vertical-middle" 10444 10445 > 10446 <div 10447 class=" 10448 card__text 10449 element--width-100 spacing--large 10450 10451 gutter-top--xlarge gutter-bottom--xlarge remove-empty-space 10452 " 10453 ><div 10454 class="rte text-size--regular" 10455 10456 > 10457 <h3>Check us out on Social</h3> 10458 </div> 10459<div > 10460 <div class="embedsocial-hashtag" data-ref="caf9bc99c3eba4301bd4c9f9011de08599f8b59f"></div>
10460<script> (function(d, s, id) { var js; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "https://embedsocial.com/cdn/ht.js"; d.getElementsByTagName("head")[0].appendChild(js); }(document, "script", "EmbedSocialHashtagScript")); </script>
10460 10461 </div> 10462</div> 10463 </div> 10464<style data-shopify> 10465 #element-template--25765837963629__rich_text_XiETdk { 10466 --color-background-cards: #a6e068; 10467 } 10468 </style> 10469<style data-shopify> 10470 #element-template--25765837963629__rich_text_XiETdk { 10471 --color-borders-cards: none; 10472 } 10473 </style> 10474<style data-shopify> 10475 #element-template--25765837963629__rich_text_XiETdk { 10476 --shadow-x-cards: 0; 10477 --shadow-y-cards: 0; 10478 --shadow-blur-cards: 0; 10479 --color-shadow-cards: transparent; 10480 } 10481 </style> 10482</div> 10483 </div></div><style data-shopify> 10484 #shopify-section-template--25765837963629__rich_text_XiETdk { 10485 background-color: #a6e068; 10486 } 10487 </style> 10488 10489 10490 10491</div><div id="shopify-section-template--25765837963629__testimonials_FrKtVF" class="shopify-section mount-css-slider"><link href="//amazinggrass.com/cdn/shop/t/110/assets/section-testimonials.css?v=14804745192445266241762367902" rel="stylesheet" type="text/css" media="all" /> 10492<style data-shopify> 10493 #shopify-section-template--25765837963629__testimonials_FrKtVF .testimonial__quote { 10494 font-family: "system_ui", -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; 10495 font-weight: 400; 10496 font-style: normal; 10497 line-height: 1.1; 10498 --font-size: 32px; 10499 } 10500</style> 10501<div class="testimonials-bg"> 10502<div class="container--fullwidth container--has-background remove-empty-space"> 10503<div class="section-heading section-heading--center gutter-bottom--page"><div class="section-heading__text remove-empty-space"><h2 class="section-heading__title h4">What are they saying?</h2></div></div><div id="element-template--25765837963629__testimonials_FrKtVF" class="panel gutter--large gutter-top--xlarge gutter-bottom--xlarge"><css-slider data-options='{ 10504 "selector": ".testimonial", 10505 "groupCells": true, 10506 "listenScroll": true, 10507 10508 "autoplay": 4000, 10509 "thumbnailsDOM": "<div class=\"css-slider-dot-navigation css-slider-dot-navigation--autoplay\" style=\"display:none\"></div>", 10510 "indexNavDOM": "<div class=\"css-slider-index-navigation css-slider-index-navigation--autoplay css-slider-index-navigation--autoplay--running\"><span class=\"css-slider-current\">1</span> / <span class=\"css-slider-total\">1</span></div>", 10511 10512 "autoHeight": true, 10513 "navigationDOM": "<span class=\"css-slider-button css-slider-prev\" style=\"display:none\"><svg width=\"88\" height=\"88\" viewBox=\"0 0 88 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke-linecap=\"round\" stroke-width=\"9.13926\" stroke=\"#00491F\" d=\"M55.7154 18.5416L34.3065 38.8238C31.2624 41.7076 31.2624 46.5554 34.3065 49.4392L55.7154 69.7214\" /></g></svg></span><span class=\"css-slider-button css-slider-next\" style=\"display:none\"><svg width=\"88\" height=\"88\" viewBox=\"0 0 88 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke-linecap=\"round\" stroke-width=\"9.13926\" stroke=\"#00491F\" d=\"M32.0219 69.4594L53.4308 49.1772C56.4749 46.2934 56.4749 41.4456 53.4308 38.5617L32.0219 18.2795\" /></svg></span>" 10514 }' 10515 class="css-slider css-slider--bottom-navigation css-slider--center-navigation" 10516 style="--autorotate-interval: 4s;" 10517 id="css-slider-template--25765837963629__testimonials_FrKtVF" 10518 >
10518<script> 10519 document.getElementById('css-slider-template--25765837963629__testimonials_FrKtVF').addEventListener('change', ()=>{ 10520 document.querySelector('#css-slider-template--25765837963629__testimonials_FrKtVF .css-slider-index-navigation--autoplay'); 10521 setTimeout(()=>{ 10522 document.querySelector('#css-slider-template--25765837963629__testimonials_FrKtVF .css-slider-index-navigation--autoplay'); 10523 }, 5); 10524 }) 10525 </script>
10525<div class="grid grid--slider grid-1 testimonials testimonials--left"><div class="testimonial js-slider-item" > 10526<a data-content-id="testimonial" href="https://amazinggrass.com/collections/all-products/products/sweet-greens-summer-berry"> 10527 <div class="testimonial__avatar"><div class="testimonial__avatar-image"> 10528 <figure class="lazy-image" data-ratio style="padding-top: 100%"> 10529 <img 10530 src="//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_SummerBerry_6075085.png?crop=center&height=175&v=1741037224" alt="Amazing Grass Sweet Greens Summer Berry" 10531 srcset="//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_SummerBerry_6075085.png?crop=center&height=175&v=1741037224&width=175 70w, //amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_SummerBerry_6075085.png?crop=center&height=140&v=1741037224&width=140 140w, //amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_SummerBerry_6075085.png?crop=center&height=210&v=1741037224&width=210 210w" 10532 loading="lazy" 10533 sizes="175px" 10534 width="175" height="175" 10535 onload="this.parentNode.classList.add('lazyloaded')" 10536 /> 10537 </figure> 10538 </div><div class="testimonial__avatar-info"><h3 class="text-size--large">Sweet Greens!</h3><img width="auto" height="30" src="//amazinggrass.com/cdn/shop/files/Group_633153_1.png?height=30&v=1744665437" alt="5 stars image"><span class="text-size--small">Laurel</span><blockquote class="testimonial__quote rte"> 10539 <p>Love!!! Iâm a major smoothie lover as I feel itâs the best way to get my vitamins in. I added a scoop of the sweet greens into my fruit smoothie and I love the taste.</p> 10540 </blockquote><span class="testimonial__incentivized text-size--small"> 10541 INCENTIVIZED 10542 </span></div> 10543 </div></a> 10544<a data-content-id="testimonial" href="https://amazinggrass.com/collections/all-products/products/sweet-greens-summer-berry" class="review-cta">SHOP NOW</a> 10545 10546 </div><div class="testimonial js-slider-item" > 10547<a data-content-id="testimonial" href="https://amazinggrass.com/collections/all-products/products/sweet-greens-summer-berry"> 10548 <div class="testimonial__avatar"><div class="testimonial__avatar-image"> 10549 <figure class="lazy-image" data-ratio style="padding-top: 100%"> 10550 <img 10551 src="//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_SummerBerry_6075085_be1dac67-938f-4472-99ff-d57b6692a60e.png?crop=center&height=175&v=1742857532" alt="Sweet Greens Summer Berry product" 10552 srcset="//amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_SummerBerry_6075085_be1dac67-938f-4472-99ff-d57b6692a60e.png?crop=center&height=175&v=1742857532&width=175 70w, //amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_SummerBerry_6075085_be1dac67-938f-4472-99ff-d57b6692a60e.png?crop=center&height=140&v=1742857532&width=140 140w, //amazinggrass.com/cdn/shop/files/US_SweetGreens_5.29OZ_SummerBerry_6075085_be1dac67-938f-4472-99ff-d57b6692a60e.png?crop=center&height=210&v=1742857532&width=210 210w" 10553 loading="lazy" 10554 sizes="175px" 10555 width="175" height="175" 10556 onload="this.parentNode.classList.add('lazyloaded')" 10557 /> 10558 </figure> 10559 </div><div class="testimonial__avatar-info"><h3 class="text-size--large">Good Flavor!</h3><img width="auto" height="30" src="//amazinggrass.com/cdn/shop/files/Group_633153_1_1.png?height=30&v=1745605407" alt="4 stars image"><blockquote class="testimonial__quote rte"> 10560 <p>I am pretty skeptical about these types of products and am very very picky about taste but I was shocked when it actually tasted good. Would definitely purchase again!</p> 10561 </blockquote><span class="testimonial__incentivized text-size--small"> 10562 INCENTIVIZED 10563 </span></div> 10564 </div></a> 10565<a data-content-id="testimonial" href="https://amazinggrass.com/collections/all-products/products/sweet-greens-summer-berry" class="review-cta">SHOP NOW</a> 10566 10567 </div><div class="testimonial js-slider-item" > 10568<a data-content-id="testimonial" href="https://amazinggrass.com/collections/fresh-picks/products/greens-blend-the-original"> 10569 <div class="testimonial__avatar"><div class="testimonial__avatar-image"> 10570 <figure class="lazy-image" data-ratio style="padding-top: 100%"> 10571 <img 10572 src="//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=175&v=1756394358" alt="Amazing Grass Super Greens Original" 10573 srcset="//amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=175&v=1756394358&width=175 70w, //amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=140&v=1756394358&width=140 140w, //amazinggrass.com/cdn/shop/files/on-C101349_Image_01.png?crop=center&height=210&v=1756394358&width=210 210w" 10574 loading="lazy" 10575 sizes="175px" 10576 width="175" height="175"
10577 onload="this.parentNode.classList.add('lazyloaded')" 10578 /> 10579 </figure> 10580 </div><div class="testimonial__avatar-info"><h3 class="text-size--large">Great Product!</h3><img width="auto" height="30" src="//amazinggrass.com/cdn/shop/files/Group_633153_1.png?height=30&v=1744665437" alt="5 stars image"><span class="text-size--small">Kris</span><blockquote class="testimonial__quote rte"> 10581 <p>Just bought this and it's great! With just one small scoop I can get tons of nutrients.</p> 10582 </blockquote></div> 10583 </div></a> 10584<a data-content-id="testimonial" href="https://amazinggrass.com/collections/fresh-picks/products/greens-blend-the-original" class="review-cta">SHOP NOW</a> 10585 10586 </div><div class="testimonial js-slider-item" > 10587<a data-content-id="testimonial" href="https://amazinggrass.com/collections/all-products/products/protein-probiotics-strawberry-blast"> 10588 <div class="testimonial__avatar"><div class="testimonial__avatar-image"> 10589 <figure class="lazy-image" data-ratio style="padding-top: 100%"> 10590 <img 10591 src="//amazinggrass.com/cdn/shop/files/US_Kidz_Protein_Probiotics_8.9OZ_Strawberry_Blast_6076317-Front.png?crop=center&height=175&v=1768923796" alt="" 10592 srcset="//amazinggrass.com/cdn/shop/files/US_Kidz_Protein_Probiotics_8.9OZ_Strawberry_Blast_6076317-Front.png?crop=center&height=175&v=1768923796&width=175 70w, //amazinggrass.com/cdn/shop/files/US_Kidz_Protein_Probiotics_8.9OZ_Strawberry_Blast_6076317-Front.png?crop=center&height=140&v=1768923796&width=140 140w, //amazinggrass.com/cdn/shop/files/US_Kidz_Protein_Probiotics_8.9OZ_Strawberry_Blast_6076317-Front.png?crop=center&height=210&v=1768923796&width=210 210w" 10593 loading="lazy" 10594 sizes="175px" 10595 width="175" height="175" 10596 onload="this.parentNode.classList.add('lazyloaded')" 10597 /> 10598 </figure> 10599 </div><div class="testimonial__avatar-info"><h3 class="text-size--large">Kiddos LOVE!</h3><img width="auto" height="30" src="//amazinggrass.com/cdn/shop/files/Group_633153_1.png?height=30&v=1744665437" alt="5 stars image"><span class="text-size--small">Mrs E</span><blockquote class="testimonial__quote rte"> 10600 <p>Kiddos LOVE this! We make a super nutrient dense smoothie every morning and always add Strawberry Blast.</p> 10601 </blockquote></div> 10602 </div></a> 10603<a data-content-id="testimonial" href="https://amazinggrass.com/collections/all-products/products/protein-probiotics-strawberry-blast" class="review-cta">SHOP NOW</a> 10604 10605 </div><div class="testimonial js-slider-item" > 10606<a data-content-id="testimonial" href="https://amazinggrass.com/collections/all-products/products/fizzygreentablet-lemon-lime-tube"> 10607 <div class="testimonial__avatar"><div class="testimonial__avatar-image"> 10608 <figure class="lazy-image" data-ratio style="padding-top: 100%"> 10609 <img 10610 src="//amazinggrass.com/cdn/shop/files/US_FizzyTablets_SuperGreens_10ct_LemonLime_6076773-Front.png?crop=center&height=175&v=1768925200" alt="" 10611 srcset="//amazinggrass.com/cdn/shop/files/US_FizzyTablets_SuperGreens_10ct_LemonLime_6076773-Front.png?crop=center&height=175&v=1768925200&width=175 70w, //amazinggrass.com/cdn/shop/files/US_FizzyTablets_SuperGreens_10ct_LemonLime_6076773-Front.png?crop=center&height=140&v=1768925200&width=140 140w, //amazinggrass.com/cdn/shop/files/US_FizzyTablets_SuperGreens_10ct_LemonLime_6076773-Front.png?crop=center&height=210&v=1768925200&width=210 210w" 10612 loading="lazy" 10613 sizes="175px" 10614 width="175" height="175" 10615 onload="this.parentNode.classList.add('lazyloaded')" 10616 /> 10617 </figure> 10618 </div><div class="testimonial__avatar-info"><h3 class="text-size--large">Excellent!</h3><img width="auto" height="30" src="//amazinggrass.com/cdn/shop/files/Group_633153_1.png?height=30&v=1744665437" alt="5 stars image"><span class="text-size--small">Rick</span><blockquote class="testimonial__quote rte"> 10619 <p>
10619Been taking these everyday for over a year and I feel great! Makes a big difference and tastes fantastic.</p> 10620 </blockquote></div> 10621 </div></a> 10622<a data-content-id="testimonial" href="https://amazinggrass.com/collections/all-products/products/fizzygreentablet-lemon-lime-tube" class="review-cta">SHOP NOW</a> 10623 10624 </div> 10625 10626 </div></css-slider></div> 10627</div> 10628</div> 10629<style data-shopify> 10630 #shopify-section-template--25765837963629__testimonials_FrKtVF { 10631 background-color: #a6e068; 10632 } 10633 </style> 10634 10635</div> 10636 </main><!-- BEGIN sections: footer-group --> 10637<div id="shopify-section-sections--25765833638253__footer" class="shopify-section shopify-section-group-footer-group main-footer"> 10638<link href="//amazinggrass.com/cdn/shop/t/110/assets/section-footer.css?v=168099720895129134851762367902" rel="stylesheet" type="text/css" media="all" /> 10639<div class="container--large gutter-top--xlarge gutter-bottom--xlarge footer-top" data-js-inert> 10640 <div class="grid grid--layout grid--gap-xlarge grid-3 grid-lap-1"><div class="footer-item" ><div class="footer-item__newsletter"> 10641 <img height="50px" width="190" alt="Become a Grasshead text" src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Become_a_GrassHead.png?v=1742487835"> 10642 <p style="color: white; margin:.5rem 0 0 0;">Save 15% on your first order</p><form method="post" action="/contact#newsletter-footer-block" id="newsletter-footer-block" accept-charset="UTF-8" class=""><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><fieldset> 10643 <input type="hidden" name="contact[tags]" value="newsletter"> 10644 <div class="form-row" style="position:relative; margin: 1rem 0 .5rem 0;"> 10645 <input type="email" class="newsletter__input" value="" placeholder="Enter your e-mail address" name="contact[email]" id="Email-newsletter-footer-block" aria-label="Enter your email" autocorrect="off" autocapitalize="off" required> 10646 <button type="submit" id="Subscribe-newsletter-footer-block" aria-label="Submit"> 10647 <span>SIGN UP</span> 10648 <span aria-hidden="true" role="img" class="visually-hidden"><svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M47.5 2.5 22.75 27.25M47.5 2.5l-15.75 45-9-20.25-20.25-9 45-15.75Z" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg></span> 10649 </button> 10650 </div> 10651 </fieldset> 10652 <p class="footer-item__email-disclaimer">California Residents, please see our <span style="text-decoration: underline;"><a href="https://shop.amazinggrass.com/pages/notice-of-financial-incentive/">Notice of Financial</a></span> for more information. </p> 10653 10654 <div class="footer-item__content rte"><div class="social-icons"> 10655 <p style="font-size: 1rem; margin: 3px 20px 0 0;">Follow us:</p><a href="https://www.facebook.com/greensuperfood" aria-label="Open the Amazing Grass Facebook"> 10656 <span class="visually-hidden">Facebook</span> 10657 <span class="icon" aria-hidden="true"><svg fill="none" height="120" viewBox="0 0 120 120" width="120" xmlns="http://www.w3.org/2000/svg"><path d="m81.3942 66.8069 2.8527-18.2698h-17.8237v-11.8507c0-5.0051 2.4876-9.8755 10.4751-9.8755h8.1017v-15.5765s-7.3485-1.2344-14.4004-1.2344c-14.6743 0-24.2822 8.7533-24.2822 24.5991v13.938h-16.3174v18.2698h16.3174v44.1931h20.083v-44.1931z" fill="#000"/></svg></span> 10658 </a><a href="https://www.instagram.com/amazinggrass/" aria-label="Open the Amazing Grass Instagram"> 10659 <span class="visually-hidden">Instagram</span> 10660 <span class="icon" aria-hidden="true"><svg fill="none" height="120" viewBox="0 0 120 120" width="120" xmlns="http://www.w3.org/2000/svg"><path d="m60 10c-13.606 0-15.2957.0667-20.6092.289-5.3357.2668-8.9595 1.0894-12.1387 2.3344-3.2903 1.2895-6.0916 3.0013-8.8484 5.7803-2.779 2.7568-4.5131 5.5581-5.7803 8.8484-1.245 3.1792-2.0676 6.803-2.3344 12.1387-.2445 5.3357-.289 7.0254-.289 20.6092s.0667 15.2957.289 20.6092c.2668 5.3357 1.0894 8.9595 2.3344 12.1387 1.2895 3.2903 3.0013 6.0916 5.7803 8.8481 2.7568 2.779 5.5581 4.513 8.8484 5.781 3.1792 1.222 6.8253 2.067 12.1387 2.334 5.3357.245 7.0254.289 20.6092.289s15.2957-.067 20.6092-.289c5.3357-.267 8.9595-1.112 12.1387-2.334 3.2903-1.29 6.0916-3.002 8.8481-5.781 2.779-2.7565 4.513-5.5578 5.781-8.8481 1.222-3.1792 2.067-6.8253 2.334-12.1387.245-5.3357.289-7.0254.289-20.6092s-.067-15.2957-.289-20.6092c-.267-5.3357-1.112-8.9817-2.334-12.1387-1.29-3.2903-3.002-6.0916-5.781-8.8484-2.7565-2.779-5.5578-4.5131-8.8481-5.7803-3.1792-1.245-6.8253-2.0676-12.1387-2.3344-5.3135-.2445-7.0032-.289-20.6092-.289zm0 9.004c13.3615 0 14.94.0667 20.2312.289 4.8688.2223 7.5145 1.0449 9.2708 1.7341 2.3566.9115 3.9795 1.9787 5.7581 3.735 1.7341 1.7341 2.8235 3.4015 3.735 5.7581.6892 1.7564 1.5119 4.402 1.7339 9.2708.223 5.269.289 6.8697.289 20.2312s-.066 14.94-.311 20.23
1066012c-.267 4.8689-1.0672 7.5145-1.7564 9.2708-.9559 2.3566-2.0008 3.9796-3.7572 5.7581-1.7563 1.7342-3.446 2.8235-5.7581 3.735-1.7341.6892-4.4242 1.5117-9.3152 1.7337-5.3135.223-6.8698.289-20.2535.289s-14.94-.066-20.2534-.311c-4.8689-.267-7.559-1.0669-9.3153-1.7561-2.3788-.956-4.0018-2.0009-5.7581-3.7573-1.7563-1.7563-2.8902-3.4459-3.735-5.7581-.7114-1.7341-1.5118-4.4242-1.7563-9.3152-.1779-5.2468-.2668-6.8697-.2668-20.1868 0-13.317.0889-14.9399.2668-20.2534.2668-4.8911 1.0671-7.5589 1.7563-9.3153.8671-2.3788 1.9787-4.0017 3.735-5.7581 1.7341-1.7341 3.3793-2.8679 5.7581-3.7572 1.7563-.6892 4.3797-1.4896 9.2708-1.7341 5.3135-.2001 6.8697-.2668 20.2312-.2668zm0 15.3402c-14.2063 0-25.6781 11.494-25.6781 25.678 0 14.2063 11.494 25.6781 25.6781 25.6781 14.2063 0 25.6781-11.494 25.6781-25.6781 0-14.184-11.494-25.678-25.6781-25.678zm0 42.3521c-9.2263 0-16.6741-7.4477-16.6741-16.6741 0-9.2263 7.4478-16.674 16.6741-16.674s16.6741 7.4477 16.6741 16.674c0 9.2264-7.4478 16.6741-16.6741 16.6741zm32.7257-43.3748c0 3.3348-2.7124
106606.0026-6.0027 6.0026-3.3348 0-6.0027-2.69-6.0027-6.0026s2.7123-6.0027 6.0027-6.0027c3.2903 0 6.0027 2.6901 6.0027 6.0027z" fill="#000"/></svg></span> 10661 </a><a href="https://www.tiktok.com/@amazinggrass" aria-label="Open the Amazing Grass TikTok"> 10662 <span class="visually-hidden">TikTok</span> 10663 <span class="icon" aria-hidden="true"><svg fill="none" height="120" viewBox="0 0 120 120" width="120" xmlns="http://www.w3.org/2000/svg"><path d="m102.986 50.4581c-.831.0796-1.665.1211-2.5.1249-9.1551.001-17.6938-4.5378-22.7089-12.0716v41.1066c0 16.7794-13.8293 30.382-30.8885 30.382s-30.8886-13.6026-30.8886-30.382 13.8294-30.382 30.8886-30.382c.6449 0 1.2751.0569 1.9091.0964v14.9717c-.634-.0747-1.2571-.1889-1.9091-.1889-8.7067 0-15.7649 6.9425-15.7649 15.5064s7.0582 15.5061 15.7649 15.5061c8.7082 0 16.3988-6.7482 16.3988-15.3136l.1519-69.8141h14.5623c1.3732 12.8445 11.9028 22.8773 24.9984 23.8188v16.6393" fill="#000"/></svg></span> 10664 </a><a href="https://www.youtube.com/channel/UCDOzF3WAoWndhy6O8Chn7tg/videos" aria-label="Open the Amazing Grass Youtube"> 10665 <span class="visually-hidden">YouTube</span> 10666 <span class="icon" aria-hidden="true"><svg fill="none" height="120" viewBox="0 0 120 120" width="120" xmlns="http://www.w3.org/2000/svg"><path d="m88.2484 25h-56.4747c-12.023 0-21.7516 9.751-21.7737 21.7523v26.4734c0 12.0233 9.7507 21.7743 21.7737 21.7743h56.4747c12.0226 0 21.7516-9.751 21.7516-21.7743v-26.4734c0-12.0233-9.729-21.7523-21.7516-21.7523zm-13.854 36.3126-22.5237 12.3543c-.9706.5294-1.8531-.1765-1.8531-1.3016v-25.3262c0-1.1251.9045-1.8311 1.8972-1.2796l22.6561 12.994c.9927.5736.8383 2.0297-.1765 2.5591z" fill="#010101"/></svg></span> 10667 </a></div><p>*These statements have not been evaluated by the Food and Drug Administration. This product is not intended to diagnose, treat, cure or prevent any disease.</p> 10668 </div> 10669 <img style="margin-top: 2rem;" height="42px" width="120px" alt="Better Business Bureau logo BBB Accredited Business" src="https://cdn.shopify.com/s/files/1/0013/4594/5674/files/toppng.com-smart-life-llc-bbb-accredited-business-logo-sv-1024x360_1.png?v=1742824638"></form></div></div><div class="footer-item" ><h4 class="footer-item__title h5 " style="display:block">Shop</h4><nav class="footer-item__menu rte"><span> 10670 <a href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=271949889641" >All Products</a> 10671 </span><span> 10672 <a href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243556457" >Super Greens</a> 10673 </span><span> 10674 <a href="/collections/protein" >Protein</a> 10675 </span><span> 10676 <a href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=618976837997" >Sweet Greens</a> 10677 </span><span> 10678 <a href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243884137" >Smoothie Boosters</a> 10679 </span><span> 10680 <a href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272241819753" >Grasses</a> 10681 </span><span> 10682 <a href="https://amazinggrass.com/collections/all-products?uff_wpx3qt_collections=272243720297" >Kidz</a> 10683 </span></nav></div><div class="footer-item" ><h4 class="footer-item__title h5 " style="display:block">Explore</h4><nav class="footer-item__menu rte"><span> 10684 <a href="https://amazinggrass.com/blogs/recipes/" >How to Enjoy</a> 10685 </span><span> 10686 <a href="/blogs/blog" >Our Community</a> 10687 </span><span> 10688 <a href="/pages/rewards" >Rewards</a> 10689 </span><span> 10690 <a href="/pages/refer-a-friend" >Refer a Friend</a> 10691 </span></nav></div><div class="footer-item" ><div class="footer-item__content rte">
10691<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-follow-button.en.esm.js"></script>
vendor: 1 bytes, line 10691
10691
10692<script type="module"> 10693 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-follow-button.en.esm.js"); 10694 10695 10696</script>
10696 10697 10698<shop-follow-button ux-mode="windoid" return-uri="https://amazinggrass.com/account/redirect" proxy="true"></shop-follow-button> 10699<div class="be-ix-link-block"><!--Link Block Targeting Div --></div> 10700 10701<style> 10702.be-label { 10703text-transform: uppercase; 10704font-size: 1.5rem!important; 10705font-weight: 800!important; 10706margin-bottom: 1.5rem!important; 10707line-height: 100%!important; 10708} 10709 10710.be-related-link-container { 10711flex-direction: column; 10712} 10713 10714.be-ix-link-block .be-related-link-container { 10715text-align: left!important; 10716margin-top: 0!important; 10717} 10718 10719.be-ix-link-block .be-related-link-container { 10720margin-top: 0!important; 10721} 10722 10723.be-ix-link-block .be-related-link-container .be-list .be-list-item { 10724margin-bottom:0!important; 10725} 10726.be-ix-link-block .be-related-link-container .be-list .be-list-item .be-related-link { 10727line-height: 0!important; 10728} 10729 10730@media (max-width: 767px) { 10731.be-ix-link-block .be-related-link-container .be-list .be-list-item { 10732margin-bottom:1rem!important; 10733} 10734} 10735 10736</style></div></div><div class="footer-item" ><nav class="footer-item__menu rte"><span> 10737 <a href="/pages/contact-us" >Contact Us</a> 10738 </span><span> 10739 <a href="/pages/faqs" >FAQs</a> 10740 </span><span> 10741 <a href="/pages/sustainability-commitment" >Sustainability</a> 10742 </span><span> 10743 <a href="/pages/sitemap" >Site Map</a> 10744 </span></nav></div><div class="footer-item" ><nav class="footer-item__menu rte"><span> 10745 <a href="/pages/terms-conditions" >Terms & Conditions</a> 10746 </span><span> 10747 <a href="/pages/privacy-policy" >Privacy Policy</a> 10748 </span><span> 10749 <a href="/pages/cookie-policy" >Cookies</a> 10750 </span><span> 10751 <a href="/pages/shipping-policy" >Shipping Policy</a> 10752 </span><span> 10753 <a href="/pages/subscribe" >Subscribe & Save</a> 10754 </span><span> 10755 <a href="/pages/supply-chain-act" >Supply Chain Act</a> 10756 </span><span> 10757 <a href="/pages/website-accessibility" >Website Accessibility</a> 10758 </span><span> 10759 <a href="/pages/60-day-satisfaction-guarantee" >60-Day Satisfaction Guarantee</a> 10760 </span><span> 10761 <a href="/pages/notice-of-financial-incentive" >Notice of Financial Incentive</a> 10762 </span><span> 10763 <a href="https://amazinggrass.com/pages/terms-and-conditions-for-tiktok-shop-creators" >Terms and Conditions for TikTok Shop Creators</a> 10764 </span><span> 10765 <a href="/pages/privacy-policy" >Your Privacy Choices</a> 10766 </span></nav></div></div> 10767 </div><div class="footer-bottom" data-js-inert> 10768 <div class="container--large gutter-top--regular gutter-bottom--regular rte"> 10769 10770 <span> 10771 Copyright © 2026 <a href="/">Amazing Grass</a>.<span class="powered-by-shopify"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a></span></span> 10772</div> 10773</div> 10774 10775<style> #shopify-section-sections--25765833638253__footer .footer-bottom div {display: none;} </style></div> 10776<!-- END sections: footer-group --><div id="shopify-section-popups" class="shopify-section"><style> 10777 .sidebar--top { 10778 border-radius: 0px; 10779 } 10780</style> 10781 10782</div><div id="shopify-section-popup-age-verification" class="shopify-section mount-popup"></div><div id="shopify-section-exit-intent-popup" class="shopify-section element--has-section-borders mount-exit-intent-popup"></div><div id="shopify-section-store-selector" class="shopify-section mount-popup mount-store-selector mount-map"><modal-box id="modal-store-selector" class="modal" 10783 data-options='{ 10784 "enabled": false, 10785 "showOnce": false, 10786 "enableClose": true, 10787 "blockTabNavigation": true 10788 }' 10789 tabindex="-1" role="dialog" aria-modal="true" 10790 style="display:none" 10791 > 10792 10793 <div class="container--large"> 10794 10795 <div class="store-selector-container modal-content"> 10796 10797 <div class="modal-heading"> 10798 <div class="modal-heading__text remove-empty-space">
10799 <span class="text-size--xlarge text-weight--bold">Pickup location</span> 10800 </div> 10801 <div class="modal-heading__actions"> 10802 <button class="modal-close" data-js-close data-js-first-focus><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 1L1 17" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 1L17 17" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></button> 10803 </div> 10804 </div> 10805 10806 <div class="grid grid--layout grid--no-stretch grid-2 grid-portable-1 " style="z-index:9"><interactive-map 10807 id="map-store-selector" 10808 class="map store-selector-map" 10809 data-style="silver" 10810 data-zoom="10" 10811 data-style="silver" 10812 tabindex="-1" 10813 ><ul class="map-addresses" data-js-map-addresses style="display:none"> 10814 <li 10815 data-id="my-store" 10816 data-latitude="46.7834818" 10817 data-longitude="23.5464733" 10818 data-marker="//amazinggrass.com/cdn/shop/t/110/assets/image-map-pin.png?v=61207427634511383791762367902" 10819 ><!-- map marker --></li> 10820 </ul><div class="map-object element--border-radius" data-js-map-object id="interactive-map-store-selector"></div> 10821 <div class="map-loader"><svg class="map-loader-element" viewBox="25 25 50 50"><circle cx="50" cy="50" r="20" fill="none" stroke-width="4"/></svg></div> 10822 </interactive-map><store-selector id="StoreSelector" class="store-selector" 10823 data-single-store 10824 data-main-selector 10825 data-map-selector="map-store-selector" 10826 > 10827 10828 <div class="store-selector-list"> 10829 <div class="store-selector-item store-selector-item--active " 10830 id="store-selector-0" 10831 data-handle="my-store" 10832 data-title="My store" 10833 10834 > 10835 10836 <div class="store-selector-item__header js-accordion-tab" role="tab" aria-selected="true" aria-controls="store-selector-tab-my-store"> 10837 10838 <div class="store-selector-item__container store-selector-item__input"> 10839 10840 <div class="store-selector-item__input-container"><input type="checkbox" class="styled-checkbox" id="store-select-my-store" style="display:none" ></div> 10841 <div> 10842 <span class="store-selector-item__title"><strong>My store</strong></span> 10843 <span class="store-selector-item__subtitle"> 10844 <strong>Free</strong>. 10845 Usually ready in 24 hrs 10846 </span> 10847 </div> 10848 10849 </div> 10850 10851 </div><div class="store-selector-item__body" role="tabpanel" id="store-selector-tab-my-store-store-selector-0"> 10852 10853 <div class="store-selector-item__address rte"> 10854 <p>123 John Doe Street<br/>Your Town, YT 12345</p><p> </p><p><strong>Store Hours<br/></strong>Sun: Closed<br/>Mon-Fri: 9:00 - 17:00<br/>Sat: 10:00 - 13:00</p><p><strong>What to expect at pickup</strong></p><p> </p> 10855 </div><div> 10856 <a target="_blank" href="http://www.google.com/maps/place/46.7834818,23.5464733 10857" class="button button--small button--outline"> 10858 Get directions 10859 </a> 10860 </div></div><div class="store-selector-item__closing-times" data-timezone="" style="display:none"> 10861 <p>Closed</p><p>Closing at 5pm</p><p>Closing at 5pm</p><p>Closing at 5pm</p><p>Closing at 5pm</p><p>Closing at 5pm</p><p>Closing at 1pm</p> 10862 </div></div> 10863 </div> 10864 10865 </store-selector></div></div> 10866 10867 </div> 10868 10869 <span class="modal-background" data-js-close></span> 10870 10871 </modal-box> 10872 10873
10873<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-store-selector.js?v=127151995086457915791762367902" defer></script>
10873 10874 <link rel="stylesheet" href="//amazinggrass.com/cdn/shop/t/110/assets/component-store-selector.css?v=51879867781492646131762367902" media="print" onload="this.media='all'" >
10874<script>window.initLocalMap = () => {}</script>
10874 10875
10875<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-interactive-map.js?v=29636882461153899111762367902" defer></script>
10875</div>
10875<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-modal.js?v=46064902799720906571762367902" defer></script>
10875 10876 <link rel="stylesheet" href="//amazinggrass.com/cdn/shop/t/110/assets/component-modal.css?v=43298919366441291661762367902" media="print" onload="this.media='all'"> 10877 <link rel="stylesheet" href="//amazinggrass.com/cdn/shop/t/110/assets/component-popup.css?v=20353316643599618331762367902" media="print" onload="this.media='all'"> 10878 10879
10879<script type="text/javascript"> 10880 10881 KROWN = { 10882 themeName: "Local", 10883 themeVersion: "2.6.2", 10884 settings: { 10885 shop_money_format: '${{amount}}', 10886 iso_code: '', 10887 cart_action: "overlay", 10888 google_maps_api_key: "", 10889 routes: { 10890 cart_url: "/cart", 10891 cart_add_url: "/cart/add", 10892 cart_change_url: "/cart/change", 10893 cart_update_url: "/cart/update", 10894 predictive_search_url: "/search/suggest", 10895 product_recommendations_url: "/recommendations/products" 10896 }, 10897 locales: { 10898 products_add_to_cart_button: `Add to cart`, 10899 products_preorder_button: `Pre-Order`, 10900 products_sold_out_variant: `Sold out`, 10901 products_unavailable_variant: `Unavailable`, 10902 products_variant_required: `Choose a variant first`, 10903 products_one_product: `<span class="pill"><span class="pill__icon" aria-hidden="true"><svg height="64" viewBox="0 0 64 64" width="64" xmlns="http://www.w3.org/2000/svg"><g style="fill:none;stroke:#202020;stroke-linecap:round;stroke-miterlimit:10;stroke-width:2;stroke-linejoin:round"><path d="m54 6v10h-10m-12 43a27 27 0 1 1 21.751-43m-8.766 39.678a26.819 26.819 0 0 1 -6.985 2.653m15.751-10.331a27.159 27.159 0 0 1 -4.711 4.945m8.751-12.932a26.821 26.821 0 0 1 -1.58 3.952"/><circle cx="32" cy="32" r="3"/><path d="m33.961 34.261 10.039 7.739m-12-30v17"/></g></svg></span><span class="pill__text text-size--small">There is only one product left!</span></span>`, 10904 products_few_products: `<span class="pill"><span class="pill__icon" aria-hidden="true"><svg height="64" viewBox="0 0 64 64" width="64" xmlns="http://www.w3.org/2000/svg"><g style="fill:none;stroke:#202020;stroke-linecap:round;stroke-miterlimit:10;stroke-width:2;stroke-linejoin:round"><path d="m54 6v10h-10m-12 43a27 27 0 1 1 21.751-43m-8.766 39.678a26.819 26.819 0 0 1 -6.985 2.653m15.751-10.331a27.159 27.159 0 0 1 -4.711 4.945m8.751-12.932a26.821 26.821 0 0 1 -1.58 3.952"/><circle cx="32" cy="32" r="3"/><path d="m33.961 34.261 10.039 7.739m-12-30v17"/></g></svg></span><span class="pill__text text-size--small">
10904There are {{ count }} products left</span></span>`, 10905 products_many_products: `<span class="pill"><span class="pill__icon" aria-hidden="true"><svg style="transform:scale(.9)" height="64" viewBox="0 0 64 64" width="64" xmlns="http://www.w3.org/2000/svg"><g style="fill:none;stroke:#202020;stroke-miterlimit:10;stroke-width:2;stroke-linejoin:round;stroke-linecap:round"><circle cx="32" cy="32" r="30" transform="matrix(.70710678 -.70710678 .70710678 .70710678 -13.254834 32)"/><path d="m20.998 32.015 8.992 8.992 16.011-16.011"/></g></svg></span><span class="pill__text text-size--small">There are {{ count }} products left</span></span>`, 10906 products_no_products: `<span class="pill"><span class="pill__icon" aria-hidden="true"><svg style="transform:scale(.9)" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g style="fill:none;stroke:#202020;stroke-miterlimit:10;stroke-width:2;stroke-linejoin:round;stroke-linecap:round"><circle cx="32" cy="32" r="30"/><path d="m32 15v24"/><circle cx="32" cy="47" r="2"/></g></svg></span><span class="pill__text text-size--small">There are no products left</span></span>`, 10907 products_preorder: `<span class="pill"><span class="pill__icon" aria-hidden="true"><svg style="transform:scale(.9)" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g style="fill:none;stroke:#202020;stroke-miterlimit:10;stroke-width:2;stroke-linejoin:round;stroke-linecap:round"><circle cx="32" cy="32" r="30"/><path d="m32 15v24"/><circle cx="32" cy="47" r="2"/></g></svg></span><span class="pill__text text-size--small"This product is out of stock, but you can still order it.</span></span>`, 10908 products_enough_products: `<span class="pill"><span class="pill__icon" aria-hidden="true"><svg style="transform:scale(.9)" height="64" viewBox="0 0 64 64" width="64" xmlns="http://www.w3.org/2000/svg"><g style="fill:none;stroke:#202020;stroke-miterlimit:10;stroke-width:2;stroke-linejoin:round;stroke-linecap:round"><circle cx="32" cy="32" r="30" transform="matrix(.70710678 -.70710678 .70710678 .70710678 -13.254834 32)"/><path d="m20.998 32.015 8.992 8.992 16.011-16.011"/></g></svg></span><span class="pill__text text-size--small">In stock</span></span>`, 10909 cart_general_error: `There was an error. Please refresh the page and try again.`, 10910 cart_announcement: `Item added to your cart`, 10911 store_selector_title_default: `Picking up?`, 10912 store_selector_title_selected: `My store`, 10913 store_selector_label: `Select store`, 10914 shipping_calculator_results_heading_one: `There is one shipping rate for your address`, 10915 shipping_calculator_results_heading_multiple: `Shipping rates for your address`, 10916 shipping_notice_remaining_to_free: `You are {{ remaining_amount }} away from free shipping.`, 10917 shipping_notice_eligible_for_free: `You are eligible for free shipping!`, 10918 slider_next_button_label: `Next slide`, 10919 slider_prev_button_label: `Previous slide`, 10920 slider_thumbnail_label: `Show slide {{ count }}` 10921 }, 10922 symbols: { 10923 zoom_out: `<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="9.08008" cy="9" r="8" stroke="var(--main-text)" stroke-width="2" style="fill:none!important" /><rect x="14.2988" y="15.9062" width="1.98612" height="6.65426" transform="rotate(-45 14.2988 15.9062)" fill="#111111"/><path d="M13.0801 8V10L5.08008 10L5.08008 8L13.0801 8Z" fill="#111111"/></svg>`, 10924 zoom_loader: `<svg class="zoom__loader-element" viewBox="25 25 50 50"><circle cx="50" cy="50" r="20" fill="none" stroke-width="4"/></svg>`, 10925 close: `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 1L1 17" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 1L17 17" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`, 10926 toggle_pack: `<span class="toggle__icon"><svg width="13" height="8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.414.086 7.9 6.57 6.485 7.985 0 1.5 1.414.086Z" fill="#000"/><path d="M12.985 1.515 6.5 8 5.085 6.586 11.571.101l1.414 1.414Z" fill="#000"/></svg></span>`, 10927 toggle_pack_alternate: `<span class="toggle__icon-alternate"><span class="toggle__icon--plus"><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 0H7V12H5V0Z" fill="black" style="stroke:none"/><path d="M12 5V7H0L1.19209e-07 5L12 5Z" fill="black" style="stroke:none"/></svg></span><span class="toggle__icon--minus"><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 5V7H0L1.19209e-07 5L12 5Z" fill="black" style="stroke:none"/></svg></span></span>` 10928 }, 10929 predictive_search_enabled: "true", 10930 predictive_search_script: "//amazinggrass.com/cdn/shop/t/110/assets/component-predictive-search.js?v=125379629480770845521762367902", 10931 predictive_search_placeholder: `<div class="search-results"><div class="search-block"><a class="search-item search-item--blank"><div class="thumbnail"></div><div class="content"><span class="title"></span><span class="caption"></span></div></a><a class="search-item search-item--blank"><div class="thumbnail"></div><div class="content"><span class="title"></span><span class="caption"></span></div></a><a class="search-item search-item--blank"><div class="thumbnail"></div><div class="content"><span class="title"></span><span class="caption"></span></div></a></div></div>` 10932 } 10933 } 10934 10935 </script>
10935 10936 10937
10937<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-quick-buy.js?v=105754429065841900231785199586" defer></script>
10937 10938
10938<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-pickup-availability.js?v=177086145694380957371762367902" defer></script>
10938 10939 10940
10940<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-slider.js?v=5292488153024560421762367902" defer></script>
10940<sidebar-drawer id="site-cart-sidebar" class="sidebar sidebar--right cart-is-empty " tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true" data-cart-items="0" style="display:none" data-js-site-cart-sidebar> 10941 10942 <div class="sidebar__header"> 10943 <span class="sidebar__title h5"> 10944 Shopping Cart 10945 (<span data-header-cart-count>0</span>) 10946 </span> 10947 <button class="sidebar__close" data-js-close> 10948 <span class="visually-hidden">Close sidebar</span> 10949 <span aria-hidden="true" aria-role="img"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 1L1 17" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 1L17 17" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></span> 10950 </button> 10951 </div> 10952 10953 <div class="sidebar__body"> 10954 10955 <div class="cart-form sidebar-large-padding"> 10956 10957<cart-form id="AjaxCartForm"><form action="/cart" method="post" novalidate class="cart__form cart--empty " id="cart"> 10958 10959 <div class="cart-holder" data-items="0"> 10960 10961 <div class="cart__items">Your cart is currently empty. 10962</div> 10963 10964 </div> 10965 10966 </form> 10967 10968 <span class="cart__count hidden" aria-hidden="true" data-cart-count>0</span> 10969 <span class="cart__total hidden" aria-hidden="true" data-cart-total><span class="wh-original-cart-total"><span class='wh-original-price'>$0.00</span></span><span class="wh-cart-total"></span><div class="additional-notes"><span class="wh-minimums-note"></span><span class="wh-extra-note"></span></div></span> 10970 10971</cart-form><a href="/collections/all" class="cart-continue button button--fullwidth button--solid button--regular"> 10972 Continue browsing 10973 </a> 10974 </div><cart-recommendations id="cart-recommendations" data-section="cart-recommendations" data-limit="6"></cart-recommendations> 10975
10975<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-cart-recommendations.js?v=177011707308135959241762367902" defer></script>
10975</div> 10976<div class="sidebar__footer hide-if-empty-cart" 10977 10978 > 10979 10980 10981<div id="AjaxCartSubtotal"> 10982 10983 <div class="cart__details 10984 10985 cart--empty 10986 "><div class="cart__total"> 10987 <span>Total</span> 10988 <strong class="text-size--heading"><span class="wh-original-cart-total"><span class='wh-original-price'>$0.00</span></span><span class="wh-cart-total"></span><div class="additional-notes"><span class="wh-minimums-note"></span><span class="wh-extra-note"></span></div></strong> 10989 </div><div class="cart__shipping text-color--opacity text-size--small">Taxes and <a href="/policies/shipping-policy">shipping</a> calculated at checkout</div> 10990 10991 <div class="flex-buttons" ><a id="ViewCart" href="/cart" class="button button--regular button--outline">View Cart</a><button id="CheckOut" class="button button--regular button--solid" type="submit" name="checkout" form="cart"> 10992 Checkout 10993 </button></div></div> 10994 10995</div></div> 10996 10997 </sidebar-drawer> 10998 10999
10999<script> 11000 new MutationObserver((mutations, observer) => { 11001 if ( document.getElementById('cart').classList.contains('cart--empty') ) { 11002 document.getElementById('site-cart-sidebar').classList.add('cart-is-empty'); 11003 } else { 11004 document.getElementById('site-cart-sidebar').classList.remove('cart-is-empty'); 11005 } 11006 }).observe(document.querySelector('.cart-form'), { 11007 attributes: false, childList: true, subtree: true 11008 }) 11009 </script>
11009<link rel="stylesheet" href="//amazinggrass.com/cdn/shop/t/110/assets/component-cart.css?v=53908694377763187701762367902" media="print" onload="this.media='all'"> 11010 11011
11011<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-quantity-selector.js?v=144545494899863674841762367902" defer></script>
11011<script src="//amazinggrass.com/cdn/shop/t/110/assets/component-cart.js?v=9179185852938988521762367902" defer></script>
11011<link rel="stylesheet" href="//amazinggrass.com/cdn/shop/t/110/assets/component-sidebar.css?v=151930244012131934581762367902" media="print" onload="this.media='all';"> 11012
11012<script src="//amazinggrass.com/cdn/shop/t/110/assets/section-header.js?v=104530267503396214681762367902" defer></script>
11012<div class="site-overlay" style="display:none"></div> 11013 11014 <link rel="stylesheet" href="//amazinggrass.com/cdn/shop/t/110/assets/section-main-product.css?v=8925472866760604211762367902" media="print" onload="this.media='all';">
11014<script> 11015 document.querySelectorAll('.rte a img').forEach(elm=>{ 11016 elm.parentNode.style.border = 'none'; 11017 }); 11018 </script>
11018<script src="//amazinggrass.com/cdn/shop/t/110/assets/instantpage.js?v=99963444960178710701762367902" type="module" defer></script>
11018
11018<script> 11019function getCartItems() { 11020 11021 fetch(window.Shopify.routes.root + 'cart.js') 11022 .then(response => response.json()) 11023 .then(cart => { 11024 const cartItems = cart.items.map(item => ({ 11025 item: String(item.id), 11026 quantity: item.quantity, 11027 price: parseFloat((item.final_line_price / 100).toFixed(2)) // Convert from cents to dollars 11028 })); 11029 11030 //globalCartItems = cartItems 11031 11032 var cart_and_customerData = { cartItems } 11033 11034 11035 11036 Shopify.analytics.publish('cart_data_ready', cart_and_customerData); 11037 11038 }) 11039 .catch(error => { 11040 console.error('Error fetching cart:', error); 11041 }); 11042 11043} 11044getCartItems() 11045 </script>
11045 11046 11047 11048<style> </style> 11049<div id="shopify-block-AN3hsdzZvTTlIb2FWQ__8218531531362863771" class="shopify-block shopify-app-block"> 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071
11071<script> 11072 let shopifyLiquidValuesApp7Ext = { 11073 product: { 11074 handle: null, 11075 productId: null, 11076 collections: [ 11077 11078 ], 11079 tags: null, 11080 type: null 11081 }, 11082 selected_or_first_available_variant: null, 11083 customer: { 11084 first_name: null, 11085 email: null, 11086 id: null, 11087 total_spent: null, 11088 customerTags: null 11089 }, 11090 cartData : {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}, 11091 markets: { 11092 handle: "us", 11093 id: 1439432809, 11094 } 11095 }; 11096 11097 window.shopifyLiquidValuesApp7Ext = shopifyLiquidValuesApp7Ext; 11098 </script>
11098 11099 11100 11101 11102
11102<script id="kite-app-data" type="application/json">{"userData":{"shopName":"amazinggrass.myshopify.com","storefrontAccessToken":"cad06149f31dab3e553caeb40637c937","countryCode":"US","countryName":"United States","currency":"USD","currencyInfo":{"code":"USD","symbol":"$","thousandsSeparator":",","decimalSeparator":".","symbolOnLeft":true,"spaceBetweenAmountAndSymbol":false,"decimalDigits":2},"customSettings":{"initialModalPopupCnt":0,"disableCartSettings":false,"addToCartBtnSelectors":null,"checkoutBtnSelectors":null,"customStyle":null,"addAfterAddTocartBtn":false,"addAftercheckoutBtn":false,"disableApp":false,"redirectToCartAfterBogoAddition":null,"redirectToCheckoutAfterBogoAddition":true,"languageMode":"SINGLE","isRegionalLocaleUrlRequiredForHref":true,"fireNewSideCartRefreshCodeFirst":true,"considerRequestListenerData":true,"fetchDataForFirstRenderInFreeGiftOnCartPage":true,"useListenForXmlHttpApiCallsV2":true,"block_script_in_home_page":false,"minify_storefront_assets":true},"createdAt":"2025-11-04T19:47:00.112Z","isSubscription":{"name":"Monthly-Shopify-Jul25-PLUS-ADDON_CD"},"isAppLevelMetafieldCreated":true,"isUseAppLevelMetafieldDisabled":false,"freeGiftCheckoutDebugTracingEnabled":false,"multipleCurrenciesInfo":{"USD":{"code":"USD","symbol":"$","thousandsSeparator":",","decimalSeparator":".","symbolOnLeft":true,"spaceBetweenAmountAndSymbol":false,"decimalDigits":2}}},"languageData":null,"promotionCampaigns":[],"freeGiftV2Campaigns":[],"discounts":[],"boGo":[],"shippingDiscount":[],"customDiscount":[],"unifiedWidget":[],"consolidatedCustomDiscount":[{"_id":"6a3e81445ef7bc66d3574a1c","shopName":"amazinggrass.myshopify.com","isDeleted":false,"title":"LDW","isEnabled":true,"mode":"CODE_APP_DISCOUNT","combinesWithOrderDiscounts":false,"combinesWithProductDiscounts":false,"combinesWithShippingDiscounts":true,"tags":[],"productDiscountsWithTagsOnSameCartLine":[],"formSeed":"crem7kf9","defaultKiteTag":"kite_ldw-4a1c","appliesOncePerCustomer":false,"usageLimit":null,"discountFunctionType":"CONSOLIDATED_CUSTOM_DISCOUNT","advancedSettings":{"useAbsoluteDiscountValue":false},"discountTriggeredRulesData":{"rulesGlobalOperator":"AND","rulesGlobalList":[{"rulesOperator":"AND","rulesList":[]}]},"segmentsData":{"rulesOperator":"AND","discountApplicationStrategy":"ALL","segmentsList":[{"segmentId":"3Hod2gFA","discountType":"PERCENTAGE","sortByOrder":"ascending","sortBasedOn":"productPrice","message":"","appliesToEachItem":false,"discountValue":"15","totalLimit":"0","limitPerProduct":"0","limitPerCart":"0","discountableSetLimit":"1","buyXRulesData":{"rulesOperator":"AND","itemCount":"1","rulesList":[]},"getYRulesData":{"rulesOperator":"AND","itemCount":"1","rulesList":[{"ruleId":"7CtCFsNl","ruleType":"allProducts","type":"PRODUCT","ruleValue":{"qualifierType":"overallQty","qualifierValue":"1","qualifierOperatorType":"greaterThanOrEqualTo"}},{"ruleId":"7YTxcIYP","ruleType":"productVariants","type":"PRODUCT","ruleValue":{"operatorType":"exclude","qualifierType":"none","qualifierOperatorType":"greaterThanOrEqualTo","qualifierValue":"1","value":[{"productId":"1387430903882","graphqlId":"gid://shopify/Product/1387430903882","title":"Super Greens Antioxidant Sweet Berry","handle":"antioxidant-sweet-berry-orac-greens-blend","images":["https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_SweetBerry_6076242.png?v=1764626532","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/02_AG_SuperGreens-SweetBerry30srv_B__01_4000x4000_19815185-0a65-457b-ad44-c22506f6ee3a.png?v=1764626963","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_SweetBerry_6076242-Left_1.png?v=1764629293","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_SweetBerry_6076242-Right_1.png?v=1764629293","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Super_Greens_-_Antioxidant_-_SweetBerry_-_15_srv_-_B_06_AG_SuperGreens-SweetBerry15srv_B__01_4000x4000_4b8f8317-0136-49ea-8583-5022b8649002.png?v=1764629335"],"hasOnlyDefaultVariant":false,"variants":[{"variantId":"12563966033994","variantGraphqlId":"gid://shopify/ProductVariant/12563966033994","variantTitle":"60 Servings","price":"49.99"},{"variantId":"12563966066762","variantGraphqlId":"gid://shopify/ProductVariant/12563966066762","variantTitle":"100 Servings","price":"78.99"}],"price":"49.99"},{"productId":"1387430805578","graphqlId":"gid://shopify/Product/1387430805578","title":"Super Greens Berry","handle":"berry-greens-blend","images":["https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_8.5OZ_Berry-6075291_3bcf9889-33bd-414e-b9c3-211965f228da.png?v=1763160425","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/AG_AMZ_B__SuperGreens-Berry_8.5oz_4000x4000_02.jpg?v=1763161219","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_8.5OZ_Berry-6075291-Left.png?v=1764629402","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_8.5OZ_Berry-6075291-Right.png?v=1764629402","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/AG_AMZ_B__SuperGreens-Berry_8.5oz_4000x4000_05.jpg?v=1764629402"],"hasOnlyDefaultVariant":false,"variants":[{"variantId":"12563966296138","variantGraphqlId":"gid://shopify/ProductVariant/12563966296138","variantTitle":"60 Servings","price":"49.99"},{"variantId":"12563966328906","variantGraphqlId":"gid://shopify/ProductVariant/12563966328906","variantTitle":"100 Servings","price":"78.99"}],"price":"49.99"},{"productId":"1387430772810","graphqlId":"gid://shopify/Product/1387430772810","title":"Super Greens Chocolate","handle":"chocolate-greens-blend","images":["https://cdn.shopify.com/s/files/1/0013/4594/5674/files/on-1154835_Image_01.png?v=1757968509","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_02.jpg?v=1757968410","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_03.jpg?v=1757968410","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_04.jpg?v=1757968411","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/SuperGreens-Chocolate-30srv-BAG_AMZ_B_SuperGreens-Chocolate_8.5oz_4000x4000_05.jpg?v=1757968410"],"hasOnlyDefaultVariant":false,"variants":[{"variantId":"52763727069549","variantGraphqlId":"gid://shopify/ProductVariant/52763727069549","variantTitle":"60 Servings","price":"49.99"},{"variantId":"52763963392365","variantGraphqlId":"gid://shopify/ProductVariant/52763963392365","variantTitle":"100 Servings","price":"78.99"}],"price":"49.99"},{"productId":"1387430838346","graphqlId":"gid://shopify/Product/1387430838346","title":"Super Greens Energy Lemon Lime","handle":"lemon-lime-energy-greens-blend","images":["https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Front.png?v=1768924035","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/03_AG_SuperGreens-LemonLime30srv_B__01_4000x4000_6f5906e0-e242-430c-b1a6-3c86f3eca935.png?v=1770671565","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Left.png?v=1770671565","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238-Right.png?v=1770671565","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_Lemon_Lime_6076238_NutrFacts.jpg?v=1770671565"],"hasOnlyDefaultVariant":false,"variants":[{"variantId":"12563966230602","variantGraphqlId":"gid://shopify/ProductVariant/12563966230602","variantTitle":"100 Servings","price":"78.99"}],"price":"78.99"},{"productId":"1485694402634","graphqlId":"gid://shopify/Product/1485694402634","title":"Super Greens The Original","handle":"greens-blend-the-original","images":["https://cdn.shopify.com/s/files/1/0013/4594/5674/files/on-C101349_Image_01.png?v=1756394358","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_02.jpg?v=1757431359","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_06.jpg?v=1757431359","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_04.jpg?v=1757431359","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/Super_Greens_-_Original_-_30_srv_-_B_AG_AMZ_B__SuperGreens-Original_8.5oz_4000x4000_03.jpg?v=1757431359"],"hasOnlyDefaultVariant":false,"variants":[{"variantId":"13610019160138","variantGraphqlId":"gid://shopify/ProductVariant/13610019160138","variantTitle":"60 Servings","price":"49.99"},{"variantId":"51713033306477","variantGraphqlId":"gid://shopify/ProductVariant/51713033306477","variantTitle":"100 Servings","price":"78.99"}],"price":"49.99"},{"productId":"1387430936650","graphqlId":"gid://shopify/Product/1387430936650","title":"Super Greens Energy Watermelon","handle":"watermelon-energy-greens-blend","images":["https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Front.png?v=1763160791","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/AG_SuperGreens_Energy_7.4oz_Watermelon_B__03.png?v=1763161164","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_14.8OZ_Watermelon_6076237-Front.png?v=1763161164","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Left.png?v=1763161164","https://cdn.shopify.com/s/files/1/0013/4594/5674/files/US_SuperGreens_7.4OZ_Watermelon_6076236-Right.png?v=1763161164"],"hasOnlyDefaultVariant":false,"variants":[{"variantId":"12563965902922","variantGraphqlId":"gid://shopify/ProductVariant/12563965902922","variantTitle":"60 Servings","price":"49.99"}],"price":"49.99"}]}}]}}]},"customerEligibilityRules":{"rulesOperator":"AND","rulesList":[]},"salesChannelSettings":{"channels":["ONLINE_STORE"],"posSettings":{"applicability":"ALL","operator":"include","locationIds":[]}},"strikethroughSettings":{"isEnabled":false},"discountOnSubscriptionProducts":{"appliesOnSubscription":false,"recurringCycleLimit":1},"campaignScheduleData":{"campaignSchedule":"SCHEDULED","startDate":"2026-09-01","endD
11102ate":"2026-09-08","startTime":"00:00","endTime":"08:00","startDateTime":"2026-09-01T07:00:00Z","endDateTime":"2026-09-08T15:00:00Z","startDateTime_UTC":"2026-09-01T07:00:00Z","endDateTime_UTC":"2026-09-08T15:00:00Z","timeZone":"PDT"},"metricsArray":["allProducts","productVariants"],"discountId":"gid://shopify/DiscountCodeNode/1777611866477","discountData_shopifyResponse":{"discountId":"gid://shopify/DiscountCodeNode/1777611866477","title":"LDW","startsAt":"2026-09-01T07:00:00Z","appDiscountType":{"appKey":"e51a4e2686c9072bb405bf25837fe8f7","functionId":"c8509985-c232-4d4e-86ce-77ce67cabb29"},"discountClasses":["PRODUCT"],"usageLimit":null,"appliesOncePerCustomer":false,"appliesOnSubscription":true,"recurringCycleLimit":1,"combinesWith":{"orderDiscounts":false,"productDiscounts":false,"shippingDiscounts":true,"productDiscountsWithTagsOnSameCartLine":[]}},"customerSegmentIds":[],"createdAt":"2026-06-26T13:40:20.906Z","updatedAt":"2026-07-14T19:45:54.708Z","__v":0,"metafieldId":"gid://shopify/Metafield/191304880685421"}],"consolidatedCombinedDiscount":[],"freeGiftCheckout":[],"storefrontConfig":{"theme":{},"widgetTypeDesign":{},"widgetPriority":{}},"fileRequest":{"freeGiftLogicv1":true,"freeGiftV1":false,"kiteV0Features":true,"customDiscountLogic":true,"freeGiftV2":false,"globalWidgets":false}}</script>
11102 11103 11104
11104<script> 11105 if (window && !window.kite_app_data) { 11106 let metafieldData; 11107 11108 const jsonDataElement = document.getElementById('kite-app-data'); 11109 const jsonString = jsonDataElement ? jsonDataElement.textContent : ''; 11110 11111 try { 11112 metafieldData = JSON.parse(jsonString); 11113 } catch (error) { 11114 console.error("Failed to parse metafield data:", error); 11115 metafieldData = { errorMsg: "This is not a valid JSON" }; 11116 } 11117 11118 if (metafieldData && !metafieldData?.errorMsg) { 11119 window.kite_app_data = metafieldData; 11120 } 11121 11122 if (jsonDataElement) { 11123 jsonDataElement.textContent = ''; 11124 } 11125 } 11126 </script>
11126 11127 11128 11129 11130
11130<script> 11131 window.gfgFileStatus = { 11132 base: "NEED_TO_LOAD", 11133 freeGiftV1: "false", 11134 freeGiftV2: "false", 11135 kiteV0Features: "true", 11136 customDiscountLogic: "true", 11137 globalWidgets: "true" 11138 }; 11139 // Convert boolean strings to status (skip 'base' which is always NEED_TO_LOAD) 11140 Object.keys(window.gfgFileStatus).forEach(function(key) { 11141 if (key === 'base') return; 11142 window.gfgFileStatus[key] = window.gfgFileStatus[key] === "true" ? "NEED_TO_LOAD" : "DONT_LOAD"; 11143 }); 11144 </script>
11144 11145 11146 11147 11148 <link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0d7ea-9983-7363-9a86-3df5cd6d5786/free-gift-28-811/assets/freeGiftLogicv1.min.css" media="print" onload="this.media='all'" /> 11149 <noscript><link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0d7ea-9983-7363-9a86-3df5cd6d5786/free-gift-28-811/assets/freeGiftLogicv1.min.css" /></noscript> 11150
11150<script defer src="https://cdn.shopify.com/extensions/01a0d7ea-9983-7363-9a86-3df5cd6d5786/free-gift-28-811/assets/freeGiftLogicv1.min.js"></script>
11150 11151 11152 11153 11154 11155 11156 11157 11158
11158<script async src="https://cdn.shopify.com/extensions/01a0d7ea-9983-7363-9a86-3df5cd6d5786/free-gift-28-811/assets/kiteV0Features.min.js"></script>
11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168
11168<script async src="https://cdn.shopify.com/extensions/01a0d7ea-9983-7363-9a86-3df5cd6d5786/free-gift-28-811/assets/customDiscountLogic.min.js"></script>
11168 11169 11170 11171 11172 11173 11174 11175 11176 11177
11177<script> 11178 (function () { 11179 // globalWidgets must NOT stay NEED_TO_LOAD if it fails (error) OR never 11180 // settles (hang) â base waits on it in GFG_DEPENDENCIES, so it would block 11181 // ALL discount modules. A once-only settle() flips it to DONT_LOAD and 11182 // re-fires gfg:module:loaded so the base dependency waiter proceeds. On a 11183 // successful load the script sets its own status; we only clear the timeout. 11184 var settled = false; 11185 var timer; 11186 function settle(failed) { 11187 if (settled) return; 11188 settled = true; 11189 if (timer) { clearTimeout(timer); timer = null; } 11190 if (failed) { 11191 if (window.gfgFileStatus) { window.gfgFileStatus.globalWidgets = 'DONT_LOAD'; } 11192 document.dispatchEvent(new CustomEvent('gfg:module:loaded', { detail: { moduleName: 'globalWidgets' } })); 11193 } 11194 } 11195 var s = document.createElement('script'); 11196 s.async = true; 11197 s.src = "https:\/\/cdn.shopify.com\/extensions\/01a0d7ea-9983-7363-9a86-3df5cd6d5786\/free-gift-28-811\/assets\/globalWidgets.min.js"; 11198 s.addEventListener('load', function () { settle(false); }); 11199 s.addEventListener('error', function () { settle(true); }); 11200 timer = setTimeout(function () { settle(true); }, 15000); 11201 document.head.appendChild(s); 11202 })(); 11203 </script>
11203 11204 11205 11206 11207 11208 11209</div><div id="shopify-block-AVElYbHJnemxjbVVrN__10840395464443086010" class="shopify-block shopify-app-block"> 11210 11211
11212<script> 11213 console.log("[Alia app extension] v1.0.5"); 11214 11215 const BACKEND_URL = "https://backend.alia-prod.com"; 11216 11217 window.ALIA_SHOPIFY_EXTENSION_INFO = { 11218 customerID: "", 11219 country: "US", 11220 market: "us", 11221 language: "en" 11222 } 11223 11224 if (document.readyState !== "loading") { 11225 initAlia(); 11226 } else { 11227 document.addEventListener("DOMContentLoaded", () => initAlia(), { once: true }); 11228 } 11229 11230 async function initAlia() { 11231 const url = BACKEND_URL + "/public/launcher.js?shopifyUrl=amazinggrass.myshopify.com"; 11232 const script = document.createElement("script"); 11233 script.src = url; 11234 script.async = true; 11235 document.head.appendChild(script); 11236 } 11237</script>
11237 11238 11239</div><div id="shopify-block-AOVVNWUZoVnczUmE2W__2209279550302034861" class="shopify-block shopify-app-block"><!--<div> 11240 11241 11242 11243 <div class="rh-quiz-list page-width"> 11244 <div class="rh-info-box mtop-20 mbot-20"> 11245 <p><b>Choose the ID of the Quiz you want to render (link popup, external link popup, email link popup):</b></p> 11246 <ul> 11247 11248 <li style="margin-bottom: 15px;">AG Product Recommendation Quiz<br><b>#quiz-EgHZ6x3</b> (internal) or <b>https://amazinggrass.com/#quiz-EgHZ6x3</b> (external, email)</li> 11249 11250 </ul> 11251 </div> 11252 </div> 11253 11254</div>--> 11255 11256 11257</div>
11257<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
11257 11258</body> 11259</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.