PageSourceSearch

https://thrivemeals.com.au/

html thrivemeals.com.au collected 2026-10-09 22:14:13 UTC 501,473 bytes, 9,367 lines download raw bytes

1<!doctype html> 
2<!--[if IE 9]> <html class="ie9 no-js supports-no-cookies" lang="en"> <![endif]-->
3<!-- [if (gt IE 9)|!(IE)]><! -->
4<html class="no-js supports-no-cookies " lang="en">
5  <!-- <![endif] -->
6  <head><!-- ! Yoast SEO -->
7   
8    
9
10<Meta name="robots" content="index, follow, max-snippet:-1, max-image-preview: large, max-video-preview:-1" />
11    <!-- Google Tag Manager -->
12    
12<script>
13    
14      window.addEventListener('DOMContentLoaded', function () {
15        setTimeout(function() {
vendor: 378 bytes, lines 15-20
15
16          (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
17          new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
18          j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
19          'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
20          })(window,document,'script','dataLayer','
20GTM-PWRXKR8
vendor: 12 bytes, lines 20-21
20');
21        
21}, 5000); // delay by 2s
22      });
23    </script>
23
24
25    <!-- Remove "Powered By Gorgias in the Chatbot" -->
26    
26<script>
27var initGorgiasChatPromise = (window.GorgiasChat) ? window.GorgiasChat.init() : new Promise(function (resolve) { window.addEventListener('gorgias-widget-loaded', function () { resolve();})});
28
29initGorgiasChatPromise.then(async () => {
30  GorgiasChat.hidePoweredBy(true)
31})
32</script>
32
33
34    <!-- Basic and Helper page needs -->
35    <meta charset="utf-8">
36    <meta http-equiv="x-ua-compatible" content="IE=edge">
37    <meta name="viewport" content="width=device-width,initial-scale=1">
38    <meta name="theme-color" content="#4cb849"><link rel="canonical" href="https://thrivemeals.com.au/"><link rel="shortcut icon" href="//thrivemeals.com.au/cdn/shop/files/1ve_Logo_32x32.png?v=1684975472" type="image/png"><!-- Title and description -->
39    
40<title>Healthy Meals Delivered To Your Door | THR1VE
41  
42  
43  
44  &ndash; Thrive Meals</title><meta name="description" content="THR1VE - look, feel and perform your best with healthy meals delivered straight to your door. Enjoy nutritionist designed meals and plans using the best market-fresh, seasonal Aussie produce."><!-- Helpers -->
45    
46<meta property="og:type" content="website">
47<meta property="og:title" content="Healthy Meals Delivered To Your Door | THR1VE">
48<meta property="og:description" content="THR1VE - look, feel and perform your best with healthy meals delivered straight to your door. Enjoy nutritionist designed meals and plans using the best market-fresh, seasonal Aussie produce.">
49
50<meta property="og:url" content="https://thrivemeals.com.au/">
51<meta property="og:site_name" content="Thrive Meals">
52
53
54
55<meta name="twitter:card" content="summary">
56
57
58<meta name="twitter:title" content="Healthy Meals Delivered To Your Door | THR1VE">
59<meta name="twitter:description" content="THR1VE - look, feel and perform your best with healthy meals delivered straight to your door. Enjoy nutritionist designed meals and plans using the best market-fresh, seasonal Aussie produce.">
60
61
62
63    <!-- CSS -->
64    <style>
65      *,::after,::before{box-sizing:border-box}body{font-family: var(--font-stack-body);font-weight: var(--font-weight-body);font-style: var(--font-style-body);}h1,h2,h3,h4,h5,h6{font-family: var(--font-stack-header);font-weight: var(--font-weight-header);font-style: var(--font-style-header);}
66      @font-face {
67  font-family: Montserrat;
68  font-weight: 700;
69  font-style: normal;
70  font-display: swap;
71  src: url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n7.3c434e22befd5c18a6b4afadb1e3d77c128c7939.woff2") format("woff2"),
72       url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n7.5d9fa6e2cae713c8fb539a9876489d86207fe957.woff") format("woff");
73}
74
75      @font-face {
76  font-family: Montserrat;
77  font-weight: 500;
78  font-style: normal;
79  font-display: swap;
80  src: url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n5.07ef3781d9c78c8b93c98419da7ad4fbeebb6635.woff2") format("woff2"),
81       url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n5.adf9b4bd8b0e4f55a0b203cdd84512667e0d5e4d.woff") format("woff");
82}
83
84      @font-face {
85  font-family: Montserrat;
86  font-weight: 400;
87  font-style: normal;
88  font-display: swap;
89  src: url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n4.81949fa0ac9fd2021e16436151e8eaa539321637.woff2") format("woff2"),
90       url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n4.a6c632ca7b62da89c3594789ba828388aac693fe.woff") format("woff");
91}
92
93      @font-face {
94  font-family: Montserrat;
95  font-weight: 700;
96  font-style: normal;
97  font-display: swap;
98  src: url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n7.3c434e22befd5c18a6b4afadb1e3d77c128c7939.woff2") format("woff2"),
99       url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n7.5d9fa6e2cae713c8fb539a9876489d86207fe957.woff") format("woff");
100}
101
102      @font-face {
103  font-family: Montserrat;
104  font-weight: 700;
105  font-style: normal;
106  font-display: swap;
107  src: url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n7.3c434e22befd5c18a6b4afadb1e3d77c128c7939.woff2") format("woff2"),
108       url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n7.5d9fa6e2cae713c8fb539a9876489d86207fe957.woff") format("woff");
109}
110
111      @font-face {
112  font-family: Montserrat;
113  font-weight: 400;
114  font-style: italic;
115  font-display: swap;
116  src: url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_i4.5a4ea298b4789e064f62a29aafc18d41f09ae59b.woff2") format("woff2"),
117       url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_i4.072b5869c5e0ed5b9d2021e4c2af132e16681ad2.woff") format("woff");
118}
119
120      @font-face {
121  font-family: Montserrat;
122  font-weight: 700;
123  font-style: italic;
124  font-display: swap;
125  src: url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_i7.a0d4a463df4f146567d871890ffb3c80408e7732.woff2") format("woff2"),
126       url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_i7.f6ec9f2a0681acc6f8152c40921d2a4d2e1a2c78.woff") format("woff");
127}
128
129      @font-face {
130  font-family: Montserrat;
131  font-weight: 600;
132  font-style: normal;
133  font-display: swap;
134  src: url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n6.1326b3e84230700ef15b3a29fb520639977513e0.woff2") format("woff2"),
135       url("//thrivemeals.com.au/cdn/fonts/montserrat/montserrat_n6.652f051080eb14192330daceed8cd53dfdc5ead9.woff") format("woff");
136}
137
138      @font-face {
139            font-family: Rubik;
140            font-weight: 900;
141            font-style: normal;
142            font-display: swap;
143            src: url("//thrivemeals.com.au/cdn/fonts/rubik/rubik_n9.3f4d0724475b415c135f62c66bd7bc809d96e9ee.woff2?h1=dGhyaXZlLW1lYWxzLW9wcGVuaGVpbWVyLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=dGhyaXZlbWVhbHMuY29tLmF1&hmac=46e7a41aad8b75f38f4bf9cfdd4da223878a8bad60752
14363033c07a6c3f035afc") format("woff2"),
144                 url("//thrivemeals.com.au/cdn/fonts/rubik/rubik_n9.12723f00a16a09f47e0c40e11618903df4206391.woff?h1=dGhyaXZlLW1lYWxzLW9wcGVuaGVpbWVyLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=dGhyaXZlbWVhbHMuY29tLmF1&hmac=bf2b3e5fc1f7c4e8a1dd48a6bea14de638c1cd64bb812eb6bfa43b877ba600e1") format("woff");
145          }
146
147        
148        .cardFilterIcons ul{
149          display:flex;
150          flex-wrap:wrap;
151        }
152        .cardFilterIcons li  {
153          position: relative;
154          width: 32px;
155          height: 32px;
156          margin-inline-end: 5px;
157        }
158        li.filterTooltip:hover:before {
159          content: attr(tip-title);
160          position: absolute;
161          top: 0;
162          white-space: nowrap;
163          top: -100%;
164          left: 50%;
165          width: max-content;
166          transform: translate(-50%);
167          background: #4cb849;
168          color: #ffffff;
169          padding: 2px 7px;
170          border-radius: clamp(0px,30px,5px);
171        }
172        li.filterTooltip:hover:after {
173          top: -35%;
174          left: 50%;
175          border: solid transparent;
176          content: "";
177          height: 0;
178          width: 0;
179          position: absolute;
180          pointer-events: none;
181          border-color: transparent;
182          border-top-color: #4cb849;
183          border-width: .3125rem;
184          margin-inline-start: -.3125rem;
185        }
186    </style>
187    
188    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
189<link rel="preload" href="//thrivemeals.com.au/cdn/shop/t/214/assets/added-for-optimize-common.css?v=76239766610092170891783673534" as="style" onload="this.onload=null;this.rel='stylesheet'">
190<noscript><link rel="stylesheet" href="//thrivemeals.com.au/cdn/shop/t/214/assets/added-for-optimize-common.css?v=76239766610092170891783673534"></noscript>
191  <link rel="preload" href="//thrivemeals.com.au/cdn/shop/t/214/assets/added-for-optimize-bypass-left.css?v=181734138381596880221783673534" as="style" onload="this.onload=null;this.rel='stylesheet'">
192  <noscript><link rel="stylesheet" href="//thrivemeals.com.au/cdn/shop/t/214/assets/added-for-optimize-bypass-left.css?v=181734138381596880221783673534"></noscript>
193<link rel="preload" href="//thrivemeals.com.au/cdn/shop/t/214/assets/added-for-optimize-css-after.css?v=15458344354482757771788746160" as="style" onload="this.onload=null;this.rel='stylesheet'">
194<noscript><link rel="stylesheet" href="//thrivemeals.com.au/cdn/shop/t/214/assets/added-for-optimize-css-after.css?v=15458344354482757771788746160"></noscript>  <!-- Header hook for plugins -->
195    
195<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
195<meta name="google-site-verification" content="AH3KQYZOWLv5ZJj89QbHp57rWpqz2FYA5w-uZpNkcpc">
196<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/72982430012/digital_wallets/dialog">
197<meta id="in-context-paypal-metadata" data-shop-id="72982430012" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="AUD">
198<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
198<script async="async" src="/checkouts/internal/preloads.js?locale=en-AU&default_configuration_id=56328508"></script>
198
199<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
200<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-AU&default_configuration_id=56328508&shop_id=72982430012" crossorigin="anonymous"></script>
vendor: 1 bytes, line 200
200
201<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":72982430012,"countryCode":"AU","currencyCode":"AUD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/72982430012","merchantName":"Thrive Meals","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","jcb"],"total":{"type":"pending","label":"Thrive Meals","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 201
201
202<script id="shopify-features" type="application/json">{"accessToken":"2ce7fa426808991aa7c460dfe0b0735c","betas":["rich-media-storefront-analytics"],"domain":"thrivemeals.com.au","predictiveSearch":true,"shopId":72982430012,"locale":"en"}</script>
vendor: 1 bytes, line 202
202
203<script>var Shopify = Shopify || {};
204Shopify.shop = "thrive-meals-oppenheimer.myshopify.com";
205Shopify.locale = "en";
206Shopify.currency = {"active":"AUD","rate":"1.0"};
207Shopify.country = "AU";
208Shopify.theme = {"name":"Site Supplements with GTM 12.7.2026 [Production]","id":186870890812,"schema_name":"Vegist","schema_version":"1.22","theme_store_id":null,"role":"main"};
209Shopify.theme.handle = "null";
210Shopify.theme.style = {"id":null,"handle":null};
211Shopify.cdnHost = "thrivemeals.com.au/cdn";
212Shopify.routes = Shopify.routes || {};
213Shopify.routes.root = "/";
214Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
215Shopify.SignInWithShop = Shopify.SignInWithShop || {};
216Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
217Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 217
217
218<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 218
218
219<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 219
219
220<script>
221  window.ShopifyPay = window.ShopifyPay || {};
222  window.ShopifyPay.apiHost = "shop.app\/pay";
223  window.ShopifyPay.redirectState = null;
224</script>
vendor: 1 bytes, line 224
224
225<script>
226  window.Shopify = window.Shopify || {};
227  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
228  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
229  window.Shopify.SignInWithShop.eligible = true;
230</script>
vendor: 1 bytes, line 230
230
231<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 231
231
232<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 232
232
233<script type="module">
234  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
235
236  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
237
238</script>
vendor: 1 bytes, line 238
238
239<script>
240  window.Shopify = window.Shopify || {};
241  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
242  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"]};
243</script>
vendor: 1 bytes, line 243
243
244<script>(function() {
245  var isLoaded = false;
246  function asyncLoad() {
247    if (isLoaded) return;
248    isLoaded = true;
249    var urls = ["https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=U988Pp\u0026shop=thrive-meals-oppenheimer.myshopify.com"];
250    for (var i = 0; i < urls.length; i++) {
251      var s = document.createElement('script');
252      s.type = 'text/javascript';
253      s.async = true;
254      s.src = urls[i];
255      var x = document.getElementsByTagName('script')[0];
256      x.parentNode.insertBefore(s, x);
257    }
258  };
259  if(window.attachEvent) {
260    window.attachEvent('onload', asyncLoad);
261  } else {
262    window.addEventListener('load', asyncLoad, false);
263  }
264})();</script>
vendor: 1 bytes, line 264
264
265<script id="__st">var __st={"a":72982430012,"offset":39600,"reqid":"18ecebbb-aee1-45e4-9956-be2d9038bfac-1791584052","pageurl":"thrivemeals.com.au\/","u":"5efd7c8a4b7b","p":"home"};</script>
vendor: 1 bytes, line 265
265
266<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 266
266
267<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!1,!0)}();</script>
vendor: 1 bytes, line 267
267
268<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//thrivemeals.com.au/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 268
268
269<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 = "//thrivemeals.com.au/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>
269<script crossorigin="anonymous" defer="defer" src="//thrivemeals.com.au/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 269
269
270<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 270
270
271<script>
272  window.Shopify = window.Shopify || {};
273  window.Shopify.MCP = window.Shopify.MCP || {};
274  window.Shopify.MCP.enabled = true;
275  window.Shopify.MCP.shop = "thrive-meals-oppenheimer.myshopify.com";
276  window.Shopify.MCP.mcpEndpoint = "https:\/\/thrivemeals.com.au\/api\/mcp";
277  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?\"\nSet policy_types to also get the store's written policies (full text and URL).\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."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
278</script>
vendor: 1 bytes, line 278
278
279<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("\/\/thrivemeals.com.au\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-f427de6a.js","sha256-ypGF+5vIq4Psw4WG7nsVtdd\/TCfsJWnrNuACdqLCElY=");})();
280</script>
vendor: 1 bytes, line 280
280
281<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://thrivemeals.com.au/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
282</script>
vendor: 1 bytes, line 282
282
283<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
284  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);
285</script>
vendor: 1 bytes, line 285
285
286<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})}}));
287</script>
287
288<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://thrivemeals.com.au/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
289<style id="shopify-accelerated-checkout-cart">
290        #shopify-buyer-consent {
291  margin-top: 1em;
292  display: inline-block;
293  width: 100%;
294}
295
296#shopify-buyer-consent.hidden {
297  display: none;
298}
299
300#shopify-subscription-policy-button {
301  background: none;
302  border: none;
303  padding: 0;
304  text-decoration: underline;
305  font-size: inherit;
306  cursor: pointer;
307}
308
309#shopify-subscription-policy-button::before {
310  box-shadow: none;
311}
312
313      </style>
314
315<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
315
316    
317<!--[if lt IE 9]>
318<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/html5shiv.min.js?v=82288979872422875571783673534" async="async"></script>
vendor: 1 bytes, line 318
318
319<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/respond.min.js?v=53972" async="async"></script>
319
320<link href="//thrivemeals.com.au/cdn/shop/t/214/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
321<link href="//thrivemeals.com.au/search?q=43b7cbb18859bc7faa0f414467c75666" id="respond-redirect" rel="respond-redirect" />
322<script src="//thrivemeals.com.au/search?q=43b7cbb18859bc7faa0f414467c75666" type="text/javascript"></script>
322
323<![endif]-->
324
325
326    <!-- JS -->
326<script>
327  // Antigravity: Detect customer login change or logout to clear stale localStorage data
328  (function() {
329    const currentCustomerEmail = null;
330    const storedCustomerEmail = localStorage.getItem("logged_in_customer_email");
331
332    let shouldClear = false;
333    if (currentCustomerEmail) {
334      // User is logged in
335      if (storedCustomerEmail !== currentCustomerEmail) {
336        // Different user logged in, or fresh login
337        shouldClear = true;
338      }
339    } else {
340      // Guest user (not logged in)
341      if (storedCustomerEmail) {
342        // User has logged out
343        shouldClear = true;
344      }
345    }
346
347    if (shouldClear) {
348      console.log("Antigravity: Clearing previous session data from localStorage");
349      localStorage.removeItem("window_state");
350      localStorage.removeItem("deliveryInfo");
351      localStorage.removeItem("widgetAddress");
352      localStorage.removeItem("shipping_amount");
353      
354      if (currentCustomerEmail) {
355        localStorage.setItem("logged_in_customer_email", currentCustomerEmail);
356      } else {
357        localStorage.removeItem("logged_in_customer_email");
358      }
359    } else if (currentCustomerEmail) {
360      localStorage.setItem("logged_in_customer_email", currentCustomerEmail);
361    }
362  })();
363
364  const isLogin = false;
365  const window_state = JSON.parse(localStorage.getItem("window_state") || "{}");
366  const loca_del = JSON.parse(localStorage.getItem("deliveryInfo") || "{}");
367  const loca_address = JSON.parse(localStorage.getItem("widgetAddress") || "{}");
368
369  window.state = {};
370
371  
372
373    const __DEFAULT_STATE__ = {
374      step: window_state.step ? window_state.step : 1,
375      phone: window_state.phone ? window_state.phone : "",
376      email: window_state.email ? window_state.email : "",
377
378      address: loca_address.address_line_combined ? loca_address.address_line_combined : (window_state.address ? window_state.address : ""),
379      suburb: loca_address.locality_name ? loca_address.locality_name : (window_state.suburb ? window_state.suburb : ""),
380      state: loca_address.state_territory ? loca_address.state_territory : (window_state.state ? window_state.state : ""),
381      postcode: loca_address.postcode ? loca_address.postcode : (window_state.postcode ? window_state.postcode : ""),
382      date: loca_del.deliveryDate ? loca_del.deliveryDate : (window_state.date ? window_state.date : ""),
383      time: loca_del.deliveryStart
384        ? "[" + loca_del.deliveryStart.replace(/[\[\]]/g, '') + " - " + loca_del.deliveryEnd.replace(/[\[\]]/g, '') + "]"
385        : (window_state.time ? window_state.time : ""),
386      plan: window_state.plan ? window_state.plan : "subscribe",
387      freq: window_state.freq ? window_state.freq : "WeeklySubscription",
388      started: "",
389      shipping_amount: window_state.shipping_amount ? window_state.shipping_amount : 0,
390      splan_seclected: window_state.splan_seclected ? window_state.splan_seclected : ""
391    };
392
393    if (__DEFAULT_STATE__.time && (__DEFAULT_STATE__.time !== '')) {
394      __DEFAULT_STATE__.time = __DEFAULT_STATE__.time.replace(/[\[\]]/g, '');
395    }
396
397  
398
399  const state = __DEFAULT_STATE__;
400  window.state = state;
401
402  console.log('__DEFAULT_STATE__', state);
403
404  localStorage.setItem("window_state", JSON.stringify(state));
405
406</script>
406
407
408<script>
409/*======================================================
410   OTP SHIPPING VIA POSTCODE API (ONE-TIME ONLY)
411   Rule:
412   - sortCode suffix 1 => METRO => $14.95
413   - suffix 2-5       => RURAL => $16.95
414   - else             => WA/FNQ => $19.95
415   ====================================================== */
416
417const OTP_SHIPPING = {
418  N: 15,
419  QAV: 17,
420  DEFAULT: 19.95
421}; 
422
423const state_dd = JSON.parse(localStorage.getItem("window_state") || "{}");
424
425const POSTCODE_API_BASE =
426  "https://83cv7ta60b.execute-api.ap-southeast-2.amazonaws.com/hdcPostalCode/postal/";
427
428/* ---------------- Helpers ---------------- */
429
430function normalizePostcode(postcode) {
431  return String(postcode || "").replace(/\D/g, "").trim().slice(0, 4);
432}
433
434function getPcShipCacheKey(postcode) {
435  return "pc_ship_tier_" + String(postcode || "").trim();
436}
437
438function setShippingAmountUI(amount) {
439  const n = typeof amount === "string" ? parseFloat(amount) : amount;
440  const safe = Number.isFinite(n) ? n : 0;
441
442  const statenew_dd = JSON.parse(localStorage.getItem("window_state") || "{}");
443  const currentShippingCents = Math.round(parseFloat(amount || 0) * 100);
444  let deliveryShippingEl = document.querySelector(".delivery-text-shippingamount");
445  let selected_frequency = statenew_dd?.freq;
446  let amountEl = document.querySelector(".free-shipping-amount");
447  const mealsCountNEW = localCart.countLunchAndDinnerMeals(localCart.cart.items);
448  
449  // Logic from LocalCart for consistency
450  const defaultShippingCents = 1500; // $15.00 default
451  const format = (cents) => "$" + (cents / 100).toFixed(2);
452  let hasAddress_new = !!(statenew_dd?.address && String(statenew_dd.address).trim() !== "");  
453
454  const setShippingTextNEW = (text) => {
455    amountEl.textContent = text;
456  };
457
458
459  // Update all matching elements (mini cart + cart page etc.)
460  document.querySelectorAll(".free-shipping-amount").forEach((el) => {
461    const freeTextEl = el.parentElement?.querySelector(".free-shipping-text");
462
463    // ✅ Address blank হলে shipping Pending দেখাবে
464    if (!hasAddress_new) {
465
466      if(selected_frequency != "OneTimePurchase"){
467        if(mealsCountNEW < 10){
468          setShippingTextNEW("Pending");
469          amountEl.classList.remove("free_amount");
470        }else{      
471          setShippingTextNEW("Free");
472          amountEl.classList.add("free_amount");        
473        }
474      }else{          
475        setShippingTextNEW("Pending");
476        amountEl.classList.remove("free_amount");
477      }
478      amountEl.classList.remove("text-decoration-line-through");
479
480      if (deliveryShippingEl) {
481        deliveryShippingEl.textContent = "Pending";
482      }
483
484      if (freeTextEl) {
485        freeTextEl.classList.add("d-none");
486      }
487      return;
488
489    }else{  
490
491      if (deliveryShippingEl) {
492        deliveryShippingEl.textContent = format(currentShippingCents || defaultShippingCents);
493      }
494
495      if(userLoggedIn && customerData?.tags?.includes("NDIS") && typeof customerData?.ndisDiscountPercentage === "number"){
496        el.textContent = "$0.00";
497        el.classList.add("free_amount");
498        el.classList.remove("text-decoration-line-through");
499        if (freeTextEl) {
500          freeTextEl.textContent = format(currentShippingCents || defaultShippingCents);
501          freeTextEl.classList.remove("d-none");
502          freeTextEl.classList.add("text-decoration-line-through", "text", "ms-1");
503          freeTextEl.classList.remove("text-grren", "text-uppercase");
504        }
505      } else if (selected_frequency === "WeeklySubscription" || selected_frequency === "FortnightlySubscription") {
506        el.textContent = "$0.00";
507        el.classList.add("free_amount");
508        el.classList.remove("text-decoration-line-through");
509        if (freeTextEl) {
510          freeTextEl.textContent = format(currentShippingCents || defaultShippingCents);
511          freeTextEl.classList.remove("d-none");
512          freeTextEl.classList.add("text-decoration-line-through", "text", "ms-1");
513          freeTextEl.classList.remove("text-grren", "text-uppercase");
514        }
515      } else {
516        el.textContent = "$" + safe.toFixed(2);
517        el.classList.remove("free_amount");
518        
519        if (safe === 0) {
520          el.textContent = "$0.00";
521          el.classList.remove("text-decoration-line-through");
522          if (freeTextEl) {
523            freeTextEl.textContent = format(currentShippingCents || defaultShippingCents);
524            freeTextEl.classList.remove("d-none");
525            freeTextEl.classList.add("text-decoration-line-through", "text", "ms-1");
526            freeTextEl.classList.remove("text-grren", "text-uppercase");
527          }
528        } else {
529          el.classList.remove("text-decoration-line-through");
530          freeTextEl?.classList.add("d-none");
531        }
532      }
533    }
534  });
535}
536
537async function fetchShippingTierByPostcode(postcode) {
538
539  const pc = normalizePostcode(postcode);
540
541  const CACHE_KEY = "shipping_tier_data";
542  const CACHE_EXPIRE_DAYS = 30;
543
544  // 30 days in milliseconds
545  const CACHE_EXPIRE_TIME = CACHE_EXPIRE_DAYS * 24 * 60 * 60 * 1000;
546
547  // ✅ default cache object
548  let shipping_tier = {};
549
550  // ✅ get cache safely
551  try {
552
553    const stored = localStorage.getItem(CACHE_KEY);
554
555    if (stored) {
556
557      const parsed = JSON.parse(stored);
558
559      // ✅ ensure object only
560      if (
561        typeof parsed === "object" &&
562        parsed !== null &&
563        !Array.isArray(parsed)
564      ) {
565        shipping_tier = parsed;
566      }
567    }
568
569  } catch (e) {
570
571    console.log(
572      "Invalid shipping_tier cache, resetting..."
573    );
574
575    shipping_tier = {};
576  }
577
578  // ✅ check existing cache
579  if (shipping_tier[pc]) {
580
581    const cached = shipping_tier[pc];
582
583    // ✅ valid cache
584    if (
585      cached.timestamp &&
586      (Date.now() - cached.timestamp) < CACHE_EXPIRE_TIME
587    ) {
588
589      console.log(
590        "From Cache",
591        cached.data
592      );
593
594      return cached.data;
595    }
596
597    // ✅ expired cache remove
598    delete shipping_tier[pc];
599
600    localStorage.setItem(
601      CACHE_KEY,
602      JSON.stringify(shipping_tier)
603    );
604
605    console.log(
606      "Expired cache removed"
607    );
608  }
609
610  // ✅ api request
611  const res = await fetch(
612    POSTCODE_API_BASE + pc,
613    {
614      method: "GET"
615    }
616  );
617
618  const json = await res.json();
619
620  // ✅ api list
621  const list = Array.isArray(json?.data)
622    ? json.data
623    : [];
624
625  // ✅ exact postcode match
626  const matched = list.filter(
627    r =>
628      String(
629        r?.postcode || ""
630      ).trim() === pc
631  );
632
633  // ✅ first matched row
634  const first = matched[0] || null;
635
636  const sortCode =
637    first?.sortCode || "";
638
639  // No sortCode match = the postcode did NOT resolve → "NONE" (shipping unknown → $0, decided at
640  // checkout). A REAL far-zone postcode HAS a sortCode (just not N/Q/A/V) → stays "DEFAULT" ($19.95).
641  let tier = sortCode ? "DEFAULT" : "NONE";
642
643  // ✅ tier logic
644  const firstChar = sortCode
645    ? sortCode
646        .charAt(0)
647        .toUpperCase()
648    : "";
649
650  if (firstChar === "N") {
651
652    tier = "N";
653
654  } else if (
655    ["Q", "A", "V"].includes(firstChar)
656  ) {
657
658    tier = "QAV";
659  }
660
661  // ✅ final output
662  const out = {
663    postcode: pc,
664    tier,
665    sortCode: sortCode || null,
666    response: json
667  };
668
669  // ✅ save with timestamp
670  shipping_tier[pc] = {
671    data: out,
672    timestamp: Date.now()
673  };
674
675  // ✅ save cache
676  localStorage.setItem(
677    CACHE_KEY,
678    JSON.stringify(shipping_tier)
679  );
680
681  console.log(
682    "Saved Cache",
683    shipping_tier
684  );
685
686  return out;
687}
688
689function getShippingAmountByTier(tier) {
690  if (tier === "N") return OTP_SHIPPING.N;
691  if (tier === "QAV") return OTP_SHIPPING.QAV;
692  if (tier === "NONE") return 0;   // unresolved postcode → don't guess a paid amount; $0 until checkout
693  return OTP_SHIPPING.DEFAULT;      // resolved far-zone (WA/SA/TAS/NT) → $19.95
694}
695
696// Try to read postcode from your saved state/address
697function getStatePostcode(postcode1 = '') {
698  let sdata_new = JSON.parse(localStorage.getItem("window_state") || "{}");
699  let deliveryInfo = JSON.parse(localStorage.getItem("deliveryInfo") || "{}");
700  return (
701    sdata_new?.postcode ||
702    deliveryInfo?.postcode ||
703    postcode1 ||
704    ""
705  );
706}
707
708/* ---------------- Public functions ---------------- */
709
710// One-time: Updates UI + stores shipping_amount in window_state
711async function applyOneTimeShippingUI(postcode1 = '') { //alert('d');
712
713  const postcode = postcode1 ||
714    state_dd?.postcode ||
715    state_dd?.widgetAddress?.postcode ||
716    state_dd?.address?.postcode;
717
718  const { tier } = await fetchShippingTierByPostcode(postcode);
719
720  const shipping = getShippingAmountByTier(tier);
721  
722  return shipping;
723}
724
725/* ---------------- Optional: Keep checkout attributes in sync ----------------
726   Call window.syncCartAttributesShipping() from your cart JS BEFORE redirect to checkout,
727   if you want the info available in cart.attributes (for a Shipping/Delivery Function).
728-------------------------------------------------------------------------- */
729async function syncCartAttributesShipping(postcode_new = '') {
730  let amount = 0;
731  let tier = "";
732  const postcode = postcode_new || getStatePostcode();
733  const t = await fetchShippingTierByPostcode(postcode);
734  tier = t?.tier || "NONE";   // unresolved lookup → $0 (was "FNQ" → a phantom $19.95 default)
735  amount = getShippingAmountByTier(tier);
736  localStorage.setItem("shipping_amount", amount);
737  localStorage.setItem("shipping_tier", tier);
738  console.log('shipping_amount',amount);
739  console.log('postcode',postcode);
740  setShippingAmountUI(amount);
741}
742
743async function initShippingOnLoad() {
744
745  let state_newone = JSON.parse(localStorage.getItem("window_state") || "{}");
746
747  let postcode_newone =
748      state_newone?.postcode ||
749      state_newone?.widgetAddress?.postcode ||
750      state_newone?.address?.postcode ||
751      ""; 
752
753  if (!postcode_newone) return; // ✅ correct variable
754
755  let selected_Frequency = state_newone?.freq || "OneTimePurchase";
756
757  let shipping = 0;
758
759  let customFREE = false;
760
761
762  shipping = await window.applyOneTimeShippingUI(postcode_newone);
763
764  if (userLoggedIn && Array.isArray(customerData.tags) && customerData.tags.includes("NDIS") && typeof customerData.ndisDiscountPercentage === "number") {
765    
766    customFREE = true;
767
768  } else if (userLoggedIn && Array.isArray(customerData.tags) && customerData.tags.includes("keto_customers") && typeof customerData.ketoCustDiscountFixed === "number") {
769    
770    //customFREE = true;
771
772  } else if (userLoggedIn && Array.isArray(customerData.tags) && customerData.tags.includes("T1") && typeof customerData.ketoCustDiscountFixed === "number") {
773    
774    //customFREE = true;
775
776  } else if (userLoggedIn && Array.isArray(customerData.tags) && customerData.tags.includes("T2") && typeof customerData.ketoCustDiscountFixed === "number") {
777    
778    //customFREE = true;
779
780  } else if (userLoggedIn && Array.isArray(customerData.tags) && customerData.tags.includes("T3") && typeof customerData.ketoCustDiscountFixed === "number") {
781    
782    //customFREE = true;
783
784  }
785
786  if ((selected_Frequency !== "OneTimePurchase") && !customFREE) {
787      shipping = 0;
788  }
789
790  if (window.LocalCart) {
791      window.LocalCart.shipping = shipping;
792      window.LocalCart.totalPrice = window.LocalCart.subtotal + shipping;
793
794      if (typeof window.LocalCart.updateDOM === "function") {
795          window.LocalCart.updateDOM();
796      }
797  }
798}
799
800
801/* ---------------- Expose globally ---------------- */
802//window.applyOneTimeShippingUI = applyOneTimeShippingUI;
803//window.fetchShippingTierByPostcode = fetchShippingTierByPostcode;
804//window.getShippingAmountByTier = getShippingAmountByTier;
805window.syncCartAttributesShipping = syncCartAttributesShipping;
806</script>
806
807
808<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/jquery-1.12.0.min.js?v=180303338299147220221783673534"></script>
vendor: 1 bytes, line 808
808
809<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/custom-cart-ajax-local.js?v=42584562945682488001789111707" defer></script>
vendor: 1 bytes, line 809
809
810<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/bootstrap.bundle.min.js?v=178806464053651140501783673534" async="async"></script>
vendor: 1 bytes, line 810
810
811<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/owl.carousel.min.js?v=97891440811553454251783673534"></script>
811
812      
812<script src="//thrivemeals.com.au/cdn/shopifycloud/storefront/assets/themes_support/shopify_common-5f594365.js" async="async"></script>
812
813    
814    
815
816
817    
817<script type="text/javascript">
818    
819       window.addEventListener('DOMContentLoaded', function () {
820        setTimeout(function () {
821          (function(c,l,a,r,i,t,y){
822            c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
823            t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
824            y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
825          })(window, document, "clarity", "script", "ncmyrfqzac");
826        }, 5000); // Delay Clarity by 3s
827       });
828    </script>
828
829
830  <meta name="google-site-verification" content="O_0nTZYTzS_XxrQyaicrphFdF9RybfHhk26TSFUtTZ4" />
830<script>
831  
832const customerData = null;
833  
834const MIN_SUBS_CART_AMOUNT = 89;
835  const MIN_SUBS_MEAL_LIMIT = 0;
836  const MIN_OTP_CART_AMOUNT = 89;
837  const MIN_ONE_TIME_MEALS = 8;
838  const MIN_NDIS_SUBS_CART_AMOUNT = 29;
839  const MIN_NDIS_OTP_CART_AMOUNT = 29;
840  const SHIPPING_COST = 15;// SEGMENT PRICING — mirrors cart-transform run.js EXACTLY (display == checkout). Prices in CENTS.
841  // Metafield thr1ve/segment_pricing (json) with identical hardcoded fallback to run.js
842  // FALLBACK_SEGMENT_PRICING: bluefit 9.95, conditn 9.95, wholesale 9.00 (keto/T1/T2/T3 = null / never priced here).
843  // validateSegmentPrice mirrors run.js validatePrice(): a metafield value is used ONLY if it parses to a
844  // finite number in [0.01, 50] dollars; otherwise fall back to the hardcoded default. This stops a malformed
845  // metafield (0, negative, sub-cent, non-numeric, or > $50) from fabricating a price below/above checkout.
846  function validateSegmentPrice(raw, fallbackCents) {
847    // Mirror run.js validatePrice() TYPE check first: reject anything that isn't a number or string
848    // BEFORE numeric conversion. Without this, Number(true)===1 / Number([5])===5 / Number([0.5])===0.5
849    // would fabricate $1.00/$5.00/$0.50 while checkout rejects the boolean/array and charges the
850    // fallback ($9.95/$9.00) — i.e. display < checkout. (typeof null === 'object' also falls back here.)
851    if (typeof raw !== 'number' && typeof raw !== 'string') return fallbackCents;
852    // Use Number() (NOT parseFloat) to match run.js: "8abc" -> NaN -> fallback (never $8.00 < checkout).
853    var n = Number(raw);
854    if (!isFinite(n) || n < 0.01 || n > 50) return fallbackCents;
855    return Math.round(n * 100);
856  }
857  const SEGMENT_PRICING = {
858    bluefit:   validateSegmentPrice(null, 995),
859    conditn:   validateSegmentPrice(null, 995),
860    wholesale: validateSegmentPrice(null, 900)
861  };
862  // Priority: first PRICED match wins (matches run.js object order).
863  const SEGMENT_PRIORITY = ["bluefit", "conditn", "wholesale"];
864  const BLUEFIT_PRICE = SEGMENT_PRICING.bluefit;      // alias (was 995) — now metafield-driven, cannot drift from checkout
865  const KETO_PRICE = 1050;
866  const KETO_PRICE_T1 = 1120;
867  const KETO_PRICE_T2 = 1080;
868  const KETO_PRICE_T3 = 1050;
869  // Metafield-driven (prod default): dev store has different selling-plan IDs; nil metafield falls back to prod id.
870  const SELLING_PLAN_S = 689703944508;
871  // Metafield-driven (prod default): dev store has different selling-plan IDs; nil metafield falls back to prod id.
872  const SELLING_PLAN_FS = 692900364604;
873  // B4 tier-priced subscription plans (per-meal-count). 10–13 meals use the BASE plan above ($12.95);
874  // 14/18/25 use these tier plans, whose fixed PRICE policy bills each meal at the Doc5 §4 tier — the
875  // ONLY way to charge the tier on a subscription (the cart-transform can't reprice selling-plan lines).
876  // Key = getDoc5MealTier().currentTierMeals (the deep tier is 25/$9.95; counts 18–24 map to the 18 plan).
877  // Metafield-driven like SELLING_PLAN_S/FS: the DEFAULT below is the PROD plan IDs (created on the prod
878  // "Subscribe and save" group 77408993596 on 2026-07-06, each with a fixed PRICE policy at the tier).
879  // The dev store overrides via the shop.metafields.thr1ve.selling_plan_tiers (json) metafield.
880  const SELLING_PLAN_TIERS ={"WeeklySubscription":{"14":694332916028,"18":694332948796,"25":694332981564},"FortnightlySubscription":{"14":694333014332,"18":694333047100,"25":694333079868}};
881  const lastChecked = new Map(); // key=e164phone
882  const DEDUPE_TTL_MS = 2 * 60 * 1000;
883  const EMAIL_CACHE_KEY = "email_check_cache";
884  const EMAIL_CACHE_TTL = 1 * 60 * 1000; 
885  const PROMO_PROD_PRICE = 1000;
886  const KETO_PRICE_CONDITN = 995;window.THR1VE_MEAL_MACROS = window.THR1VE_MEAL_MACROS || {};
887  window.THR1VE_BUNDLE_INFO = window.THR1VE_BUNDLE_INFO || {};window.THR1VE_MEAL_MACROS["8219808891196"] = { protein: "25.6 g", kcal: "294 Cal" };window.THR1VE_MEAL_MACROS["8219804336444"] = { protein: "42.1 g", kcal: "328 Cal" };window.THR1VE_MEAL_MACROS["9590788784444"] = { protein: "43.9 g", kcal: "391 Cal" };window.THR1VE_MEAL_MACROS["8219775893820"] = { protein: "33.3 g", kcal: "361 Cal" };window.THR1VE_MEAL_MACROS["8219786084668"] = { protein: "30.3 g", kcal: "326 Cal" };window.THR1VE_MEAL_MACROS["9093920719164"] = { protein: "47.5 g", kcal: "319 Cal" };window.THR1VE_MEAL_MACROS["9197210665276"] = { protein: "39.5 g", kcal: "402 Cal" };window.THR1VE_MEAL_MACROS["9093918196028"] = { protein: "42.3 g", kcal: "341 Cal" };window.THR1VE_MEAL_MACROS["9715305873724"] = { protein: "40.5 g", kcal: "260 Cal" };window.THR1VE_MEAL_MACROS["9715303088444"] = { protein: "32.6 g", kcal: "351 Cal" };window.THR1VE_MEAL_MACROS["9715303579964"] = { protein: "39.4 g", kcal: "371 Cal" };window.THR1VE_MEAL_MACROS["9590789013820"] = { protein: "32.5 g", kcal: "423 Cal" };window.THR1VE_MEAL_MACROS["9093467767100"] = { protein: "44.7 g", kcal: "387 Cal" };window.THR1VE_MEAL_MACROS["9093915902268"] = { protein: "45.0 g", kcal: "403 Cal" };window.THR1VE_MEAL_MACROS["9093445255484"] = { protein: "39.8 g", kcal: "406 Cal" };window.THR1VE_MEAL_MACROS["9590789210428"] = { protein: "32.3 g", kcal: "422 Cal" };window.THR1VE_MEAL_MACROS["9093463245116"] = { protein: "29.1 g", kcal: "311 Cal" };window.THR1VE_MEAL_MACROS["9715306070332"] = { protein: "51.6 g", kcal: "613 Cal" };window.THR1VE_MEAL_MACROS["9093921603900"] = { protein: "34.2 g", kcal: "345 Cal" };window.THR1VE_MEAL_MACROS["9973175910716"] = { protein: "53.4 g", kcal: "353 Cal" };window.THR1VE_MEAL_MACROS["8969868312892"] = { protein: "7.6 g", kcal: "170 Cal" };window.THR1VE_MEAL_MACROS["9973171061052"] = { protein: "45.5 g", kcal: "414 Cal" };window.THR1VE_MEAL_MACROS["8969884631356"] = { protein: "4.8g", kcal: "235 Cal" };window.THR1VE_MEAL_MACROS["8473862865212"] = { protein: "0.0g", kcal: "25.1 Cal" };window.THR1VE_MEAL_MACROS["8473862046012"] = { protein: "0.0", kcal: "25.1 Cal" };window.THR1VE_MEAL_MACROS["8473862406460"] = { protein: "0.0g", kcal: "25.1 Cal" };window.THR1VE_MEAL_MACROS["8219781759292"] = { protein: "5g", kcal: "478 Cal" };window.THR1VE_MEAL_MACROS["8339019628860"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["8339019628860"] = { mealCount: 3 };window.THR1VE_MEAL_MACROS["9882190971196"] = { protein: "6.0 g", kcal: "235 Cal" };window.THR1VE_MEAL_MACROS["9995289821500"] = { protein: "21.5 g", kcal: "306 Cal" };window.THR1VE_MEAL_MACROS["9995289854268"] = { protein: "20.1 g", kcal: "334 Cal" };window.THR1VE_MEAL_MACROS["9882191364412"] = { protein: "9.7 g", kcal: "185 Cal" };window.THR1VE_MEAL_MACROS["8628528611644"] = { protein: "24.7 g", kcal: "395 Cal" };window.THR1VE_MEAL_MACROS["10113514373436"] = { protein: "48.2 g", kcal: "480 Cal" };window.THR1VE_MEAL_MACROS["9882192576828"] = { protein: "6.0 g", kcal: "302 Cal" };window.THR1VE_MEAL_MACROS["10113521287484"] = { protein: "47.8 g", kcal: "477 Cal" };window.THR1VE_MEAL_MACROS["9882190217532"] = { protein: "3.7 g", kcal: "263 Cal" };window.THR1VE_MEAL_MACROS["8474035061052"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["8474035061052"] = { mealCount: 3 };window.THR1VE_MEAL_MACROS["9937929437500"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["9937929437500"] = { mealCount: 3 };window.THR1VE_MEAL_MACROS["8474033815868"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["8474033815868"] = { mealCount: 3 };window.THR1VE_MEAL_MACROS["10172338831676"] = { protein: "41.8 g", kcal: "569 Cal" };window.THR1VE_MEAL_MACROS["8473936101692"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["8473936101692"] = { mealCount: 3 };window.THR1VE_MEAL_MACROS["10113497203004"] = { protein: "56.0 g", kcal: "426 Cal" };window.THR1VE_MEAL_MACROS["10113492025660"] = { protein: "39.4 g", kcal: "529 Cal" };window.THR1VE_MEAL_MACROS["9659562983740"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["9659562983740"] = { mealCount: 14 };window.THR1VE_MEAL_MACROS["10113508671804"] = { protein: "39.1 g", kcal: "536 Cal" };window.THR1VE_MEAL_MACROS["9604639260988"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["9604639260988"] = { mealCount: 8 };window.THR1VE_MEAL_MACROS["9962541515068"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["9962541515068"] = { mealCount: 15 };window.THR1VE_MEAL_MACROS["10113522434364"] = { protein: "43.6 g", kcal: "390 Cal" };window.THR1VE_MEAL_MACROS["10127098675516"] = { protein: "41.3 g", kcal: "461 Cal" };window.THR1VE_MEAL_MACROS["10357550645564"] = { protein: "40.7 g", kcal: "232 Cal" };window.THR1VE_MEAL_MACROS["10357551857980"] = { protein: "37.5 g", kcal: "395 Cal" };window.THR1VE_MEAL_MACROS["10369084555580"] = { protein: "30.3 g", kcal: "362 Cal" };window.THR1VE_MEAL_MACROS["10369084588348"] = { protein: "31.5 g", kcal: "284 Cal" };window.THR1VE_MEAL_MACROS["10369084522812"] = { protein: "37.5 g", kcal: "293 Cal" };window.THR1VE_MEAL_MACROS["10357554086204"] = { protein: "32.9 g", kcal: "400 Cal" };window.THR1VE_MEAL_MACROS["10357553758524"] = { protein: "32.8 g", kcal: "311 Cal" };window.THR1VE_MEAL_MACROS["10369073709372"] = { protein: "48.1 g", kcal: "386 Cal" };window.THR1VE_MEAL_MACROS["10369084457276"] = { protein: "36.5 g", kcal: "380 Cal" };window.THR1VE_MEAL_MACROS["10357554053436"] = { protein: "32.8 g", kcal: "304 Cal" };window.THR1VE_MEAL_MACROS["10357553791292"] = { protein: "31.8 g", kcal: "480 Cal" };window.THR1VE_MEAL_MACROS["10360399364412"] = { protein: "40.4 g", kcal: "594 Cal" };window.THR1VE_MEAL_MACROS["10360399266108"] = { protein: "30.0 g", kcal: "399 Cal" };window.THR1VE_MEAL_MACROS["10357552087356"] = { protein: "39.7 g", kcal: "431 Cal" };window.THR1VE_MEAL_MACROS["10113510670652"] = { protein: "38.0 g", kcal: "462 Cal" };window.THR1VE_MEAL_MACROS["10113517846844"] = { protein: "42.1 g", kcal: "499 Cal" };window.THR1VE_MEAL_MACROS["10113518993724"] = { protein: "32.1 g", kcal: "456 Cal" };window.THR1VE_MEAL_MACROS["10113496547644"] = { protein: "39.6 g", kcal: "515 Cal" };window.THR1VE_MEAL_MACROS["10127098511676"] = { protein: "42.7 g", kcal: "418 Cal" };window.THR1VE_MEAL_MACROS["10221168132412"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["10221168132412"] = { mealCount: 34 };window.THR1VE_MEAL_MACROS["10221102301500"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["10221102301500"] = { mealCount: 34 };window.THR1VE_MEAL_MACROS["10221165871420"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["10221165871420"] = { mealCount: 34 };window.THR1VE_MEAL_MACROS["9958800523580"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["9958800523580"] = { mealCount: 19 };window.THR1VE_MEAL_MACROS["10076819128636"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["10076819128636"] = { mealCount: 14 };window.THR1VE_MEAL_MACROS["9659562721596"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["9659562721596"] = { mealCount: 14 };window.THR1VE_MEAL_MACROS["9648248291644"] = { protein: "-", kcal: "-" };window.THR1VE_BUNDLE_INFO["9648248291644"] = { mealCount: 14 };// F4 — canonical out-of-zone copy (Document #5 §1, exact, ACL-compliant).
888  // Single source of truth referenced by postal-code.js, postal-code-new.js,
889  // and the address-confirmation modal so the wording cannot drift (Codex L2).
890  window.THR1VE_OUT_OF_ZONE_HTML = 'We are not currently servicing your area yet — follow our <a href="https://www.instagram.com/thr1ve/" target="_blank" rel="noopener">Instagram</a> for updates!';
891
892  // F1 cart-deferred — Meal macro map (screens-cart.jsx CartLine line 16: "Ng protein · N cal").
893  // Source of truth = product metafields custom.protein_perserve / custom.calories_perserve
894  // (the SAME fields product-menu-item.liquid reads). Keyed by product_id so the LocalCart
895  // render (which carries product_id on every line) can light up the macro slot WITHOUT
896  // fabricating a number — a meal with no metafield value is simply omitted from the map and
897  // its slot stays hidden. Looping the bounded meal collections only (never all_products).
898  window.THR1VE_MEAL_MACROS = window.THR1VE_MEAL_MACROS || {};
899
900  // F3 cart-deferred — Bundle (Starter Box) info map (screens-cart.jsx BundleLine).
901  // A bundle product is marked by product_type "Bundle" (and/or a custom.bundle_summary /
902  // custom.bundle_products metafield). We expose, keyed by product_id: `summary` — the real
903  // custom.bundle_summary string (e.g. "7 meals · 3 snacks · 3 drinks", the Starter Pack's
904  // actual metafield) — and `mealCount`, summed from bundle_products_quantity when that list
905  // exists (numeric fallback only). The cart prefers `summary`; mealCount is the fallback.
906  // This lets the cart render the distinct "…· fixed-price set" line WITHOUT counting the
907  // bundle toward the per-meal tier. No invented data — built straight from the metafields.
908  window.THR1VE_BUNDLE_INFO = window.THR1VE_BUNDLE_INFO || {};
909
910  // Phase 2 (B2/F10 theme seam) — supplement classification. A cart line is a SUPPLEMENT
911  // (nutraceutical: flat-price, One-Time, may ship Aus Post standalone) when its product_type
912  // is in this list. THR1VE's nutraceuticals carry the Shopify product type "SUPPLEMENTS"
913  // (the /collections/supplements range: whey/collagen/electrolytes/creatine). This activates
914  // the EXISTING cart scaffolding — updateSupplementsSection() (the "Supplements & extras ·
915  // flat price" block + One-Time/Monthly cadence) and updateShipmentDisclosure() (§11 split
916  // shipment line) — which stay dormant while the list is empty. Meals/snacks/drinks/bundles
917  // are NOT supplements. No fabricated taxonomy: the type comes straight from the product.
918  window.THR1VE_SUPPLEMENT_TYPES = ["SUPPLEMENTS"];
919  // Shared segment-price resolver for JS render points (quick-view, etc.) — mirrors run.js.
920  // Returns the segment unit price in CENTS, or null (=> caller shows the normal price).
921  // Gate: logged in AND priced tag (bluefit>conditn>wholesale) AND productType EXACTLY 'LUNCH & DINNER'.
922  function resolveSegmentPriceCents(productType) {
923    if (typeof userLoggedIn === 'undefined' || !userLoggedIn) return null;
924    if (productType !== "LUNCH & DINNER") return null;
925    var tags = (typeof customerData !== 'undefined' && Array.isArray(customerData.tags)) ? customerData.tags : [];
926    for (var i = 0; i < SEGMENT_PRIORITY.length; i++) {
927      var segKey = SEGMENT_PRIORITY[i];
928      if (SEGMENT_PRICING[segKey] == null) continue; // placeholder -> skip
929      if (tags.indexOf(segKey) !== -1) return SEGMENT_PRICING[segKey];
930    }
931    return null; // fail-safe -> normal price
932  }
933  window.resolveSegmentPriceCents = resolveSegmentPriceCents;
934</script>
934
935
936<script>
937    let LAST_ORDER = {
938      order_id: 0,
939      created_at: '',
940      items: []
941    };
942</script>
942
943
944
945
946
947<!-- BEGIN app block: shopify://apps/pagefly-ai-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 -->
948
949<!-- BEGIN app snippet: pagefly-cro-ab-testing-main -->
950
951
952
953
954
955
956
957<script>
958  ;(function () {
959    const url = new URL(window.location)
960    const viewParam = url.searchParams.get('view')
961    if (viewParam && viewParam.includes('variant-pf-')) {
962      url.searchParams.set('pf_v', viewParam)
963      url.searchParams.delete('view')
964      window.history.replaceState({}, '', url)
965    }
966  })()
967</script>
967
968
969
970
971<script type='module'>
972  
973  window.PAGEFLY_CRO = window.PAGEFLY_CRO || {}
974
975  window.PAGEFLY_CRO['data_debug'] = {
976    original_template_suffix: "home",
977    allow_ab_test: false,
978    ab_test_start_time: 0,
979    ab_test_end_time: 0,
980    today_date_time: 1791584053000,
981  }
982  window.PAGEFLY_CRO['GA4'] = { enabled: false}
983</script>
983
984
985<!-- END app snippet -->
986
987
988
989
990
991
992
993
994  
994<script src='https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-helper.js' defer='defer'></script>
994
995
996  
996<script src='https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-general-helper.js' defer='defer'></script>
996
997
998  
998<script src='https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-snap-slider.js' defer='defer'></script>
998
999
1000  
1000<script src='https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-slideshow-v3.js' defer='defer'></script>
1000
1001
1002  
1002<script src='https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-slideshow-v4.js' defer='defer'></script>
1002
1003
1004  
1004<script src='https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-glider.js' defer='defer'></script>
1004
1005
1006  
1006<script src='https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-slideshow-v1-v2.js' defer='defer'></script>
1006
1007
1008  
1008<script src='https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-product-media.js' defer='defer'></script>
1008
1009
1010  
1010<script src='https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-product.js' defer='defer'></script>
1010
1011
1012
1013<script id='pagefly-helper-data' type='application/json'>
1014  {
1015    "page_optimization": {
1016      "assets_prefetching": false
1017    },
1018    "elements_asset_mapper": {
1019      "Accordion": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-accordion.js",
1020      "Accordion3": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-accordion3.js",
1021      "CountDown": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-countdown.js",
1022      "GMap1": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-gmap.js",
1023      "GMap2": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-gmap.js",
1024      "GMapBasicV2": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-gmap.js",
1025      "GMapAdvancedV2": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-gmap.js",
1026      "HTML.Video": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-htmlvideo.js",
1027      "HTML.Video2": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-htmlvideo2.js",
1028      "HTML.Video3": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-htmlvideo2.js",
1029      "BackgroundVideo": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-htmlvideo2.js",
1030      "Instagram": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-instagram.js",
1031      "Instagram2": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-instagram.js",
1032      "Insta3": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-instagram3.js",
1033      "Tabs": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-tab.js",
1034      "Tabs3": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-tab3.js",
1035      "ProductBox": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-cart.js",
1036      "FBPageBox2": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-facebook.js",
1037      "FBLikeButton2": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-facebook.js",
1038      "TwitterFeed2": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-twitter.js",
1039      "Paragraph4": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-paragraph4.js",
1040
1041      "AliReviews": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1042      "BackInStock": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1043      "GloboBackInStock": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1044      "GrowaveWishlist": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1045      "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1046      "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder
1046-368/assets/pagefly-3rd-elements.js",
1047      "LimeSpot": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1048      "Loox": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1049      "Opinew": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1050      "Powr": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1051      "ProductReviews": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1052      "PushOwl": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1053      "ReCharge": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1054      "Rivyo": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1055      "TrackingMore": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1056      "Vitals": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js",
1057      "Wiser": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-3rd-elements.js"
1058    },
1059    "custom_elements_mapper": {
1060      "pf-click-action-element": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-click-action-element.js",
1061      "pf-dialog-element": "https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-dialog-element.js"
1062    }
1063  }
1064</script>
1064
1065
1066<script id='pagefly-heatmap-config' type='application/json'>
1067  {}
1068</script>
vendor: 1 bytes, line 1068
1068
1069<script>
1070  (function () {
1071    var el = document.getElementById('pagefly-heatmap-config')
1072    if (!el) { window.__pagefly_heatmap_config__ = {}; return }
1073    try {
1074      window.__pagefly_heatmap_config__ = JSON.parse(el.textContent || '{}') || {}
1075    } catch (e) {
1076      window.__pagefly_heatmap_config__ = {}
1077    }
1078  })()
1079</script>
vendor: 1 bytes, line 1079
1079
1080<script>
1081  // Heatmap overlay loader. Three gates, all of them cheap, none of them trusting the URL:
1082  // the visitor must have arrived on a pf_heatmap link, the SERVER must have published an
1083  // overlay path in the metafield, and this page must already be one the merchant enabled
1084  // tracking for. The last gate is what stops a crafted link pulling the asset onto an
1085  // arbitrary storefront page. Everything else is decided inside the asset, and by the server.
1086  (function () {
1087    var cfg = window.__pagefly_heatmap_config__ || {}
1088    var id = (window.__pagefly_page_setting__ || {}).pageId
1089    if (!/[#&]pf_heatmap=/.test(window.location.hash || '')) return
1090    if (!cfg.overlay_data_path || !Array.isArray(cfg.enabled_page_ids)) return
1091    if (!id || cfg.enabled_page_ids.indexOf(id) === -1) return
1092    var s = document.createElement('script')
1093    s.src = 'https://cdn.shopify.com/extensions/01a11f15-76fc-7eb4-aca4-56f1414c090f/pagefly-ai-page-builder-368/assets/pagefly-heatmap-overlay.js'
1094    s.defer = true
1095    document.head.appendChild(s)
1096  })()
1097</script>
1097
1098
1099<!-- BEGIN app snippet: pf-ai-schema -->
1100<!-- END app snippet -->
1101
1102
1103<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116  
1116<script async src="https://static.klaviyo.com/onsite/js/U988Pp/klaviyo.js?company_id=U988Pp"></script>
1116
1117  
1117<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
1117
1118
1119  
1120
1121
1122
1123
1124  
1124<script>
1125    window.klaviyoReviewsProductDesignMode = false
1126  </script>
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136<!-- END app block --><!-- BEGIN app block: shopify://apps/gorgias-live-chat-helpdesk/blocks/gorgias/a66db725-7b96-4e3f-916e-6c8e6f87aaaa -->
1137<script defer data-gorgias-loader-chat src="https://config.gorgias.chat/bundle-loader/shopify/thrive-meals-oppenheimer.myshopify.com"></script>
1137
1138
1139
1140<script defer data-gorgias-loader-convert  src="https://content.9gtb.com/loader.js"></script>
1140
1141
1142
1143<script defer data-gorgias-loader-mailto-replace  src="https://config.gorgias.help/api/contact-forms/replace-mailto-script.js?shopName=thrive-meals-oppenheimer"></script>
1143
1144
1145
1146<!-- END app block --><meta property="og:image" content="https://cdn.shopify.com/s/files/1/0729/8243/0012/files/Thr1ve_Logo.png?v=1689176621" />
1147<meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0729/8243/0012/files/Thr1ve_Logo.png?v=1689176621" />
1148<meta property="og:image:width" content="1000" />
1149<meta property="og:image:height" content="455" />
1150<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1151<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: 72982430012,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 1151
1151
1152<script>
1153  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1154</script>
vendor: 1 bytes, line 1154
1154
1155<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}
1155).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: 72982430012,storefrontBaseUrl: "https://thrivemeals.com.au",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://thrivemeals.com.au/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab"],webPixelsConfigList: [{"id":"1812595004","configuration":"{\"accountID\":\"U988Pp\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"729088316","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-71R9FQHN9Y\\\",\\\"GT-KTTDB5H\\\"],\\\"target_country\\\":\\\"AU\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-71R9FQHN9Y\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-71R9FQHN9Y\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-71R9FQHN9Y\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-71R9FQHN9Y\\\",\\\"MC-RQ8JSSBF22\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-71R9FQHN9Y\\\",\\\"MC-RQ8JSSBF22\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-71R9FQHN9Y\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-71R9FQHN9Y\\\",\\\"MC-RQ8JSSBF22\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-71R9FQHN9Y\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-71R9FQHN9Y\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-71R9FQHN9Y\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-71R9FQHN9Y\\\"}],\\\"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":"352944444","configuration":"{\"shopId\":\"107876\",\"env\":\"production\",\"metaData\":\"[]\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8323bee30e1ec3ae135ae5e0cef4ab6d","type":"APP","apiClientId":2773553,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1155,"dataSharingState":"unrestricted"},{"id":"279085372","configuration":"{\"pixel_id\":\"3116440315341388\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"86376764","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"25","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Checkout Completed[GTM]"},{"id":"119636284","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":[],"name":"Google Tag Manager [Test SOUP]"},{"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":"Thrive Meals","paymentSettings":{"currencyCode":"AUD"},"myshopifyDomain":"thrive-meals-oppenheimer.myshopify.com","countryCode":"AU","storefrontUrl":"https:\/\/thrivemeals.com.au"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"9197210665276","handle":"beef-lasagne","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48753653678396","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9590788784444","handle":"nasi-goreng-peanut-chicken","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49781203796284","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9093918196028","handle":"mexican-chicken-and-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48425146319164","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8219775893820","handle":"butter-chicken-with-broccoli-cauliflower-rice-1","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44799323668796","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9093920719164","handle":"chicken-teriyaki-with-asian-greens","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48425156051260","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9590789210428","handle":"curry-with-carb-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49781204222268","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8219808891196","handle":"basil-and-oregano-chicken-meat-balls-with-zoodles","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44799397003580","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8219804336444","handle":"clean-keto-chicken-bowl","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44799385010492","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8219786084668","handle":"thai-green-chicken-curry-with-broccoli-cauliflower-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44799341429052","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9715305873724","handle":"monoglian-beef","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50174261166396","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9715303088444","handle":"sausage-onion-gravy","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50174233084220","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9715303579964","handle":"parmesan-chicken","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50174234755388","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
1155,{"id":"9590789013820","handle":"massamam-beef-curry-broccoli-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49781203992892","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9093467767100","handle":"chicken-breast-with-clean-and-green-veg","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48422386303292","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9093915902268","handle":"low-carb-spaghetti-bolognese","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48425140683068","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9093445255484","handle":"satay-chicken-with-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48422248743228","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9093463245116","handle":"butter-chicken-with-low-carb-rice-2","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48422358286652","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9715306070332","handle":"steak-diane","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50174261559612","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9093921603900","handle":"thai-green-chicken-curry-with-low-carb-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48425158050108","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9973175910716","handle":"lamb-rugu-with-spaghetti","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51554776514876","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8969868312892","handle":"blueberry-muffin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48069527339324","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9973171061052","handle":"lamb-biryani","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51554768257340","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8969884631356","handle":"keto-brownie","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48069558174012","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8473862865212","handle":"organic-kambucha-coconut-lime-1","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45696141328700","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8473862046012","handle":"organic-kambucha-berry-smash","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45696140607804","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8473862406460","handle":"organic-kambucha-turmeric-ginger-pear","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45696140902716","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8219781759292","handle":"nutessa-slice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44799334580540","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8339019628860","handle":"kombucha","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45207862247740","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9882190971196","handle":"low-carb-coconut-blondie","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50756426596668","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9995289821500","handle":"chickenveg-pizza","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51601956700476","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9995289854268","handle":"mammamia-pizza","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51601956733244","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9882191364412","handle":"crustless-zucchini-slice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50756427088188","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8628528611644","handle":"basil-and-oregano-chicken-meat-balls-with-spaghetti","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46500884611388","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
1155,{"id":"10113514373436","handle":"skinny-chicken-alfredo-pasta","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962975486268","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9882192576828","handle":"macadamia-shortbread","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50756428431676","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10113521287484","handle":"low-carb-chicken-spaghetti-in-pink-sauce","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962987413820","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9882190217532","handle":"low-carb-caramel-slice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50756423713084","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8474035061052","handle":"organic-kombucha-coconut-lime-3-pack","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45696464355644","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9937929437500","handle":"saver-snack-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51432648343868","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8474033815868","handle":"organic-kombucha-berry-smash-3-pack","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45696461373756","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10172338831676","handle":"crumbed-chicken-roast-potatoes-and-gravy","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52240059531580","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8473936101692","handle":"organic-kombucha-turmeric-ginger-pear-3-pack","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45696268173628","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10113497203004","handle":"sticky-teriyaki-chicken-greens-over-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962940096828","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10113492025660","handle":"chicken-penne-with-tomato-cream1","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962929119548","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9659562983740","handle":"low-carb-favourites-box","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49972108558652","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10113508671804","handle":"chicken-fettuccine-alfredo","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962965492028","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9604639260988","handle":"snack-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49814596682044","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9962541515068","handle":"15-pack-bundle-saver","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51524680024380","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
1155,{"id":"10113522434364","handle":"mongolian-beef-with-steamed-basmati","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962990002492","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10127098675516","handle":"malaysian-satay-chicken-with-basmati-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52016378216764","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10357550645564","handle":"baked-chicken-with-sweet-sour-sauce-and-broccoli-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52961463796028","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10357551857980","handle":"baked-chicken-with-sweet-sour-sauce-and-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52961467466044","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10369084555580","handle":"lamb-rogan-josh-with-basmati-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52997017174332","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10369084588348","handle":"lamb-rogan-josh-with-low-carb-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52997017305404","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10369084522812","handle":"japanese-beef-curry-with-low-carb-rice-pickles","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52997016977724","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10357554086204","handle":"spanish-chicken-with-patatas-bravas","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52961492009276","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10357553758524","handle":"malabar-spiced-golden-basa-with-broccoli-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52961490010428","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10369073709372","handle":"beef-stroganoff-with-low-carb-fettuccine","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52996994171196","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10369084457276","handle":"japanese-beef-curry-with-steamed-rice-pickles","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52997016879420","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10357554053436","handle":"spanish-chicken-with-cauliflower-bravas","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52961491681596","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10357553791292","handle":"malabar-spiced-golden-basa-with-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52961490436412","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10360399364412","handle":"beef-lasagne-1","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52967892975932","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
1155,{"id":"10360399266108","handle":"lamb-biryani-with-basmati-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52967892549948","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10357552087356","handle":"beef-stroganoff-with-fettuccine","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52961471594812","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10113510670652","handle":"thai-green-curry-with-fragrant-basmati-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962969063740","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10113517846844","handle":"butter-chicken-with-spice-basmati","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962982138172","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10113518993724","handle":"spaghetti-bolognese-1","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962984005948","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10113496547644","handle":"massaman-beef-bowl-with-caramelised-shallot-rice","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51962937082172","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10127098511676","handle":"lamb-ragu-with-fettuccini","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52016375169340","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10221168132412","handle":"performance-bundle-box-34-meals","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52433519051068","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10221102301500","handle":"low-carb-bundle-box-34-meals","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52433206051132","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10221165871420","handle":"low-calorie-bundle-box-34-meals","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52433490739516","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9958800523580","handle":"best-seller-box","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51510684221756","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10076819128636","handle":"keto-favourites-box","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51836936585532","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9659562721596","handle":"high-protein-favourites-box","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49972107379004","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9648248291644","handle":"customer-favourites-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"49936177529148","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10167998513468","handle":"quest-protein-chips-tortilla-style-chili-lime-flavour","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52204785762620","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
1155,{"id":"10168002117948","handle":"quest-protein-chips-tortilla-style-nacho-cheese","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52204828000572","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10142720983356","handle":"peanut-granola","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52093242704188","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10142721278268","handle":"almond-granola","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52093247619388","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://thrivemeals.com.au/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"186870890812","themePublished":"true","eventMetadataId":"ac882a24-c26a-43f8-8a5d-7233db1fa4ad","pageType":"home","shopId":"72982430012","storefrontBaseUrl":"https:\/\/thrivemeals.com.au","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1155<script>
1156  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1157  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1158  window.ShopifyAnalytics.meta.currency = 'AUD';
1159  var meta = {"page":{"pageType":"home","requestId":"18ecebbb-aee1-45e4-9956-be2d9038bfac-1791584052"}};
1160  for (var attr in meta) {
1161    window.ShopifyAnalytics.meta[attr] = meta[attr];
1162  }
1163</script>
vendor: 1 bytes, line 1163
1163
1164<script class="analytics">
1165  (function () {
1166    var customDocumentWrite = function(content) {
1167      var jquery = null;
1168
1169      if (window.jQuery) {
1170        jquery = window.jQuery;
1171      } else if (window.Checkout && window.Checkout.$) {
1172        jquery = window.Checkout.$;
1173      }
1174
1175      if (jquery) {
1176        jquery('body').append(content);
1177      }
1178    };
1179
1180    var hasLoggedConversion = function(token) {
1181      if (token) {
1182        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1183      }
1184      return false;
1185    }
1186
1187    var setCookieIfConversion = function(token) {
1188      if (token) {
1189        var twoMonthsFromNow = new Date(Date.now());
1190        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1191
1192        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1193      }
1194    }
1195
1196    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1197    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1198    if (trekkie.integrations) {
1199      return;
1200    }
1201    trekkie.methods = [
1202      'identify',
1203      'page',
1204      'ready',
1205      'track',
1206      'trackForm',
1207      'trackLink'
1208    ];
1209    trekkie.factory = function(method) {
1210      return function() {
1211        var args = Array.prototype.slice.call(arguments);
1212        args.unshift(method);
1213        trekkie.push(args);
1214        if (method == 'track' || method == 'page') {
1215          var pageUrl;
1216          try {
1217            pageUrl = window.location.href;
1218          } catch (e) {}
1219          var pageReferrer;
1220          try {
1221            pageReferrer = document.referrer;
1222          } catch (e) {}
1223          try {
1224            if (window.__TREKKIE_SHIM_QUEUE == null) {
1225              window.__TREKKIE_SHIM_QUEUE = [];
1226            }
1227            window.__TREKKIE_SHIM_QUEUE.push({
1228              from: 'trekkie-stub',
1229              method: method,
1230              args: args.slice(1),
1231              pageContext: {
1232                url: pageUrl,
1233                referrer: pageReferrer
1234              }
1235            });
1236          } catch (e) {
1237            // no-op
1238          }
1239        }
1240        return trekkie;
1241      };
1242    };
1243    for (var i = 0; i < trekkie.methods.length; i++) {
1244      var key = trekkie.methods[i];
1245      trekkie[key] = trekkie.factory(key);
1246    }
1247    trekkie.load = function(config) {
1248      trekkie.config = config || {};
1249      trekkie.config.initialDocumentCookie = document.cookie;
1250      var first = document.getElementsByTagName('script')[0];
1251var script = document.createElement('script');
1252script.type = 'text/javascript';
1253script.onerror = function(e) {
1254  var scriptFallback = document.createElement('script');
1255  scriptFallback.type = 'text/javascript';
1256  scriptFallback.onerror = function(error) {
1257          var Monorail = {
1258      produce: function produce(monorailDomain, schemaId, payload) {
1259        var currentMs = new Date().getTime();
1260        var event = {
1261          schema_id: schemaId,
1262          payload: payload,
1263          metadata: {
1264            event_created_at_ms: currentMs,
1265            event_sent_at_ms: currentMs
1266          }
1267        };
1268        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1269      },
1270      sendRequest: function sendRequest(endpointUrl, payload) {
1271        // Try the sendBeacon API
1272        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1273          var blobData = new window.Blob([payload], {
1274            type: 'text/plain'
1275          });
1276
1277          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1278            return true;
1279          } // sendBeacon was not successful
1280
1281        } // XHR beacon
1282
1283        var xhr = new XMLHttpRequest();
1284
1285        try {
1286          xhr.open('POST', endpointUrl);
1287          xhr.setRequestHeader('Content-Type', 'text/plain');
1288          xhr.send(payload);
1289        } catch (e) {
1290          console.log(e);
1291        }
1292
1293        return false;
1294      },
1295      isIos12: function isIos12() {
1296        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1297      }
1298    };
1299    Monorail.produce('monorail-edge.shopifysvc.com',
1300      'trekkie_storefront_load_errors/1.1',
1301      {shop_id: 72982430012,
1302      theme_id: 186870890812,
1303      app_name: "storefront",
1304      context_url: window.location.href,
1305      source_url: "//thrivemeals.com.au/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"});
1306
1307  };
1308  scriptFallback.async = true;
1309  scriptFallback.src = '//thrivemeals.com.au/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
1310  first.parentNode.insertBefore(scriptFallback, first);
1311};
1312script.async = true;
1313script.src = '//thrivemeals.com.au/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
1314first.parentNode.insertBefore(script, first);
1315
1316    };
1317    trekkie.load(
1318      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":72982430012,"isMerchantRequest":null,"themeId":186870890812,"themeCityHash":"22332899
131805418744645","contentLanguage":"en","currency":"AUD","eventMetadataId":"ac882a24-c26a-43f8-8a5d-7233db1fa4ad"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1319    );
1320
1321    var loaded = false;
1322    trekkie.ready(function() {
1323      if (loaded) return;
1324      loaded = true;
1325
1326      window.ShopifyAnalytics.lib = window.trekkie;
1327
1328      var originalDocumentWrite = document.write;
1329      document.write = customDocumentWrite;
1330      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1331      document.write = originalDocumentWrite;
1332
1333      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1334      var token = match? match[1]: undefined;
1335      if (!hasLoggedConversion(token)) {
1336        setCookieIfConversion(token);
1337        
1338      }
1339    });
1340
1341    window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"18ecebbb-aee1-45e4-9956-be2d9038bfac-1791584052","shopifyEmitted":true});
1342
1343    var eventsListenerScript = document.createElement('script');
1344    eventsListenerScript.async = true;
1345    eventsListenerScript.src = "//thrivemeals.com.au/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1346    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1347})();</script>
vendor: 1 bytes, line 1347
1347
1348<script
1349  defer
1350  src="https://thrivemeals.com.au/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.1.min.js"
1351  data-application="storefront-renderer"
1352  data-shop-id="72982430012"
1353  data-render-region="gcp-us-central1"
1354  data-page-type="index"
1355  data-theme-instance-id="186870890812"
1356  data-theme-name="Vegist"
1357  data-theme-version="1.22"
1358  data-monorail-region="shop_domain"
1359  data-resource-timing-sampling-rate="10"
1360  data-shs="true"
1361  data-shs-beacon="true"
1362  data-shs-export-with-fetch="true"
1363  data-shs-logs-sample-rate="1"
1364  data-shs-beacon-endpoint="https://thrivemeals.com.au/api/collect"
1365></script>
1365
1366<meta name="shopify-y" content="538baf9c-ef68-471f-96cf-56da68f4193a" data-expiration="1823141652000"><meta name="shopify-s" content="79df3aba-6152-4b10-904e-cd3a6b6ea455" data-expiration="1791585852000">
1367</head>
1368  <body
1369    id="healthy-meals-delivered-to-your-door-thr1ve"
1370    class="index landingPage template-index"
1371  >
1372    <div id="shopify-section-custom-fonts" class="shopify-section">
1373  <style data-custom-fonts>
1374    
1375
1376
1377
1378      
1379
1380      
1381      
1382      
1383      
1384      
1385      
1386      
1387      
1388      
1389      
1390      
1391      
1392      
1393
1394      
1395
1396        
1397
1398        
1399          @font-face {
1400            font-family: 'Advetime';
1401            src: url(https://cdn.shopify.com/s/files/1/0729/8243/0012/files/Advetime.ttf?v=1706612814) format('truetype');
1402
1403              
1404            font-style: italic;
1405              
1406            
1407          }
1408
1409
1410          
1411
1412          
1413
1414          
1415
1416          
1417
1418          
1419
1420          
1421
1422          
1423
1424          
1425
1426          
1427
1428
1429      
1430      
1431  </style>
1432
1433
1434
1435</div>
vendor: 87 bytes, lines 1435-1438
1435
1436    <noscript
1437      ><iframe
1438        src="https://www.googletagmanager.com/ns.html?id=
1438GTM-PWRXKR8
vendor: 124 bytes, lines 1438-1444
1438"
1439        height="0"
1440        width="0"
1441        style="display:none;visibility:hidden"
1442      ></iframe
1443    ></noscript>
1444    
1445<div class="top-notification-bar">
1446  <div class="notifictnsticky">
1447    <div class="container-fluid">
1448      <div class="row">
1449        <div class="col-xl-12 col-lg-12 col-md-12 col-12 bg-orange rounded px-md-1">
1450          <ul id="top-notification-bar" class="notification-entry py-2 text-center">
1451            <li class="notify-wrap text-white fw-bold small">
1452              New Bundle Pricing with savings up to $300 monthly!
1453              <a class="text-decoration-underline text-white" href="/pages/build-your-box">Order Now!</a>
1454            </li>
1455          </ul>
1456        </div>
1457      </div>
1458    </div>
1459  </div>
1460</div>
1461
1462<div id="shopify-section-header" class="shopify-section"><link href="//thrivemeals.com.au/cdn/shop/t/214/assets/nav-redesign.css?v=146774013807573881021788933185" rel="stylesheet" type="text/css" media="all" />
1463<div class="header-main-area">
1464  <div class="header-area headerstky header-sticky">
1465    <div class="container-fluid">
1466      <div class="row align-items-xl-center shadow rounded">
1467        <div class="col-xl-12 col-lg-12 col-md-12 col-12 py-2 cusheaderleft">
1468          <div class="header-main">
1469            <div class="logo header-element"><a href="https://thrivemeals.com.au" class="theme-header-logo">
1470  <img src="//thrivemeals.com.au/cdn/shop/files/logo_thrive.png?v=1677951050" class="img-fluid" alt="Thrive Meals" style="width: 105px;">
1471</a><style>
1472  /* logo css */
1473  a.theme-header-logo {
1474    display: block;
1475  }
1476
1477  /* store css */
1478  a.shop-header-name {
1479    display: block;
1480  }
1481  a.shop-header-name span {
1482    color: var(--color-secondary);
1483    font-size: 16px;
1484    font-weight: 600;
1485  }
1486</style></div>
1487            <div class="header-element main-menu-area">
1488              <nav id="main-navigation-desk" class="main-navigation navbar-expand-xl  d-none ">
1489                <div class="box-header">
1490                  <button class="close-box" type="button"><i class="ion-close-round"></i></button>
1491                </div>
1492                <ul class="main-menu">
1493  
1494    
1495
1496      <li class="menu-link">
1497        <a
1498          
1499          href="/pages/build-your-box"
1500          class="link-title  Menu"
1501        >
1502          <span>Menu</span>
1503        </a>
1504        <a href="/pages/build-your-box" class="link-title link-title-lg">
1505          <span>Menu</span>
1506        </a>
1507      </li>
1508    
1509  
1510    
1511
1512      <li class="menu-link parant ">
1513        <a
1514          
1515          class="link-title  Learn Nutrition"
1516          href="#"
1517        >
1518          <span>Learn Nutrition</span>
1519          <i class="fa fa-angle-down"></i>
1520        </a>
1521        <a
1522          data-bs-toggle="collapse"
1523          href="#collapse-learn-nutrition"
1524          class="link-title link-title-lg Learn Nutrition"
1525        >
1526          <span>Learn Nutrition</span>
1527          <i class="fa fa-angle-down"></i>
1528        </a>
1529        <ul class="dropdown-submenu collapse" id="collapse-learn-nutrition">
1530          
1531            
1532            
1533              
1534                <li class="submenu-li parant">
1535                  <a href="/pages/diets" class="sublink-title">Diet Guides</a>
1536                </li>
1537              
1538            
1539          
1540            
1541            
1542              
1543                <li class="submenu-li parant">
1544                  <a href="/pages/high-protein-diet" class="sublink-title">High Protein</a>
1545                </li>
1546              
1547            
1548          
1549            
1550            
1551              
1552                <li class="submenu-li parant">
1553                  <a href="/pages/gluten-free-diet" class="sublink-title">Gluten Free</a>
1554                </li>
1555              
1556            
1557          
1558            
1559            
1560              
1561                <li class="submenu-li parant">
1562                  <a href="/pages/low-calorie-diet" class="sublink-title">Low Calorie</a>
1563                </li>
1564              
1565            
1566          
1567            
1568            
1569              
1570                <li class="submenu-li parant">
1571                  <a href="/pages/atkins-diet" class="sublink-title">Atkins</a>
1572                </li>
1573              
1574            
1575          
1576            
1577            
1578              
1579                <li class="submenu-li parant">
1580                  <a href="/pages/healthy-eating" class="sublink-title">Healthy Eating</a>
1581                </li>
1582              
1583            
1584          
1585            
1586            
1587              
1588                <li class="submenu-li parant">
1589                  <a href="/pages/low-carb" class="sublink-title">Low Carb</a>
1590                </li>
1591              
1592            
1593          
1594            
1595            
1596              
1597                <li class="submenu-li parant">
1598                  <a href="/pages/keto" class="sublink-title">Keto</a>
1599                </li>
1600              
1601            
1602          
1603        </ul>
1604      </li>
1605    
1606  
1607    
1608
1609      <li class="menu-link parant ">
1610        <a
1611          
1612          class="link-title  Diets and Recipes"
1613          href="#"
1614        >
1615          <span>Diets and Recipes</span>
1616          <i class="fa fa-angle-down"></i>
1617        </a>
1618        <a
1619          data-bs-toggle="collapse"
1620          href="#collapse-diets-and-recipes"
1621          class="link-title link-title-lg Diets and Recipes"
1622        >
1623          <span>Diets and Recipes</span>
1624          <i class="fa fa-angle-down"></i>
1625        </a>
1626        <ul class="dropdown-submenu collapse" id="collapse-diets-and-recipes">
1627          
1628            
1629            
1630              
1631                <li class="submenu-li parant">
1632                  <a href="/pages/keto-foods" class="sublink-title">Keto Diet</a>
1633                </li>
1634              
1635            
1636          
1637            
1638            
1639              
1640                <li class="submenu-li parant">
1641                  <a href="/pages/low-carb-foods" class="sublink-title">Low Carb Diet</a>
1642                </li>
1643              
1644            
1645          
1646            
1647            
1648              
1649                <li class="submenu-li parant">
1650                  <a href="/pages/gluten-free-foods" class="sublink-title">Gluten Free Diet</a>
1651                </li>
1652              
1653            
1654          
1655        </ul>
1656      </li>
1657    
1658  
1659    
1660
1661      <li class="menu-link parant ">
1662        <a
1663          
1664          class="link-title  About"
1665          href="/pages/about-us"
1666        >
1667          <span>About</span>
1668          <i class="fa fa-angle-down"></i>
1669        </a>
1670        <a
1671          data-bs-toggle="collapse"
1672          href="#collapse-about"
1673          class="link-title link-title-lg About"
1674        >
1675          <span>About</span>
1676          <i class="fa fa-angle-down"></i>
1677        </a>
1678        <ul class="dropdown-submenu collapse" id="collapse-about">
1679          
1680            
1681            
1682              
1683                <li class="submenu-li parant">
1684                  <a href="/pages/about-us" class="sublink-title">About Us</a>
1685                </li>
1686              
1687            
1688          
1689            
1690            
1691              
1692                <li class="submenu-li parant">
1693                  <a href="/pages/faq" class="sublink-title">FAQ</a>
1694                </li>
1695              
1696            
1697          
1698            
1699            
1700              
1701                <li class="submenu-li parant">
1702                  <a href="/pages/where-we-deliver" class="sublink-title">Where We Deliver</a>
1703                </li>
1704              
1705            
1706          
1707            
1708            
1709              
1710                <li class="submenu-li parant">
1711                  <a href="/pages/meal-delivery-sydney" class="sublink-title">Sydney</a>
1712                </li>
1713              
1714            
1715          
1716            
1717            
1718              
1719                <li class="submenu-li parant">
1720                  <a href="/pages/meal-delivery-melbourne" class="sublink-title">Melbourne</a>
1721                </li>
1722              
1723            
1724          
1725            
1726            
1727              
1728                <li class="submenu-li parant">
1729                  <a href="/pages/meal-delivery-brisbane" class="sublink-title">Brisbane</a>
1730                </li>
1731              
1732            
1733          
1734            
1735            
1736              
1737                <li class="submenu-li parant">
1738                  <a href="https://thrivemeals.com.au/pages/ndis" class="sublink-title">NDIS</a>
1739                </li>
1740              
1741            
1742          
1743        </ul>
1744      </li>
1745    
1746  
1747    
1748
1749      <li class="menu-link">
1750        <a
1751          
1752          href="/pages/contact-us"
1753          class="link-title  Contact"
1754        >
1755          <span>Contact</span>
1756        </a>
1757        <a href="/pages/contact-us" class="link-title link-title-lg">
1758          <span>Contact</span>
1759        </a>
1760      </li>
1761    
1762  
1763</ul>
1764<script>
1765  $('.megamenu-li').parent('ul').addClass('mega-menu');
1766  $('.menu-banner').parent('ul').addClass('banner-menu');
1767  $('.submenu-li').parent('ul').addClass('sub-menu');
1768</script>
1768
1769
1770              </nav>
1771            </div>
1772
1773            <div class="col col-md-2 ms-4 cusheaderright">
1774              <ul class="d-flex justify-content-end align-items-center"><li class="order-now-wrap ele-wrap d-none d-lg-block px-2">
1775                  <a href="/pages/build-your-box" class="header-order-now">
1776                    <span>Order now</span>
1777                    
1778    <svg
1779      class="icon icon-arrow"
1780      width="12"
1781      height="11"
1782      viewBox="0 0 12 11"
1783      xmlns="http://www.w3.org/2000/svg"
1784    >
1785      <path d="M5.684 1.336 9.247 4.9H1.442a.64.64 0 0 0-.465.197.64.64 0 0 0-.197.465q0 .285.197.48a.64.64 0 0 0 .465.198h7.805L5.684 9.803a.62.62 0 0 0-.205.473q0 .284.205.473a.62.62 0 0 0 .473.205q.285 0 .473-.205l4.715-4.698a.5.5 0 0 0 .079-.103l.063-.118a.73.73 0 0 0 0-.52.4.4 0 0 0-.056-.119 1 1 0 0 0-.086-.102L6.63.389a.62.62 0 0 0-.473-.204.62.62 0 0 0-.473.205.6.6 0 0 0-.205.465q0 .276.205.481" fill="#111"/>
1786    </svg>
1787  
1788                  </a>
1789                </li>
1790                <li class="toggler-wrap px-2">
1791                  <button
1792                    class="navbar-toggler"
1793                    type="button"
1794                    data-bs-toggle="collapse"
1795                    data-bs-target="#navbarContent"
1796                    aria-label="Menu"
1797                    data-ga4-cta="open_menu"
1798                    data-ga4-cta-location="header"
1799                  >
1800                    <i class="feather-menu fs-2"></i>
1801                  </button>
1802                </li>
1803
1804                <li class="user-wrap ele-wrap px-2">
1805                  <div class="st-user">
1806                    <a href="/customer_authentication/login?return_to=/apps/account/dashboard" data-ga4-cta="account" data-ga4-cta-location="header">
1807                      <i class="icon-user fs-2"></i>
1808                    </a>
1809                  </div>
1810                </li>
1811                <li class="cart-wrap ele-wrap">
1812                  <div class="shopping-widget">
1813                    <div class="shopping-cart">
1814                      <a
1815                        
1816                          href="javascript:void(0)" class="cart-count"
1817                        
1818                      >
1819                        <span class="counter-wrap position-relative">
1820                          <i class="icon-handbag  fs-2 "></i>
1821                          <span
1822                            id="cart-total"
1823                            class="bigcounter position-absolute bg-green rounded-pill text-white fw-bolder"
1824                            style="
1825                              top: -7px;
1826                              right: -7px;
1827                              display: flex;
1828                              align-items: center;
1829                              justify-content: center;
1830                              width: 20px;
1831                              height: 20px;
1832                            "
1833                          >0</span>
1834                        </span>
1835                      </a>
1836                    </div>
1837                  </div>
1838                </li>
1839              </ul>
1840            </div>
1841          </div>
1842        </div>
1843      </div>
1844    </div>
1845  </div>
1846</div>
1847<div class="menu-mobile">
1848  <div class="main-menu-area header-element">
1849    <nav id="main-navigation-mob" class="main-navigation navbar-expand-xl  d-none ">
1850      <div class="box-header">
1851        <button class="close-box" type="button"><i class="ion-close-round"></i></button>
1852      </div>
1853      <ul class="main-menu">
1854  
1855    
1856
1857      <li class="menu-link">
1858        <a
1859          
1860          href="/pages/build-your-box"
1861          class="link-title  Menu"
1862        >
1863          <span>Menu</span>
1864        </a>
1865        <a href="/pages/build-your-box" class="link-title link-title-lg">
1866          <span>Menu</span>
1867        </a>
1868      </li>
1869    
1870  
1871    
1872
1873      <li class="menu-link parant ">
1874        <a
1875          
1876          class="link-title  Learn Nutrition"
1877          href="#"
1878        >
1879          <span>Learn Nutrition</span>
1880          <i class="fa fa-angle-down"></i>
1881        </a>
1882        <a
1883          data-bs-toggle="collapse"
1884          href="#collapse-learn-nutrition"
1885          class="link-title link-title-lg Learn Nutrition"
1886        >
1887          <span>Learn Nutrition</span>
1888          <i class="fa fa-angle-down"></i>
1889        </a>
1890        <ul class="dropdown-submenu collapse" id="collapse-learn-nutrition">
1891          
1892            
1893            
1894              
1895                <li class="submenu-li parant">
1896                  <a href="/pages/diets" class="sublink-title">Diet Guides</a>
1897                </li>
1898              
1899            
1900          
1901            
1902            
1903              
1904                <li class="submenu-li parant">
1905                  <a href="/pages/high-protein-diet" class="sublink-title">High Protein</a>
1906                </li>
1907              
1908            
1909          
1910            
1911            
1912              
1913                <li class="submenu-li parant">
1914                  <a href="/pages/gluten-free-diet" class="sublink-title">Gluten Free</a>
1915                </li>
1916              
1917            
1918          
1919            
1920            
1921              
1922                <li class="submenu-li parant">
1923                  <a href="/pages/low-calorie-diet" class="sublink-title">Low Calorie</a>
1924                </li>
1925              
1926            
1927          
1928            
1929            
1930              
1931                <li class="submenu-li parant">
1932                  <a href="/pages/atkins-diet" class="sublink-title">Atkins</a>
1933                </li>
1934              
1935            
1936          
1937            
1938            
1939              
1940                <li class="submenu-li parant">
1941                  <a href="/pages/healthy-eating" class="sublink-title">Healthy Eating</a>
1942                </li>
1943              
1944            
1945          
1946            
1947            
1948              
1949                <li class="submenu-li parant">
1950                  <a href="/pages/low-carb" class="sublink-title">Low Carb</a>
1951                </li>
1952              
1953            
1954          
1955            
1956            
1957              
1958                <li class="submenu-li parant">
1959                  <a href="/pages/keto" class="sublink-title">Keto</a>
1960                </li>
1961              
1962            
1963          
1964        </ul>
1965      </li>
1966    
1967  
1968    
1969
1970      <li class="menu-link parant ">
1971        <a
1972          
1973          class="link-title  Diets and Recipes"
1974          href="#"
1975        >
1976          <span>Diets and Recipes</span>
1977          <i class="fa fa-angle-down"></i>
1978        </a>
1979        <a
1980          data-bs-toggle="collapse"
1981          href="#collapse-diets-and-recipes"
1982          class="link-title link-title-lg Diets and Recipes"
1983        >
1984          <span>Diets and Recipes</span>
1985          <i class="fa fa-angle-down"></i>
1986        </a>
1987        <ul class="dropdown-submenu collapse" id="collapse-diets-and-recipes">
1988          
1989            
1990            
1991              
1992                <li class="submenu-li parant">
1993                  <a href="/pages/keto-foods" class="sublink-title">Keto Diet</a>
1994                </li>
1995              
1996            
1997          
1998            
1999            
2000              
2001                <li class="submenu-li parant">
2002                  <a href="/pages/low-carb-foods" class="sublink-title">Low Carb Diet</a>
2003                </li>
2004              
2005            
2006          
2007            
2008            
2009              
2010                <li class="submenu-li parant">
2011                  <a href="/pages/gluten-free-foods" class="sublink-title">Gluten Free Diet</a>
2012                </li>
2013              
2014            
2015          
2016        </ul>
2017      </li>
2018    
2019  
2020    
2021
2022      <li class="menu-link parant ">
2023        <a
2024          
2025          class="link-title  About"
2026          href="/pages/about-us"
2027        >
2028          <span>About</span>
2029          <i class="fa fa-angle-down"></i>
2030        </a>
2031        <a
2032          data-bs-toggle="collapse"
2033          href="#collapse-about"
2034          class="link-title link-title-lg About"
2035        >
2036          <span>About</span>
2037          <i class="fa fa-angle-down"></i>
2038        </a>
2039        <ul class="dropdown-submenu collapse" id="collapse-about">
2040          
2041            
2042            
2043              
2044                <li class="submenu-li parant">
2045                  <a href="/pages/about-us" class="sublink-title">About Us</a>
2046                </li>
2047              
2048            
2049          
2050            
2051            
2052              
2053                <li class="submenu-li parant">
2054                  <a href="/pages/faq" class="sublink-title">FAQ</a>
2055                </li>
2056              
2057            
2058          
2059            
2060            
2061              
2062                <li class="submenu-li parant">
2063                  <a href="/pages/where-we-deliver" class="sublink-title">Where We Deliver</a>
2064                </li>
2065              
2066            
2067          
2068            
2069            
2070              
2071                <li class="submenu-li parant">
2072                  <a href="/pages/meal-delivery-sydney" class="sublink-title">Sydney</a>
2073                </li>
2074              
2075            
2076          
2077            
2078            
2079              
2080                <li class="submenu-li parant">
2081                  <a href="/pages/meal-delivery-melbourne" class="sublink-title">Melbourne</a>
2082                </li>
2083              
2084            
2085          
2086            
2087            
2088              
2089                <li class="submenu-li parant">
2090                  <a href="/pages/meal-delivery-brisbane" class="sublink-title">Brisbane</a>
2091                </li>
2092              
2093            
2094          
2095            
2096            
2097              
2098                <li class="submenu-li parant">
2099                  <a href="https://thrivemeals.com.au/pages/ndis" class="sublink-title">NDIS</a>
2100                </li>
2101              
2102            
2103          
2104        </ul>
2105      </li>
2106    
2107  
2108    
2109
2110      <li class="menu-link">
2111        <a
2112          
2113          href="/pages/contact-us"
2114          class="link-title  Contact"
2115        >
2116          <span>Contact</span>
2117        </a>
2118        <a href="/pages/contact-us" class="link-title link-title-lg">
2119          <span>Contact</span>
2120        </a>
2121      </li>
2122    
2123  
2124</ul>
2125<script>
2126  $('.megamenu-li').parent('ul').addClass('mega-menu');
2127  $('.menu-banner').parent('ul').addClass('banner-menu');
2128  $('.submenu-li').parent('ul').addClass('sub-menu');
2129</script>
2129
2130
2131    </nav>
2132  </div>
2133</div>
2134
2135<script>
2136   document.addEventListener("DOMContentLoaded", function() {
2137    document.getElementById("main-navigation-desk").classList.remove("d-none");
2138    document.getElementById("main-navigation-mob").classList.remove("d-none");
2139   });
2140</script>
2140
2141
2142<style>
2143   .header-area .header-main-area {
2144    background-color: rgba(0,0,0,0);
2145  }.header-area.is-sticky{
2146    position: fixed;
2147    top: 0;
2148    left: 0;
2149    right: 0;
2150    background-color: #fff;
2151    z-index: 8;
2152    width: 100%;
2153    box-shadow: 0 0 15px rgb(0 0 0 / 15%);
2154    -webkit-box-shadow: 0 0 15px rgb(0 0 0 / 15%);
2155    -moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
2156    -ms-box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
2157    background-color: #fff;
2158    animation: smoothScroll 1s forwards;
2159  }
2160  @keyframes smoothScroll {
2161    0% {
2162      transform: translateY(-150px);
2163    }
2164    100% {
2165      transform: translateY(0px);
2166    }
2167  }@media (max-width : 767px){
2168    .theme-logo img{
2169      max-width: 100%;
2170    }
2171  }
2172</style>
2173</div>
2174     
2175    <main role="main">
2176      <!-- BEGIN content_for_index --><div id="shopify-section-custom_banner_63b76i" class="shopify-section"><style data-shopify>
2177    .customBanner{
2178    padding-top:0px;
2179    padding-bottom:0px;
2180    }
2181    .customBanner .postCodeButton {
2182      position: unset;
2183      transform: unset;
2184      border-radius: unset;
2185      background: unset;
2186      box-shadow: unset;
2187      width: unset;
2188      border: none;
2189      padding: 15px 10px;
2190      text-align: center;
2191      cursor: pointer;
2192      font-family: Montserrat,sans-serif;
2193      z-index: 9;
2194      display: block;
2195  }
2196  .customBanner {
2197    background-image:url(//thrivemeals.com.au/cdn/shopifycloud/storefront/assets/no-image-50-e6fb86f4_8X5.gif);
2198  }
2199  .desktop-bg{
2200    background-image:url(//thrivemeals.com.au/cdn/shopifycloud/storefront/assets/no-image-2048-a2addb12_1000X600.gif);
2201  }
2202</style>
2203<div
2204  class="
2205    customBanner topbanner-clc  
2206  "
2207>
2208  <div class="container">
2209    <div class="bannerBlock" style="display:flex; justify-content:center;">
2210      <div class="bannerContent">
2211        
2212          
2213              <div class="customLiquid"><h1 style ="font-family: Rubik;
2214    max-width: 800px;
2215    font-size: 60px;
2216    line-height: 60px;
2217    margin-bottom: 5px;color:#000000;">HEALTHY</h1></div>
2218            
2219        
2220          
2221              <div class="customLiquid"><h1 style ="font-family: Rubik;
2222    max-width: 800px;
2223    font-size: 60px;
2224    line-height: 60px;
2225    margin-bottom: 5px;color:#4cb848;">LOW-CARB</h1></div>
2226            
2227        
2228          
2229              <div class="customLiquid"><h1 style ="font-family: Rubik;
2230    max-width: 800px;
2231    font-size: 60px;
2232    line-height: 60px;
2233    margin-bottom: 5px;color:#000000;">MEALS</h1></div>
2234            
2235        
2236          
2237              <h3>Made Easy. Delivered Fresh.</h3>
2238            
2239        
2240          
2241<a class="btn themeBtn mt-4" href="/pages/build-your-box">BROWSE FULL MENU</a>
2242            
2243        
2244          
2245              <div class="customLiquid"><span style="color: #000;max-width: 500px;width: 100%;text-align: center;"><i></i></span></div>
2246            
2247        
2248      </div>
2249      
2250        <div class="imageBlock">      
2251          <img 
2252            srcset="
2253              //thrivemeals.com.au/cdn/shop/files/banner_1_300x.webp?v=1751373363 300w,
2254              //thrivemeals.com.au/cdn/shop/files/banner_1_400x.webp?v=1751373363 400w,
2255              //thrivemeals.com.au/cdn/shop/files/banner_1_600x.webp?v=1751373363 600w,
2256              //thrivemeals.com.au/cdn/shop/files/banner_1_770x.webp?v=1751373363 900w,
2257              //thrivemeals.com.au/cdn/shop/files/banner_1_770x.webp?v=1751373363 1200w
2258            "
2259            sizes="(max-width: 600px) 100vw, 1440px"
2260          >
2261        </div>
2262      
2263    </div>
2264  </div>
2265</div>
2266
2267<style> #shopify-section-custom_banner_63b76i .topbanner-clc {background: linear-gradient(#ffffff 60%, #54b52a);} </style></div><div id="shopify-section-multi_column_with_image_4WBzVQ" class="shopify-section"><style data-shopify>
2268  .muteUnmute.muted .muteIcon{
2269    display:block;
2270  }
2271  .muteUnmute.muted .unmuteIcon, .muteUnmute .muteIcon{
2272    display:none;
2273  }
2274</style>
2275<section class="multiColumnWithImage freshCookedMealsSlider menu-page">
2276  <div class="container">
2277    <div class="multiColumnWithImageBlock">
2278      
2279      <div class=" sectionHeadingblock">
2280        
2281        
2282          <h2 class="sectionHeading">EXPLORE OUR RANGE OF READY MEALS</h2>
2283        
2284        
2285        
2286          <div class="description fs-16">
2287            <p>Meal prep that gives you more choice, more taste, more time. Enjoy fresh food and richer flavours, whether your want to lose weight, bulk up or get time back in your day.</p>
2288          </div>
2289        
2290      </div>
2291      
2292      
2293      
2294        
2295      <div class="multiColumnWithImageItems">
2296        
2297        
2298          
2299        
2300          
2301        
2302          
2303        
2304        <div
2305          class="columnBlockItems d-flex flex-column flex-md-row justify-content-center align-items-center sliderDisabled"
2306          
2307        >
2308          
2309            
2310                <div class="columnBlockItem  ">
2311                  <div class="columnHeadingBlock ">
2312                    
2313                      <div class="imageBlock">
2314                        
2315                        <img
2316                          srcset="
2317                                //thrivemeals.com.au/cdn/shop/files/CleanChickenKetoBowl_72f1868d-363f-4d30-ad62-198f9acf19be_300x.webp?v=1751373545 300w,
2318                                //thrivemeals.com.au/cdn/shop/files/CleanChickenKetoBowl_72f1868d-363f-4d30-ad62-198f9acf19be_400x.webp?v=1751373545 400w,
2319                                //thrivemeals.com.au/cdn/shop/files/CleanChickenKetoBowl_72f1868d-363f-4d30-ad62-198f9acf19be_400x.webp?v=1751373545 600w,
2320                                //thrivemeals.com.au/cdn/shop/files/CleanChickenKetoBowl_72f1868d-363f-4d30-ad62-198f9acf19be_400x.webp?v=1751373545 800w,
2321                                //thrivemeals.com.au/cdn/shop/files/CleanChickenKetoBowl_72f1868d-363f-4d30-ad62-198f9acf19be_400x.webp?v=1751373545 900w,
2322                                //thrivemeals.com.au/cdn/shop/files/CleanChickenKetoBowl_72f1868d-363f-4d30-ad62-198f9acf19be_400x.webp?v=1751373545 1200w,
2323                                //thrivemeals.com.au/cdn/shop/files/CleanChickenKetoBowl_72f1868d-363f-4d30-ad62-198f9acf19be_400x.webp?v=1751373545 1400w
2324                              "
2325                            loading="lazy"
2326                            sizes="(max-width: 768px) 100vw, 1440px"
2327                            alt=""
2328                          >
2329                      </div>
2330                    
2331                    <div class="blockContentBlock">
2332                      
2333                      
2334                      
2335                      
2336                    </div>
2337                  </div>
2338                  
2339                    <div class="buttonBlock d-flex  justify-content-center align-items-center">
2340                      
2341                        <a
2342                          class="btn bg-black rounded-pill text-white py-2 px-5 themeBtn outlineBtn"
2343                          href="https://thrivemeals.com.au/collections/fresh-ready-meals?g=keto-friendly"
2344                        >
2345                      
2346                      
2347                        
2348                        <span class="buttonText">
2349                      
2350
2351                      Keto Friendly
2352                      
2353                        </span>
2354                        
2355                          <span class="iconBlock rightChevron1IconBlock ">
2356                            
2357    <svg
2358      class="icon rightChevron1Icon"
2359      width="18"
2360      height="15"
2361      viewBox="0 0 18 25"
2362      fill="none"
2363      xmlns="http://www.w3.org/2000/svg"
2364    >
2365      <path d="M17.142 12.7 5.194.667C2.886-1.66-1.853 2.64.927 5.346l7.559 7.355-7.803 7.233c-2.376 2.203 2.025 6.723 4.39 4.438z" fill="#fff"/>
2366    </svg>
2367
2368  </span>
2369                        
2370                      
2371                      
2372                        </a>
2373                      
2374                    </div>
2375                  
2376                </div>
2377            
2378          
2379            
2380                <div class="columnBlockItem  ">
2381                  <div class="columnHeadingBlock ">
2382                    
2383                      <div class="imageBlock">
2384                        
2385                        <img
2386                          srcset="
2387                                //thrivemeals.com.au/cdn/shop/files/LambKetoBowl_2d84cca3-3e7e-4ffa-90b9-3bb21eaeb3c8_300x.webp?v=1751373545 300w,
2388                                //thrivemeals.com.au/cdn/shop/files/LambKetoBowl_2d84cca3-3e7e-4ffa-90b9-3bb21eaeb3c8_400x.webp?v=1751373545 400w,
2389                                //thrivemeals.com.au/cdn/shop/files/LambKetoBowl_2d84cca3-3e7e-4ffa-90b9-3bb21eaeb3c8_400x.webp?v=1751373545 600w,
2390                                //thrivemeals.com.au/cdn/shop/files/LambKetoBowl_2d84cca3-3e7e-4ffa-90b9-3bb21eaeb3c8_400x.webp?v=1751373545 800w,
2391                                //thrivemeals.com.au/cdn/shop/files/LambKetoBowl_2d84cca3-3e7e-4ffa-90b9-3bb21eaeb3c8_400x.webp?v=1751373545 900w,
2392                                //thrivemeals.com.au/cdn/shop/files/LambKetoBowl_2d84cca3-3e7e-4ffa-90b9-3bb21eaeb3c8_400x.webp?v=1751373545 1200w,
2393                                //thrivemeals.com.au/cdn/shop/files/LambKetoBowl_2d84cca3-3e7e-4ffa-90b9-3bb21eaeb3c8_400x.webp?v=1751373545 1400w
2394                              "
2395                            loading="lazy"
2396                            sizes="(max-width: 768px) 100vw, 1440px"
2397                            alt=""
2398                          >
2399                      </div>
2400                    
2401                    <div class="blockContentBlock">
2402                      
2403                      
2404                      
2405                      
2406                    </div>
2407                  </div>
2408                  
2409                    <div class="buttonBlock d-flex  justify-content-center align-items-center">
2410                      
2411                        <a
2412                          class="btn bg-black rounded-pill text-white py-2 px-5 themeBtn outlineBtn"
2413                          href="/collections/fresh-ready-meals"
2414                        >
2415                      
2416                      
2417                        
2418                        <span class="buttonText">
2419                      
2420
2421                      Gluten Friendly
2422                      
2423                        </span>
2424                        
2425                          <span class="iconBlock rightChevron1IconBlock ">
2426                            
2427    <svg
2428      class="icon rightChevron1Icon"
2429      width="18"
2430      height="15"
2431      viewBox="0 0 18 25"
2432      fill="none"
2433      xmlns="http://www.w3.org/2000/svg"
2434    >
2435      <path d="M17.142 12.7 5.194.667C2.886-1.66-1.853 2.64.927 5.346l7.559 7.355-7.803 7.233c-2.376 2.203 2.025 6.723 4.39 4.438z" fill="#fff"/>
2436    </svg>
2437
2438  </span>
2439                        
2440                      
2441                      
2442                        </a>
2443                      
2444                    </div>
2445                  
2446                </div>
2447            
2448          
2449            
2450                <div class="columnBlockItem  ">
2451                  <div class="columnHeadingBlock ">
2452                    
2453                      <div class="imageBlock">
2454                        
2455                        <img
2456                          srcset="
2457                                //thrivemeals.com.au/cdn/shop/files/MisoBarramundi_300x.webp?v=1751373545 300w,
2458                                //thrivemeals.com.au/cdn/shop/files/MisoBarramundi_400x.webp?v=1751373545 400w,
2459                                //thrivemeals.com.au/cdn/shop/files/MisoBarramundi_400x.webp?v=1751373545 600w,
2460                                //thrivemeals.com.au/cdn/shop/files/MisoBarramundi_400x.webp?v=1751373545 800w,
2461                                //thrivemeals.com.au/cdn/shop/files/MisoBarramundi_400x.webp?v=1751373545 900w,
2462                                //thrivemeals.com.au/cdn/shop/files/MisoBarramundi_400x.webp?v=1751373545 1200w,
2463                                //thrivemeals.com.au/cdn/shop/files/MisoBarramundi_400x.webp?v=1751373545 1400w
2464                              "
2465                            loading="lazy"
2466                            sizes="(max-width: 768px) 100vw, 1440px"
2467                            alt=""
2468                          >
2469                      </div>
2470                    
2471                    <div class="blockContentBlock">
2472                      
2473                      
2474                      
2475                      
2476                    </div>
2477                  </div>
2478                  
2479                    <div class="buttonBlock d-flex  justify-content-center align-items-center">
2480                      
2481                        <a
2482                          class="btn bg-black rounded-pill text-white py-2 px-5 themeBtn outlineBtn"
2483                          href="https://thrivemeals.com.au/collections/fresh-ready-meals?g=high-protein"
2484                        >
2485                      
2486                      
2487                        
2488                        <span class="buttonText">
2489                      
2490
2491                      High Protein
2492                      
2493                        </span>
2494                        
2495                          <span class="iconBlock rightChevron1IconBlock ">
2496                            
2497    <svg
2498      class="icon rightChevron1Icon"
2499      width="18"
2500      height="15"
2501      viewBox="0 0 18 25"
2502      fill="none"
2503      xmlns="http://www.w3.org/2000/svg"
2504    >
2505      <path d="M17.142 12.7 5.194.667C2.886-1.66-1.853 2.64.927 5.346l7.559 7.355-7.803 7.233c-2.376 2.203 2.025 6.723 4.39 4.438z" fill="#fff"/>
2506    </svg>
2507
2508  </span>
2509                        
2510                      
2511                      
2512                        </a>
2513                      
2514                    </div>
2515                  
2516                </div>
2517            
2518          
2519        </div>
2520      </div>
2521    </div>
2522  </div>
2523</section>
2524
2525
2526
2527<style> #shopify-section-multi_column_with_image_4WBzVQ .freshCookedMealsSlider {background: linear-gradient(#55b52b 70%, #b0ec8b);} #shopify-section-multi_column_with_image_4WBzVQ .sectionHeading, #shopify-section-multi_column_with_image_4WBzVQ .description {color: #ffffff; text-align: center;} </style></div><div id="shopify-section-multi_column_with_image_wyNpMA" class="shopify-section"><style data-shopify>
2528  .muteUnmute.muted .muteIcon{
2529    display:block;
2530  }
2531  .muteUnmute.muted .unmuteIcon, .muteUnmute .muteIcon{
2532    display:none;
2533  }
2534</style>
2535<section class="multiColumnWithImage shippingProcessSection menu-page">
2536  <div class="container">
2537    <div class="multiColumnWithImageBlock">
2538      
2539      <div class=" sectionHeadingblock">
2540        
2541        
2542        
2543        
2544      </div>
2545      
2546      
2547      
2548        
2549      <div class="multiColumnWithImageItems">
2550        
2551        
2552          
2553        
2554          
2555        
2556          
2557        
2558          
2559        
2560        <div
2561          class="columnBlockItems  sliderDisabled"
2562          
2563        >
2564          
2565            
2566                <div class="columnBlockItem  ">
2567                  <div class="columnHeadingBlock d-flex flex-column flex-md-row justify-content-center align-items-center">
2568                    
2569                      <div class="imageBlock">
2570                        
2571                        <img
2572                          srcset="
2573                                //thrivemeals.com.au/cdn/shop/files/icon_5_300x.svg?v=1715746750 300w,
2574                                //thrivemeals.com.au/cdn/shop/files/icon_5_400x.svg?v=1715746750 400w,
2575                                //thrivemeals.com.au/cdn/shop/files/icon_5_400x.svg?v=1715746750 600w,
2576                                //thrivemeals.com.au/cdn/shop/files/icon_5_400x.svg?v=1715746750 800w,
2577                                //thrivemeals.com.au/cdn/shop/files/icon_5_400x.svg?v=1715746750 900w,
2578                                //thrivemeals.com.au/cdn/shop/files/icon_5_400x.svg?v=1715746750 1200w,
2579                                //thrivemeals.com.au/cdn/shop/files/icon_5_400x.svg?v=1715746750 1400w
2580                              "
2581                            loading="lazy"
2582                            sizes="(max-width: 768px) 100vw, 1440px"
2583                            alt=""
2584                          >
2585                      </div>
2586                    
2587                    <div class="blockContentBlock">
2588                      
2589                      
2590                        <h4 class="blockSubHeading">Science Backed, Dietitian Designed</h4>
2591                      
2592                      
2593                      
2594                    </div>
2595                  </div>
2596                  
2597                </div>
2598            
2599          
2600            
2601                <div class="columnBlockItem  ">
2602                  <div class="columnHeadingBlock d-flex flex-column flex-md-row justify-content-center align-items-center">
2603                    
2604                      <div class="imageBlock">
2605                        
2606                        <img
2607                          srcset="
2608                                //thrivemeals.com.au/cdn/shop/files/icon_2_300x.svg?v=1715746736 300w,
2609                                //thrivemeals.com.au/cdn/shop/files/icon_2_400x.svg?v=1715746736 400w,
2610                                //thrivemeals.com.au/cdn/shop/files/icon_2_400x.svg?v=1715746736 600w,
2611                                //thrivemeals.com.au/cdn/shop/files/icon_2_400x.svg?v=1715746736 800w,
2612                                //thrivemeals.com.au/cdn/shop/files/icon_2_400x.svg?v=1715746736 900w,
2613                                //thrivemeals.com.au/cdn/shop/files/icon_2_400x.svg?v=1715746736 1200w,
2614                                //thrivemeals.com.au/cdn/shop/files/icon_2_400x.svg?v=1715746736 1400w
2615                              "
2616                            loading="lazy"
2617                            sizes="(max-width: 768px) 100vw, 1440px"
2618                            alt=""
2619                          >
2620                      </div>
2621                    
2622                    <div class="blockContentBlock">
2623                      
2624                      
2625                        <h4 class="blockSubHeading">Fresh Meals, Never Frozen</h4>
2626                      
2627                      
2628                      
2629                    </div>
2630                  </div>
2631                  
2632                </div>
2633            
2634          
2635            
2636                <div class="columnBlockItem  ">
2637                  <div class="columnHeadingBlock d-flex flex-column flex-md-row justify-content-center align-items-center">
2638                    
2639                      <div class="imageBlock">
2640                        
2641                        <img
2642                          srcset="
2643                                //thrivemeals.com.au/cdn/shop/files/icon_3_300x.svg?v=1715746741 300w,
2644                                //thrivemeals.com.au/cdn/shop/files/icon_3_400x.svg?v=1715746741 400w,
2645                                //thrivemeals.com.au/cdn/shop/files/icon_3_400x.svg?v=1715746741 600w,
2646                                //thrivemeals.com.au/cdn/shop/files/icon_3_400x.svg?v=1715746741 800w,
2647                                //thrivemeals.com.au/cdn/shop/files/icon_3_400x.svg?v=1715746741 900w,
2648                                //thrivemeals.com.au/cdn/shop/files/icon_3_400x.svg?v=1715746741 1200w,
2649                                //thrivemeals.com.au/cdn/shop/files/icon_3_400x.svg?v=1715746741 1400w
2650                              "
2651                            loading="lazy"
2652                            sizes="(max-width: 768px) 100vw, 1440px"
2653                            alt=""
2654                          >
2655                      </div>
2656                    
2657                    <div class="blockContentBlock">
2658                      
2659                      
2660                        <h4 class="blockSubHeading">Delivered to You Every Week</h4>
2661                      
2662                      
2663                      
2664                    </div>
2665                  </div>
2666                  
2667                </div>
2668            
2669          
2670            
2671                <div class="columnBlockItem  ">
2672                  <div class="columnHeadingBlock d-flex flex-column flex-md-row justify-content-center align-items-center">
2673                    
2674                      <div class="imageBlock">
2675                        
2676                        <img
2677                          srcset="
2678                                //thrivemeals.com.au/cdn/shop/files/icon_4_300x.svg?v=1715746746 300w,
2679                                //thrivemeals.com.au/cdn/shop/files/icon_4_400x.svg?v=1715746746 400w,
2680                                //thrivemeals.com.au/cdn/shop/files/icon_4_400x.svg?v=1715746746 600w,
2681                                //thrivemeals.com.au/cdn/shop/files/icon_4_400x.svg?v=1715746746 800w,
2682                                //thrivemeals.com.au/cdn/shop/files/icon_4_400x.svg?v=1715746746 900w,
2683                                //thrivemeals.com.au/cdn/shop/files/icon_4_400x.svg?v=1715746746 1200w,
2684                                //thrivemeals.com.au/cdn/shop/files/icon_4_400x.svg?v=1715746746 1400w
2685                              "
2686                            loading="lazy"
2687                            sizes="(max-width: 768px) 100vw, 1440px"
2688                            alt=""
2689                          >
2690                      </div>
2691                    
2692                    <div class="blockContentBlock">
2693                      
2694                      
2695                        <h4 class="blockSubHeading">No Compromising Taste for Health</h4>
2696                      
2697                      
2698                      
2699                    </div>
2700                  </div>
2701                  
2702                </div>
2703            
2704          
2705        </div>
2706      </div>
2707    </div>
2708  </div>
2709</section>
2710
2711
2712
2713</div><div id="shopify-section-bb0b4474-a65e-4c3f-b292-45e352933b97" class="shopify-section"><div class="discover-menu">
2714  <div class="container">
2715    
2716    <div class="bg-box">
2717      <div class="row">
2718        
2719          <div class="col-lg-4 col-xs-12 distitle">
2720            <h2><p>Our Most<br>Popular Meals</p></h2>
2721          </div>
2722        
2723        
2724          <div class="col-lg-8 col-xs-12 disdesc">
2725            <p class="firstdesc">Pick from some of our most popular meals!</p>
2726            <p class="secdesc">Find out why our customers love our food. Once you try, you won't go back!</p>
2727          </div>
2728        
2729      </div>
2730    </div>
2731    
2732  </div>
2733</div>
2734
2735<style> #shopify-section-bb0b4474-a65e-4c3f-b292-45e352933b97 .discover-menu {margin-top: 80px;} </style></div><div id="shopify-section-7b451ab7-248d-4516-9c9b-bcecaf66a94e" class="shopify-section">
2736<link href="//thrivemeals.com.au/cdn/shop/t/214/assets/menu-redesign.css?v=111497265428397155091786598712" rel="stylesheet" type="text/css" media="all" />
2737<section class="productSliderSection sectionPadding d-none">
2738  <div class="container">
2739    <div class="slider-content">
2740      <div class="product-slider owl-carousel" id="product-slider">
2741        
2742          
2743          
2744
2745
2746<div class="item menu-card-redesign mcard cat-lowcarb low_carb  loop_index_0 is-ld-meal" data-ga4-item="{&quot;item_id&quot;:&quot;9197210665276&quot;,&quot;item_name&quot;:&quot;Beef Lasagne (Low Carb)&quot;,&quot;item_category&quot;:&quot;LUNCH \u0026 DINNER&quot;,&quot;price&quot;:12.95}">
2747  <div style="display:none;">1295 == 1295</div>
2748
2749  <div class="product-slider-image mcard-photo photo">
2750    
2751    <a
2752      class="desk-img f7-quick-view quick-view"
2753      href="/products/beef-lasagne"
2754      id="productId_9197210665276"
2755      data-meta='{"allergen_information":{"type":"root","children":[{"type":"paragraph","children":[{"type":"text","value":"Contains Gluten, Wheat, Milk, Soy\n","bold":true},{"type":"text","value":"\nFood Allergy Notice: Our meals are prepared in a kitchen whose environment contains eggs, fish, milk, peanuts, sesame, crustaceans, soy, nuts, tree nuts, gluten, lupin, and sulphites. Though best practices are used in preparing the meal, inadvertent cross-contamination may occur. We cannot guarantee the complete absence of these allergens. Our nutrition data includes all sauces, dressings, condiments, and garnishes included with a dish. Every reasonable effort has been made to ensure the accuracy of all information at the time of publication. However, the information contained above is subject to change without prior notice"}]}]},"calories_per100":"134 Cal","calories_perserve":"402 Cal","carbs_per100":"3.9 g","carbs_perserve":"11.6 g","custom_filter":["Egg-Free","Peanut-Free","Tree Nut-Free","Fish-Free","Crustacea-Free"],"energy_per100":"560 kJ","energy_perserve":"1680 kJ","fat_per100":"6.9 g","fat_perserve":"20.7 g","fibre_per100":"2.0 g","fibre_perserve":"6.0 g","ingredients":"Beef Mince, Water, Tomato Puree, Low Carb Lasagne Sheets (Organic Soy Bean), Cream, Tomato Paste, Mozzarella, Carrot, Celery, Onion, Mushroom, Parmesan Cheese, Butter, Olive Oil, Salt, Plain Flour, Black Pepper, Herb, Oregano, Bay Leaves, Nutmeg.","meal_category":["Low Carb"],"meal_subtitle":"Low Carb Style","product_ingredients":["Beef Mince","Low Carb Lasagne Sheets (Organic Soy Bean)","Tomatoes","Water","Tomato Paste","Carrot","Celery","Onion","Mozzarella (Milk)","Cream (Milk)","Mushroom","Parmesan Cheese (Milk)","Flour (Wheat)","Butter (Milk)","Beef Stock","Salt","Black Pepper","Herb","Olive Oil","Oregano","Thyme","Bay Leaves","Nutmeg","Thickener (1422)"],"product_instructions":{"type":"root","children":[{"type":"list","listType":"ordered","children":[{"type":"list-item","children":[{"type":"text","value":"Remove sleeve and peel film slightly from corner then heat in Microwave for 90 seconds"}]},{"type":"list-item","children":[{"type":"text","value":"Peel film off, stir \u0026 heat for an additional 30 seconds if required"}]},{"type":"list-item","children":[{"type":"text","value":"Serve on a plate for the most delicious, healthy meal. Enjoy!"}]}]}]},"product_name_highlight":"Beef Lasagne","protein_per100":"13.2 g","protein_perserve":"39.5 g","protein_type":"Beef","satfat_per100":"3.4 g","satfat_perserve":"10.2 g","sodium_per100":"550 mg","sodium_perserve":"1650 mg","sugars_per100":"2.2 g","sugars_perserve":"6.6 g","why_good_for_you":"Beef provides complete protein, iron and zinc; soy lasagne, tomatoes and vegetables contribute fibre, lycopene, folate and plant protein."}'
2756      data-allergen='null'
2757      data-instructions='null'
2758      onclick="if(window.quiqview){quiqview('beef-lasagne');return false;}"
2759    >
2760      <img
2761        class="img-fluid placeholder-image"
2762        loading="lazy"
2763        srcset="
2764          //thrivemeals.com.au/cdn/shop/files/Lasagne.png?crop=center&height=400&v=1722391912&width=400 300w,
2765          //thrivemeals.com.au/cdn/shop/files/Lasagne.png?crop=center&height=400&v=1722391912&width=400 400w,
2766          //thrivemeals.com.au/cdn/shop/files/Lasagne.png?crop=center&height=400&v=1722391912&width=400 600w,
2767          //thrivemeals.com.au/cdn/shop/files/Lasagne.png?crop=center&height=400&v=1722391912&width=400 800w,
2768          //thrivemeals.com.au/cdn/shop/files/Lasagne.png?crop=center&height=400&v=1722391912&width=400 1200w
2769        "
2770        sizes="(max-width: 600px) 100vw, 400px"
2771        width="230"
2772        height="230"
2773        alt="Beef Lasagne"
2774      >
2775    </a>
2776
2777    
2778    <span class="inboxb inbox-badge d-none">In box &times;<span class="inbox-qty quantity-48753653678396">0</span></span>
2779
2780    
2781
2782    
2783  </div>
2784
2785  
2786  
2787    <div class="cat-bar lowcarb">Low Carb</div>
2788  
2789
2790  
2791  
2792    <div class="macro-strip nutritionCount lowcarb">
2793      
2794        <span class="nutritionItem">402 CAL</span>
2795      
2796      
2797        <span class="nutritionItem">40 P</span>
2798      
2799      
2800        <span class="nutritionItem">12 C</span>
2801      
2802      
2803        <span class="nutritionItem">21 F</span>
2804      
2805    </div>
2806  
2807
2808  <div class="productContent mcard-b">
2809    <div class="otherContent d-flex flex-column ">
2810      <div class="cardFilterIcons">
2811        
2812        <div class="">
2813  <ul class="flex-nowrap justify-content-start">
2814    
2815      
2816      
2817        <li class="filterTooltip" tip-title="Egg-Free">
2818          <img src="
2819    //thrivemeals.com.au/cdn/shop/files/EF-removebg-preview_50x.png?v=1759769778
2820  " alt="Filter Icons" width="30" height="30">
2821        </li>
2822      
2823    
2824      
2825      
2826        <li class="filterTooltip" tip-title="Peanut-Free">
2827          <img src="
2828    //thrivemeals.com.au/cdn/shop/files/PF-removebg-preview_50x.png?v=1759769778
2829  " alt="Filter Icons" width="30" height="30">
2830        </li>
2831      
2832    
2833      
2834      
2835        <li class="filterTooltip" tip-title="Tree Nut-Free">
2836          <img src="
2837    //thrivemeals.com.au/cdn/shop/files/TNF-removebg-preview_50x.png?v=1759769778
2838  " alt="Filter Icons" width="30" height="30">
2839        </li>
2840      
2841    
2842      
2843      
2844    
2845      
2846      
2847        <li class="filterTooltip" tip-title="Crustacea-Free">
2848          <img src="
2849    //thrivemeals.com.au/cdn/shop/files/CF-removebg-preview_50x.png?v=1759769779
2850  " alt="Filter Icons" width="30" height="30">
2851        </li>
2852      
2853    
2854  </ul>
2855</div>
2856
2857      </div>
2858
2859      <h3 class="mc-name"><a href="/products/beef-lasagne" title="Beef Lasagne">Beef Lasagne</a></h3><p class="mc-sub">Low Carb Style</p>
2860
2861      <div class="mt-auto">
2862        
2863        <div class="mc-foot d-flex align-items-baseline my-2 comparePriceOuter">
2864          <span class="price-block mc-price" id="ProductPrice">
2865            <b class="price-now">$12.95</b>
2866          </span>
2867          
2868            <span class="products-weight serve-weight small">300g</span>
2869          
2870        </div>
2871
2872        
2873          <div class="priceAndAction mcard-action d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto">
2874            
2875              <div class="product-all product-id-9197210665276 " data-product-id="9197210665276">
2876  <div class="add-cart-button d-none">
2877    <a href="javascript:void(0);" onclick="localCart.addItemCondition(9197210665276, 48753653678396, 'Beef Lasagne', '/products/beef-lasagne', '//thrivemeals.com.au/cdn/shop/files/Lasagne_150X150_crop_center.png?v=1722391912', 1295, 1295, 1, 'LUNCH & DINNER', 689703944508, null , '', '')" class="add-to-cart ajax-spin-cart btn-style3 bg-green border-green ">
2878      <span class="cart-title fw-bolder">Add to box</span>
2879      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
2880      <span class="cart-added"><i class="ion-android-done"></i></span>
2881      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
2882    </a>
2883  </div>
2884  <div class="quantity-selector d-none">
2885    <div class="upsell_quantity buttons d-flex">
2886      <div class="product-quantity" data-variant="48753653678396">
2887        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
2888          <div class="dec qtybutton" data-action="-"><i class="icon-minus fw-bolder"></i></div>
2889          <input
2890            value="1"
2891            class="qtyinputcs"
2892            type="text"
2893            name="quantity"
2894            min="1"
2895            pattern="[0-9]*"
2896          >
2897          
2898          <span class="cusqtyspan quantity-48753653678396 quantity-var-9197210665276"
2899            >1</span
2900          >
2901          <div class="inc qtybutton"  data-action="+"><i class="icon-plus fw-bolder"></i></div>
2902        </div>
2903      </div>
2904    </div>
2905  </div>
2906</div>
2907            
2908          </div>
2909        
2910      </div>
2911    </div>
2912  </div>
2913</div>
2914         
2915          
2916          
2917
2918
2919<div class="item menu-card-redesign mcard cat-lowcarb low_carb low_calorie  loop_index_0 is-ld-meal" data-ga4-item="{&quot;item_id&quot;:&quot;9590788784444&quot;,&quot;item_name&quot;:&quot;Peanut Chicken with Low Carb Fried Rice&quot;,&quot;item_category&quot;:&quot;LUNCH \u0026 DINNER&quot;,&quot;price&quot;:12.95}">
2920  <div style="display:none;">1295 == 1295</div>
2921
2922  <div class="product-slider-image mcard-photo photo">
2923    
2924    <a
2925      class="desk-img f7-quick-view quick-view"
2926      href="/products/nasi-goreng-peanut-chicken"
2927      id="productId_9590788784444"
2928      data-meta='{"allergen_information":{"type":"root","children":[{"type":"paragraph","children":[{"type":"text","value":"Contains Crustacean, Peanut, Soy.","bold":true}]},{"type":"paragraph","children":[{"type":"text","value":"Food Allergy Notice: Our meals are prepared in a kitchen whose environment contains eggs, fish, milk, peanuts, sesame, crustaceans, soy, nuts, tree nuts, gluten, lupin, and sulphites. Though best practices are used in preparing the meal, inadvertent cross-contamination may occur. We cannot guarantee the complete absence of these allergens. Our nutrition data includes all sauces, dressings, condiments, and garnishes included with a dish. Every reasonable effort has been made to ensure the accuracy of all information at the time of publication. However, the information contained above is subject to change without prior notice."}]}]},"calories_per100":"115 Cal","calories_perserve":"391 Cal","carbs_per100":"3.8 g","carbs_perserve":"12.9 g","custom_filter":["No Gluten Added","Egg-Free","Tree Nut-Free","Fish-Free"],"energy_per100":"481 kJ","energy_perserve":"1640 kJ","fat_per100":"4.9 g","fat_perserve":"16.7 g","fibre_per100":"1.3 g","fibre_perserve":"4.4 g","ingredients":"Chicken Breast, Low Carb Rice (Konjac Flour, Rice Flour), Coconut Cream, Shallots, Water, Broccoli, Capsicum, Carrot, Green Beans, Onion, Water, Soybean Oil, Dark Soy Sauce (Sugar, Soy Sauce (Water, Soybean, Salt, Rice), Caramel (150a), Water, Salt, Food Acid (270)), Tomato Paste, Garlic, Sugar, Salt, Shallot, Dried Chilli, White Pepper, Turmeric, Peanut Butter (Roasted Peanuts (90%), Sugar, Vegetable Oils, Salt, Stabiliser), Curry Paste (Crustacean) (Garlic, Dried Red Chili, Lemongrass, Shallot, Salt, Galangal, Shrimp Paste (Shrimp, Salt), Kaffir Lime Peel, Pepper), Tomato Paste, Vegetable Oil, Sugar, Garlic, Massaman Curry Sauce Premix, Peanut.","meal_category":["Low Carb","Low Calorie"],"meal_subtitle":"with Low Carb Rice","product_ingredients":["Chicken Breast","Low Carb Rice (Konjac Flour, Rice Flour)","Coconut Cream","Shallots","Water","Broccoli","Capsicum","Carrot","Green Beans","Onion","Water","Soybean Oil","Dark Soy Sauce (Sugar, Soy Sauce (Water, Soybean, Salt, Rice), Caramel (150a), Water, Salt, Food Acid (270))","Tomato Paste","Garlic","Sugar","Salt","Shallot","Dried Chilli","White Pepper","Turmeric","Peanut Butter (Roasted Peanuts (90%), Sugar, Vegetable Oils, Salt, Stabiliser)","Curry Paste (Crustacean) (Garlic, Dried Red Chili, Lemongrass, Shallot, Salt, Galangal, Shrimp Paste (Shrimp, Salt), Kaffir Lime Peel, Pepper)","Tomato Paste","Vegetable Oil","Sugar","Garlic","Massaman Curry Sauce Premix","Peanut"],"product_instructions":{"type":"root","children":[{"type":"list","listType":"ordered","children":[{"type":"list-item","children":[{"type":"text","value":"Remove sleeve and peel film slightly from corner then heat in Microwave for 90 seconds"}]},{"type":"list-item","children":[{"type":"text","value":"Peel film off, stir \u0026 heat for an additional 30 seconds 
2928if required"}]},{"type":"list-item","children":[{"type":"text","value":"Serve on a plate for the most delicious, healthy meal. Enjoy!"}]}]}]},"product_name_highlight":"Peanut Chicken","protein_per100":"12.9 g","protein_perserve":"43.9 g","protein_type":"Chicken","satfat_per100":"1.8 g","satfat_perserve":"6.1 g","sodium_per100":"194 mg","sodium_perserve":"658 mg","sugars_per100":"2.7 g","sugars_perserve":"9.2 g","why_good_for_you":"Chicken provides complete protein; broccoli, carrots, beans and peanuts contribute fibre, vitamin C, magnesium and healthy fats."}'
2929      data-allergen='null'
2930      data-instructions='null'
2931      onclick="if(window.quiqview){quiqview('nasi-goreng-peanut-chicken');return false;}"
2932    >
2933      <img
2934        class="img-fluid placeholder-image"
2935        loading="lazy"
2936        srcset="
2937          //thrivemeals.com.au/cdn/shop/files/Peanutchickenrice.png?crop=center&height=400&v=1721014835&width=400 300w,
2938          //thrivemeals.com.au/cdn/shop/files/Peanutchickenrice.png?crop=center&height=400&v=1721014835&width=400 400w,
2939          //thrivemeals.com.au/cdn/shop/files/Peanutchickenrice.png?crop=center&height=400&v=1721014835&width=400 600w,
2940          //thrivemeals.com.au/cdn/shop/files/Peanutchickenrice.png?crop=center&height=400&v=1721014835&width=400 800w,
2941          //thrivemeals.com.au/cdn/shop/files/Peanutchickenrice.png?crop=center&height=400&v=1721014835&width=400 1200w
2942        "
2943        sizes="(max-width: 600px) 100vw, 400px"
2944        width="230"
2945        height="230"
2946        alt="Peanut Chicken"
2947      >
2948    </a>
2949
2950    
2951    <span class="inboxb inbox-badge d-none">In box &times;<span class="inbox-qty quantity-49781203796284">0</span></span>
2952
2953    
2954
2955    
2956  </div>
2957
2958  
2959  
2960    <div class="cat-bar lowcarb">Low Carb</div>
2961  
2962
2963  
2964  
2965    <div class="macro-strip nutritionCount lowcarb">
2966      
2967        <span class="nutritionItem">391 CAL</span>
2968      
2969      
2970        <span class="nutritionItem">44 P</span>
2971      
2972      
2973        <span class="nutritionItem">13 C</span>
2974      
2975      
2976        <span class="nutritionItem">17 F</span>
2977      
2978    </div>
2979  
2980
2981  <div class="productContent mcard-b">
2982    <div class="otherContent d-flex flex-column ">
2983      <div class="cardFilterIcons">
2984        
2985        <div class="">
2986  <ul class="flex-nowrap justify-content-start">
2987    
2988      
2989      
2990    
2991      
2992      
2993        <li class="filterTooltip" tip-title="Egg-Free">
2994          <img src="
2995    //thrivemeals.com.au/cdn/shop/files/EF-removebg-preview_50x.png?v=1759769778
2996  " alt="Filter Icons" width="30" height="30">
2997        </li>
2998      
2999    
3000      
3001      
3002        <li class="filterTooltip" tip-title="Tree Nut-Free">
3003          <img src="
3004    //thrivemeals.com.au/cdn/shop/files/TNF-removebg-preview_50x.png?v=1759769778
3005  " alt="Filter Icons" width="30" height="30">
3006        </li>
3007      
3008    
3009      
3010      
3011    
3012  </ul>
3013</div>
3014
3015      </div>
3016
3017      <h3 class="mc-name"><a href="/products/nasi-goreng-peanut-chicken" title="Peanut Chicken">Peanut Chicken</a></h3><p class="mc-sub">with Low Carb Rice</p>
3018
3019      <div class="mt-auto">
3020        
3021        <div class="mc-foot d-flex align-items-baseline my-2 comparePriceOuter">
3022          <span class="price-block mc-price" id="ProductPrice">
3023            <b class="price-now">$12.95</b>
3024          </span>
3025          
3026            <span class="products-weight serve-weight small">340g</span>
3027          
3028        </div>
3029
3030        
3031          <div class="priceAndAction mcard-action d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto">
3032            
3033              <div class="product-all product-id-9590788784444 " data-product-id="9590788784444">
3034  <div class="add-cart-button d-none">
3035    <a href="javascript:void(0);" onclick="localCart.addItemCondition(9590788784444, 49781203796284, 'Peanut Chicken', '/products/nasi-goreng-peanut-chicken', '//thrivemeals.com.au/cdn/shop/files/Peanutchickenrice_150X150_crop_center.png?v=1721014835', 1295, 1295, 1, 'LUNCH & DINNER', 689703944508, null , '', '')" class="add-to-cart ajax-spin-cart btn-style3 bg-green border-green ">
3036      <span class="cart-title fw-bolder">Add to box</span>
3037      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
3038      <span class="cart-added"><i class="ion-android-done"></i></span>
3039      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
3040    </a>
3041  </div>
3042  <div class="quantity-selector d-none">
3043    <div class="upsell_quantity buttons d-flex">
3044      <div class="product-quantity" data-variant="49781203796284">
3045        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
3046          <div class="dec qtybutton" data-action="-"><i class="icon-minus fw-bolder"></i></div>
3047          <input
3048            value="1"
3049            class="qtyinputcs"
3050            type="text"
3051            name="quantity"
3052            min="1"
3053            pattern="[0-9]*"
3054          >
3055          
3056          <span class="cusqtyspan quantity-49781203796284 quantity-var-9590788784444"
3057            >1</span
3058          >
3059          <div class="inc qtybutton"  data-action="+"><i class="icon-plus fw-bolder"></i></div>
3060        </div>
3061      </div>
3062    </div>
3063  </div>
3064</div>
3065            
3066          </div>
3067        
3068      </div>
3069    </div>
3070  </div>
3071</div>
3072         
3073          
3074          
3075         
3076          
3077          
3078         
3079          
3080          
3081
3082
3083<div class="item menu-card-redesign mcard cat-lowcarb low_carb  loop_index_0 is-ld-meal" data-ga4-item="{&quot;item_id&quot;:&quot;9093918196028&quot;,&quot;item_name&quot;:&quot;Mexican Chicken and Rice&quot;,&quot;item_category&quot;:&quot;LUNCH \u0026 DINNER&quot;,&quot;price&quot;:12.95}">
3084  <div style="display:none;">1295 == 1295</div>
3085
3086  <div class="product-slider-image mcard-photo photo">
3087    
3088    <a
3089      class="desk-img f7-quick-view quick-view"
3090      href="/products/mexican-chicken-and-rice"
3091      id="productId_9093918196028"
3092      data-meta='{"allergen_information":{"type":"root","children":[{"type":"paragraph","children":[{"type":"text","value":"Food Allergy Notice: Our meals are prepared in a kitchen whose environment contains eggs, fish, milk, peanuts, sesame, crustaceans, soy, nuts, tree nuts, gluten, lupin, and sulphites. Though best practices are used in preparing the meal, inadvertent cross-contamination may occur. We cannot guarantee the complete absence of these allergens. Our nutrition data includes all sauces, dressings, condiments, and garnishes included with a dish. Every reasonable effort has been made to ensure the accuracy of all information at the time of publication. However, the information contained above is subject to change without prior notice."}]}]},"calories_per100":"100 Cal","calories_perserve":"341 Cal","carbs_per100":"7.2 g","carbs_perserve":"24.5 g","custom_filter":["No Gluten Added","Dairy-Free","Egg-Free","Peanut-Free","Tree Nut-Free","Soy-Free","Fish-Free","Crustacea-Free"],"energy_per100":"420 kJ","energy_perserve":"1430 kJ","fat_per100":"2.1 g","fat_perserve":"7.2 g","fibre_per100":"\u003c1g","fibre_perserve":"2.9 g","ingredients":"Chicken Breast, Capsicum, Basmati Rice, Onion, Tomatoes, Spring Onion, Olive Oil, Jalapenos, Taco Seasoning (Salt, Spices, Sugar, Maize Starch, Vegetable Powders, Food Acid (330), Spice Extract (160c),herb.), Garlic, Chicken Stock Powder, Cumin.","meal_category":["Low Carb"],"meal_subtitle":"with Rice","product_ingredients":["Chicken Breast","Capsicum","Basmati Rice","Onion","Tomatoes","Spring Onion","Olive Oil","Jalapenos","Taco Seasoning (Salt, Spices, Sugar, Maize Starch, Vegetable Powders, Food Acid (330), Spice Extract (160c), herb)","Garlic","Chicken Stock Powder","Cumin"],"product_instructions":{"type":"root","children":[{"type":"list","listType":"ordered","children":[{"type":"list-item","children":[{"type":"text","value":"Remove sleeve and peel film slightly from corner then heat in Microwave for 90 seconds"}]},{"type":"list-item","children":[{"type":"text","value":"Peel film off, stir \u0026 heat for an additional 30 seconds 
3092if required"}]},{"type":"list-item","children":[{"type":"text","value":"Serve on a plate for the most delicious, healthy meal. Enjoy!"}]}]}]},"product_name_highlight":"Mexican Chicken","protein_per100":"12.4 g","protein_perserve":"42.3 g","protein_type":"Chicken","satfat_per100":"\u003c1g","satfat_perserve":"1.5 g","sodium_per100":"161 mg","sodium_perserve":"548 mg","sugars_per100":"2.2 g","sugars_perserve":"7.4 g","why_good_for_you":"Chicken provides complete protein; capsicum, tomato and onion contribute fibre, vitamin C, lycopene and folate."}'
3093      data-allergen='null'
3094      data-instructions='null'
3095      onclick="if(window.quiqview){quiqview('mexican-chicken-and-rice');return false;}"
3096    >
3097      <img
3098        class="img-fluid placeholder-image"
3099        loading="lazy"
3100        srcset="
3101          //thrivemeals.com.au/cdn/shop/files/MexicanChickenwRice_f0a900b9-86f4-411c-af6e-6bc6a21119a6.png?crop=center&height=400&v=1736760460&width=400 300w,
3102          //thrivemeals.com.au/cdn/shop/files/MexicanChickenwRice_f0a900b9-86f4-411c-af6e-6bc6a21119a6.png?crop=center&height=400&v=1736760460&width=400 400w,
3103          //thrivemeals.com.au/cdn/shop/files/MexicanChickenwRice_f0a900b9-86f4-411c-af6e-6bc6a21119a6.png?crop=center&height=400&v=1736760460&width=400 600w,
3104          //thrivemeals.com.au/cdn/shop/files/MexicanChickenwRice_f0a900b9-86f4-411c-af6e-6bc6a21119a6.png?crop=center&height=400&v=1736760460&width=400 800w,
3105          //thrivemeals.com.au/cdn/shop/files/MexicanChickenwRice_f0a900b9-86f4-411c-af6e-6bc6a21119a6.png?crop=center&height=400&v=1736760460&width=400 1200w
3106        "
3107        sizes="(max-width: 600px) 100vw, 400px"
3108        width="230"
3109        height="230"
3110        alt="Mexican Chicken"
3111      >
3112    </a>
3113
3114    
3115    <span class="inboxb inbox-badge d-none">In box &times;<span class="inbox-qty quantity-48425146319164">0</span></span>
3116
3117    
3118
3119    
3120  </div>
3121
3122  
3123  
3124    <div class="cat-bar lowcarb">Low Carb</div>
3125  
3126
3127  
3128  
3129    <div class="macro-strip nutritionCount lowcarb">
3130      
3131        <span class="nutritionItem">341 CAL</span>
3132      
3133      
3134        <span class="nutritionItem">42 P</span>
3135      
3136      
3137        <span class="nutritionItem">25 C</span>
3138      
3139      
3140        <span class="nutritionItem">7 F</span>
3141      
3142    </div>
3143  
3144
3145  <div class="productContent mcard-b">
3146    <div class="otherContent d-flex flex-column ">
3147      <div class="cardFilterIcons">
3148        
3149        <div class="">
3150  <ul class="flex-nowrap justify-content-start">
3151    
3152      
3153      
3154    
3155      
3156      
3157        <li class="filterTooltip" tip-title="Dairy-Free">
3158          <img src="
3159    //thrivemeals.com.au/cdn/shop/files/DF-removebg-preview_50x.png?v=1759769779
3160  " alt="Filter Icons" width="30" height="30">
3161        </li>
3162      
3163    
3164      
3165      
3166        <li class="filterTooltip" tip-title="Egg-Free">
3167          <img src="
3168    //thrivemeals.com.au/cdn/shop/files/EF-removebg-preview_50x.png?v=1759769778
3169  " alt="Filter Icons" width="30" height="30">
3170        </li>
3171      
3172    
3173      
3174      
3175        <li class="filterTooltip" tip-title="Peanut-Free">
3176          <img src="
3177    //thrivemeals.com.au/cdn/shop/files/PF-removebg-preview_50x.png?v=1759769778
3178  " alt="Filter Icons" width="30" height="30">
3179        </li>
3180      
3181    
3182      
3183      
3184        <li class="filterTooltip" tip-title="Tree Nut-Free">
3185          <img src="
3186    //thrivemeals.com.au/cdn/shop/files/TNF-removebg-preview_50x.png?v=1759769778
3187  " alt="Filter Icons" width="30" height="30">
3188        </li>
3189      
3190    
3191      
3192      
3193        <li class="filterTooltip" tip-title="Soy-Free">
3194          <img src="
3195    //thrivemeals.com.au/cdn/shop/files/SF-removebg-preview_50x.png?v=1759769779
3196  " alt="Filter Icons" width="30" height="30">
3197        </li>
3198      
3199    
3200      
3201      
3202    
3203      
3204      
3205        <li class="filterTooltip" tip-title="Crustacea-Free">
3206          <img src="
3207    //thrivemeals.com.au/cdn/shop/files/CF-removebg-preview_50x.png?v=1759769779
3208  " alt="Filter Icons" width="30" height="30">
3209        </li>
3210      
3211    
3212  </ul>
3213</div>
3214
3215      </div>
3216
3217      <h3 class="mc-name"><a href="/products/mexican-chicken-and-rice" title="Mexican Chicken">Mexican Chicken</a></h3><p class="mc-sub">with Rice</p>
3218
3219      <div class="mt-auto">
3220        
3221        <div class="mc-foot d-flex align-items-baseline my-2 comparePriceOuter">
3222          <span class="price-block mc-price" id="ProductPrice">
3223            <b class="price-now">$12.95</b>
3224          </span>
3225          
3226            <span class="products-weight serve-weight small">340g</span>
3227          
3228        </div>
3229
3230        
3231          <div class="priceAndAction mcard-action d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto">
3232            
3233              <div class="product-all product-id-9093918196028 " data-product-id="9093918196028">
3234  <div class="add-cart-button d-none">
3235    <a href="javascript:void(0);" onclick="localCart.addItemCondition(9093918196028, 48425146319164, 'Mexican Chicken', '/products/mexican-chicken-and-rice', '//thrivemeals.com.au/cdn/shop/files/MexicanChickenwRice_f0a900b9-86f4-411c-af6e-6bc6a21119a6_150X150_crop_center.png?v=1736760460', 1295, 1295, 1, 'LUNCH & DINNER', 689703944508, null , '', '')" class="add-to-cart ajax-spin-cart btn-style3 bg-green border-green ">
3236      <span class="cart-title fw-bolder">Add to box</span>
3237      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
3238      <span class="cart-added"><i class="ion-android-done"></i></span>
3239      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
3240    </a>
3241  </div>
3242  <div class="quantity-selector d-none">
3243    <div class="upsell_quantity buttons d-flex">
3244      <div class="product-quantity" data-variant="48425146319164">
3245        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
3246          <div class="dec qtybutton" data-action="-"><i class="icon-minus fw-bolder"></i></div>
3247          <input
3248            value="1"
3249            class="qtyinputcs"
3250            type="text"
3251            name="quantity"
3252            min="1"
3253            pattern="[0-9]*"
3254          >
3255          
3256          <span class="cusqtyspan quantity-48425146319164 quantity-var-9093918196028"
3257            >1</span
3258          >
3259          <div class="inc qtybutton"  data-action="+"><i class="icon-plus fw-bolder"></i></div>
3260        </div>
3261      </div>
3262    </div>
3263  </div>
3264</div>
3265            
3266          </div>
3267        
3268      </div>
3269    </div>
3270  </div>
3271</div>
3272         
3273          
3274          
3275
3276
3277<div class="item menu-card-redesign mcard cat-keto keto low_carb low_calorie  loop_index_0 is-ld-meal" data-ga4-item="{&quot;item_id&quot;:&quot;8219775893820&quot;,&quot;item_name&quot;:&quot;Butter Chicken with Broccoli and Cauliflower Rice&quot;,&quot;item_category&quot;:&quot;LUNCH \u0026 DINNER&quot;,&quot;price&quot;:12.95}">
3278  <div style="display:none;">1295 == 1295</div>
3279
3280  <div class="product-slider-image mcard-photo photo">
3281    
3282    <a
3283      class="desk-img f7-quick-view quick-view"
3284      href="/products/butter-chicken-with-broccoli-cauliflower-rice-1"
3285      id="productId_8219775893820"
3286      data-meta='{"allergen_information":{"type":"root","children":[{"type":"paragraph","children":[{"type":"text","value":"Contains Milk.","bold":true}]},{"type":"paragraph","children":[{"type":"text","value":""}]},{"type":"paragraph","children":[{"type":"text","value":"May Contain Peanut, Soy, Almond, Brazil Nut, Cashew, Hazelnut, Sesame, Macadamia, Pecan, Pine Nut, Pistachio, Walnut."}]},{"type":"paragraph","children":[{"type":"text","value":""}]},{"type":"paragraph","children":[{"type":"text","value":"Food Allergy Notice: Our meals are prepared in a kitchen whose environment contains eggs, fish, milk, peanuts, sesame, crustaceans, soy, nuts, tree nuts, gluten, lupin, and sulphites. Though best practices are used in preparing the meal, inadvertent cross-contamination may occur. We cannot guarantee the complete absence of these allergens. Our nutrition data includes all sauces, dressings, condiments, and garnishes included with a dish. Every reasonable effort has been made to ensure the accuracy of all information at the time of publication. However, the information contained above is subject to change without prior notice."}]}]},"calories_per100":"100 Cal","calories_perserve":"361 Cal","carbs_per100":"2.5 g","carbs_perserve":"8.9 g","custom_filter":["No Gluten Added","Egg-Free","Soy-Free","Fish-Free","Crustacea-Free","No Added Sugar"],"energy_per100":"419 kJ","energy_perserve":"1510 kJ","fat_per100":"5.6 g","fat_perserve":"20.0 g","fibre_per100":"1.7 g","fibre_perserve":"6.0 g","ingredients":"Chicken, Tomato, Broccoli Rice, Cauliflower Rice, Butter (Milk), Cream (Milk), Tandoori Paste, Yoghurt (Milk), Spinach, Olive Oil, Garlic, Ginger, Coriander, Lime Juice, Chilli, Salt, Garam Masala, Cardamom, Chilli Powder, Turmeric Powder, Fenugreek Leaves, Chilli Flakes, Thyme.","meal_category":["Keto","Low Carb","Low Calorie"],"meal_subtitle":"with Broccoli Cauli Rice","product_ingredients":["Chicken","Tomato","Broccoli Rice","Cauliflower Rice","Butter (Milk)","Cream (Milk)","Tandoori Paste","Yoghurt (Milk)","Spinach","Olive Oil","Garlic","Ginger","Coriander","Lime Juice","Chilli","Salt","Garam Masala","Cardamom","Chilli Powder","Turmeric Powder","Fenugreek Leaves","Chilli Flakes","Thyme"],"product_instructions":{"type":"root","children":[{"type":"list","listType":"ordered","children":[{"type":"list-item","children":[{"type":"text","value":"Remove sleeve and peel film slightly from corner then heat in Microwave for 90 seconds"}]},{"type":"list-item","children":[{"type":"text","value":"Peel film off, stir \u0026 heat for an additional 30 seconds 
3286if required"}]},{"type":"list-item","children":[{"type":"text","value":"Serve on a plate for the most delicious, healthy meal. Enjoy!"}]}]}]},"product_name_highlight":"Butter Chicken","protein_per100":"9.3 g","protein_perserve":"33.3 g","protein_type":"Chicken","satfat_per100":"2.0 g","satfat_perserve":"7.1 g","sodium_per100":"259 mg","sodium_perserve":"931 mg","sugars_per100":"1.8 g","sugars_perserve":"6.3 g","why_good_for_you":"Chicken provides complete protein; broccoli, cauliflower, spinach, tomato, garlic and ginger contribute fibre, vitamin C, folate and glucosinolates."}'
3287      data-allergen='null'
3288      data-instructions='null'
3289      onclick="if(window.quiqview){quiqview('butter-chicken-with-broccoli-cauliflower-rice-1');return false;}"
3290    >
3291      <img
3292        class="img-fluid placeholder-image"
3293        loading="lazy"
3294        srcset="
3295          //thrivemeals.com.au/cdn/shop/files/ButterChickenCurrywCauliRice.png?crop=center&height=400&v=1736760396&width=400 300w,
3296          //thrivemeals.com.au/cdn/shop/files/ButterChickenCurrywCauliRice.png?crop=center&height=400&v=1736760396&width=400 400w,
3297          //thrivemeals.com.au/cdn/shop/files/ButterChickenCurrywCauliRice.png?crop=center&height=400&v=1736760396&width=400 600w,
3298          //thrivemeals.com.au/cdn/shop/files/ButterChickenCurrywCauliRice.png?crop=center&height=400&v=1736760396&width=400 800w,
3299          //thrivemeals.com.au/cdn/shop/files/ButterChickenCurrywCauliRice.png?crop=center&height=400&v=1736760396&width=400 1200w
3300        "
3301        sizes="(max-width: 600px) 100vw, 400px"
3302        width="230"
3303        height="230"
3304        alt="Butter Chicken"
3305      >
3306    </a>
3307
3308    
3309    <span class="inboxb inbox-badge d-none">In box &times;<span class="inbox-qty quantity-44799323668796">0</span></span>
3310
3311    
3312
3313    
3314  </div>
3315
3316  
3317  
3318    <div class="cat-bar keto">Keto</div>
3319  
3320
3321  
3322  
3323    <div class="macro-strip nutritionCount keto">
3324      
3325        <span class="nutritionItem">361 CAL</span>
3326      
3327      
3328        <span class="nutritionItem">33 P</span>
3329      
3330      
3331        <span class="nutritionItem">9 C</span>
3332      
3333      
3334        <span class="nutritionItem">20 F</span>
3335      
3336    </div>
3337  
3338
3339  <div class="productContent mcard-b">
3340    <div class="otherContent d-flex flex-column ">
3341      <div class="cardFilterIcons">
3342        
3343        <div class="">
3344  <ul class="flex-nowrap justify-content-start">
3345    
3346      
3347      
3348    
3349      
3350      
3351        <li class="filterTooltip" tip-title="Egg-Free">
3352          <img src="
3353    //thrivemeals.com.au/cdn/shop/files/EF-removebg-preview_50x.png?v=1759769778
3354  " alt="Filter Icons" width="30" height="30">
3355        </li>
3356      
3357    
3358      
3359      
3360        <li class="filterTooltip" tip-title="Soy-Free">
3361          <img src="
3362    //thrivemeals.com.au/cdn/shop/files/SF-removebg-preview_50x.png?v=1759769779
3363  " alt="Filter Icons" width="30" height="30">
3364        </li>
3365      
3366    
3367      
3368      
3369    
3370      
3371      
3372        <li class="filterTooltip" tip-title="Crustacea-Free">
3373          <img src="
3374    //thrivemeals.com.au/cdn/shop/files/CF-removebg-preview_50x.png?v=1759769779
3375  " alt="Filter Icons" width="30" height="30">
3376        </li>
3377      
3378    
3379      
3380      
3381        <li class="filterTooltip" tip-title="No Added Sugar">
3382          <img src="
3383    //thrivemeals.com.au/cdn/shop/files/NAS-removebg-preview_50x.png?v=1759769779
3384  " alt="Filter Icons" width="30" height="30">
3385        </li>
3386      
3387    
3388  </ul>
3389</div>
3390
3391      </div>
3392
3393      <h3 class="mc-name"><a href="/products/butter-chicken-with-broccoli-cauliflower-rice-1" title="Butter Chicken">Butter Chicken</a></h3><p class="mc-sub">with Broccoli Cauli Rice</p>
3394
3395      <div class="mt-auto">
3396        
3397        <div class="mc-foot d-flex align-items-baseline my-2 comparePriceOuter">
3398          <span class="price-block mc-price" id="ProductPrice">
3399            <b class="price-now">$12.95</b>
3400          </span>
3401          
3402            <span class="products-weight serve-weight small">360g</span>
3403          
3404        </div>
3405
3406        
3407          <div class="priceAndAction mcard-action d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto">
3408            
3409              <div class="product-all product-id-8219775893820 " data-product-id="8219775893820">
3410  <div class="add-cart-button d-none">
3411    <a href="javascript:void(0);" onclick="localCart.addItemCondition(8219775893820, 44799323668796, 'Butter Chicken', '/products/butter-chicken-with-broccoli-cauliflower-rice-1', '//thrivemeals.com.au/cdn/shop/files/ButterChickenCurrywCauliRice_150X150_crop_center.png?v=1736760396', 1295, 1295, 1, 'LUNCH & DINNER', 689703944508, null , '', '')" class="add-to-cart ajax-spin-cart btn-style3 bg-green border-green ">
3412      <span class="cart-title fw-bolder">Add to box</span>
3413      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
3414      <span class="cart-added"><i class="ion-android-done"></i></span>
3415      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
3416    </a>
3417  </div>
3418  <div class="quantity-selector d-none">
3419    <div class="upsell_quantity buttons d-flex">
3420      <div class="product-quantity" data-variant="44799323668796">
3421        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
3422          <div class="dec qtybutton" data-action="-"><i class="icon-minus fw-bolder"></i></div>
3423          <input
3424            value="1"
3425            class="qtyinputcs"
3426            type="text"
3427            name="quantity"
3428            min="1"
3429            pattern="[0-9]*"
3430          >
3431          
3432          <span class="cusqtyspan quantity-44799323668796 quantity-var-8219775893820"
3433            >1</span
3434          >
3435          <div class="inc qtybutton"  data-action="+"><i class="icon-plus fw-bolder"></i></div>
3436        </div>
3437      </div>
3438    </div>
3439  </div>
3440</div>
3441            
3442          </div>
3443        
3444      </div>
3445    </div>
3446  </div>
3447</div>
3448         
3449          
3450          
3451
3452
3453<div class="item menu-card-redesign mcard cat-lowcarb low_carb low_calorie  loop_index_0 is-ld-meal" data-ga4-item="{&quot;item_id&quot;:&quot;9093920719164&quot;,&quot;item_name&quot;:&quot;Chicken Teriyaki with Asian Greens&quot;,&quot;item_category&quot;:&quot;LUNCH \u0026 DINNER&quot;,&quot;price&quot;:12.95}">
3454  <div style="display:none;">1295 == 1295</div>
3455
3456  <div class="product-slider-image mcard-photo photo">
3457    
3458    <a
3459      class="desk-img f7-quick-view quick-view"
3460      href="/products/chicken-teriyaki-with-asian-greens"
3461      id="productId_9093920719164"
3462      data-meta='{"allergen_information":{"type":"root","children":[{"type":"paragraph","children":[{"type":"text","value":"Contains Wheat, Soy.","bold":true}]},{"type":"paragraph","children":[{"type":"text","value":"Food Allergy Notice: Our meals are prepared in a kitchen whose environment contains eggs, fish, milk, peanuts, sesame, crustaceans, soy, nuts, tree nuts, gluten, lupin, and sulphites. Though best practices are used in preparing the meal, inadvertent cross-contamination may occur. We cannot guarantee the complete absence of these allergens. Our nutrition data includes all sauces, dressings, condiments, and garnishes included with a dish. Every reasonable effort has been made to ensure the accuracy of all information at the time of publication. However, the information contained above is subject to change without prior notice."}]},{"type":"paragraph","children":[{"type":"text","value":"","bold":true}]}]},"calories_per100":"94 Cal","calories_perserve":"319 Cal","carbs_per100":"4.2 g","carbs_perserve":"14.4 g","custom_filter":["No Gluten Added","Dairy-Free","Egg-Free","Peanut-Free","Tree Nut-Free","Fish-Free","Crustacea-Free","Low Sodium"],"energy_per100":"393 kJ","energy_perserve":"1340 kJ","fat_per100":"1.9 g","fat_perserve":"6.5 g","fibre_per100":"1.6 g","fibre_perserve":"5.4 g","ingredients":"Chicken Drumstick Fillet, Low Carb Rice (Konjac Flour, Rice Flour), Green Beans, Choy Sum, Soy Sauce, Garlic, Ginger, Mirin (Soy, Wheat).","meal_category":["Low Carb","Low Calorie"],"meal_subtitle":"with Asian Greens","product_ingredients":["Chicken Drumstick Fillet","Low Carb Rice (Konjac Flour, Rice Flour)","Green Beans","Choy Sum","S
3462oy Sauce","Garlic","Ginger","Mirin (Soy, Wheat)"],"product_instructions":{"type":"root","children":[{"type":"list","listType":"ordered","children":[{"type":"list-item","children":[{"type":"text","value":"Remove sleeve and peel film slightly from corner then heat in Microwave for 90 seconds"}]},{"type":"list-item","children":[{"type":"text","value":"Peel film off, stir \u0026 heat for an additional 30 seconds if required"}]},{"type":"list-item","children":[{"type":"text","value":"Serve on a plate for the most delicious, healthy meal. Enjoy!"}]}]}]},"product_name_highlight":"Chicken Teriyaki","protein_per100":"14.0 g","protein_perserve":"47.5 g","protein_type":"Chicken","satfat_per100":"\u003c1g","satfat_perserve":"3.1 g","sodium_per100":"144 mg","sodium_perserve":"490 mg","sugars_per100":"1.3 g","sugars_perserve":"4.5 g","why_good_for_you":"Chicken provides complete protein; choy sum, green beans, garlic and ginger contribute fibre, vitamin C, folate and potassium."}'
3463      data-allergen='null'
3464      data-instructions='null'
3465      onclick="if(window.quiqview){quiqview('chicken-teriyaki-with-asian-greens');return false;}"
3466    >
3467      <img
3468        class="img-fluid placeholder-image"
3469        loading="lazy"
3470        srcset="
3471          //thrivemeals.com.au/cdn/shop/files/TeriyakiChickenwAsianGreens_d4f8a988-4b37-4e7e-8d1a-14fe09ec5341.png?crop=center&height=400&v=1736760232&width=400 300w,
3472          //thrivemeals.com.au/cdn/shop/files/TeriyakiChickenwAsianGreens_d4f8a988-4b37-4e7e-8d1a-14fe09ec5341.png?crop=center&height=400&v=1736760232&width=400 400w,
3473          //thrivemeals.com.au/cdn/shop/files/TeriyakiChickenwAsianGreens_d4f8a988-4b37-4e7e-8d1a-14fe09ec5341.png?crop=center&height=400&v=1736760232&width=400 600w,
3474          //thrivemeals.com.au/cdn/shop/files/TeriyakiChickenwAsianGreens_d4f8a988-4b37-4e7e-8d1a-14fe09ec5341.png?crop=center&height=400&v=1736760232&width=400 800w,
3475          //thrivemeals.com.au/cdn/shop/files/TeriyakiChickenwAsianGreens_d4f8a988-4b37-4e7e-8d1a-14fe09ec5341.png?crop=center&height=400&v=1736760232&width=400 1200w
3476        "
3477        sizes="(max-width: 600px) 100vw, 400px"
3478        width="230"
3479        height="230"
3480        alt="Chicken Teriyaki"
3481      >
3482    </a>
3483
3484    
3485    <span class="inboxb inbox-badge d-none">In box &times;<span class="inbox-qty quantity-48425156051260">0</span></span>
3486
3487    
3488
3489    
3490  </div>
3491
3492  
3493  
3494    <div class="cat-bar lowcarb">Low Carb</div>
3495  
3496
3497  
3498  
3499    <div class="macro-strip nutritionCount lowcarb">
3500      
3501        <span class="nutritionItem">319 CAL</span>
3502      
3503      
3504        <span class="nutritionItem">48 P</span>
3505      
3506      
3507        <span class="nutritionItem">14 C</span>
3508      
3509      
3510        <span class="nutritionItem">7 F</span>
3511      
3512    </div>
3513  
3514
3515  <div class="productContent mcard-b">
3516    <div class="otherContent d-flex flex-column ">
3517      <div class="cardFilterIcons">
3518        
3519        <div class="">
3520  <ul class="flex-nowrap justify-content-start">
3521    
3522      
3523      
3524    
3525      
3526      
3527        <li class="filterTooltip" tip-title="Dairy-Free">
3528          <img src="
3529    //thrivemeals.com.au/cdn/shop/files/DF-removebg-preview_50x.png?v=1759769779
3530  " alt="Filter Icons" width="30" height="30">
3531        </li>
3532      
3533    
3534      
3535      
3536        <li class="filterTooltip" tip-title="Egg-Free">
3537          <img src="
3538    //thrivemeals.com.au/cdn/shop/files/EF-removebg-preview_50x.png?v=1759769778
3539  " alt="Filter Icons" width="30" height="30">
3540        </li>
3541      
3542    
3543      
3544      
3545        <li class="filterTooltip" tip-title="Peanut-Free">
3546          <img src="
3547    //thrivemeals.com.au/cdn/shop/files/PF-removebg-preview_50x.png?v=1759769778
3548  " alt="Filter Icons" width="30" height="30">
3549        </li>
3550      
3551    
3552      
3553      
3554        <li class="filterTooltip" tip-title="Tree Nut-Free">
3555          <img src="
3556    //thrivemeals.com.au/cdn/shop/files/TNF-removebg-preview_50x.png?v=1759769778
3557  " alt="Filter Icons" width="30" height="30">
3558        </li>
3559      
3560    
3561      
3562      
3563    
3564      
3565      
3566        <li class="filterTooltip" tip-title="Crustacea-Free">
3567          <img src="
3568    //thrivemeals.com.au/cdn/shop/files/CF-removebg-preview_50x.png?v=1759769779
3569  " alt="Filter Icons" width="30" height="30">
3570        </li>
3571      
3572    
3573      
3574      
3575        <li class="filterTooltip" tip-title="Low Sodium">
3576          <img src="
3577    //thrivemeals.com.au/cdn/shop/files/LS-removebg-preview_50x.png?v=1759769778
3578" alt="Filter Icons" width="30" height="30">
3579        </li>
3580      
3581    
3582  </ul>
3583</div>
3584
3585      </div>
3586
3587      <h3 class="mc-name"><a href="/products/chicken-teriyaki-with-asian-greens" title="Chicken Teriyaki">Chicken Teriyaki</a></h3><p class="mc-sub">with Asian Greens</p>
3588
3589      <div class="mt-auto">
3590        
3591        <div class="mc-foot d-flex align-items-baseline my-2 comparePriceOuter">
3592          <span class="price-block mc-price" id="ProductPrice">
3593            <b class="price-now">$12.95</b>
3594          </span>
3595          
3596            <span class="products-weight serve-weight small">340g</span>
3597          
3598        </div>
3599
3600        
3601          <div class="priceAndAction mcard-action d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto">
3602            
3603              <div class="product-all product-id-9093920719164 " data-product-id="9093920719164">
3604  <div class="add-cart-button d-none">
3605    <a href="javascript:void(0);" onclick="localCart.addItemCondition(9093920719164, 48425156051260, 'Chicken Teriyaki', '/products/chicken-teriyaki-with-asian-greens', '//thrivemeals.com.au/cdn/shop/files/TeriyakiChickenwAsianGreens_d4f8a988-4b37-4e7e-8d1a-14fe09ec5341_150X150_crop_center.png?v=1736760232', 1295, 1295, 1, 'LUNCH & DINNER', 689703944508, null , '', '')" class="add-to-cart ajax-spin-cart btn-style3 bg-green border-green ">
3606      <span class="cart-title fw-bolder">Add to box</span>
3607      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
3608      <span class="cart-added"><i class="ion-android-done"></i></span>
3609      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
3610    </a>
3611  </div>
3612  <div class="quantity-selector d-none">
3613    <div class="upsell_quantity buttons d-flex">
3614      <div class="product-quantity" data-variant="48425156051260">
3615        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
3616          <div class="dec qtybutton" data-action="-"><i class="icon-minus fw-bolder"></i></div>
3617          <input
3618            value="1"
3619            class="qtyinputcs"
3620            type="text"
3621            name="quantity"
3622            min="1"
3623            pattern="[0-9]*"
3624          >
3625          
3626          <span class="cusqtyspan quantity-48425156051260 quantity-var-9093920719164"
3627            >1</span
3628          >
3629          <div class="inc qtybutton"  data-action="+"><i class="icon-plus fw-bolder"></i></div>
3630        </div>
3631      </div>
3632    </div>
3633  </div>
3634</div>
3635            
3636          </div>
3637        
3638      </div>
3639    </div>
3640  </div>
3641</div>
3642         
3643          
3644          
3645         
3646          
3647          
3648
3649
3650<div class="item menu-card-redesign mcard cat-lowcarb low_carb low_calorie  loop_index_0 is-ld-meal" data-ga4-item="{&quot;item_id&quot;:&quot;9590789210428&quot;,&quot;item_name&quot;:&quot;Massaman Beef Curry with Low Carb Rice&quot;,&quot;item_category&quot;:&quot;LUNCH \u0026 DINNER&quot;,&quot;price&quot;:12.95}">
3651  <div style="display:none;">1295 == 1295</div>
3652
3653  <div class="product-slider-image mcard-photo photo">
3654    
3655    <a
3656      class="desk-img f7-quick-view quick-view"
3657      href="/products/curry-with-carb-rice"
3658      id="productId_9590789210428"
3659      data-meta='{"allergen_information":{"type":"root","children":[{"type":"paragraph","children":[{"type":"text","value":"Contains Fish, Peanut, Soy.\n\n","bold":true},{"type":"text","value":"Food Allergy Notice: Our meals are prepared in a kitchen whose environment contains eggs, fish, milk, peanuts, sesame, crustaceans, soy, nuts, tree nuts, gluten, lupin, and sulphites. Though best practices are used in preparing the meal, inadvertent cross-contamination may occur. We cannot guarantee the complete absence of these allergens. Our nutrition data includes all sauces, dressings, condiments, and garnishes included with a dish. Every reasonable effort has been made to ensure the accuracy of all information at the time of publication. However, the information contained above is subject to change without prior notice."}]}]},"calories_per100":"121 Cal","calories_perserve":"422 Cal","carbs_per100":"5.1 g","carbs_perserve":"17.9 g","custom_filter":["No Gluten Added","Egg-Free","Tree Nut-Free","Crustacea-Free"],"energy_per100":"505 kJ","energy_perserve":"1770 kJ","fat_per100":"6.5 g","fat_perserve":"22.7 g","fibre_per100":"1.1 g","fibre_perserve":"3.9 g","ingredients":"Low Carb Rice (Konjac Flour, Rice Flour), Coconut Cream, Beef Strips, Carrot, Massaman Curry Paste (Soy), Olive Oil, Beef Stock, Fish Sauce, Sugar, Tamarind, Peanut, Cinnamon, Star Anise, Bay Leaves.","meal_category":["Low Carb","Low Calorie"],"meal_subtitle":"with Low Carb Rice","product_ingredients":["Low Carb Rice (Konjac Flour, Rice Flour)","Coconut Cream","Beef Strips","Carrot","Massaman Curry Paste (Soy)","Olive Oil","Beef Stock","Fish Sauce","Sugar","Tamarind","Peanut","Cinnamon","Star Anise","Bay Leaves"],"product_instructions":{"type":"root","children":[{"type":"list","listType":"ordered","children":[{"type":"list-item","children":[{"type":"text","value":"Remove sleeve and peel film slightly from corner then heat in Microwave for 90 seconds"}]},{"type":"list-item","children":[{"type":"text","value":"Peel film off, stir \u0026 heat for an additional 30 seconds 
3659if required"}]},{"type":"list-item","children":[{"type":"text","value":"Serve on a plate for the most delicious, healthy meal. Enjoy!"}]}]}]},"product_name_highlight":"Massaman Beef","protein_per100":"9.2 g","protein_perserve":"32.3 g","protein_type":"Beef","satfat_per100":"4.3 g","satfat_perserve":"15.2 g","sodium_per100":"261 mg","sodium_perserve":"914 mg","sugars_per100":"2.2 g","sugars_perserve":"7.7 g","why_good_for_you":"Beef provides complete protein; carrot and peanuts contribute fibre, magnesium and potassium."}'
3660      data-allergen='null'
3661      data-instructions='null'
3662      onclick="if(window.quiqview){quiqview('curry-with-carb-rice');return false;}"
3663    >
3664      <img
3665        class="img-fluid placeholder-image"
3666        loading="lazy"
3667        srcset="
3668          //thrivemeals.com.au/cdn/shop/files/MassamamCurryLowCarbRice.png?crop=center&height=400&v=1721014776&width=400 300w,
3669          //thrivemeals.com.au/cdn/shop/files/MassamamCurryLowCarbRice.png?crop=center&height=400&v=1721014776&width=400 400w,
3670          //thrivemeals.com.au/cdn/shop/files/MassamamCurryLowCarbRice.png?crop=center&height=400&v=1721014776&width=400 600w,
3671          //thrivemeals.com.au/cdn/shop/files/MassamamCurryLowCarbRice.png?crop=center&height=400&v=1721014776&width=400 800w,
3672          //thrivemeals.com.au/cdn/shop/files/MassamamCurryLowCarbRice.png?crop=center&height=400&v=1721014776&width=400 1200w
3673        "
3674        sizes="(max-width: 600px) 100vw, 400px"
3675        width="230"
3676        height="230"
3677        alt="Massaman Beef"
3678      >
3679    </a>
3680
3681    
3682    <span class="inboxb inbox-badge d-none">In box &times;<span class="inbox-qty quantity-49781204222268">0</span></span>
3683
3684    
3685
3686    
3687  </div>
3688
3689  
3690  
3691    <div class="cat-bar lowcarb">Low Carb</div>
3692  
3693
3694  
3695  
3696    <div class="macro-strip nutritionCount lowcarb">
3697      
3698        <span class="nutritionItem">422 CAL</span>
3699      
3700      
3701        <span class="nutritionItem">32 P</span>
3702      
3703      
3704        <span class="nutritionItem">18 C</span>
3705      
3706      
3707        <span class="nutritionItem">23 F</span>
3708      
3709    </div>
3710  
3711
3712  <div class="productContent mcard-b">
3713    <div class="otherContent d-flex flex-column ">
3714      <div class="cardFilterIcons">
3715        
3716        <div class="">
3717  <ul class="flex-nowrap justify-content-start">
3718    
3719      
3720      
3721    
3722      
3723      
3724        <li class="filterTooltip" tip-title="Egg-Free">
3725          <img src="
3726    //thrivemeals.com.au/cdn/shop/files/EF-removebg-preview_50x.png?v=1759769778
3727  " alt="Filter Icons" width="30" height="30">
3728        </li>
3729      
3730    
3731      
3732      
3733        <li class="filterTooltip" tip-title="Tree Nut-Free">
3734          <img src="
3735    //thrivemeals.com.au/cdn/shop/files/TNF-removebg-preview_50x.png?v=1759769778
3736  " alt="Filter Icons" width="30" height="30">
3737        </li>
3738      
3739    
3740      
3741      
3742        <li class="filterTooltip" tip-title="Crustacea-Free">
3743          <img src="
3744    //thrivemeals.com.au/cdn/shop/files/CF-removebg-preview_50x.png?v=1759769779
3745  " alt="Filter Icons" width="30" height="30">
3746        </li>
3747      
3748    
3749  </ul>
3750</div>
3751
3752      </div>
3753
3754      <h3 class="mc-name"><a href="/products/curry-with-carb-rice" title="Massaman Beef">Massaman Beef</a></h3><p class="mc-sub">with Low Carb Rice</p>
3755
3756      <div class="mt-auto">
3757        
3758        <div class="mc-foot d-flex align-items-baseline my-2 comparePriceOuter">
3759          <span class="price-block mc-price" id="ProductPrice">
3760            <b class="price-now">$12.95</b>
3761          </span>
3762          
3763            <span class="products-weight serve-weight small">350g</span>
3764          
3765        </div>
3766
3767        
3768          <div class="priceAndAction mcard-action d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto">
3769            
3770              <div class="product-all product-id-9590789210428 " data-product-id="9590789210428">
3771  <div class="add-cart-button d-none">
3772    <a href="javascript:void(0);" onclick="localCart.addItemCondition(9590789210428, 49781204222268, 'Massaman Beef', '/products/curry-with-carb-rice', '//thrivemeals.com.au/cdn/shop/files/MassamamCurryLowCarbRice_150X150_crop_center.png?v=1721014776', 1295, 1295, 1, 'LUNCH & DINNER', 689703944508, null , '', '')" class="add-to-cart ajax-spin-cart btn-style3 bg-green border-green ">
3773      <span class="cart-title fw-bolder">Add to box</span>
3774      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
3775      <span class="cart-added"><i class="ion-android-done"></i></span>
3776      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
3777    </a>
3778  </div>
3779  <div class="quantity-selector d-none">
3780    <div class="upsell_quantity buttons d-flex">
3781      <div class="product-quantity" data-variant="49781204222268">
3782        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
3783          <div class="dec qtybutton" data-action="-"><i class="icon-minus fw-bolder"></i></div>
3784          <input
3785            value="1"
3786            class="qtyinputcs"
3787            type="text"
3788            name="quantity"
3789            min="1"
3790            pattern="[0-9]*"
3791          >
3792          
3793          <span class="cusqtyspan quantity-49781204222268 quantity-var-9590789210428"
3794            >1</span
3795          >
3796          <div class="inc qtybutton"  data-action="+"><i class="icon-plus fw-bolder"></i></div>
3797        </div>
3798      </div>
3799    </div>
3800  </div>
3801</div>
3802            
3803          </div>
3804        
3805      </div>
3806    </div>
3807  </div>
3808</div>
3809         
3810      </div>
3811    </div>
3812  </div>
3813</section>
3814<script defer="defer">
3815  $(document).ready(function(){
3816    $("#product-slider").owlCarousel({
3817      loop:true,
3818      autoplay: false,
3819      margin:15,
3820      responsiveClass:true,
3821      dots: false,
3822      nav: true,
3823      responsive:{
3824        0:{
3825            items:2,
3826            dots: false,
3827            nav: false
3828        },
3829        540:{
3830            items:2,
3831            dots: true,
3832            nav: false
3833        },
3834        720:{
3835            items:3,
3836            dots: true,
3837            nav: false
3838        },
3839        1060:{
3840            items:4,
3841            dots: false,
3842            nav:false,
3843        },
3844        1400:{
3845            items:5,
3846            dots: false,
3847            nav:false,
3848        }
3849    },
3850       onInitialized: addAriaLabels,
3851        onTranslated: addAriaLabels
3852    });
3853    function addAriaLabels(event) {
3854        // Add aria-label to the "next" button
3855        $('.owl-nav .owl-next').attr('aria-label', 'Next slide');
3856        
3857        // Add aria-label to the "prev" button
3858        $('.owl-nav .owl-prev').attr('aria-label', 'Previous slide');
3859        
3860        // Add aria-label to the dots (if dots are enabled)
3861        $('.owl-dot').each(function(index) {
3862            $(this).attr('aria-label', 'Go to slide ' + (index + 1));
3863        });
3864    }
3865  })
3866</script>
3866
3867</div><div id="shopify-section-multi_column_with_image_fQay9t" class="shopify-section"><style data-shopify>
3868  .muteUnmute.muted .muteIcon{
3869    display:block;
3870  }
3871  .muteUnmute.muted .unmuteIcon, .muteUnmute .muteIcon{
3872    display:none;
3873  }
3874</style>
3875<section class="multiColumnWithImage healthyMeals3steps menu-page">
3876  <div class="container">
3877    <div class="multiColumnWithImageBlock">
3878      
3879        <div
3880          class="row multiColumnWithImageBlockTopSection"
3881        >
3882      
3883      <div class=" sectionHeadingblock">
3884        
3885        
3886          <h2 class="sectionHeading">HEALTHY MEALS IN <strong>3 EASY STEPS</strong></h2>
3887        
3888        
3889          <h4 class="subHeading">we are here to help you on your health journey</h4>
3890        
3891        
3892      </div>
3893      
3894        <div class="buttonBlock ">
3895          
3896
3897            <a class="btn  themeBtn ms-2" href="/pages/build-your-box">
3898          
3899          
3900
3901          Browse Full Menu
3902          
3903          
3904            </a>
3905          
3906        </div>
3907        </div>
3908      
3909      
3910      
3911        
3912      <div class="multiColumnWithImageItems">
3913        
3914        
3915          
3916        
3917          
3918        
3919          
3920        
3921        <div
3922          class="columnBlockItems  sliderDisabled"
3923          
3924        >
3925          
3926            
3927                <div class="columnBlockItem  ">
3928                  <div class="columnHeadingBlock ">
3929                    
3930                      <div class="imageBlock">
3931                        
3932                        <img
3933                          srcset="
3934                                //thrivemeals.com.au/cdn/shop/files/1_300x.svg?v=1715742501 300w,
3935                                //thrivemeals.com.au/cdn/shop/files/1_400x.svg?v=1715742501 400w,
3936                                //thrivemeals.com.au/cdn/shop/files/1_400x.svg?v=1715742501 600w,
3937                                //thrivemeals.com.au/cdn/shop/files/1_400x.svg?v=1715742501 800w,
3938                                //thrivemeals.com.au/cdn/shop/files/1_400x.svg?v=1715742501 900w,
3939                                //thrivemeals.com.au/cdn/shop/files/1_400x.svg?v=1715742501 1200w,
3940                                //thrivemeals.com.au/cdn/shop/files/1_400x.svg?v=1715742501 1400w
3941                              "
3942                            loading="lazy"
3943                            sizes="(max-width: 768px) 100vw, 1440px"
3944                            alt=""
3945                          >
3946                      </div>
3947                    
3948                    <div class="blockContentBlock">
3949                      
3950                      
3951                        <h4 class="blockSubHeading">Select our Mouth-Watering meals</h4>
3952                      
3953                      
3954                        <div class="blockDescription">
3955                          <p>Select from a wide range of meat-based, high protein, gluten free or keto meals from $7.95</p>
3956                        </div>
3957                      
3958                      
3959                    </div>
3960                  </div>
3961                  
3962                </div>
3963            
3964          
3965            
3966                <div class="columnBlockItem  ">
3967                  <div class="columnHeadingBlock ">
3968                    
3969                      <div class="imageBlock">
3970                        
3971                        <img
3972                          srcset="
3973                                //thrivemeals.com.au/cdn/shop/files/2_300x.svg?v=1715742492 300w,
3974                                //thrivemeals.com.au/cdn/shop/files/2_400x.svg?v=1715742492 400w,
3975                                //thrivemeals.com.au/cdn/shop/files/2_400x.svg?v=1715742492 600w,
3976                                //thrivemeals.com.au/cdn/shop/files/2_400x.svg?v=1715742492 800w,
3977                                //thrivemeals.com.au/cdn/shop/files/2_400x.svg?v=1715742492 900w,
3978                                //thrivemeals.com.au/cdn/shop/files/2_400x.svg?v=1715742492 1200w,
3979                                //thrivemeals.com.au/cdn/shop/files/2_400x.svg?v=1715742492 1400w
3980                              "
3981                            loading="lazy"
3982                            sizes="(max-width: 768px) 100vw, 1440px"
3983                            alt=""
3984                          >
3985                      </div>
3986                    
3987                    <div class="blockContentBlock">
3988                      
3989                      
3990                        <h4 class="blockSubHeading">WE COOK THEM TO PERFECTION</h4>
3991                      
3992                      
3993                        <div class="blockDescription">
3994                          <p>Let our gourmet chefs prepare, cook and perfectly craft your choices FRESH every single week</p>
3995                        </div>
3996                      
3997                      
3998                    </div>
3999                  </div>
4000                  
4001                </div>
4002            
4003          
4004            
4005                <div class="columnBlockItem  ">
4006                  <div class="columnHeadingBlock ">
4007                    
4008                      <div class="imageBlock">
4009                        
4010                        <img
4011                          srcset="
4012                                //thrivemeals.com.au/cdn/shop/files/3_300x.svg?v=1715742503 300w,
4013                                //thrivemeals.com.au/cdn/shop/files/3_400x.svg?v=1715742503 400w,
4014                                //thrivemeals.com.au/cdn/shop/files/3_400x.svg?v=1715742503 600w,
4015                                //thrivemeals.com.au/cdn/shop/files/3_400x.svg?v=1715742503 800w,
4016                                //thrivemeals.com.au/cdn/shop/files/3_400x.svg?v=1715742503 900w,
4017                                //thrivemeals.com.au/cdn/shop/files/3_400x.svg?v=1715742503 1200w,
4018                                //thrivemeals.com.au/cdn/shop/files/3_400x.svg?v=1715742503 1400w
4019                              "
4020                            loading="lazy"
4021                            sizes="(max-width: 768px) 100vw, 1440px"
4022                            alt=""
4023                          >
4024                      </div>
4025                    
4026                    <div class="blockContentBlock">
4027                      
4028                      
4029                        <h4 class="blockSubHeading">WE DELIVER FRESH TO YOU</h4>
4030                      
4031                      
4032                        <div class="blockDescription">
4033                          <p>Schedule the delivery at a time convenient to you and get real-time updates once it leaves our kitchen</p>
4034                        </div>
4035                      
4036                      
4037                    </div>
4038                  </div>
4039                  
4040                </div>
4041            
4042          
4043        </div>
4044      </div>
4045    </div>
4046  </div>
4047</section>
4048
4049
4050
4051</div><div id="shopify-section-multi_column_with_image_px3rLV" class="shopify-section"><style data-shopify>
4052  .muteUnmute.muted .muteIcon{
4053    display:block;
4054  }
4055  .muteUnmute.muted .unmuteIcon, .muteUnmute .muteIcon{
4056    display:none;
4057  }
4058</style>
4059<section class="multiColumnWithImage shippingSubscription menu-page">
4060  <div class="container">
4061    <div class="multiColumnWithImageBlock">
4062      
4063        <div
4064          class="row multiColumnWithImageBlockTopSections mb-4"
4065        >
4066      
4067      <div class="col-xl-8  col-lg-8  col-md-6  col-12  sectionHeadingblock">
4068        
4069        
4070          <h2 class="sectionHeading">PLUS, UNLOCK FREE SHIPPING EVERY WEEK ON SUBSCRIPTION</h2>
4071        
4072        
4073        
4074      </div>
4075      
4076        <div class="buttonBlock col-xl-4 col-lg-4  col-md-6  col-12 d-flex align-items-center justify-content-end">
4077          
4078            <a href="https://thrivemeals.com.au/pages/subscribe-and-save" class="btn  themeBtn margin">
4079              Subscription Perks
4080            </a>
4081          
4082
4083            <a class="btn  themeBtn ms-2" href="https://thrivemeals.com.au/pages/where-we-deliver">
4084          
4085          
4086
4087          Shipping Info
4088          
4089          
4090            </a>
4091          
4092        </div>
4093        </div>
4094      
4095      
4096      
4097        
4098      <div class="multiColumnWithImageItems">
4099        
4100        
4101          
4102              <div class="imageBlock">
4103                
4104                <img
4105                  srcset="
4106                        //thrivemeals.com.au/cdn/shop/files/Thrive-M_300x.webp?v=1751378912 300w,
4107                        //thrivemeals.com.au/cdn/shop/files/Thrive-M_400x.webp?v=1751378912 400w,
4108                        //thrivemeals.com.au/cdn/shop/files/Thrive-M_400x.webp?v=1751378912 600w,
4109                        //thrivemeals.com.au/cdn/shop/files/Thrive-M_400x.webp?v=1751378912 800w,
4110                        //thrivemeals.com.au/cdn/shop/files/Thrive-M_400x.webp?v=1751378912 900w,
4111                        //thrivemeals.com.au/cdn/shop/files/Thrive-M_400x.webp?v=1751378912 1200w,
4112                        //thrivemeals.com.au/cdn/shop/files/Thrive-M_400x.webp?v=1751378912 1400w
4113                      "
4114                    loading="lazy"
4115                    sizes="(max-width: 768px) 100vw, 1440px"
4116                    alt=""
4117                  >
4118              </div>
4119          
4120        
4121          
4122        
4123          
4124        
4125          
4126        
4127          
4128        
4129        <div
4130          class="columnBlockItems  sliderDisabled"
4131          
4132        >
4133          
4134            
4135          
4136            
4137                <div class="columnBlockItem  ">
4138                  <div class="columnHeadingBlock ">
4139                    
4140                      <div class="imageBlock">
4141                        
4142                        <img
4143                          srcset="
4144                                //thrivemeals.com.au/cdn/shop/files/Vector_17_1493ca65-29f1-4400-aa2f-d4c2bba9fae5_300x.svg?v=1715754627 300w,
4145                                //thrivemeals.com.au/cdn/shop/files/Vector_17_1493ca65-29f1-4400-aa2f-d4c2bba9fae5_400x.svg?v=1715754627 400w,
4146                                //thrivemeals.com.au/cdn/shop/files/Vector_17_1493ca65-29f1-4400-aa2f-d4c2bba9fae5_400x.svg?v=1715754627 600w,
4147                                //thrivemeals.com.au/cdn/shop/files/Vector_17_1493ca65-29f1-4400-aa2f-d4c2bba9fae5_400x.svg?v=1715754627 800w,
4148                                //thrivemeals.com.au/cdn/shop/files/Vector_17_1493ca65-29f1-4400-aa2f-d4c2bba9fae5_400x.svg?v=1715754627 900w,
4149                                //thrivemeals.com.au/cdn/shop/files/Vector_17_1493ca65-29f1-4400-aa2f-d4c2bba9fae5_400x.svg?v=1715754627 1200w,
4150                                //thrivemeals.com.au/cdn/shop/files/Vector_17_1493ca65-29f1-4400-aa2f-d4c2bba9fae5_400x.svg?v=1715754627 1400w
4151                              "
4152                            loading="lazy"
4153                            sizes="(max-width: 768px) 100vw, 1440px"
4154                            alt=""
4155                          >
4156                      </div>
4157                    
4158                    <div class="blockContentBlock">
4159                      
4160                      
4161                        <h4 class="blockSubHeading">Free Delivery</h4>
4162                      
4163                      
4164                        <div class="blockDescription">
4165                          <p>Get<strong> free delivery</strong> on every order and <strong>change your delivery date </strong>to suit you</p>
4166                        </div>
4167                      
4168                      
4169                    </div>
4170                  </div>
4171                  
4172                </div>
4173            
4174          
4175            
4176                <div class="columnBlockItem  ">
4177                  <div class="columnHeadingBlock ">
4178                    
4179                      <div class="imageBlock">
4180                        
4181                        <img
4182                          srcset="
4183                                //thrivemeals.com.au/cdn/shop/files/icon_7_300x.svg?v=1715754805 300w,
4184                                //thrivemeals.com.au/cdn/shop/files/icon_7_400x.svg?v=1715754805 400w,
4185                                //thrivemeals.com.au/cdn/shop/files/icon_7_400x.svg?v=1715754805 600w,
4186                                //thrivemeals.com.au/cdn/shop/files/icon_7_400x.svg?v=1715754805 800w,
4187                                //thrivemeals.com.au/cdn/shop/files/icon_7_400x.svg?v=1715754805 900w,
4188                                //thrivemeals.com.au/cdn/shop/files/icon_7_400x.svg?v=1715754805 1200w,
4189                                //thrivemeals.com.au/cdn/shop/files/icon_7_400x.svg?v=1715754805 1400w
4190                              "
4191                            loading="lazy"
4192                            sizes="(max-width: 768px) 100vw, 1440px"
4193                            alt=""
4194                          >
4195                      </div>
4196                    
4197                    <div class="blockContentBlock">
4198                      
4199                      
4200                        <h4 class="blockSubHeading">Skip If You Need</h4>
4201                      
4202                      
4203                        <div class="blockDescription">
4204                          <p>If you can't make your delivery next week, you can <strong>skip your order</strong> and then go right back to crushing your goals</p>
4205                        </div>
4206                      
4207                      
4208                    </div>
4209                  </div>
4210                  
4211                </div>
4212            
4213          
4214            
4215                <div class="columnBlockItem  ">
4216                  <div class="columnHeadingBlock ">
4217                    
4218                      <div class="imageBlock">
4219                        
4220                        <img
4221                          srcset="
4222                                //thrivemeals.com.au/cdn/shop/files/icon_6_300x.svg?v=1715754702 300w,
4223                                //thrivemeals.com.au/cdn/shop/files/icon_6_400x.svg?v=1715754702 400w,
4224                                //thrivemeals.com.au/cdn/shop/files/icon_6_400x.svg?v=1715754702 600w,
4225                                //thrivemeals.com.au/cdn/shop/files/icon_6_400x.svg?v=1715754702 800w,
4226                                //thrivemeals.com.au/cdn/shop/files/icon_6_400x.svg?v=1715754702 900w,
4227                                //thrivemeals.com.au/cdn/shop/files/icon_6_400x.svg?v=1715754702 1200w,
4228                                //thrivemeals.com.au/cdn/shop/files/icon_6_400x.svg?v=1715754702 1400w
4229                              "
4230                            loading="lazy"
4231                            sizes="(max-width: 768px) 100vw, 1440px"
4232                            alt=""
4233                          >
4234                      </div>
4235                    
4236                    <div class="blockContentBlock">
4237                      
4238                      
4239                        <h4 class="blockSubHeading">No Lock In</h4>
4240                      
4241                      
4242                        <div class="blockDescription">
4243                          <p>You can <strong>skip or cancel your subscription at any time</strong></p>
4244                        </div>
4245                      
4246                      
4247                    </div>
4248                  </div>
4249                  
4250                </div>
4251            
4252          
4253            
4254                <div class="columnBlockItem  ">
4255                  <div class="columnHeadingBlock ">
4256                    
4257                      <div class="imageBlock">
4258                        
4259                        <img
4260                          srcset="
4261                                //thrivemeals.com.au/cdn/shop/files/icon_8_300x.svg?v=1715754831 300w,
4262                                //thrivemeals.com.au/cdn/shop/files/icon_8_400x.svg?v=1715754831 400w,
4263                                //thrivemeals.com.au/cdn/shop/files/icon_8_400x.svg?v=1715754831 600w,
4264                                //thrivemeals.com.au/cdn/shop/files/icon_8_400x.svg?v=1715754831 800w,
4265                                //thrivemeals.com.au/cdn/shop/files/icon_8_400x.svg?v=1715754831 900w,
4266                                //thrivemeals.com.au/cdn/shop/files/icon_8_400x.svg?v=1715754831 1200w,
4267                                //thrivemeals.com.au/cdn/shop/files/icon_8_400x.svg?v=1715754831 1400w
4268                              "
4269                            loading="lazy"
4270                            sizes="(max-width: 768px) 100vw, 1440px"
4271                            alt=""
4272                          >
4273     
4273                 </div>
4274                    
4275                    <div class="blockContentBlock">
4276                      
4277                      
4278                        <h4 class="blockSubHeading">We'll Remind You!</h4>
4279                      
4280                      
4281                        <div class="blockDescription">
4282                          <p><strong>We'll remind you about your upcoming order</strong> so you can modify your menu before your next delivery</p>
4283                        </div>
4284                      
4285                      
4286                    </div>
4287                  </div>
4288                  
4289                </div>
4290            
4291          
4292        </div>
4293      </div>
4294    </div>
4295  </div>
4296</section>
4297
4298
4299
4300<style> #shopify-section-multi_column_with_image_px3rLV .shippingSubscription {background: linear-gradient(#ffffff 5%, #b0ec8b, #b0ec8b, #b0ec8b, #b0ec8b);} </style></div><div id="shopify-section-save_time_PfJpLF" class="shopify-section"><div class="sectionPadding saveTime benefitsTextImgSection">
4301  <div class="container">
4302    <div
4303      class="row align-items-center"
4304      style="flex-direction:row-reverse"
4305    >
4306      <div class="col-lg-6">
4307        <div class="text-center saveTimeText">
4308          
4309            <div class="imageBlock">
4310              <img 
4311                srcset="
4312                  //thrivemeals.com.au/cdn/shop/files/image_5_2_300X.webp?v=1751378996 300w,
4313                  //thrivemeals.com.au/cdn/shop/files/image_5_2_400X.webp?v=1751378996 400w,
4314                  //thrivemeals.com.au/cdn/shop/files/image_5_2_600X.webp?v=1751378996 600w,
4315                  //thrivemeals.com.au/cdn/shop/files/image_5_2_740X.webp?v=1751378996 900w,
4316                  //thrivemeals.com.au/cdn/shop/files/image_5_2_740X.webp?v=1751378996 1200w
4317                "
4318                sizes="(max-width: 600px) 100vw, 1440px"
4319                alt="Thrive Meals">
4320            </div>
4321          
4322          
4323          
4324          
4325        </div>
4326      </div>
4327      <div class="col-lg-6">
4328        
4329          <h2 class="sectionTitle ">THR1VE <strong>Benefits</strong></h2>
4330        
4331        <table clas="table">
4332          <thead class="d-none">
4333            <tr>
4334              
4335              <th><img src="//thrivemeals.com.au/cdn/shop/files/logo_thrive_24a314ae-392c-4973-8b31-55174d2d9e35.png?v=1720583101" alt="Thrive Meals"></th>
4336              
4337                <th></th>
4338              
4339              <th class="d-none">
4340                <h4>Home-Cooking</h4>
4341              </th>
4342              
4343            </tr>
4344          </thead>
4345          <tbody>
4346            
4347              <tr>
4348                
4349                <td>
4350                  
4351
4352    <svg
4353      class="icon check3Icon"
4354      width="54"
4355      height="54"
4356      viewBox="0 0 54 54"
4357      fill="none"
4358      xmlns="http://www.w3.org/2000/svg"
4359    >
4360      <path d="M27 0C12.09 0 0 12.09 0 27s12.09 27 27 27 27-12.088 27-27S41.912 0 27 0m17.15 19.316L25.769 37.7s-2.072 2.403-4.227 2.403-4.474-2.68-4.474-2.68l-7.355-8.354a3.174 3.174 0 1 1 4.765-4.195s6.123 7.555 7.088 7.627 18.097-17.672 18.097-17.672a3.174 3.174 0 0 1 4.489 4.488" fill="#4EB849"/>
4361    </svg>
4362  
4363
4364                </td>
4365                
4366                  <td>
4367                    <div class="benifitType">
4368                      SAVING YOU TIME<p>We've got your back, saving you precious time on shopping, meal prep, cooking, and cleaning!</p>
4369                    </div>
4370                  </td>
4371                
4372                <td class="d-none">
4373                  
4374
4375                </td>
4376                
4377              </tr>
4378            
4379              <tr>
4380                
4381                <td>
4382                  
4383
4384    <svg
4385      class="icon check3Icon"
4386      width="54"
4387      height="54"
4388      viewBox="0 0 54 54"
4389      fill="none"
4390      xmlns="http://www.w3.org/2000/svg"
4391    >
4392      <path d="M27 0C12.09 0 0 12.09 0 27s12.09 27 27 27 27-12.088 27-27S41.912 0 27 0m17.15 19.316L25.769 37.7s-2.072 2.403-4.227 2.403-4.474-2.68-4.474-2.68l-7.355-8.354a3.174 3.174 0 1 1 4.765-4.195s6.123 7.555 7.088 7.627 18.097-17.672 18.097-17.672a3.174 3.174 0 0 1 4.489 4.488" fill="#4EB849"/>
4393    </svg>
4394  
4395
4396                </td>
4397                
4398                  <td>
4399                    <div class="benifitType">
4400                      SAVING YOU MONEY<p>In a world of soaring supermarket prices, we’ve maintained budget-friendly to 
4400save your wallet.</p>
4401                    </div>
4402                  </td>
4403                
4404                <td class="d-none">
4405                  
4406
4407                </td>
4408                
4409              </tr>
4410            
4411              <tr>
4412                
4413                <td>
4414                  
4415
4416    <svg
4417      class="icon check3Icon"
4418      width="54"
4419      height="54"
4420      viewBox="0 0 54 54"
4421      fill="none"
4422      xmlns="http://www.w3.org/2000/svg"
4423    >
4424      <path d="M27 0C12.09 0 0 12.09 0 27s12.09 27 27 27 27-12.088 27-27S41.912 0 27 0m17.15 19.316L25.769 37.7s-2.072 2.403-4.227 2.403-4.474-2.68-4.474-2.68l-7.355-8.354a3.174 3.174 0 1 1 4.765-4.195s6.123 7.555 7.088 7.627 18.097-17.672 18.097-17.672a3.174 3.174 0 0 1 4.489 4.488" fill="#4EB849"/>
4425    </svg>
4426  
4427
4428                </td>
4429                
4430                  <td>
4431                    <div class="benifitType">
4432                      NUTRITIOUS MEALS<p>Our focus is on your well-being, offering dietitian-designed meals prepared by chefs fresh every week.</p>
4433                    </div>
4434                  </td>
4435                
4436                <td class="d-none">
4437                  
4438
4439    <svg
4440      class="icon check3Icon"
4441      width="54"
4442      height="54"
4443      viewBox="0 0 54 54"
4444      fill="none"
4445      xmlns="http://www.w3.org/2000/svg"
4446    >
4447      <path d="M27 0C12.09 0 0 12.09 0 27s12.09 27 27 27 27-12.088 27-27S41.912 0 27 0m17.15 19.316L25.769 37.7s-2.072 2.403-4.227 2.403-4.474-2.68-4.474-2.68l-7.355-8.354a3.174 3.174 0 1 1 4.765-4.195s6.123 7.555 7.088 7.627 18.097-17.672 18.097-17.672a3.174 3.174 0 0 1 4.489 4.488" fill="#4EB849"/>
4448    </svg>
4449  
4450
4451                </td>
4452                
4453              </tr>
4454            
4455              <tr>
4456                
4457                <td>
4458                  
4459
4460    <svg
4461      class="icon check3Icon"
4462      width="54"
4463      height="54"
4464      viewBox="0 0 54 54"
4465      fill="none"
4466      xmlns="http://www.w3.org/2000/svg"
4467    >
4468      <path d="M27 0C12.09 0 0 12.09 0 27s12.09 27 27 27 27-12.088 27-27S41.912 0 27 0m17.15 19.316L25.769 37.7s-2.072 2.403-4.227 2.403-4.474-2.68-4.474-2.68l-7.355-8.354a3.174 3.174 0 1 1 4.765-4.195s6.123 7.555 7.088 7.627 18.097-17.672 18.097-17.672a3.174 3.174 0 0 1 4.489 4.488" fill="#4EB849"/>
4469    </svg>
4470  
4471
4472                </td>
4473                
4474                  <td>
4475                    <div class="benifitType">
4476                      EASY TO TRACK MACROS<p>We assist in maintaining your diet by providing easy access to macros for each meal.</p>
4477                    </div>
4478                  </td>
4479                
4480                <td class="d-none">
4481                  
4482
4483                </td>
4484                
4485              </tr>
4486            
4487              <tr>
4488                
4489                <td>
4490                  
4491
4492    <svg
4493      class="icon check3Icon"
4494      width="54"
4495      height="54"
4496      viewBox="0 0 54 54"
4497      fill="none"
4498      xmlns="http://www.w3.org/2000/svg"
4499    >
4500      <path d="M27 0C12.09 0 0 12.09 0 27s12.09 27 27 27 27-12.088 27-27S41.912 0 27 0m17.15 19.316L25.769 37.7s-2.072 2.403-4.227 2.403-4.474-2.68-4.474-2.68l-7.355-8.354a3.174 3.174 0 1 1 4.765-4.195s6.123 7.555 7.088 7.627 18.097-17.672 18.097-17.672a3.174 3.174 0 0 1 4.489 4.488" fill="#4EB849"/>
4501    </svg>
4502  
4503
4504                </td>
4505                
4506                  <td>
4507                    <div class="benifitType">
4508                      PREPARED BY CHEFS<p>Our meals, crafted by top chefs, cater to those who don’t like to cook every day — we do the work for you!</p>
4509                    </div>
4510                  </td>
4511                
4512                <td class="d-none">
4513                  
4514
4515                </td>
4516                
4517              </tr>
4518            
4519          </tbody>
4520        </table>
4521      </div>
4522    </div>
4523  </div>
4524</div>
4525
4526<style> #shopify-section-save_time_PfJpLF .benefitsTextImgSection {background: linear-gradient(#b0ec8b 0%, #ffffff, #ffffff, #ffffff);} </style></div><div id="shopify-section-multi_column_with_image_Qgk8gW" class="shopify-section"><style data-shopify>
4527  .muteUnmute.muted .muteIcon{
4528    display:block;
4529  }
4530  .muteUnmute.muted .unmuteIcon, .muteUnmute .muteIcon{
4531    display:none;
4532  }
4533</style>
4534<section class="multiColumnWithImage videoGridSection menu-page">
4535  <div class="container">
4536    <div class="multiColumnWithImageBlock">
4537      
4538      <div class=" sectionHeadingblock">
4539        
4540        
4541          <h2 class="sectionHeading">DISCOVER WHY <strong>AUSTRALIANS LOVE THRIVE</strong></h2>
4542        
4543        
4544        
4545      </div>
4546      
4547      
4548      
4549        
4550      <div class="multiColumnWithImageItems">
4551        
4552        
4553          
4554        
4555          
4556        
4557          
4558        
4559        <div
4560          class="columnBlockItems  sliderDisabled"
4561          
4562        >
4563          
4564            
4565                <div class="columnBlockItem  ">
4566                  <div class="columnHeadingBlock ">
4567                    
4568                    <div class="blockContentBlock">
4569                      
4570                      
4571                      
4572                      
4573                        <div class="videoBlock">
4574                          <button class="videoPlayBtn">
4575                            <img
4576                              src="https://cdn.shopify.com/s/files/1/0729/8243/0012/files/play.svg?v=1715826575"
4577                              height="24"
4578                              width="24"
4579                            >
4580                          </button>
4581                          
4582
4583                          
4584                            <video
4585                              class="multiVideo"
4586                              playsinline
4587                              preload="metadata"
4588                              poster="//thrivemeals.com.au/cdn/shop/files/preview_images/e585c72529964eb0a93a8696c98a1a93.thumbnail.0000000000_410x.jpg?v=1716205928"                              
4589                              preload="none"
4590                            >
4591                              <source src="//thrivemeals.com.au/cdn/shop/videos/c/vp/e585c72529964eb0a93a8696c98a1a93/e585c72529964eb0a93a8696c98a1a93.HD-1080p-7.2Mbps-29365735.mp4?v=0" type="video/mp4">
4592                              <source src="" type="">
4593                              <source src="//thrivemeals.com.au/cdn/shop/videos/c/vp/e585c72529964eb0a93a8696c98a1a93/e585c72529964eb0a93a8696c98a1a93.m3u8?v=0" type="application/x-mpegURL">
4594                              <source src="" type="">
4595                              <img
4596                                srcset="
4597                                  //thrivemeals.com.au/cdn/shop/files/preview_images/e585c72529964eb0a93a8696c98a1a93.thumbnail.0000000000_410x.jpg?v=1716205928 480w,
4598                                  //thrivemeals.com.au/cdn/shop/files/preview_images/e585c72529964eb0a93a8696c98a1a93.thumbnail.0000000000_410x.jpg?v=1716205928 720w,
4599                                  //thrivemeals.com.au/cdn/shop/files/preview_images/e585c72529964eb0a93a8696c98a1a93.thumbnail.0000000000_410x.jpg?v=1716205928 1080w
4600                                "
4601                                sizes="(max-width: 768px) 100vw, 800px"
4602                                alt="Video thumbnail"
4603                                loading="lazy"
4604                                decoding="async"
4605                              />
4606                            </video>
4607                          
4608
4609                          <div class="videoButtons">
4610                            <div class="customProgressBar">
4611                              <input type="range" name="videoTimeStamp" min="0" max="100" style="display:none;">
4612                            </div>
4613                            <div class="muteUnmute">
4614                              <span class="iconBlock">
4615                                
4616    <svg
4617      class="icon unmuteIcon"
4618      width="24"
4619      height="24"
4620      fill="none"
4621      xmlns="http://www.w3.org/2000/svg"
4622    >
4623      <path fill-rule="evenodd" clip-rule="evenodd" d="M12.5 5.102 8.778 8.35a2.5 2.5 0 0 1-1.643.616H4.5v6.065h2.632a2.5 2.5 0 0 1 1.644.617l3.724 3.25zM14 19.998c0 .858-1.01 1.318-1.658.753L7.79 16.778a1 1 0 0 0-.658-.247H4a1 1 0 0 1-1-1V8.466a1 1 0 0 1 1-1h3.135a1 1 0 0 0 .657-.246l4.55-3.971C12.99 2.684 14 3.143 14 4.002zM15.25 7a.75.75 0 0 1 .75-.75 5.75 5.75 0 0 1 0 11.5.75.75 0 0 1 0-1.5 4.25 4.25 0 0 0 0-8.5.75.75 0 0 1-.75-.75M16 9.25a.75.75 0 0 0 0 1.5 1.25 1.25 0 1 1 0 2.5.75.75 0 0 0 0 1.5 2.75 2.75 0 1 0 0-5.5" fill="currentColor"/>
4624    </svg>
4625  
4626                                
4627    <svg class="icon muteIcon" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
4628      <path fill-rule="evenodd" clip-rule="evenodd" d="m15.5 5.08-3.742 3.171a3 3 0 0 1-.243.182L15.5 12.4zm1.5 8.814V4.002a1 1 0 0 0-1.646-.763l-4.566 3.868a1 1 0 0 1-.398.206L6.53 3.468a.75.75 0 1 0-1.06 1.063l14 13.94a.75.75 0 1 0 1.06-1.063zM6.293 7.637l1.208 1.207H7.5v5.8h2.642a2.5 2.5 0 0 1 1.616.593l3.742 3.17v-1.564l1.5 1.5v1.143a1 1 0 0 1-1.646.763l-4.566-3.868a1 1 0 0 0-.646-.237H7a1 1 0 0 1-1-1v-6.8c0-.276.112-.526.293-.707" fill="currentColor"/>
4629    </svg>
4630  
4631                              </span>
4632                            </div>
4633                          </div>
4634                        </div>
4635                      
4636                    </div>
4637                  </div>
4638                  
4639                </div>
4640            
4641          
4642            
4643                <div class="columnBlockItem  ">
4644                  <div class="columnHeadingBlock ">
4645                    
4646                    <div class="blockContentBlock">
4647                      
4648                      
4649                      
4650                      
4651                        <div class="videoBlock">
4652                          <button class="videoPlayBtn">
4653                            <img
4654                              src="https://cdn.shopify.com/s/files/1/0729/8243/0012/files/play.svg?v=1715826575"
4655                              height="24"
4656                              width="24"
4657                            >
4658                          </button>
4659                          
4660
4661                          
4662                            <video
4663                              class="multiVideo"
4664                              playsinline
4665                              preload="metadata"
4666                              poster="//thrivemeals.com.au/cdn/shop/files/preview_images/1494f47f703b4124bfc8128587d8af26.thumbnail.0000000000_410x.jpg?v=1715750582"                              
4667                              preload="none"
4668                            >
4669                              <source src="//thrivemeals.com.au/cdn/shop/videos/c/vp/1494f47f703b4124bfc8128587d8af26/1494f47f703b4124bfc8128587d8af26.HD-1080p-3.3Mbps-29150019.mp4?v=0" type="video/mp4">
4670                              <source src="" type="">
4671                              <source src="//thrivemeals.com.au/cdn/shop/videos/c/vp/1494f47f703b4124bfc8128587d8af26/1494f47f703b4124bfc8128587d8af26.m3u8?v=0" type="application/x-mpegURL">
4672                              <source src="" type="">
4673                              <img
4674                                srcset="
4675                                  //thrivemeals.com.au/cdn/shop/files/preview_images/1494f47f703b4124bfc8128587d8af26.thumbnail.0000000000_410x.jpg?v=1715750582 480w,
4676                                  //thrivemeals.com.au/cdn/shop/files/preview_images/1494f47f703b4124bfc8128587d8af26.thumbnail.0000000000_410x.jpg?v=1715750582 720w,
4677                                  //thrivemeals.com.au/cdn/shop/files/preview_images/1494f47f703b4124bfc8128587d8af26.thumbnail.0000000000_410x.jpg?v=1715750582 1080w
4678                                "
4679                                sizes="(max-width: 768px) 100vw, 800px"
4680                                alt="Video thumbnail"
4681                                loading="lazy"
4682                                decoding="async"
4683                              />
4684                            </video>
4685                          
4686
4687                          <div class="videoButtons">
4688                            <div class="customProgressBar">
4689                              <input type="range" name="videoTimeStamp" min="0" max="100" style="display:none;">
4690                            </div>
4691                            <div class="muteUnmute">
4692                              <span class="iconBlock">
4693                                
4694    <svg
4695      class="icon unmuteIcon"
4696      width="24"
4697      height="24"
4698      fill="none"
4699      xmlns="http://www.w3.org/2000/svg"
4700    >
4701      <path fill-rule="evenodd" clip-rule="evenodd" d="M12.5 5.102 8.778 8.35a2.5 2.5 0 0 1-1.643.616H4.5v6.065h2.632a2.5 2.5 0 0 1 1.644.617l3.724 3.25zM14 19.998c0 .858-1.01 1.318-1.658.753L7.79 16.778a1 1 0 0 0-.658-.247H4a1 1 0 0 1-1-1V8.466a1 1 0 0 1 1-1h3.135a1 1 0 0 0 .657-.246l4.55-3.971C12.99 2.684 14 3.143 14 4.002zM15.25 7a.75.75 0 0 1 .75-.75 5.75 5.75 0 0 1 0 11.5.75.75 0 0 1 0-1.5 4.25 4.25 0 0 0 0-8.5.75.75 0 0 1-.75-.75M16 9.25a.75.75 0 0 0 0 1.5 1.25 1.25 0 1 1 0 2.5.75.75 0 0 0 0 1.5 2.75 2.75 0 1 0 0-5.5" fill="currentColor"/>
4702    </svg>
4703  
4704                                
4705    <svg class="icon muteIcon" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
4706      <path fill-rule="evenodd" clip-rule="evenodd" d="m15.5 5.08-3.742 3.171a3 3 0 0 1-.243.182L15.5 12.4zm1.5 8.814V4.002a1 1 0 0 0-1.646-.763l-4.566 3.868a1 1 0 0 1-.398.206L6.53 3.468a.75.75 0 1 0-1.06 1.063l14 13.94a.75.75 0 1 0 1.06-1.063zM6.293 7.637l1.208 1.207H7.5v5.8h2.642a2.5 2.5 0 0 1 1.616.593l3.742 3.17v-1.564l1.5 1.5v1.143a1 1 0 0 1-1.646.763l-4.566-3.868a1 1 0 0 0-.646-.237H7a1 1 0 0 1-1-1v-6.8c0-.276.112-.526.293-.707" fill="currentColor"/>
4707    </svg>
4708  
4709                              </span>
4710                            </div>
4711                          </div>
4712                        </div>
4713                      
4714                    </div>
4715                  </div>
4716                  
4717                </div>
4718            
4719          
4720            
4721                <div class="columnBlockItem  ">
4722                  <div class="columnHeadingBlock ">
4723                    
4724                    <div class="blockContentBlock">
4725                      
4726                      
4727                      
4728                      
4729                        <div class="videoBlock">
4730                          <button class="videoPlayBtn">
4731                            <img
4732                              src="https://cdn.shopify.com/s/files/1/0729/8243/0012/files/play.svg?v=1715826575"
4733                              height="24"
4734                              width="24"
4735                            >
4736                          </button>
4737                          
4738
4739                          
4740                            <video
4741                              class="multiVideo"
4742                              playsinline
4743                              preload="metadata"
4744                              poster="//thrivemeals.com.au/cdn/shop/files/preview_images/b8d0cd5c3b404d2ca319e18d83b18961.thumbnail.0000000000_410x.jpg?v=1715750580"                              
4745                              preload="none"
4746                            >
4747                              <source src="//thrivemeals.com.au/cdn/shop/videos/c/vp/b8d0cd5c3b404d2ca319e18d83b18961/b8d0cd5c3b404d2ca319e18d83b18961.HD-1080p-3.3Mbps-29150018.mp4?v=0" type="video/mp4">
4748                              <source src="" type="">
4749                              <source src="//thrivemeals.com.au/cdn/shop/videos/c/vp/b8d0cd5c3b404d2ca319e18d83b18961/b8d0cd5c3b404d2ca319e18d83b18961.m3u8?v=0" type="application/x-mpegURL">
4750                              <source src="" type="">
4751                              <img
4752                                srcset="
4753                                  //thrivemeals.com.au/cdn/shop/files/preview_images/b8d0cd5c3b404d2ca319e18d83b18961.thumbnail.0000000000_410x.jpg?v=1715750580 480w,
4754                                  //thrivemeals.com.au/cdn/shop/files/preview_images/b8d0cd5c3b404d2ca319e18d83b18961.thumbnail.0000000000_410x.jpg?v=1715750580 720w,
4755                                  //thrivemeals.com.au/cdn/shop/files/preview_images/b8d0cd5c3b404d2ca319e18d83b18961.thumbnail.0000000000_410x.jpg?v=1715750580 1080w
4756                                "
4757                                sizes="(max-width: 768px) 100vw, 800px"
4758                                alt="Video thumbnail"
4759                                loading="lazy"
4760                                decoding="async"
4761                              />
4762                            </video>
4763                          
4764
4765                          <div class="videoButtons">
4766                            <div class="customProgressBar">
4767                              <input type="range" name="videoTimeStamp" min="0" max="100" style="display:none;">
4768                            </div>
4769                            <div class="muteUnmute">
4770                              <span class="iconBlock">
4771                                
4772    <svg
4773      class="icon unmuteIcon"
4774      width="24"
4775      height="24"
4776      fill="none"
4777      xmlns="http://www.w3.org/2000/svg"
4778    >
4779      <path fill-rule="evenodd" clip-rule="evenodd" d="M12.5 5.102 8.778 8.35a2.5 2.5 0 0 1-1.643.616H4.5v6.065h2.632a2.5 2.5 0 0 1 1.644.617l3.724 3.25zM14 19.998c0 .858-1.01 1.318-1.658.753L7.79 16.778a1 1 0 0 0-.658-.247H4a1 1 0 0 1-1-1V8.466a1 1 0 0 1 1-1h3.135a1 1 0 0 0 .657-.246l4.55-3.971C12.99 2.684 14 3.143 14 4.002zM15.25 7a.75.75 0 0 1 .75-.75 5.75 5.75 0 0 1 0 11.5.75.75 0 0 1 0-1.5 4.25 4.25 0 0 0 0-8.5.75.75 0 0 1-.75-.75M16 9.25a.75.75 0 0 0 0 1.5 1.25 1.25 0 1 1 0 2.5.75.75 0 0 0 0 1.5 2.75 2.75 0 1 0 0-5.5" fill="currentColor"/>
4780    </svg>
4781  
4782                                
4783    <svg class="icon muteIcon" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
4784      <path fill-rule="evenodd" clip-rule="evenodd" d="m15.5 5.08-3.742 3.171a3 3 0 0 1-.243.182L15.5 12.4zm1.5 8.814V4.002a1 1 0 0 0-1.646-.763l-4.566 3.868a1 1 0 0 1-.398.206L6.53 3.468a.75.75 0 1 0-1.06 1.063l14 13.94a.75.75 0 1 0 1.06-1.063zM6.293 7.637l1.208 1.207H7.5v5.8h2.642a2.5 2.5 0 0 1 1.616.593l3.742 3.17v-1.564l1.5 1.5v1.143a1 1 0 0 1-1.646.763l-4.566-3.868a1 1 0 0 0-.646-.237H7a1 1 0 0 1-1-1v-6.8c0-.276.112-.526.293-.707" fill="currentColor"/>
4785    </svg>
4786  
4787                              </span>
4788                            </div>
4789                          </div>
4790                        </div>
4791                      
4792                    </div>
4793                  </div>
4794                  
4795                </div>
4796            
4797          
4798        </div>
4799      </div>
4800    </div>
4801  </div>
4802</section>
4803
4804
4805
4806</div><div id="shopify-section-logo_with_description_XhVhrA" class="shopify-section"><!-- our-brand-area start -->
4807<div class="sectionPadding logoWithDescription ">
4808  <div class="container">
4809    <div class="row">
4810      <div class="col">
4811        
4812        <div class="brand-logo row">
4813          
4814            <div class="item text-center col-lg-3 col-md-6 col-sm-6 col-12 p-2 border-none">
4815              <a
4816                href="https://www.gq.com.au"
4817                class="brand-img"
4818                aria-label=""They were among the first to get fresh, healthy ready-made meals""
4819              >
4820                <img
4821                  class="placeholder-image"
4822                  src="//thrivemeals.com.au/cdn/shop/files/imgpsh_fullsize_anim_1_d6419988-c6c0-4204-8f5d-7636934eb457_5x5.png?v=1727685022"
4823                  data-src="//thrivemeals.com.au/cdn/shop/files/imgpsh_fullsize_anim_1_d6419988-c6c0-4204-8f5d-7636934eb457_180x.png?v=1727685022"
4824                  alt=""
4825                >
4826              </a>
4827              <p class="fst-italic">
4828                "They were among the first to get fresh, healthy ready-made meals"
4829              </p>
4830            </div>
4831          
4832            <div class="item text-center col-lg-3 col-md-6 col-sm-6 col-12 p-2 border-none">
4833              <a
4834                href="https://www.choice.com.au"
4835                class="brand-img"
4836                aria-label=""Healthy meals with no carbohydrates that are delicious, fresh and presented well""
4837              >
4838                <img
4839                  class="placeholder-image"
4840                  src="//thrivemeals.com.au/cdn/shop/files/imgpsh_fullsize_anim_2_5x5.png?v=1727674701"
4841                  data-src="//thrivemeals.com.au/cdn/shop/files/imgpsh_fullsize_anim_2_180x.png?v=1727674701"
4842                  alt=""
4843                >
4844              </a>
4845              <p class="fst-italic">
4846                "Healthy meals with no carbohydrates that are delicious, fresh and presented well"
4847              </p>
4848            </div>
4849          
4850            <div class="item text-center col-lg-3 col-md-6 col-sm-6 col-12 p-2 border-none">
4851              <a
4852                href="https://www.womenshealth.com.au"
4853                class="brand-img"
4854                aria-label=""Stands out from the majority of other fresh delivered meals as Thr1ve specifically caters for low carb, keto fans""
4855              >
4856                <img
4857                  class="placeholder-image"
4858                  src="//thrivemeals.com.au/cdn/shop/files/WomensHealth_5x5.png?v=1713424863"
4859                  data-src="//thrivemeals.com.au/cdn/shop/files/WomensHealth_180x.png?v=1713424863"
4860                  alt=""
4861                >
4862              </a>
4863              <p class="fst-italic">
4864                "Stands out from the majority of other fresh delivered meals as Thr1ve specifically caters for low carb, keto fans"
4865              </p>
4866            </div>
4867          
4868            <div class="item text-center col-lg-3 col-md-6 col-sm-6 col-12 p-2 border-none">
4869              <a
4870                href="https://www.bodyandsoul.com.au"
4871                class="brand-img"
4872                aria-label=""My keto meals were satisfying and if you committed to the diet long-term, the changes to your weight, skin and energy levels would be dramatic""
4873              >
4874                <img
4875                  class="placeholder-image"
4876                  src="//thrivemeals.com.au/cdn/shop/files/image_10_5x5.png?v=1706180057"
4877                  data-src="//thrivemeals.com.au/cdn/shop/files/image_10_180x.png?v=1706180057"
4878                  alt=""
4879                >
4880              </a>
4881              <p class="fst-italic">
4882                "My keto meals were satisfying and if you committed to the diet long-term, the changes to your weight, skin and energy levels would be dramatic"
4883              </p>
4884            </div>
4885          
4886        </div>
4887      </div>
4888    </div>
4889  </div>
4890</div>
4891
4892<!-- our-brand-area end -->
4893<script defer="defer">
4894  $(document).ready(function(){
4895  $('#brand-logo-logo_with_description_XhVhrA').owlCarousel({
4896    loop: false,
4897    rewind: true,
4898    margin: 0,
4899    nav: true,
4900    dots: false,autoplay: true,
4901    slideTransition: 'linear',
4902    autoplaySpeed: 3000,
4903    autoplayHoverPause: true,
4904    responsive:{
4905      0:{
4906        items:1
4907      },
4908      479:{
4909        items:2
4910      },
4911      768:{
4912        items:2
4913      },
4914      979:{
4915        items:3
4916      },
4917      1199:{
4918        items:4
4919      }
4920    },
4921      onInitialized: addAriaLabels,
4922        onTranslated: addAriaLabels
4923  });
4924    function addAriaLabels(event) {
4925        // Add aria-label to the "next" button
4926        $('.owl-nav .owl-next').attr('aria-label', 'Next slide');
4927
4928        // Add aria-label to the "prev" button
4929        $('.owl-nav .owl-prev').attr('aria-label', 'Previous slide');
4930
4931        // Add aria-label to the dots (if dots are enabled)
4932        $('.owl-dot').each(function(index) {
4933            $(this).attr('aria-label', 'Go to slide ' + (index + 1));
4934        });
4935    }
4936  });
4937</script>
4937
4938
4939<style>
4940    .our-brand-logo {
4941    padding-top: 0px;
4942    padding-bottom: 0px;
4943  }
4944  @media(max-width: 1199px) {
4945    .our-brand-logo  {
4946        padding-top: 0px;
4947        padding-bottom: 0px;
4948    }
4949  }
4950</style>
4951</div><div id="shopify-section-b60027b3-6c0b-4c81-8f8e-7bc81142c84d" class="shopify-section"><div class="news-letter"> 
4952  <div class="container">
4953  <div class="row">
4954  <div class="col-xl-8 col-md-12 col-12 offset-xl-2">
4955    <div class="newsletter-block">
4956
4957
4958      <div class="subscribe-content">
4959        <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
4960        
4961        
4962          <input type="hidden" name="contact[tags]" value="newsletter">
4963          <div class="subscribe-block">
4964            <input type="email" name="contact[email]" class="email form-control mail text-medium" id="E-mail" value="" placeholder="Email Address" autocapitalize="off" required>
4965          <button type="submit" class="" name="commit" id="Subscribe">JOIN THE COMMUNITY & GET $10 OFF</button>
4966          </div>
4967        
4968        </form>
4969      </div>
4970      <div class="section-title">
4971        
4972        
4973          <h2 class="cusnewsltrtitle newstitle-color text-center">Sign up for our newsletter, and you’ll be the first to receive exclusive offers, new product announcements, and lifestyle content from our wellness experts.</h2>
4974        
4975      </div>
4976      </div>
4977      </div>
4978      </div>
4979  </div>
4980</div>
4981
4982<style>
4983  .news-letter{
4984    
4985    background-color: #fafafa;
4986    
4987    
4988    padding-top:80px;
4989    padding-bottom:80px;
4990  }
4991  .newstitle-color{
4992    color: #232323;
4993  }
4994  .newstext-color{
4995    color: #232323;
4996  }
4997  @media (max-width: 767px){
4998    .news-letter {
4999      padding-top: 0px;
5000      padding-bottom: 30px;
5001    }
5002  }
5003</style><style> #shopify-section-b60027b3-6c0b-4c81-8f8e-7bc81142c84d h2 {line-height: 1.5em;} </style></div><div id="shopify-section-37411423-55f5-4ce2-831c-bdbaaf36ef7e" class="shopify-section"><section
5004  
5005  class="sectionPadding faq-page other-page faqMain"
5006>
5007  
5008  <div class="container">
5009    <div class="row">
5010      <div class="col">
5011        
5012          <h2
5013            class="faqSectionHeading sectionTitle fw-semibold mb-3"
5014            data-scroll="FREQUENTLY ASKED QUESTIONS"
5015            section-id="scrollSectionHeading"
5016          >
5017            FREQUENTLY ASKED QUESTIONS
5018          </h2>
5019        
5020
5021        <div class="que-ans ">
5022          <ul class="faqGroup-37411423-55f5-4ce2-831c-bdbaaf36ef7e">
5023            
5024            
5025              
5026              <li>
5027                <a
5028                  href="#collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-1"
5029                  data-bs-toggle="collapse"
5030                  class="questionSection"
5031                  
5032                >What exact time will my meals arrive?<span class="faqDropdownArrow">
5033    <svg
5034      class="icon icon-dropdownArrow"
5035      width="13"
5036      height="9"
5037      viewBox="0 0 13 9"
5038      fill="none"
5039      xmlns="http://www.w3.org/2000/svg"
5040    >
5041      <path d="M6.5 5.913 1.55.963.136 2.377 6.5 8.741l6.364-6.364L11.45.963z" fill="#000"/>
5042    </svg>
5043
5044  </span>
5045                </a>
5046                <div
5047                  class="collapse answerSection"
5048                  id="collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-1"
5049                  data-parent="faqGroup-37411423-55f5-4ce2-831c-bdbaaf36ef7e"
5050                >
5051                  <div class="answerBlock">
5052                    <p>We cannot confirm an exact delivery time, but the night before your delivery you will receive an SMS code to inform you of a tight window within when your delivery will arrive. Included in that SMS is a tracking link that you can use to keep up-to-date information of your delivery!</p>
5053                    
5054                  </div>
5055                </div>
5056              </li>
5057            
5058              
5059              <li>
5060                <a
5061                  href="#collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-2"
5062                  data-bs-toggle="collapse"
5063                  class="questionSection"
5064                  
5065                >What makes THR1VE ready meals different?<span class="faqDropdownArrow">
5066    <svg
5067      class="icon icon-dropdownArrow"
5068      width="13"
5069      height="9"
5070      viewBox="0 0 13 9"
5071      fill="none"
5072      xmlns="http://www.w3.org/2000/svg"
5073    >
5074      <path d="M6.5 5.913 1.55.963.136 2.377 6.5 8.741l6.364-6.364L11.45.963z" fill="#000"/>
5075    </svg>
5076
5077  </span>
5078                </a>
5079                <div
5080                  class="collapse answerSection"
5081                  id="collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-2"
5082                  data-parent="faqGroup-37411423-55f5-4ce2-831c-bdbaaf36ef7e"
5083                >
5084                  <div class="answerBlock">
5085                    <p>Our mission is to make clean, nourishing and delicious food. To do this, we make our meals from real food. This means fresh seasonal produce, quality proteins and no added chemical nasties. Our meals are chef-designed and nutritionist-approved, so you know they’ll taste great and be nourishing, too.</p>
5086                    
5087                  </div>
5088                </div>
5089              </li>
5090            
5091              
5092              <li>
5093                <a
5094                  href="#collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-3"
5095                  data-bs-toggle="collapse"
5096                  class="questionSection"
5097                  
5098                >What allergens are in your products?<span class="faqDropdownArrow">
5099    <svg
5100      class="icon icon-dropdownArrow"
5101      width="13"
5102      height="9"
5103      viewBox="0 0 13 9"
5104      fill="none"
5105      xmlns="http://www.w3.org/2000/svg"
5106    >
5107      <path d="M6.5 5.913 1.55.963.136 2.377 6.5 8.741l6.364-6.364L11.45.963z" fill="#000"/>
5108    </svg>
5109
5110  </span>
5111                </a>
5112                <div
5113                  class="collapse answerSection"
5114                  id="collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-3"
5115                  data-parent="faqGroup-37411423-55f5-4ce2-831c-bdbaaf36ef7e"
5116                >
5117                  <div class="answerBlock">
5118                    <p>You can see the full nutritional details of all our items when you click into the chosen item. Please be aware that all our meals may be manufactured on equipment that processes egg, wheat/gluten, soy, milk, tree nuts, peanuts, fish, shellfish, sesame, lupin and sulphites. Even though an item may be listed as free from as a direct ingredient, we cannot guarantee against cross contamination. Be sure to check with us if you are unsure about any allergens.</p>
5119                    
5120                  </div>
5121                </div>
5122              </li>
5123            
5124              
5125              <li>
5126                <a
5127                  href="#collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-4"
5128                  data-bs-toggle="collapse"
5129                  class="questionSection"
5130                  
5131                >How long do my meals last for?<span class="faqDropdownArrow">
5132    <svg
5133      class="icon icon-dropdownArrow"
5134      width="13"
5135      height="9"
5136      viewBox="0 0 13 9"
5137      fill="none"
5138      xmlns="http://www.w3.org/2000/svg"
5139    >
5140      <path d="M6.5 5.913 1.55.963.136 2.377 6.5 8.741l6.364-6.364L11.45.963z" fill="#000"/>
5141    </svg>
5142
5143  </span>
5144                </a>
5145                <div
5146                  class="collapse answerSection"
5147                  id="collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-4"
5148                  data-parent="faqGroup-37411423-55f5-4ce2-831c-bdbaaf36ef7e"
5149                >
5150                  <div class="answerBlock">
5151                    <p>Our meals are delivered fresh, so they have a shelf life of at least 5 days. Check the expiry date on the packets, as these dates do vary depending on the product. You may choose to freeze some of our ready meals.</p>
5152                    
5153                  </div>
5154                </div>
5155              </li>
5156            
5157              
5158              <li>
5159                <a
5160                  href="#collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-5"
5161                  data-bs-toggle="collapse"
5162                  class="questionSection"
5163                  
5164                >Do your meals arrive fresh or frozen?<span class="faqDropdownArrow">
5165    <svg
5166      class="icon icon-dropdownArrow"
5167      width="13"
5168      height="9"
5169      viewBox="0 0 13 9"
5170      fill="none"
5171      xmlns="http://www.w3.org/2000/svg"
5172    >
5173      <path d="M6.5 5.913 1.55.963.136 2.377 6.5 8.741l6.364-6.364L11.45.963z" fill="#000"/>
5174    </svg>
5175
5176  </span>
5177                </a>
5178                <div
5179                  class="collapse answerSection"
5180                  id="collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-5"
5181                  data-parent="faqGroup-37411423-55f5-4ce2-831c-bdbaaf36ef7e"
5182                >
5183                  <div class="answerBlock">
5184                    <p>All meals arrive fresh to your door and can be frozen before their expiry. We recommend that our meals are consumed fresh, but if you can’t get to any before the use by date just pop them in the freezer for a later date.</p>
5185                    
5186                  </div>
5187                </div>
5188              </li>
5189            
5190              
5191              <li>
5192                <a
5193                  href="#collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-6"
5194                  data-bs-toggle="collapse"
5195                  class="questionSection"
5196                  
5197                >Are your meals halal certified?<span class="faqDropdownArrow">
5198    <svg
5199      class="icon icon-dropdownArrow"
5200      width="13"
5201      height="9"
5202      viewBox="0 0 13 9"
5203      fill="none"
5204      xmlns="http://www.w3.org/2000/svg"
5205    >
5206      <path d="M6.5 5.913 1.55.963.136 2.377 6.5 8.741l6.364-6.364L11.45.963z" fill="#000"/>
5207    </svg>
5208
5209  </span>
5210                </a>
5211                <div
5212                  class="collapse answerSection"
5213                  id="collapse37411423-55f5-4ce2-831c-bdbaaf36ef7e-6"
5214                  data-parent="faqGroup-37411423-55f5-4ce2-831c-bdbaaf36ef7e"
5215                >
5216                  <div class="answerBlock">
5217                    <p>Yes! All our meals are 100% halal certified. You can find our certificate at the link here: 
5218<a href="https://cdn.shopify.com/s/files/1/0729/8243/0012/files/Halal_Certificate_-_Thr1ve.pdf?v=1729939261">Halal Meal Certificate Link</a></p>
5219                    
5220                  </div>
5221                </div>
5222              </li>
5223            
5224          </ul>
5225        </div>
5226      </div>
5227    </div>
5228  </div>
5229</section>
5230
5231</div><div id="shopify-section-faq_nEY3ph" class="shopify-section"><section
5232  
5233  class="sectionPadding faq-page other-page faqSingle"
5234>
5235  
5236  <div class="container">
5237    <div class="row">
5238      <div class="col">
5239        
5240
5241        <div class="que-ans ">
5242          <ul class="faqGroup-faq_nEY3ph">
5243            
5244            
5245              
5246              <li>
5247                <a
5248                  href="#collapsefaq_nEY3ph-1"
5249                  data-bs-toggle="collapse"
5250                  class="questionSection"
5251                  
5252                >Healthy Prepared Low Carb Meals delivered right to your door<span class="faqDropdownArrow">
5253    <svg
5254      class="icon icon-dropdownArrow"
5255      width="13"
5256      height="9"
5257      viewBox="0 0 13 9"
5258      fill="none"
5259      xmlns="http://www.w3.org/2000/svg"
5260    >
5261      <path d="M6.5 5.913 1.55.963.136 2.377 6.5 8.741l6.364-6.364L11.45.963z" fill="#000"/>
5262    </svg>
5263
5264  </span>
5265                </a>
5266                <div
5267                  class="collapse answerSection"
5268                  id="collapsefaq_nEY3ph-1"
5269                  data-parent="faqGroup-faq_nEY3ph"
5270                >
5271                  <div class="answerBlock">
5272                    <p>Thrive Meals provides healthy and fresh ready made meals, that are nutritionist designed and delivered right to your door. Our meal selections have been carefully built by our nutritionists and dieticians to cater for high protein, keto, gluten-free, weight loss and low carb meals. Whatever your goal is such as losing weight, gaining muscle or performing at your peak, our range of healthy prepared meals, keto and low carb snacks keep you striving towards your goals.
5273
5274Leave the meal prep delivery to the professionals so you can do you. 
5275
5276Our meal delivery menu is made fresh to order and is delivered across Australia, 7 days a week.</p>
5277                    
5278                  </div>
5279                </div>
5280              </li>
5281            
5282          </ul>
5283        </div>
5284      </div>
5285    </div>
5286  </div>
5287</section>
5288
5289</div><!-- END content_for_index -->
5290    </main>
5291    <div class="mm-fullscreen-bg"></div>
5292    <div id="shopify-section-footer" class="shopify-section"><section class="footer-top-area"  data-section-id="footer" data-section-type="app-section-feed" data-section-settings=''>
5293  <div class="container">
5294    <div class="footer-list-wrap">
5295      <ul class="footer-list">
5296        <li class="ftlink-li footer-info">
5297          <div class="logo"><a href="https://thrivemeals.com.au" class="theme-footer-logo">
5298  <img src="//thrivemeals.com.au/cdn/shop/files/thriveDark.png?v=1688699364" class="img-fluid" alt="Thrive Meals" style="width: 105px;">
5299</a><style>
5300  /* logo css */
5301  a.theme-footer-logo {
5302    display: block;
5303  }
5304  
5305  /* store css */
5306  a.shop-footer-name {
5307    display: block;
5308  }
5309  a.shop-footer-name span {
5310    color: var(--color-secondary);
5311    font-size: 16px;
5312    font-weight: 600;
5313  }
5314</style></div>
5315          <div class="logo-desc">
5316            <p>We created THR1VE to transform the health and wellness of all Australians, through the delicious simplicity of real food nutrition and an active lifestyle.</p>
5317          </div>
5318          <div class="foologo_link">
5319            <ul class="">
5320              
5321              
5322            </ul>
5323          </div>
5324        </li>
5325        
5326        <li class="ftlink-li link-list ">
5327          <h2 class="ft-title">Menu & Diets</h2>
5328          <a data-bs-toggle="collapse" href="#collapse-menu-diets" class="ft-title">
5329            <span>Menu & Diets</span>
5330            <i class="ti-plus"></i>
5331          </a>
5332          <ul class="footer-sublist collapse" id="collapse-menu-diets">
5333            
5334            
5335            
5336            <li class="ftsublink-li">
5337              <a href="https://thrivemeals.com.au/collections/fresh-ready-meals" class="ft-sublink">Meals</a>
5338            </li>
5339            
5340            
5341            
5342            <li class="ftsublink-li">
5343              <a href="https://thrivemeals.com.au/pages/keto" class="ft-sublink">Ketogenic</a>
5344            </li>
5345            
5346            
5347            
5348            <li class="ftsublink-li">
5349              <a href="https://thrivemeals.com.au/pages/weight-loss" class="ft-sublink">Weight Loss</a>
5350            </li>
5351            
5352            
5353            
5354            <li class="ftsublink-li">
5355              <a href="https://thrivemeals.com.au/pages/low-carb" class="ft-sublink">Low Carb</a>
5356            </li>
5357            
5358            
5359            
5360            <li class="ftsublink-li">
5361              <a href="https://thrivemeals.com.au/pages/gluten-free" class="ft-sublink">Gluten Free</a>
5362            </li>
5363            
5364            
5365          </ul>
5366        </li>
5367        
5368        <li class="ftlink-li link-list ">
5369          <h2 class="ft-title">About Us</h2>
5370          <a data-bs-toggle="collapse" href="#collapse-about-us" class="ft-title">
5371            <span>About Us</span>
5372            <i class="ti-plus"></i>
5373          </a>
5374          <ul class="footer-sublist collapse" id="collapse-about-us">
5375            
5376            
5377            
5378            <li class="ftsublink-li">
5379              <a href="https://thrivemeals.com.au" class="ft-sublink">Home</a>
5380            </li>
5381            
5382            
5383            
5384            <li class="ftsublink-li">
5385              <a href="/pages/about-us" class="ft-sublink">About</a>
5386            </li>
5387            
5388            
5389            
5390            <li class="ftsublink-li">
5391              <a href="https://thrivemeals.com.au/pages/ndis" class="ft-sublink">NDIS</a>
5392            </li>
5393            
5394            
5395            
5396            <li class="ftsublink-li">
5397              <a href="/collections/fresh-ready-meals" class="ft-sublink">Full Menu</a>
5398            </li>
5399            
5400            
5401            
5402            <li class="ftsublink-li">
5403              <a href="https://thrivemeals.com.au/pages/subscribe-and-save" class="ft-sublink">Subscribe and Save</a>
5404            </li>
5405            
5406            
5407            
5408            <li class="ftsublink-li">
5409              <a href="/collections/gift-cards" class="ft-sublink">Gift Cards</a>
5410            </li>
5411            
5412            
5413            
5414            <li class="ftsublink-li">
5415              <a href="/blogs/news" class="ft-sublink">Blog</a>
5416            </li>
5417            
5418            
5419          </ul>
5420        </li>
5421        
5422        <li class="ftlink-li link-list policies_link">
5423          <h2 class="ft-title">Policies</h2>
5424          <a data-bs-toggle="collapse" href="#collapse-policies" class="ft-title">
5425            <span>Policies</span>
5426            <i class="ti-plus"></i>
5427          </a>
5428          <ul class="footer-sublist collapse" id="collapse-policies">
5429            
5430            
5431            
5432            <li class="ftsublink-li">
5433              <a href="/pages/privacy-policy" class="ft-sublink">Privacy Policy</a>
5434            </li>
5435            
5436            
5437            
5438            <li class="ftsublink-li">
5439              <a href="/pages/refund-policy" class="ft-sublink">Refund Policy</a>
5440            </li>
5441            
5442            
5443            
5444            <li class="ftsublink-li">
5445              <a href="/pages/terms-conditions" class="ft-sublink">Terms of Service</a>
5446            </li>
5447            
5448            
5449            
5450            <li class="ftsublink-li">
5451              <a href="https://thrivemeals.com.au/pages/where-we-deliver" class="ft-sublink">Shipping</a>
5452            </li>
5453            
5454            
5455          </ul>
5456        </li>
5457        
5458        <li class="ftlink-li link-list ">
5459          <h2 class="ft-title">Support</h2>
5460          <a data-bs-toggle="collapse" href="#collapse-support" class="ft-title">
5461            <span>Support</span>
5462            <i class="ti-plus"></i>
5463          </a>
5464          <ul class="footer-sublist collapse" id="collapse-support">
5465            
5466            
5467            
5468            <li class="ftsublink-li">
5469              <a href="https://thrivemeals.com.au/pages/contact-us" class="ft-sublink">Contact Us</a>
5470            </li>
5471            
5472            
5473            
5474            <li class="ftsublink-li">
5475              <a href="https://thrivemeals.com.au/pages/how-it-works" class="ft-sublink">How it Works</a>
5476            </li>
5477            
5478            
5479            
5480            <li class="ftsublink-li">
5481              <a href="https://thrivemeals.com.au/pages/faqs-and-contact?type=null" class="ft-sublink">FAQ</a>
5482            </li>
5483            
5484            
5485            
5486            <li class="ftsublink-li">
5487              <a href="https://thrivemeals.com.au/pages/where-we-deliver" class="ft-sublink">Shipping</a>
5488            </li>
5489            
5490            
5491            
5492            <li class="ftsublink-li">
5493              <a href="https://thrivemeals.com.au/pages/privacy-policy" class="ft-sublink">Privacy</a>
5494            </li>
5495            
5496            
5497            
5498            <li class="ftsublink-li">
5499              <a href="https://thrivemeals.com.au/pages/terms-conditions" class="ft-sublink">Terms</a>
5500            </li>
5501            
5502            
5503            
5504            <li class="ftsublink-li">
5505              <a href="https://thrivemeals.com.au/pages/refund-policy" class="ft-sublink">Returns</a>
5506            </li>
5507            
5508            
5509          </ul>
5510        </li>
5511        
5512        <li class="ftlink-li contactsec-li">
5513          <h2 class="ft-title">Contact Us</h2>
5514          <p>Have a question? We are here to help!</p>
5515<a class="fooemail" href="mailto:[email protected]">[email protected]</a>
5516<p> Call Us: (02) 7251 6686</p>
5517<a onclick="GorgiasChat.open();">Start a chat with our team</a>
5518          <div class="pt-2"><a href="javascript:void(0)" class="payment-icon">
5519    
5520    
5521    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-afterpay"><title id="pi-afterpay">Afterpay</title><path fill="#b2fce4" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path d="m27.4 6.8-2.7-1.6-2.7-1.6c-1.8-1-4.1.3-4.1 2.4v.4c0 .2.1.4.3.5l1.3.7c.4.2.8-.1.8-.5v-.8c0-.4.4-.7.8-.5l2.5 1.4 2.4 1.5c.4.2.4.7 0 .9l-2.5 1.4-2.5 1.6c-.4.2-.8-.1-.8-.5v-.4c0-2.1-2.3-3.4-4.1-2.4l-2.7 1.6-2.7 1.6c-1.8 1-1.8 3.7 0 4.7l2.7 1.6 2.7 1.6c1.8 1 4.1-.3 4.1-2.4v-.4c0-.2-.1-.4-.3-.5l-1.3-.7c-.4-.2-.8.1-.8.5v.8c0 .4-.4.7-.8.5l-2.5-1.4-2.5-1.5c-.4-.2-.4-.7 0-.9l2.5-1.4 2.5-1.4c.4-.2.8.1.8.5v.4c0 2.1 2.3 3.4 4.1 2.4l2.7-1.6 2.7-1.6c1.9-1.2 1.9-3.8.1-4.9z"/></svg>
5522    
5523    <svg version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 
55230 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" /><path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg>
5524
5525    
5526    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.
552606zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg>
5527
5528    
5529    <svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 
55290-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg>
5530    
5531    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#0071CE" style="fill:#0071CE;fill:color(display-p3 0.0000 0.4431 0.8078);fill-opacity:1;"/><path d="M3 0.5H35C36.3348 0.5 37.5 1.58692 37.5 3V21C37.5 22.4239 36.4239 23.5 35 23.5H3C1.66524 23.5 0.5 22.4131 0.5 21V3C0.5 1.57614 1.57614 0.5 3 0.5Z" stroke="black" stroke-opacity="0.07" style="stroke:black;stroke-opacity:0.07;"/><path d="M25.8662 6.33203V3H31L31.8662 5.5332L32.7334 3H37V14.2002H36.7998L34.8672 16.2656L36.7998 18.3594H37V21.2666H33.5996L31.9336 19.3994L30.2002 21.2666H19.4668V12.666H16L20.2666 3H24.4004L25.8662 6.33203ZM20.5996 20.2656H27V18.5322H22.666V17.3994H26.8662V15.666H22.666V14.5322H27V12.7988H20.5996V20.2656ZM30.5332 16.5322L27 20.2656H29.5996L31.8662 17.8662L34.0664 20.2656H36.7324L33.1992 16.4658L36.7324 12.7988H34.1328L31.8662 15.1992L29.7324 12.7988H27L30.5332 16.5322ZM17.666 11.7324H19.9326L20.5332 10.1992H23.999L24.666 11.7324H26.999L23.666 4.19922H20.999L17.666 11.7324ZM33.5996 4.19922L31.9326 8.86621L30.1992 4.19922H27V11.666H29.0664V6.39941L31 11.666H32.7998L34.7324 6.39941V11.666H36.7324V4.13281L33.5996 4.19922ZM23.2656 8.46582H21.2656L22.2656 5.99902L23.2656 8.46582Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
5532
5533    
5534    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/><path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/><path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg>
5535
5536    
5537    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/><path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778 
553716.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
5538
5539    
5540    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shop Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35.889 0C37.05 0 38 .982 38 2.182v19.636c0 1.2-.95 2.182-2.111 2.182H2.11C.95 24 0 23.018 0 21.818V2.182C0 .982.95 0 2.111 0H35.89z" fill="#5A31F4"/><path d="M9.35 11.368c-1.017-.223-1.47-.31-1.47-.705 0-.372.306-.558.92-.558.54 0 .934.238 1.225.704a.079.079 0 00.104.03l1.146-.584a.082.082 0 00.032-.114c-.475-.831-1.353-1.286-2.51-1.286-1.52 0-2.464.755-2.464 1.956 0 1.275 1.15 1.597 2.17 1.82 1.02.222 1.474.31 1.474.705 0 .396-.332.582-.993.582-.612 0-1.065-.282-1.34-.83a.08.08 0 00-.107-.035l-1.143.57a.083.083 0 00-.036.111c.454.92 1.384 1.437 2.627 1.437 1.583 0 2.539-.742 2.539-1.98s-1.155-1.598-2.173-1.82v-.003zM15.49 8.855c-.65 0-1.224.232-1.636.646a.04.04 0 01-.069-.03v-2.64a.08.08 0 00-.08-.081H12.27a.08.08 0 00-.08.082v8.194a.08.08 0 00.08.082h1.433a.08.08 0 00.081-.082v-3.594c0-.695.528-1.227 1.239-1.227.71 0 1.226.521 1.226 1.227v3.594a.08.08 0 00.081.082h1.433a.08.08 0 00.081-.082v-3.594c0-1.51-.981-2.577-2.355-2.577zM20.753 8.62c-.778 0-1.507.24-2.03.588a.082.082 0 00-.027.109l.632 1.088a.08.08 0 00.11.03 2.5 2.5 0 011.318-.366c1.25 0 2.17.891 2.17 2.068 0 1.003-.736 1.745-1.669 1.745-.76 0-1.288-.446-1.288-1.077 0-.361.152-.657.548-.866a.08.08 0 00.032-.113l-.596-1.018a.08.08 0 00-.098-.035c-.799.299-1.359 1.018-1.359 1.984 0 1.46 1.152 2.55 2.76 2.55 1.877 0 3.227-1.313 3.227-3.195 0-2.018-1.57-3.492-3.73-3.492zM28.675 8.843c-.724 0-1.373.27-1.845.746-.026.027-.069.007-.069-.029v-.572a.08.08 0 00-.08-.082h-1.397a.08.08 0 00-.08.082v8.182a.08.08 0 00.08.081h1.433a.08.08 0 00.081-.081v-2.683c0-.036.043-.054.069-.03a2.6 2.6 0 001.808.7c1.682 0 2.993-1.373 2.993-3.157s-1.313-3.157-2.993-3.157zm-.271 4.929c-.956 0-1.681-.768-1.681-1.783s.723-1.783 1.681-1.783c.958 0 1.68.755 1.68 1.783 0 1.027-.713 1.783-1.681 1.783h.001z" fill="#fff"/></svg>
5541
5542    
5543</a>
5544<style>
5545    .payment-icon svg {
5546        width: 45px;
5547        height: auto;
5548        
5549        margin-right: 5px;
5550        
5551        display: inline-block;
5552    }
5553    .payment-icon svg:last-child{
5554        
5555        margin-right: 0px;
5556        
5557    }
5558</style></div>
5559        </li>
5560      </ul><div class="footer-sub-note">
5561        <p>Subscriptions auto-renew — edit, skip or cancel before <strong>Tuesday 9:00pm (AEST)</strong>; we bill the following <strong>Monday 9:30am</strong>. New one-off orders are also cut off <strong>Tuesday 9:00pm (AEST)</strong>.</p>
5562      </div>
5563      <div class="copyrightSection mt-4 border-top pt-4">
5564        <div class="row justify-content-between align-items-center">
5565          <div class="col-auto"><ul class="social-icon">
5566  
5567  <li><a href="https://www.facebook.com/THR1VEME/" aria-label="Social Media Link for Thrive Meals"><i class="fa fa-facebook"></i></a></li>        
5568  
5569  
5570  <li><a href="https://www.instagram.com/Thr1ve/" aria-label="Social Media Link for Thrive Meals"><i class="fa fa-instagram"></i></a></li>        
5571     
5572  
5573  
5574  
5575  
5576  
5577   
5578</ul>
5579<style type="text/css">
5580.social-icon li{
5581  display: inline-block;
5582  
5583  padding-right: 15px;
5584  
5585}
5586.social-icon li:last-child{
5587  
5588  padding-right: 0;
5589  
5590}
5591.social-icon li a{
5592  font-size: 18px;
5593}
5594</style></div>
5595          <div class="col-auto">
5596            <div class="copyright">
5597             <p>©THR1VE 2025</p>
5598            </div>
5599          </div>
5600        </div>
5601      </div>
5602    </div>
5603  </div>
5604</section>
5605
5606<style>
5607.footer-top-area{
5608  padding-top: 40px;
5609  padding-bottom: 40px;
5610  
5611  background-color: #000000;
5612  
5613}
5614@media(max-width: 1199px) {
5615  .footer-top-area{
5616      padding-top: 50px;
5617      padding-bottom: 50px;
5618  }
5619}
5620
5621.footer-list-wrap ul.footer-list{
5622  display: flex;
5623  -ms-flex-wrap: wrap;
5624  flex-wrap: wrap;
5625  
5626  margin-left: -30px;
5627  
5628}
5629.footer-list-wrap ul.footer-list li.ftlink-li{
5630  
5631  margin-left: 30px;
5632  
5633}
5634.footer-list-wrap ul.footer-list li.ftlink-li.link-list{
5635  width: calc(11% - 30px);
5636}
5637.footer-list-wrap ul.footer-list li.ftlink-li.footer-info{
5638    width: calc(22% - 30px);
5639}
5640.contactsec-li {
5641  width: calc(34% - 30px);
5642  border-left: 1px solid;
5643  padding-left: 40px;
5644}
5645/* .footer-list-wrap ul.footer-list li.ftlink-li .logo-desc {
5646  margin-top: 30px;
5647} */
5648.footer-list-wrap ul.footer-list li.ftlink-li .logo-desc p{
5649  font-size: 14px;
5650  width: 70%;
5651}
5652.footer-list-wrap ul.footer-list li.ftlink-li .footer-social{
5653  margin-top: 24px;
5654}
5655.footer-list-wrap ul.footer-list li.ftlink-li.footer-info .logo h2,
5656.footer-list-wrap ul.footer-list li.ftlink-li .ft-title{
5657  font-size: 20px;
5658  line-height: 1;
5659  font-weight: 400;
5660  text-transform: capitalize;
5661  text-decoration: underline;
5662}
5663.footer-list-wrap ul.footer-list li.ftlink-li a.ft-title{
5664  display: none;
5665}
5666.footer-list-wrap ul.footer-list li.ftlink-li .footer-sublist.collapse:not(.show){
5667  display: block;
5668}
5669/* .footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist{
5670  margin-top: 30px;
5671} */
5672.footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist li.ftsublink-li,
5673.footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist li.ftcon-li{
5674  margin-top: 13px;
5675}
5676
5677.footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist li.ftsublink-li:first-child{
5678  margin-top: 0px;
5679}
5680.footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist li.ftsublink-li a{
5681  color: #fff;
5682  font-size: 16px;
5683  text-decoration: underline;
5684}
5685.footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist li.ftsublink-li a:hover{
5686  color: #4cb849;
5687}
5688.footer-list-wrap ul.footer-list li.ftlink-li.insta-li h2.ft-title{
5689  display: block;
5690}
5691.footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist .insta-wrap{
5692  margin-top: 23px;
5693}
5694.footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li p.ft-description {
5695  font-size: 14px;
5696  margin-top: 30px;
5697}
5698.footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li .news-content{
5699  margin-top: 30px;
5700}
5701.footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li .subscribe-block {
5702  position: relative;
5703}
5704.footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li .subscribe-block input{
5705  width: 100%;
5706  color: #6f6f6f;
5707  font-size: 14px;
5708  padding: 15px;
5709  border: none;
5710  background-color: #fff;
5711}
5712
5713.footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li .subscribe-block button{
5714  font-size: 20px;
5715  line-height: 1;
5716  position: absolute;
5717  
5718  right: 15px;
5719  
5720  bottom: 50%;
5721  transform: translateY(50%);
5722}
5723.footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li .subscribe-block button:hover{
5724  color: #4cb849;
5725}
5726.footer-list-wrap .social-icon {
5727    margin-top: 5px;
5728}
5729.footer-top-area ul li a {
5730    font-size: 14px;
5731    text-decoration: underline;
5732}
5733ul.social-icon li a i {
5734    color: #62be40;
5735}
5736.fa-instagram:before, .fa-facebook-f:before, .fa-facebook:before {
5737    font-size: 30px;
5738}
5739.contactsec-li p {
5740  font-size: 16px;
5741  margin: 10px 0 0 0;
5742}
5743.contactsec-li a {
5744font-size: 16px;
5745color: #62be40 !important;
5746}
5747.contactsec-li a.payment-icon {
5748  margin-top: 11px;
5749  display: block;
5750  text-decoration: none;
5751}
5752.footer-list-wrap ul.footer-list li.ftlink-li .ft-title {
5753    display: none;
5754}
5755.footer-list-wrap ul.footer-list li.contactsec-li h2.ft-title {
5756    display: block !important;
5757  }
5758
5759@media (max-width : 1199px){
5760 .contactsec-li {
5761    border-left: none;
5762    padding-left: 0;
5763}
5764  .footer-list-wrap .social-icon,
5765  .footer-list-wrap ul.footer-list li.ftlink-li .logo-desc{
5766    margin-top: 15px;
5767  }
5768  .footer-list-wrap ul.footer-list li.ftlink-li .logo-desc p{
5769    width: 100%;
5770  }
5771  .footer-list-wrap ul.footer-list li.ftlink-li .ft-title{
5772    font-size: 16px;
5773  }
5774  .footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist li.ftsublink-li a{
5775    font-size: 16px;
5776  }
5777}
5778@media (max-width : 991px){
5779  .footer-list-wrap ul.footer-list li.ftlink-li.footer-info{
5780    margin-bottom: 30px;
5781  }
5782  .footer-list-wrap ul.footer-list li.ftlink-li.footer-info,
5783  .footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li,
5784  .footer-list-wrap ul.footer-list li.ftlink-li.link-list,
5785  .footer-list-wrap ul.footer-list li.ftlink-li{
5786    width: calc(100% - 30px);
5787  }
5788  .footer-list-wrap ul.footer-list li.ftlink-li .footer-social{
5789    margin: 20px 0;
5790  }
5791  .footer-list-wrap ul.footer-list li.contactsec-li h2.ft-title {
5792    display: block !important;
5793    margin-top: 10px;
5794  }
5795  .footer-list-wrap ul.footer-list li.ftlink-li h2.ft-title{
5796    display: none;
5797    text-transform: uppercase;
5798  }
5799  .footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li {
5800    margin-top: 30px;
5801  }
5802  .footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li h2.ft-title{
5803    display: block;
5804    font-size: 16px;
5805  }
5806  .footer-list-wrap ul.footer-list li.ftlink-li a.ft-title{
5807    display: flex;
5808    font-size: 16px;
5809    align-items: center;
5810    justify-content: space-between;
5811    padding: 15px 0;
5812    border-bottom: 1px solid rgba(0,0,0,0.1);
5813  }
5814  .footer-list-wrap ul.footer-list li.ftlink-li a.ft-title i{
5815    font-size: 14px;
5816  }
5817  .footer-list-wrap ul.footer-list li.ftlink-li a.ft-title[aria-expanded="true"] i:before{
5818    content: "\e622";
5819  }
5820  .footer-list-wrap ul.footer-list li.ftlink-li .footer-sublist{
5821    
5822    text-align: left;
5823    
5824  }
5825  .footer-list-wrap ul.footer-list li.ftlink-li .footer-sublist.collapse:not(.show){
5826    display: none;
5827  }
5828  .footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist{
5829    margin-top: 15px;
5830  }
5831  .footer-list-wrap ul.footer-list li.ftlink-li ul.footer-sublist li.ftsublink-li a{
5832    font-size: 14px;
5833  }
5834  .footer-list-wrap ul.footer-list li.ftlink-li.insta-li ul.footer-sublist{
5835    margin-top: 10px;
5836    border-top: 1px solid rgba(0,0,0,0.1);
5837  }
5838  .footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li .subscribe-block input{
5839    font-size: 14px;
5840  }
5841  .footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li p.ft-description{
5842    margin-top: 15px;
5843  }
5844  .footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li .news-content{
5845    margin-top: 15px;
5846  }
5847}
5848@media (max-width : 767px){
5849  .contactsec-li {
5850    border-left: none;
5851    padding-left: 0;
5852}
5853  .footer-list-wrap ul.footer-list{
5854    
5855    margin-left: -15px;
5856    
5857  }
5858  .footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li,
5859  .footer-list-wrap ul.footer-list li.ftlink-li.link-list,
5860  .footer-list-wrap ul.footer-list li.ftlink-li{
5861    width: calc(100% - 15px);
5862    
5863    margin-left: 15px;
5864    
5865  }
5866  .footer-list-wrap ul.footer-list li.ftlink-li.footer-info p{
5867    max-width: 100%;
5868  }
5869  .footer-list-wrap ul.footer-list li.ftlink-li a.ft-title{
5870    font-size: 14px;
5871  }
5872  .footer-list-wrap ul.footer-list li.ftlink-li.newsletter-li h2.ft-title{
5873    font-size: 14px;
5874  }
5875}
5876</style></div>
5877
5878    
5879      <div id="shopify-section-postal-code" class="shopify-section">
5880
5881</div>
5882    
5883
5884    
5885      <div>
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896<div class="mini-cart col-12 col-md-8 col-lg-7 col-xl-5 container" id="mini-cart" style="display:none;"><div id="loading-screen" style="display: none;">
5897    <div class="thr-colo" role="status" aria-live="polite">
5898      <div class="thr-colo-ring">
5899        <svg class="thr-colo-spin" width="60" height="60" viewBox="0 0 60 60" aria-hidden="true">
5900          <circle cx="30" cy="30" r="26" fill="none" stroke="#e8f5e2" stroke-width="4"></circle>
5901          <circle cx="30" cy="30" r="26" fill="none" stroke="#54B52A" stroke-width="4" stroke-linecap="round" stroke-dasharray="40 200"></circle>
5902        </svg>
5903        <span class="thr-colo-mark"><span>1</span>V</span>
5904      </div>
5905      <div class="thr-colo-title">Taking you to <span>checkout</span>…</div>
5906      <div class="thr-colo-sub">Securing your order</div>
5907      <div class="thr-colo-list"><div class="thr-colo-item" style="animation-delay:0ms">
5908          <span class="thr-colo-tick"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"></path></svg></span>
5909          <span>Dietitian approved</span>
5910        </div><div class="thr-colo-item" style="animation-delay:55ms">
5911          <span class="thr-colo-tick"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"></path></svg></span>
5912          <span>Trusted by 30,000+ Australians</span>
5913        </div><div class="thr-colo-item" style="animation-delay:110ms">
5914          <span class="thr-colo-tick"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"></path></svg></span>
5915          <span>Built on 150+ years of combined food experience</span>
5916        </div><div class="thr-colo-item" style="animation-delay:165ms">
5917          <span class="thr-colo-tick"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"></path></svg></span>
5918          <span>Independently HACCP certified</span>
5919        </div><div class="thr-colo-item" style="animation-delay:220ms">
5920          <span class="thr-colo-tick"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"></path></svg></span>
5921          <span>Every batch traceable</span>
5922        </div><div class="thr-colo-item" style="animation-delay:275ms">
5923          <span class="thr-colo-tick"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"></path></svg></span>
5924          <span>Made fresh, never frozen</span>
5925        </div><div class="thr-colo-item" style="animation-delay:330ms">
5926          <span class="thr-colo-tick"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"></path></svg></span>
5927          <span>Clean ingredients. No preservatives. Ever.</span>
5928        </div><div class="thr-colo-item" style="animation-delay:385ms">
5929          <span class="thr-colo-tick"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"></path></svg></span>
5930          <span>Hours of cooking saved every week</span>
5931        </div></div>
5932    </div>
5933  </div>
5934  <style>
5935    /* #loading-screen is relocated to <body> on load (escapes the drawer's transform so this fixed
5936       overlay covers the FULL viewport, including the header). Selectors are location-independent. */
5937    #loading-screen { position: fixed !important; inset: 0 !important; z-index: 2147483600 !important; background: #F4F5F6 !important; }
5938    #loading-screen:before, #loading-screen:after { content: none !important; display: none !important; background: none !important; }
5939    .thr-colo { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 26px; background: #F4F5F6; font-family: 'Montserrat', system-ui, -apple-system, sans-serif; }
5940    .thr-colo-ring { position: relative; width: 60px; height: 60px; margin-bottom: 18px; }
5941    .thr-colo-spin { position: absolute; inset: 0; animation: thrColoSpin .9s linear infinite; }
5942    @keyframes thrColoSpin { to { transform: rotate(360deg); } }
5943    .thr-colo-mark { position: absolute; inset: 0; display: grid; place-items: center; font-weight: 900; font-size: 26px; line-height: 1; letter-spacing: -1px; color: #141414; }
5944    .thr-colo-mark > span { color: #54B52A; }
5945    .thr-colo-title { font-weight: 800; font-size: 18px; text-align: center; letter-spacing: -.2px; color: #141414; }
5946    .thr-colo-title span { color: #54B52A; }
5947    .thr-colo-sub { font-size: 12.5px; color: #8a8a82; margin-top: 4px; margin-bottom: 20px; text-align: center; }
5948    .thr-colo-list { width: 100%; max-width: 320px; display: flex; flex-direction: column; gap: 9px; }
5949    .thr-colo-item { display: flex; align-items: center; gap: 10px; animation: thrColoPop .34s cubic-bezier(.2,.8,.3,1) both; }
5950    @keyframes thrColoPop { 0% { transform: translateY(7px); } 100% { transform: translateY(0); } }
5951    .thr-colo-tick { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 999px; background: #54B52A; display: grid; place-items: center; box-shadow: 0 1px 0 rgba(0,0,0,.04); }
5952    .thr-colo-item > span:last-child { font-size: 13.5px; font-weight: 600; color: #3a3a36; line-height: 1.25; }
5953    @media (prefers-reduced-motion: reduce) { .thr-colo-spin, .thr-colo-item { animation: none !important; } }
5954  </style>
5955  
5955<script>
5956    /* Relocate #loading-screen to <body> so its fixed overlay isn't trapped inside the cart drawer's
5957       transform (which scoped it below the header). Cart engine toggles it by ID — location-agnostic. */
5958    (function () {
5959      var ls = document.getElementById("loading-screen");
5960      if (ls && ls.parentNode !== document.body) document.body.appendChild(ls);
5961    })();
5962  </script>
5962<div class="cart-drawer-handle" aria-hidden="true"></div>
5963  <div class="row h-100 p-0 m-0">
5964
5965    <div class="col-lg-4 border-end d-lg-block p-0 upsell-desk-custom">
5966     <div class="upsell-products upsell-pro-custom d-flex flex-column align-items-center justify-content-between p-3 border-start productSliderSection overflow-auto max-h-100vh bg-light-green">
5967        <h6 class="mb-1">Boost your cart 🚀</h6>
5968        <div class="d-flex flex-column">
5969          
5970  
5971  
5972
5973  
5974    
5975      
5976      
5977
5978        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
5979          <img src="//thrivemeals.com.au/cdn/shop/files/Caramel_Slice_120X120_crop_center.jpg?v=1737023316" width="auto" height="auto" class="m-2 rounded m-auto" alt="Caramel Slice" />
5980          <div class="mt-auto w-100 px-2">
5981            <p class="mb-1 lh-sm fs-14">Caramel Slice</p>
5982            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
5983            </p>
5984            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
5985              
5986                <div class="product-all w-100 product-id-9882190217532 " data-product-id="9882190217532">
5987  <div class="add-cart-button d-none">
5988    <a href="javascript:void(0);" onclick="localCart.addItem(9882190217532, 50756423713084, 'Caramel Slice', '/products/low-carb-caramel-slice', '//thrivemeals.com.au/cdn/shop/files/Caramel_Slice_150X150_crop_center.jpg?v=1737023316', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
5989      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
5990      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
5991      <span class="cart-added"><i class="ion-android-done"></i></span>
5992      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
5993    </a>
5994  </div>
5995  <div class="quantity-selector d-none">
5996    <div class="upsell_quantity buttons d-flex">
5997      <div class="product-quantity" data-variant="50756423713084">
5998        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
5999          <input
6000            value="1"
6001            class="qtyinputcs"
6002            type="text"
6003            name="quantity"
6004            min="1"
6005            pattern="[0-9]*"
6006          >
6007          
6008          <span class="cusqtyspan quantity-50756423713084 quantity-var-9882190217532"
6009            >1</span
6010          >
6011        </div>
6012      </div>
6013    </div>
6014  </div>
6015</div>
6016
6017              
6018            </div>
6019          </div>
6020        </div>
6021      
6022    
6023      
6024      
6025
6026        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6027          <img src="//thrivemeals.com.au/cdn/shop/files/LowCarbBlondie_120X120_crop_center.jpg?v=1738747519" width="auto" height="auto" class="m-2 rounded m-auto" alt="Coconut Blondie" />
6028          <div class="mt-auto w-100 px-2">
6029            <p class="mb-1 lh-sm fs-14">Coconut Blondie</p>
6030            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
6031            </p>
6032            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6033              
6034                <div class="product-all w-100 product-id-9882190971196 " data-product-id="9882190971196">
6035  <div class="add-cart-button d-none">
6036    <a href="javascript:void(0);" onclick="localCart.addItem(9882190971196, 50756426596668, 'Coconut Blondie', '/products/low-carb-coconut-blondie', '//thrivemeals.com.au/cdn/shop/files/LowCarbBlondie_150X150_crop_center.jpg?v=1738747519', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6037      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6038      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6039      <span class="cart-added"><i class="ion-android-done"></i></span>
6040      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6041    </a>
6042  </div>
6043  <div class="quantity-selector d-none">
6044    <div class="upsell_quantity buttons d-flex">
6045      <div class="product-quantity" data-variant="50756426596668">
6046        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6047          <input
6048            value="1"
6049            class="qtyinputcs"
6050            type="text"
6051            name="quantity"
6052            min="1"
6053            pattern="[0-9]*"
6054          >
6055          
6056          <span class="cusqtyspan quantity-50756426596668 quantity-var-9882190971196"
6057            >1</span
6058          >
6059        </div>
6060      </div>
6061    </div>
6062  </div>
6063</div>
6064
6065              
6066            </div>
6067          </div>
6068        </div>
6069      
6070    
6071      
6072      
6073
6074        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6075          <img src="//thrivemeals.com.au/cdn/shop/files/zucciniSlice_120X120_crop_center.jpg?v=1738747422" width="auto" height="auto" class="m-2 rounded m-auto" alt="Zucchini Slice" />
6076          <div class="mt-auto w-100 px-2">
6077            <p class="mb-1 lh-sm fs-14">Zucchini Slice</p>
6078            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
6079            </p>
6080            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6081              
6082                <div class="product-all w-100 product-id-9882191364412 " data-product-id="9882191364412">
6083  <div class="add-cart-button d-none">
6084    <a href="javascript:void(0);" onclick="localCart.addItem(9882191364412, 50756427088188, 'Zucchini Slice', '/products/crustless-zucchini-slice', '//thrivemeals.com.au/cdn/shop/files/zucciniSlice_150X150_crop_center.jpg?v=1738747422', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6085      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6086      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6087      <span class="cart-added"><i class="ion-android-done"></i></span>
6088      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6089    </a>
6090  </div>
6091  <div class="quantity-selector d-none">
6092    <div class="upsell_quantity buttons d-flex">
6093      <div class="product-quantity" data-variant="50756427088188">
6094        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6095          <input
6096            value="1"
6097            class="qtyinputcs"
6098            type="text"
6099            name="quantity"
6100            min="1"
6101            pattern="[0-9]*"
6102          >
6103          
6104          <span class="cusqtyspan quantity-50756427088188 quantity-var-9882191364412"
6105            >1</span
6106          >
6107        </div>
6108      </div>
6109    </div>
6110  </div>
6111</div>
6112
6113              
6114            </div>
6115          </div>
6116        </div>
6117      
6118    
6119      
6120      
6121
6122        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6123          <img src="//thrivemeals.com.au/cdn/shop/files/MacadamiaShortbread_120X120_crop_center.jpg?v=1738747284" width="auto" height="auto" class="m-2 rounded m-auto" alt="Macadamia Shortbread" />
6124          <div class="mt-auto w-100 px-2">
6125            <p class="mb-1 lh-sm fs-14">Macadamia Shortbread</p>
6126            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
6127            </p>
6128            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6129              
6130                <div class="product-all w-100 product-id-9882192576828 " data-product-id="9882192576828">
6131  <div class="add-cart-button d-none">
6132    <a href="javascript:void(0);" onclick="localCart.addItem(9882192576828, 50756428431676, 'Macadamia Shortbread', '/products/macadamia-shortbread', '//thrivemeals.com.au/cdn/shop/files/MacadamiaShortbread_150X150_crop_center.jpg?v=1738747284', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6133      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6134      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6135      <span class="cart-added"><i class="ion-android-done"></i></span>
6136      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6137    </a>
6138  </div>
6139  <div class="quantity-selector d-none">
6140    <div class="upsell_quantity buttons d-flex">
6141      <div class="product-quantity" data-variant="50756428431676">
6142        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6143          <input
6144            value="1"
6145            class="qtyinputcs"
6146            type="text"
6147            name="quantity"
6148            min="1"
6149            pattern="[0-9]*"
6150          >
6151          
6152          <span class="cusqtyspan quantity-50756428431676 quantity-var-9882192576828"
6153            >1</span
6154          >
6155        </div>
6156      </div>
6157    </div>
6158  </div>
6159</div>
6160
6161              
6162            </div>
6163          </div>
6164        </div>
6165      
6166    
6167      
6168      
6169
6170        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6171          <img src="//thrivemeals.com.au/cdn/shop/files/BlueberryMuffin1_120X120_crop_center.jpg?v=1737023439" width="auto" height="auto" class="m-2 rounded m-auto" alt="Berry Muffin" />
6172          <div class="mt-auto w-100 px-2">
6173            <p class="mb-1 lh-sm fs-14">Berry Muffin</p>
6174            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
6175            </p>
6176            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6177              
6178                <div class="product-all w-100 product-id-8969868312892 " data-product-id="8969868312892">
6179  <div class="add-cart-button d-none">
6180    <a href="javascript:void(0);" onclick="localCart.addItem(8969868312892, 48069527339324, 'Berry Muffin', '/products/blueberry-muffin', '//thrivemeals.com.au/cdn/shop/files/BlueberryMuffin1_150X150_crop_center.jpg?v=1737023439', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6181      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6182      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6183      <span class="cart-added"><i class="ion-android-done"></i></span>
6184      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6185    </a>
6186  </div>
6187  <div class="quantity-selector d-none">
6188    <div class="upsell_quantity buttons d-flex">
6189      <div class="product-quantity" data-variant="48069527339324">
6190        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6191          <input
6192            value="1"
6193            class="qtyinputcs"
6194            type="text"
6195            name="quantity"
6196            min="1"
6197            pattern="[0-9]*"
6198          >
6199          
6200          <span class="cusqtyspan quantity-48069527339324 quantity-var-8969868312892"
6201            >1</span
6202          >
6203        </div>
6204      </div>
6205    </div>
6206  </div>
6207</div>
6208
6209              
6210            </div>
6211          </div>
6212        </div>
6213      
6214    
6215      
6216      
6217
6218        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6219          <img src="//thrivemeals.com.au/cdn/shop/files/ChocBrownie34_120X120_crop_center.jpg?v=1737023381" width="auto" height="auto" class="m-2 rounded m-auto" alt="Chocolate Brownie" />
6220          <div class="mt-auto w-100 px-2">
6221            <p class="mb-1 lh-sm fs-14">Chocolate Brownie</p>
6222            <p class="fs-16 fw-bold comparePriceOuter">$3.95   
6223            </p>
6224            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6225              
6226                <div class="product-all w-100 product-id-8969884631356 " data-product-id="8969884631356">
6227  <div class="add-cart-button d-none">
6228    <a href="javascript:void(0);" onclick="localCart.addItem(8969884631356, 48069558174012, 'Chocolate Brownie', '/products/keto-brownie', '//thrivemeals.com.au/cdn/shop/files/ChocBrownie34_150X150_crop_center.jpg?v=1737023381', 395, 395, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6229      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6230      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6231      <span class="cart-added"><i class="ion-android-done"></i></span>
6232      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6233    </a>
6234  </div>
6235  <div class="quantity-selector d-none">
6236    <div class="upsell_quantity buttons d-flex">
6237      <div class="product-quantity" data-variant="48069558174012">
6238        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6239          <input
6240            value="1"
6241            class="qtyinputcs"
6242            type="text"
6243            name="quantity"
6244            min="1"
6245            pattern="[0-9]*"
6246          >
6247          
6248          <span class="cusqtyspan quantity-48069558174012 quantity-var-8969884631356"
6249            >1</span
6250          >
6251        </div>
6252      </div>
6253    </div>
6254  </div>
6255</div>
6256
6257              
6258            </div>
6259          </div>
6260        </div>
6261      
6262    
6263      
6264      
6265
6266        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6267          <img src="//thrivemeals.com.au/cdn/shop/files/Nutessa_Slice_120X120_crop_center.jpg?v=1737074717" width="auto" height="auto" class="m-2 rounded m-auto" alt="Nutessa Slice" />
6268          <div class="mt-auto w-100 px-2">
6269            <p class="mb-1 lh-sm fs-14">Nutessa Slice</p>
6270            <p class="fs-16 fw-bold comparePriceOuter">$3.95   
6271            </p>
6272            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6273              
6274                <div class="product-all w-100 product-id-8219781759292 " data-product-id="8219781759292">
6275  <div class="add-cart-button d-none">
6276    <a href="javascript:void(0);" onclick="localCart.addItem(8219781759292, 44799334580540, 'Nutessa Slice', '/products/nutessa-slice', '//thrivemeals.com.au/cdn/shop/files/Nutessa_Slice_150X150_crop_center.jpg?v=1737074717', 395, 395, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6277      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6278      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6279      <span class="cart-added"><i class="ion-android-done"></i></span>
6280      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6281    </a>
6282  </div>
6283  <div class="quantity-selector d-none">
6284    <div class="upsell_quantity buttons d-flex">
6285      <div class="product-quantity" data-variant="44799334580540">
6286        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6287          <input
6288            value="1"
6289            class="qtyinputcs"
6290            type="text"
6291            name="quantity"
6292            min="1"
6293            pattern="[0-9]*"
6294          >
6295          
6296          <span class="cusqtyspan quantity-44799334580540 quantity-var-8219781759292"
6297            >1</span
6298          >
6299        </div>
6300      </div>
6301    </div>
6302  </div>
6303</div>
6304
6305              
6306            </div>
6307          </div>
6308        </div>
6309      
6310    
6311      
6312      
6313
6314        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6315          <img src="//thrivemeals.com.au/cdn/shop/files/106_120X120_crop_center.png?v=1744607550" width="auto" height="auto" class="m-2 rounded m-auto" alt="Chicken Veggie Pizza" />
6316          <div class="mt-auto w-100 px-2">
6317            <p class="mb-1 lh-sm fs-14">Chicken Veggie Pizza</p>
6318            <p class="fs-16 fw-bold comparePriceOuter">$9.95   
6319            </p>
6320            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6321              
6322                <div class="product-all w-100 product-id-9995289821500 " data-product-id="9995289821500">
6323  <div class="add-cart-button d-none">
6324    <a href="javascript:void(0);" onclick="localCart.addItem(9995289821500, 51601956700476, 'Chicken Veggie Pizza', '/products/chickenveg-pizza', '//thrivemeals.com.au/cdn/shop/files/106_150X150_crop_center.png?v=1744607550', 995, 995, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6325      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6326      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6327      <span class="cart-added"><i class="ion-android-done"></i></span>
6328      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6329    </a>
6330  </div>
6331  <div class="quantity-selector d-none">
6332    <div class="upsell_quantity buttons d-flex">
6333      <div class="product-quantity" data-variant="51601956700476">
6334        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6335          <input
6336            value="1"
6337            class="qtyinputcs"
6338            type="text"
6339            name="quantity"
6340            min="1"
6341            pattern="[0-9]*"
6342          >
6343          
6344          <span class="cusqtyspan quantity-51601956700476 quantity-var-9995289821500"
6345            >1</span
6346          >
6347        </div>
6348      </div>
6349    </div>
6350  </div>
6351</div>
6352
6353              
6354            </div>
6355          </div>
6356        </div>
6357      
6358    
6359      
6360      
6361
6362        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6363          <img src="//thrivemeals.com.au/cdn/shop/files/107_120X120_crop_center.png?v=1744607020" width="auto" height="auto" class="m-2 rounded m-auto" alt="Pepperoni Pizza" />
6364          <div class="mt-auto w-100 px-2">
6365            <p class="mb-1 lh-sm fs-14">Pepperoni Pizza</p>
6366            <p class="fs-16 fw-bold comparePriceOuter">$9.95   
6367            </p>
6368            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6369              
6370                <div class="product-all w-100 product-id-9995289854268 " data-product-id="9995289854268">
6371  <div class="add-cart-button d-none">
6372    <a href="javascript:void(0);" onclick="localCart.addItem(9995289854268, 51601956733244, 'Pepperoni Pizza', '/products/mammamia-pizza', '//thrivemeals.com.au/cdn/shop/files/107_150X150_crop_center.png?v=1744607020', 995, 995, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6373      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6374      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6375      <span class="cart-added"><i class="ion-android-done"></i></span>
6376      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6377    </a>
6378  </div>
6379  <div class="quantity-selector d-none">
6380    <div class="upsell_quantity buttons d-flex">
6381      <div class="product-quantity" data-variant="51601956733244">
6382        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6383          <input
6384            value="1"
6385            class="qtyinputcs"
6386            type="text"
6387            name="quantity"
6388            min="1"
6389            pattern="[0-9]*"
6390          >
6391          
6392          <span class="cusqtyspan quantity-51601956733244 quantity-var-9995289854268"
6393            >1</span
6394          >
6395        </div>
6396      </div>
6397    </div>
6398  </div>
6399</div>
6400
6401              
6402            </div>
6403          </div>
6404        </div>
6405      
6406    
6407      
6408      
6409
6410        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6411          <img src="//thrivemeals.com.au/cdn/shop/files/SnackGroup13_120X120_crop_center.jpg?v=1741136946" width="auto" height="auto" class="m-2 rounded m-auto" alt="Variety Snack Bundle" />
6412          <div class="mt-auto w-100 px-2">
6413            <p class="mb-1 lh-sm fs-14">Variety Snack Bundle</p>
6414            <p class="fs-16 fw-bold comparePriceOuter">$29.95   
6415            </p>
6416            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6417              
6418                <div class="product-all w-100 product-id-9604639260988 " data-product-id="9604639260988">
6419  <div class="add-cart-button d-none">
6420    <a href="javascript:void(0);" onclick="localCart.addItem(9604639260988, 49814596682044, 'Variety Snack Bundle', '/products/snack-bundle', '//thrivemeals.com.au/cdn/shop/files/SnackGroup13_150X150_crop_center.jpg?v=1741136946', 2995, 2995, 1, 'Bundle', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6421      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6422      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6423      <span class="cart-added"><i class="ion-android-done"></i></span>
6424      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6425    </a>
6426  </div>
6427  <div class="quantity-selector d-none">
6428    <div class="upsell_quantity buttons d-flex">
6429      <div class="product-quantity" data-variant="49814596682044">
6430        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6431          <input
6432            value="1"
6433            class="qtyinputcs"
6434            type="text"
6435            name="quantity"
6436            min="1"
6437            pattern="[0-9]*"
6438          >
6439          
6440          <span class="cusqtyspan quantity-49814596682044 quantity-var-9604639260988"
6441            >1</span
6442          >
6443        </div>
6444      </div>
6445    </div>
6446  </div>
6447</div>
6448
6449              
6450            </div>
6451          </div>
6452        </div>
6453      
6454    
6455      
6456      
6457
6458        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6459          <img src="//thrivemeals.com.au/cdn/shop/files/Snack_Bundle_120X120_crop_center.png?v=1741136946" width="auto" height="auto" class="m-2 rounded m-auto" alt="Saver Snack Bundle" />
6460          <div class="mt-auto w-100 px-2">
6461            <p class="mb-1 lh-sm fs-14">Saver Snack Bundle</p>
6462            <p class="fs-16 fw-bold comparePriceOuter">$11.95   
6463            </p>
6464            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6465              
6466                <div class="product-all w-100 product-id-9937929437500 " data-product-id="9937929437500">
6467  <div class="add-cart-button d-none">
6468    <a href="javascript:void(0);" onclick="localCart.addItem(9937929437500, 51432648343868, 'Saver Snack Bundle', '/products/saver-snack-bundle', '//thrivemeals.com.au/cdn/shop/files/Snack_Bundle_150X150_crop_center.png?v=1741136946', 1195, 1195, 1, 'Bundle', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6469      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6470      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6471      <span class="cart-added"><i class="ion-android-done"></i></span>
6472      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6473    </a>
6474  </div>
6475  <div class="quantity-selector d-none">
6476    <div class="upsell_quantity buttons d-flex">
6477      <div class="product-quantity" data-variant="51432648343868">
6478        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6479          <input
6480            value="1"
6481            class="qtyinputcs"
6482            type="text"
6483            name="quantity"
6484            min="1"
6485            pattern="[0-9]*"
6486          >
6487          
6488          <span class="cusqtyspan quantity-51432648343868 quantity-var-9937929437500"
6489            >1</span
6490          >
6491        </div>
6492      </div>
6493    </div>
6494  </div>
6495</div>
6496
6497              
6498            </div>
6499          </div>
6500        </div>
6501      
6502    
6503      
6504      
6505
6506        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6507          <img src="//thrivemeals.com.au/cdn/shop/files/Quest_TortillaStyle-ProteinChips_32g_ChiliLimeFlavour_120X120_crop_center.png?v=1758599025" width="auto" height="auto" class="m-2 rounded m-auto" alt="Quest Chips" />
6508          <div class="mt-auto w-100 px-2">
6509            <p class="mb-1 lh-sm fs-14">Quest Chips</p>
6510            <p class="fs-16 fw-bold comparePriceOuter">$5.95   
6511            </p>
6512            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6513              
6514                <div class="product-all w-100 product-id-10167998513468 " data-product-id="10167998513468">
6515  <div class="add-cart-button d-none">
6516    <a href="javascript:void(0);" onclick="localCart.addItem(10167998513468, 52204785762620, 'Quest Chips', '/products/quest-protein-chips-tortilla-style-chili-lime-flavour', '//thrivemeals.com.au/cdn/shop/files/Quest_TortillaStyle-ProteinChips_32g_ChiliLimeFlavour_150X150_crop_center.png?v=1758599025', 595, 595, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6517      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6518      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6519      <span class="cart-added"><i class="ion-android-done"></i></span>
6520      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6521    </a>
6522  </div>
6523  <div class="quantity-selector d-none">
6524    <div class="upsell_quantity buttons d-flex">
6525      <div class="product-quantity" data-variant="52204785762620">
6526        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6527          <input
6528            value="1"
6529            class="qtyinputcs"
6530            type="text"
6531            name="quantity"
6532            min="1"
6533            pattern="[0-9]*"
6534          >
6535          
6536          <span class="cusqtyspan quantity-52204785762620 quantity-var-10167998513468"
6537            >1</span
6538          >
6539        </div>
6540      </div>
6541    </div>
6542  </div>
6543</div>
6544
6545              
6546            </div>
6547          </div>
6548        </div>
6549      
6550    
6551      
6552      
6553
6554        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6555          <img src="//thrivemeals.com.au/cdn/shop/files/Quest_TortillaStyle-ProteinChips_32g_NachoCheese_120X120_crop_center.png?v=1758600266" width="auto" height="auto" class="m-2 rounded m-auto" alt="Quest Chips" />
6556          <div class="mt-auto w-100 px-2">
6557            <p class="mb-1 lh-sm fs-14">Quest Chips</p>
6558            <p class="fs-16 fw-bold comparePriceOuter">$5.95   
6559            </p>
6560            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6561              
6562                <div class="product-all w-100 product-id-10168002117948 " data-product-id="10168002117948">
6563  <div class="add-cart-button d-none">
6564    <a href="javascript:void(0);" onclick="localCart.addItem(10168002117948, 52204828000572, 'Quest Chips', '/products/quest-protein-chips-tortilla-style-nacho-cheese', '//thrivemeals.com.au/cdn/shop/files/Quest_TortillaStyle-ProteinChips_32g_NachoCheese_150X150_crop_center.png?v=1758600266', 595, 595, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6565      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6566      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6567      <span class="cart-added"><i class="ion-android-done"></i></span>
6568      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6569    </a>
6570  </div>
6571  <div class="quantity-selector d-none">
6572    <div class="upsell_quantity buttons d-flex">
6573      <div class="product-quantity" data-variant="52204828000572">
6574        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6575          <input
6576            value="1"
6577            class="qtyinputcs"
6578            type="text"
6579            name="quantity"
6580            min="1"
6581            pattern="[0-9]*"
6582          >
6583          
6584          <span class="cusqtyspan quantity-52204828000572 quantity-var-10168002117948"
6585            >1</span
6586          >
6587        </div>
6588      </div>
6589    </div>
6590  </div>
6591</div>
6592
6593              
6594            </div>
6595          </div>
6596        </div>
6597      
6598    
6599      
6600      
6601
6602        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6603          <img src="//thrivemeals.com.au/cdn/shop/files/Gemini_Generated_Image_3fc5us3fc5us3fc5_transparent_064ea253-f2ff-4038-8951-424a195c3cc1_120X120_crop_center.png?v=1781165345" width="auto" height="auto" class="m-2 rounded m-auto" alt="Peanut Granola" />
6604          <div class="mt-auto w-100 px-2">
6605            <p class="mb-1 lh-sm fs-14">Peanut Granola</p>
6606            <p class="fs-16 fw-bold comparePriceOuter">$9.95   
6607            </p>
6608            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6609              
6610                <div class="product-all w-100 product-id-10142720983356 " data-product-id="10142720983356">
6611  <div class="add-cart-button d-none">
6612    <a href="javascript:void(0);" onclick="localCart.addItem(10142720983356, 52093242704188, 'Peanut Granola', '/products/peanut-granola', '//thrivemeals.com.au/cdn/shop/files/Gemini_Generated_Image_3fc5us3fc5us3fc5_transparent_064ea253-f2ff-4038-8951-424a195c3cc1_150X150_crop_center.png?v=1781165345', 995, 995, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6613      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6614      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6615      <span class="cart-added"><i class="ion-android-done"></i></span>
6616      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6617    </a>
6618  </div>
6619  <div class="quantity-selector d-none">
6620    <div class="upsell_quantity buttons d-flex">
6621      <div class="product-quantity" data-variant="52093242704188">
6622        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6623          <input
6624            value="1"
6625            class="qtyinputcs"
6626            type="text"
6627            name="quantity"
6628            min="1"
6629            pattern="[0-9]*"
6630          >
6631          
6632          <span class="cusqtyspan quantity-52093242704188 quantity-var-10142720983356"
6633            >1</span
6634          >
6635        </div>
6636      </div>
6637    </div>
6638  </div>
6639</div>
6640
6641              
6642            </div>
6643          </div>
6644        </div>
6645      
6646    
6647      
6648      
6649
6650        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
6651          <img src="//thrivemeals.com.au/cdn/shop/files/Gemini_Generated_Image_pwc5fjpwc5fjpwc5_transparent_120X120_crop_center.png?v=1781165219" width="auto" height="auto" class="m-2 rounded m-auto" alt="Almond Granola" />
6652          <div class="mt-auto w-100 px-2">
6653            <p class="mb-1 lh-sm fs-14">Almond Granola</p>
6654            <p class="fs-16 fw-bold comparePriceOuter">$9.95   
6655            </p>
6656            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
6657              
6658                <div class="product-all w-100 product-id-10142721278268 " data-product-id="10142721278268">
6659  <div class="add-cart-button d-none">
6660    <a href="javascript:void(0);" onclick="localCart.addItem(10142721278268, 52093247619388, 'Almond Granola', '/products/almond-granola', '//thrivemeals.com.au/cdn/shop/files/Gemini_Generated_Image_pwc5fjpwc5fjpwc5_transparent_150X150_crop_center.png?v=1781165219', 995, 995, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
6661      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
6662      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
6663      <span class="cart-added"><i class="ion-android-done"></i></span>
6664      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
6665    </a>
6666  </div>
6667  <div class="quantity-selector d-none">
6668    <div class="upsell_quantity buttons d-flex">
6669      <div class="product-quantity" data-variant="52093247619388">
6670        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
6671          <input
6672            value="1"
6673            class="qtyinputcs"
6674            type="text"
6675            name="quantity"
6676            min="1"
6677            pattern="[0-9]*"
6678          >
6679          
6680          <span class="cusqtyspan quantity-52093247619388 quantity-var-10142721278268"
6681            >1</span
6682          >
6683        </div>
6684      </div>
6685    </div>
6686  </div>
6687</div>
6688
6689              
6690            </div>
6691          </div>
6692        </div>
6693      
6694    
6695  
6696
6697        </div>
6698      </div>
6699    </div>
6700    
6701    <div class="col-lg-8 ps-0 d-flex flex-column p-0 h-100 main-cart-container">
6702      
6703
6704
6705   <div class="flex-grow-1 overflow-auto">
6706
6707    
6708    <style>
6709  #mini-cart .timerContainer.pill-static .cutoff-note {
6710    margin: 0;
6711  }
6712  #mini-cart .timerContainer.pill-static {
6713    flex-direction: row;
6714    align-items: center;
6715  }
6716</style><div class="timerContainer pill-static d-flex flex-column gap-2 not_added">
6717  <div class="timerOuter">
6718    <p class="cutoff-note fs-11 mb-0">Edit this order until <strong>Tuesday 9:00pm (AEST)</strong></p>
6719  </div>
6720</div>
6721<div class="cart-plan-strip d-none"  style="display:none;">
6722      <div class="cart-plan-strip-main">
6723        <div class="cart-plan-strip-text">
6724          <div class="cart-plan-strip-title"></div>
6725          <div class="cart-plan-strip-sub"></div>
6726        </div><a href="/pages/build-your-box" class="cart-plan-strip-change" data-action="change-plan" role="button">Change</a>
6727      </div>
6728      <div class="cart-plan-strip-note d-none">
6729        <span class="cart-plan-strip-note-icon" aria-hidden="true"></span>
6730        <span class="cart-plan-strip-note-text"></span>
6731      </div>
6732    </div>
6733    <div class="cartHead d-flex align-items-center justify-content-between py-1">
6734      <div class="d-flex align-items-center">
6735        <div class="cartTitle">
6736          <p>Your box</p>
6737        </div>
6738        <a href="/collections/fresh-ready-meals" class="text-green addmore">+ Add More Items</a>
6739      </div>
6740      <a href="javascript:void(0)" class="shopping-cart-close">
6741        <i class="ion-close-round"></i>
6742      </a>
6743    </div>
6744    <div class="cartBody pm-3">
6745      <div class="nonStickyBOttom px-2"><div class="cart-tempty-title emptyCArt"  style="display:block;">
6746          <i class="icon-handbag"></i>
6747          <p class="text-center mb-4">You have no items in your cart</p>
6748          <div class="empty-cart-actions">
6749            <a href="/collections/fresh-ready-meals" class="btn btn-style3">Browse the menu</a>
6750            <a href="/collections/supplements" class="btn btn-style3 btn-outline-empty">Browse supplements</a>
6751          </div>
6752        </div>
6753        <div id="cart-item-title" class="cart-item-title"  style="display:none;">
6754          <div class="d-flex align-items-center justify-content-between my-1">
6755            <p class="p-0 countOuterBOx fs-16">
6756              <span class="cart-count-desc fs-16">Items</span>
6757              <span class="cart-count-item bigcounter fs-16">0</span>
6758              <span class="cart-count-desc fs-16"></span>
6759            </p>
6760            <a class="p-0" onclick="localCart.clearCartDataLocal();" href="javascript:void(0);">Clear Cart</a>
6761          </div>
6762        </div><div class="alacarte-eyebrow d-none"  style="display:none;">
6763          <span class="alacarte-eyebrow-title">À la carte meals · <span class="alacarte-filled">0</span></span><span class="alacarte-eyebrow-nudge d-none"></span>
6764        </div><div class="cart-break-nudge d-none"  style="display:none;">
6765          <div class="cart-break-nudge-main">
6766            <div class="cart-break-nudge-text"></div>
6767            <div class="cart-break-nudge-sub"></div>
6768          </div>
6769          <button type="button" class="cart-break-nudge-cta" data-action="add-meals">Add more</button>
6770        </div>
6771        <ul id="cart-item-wrap" class="cart-item-loop cart-item-wrap"  style="display:none;">
6772        </ul><div class="cart-supplements-section d-none"  style="display:none;">
6773          <div class="cart-supp-eyebrow">
6774            <span class="cart-supp-eyebrow-title">Supplements &amp; extras</span>
6775            <span class="cart-supp-eyebrow-flat">flat price</span>
6776          </div><div class="cart-supp-cadence cart-supp-cadence--single" aria-label="Supplement frequency">
6777            <span class="cart-supp-cadence-pill is-active" data-cadence="onetime">One-time</span>
6778          </div>
6779          <ul class="cart-supp-list"></ul>
6780          <div class="cart-supp-note">
6781            <i class="fa-solid fa-circle-info me-1"></i>
6782            <span>Supplements don't count toward your meal tier, and bill on their own schedule.</span>
6783          </div>
6784        </div><a href="/collections/fresh-ready-meals" class="cart-add-more-bottom"  style="display:none;" role="button">
6785          <span class="cart-add-more-bottom-plus" aria-hidden="true">+</span> Add more from the menu
6786        </a><link href="//thrivemeals.com.au/cdn/shop/t/214/assets/postal-code.css?v=48089929789762766361783673534" rel="stylesheet" type="text/css" media="all" />
6787<link href="//thrivemeals.com.au/cdn/shop/t/214/assets/mini-cart-steps.css?v=61382785397838109361783673534" rel="stylesheet" type="text/css" media="all" />
6788<script type="application/json" id="customer-default-address">
6789{
6790  "email":   "",
6791  "phone":   "",
6792  "address": "",
6793  "address2": "",
6794  "suburb":  "",
6795  "state":   "",
6796  "postcode": ""
6797}
6798</script>
6798<script src="https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js" defer></script>
vendor: 1 bytes, line 6798
6798
6799<script src="https://cdn.jsdelivr.net/npm/dayjs@1/plugin/utc.js" defer></script>
vendor: 1 bytes, line 6799
6799
6800<script src="https://cdn.jsdelivr.net/npm/dayjs@1/plugin/timezone.js" defer></script>
vendor: 1 bytes, line 6800
6800
6801<script src="https://cdn.jsdelivr.net/npm/dayjs@1/plugin/isSameOrBefore.js" defer></script>
vendor: 1 bytes, line 6801
6801
6802<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/mini-cart-steps.js?v=101600843831297644891784701492" defer></script>
vendor: 1 bytes, line 6802
6802
6803<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/postal-code-new.js?v=139027243019570931851783673534" defer></script>
6803
6804<link href="//thrivemeals.com.au/cdn/shop/t/214/assets/address-check.css?v=81337098211773317121789129135" rel="stylesheet" type="text/css" media="all" />
6805        <div class="acheck acheck--drawer" id="acheck-drawer">
6806  <div class="acheck-phone">
6807    <header class="acheck-appbar">
6808      <button type="button" class="acheck-back" data-action="drawer-back" aria-label="Back">
6809        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5M11 18l-6-6 6-6"/></svg>
6810      </button>
6811      <div class="acheck-appbar-title">Delivery address</div>
6812      <span class="acheck-appbar-right"></span>
6813    </header>
6814
6815    <div class="acheck-body" data-state="form">
6816      <div class="acheck-eyebrow">Last step before payment</div>
6817      <h1 class="acheck-display">Where are we<br>delivering?</h1>
6818      <p class="acheck-intro">We just need a verified delivery address to complete your order. We check your <strong>suburb</strong>, not just your postcode.</p>
6819      <a href="https://thrivemeals.com.au/customer_authentication/redirect?locale=en&region_country=AU" class="acheck-login">
6820        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></svg>
6821        <span>Returning? <strong>Log in</strong> — we'll use your saved address.</span>
6822        <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 6l6 6-6 6"/></svg>
6823      </a>
6824      <div class="acheck-fields">
6825        <label class="acheck-field"><span>Street address</span><input id="acheck-d-line" type="text" placeholder="42 Example St" autocomplete="address-line1"></label><div class="acheck-note acheck-note--unit" id="acheck-d-unit-note" hidden>
6826          <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:0 0 auto;margin-top:1px"><path d="M3 21h18"/><path d="M5 21V7l7-4 7 4v14"/><path d="M9 9h.01M9 13h.01M9 17h.01M15 9h.01M15 13h.01M15 17h.01"/></svg>
6827          <p>Unit <strong class="acheck-unit-val"></strong> — added to your delivery address for checkout.</p>
6828        </div>
6829        <label class="acheck-field"><span>Suburb</span><input id="acheck-d-suburb" type="text" placeholder="Suburb" autocomplete="address-level2"></label>
6830        <div class="acheck-row">
6831          <label class="acheck-field acheck-field--state"><span>State</span><input id="acheck-d-state" type="text" placeholder="NSW" autocomplete="address-level1"></label>
6832          <label class="acheck-field"><span>Postcode</span><input id="acheck-d-postcode" type="text" inputmode="numeric" placeholder="2026" autocomplete="postal-code"></label>
6833        </div>
6834      </div>
6835      <div class="acheck-note">
6836        <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:0 0 auto;margin-top:1px"><path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z"/><path d="M9 12l2 2 4-4"/></svg>
6837        <p>Checked against THR1VE's own delivery network — we verify your <strong>suburb</strong>, not just your postcode, so your box reaches the right door.</p>
6838      </div>
6839      <div class="acheck-error" role="alert" hidden></div>
6840    </div>
6841
6842    <div class="acheck-body" data-state="schedule" hidden>
6843      <div class="acheck-zone-ok">
6844        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>
6845        <span>Good news — we deliver to <span class="acheck-suburb-ok">your area</span></span>
6846      </div>
6847      <h1 class="acheck-display">Pick your first<br><span style="color:var(--ac-green)">delivery</span>.</h1>
6848      <p class="acheck-intro">We dispatch Friday and deliver Saturday onwards. You can change this any week before the cutoff.</p>
6849      <div class="acheck-eyebrow" style="margin:22px 0 10px">Delivery date</div>
6850      <div class="acheck-dates" id="acheck-d-dates"></div>
6851      <div class="acheck-note acheck-note--leaf">
6852        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:0 0 auto;margin-top:1px"><path d="M11 20A7 7 0 0 1 4 13c0-4 3-8 9-9 1 6-1 10-5 12"/><path d="M4 21c2-4 5-6 9-7"/></svg>
6853        <p>Earlier dates arrive with more fridge life. Every box lands with at least <strong>5 days fresh</strong>.</p>
6854      </div>
6855      <div class="acheck-eyebrow" style="margin:22px 0 10px">Time window</div>
6856      <div class="acheck-windows">
6857        <button type="button" class="acheck-window" data-window="day" data-start="07:00" data-end="18:00">
6858          <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg>
6859          <span class="acheck-window-text"><b>Daytime</b><i>7am – 6pm</i></span>
6860          <span class="acheck-window-radio"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg></span>
6861        </button>
6862        <button type="button" class="acheck-window" data-window="early" data-start="00:00" data-end="08:00">
6863          <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg>
6864          <span class="acheck-window-text"><b>Early morning</b><i>12am – 8am</i></span>
6865          <span class="acheck-window-radio"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg></span>
6866        </button>
6867      </div>
6868      <div class="acheck-note acheck-note--truck">
6869        <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:0 0 auto;margin-top:1px"><path d="M3 7h11v8H3zM14 10h4l3 3v2h-7z"/><circle cx="7" cy="18" r="1.5"/><circle cx="17" cy="18" r="1.5"/></svg>
6870        <p class="acheck-sched-summary">Choose a date and window — we'll text you a tighter time on the day.</p>
6871      </div>
6872    </div>
6873
6874    <div class="acheck-body" data-state="waitlist" hidden>
6875      <div class="acheck-icon-tile acheck-icon-tile--orange">
6876        <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7h11v8H3zM14 10h4l3 3v2h-7z"/><circle cx="7" cy="18" r="1.5"/><circle cx="17" cy="18" r="1.5"/></svg>
6877      </div>
6878      <h1 class="acheck-display">We're not in<br><span class="acheck-suburb-out">your area</span> yet.</h1>
6879      <p class="acheck-intro">Our delivery network doesn't reach <strong class="acheck-suburb-out2">your area</strong> right now. Leave your email and we'll tell you the moment we do.</p>
6880      <div class="acheck-fields" style="margin-top:20px"><label class="acheck-field"><span>Email</span><input id="acheck-d-wl-email" type="email" placeholder="[email protected]" autocomplete="email"></label></div>
6881      <button type="button" class="acheck-btn acheck-btn--go" data-action="join-waitlist" disabled style="margin-top:14px">Join the waitlist
6882        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></button>
6883      <button type="button" class="acheck-link acheck-link--green" data-action="try-again">Try a different address</button>
6884    </div>
6885
6886    <div class="acheck-body acheck-body--center" data-state="joined" hidden>
6887      <div class="acheck-icon-circle"><svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg></div>
6888      <h1 class="acheck-display">You're on the list.</h1>
6889      <p class="acheck-intro acheck-intro--center">We'll email <strong class="acheck-wl-email-out">you</strong> as soon as we deliver to your area.</p>
6890      <button type="button" class="acheck-btn acheck-btn--ghost" data-action="drawer-back" style="margin-top:22px;max-width:220px">Back to cart</button>
6891    </div>
6892
6893    <div class="acheck-sticky" data-state="form">
6894      <button type="button" class="acheck-btn acheck-btn--go" data-action="check" disabled>Confirm address &amp; continue
6895        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></button>
6896    </div>
6897    <div class="acheck-sticky" data-state="schedule" hidden>
6898      <button type="button" class="acheck-btn acheck-btn--go" data-action="confirm-schedule" disabled>Pick a date and time
6899        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></button>
6900      <button type="button" class="acheck-link acheck-link--muted" data-action="back-to-form">Change address</button>
6901    </div>
6902  </div>
6903</div>
6904
6905<script>
6906(function () {
6907  var root = document.getElementById("acheck-drawer");
6908  if (!root || root.dataset.wired) return; root.dataset.wired = "1";
6909  var API = "https://83cv7ta60b.execute-api.ap-southeast-2.amazonaws.com";
6910  var DOW = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"], MON = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
6911  var line = root.querySelector("#acheck-d-line"), suburb = root.querySelector("#acheck-d-suburb"),
6912      stateEl = root.querySelector("#acheck-d-state"), postcode = root.querySelector("#acheck-d-postcode"),
6913      checkBtn = root.querySelector('[data-action="check"]'), errEl = root.querySelector(".acheck-error"),
6914      datesWrap = root.querySelector("#acheck-d-dates"), confirmBtn = root.querySelector('[data-action="confirm-schedule"]'),
6915      schedSummary = root.querySelector(".acheck-sched-summary"),
6916      unitNote = root.querySelector("#acheck-d-unit-note"), unitValEl = root.querySelector(".acheck-unit-val");
6917  // capturedUnit = the unit/apartment (checkout address2) AUTO-CAPTURED from the last AddressFinder
6918  // selection. Never typed by the customer. Cleared when they retype the street or pick a unit-less
6919  // address, so a stale unit can never ride along (empty => no address2, address1 stays clean).
6920  var currentAddr = null, selectedDateKey = "", selectedWindow = null, DATES = [], API_DATES = null, capturedUnit = "";
6921  function setCapturedUnit(v){ capturedUnit = (v || "").toString().trim();
6922    if(unitNote){ if(capturedUnit){ if(unitValEl) unitValEl.textContent = capturedUnit; unitNote.hidden = false; } else { unitNote.hidden = true; } } }
6923
6924  function showState(s){ root.querySelectorAll(".acheck-body,.acheck-sticky").forEach(function(b){ b.hidden = b.getAttribute("data-state") !== s; }); }
6925  function setText(sel,v){ root.querySelectorAll(sel).forEach(function(e){ e.textContent = v; }); }
6926  // STATE IS REQUIRED (T-0069). The cart engine's validateBeforeCheckout() rejects checkout unless
6927  // window_state has address AND suburb AND state AND postcode. This gate used to omit State, so a
6928  // customer who typed the address by hand (AddressFinder autofills State; manual entry does not)
6929  // could confirm with State blank — saveValidated() then wrote state:"" while still flagging the
6930  // address "validated", and checkout dead-ended silently with no error and no network. Requiring
6931  // the same four parts the checkout validator requires is what keeps the two in agreement.
6932  function addrComplete(){ return !!(line.value.trim() && suburb.value.trim() && stateEl.value.trim() && postcode.value.trim()); }
6933  function syncCheck(){
6934    var ok = addrComplete();
6935    checkBtn.disabled = !ok;
6936    // Say WHY the button is inert. A greyed-out button with no reason is its own trap — and the
6937    // State box shows a grey "NSW" placeholder that reads like a filled value, so the customer has
6938    // no way to guess. Only speak once the other three fields are in, so we don't nag mid-typing.
6939    // Reuses the existing .acheck-error element; tagged so we only ever clear our OWN message.
6940    var needState = !ok && !stateEl.value.trim() && line.value.trim() && suburb.value.trim() && postcode.value.trim();
6941    // Mark the FIELD, not just the banner. The State box shows a grey "NSW" placeholder that reads
6942    // like an entered value, so a message alone still leaves the customer hunting for which box is
6943    // blocking them. Inline so this needs no stylesheet change (the two surfaces load different CSS).
6944    if (stateEl) {
6945      // 2px, not the default 1px: measured at 1px the red border was present in the DOM but did not
6946      // read as a marker in the rendered page, which defeats the point of marking the field at all.
6947      stateEl.style.borderColor = needState ? "#E23B3B" : "";
6948      stateEl.style.borderWidth = needState ? "2px" : "";
6949      stateEl.setAttribute("aria-invalid", needState ? "true" : "false");
6950    }
6951    if (!errEl) return;
6952    if (needState) {
6953      errEl.textContent = "Add your state (e.g. QLD) to continue.";
6954      errEl.hidden = false; errEl.dataset.stateHint = "1";
6955    } else if (errEl.dataset.stateHint === "1") {
6956      errEl.hidden = true; delete errEl.dataset.stateHint;
6957    }
6958  }
6959  [line,suburb,stateEl,postcode].forEach(function(el){ el && el.addEventListener("input", syncCheck); });
6960  // A genuine keystroke in the street field means the customer is editing it by hand — drop any
6961  // previously auto-captured unit so a stale unit can't ride along (AddressFinder fills the field
6962  // programmatically WITHOUT a keydown, so this only fires on manual typing; result:select re-captures).
6963  if(line) line.addEventListener("keydown", function(){ if(capturedUnit) setCapturedUnit(""); });
6964
6965  // Street-address autocomplete — reuse the theme's AddressFinder (GNAF, AU) widget on the street
6966  // field. On select it autofills street + suburb + state + postcode AND auto-captures any unit/
6967  // apartment as checkout address2 (no manual entry), so the customer doesn't retype (same provider/
6968  // key the product-add address popup uses). Serviceability is still decided by the HDC API on
6969  // "Confirm address" — this only speeds up data entry.
6970  function initAcheckAutocomplete(){
6971    if (!window.AddressFinder || !line || line.dataset.afWired) return;
6972    line.dataset.afWired = "1";
6973    try {
6974      var w = new AddressFinder.Widget(line, "XDGLJVBHMQAKF68W4CT7", "AU", { address_params: { gnaf: "1" } });
6975      w.on("result:select", function (fullAddress, meta) {
6976        meta = meta || {};
6977        // AU GNAF sub-dwelling convention (verified against the real widget response):
6978        //   NON-unit  -> address_line_1 = STREET ("42 Hall Street"), address_line_2 = null.
6979        //   UNIT/apt  -> address_line_1 = the UNIT prefix ("Unit 5" / "Unit 504, Level 5"),
6980        //                address_line_2 = the STREET line ("17-23 Wallis Parade").
6981        // So the STREET is address_line_2 when a sub-dwelling exists, else address_line_1; and the
6982        // UNIT (checkout address2) is address_line_1 when a sub-dwelling exists, else empty. This also
6983        // FIXES the prior bug where a unit address dropped the street and put "Unit 5" in #acheck-d-line.
6984        var hasSub = !!(meta.address_line_2 && String(meta.address_line_2).trim());
6985        var streetLine = (hasSub ? meta.address_line_2 : meta.address_line_1) || meta.address_line_combined || fullAddress || line.value;
6986        line.value = streetLine;
6987        if (suburb)   suburb.value   = meta.locality_name   || suburb.value;
6988        if (stateEl)  stateEl.value  = meta.state_territory || stateEl.value;
6989        if (postcode) postcode.value = meta.postcode        || postcode.value;
6990        // Auto-capture the unit as address2 (empty when the address has none).
6991        setCapturedUnit(hasSub ? (meta.address_line_1 || (((meta.unit_type || "") + " " + (meta.unit_identifier || "")).trim())) : "");
6992        syncCheck();
6993      });
6994    } catch (e) {}
6995  }
6996  if (window.AddressFinder) { initAcheckAutocomplete(); }
6997  else {
6998    var afSrc = "https://api.addressfinder.io/assets/v3/widget.js";
6999    var existing = document.querySelector('script[src="' + afSrc + '"]');
7000    if (existing) { existing.addEventListener("load", initAcheckAutocomplete); }
7001    else { var s = document.createElement("script"); s.src = afSrc; s.async = true; s.onload = initAcheckAutocomplete; document.body.appendChild(s); }
7002  }
7003
7004  // "Validated" must mean "complete enough for checkout" (T-0069). proceedToCheckout() SKIPS the
7005  // address step whenever thr1ve_address_validated === "1", so flagging an incomplete address as
7006  // validated is what turns a missing field into an unrecoverable dead end rather than a re-ask.
7007  // Returns false (and flags nothing) when a part is missing, so the caller can keep the customer
7008  // on the form instead of sending them into checkout.
7009  function saveValidated(a){
7010    if(!(a && a.line && a.suburb && a.state && a.postcode)) return false;
7011    try {
7012    // address2 = the auto-captured unit (empty when none). custom-cart-ajax-local.js.liquid's
7013    // validatedAddress() + pushDeliveryAddressToCart() read widgetAddress.address2 and pass it as
7014    // checkout[shipping_address][address2] / Storefront deliveryAddressPreferences (both filter out
7015    // empties, so a blank unit never corrupts address1).
7016    var _unit = (capturedUnit || "").trim();
7017    localStorage.setItem("widgetAddress", JSON.stringify({ address_line_combined:a.line, locality_name:a.suburb, state_territory:a.state, postcode:a.postcode, address2:_unit }));
7018    localStorage.setItem("thr1ve_address_validated","1");
7019    var ws={}; try{ws=JSON.parse(localStorage.getItem("window_state")||"{}");}catch(e){}
7020    ws.address=[a.line,a.suburb,a.state,a.postcode].filter(Boolean).join(", "); ws.postcode=a.postcode; ws.suburb=a.suburb; ws.state=a.state;
7021    if(!ws.freq){ var ca={}; try{ca=JSON.parse(localStorage.getItem("cartAttributes")||"{}");}catch(e){} ws.freq=(ca&&ca.orderType&&ca.orderType.type)||"WeeklySubscription"; }
7022    // Supplements-only carts cannot take a subscription selling_plan → force One-Time so create-order succeeds.
7023    try { if(window.localCart && typeof localCart.supplementCartState==="function"){ var _ss=localCart.supplementCartState(localCart.cart&&localCart.cart.items); if(_ss.hasSupplement && _ss.nonSuppSubtotalCents===0) ws.freq="OneTimePurchase"; } } catch(e){}
7024    localStorage.setItem("window_state", JSON.stringify(ws));
7025    } catch(e){}
7026    return true; }
7027
7028  // Delivery dates come from the HDC /delivery-dates API (the real, schedule-aware calculator used
7029  // by postal-code.js) — NOT a local guess. The API returns { data: { "YYYY-MM-DD": [windows…] } };
7030  // its keys ARE the valid delivery dates (Friday-dispatch schedule etc.). Parse the key parts by
7031  // hand so the weekday isn't shifted a day by UTC date parsing. (Was: local "next Saturday + 6
7032  // consecutive days" which wrongly showed e.g. Sat 4 Jul instead of the API's dates.)
7033  function deliveryDates(){ var out=[]; var keys = API_DATES ? Object.keys(API_DATES).sort().slice(0,6) : [];
7034    keys.forEach(function(key,i){ var pp=String(key).split("-"); var x=new Date(+pp[0],(+pp[1])-1,+pp[2]);
7035      out.push({key:key,dow:DOW[x.getDay()],day:x.getDate(),mon:MON[x.getMonth()],soonest:i===0}); }); return out; }
7036  function renderDates(){ if(!datesWrap) return; DATES=deliveryDates(); if(!DATES.length){ datesWrap.innerHTML=""; selectedDateKey=""; updateSched(); return; } selectedDateKey=DATES[0].key; selectedWindow=null;
7037    root.querySelectorAll(".acheck-window").forEach(function(w){ w.classList.remove("is-on"); });
7038    datesWrap.innerHTML = DATES.map(function(d){ return '<button type="button" class="acheck-date'+(d.key===selectedDateKey?' is-on':'')+'" data-date="'+d.key+'">'+(d.soonest?'<span class="acheck-date-fresh">Freshest</span>':'')+'<span class="acheck-date-dow">'+d.dow+'</span><span class="acheck-date-day">'+d.day+'</span><span class="acheck-date-mon">'+d.mon+'</span></button>'; }).join(""); updateSched(); }
7039  function chosen(){ return DATES.filter(function(d){return d.key===selectedDateKey;})[0]; }
7040  function updateSched(){ var cd=chosen();
7041    if(confirmBtn){ var ready=!!cd&&!!selectedWindow; confirmBtn.disabled=!ready; confirmBtn.childNodes[0].nodeValue=ready?"Confirm delivery & continue ":"Pick a date and time "; }
7042    if(schedSummary){ schedSummary.innerHTML = cd?("Arriving <strong>"+cd.dow+" "+cd.day+" "+cd.mon+"</strong>"+(selectedWindow?", "+selectedWindow.range:"")+". We'll text you a tighter window on the day."):"Choose a date and window — we'll text you a tighter time on the day."; } }
7043
7044  function check(){ var a={line:line.value.trim(),suburb:suburb.value.trim(),state:stateEl.value.trim(),postcode:postcode.value.trim()};
7045    if(errEl) errEl.hidden=true; checkBtn.disabled=true; var lbl=checkBtn.innerHTML; checkBtn.textContent="Checking…";
7046    var onErr=function(){ checkBtn.innerHTML=lbl; syncCheck(); if(errEl){errEl.textContent="We couldn't check that address just now — please try again.";errEl.hidden=false;} };
7047    var done=function(ok,data){ checkBtn.innerHTML=lbl; syncCheck(); if(ok){ currentAddr=a; API_DATES=data||null; setText(".acheck-suburb-ok",a.suburb||"your area"); renderDates(); showState("schedule"); }
7048      else { setText(".acheck-suburb-out, .acheck-suburb-out2",a.suburb||"your area"); showState("waitlist"); } };
7049    // Sydney-local "today" as the query start date (matches postal-code.js; avoids a UTC off-by-one).
7050    var today=new Date().toLocaleDateString("en-CA",{timeZone:"Australia/Sydney"});
7051    fetch(API+"/delivery-dates/"+encodeURIComponent(a.suburb)+"/"+encodeURIComponent(a.postcode)+"/2/"+today).then(function(r){return r.text();})
7052      .then(function(t){ var ok=false,data=null; try{var j=JSON.parse(t); data=j.data||null; ok=(j.status===true||j.status==="true")&&data&&Object.keys(data).length>0;}catch(e){} done(ok,data); }).catch(onErr); }
7053
7054  function confirmSchedule(){ var cd=chosen(); if(!cd||!selectedWindow||!currentAddr) return;
7055    // Never hand an incomplete address to checkout (T-0069): proceedToCheckout() would be rejected by
7056    // validateBeforeCheckout() and the customer would sit on "Taking you to checkout…" forever with
7057    // no message. Send them back to the form with the missing field named instead.
7058    if(!saveValidated(currentAddr)){
7059      showState("form");
7060      if(errEl){ errEl.textContent="Please add your state to complete the delivery address."; errEl.hidden=false; }
7061      if(stateEl && !stateEl.value.trim()) stateEl.focus();
7062      syncCheck(); return; }
7063    var di={ suburb:currentAddr.suburb,postcode:currentAddr.postcode,state:currentAddr.state,deliveryDate:cd.key,
7064      deliveryStart:selectedWindow.start,deliveryEnd:selectedWindow.end,deliveryLabel:cd.dow+" "+cd.day+" "+cd.mon,timestamp:Date.now() };
7065    try { var sh=localStorage.getItem("shipping_amount"); if(!sh||sh===""||sh==="null") localStorage.setItem("shipping_amount","0");
7066      var ws={}; try{ws=JSON.parse(localStorage.getItem("window_state")||"{}");}catch(e){} ws.date=cd.key; ws.time=selectedWindow.range; localStorage.setItem("window_state",JSON.stringify(ws)); } catch(e){}
7067    confirmBtn.childNodes[0].nodeValue="Taking you to checkout… ";
7068    var go=function(){ try{localStorage.setItem("deliveryInfo",JSON.stringify(di));}catch(e){}
7069      // We're INSIDE the cart drawer → run checkout in-context, no page navigation.
7070      if(window.localCart && typeof localCart.proceedToCheckout==="function"){ localCart.proceedToCheckout("mini-cart"); }
7071    };
7072    fetch(API+"/packing-dates/"+encodeURIComponent(currentAddr.suburb)+"/"+encodeURIComponent(currentAddr.postcode)+"/2/"+cd.key)
7073      .then(function(r){return r.text();}).then(function(t){ try{var j=JSON.parse(t); if(j.status&&j.data) di.packingDate=j.data;}catch(e){} go(); }).catch(go); }
7074
7075  function closeDrawer(){
7076    if(window.localCart && typeof localCart.closeAddressCheckInDrawer==="function"){ localCart.closeAddressCheckInDrawer(); }
7077    else { root.style.display="none"; document.querySelectorAll(".acheck-hidden").forEach(function(el){ el.classList.remove("acheck-hidden"); }); window.__thr1veInFinalFlow=false; }
7078  }
7079
7080  root.addEventListener("click", function(e){
7081    var t=e.target.closest("[data-action], .acheck-date, .acheck-window"); if(!t) return;
7082    if(t.classList.contains("acheck-date")){ selectedDateKey=t.getAttribute("data-date"); root.querySelectorAll(".acheck-date").forEach(function(d){ d.classList.toggle("is-on",d===t); }); updateSched(); return; }
7083    if(t.classList.contains("acheck-window")){ selectedWindow={id:t.getAttribute("data-window"),start:t.getAttribute("data-start"),end:t.getAttribute("data-end"),range:t.querySelector(".acheck-window-text i").textContent};
7084      root.querySelectorAll(".acheck-window").forEach(function(w){ w.classList.toggle("is-on",w===t); }); updateSched(); return; }
7085    var a=t.getAttribute("data-action");
7086    if(a==="check") check();
7087    else if(a==="confirm-schedule") confirmSchedule();
7088    else if(a==="back-to-form") showState("form");
7089    else if(a==="drawer-back") closeDrawer();
7090    else if(a==="try-again") showState("form");
7091    else if(a==="join-waitlist"){ var em=root.querySelector("#acheck-d-wl-email"); setText(".acheck-wl-email-out",(em&&em.value.trim())||""); showState("joined"); }
7092  });
7093  var wl=root.querySelector("#acheck-d-wl-email"), jb=root.querySelector('[data-action="join-waitlist"]');
7094  if(wl&&jb) wl.addEventListener("input", function(){ jb.disabled=!wl.value.trim(); });
7095
7096  // Heal a stale "validated" flag left by the pre-T-0069 form (or any other writer) over an address
7097  // that checkout will reject. proceedToCheckout() skips the address step on that flag alone, so an
7098  // incomplete address behind it dead-ends checkout; dropping the flag turns that into a normal
7099  // re-ask on the form, which now requires all four parts.
7100  try {
7101    if(localStorage.getItem("thr1ve_address_validated")==="1"){
7102      var _ws0={}; try{_ws0=JSON.parse(localStorage.getItem("window_state")||"{}");}catch(e){}
7103      if(!(_ws0.address&&_ws0.suburb&&_ws0.state&&_ws0.postcode)) localStorage.removeItem("thr1ve_address_validated");
7104    }
7105  } catch(e){}
7106
7107  // Entry point used by the checkout intercept: reset to the form and reveal.
7108  window.thr1veOpenAddressCheck = function(){ showState("form"); root.style.display="block"; };
7109})();
7110</script>
7110
7111
7112      </div>
7113    </div><div class="col-lg-12 d-lg-none d-flex flex-column bg-light-green productSliderSection  mt-4 upsell-pro-custom upsell-mob-custom">
7114             <h6 class="mt-3 text-center">Boost your cart 🚀</h6>
7115             <div class=" d-flex flex-row overflow-auto gap-2 px-2">
7116            
7117  
7118  
7119
7120  
7121    
7122      
7123      
7124
7125        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7126          <img src="//thrivemeals.com.au/cdn/shop/files/Caramel_Slice_120X120_crop_center.jpg?v=1737023316" width="auto" height="auto" class="m-2 rounded m-auto" alt="Caramel Slice" />
7127          <div class="mt-auto w-100 px-2">
7128            <p class="mb-1 lh-sm fs-14">Caramel Slice</p>
7129            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
7130            </p>
7131            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7132              
7133                <div class="product-all w-100 product-id-9882190217532 " data-product-id="9882190217532">
7134  <div class="add-cart-button d-none">
7135    <a href="javascript:void(0);" onclick="localCart.addItem(9882190217532, 50756423713084, 'Caramel Slice', '/products/low-carb-caramel-slice', '//thrivemeals.com.au/cdn/shop/files/Caramel_Slice_150X150_crop_center.jpg?v=1737023316', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7136      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7137      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7138      <span class="cart-added"><i class="ion-android-done"></i></span>
7139      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7140    </a>
7141  </div>
7142  <div class="quantity-selector d-none">
7143    <div class="upsell_quantity buttons d-flex">
7144      <div class="product-quantity" data-variant="50756423713084">
7145        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7146          <input
7147            value="1"
7148            class="qtyinputcs"
7149            type="text"
7150            name="quantity"
7151            min="1"
7152            pattern="[0-9]*"
7153          >
7154          
7155          <span class="cusqtyspan quantity-50756423713084 quantity-var-9882190217532"
7156            >1</span
7157          >
7158        </div>
7159      </div>
7160    </div>
7161  </div>
7162</div>
7163
7164              
7165            </div>
7166          </div>
7167        </div>
7168      
7169    
7170      
7171      
7172
7173        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7174          <img src="//thrivemeals.com.au/cdn/shop/files/LowCarbBlondie_120X120_crop_center.jpg?v=1738747519" width="auto" height="auto" class="m-2 rounded m-auto" alt="Coconut Blondie" />
7175          <div class="mt-auto w-100 px-2">
7176            <p class="mb-1 lh-sm fs-14">Coconut Blondie</p>
7177            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
7178            </p>
7179            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7180              
7181                <div class="product-all w-100 product-id-9882190971196 " data-product-id="9882190971196">
7182  <div class="add-cart-button d-none">
7183    <a href="javascript:void(0);" onclick="localCart.addItem(9882190971196, 50756426596668, 'Coconut Blondie', '/products/low-carb-coconut-blondie', '//thrivemeals.com.au/cdn/shop/files/LowCarbBlondie_150X150_crop_center.jpg?v=1738747519', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7184      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7185      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7186      <span class="cart-added"><i class="ion-android-done"></i></span>
7187      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7188    </a>
7189  </div>
7190  <div class="quantity-selector d-none">
7191    <div class="upsell_quantity buttons d-flex">
7192      <div class="product-quantity" data-variant="50756426596668">
7193        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7194          <input
7195            value="1"
7196            class="qtyinputcs"
7197            type="text"
7198            name="quantity"
7199            min="1"
7200            pattern="[0-9]*"
7201          >
7202          
7203          <span class="cusqtyspan quantity-50756426596668 quantity-var-9882190971196"
7204            >1</span
7205          >
7206        </div>
7207      </div>
7208    </div>
7209  </div>
7210</div>
7211
7212              
7213            </div>
7214          </div>
7215        </div>
7216      
7217    
7218      
7219      
7220
7221        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7222          <img src="//thrivemeals.com.au/cdn/shop/files/zucciniSlice_120X120_crop_center.jpg?v=1738747422" width="auto" height="auto" class="m-2 rounded m-auto" alt="Zucchini Slice" />
7223          <div class="mt-auto w-100 px-2">
7224            <p class="mb-1 lh-sm fs-14">Zucchini Slice</p>
7225            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
7226            </p>
7227            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7228              
7229                <div class="product-all w-100 product-id-9882191364412 " data-product-id="9882191364412">
7230  <div class="add-cart-button d-none">
7231    <a href="javascript:void(0);" onclick="localCart.addItem(9882191364412, 50756427088188, 'Zucchini Slice', '/products/crustless-zucchini-slice', '//thrivemeals.com.au/cdn/shop/files/zucciniSlice_150X150_crop_center.jpg?v=1738747422', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7232      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7233      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7234      <span class="cart-added"><i class="ion-android-done"></i></span>
7235      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7236    </a>
7237  </div>
7238  <div class="quantity-selector d-none">
7239    <div class="upsell_quantity buttons d-flex">
7240      <div class="product-quantity" data-variant="50756427088188">
7241        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7242          <input
7243            value="1"
7244            class="qtyinputcs"
7245            type="text"
7246            name="quantity"
7247            min="1"
7248            pattern="[0-9]*"
7249          >
7250          
7251          <span class="cusqtyspan quantity-50756427088188 quantity-var-9882191364412"
7252            >1</span
7253          >
7254        </div>
7255      </div>
7256    </div>
7257  </div>
7258</div>
7259
7260              
7261            </div>
7262          </div>
7263        </div>
7264      
7265    
7266      
7267      
7268
7269        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7270          <img src="//thrivemeals.com.au/cdn/shop/files/MacadamiaShortbread_120X120_crop_center.jpg?v=1738747284" width="auto" height="auto" class="m-2 rounded m-auto" alt="Macadamia Shortbread" />
7271          <div class="mt-auto w-100 px-2">
7272            <p class="mb-1 lh-sm fs-14">Macadamia Shortbread</p>
7273            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
7274            </p>
7275            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7276              
7277                <div class="product-all w-100 product-id-9882192576828 " data-product-id="9882192576828">
7278  <div class="add-cart-button d-none">
7279    <a href="javascript:void(0);" onclick="localCart.addItem(9882192576828, 50756428431676, 'Macadamia Shortbread', '/products/macadamia-shortbread', '//thrivemeals.com.au/cdn/shop/files/MacadamiaShortbread_150X150_crop_center.jpg?v=1738747284', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7280      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7281      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7282      <span class="cart-added"><i class="ion-android-done"></i></span>
7283      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7284    </a>
7285  </div>
7286  <div class="quantity-selector d-none">
7287    <div class="upsell_quantity buttons d-flex">
7288      <div class="product-quantity" data-variant="50756428431676">
7289        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7290          <input
7291            value="1"
7292            class="qtyinputcs"
7293            type="text"
7294            name="quantity"
7295            min="1"
7296            pattern="[0-9]*"
7297          >
7298          
7299          <span class="cusqtyspan quantity-50756428431676 quantity-var-9882192576828"
7300            >1</span
7301          >
7302        </div>
7303      </div>
7304    </div>
7305  </div>
7306</div>
7307
7308              
7309            </div>
7310          </div>
7311        </div>
7312      
7313    
7314      
7315      
7316
7317        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7318          <img src="//thrivemeals.com.au/cdn/shop/files/BlueberryMuffin1_120X120_crop_center.jpg?v=1737023439" width="auto" height="auto" class="m-2 rounded m-auto" alt="Berry Muffin" />
7319          <div class="mt-auto w-100 px-2">
7320            <p class="mb-1 lh-sm fs-14">Berry Muffin</p>
7321            <p class="fs-16 fw-bold comparePriceOuter">$4.95   
7322            </p>
7323            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7324              
7325                <div class="product-all w-100 product-id-8969868312892 " data-product-id="8969868312892">
7326  <div class="add-cart-button d-none">
7327    <a href="javascript:void(0);" onclick="localCart.addItem(8969868312892, 48069527339324, 'Berry Muffin', '/products/blueberry-muffin', '//thrivemeals.com.au/cdn/shop/files/BlueberryMuffin1_150X150_crop_center.jpg?v=1737023439', 495, 495, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7328      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7329      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7330      <span class="cart-added"><i class="ion-android-done"></i></span>
7331      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7332    </a>
7333  </div>
7334  <div class="quantity-selector d-none">
7335    <div class="upsell_quantity buttons d-flex">
7336      <div class="product-quantity" data-variant="48069527339324">
7337        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7338          <input
7339            value="1"
7340            class="qtyinputcs"
7341            type="text"
7342            name="quantity"
7343            min="1"
7344            pattern="[0-9]*"
7345          >
7346          
7347          <span class="cusqtyspan quantity-48069527339324 quantity-var-8969868312892"
7348            >1</span
7349          >
7350        </div>
7351      </div>
7352    </div>
7353  </div>
7354</div>
7355
7356              
7357            </div>
7358          </div>
7359        </div>
7360      
7361    
7362      
7363      
7364
7365        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7366          <img src="//thrivemeals.com.au/cdn/shop/files/ChocBrownie34_120X120_crop_center.jpg?v=1737023381" width="auto" height="auto" class="m-2 rounded m-auto" alt="Chocolate Brownie" />
7367          <div class="mt-auto w-100 px-2">
7368            <p class="mb-1 lh-sm fs-14">Chocolate Brownie</p>
7369            <p class="fs-16 fw-bold comparePriceOuter">$3.95   
7370            </p>
7371            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7372              
7373                <div class="product-all w-100 product-id-8969884631356 " data-product-id="8969884631356">
7374  <div class="add-cart-button d-none">
7375    <a href="javascript:void(0);" onclick="localCart.addItem(8969884631356, 48069558174012, 'Chocolate Brownie', '/products/keto-brownie', '//thrivemeals.com.au/cdn/shop/files/ChocBrownie34_150X150_crop_center.jpg?v=1737023381', 395, 395, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7376      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7377      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7378      <span class="cart-added"><i class="ion-android-done"></i></span>
7379      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7380    </a>
7381  </div>
7382  <div class="quantity-selector d-none">
7383    <div class="upsell_quantity buttons d-flex">
7384      <div class="product-quantity" data-variant="48069558174012">
7385        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7386          <input
7387            value="1"
7388            class="qtyinputcs"
7389            type="text"
7390            name="quantity"
7391            min="1"
7392            pattern="[0-9]*"
7393          >
7394          
7395          <span class="cusqtyspan quantity-48069558174012 quantity-var-8969884631356"
7396            >1</span
7397          >
7398        </div>
7399      </div>
7400    </div>
7401  </div>
7402</div>
7403
7404              
7405            </div>
7406          </div>
7407        </div>
7408      
7409    
7410      
7411      
7412
7413        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7414          <img src="//thrivemeals.com.au/cdn/shop/files/Nutessa_Slice_120X120_crop_center.jpg?v=1737074717" width="auto" height="auto" class="m-2 rounded m-auto" alt="Nutessa Slice" />
7415          <div class="mt-auto w-100 px-2">
7416            <p class="mb-1 lh-sm fs-14">Nutessa Slice</p>
7417            <p class="fs-16 fw-bold comparePriceOuter">$3.95   
7418            </p>
7419            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7420              
7421                <div class="product-all w-100 product-id-8219781759292 " data-product-id="8219781759292">
7422  <div class="add-cart-button d-none">
7423    <a href="javascript:void(0);" onclick="localCart.addItem(8219781759292, 44799334580540, 'Nutessa Slice', '/products/nutessa-slice', '//thrivemeals.com.au/cdn/shop/files/Nutessa_Slice_150X150_crop_center.jpg?v=1737074717', 395, 395, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7424      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7425      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7426      <span class="cart-added"><i class="ion-android-done"></i></span>
7427      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7428    </a>
7429  </div>
7430  <div class="quantity-selector d-none">
7431    <div class="upsell_quantity buttons d-flex">
7432      <div class="product-quantity" data-variant="44799334580540">
7433        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7434          <input
7435            value="1"
7436            class="qtyinputcs"
7437            type="text"
7438            name="quantity"
7439            min="1"
7440            pattern="[0-9]*"
7441          >
7442          
7443          <span class="cusqtyspan quantity-44799334580540 quantity-var-8219781759292"
7444            >1</span
7445          >
7446        </div>
7447      </div>
7448    </div>
7449  </div>
7450</div>
7451
7452              
7453            </div>
7454          </div>
7455        </div>
7456      
7457    
7458      
7459      
7460
7461        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7462          <img src="//thrivemeals.com.au/cdn/shop/files/106_120X120_crop_center.png?v=1744607550" width="auto" height="auto" class="m-2 rounded m-auto" alt="Chicken Veggie Pizza" />
7463          <div class="mt-auto w-100 px-2">
7464            <p class="mb-1 lh-sm fs-14">Chicken Veggie Pizza</p>
7465            <p class="fs-16 fw-bold comparePriceOuter">$9.95   
7466            </p>
7467            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7468              
7469                <div class="product-all w-100 product-id-9995289821500 " data-product-id="9995289821500">
7470  <div class="add-cart-button d-none">
7471    <a href="javascript:void(0);" onclick="localCart.addItem(9995289821500, 51601956700476, 'Chicken Veggie Pizza', '/products/chickenveg-pizza', '//thrivemeals.com.au/cdn/shop/files/106_150X150_crop_center.png?v=1744607550', 995, 995, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7472      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7473      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7474      <span class="cart-added"><i class="ion-android-done"></i></span>
7475      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7476    </a>
7477  </div>
7478  <div class="quantity-selector d-none">
7479    <div class="upsell_quantity buttons d-flex">
7480      <div class="product-quantity" data-variant="51601956700476">
7481        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7482          <input
7483            value="1"
7484            class="qtyinputcs"
7485            type="text"
7486            name="quantity"
7487            min="1"
7488            pattern="[0-9]*"
7489          >
7490          
7491          <span class="cusqtyspan quantity-51601956700476 quantity-var-9995289821500"
7492            >1</span
7493          >
7494        </div>
7495      </div>
7496    </div>
7497  </div>
7498</div>
7499
7500              
7501            </div>
7502          </div>
7503        </div>
7504      
7505    
7506      
7507      
7508
7509        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7510          <img src="//thrivemeals.com.au/cdn/shop/files/107_120X120_crop_center.png?v=1744607020" width="auto" height="auto" class="m-2 rounded m-auto" alt="Pepperoni Pizza" />
7511          <div class="mt-auto w-100 px-2">
7512            <p class="mb-1 lh-sm fs-14">Pepperoni Pizza</p>
7513            <p class="fs-16 fw-bold comparePriceOuter">$9.95   
7514            </p>
7515            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7516              
7517                <div class="product-all w-100 product-id-9995289854268 " data-product-id="9995289854268">
7518  <div class="add-cart-button d-none">
7519    <a href="javascript:void(0);" onclick="localCart.addItem(9995289854268, 51601956733244, 'Pepperoni Pizza', '/products/mammamia-pizza', '//thrivemeals.com.au/cdn/shop/files/107_150X150_crop_center.png?v=1744607020', 995, 995, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7520      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7521      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7522      <span class="cart-added"><i class="ion-android-done"></i></span>
7523      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7524    </a>
7525  </div>
7526  <div class="quantity-selector d-none">
7527    <div class="upsell_quantity buttons d-flex">
7528      <div class="product-quantity" data-variant="51601956733244">
7529        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7530          <input
7531            value="1"
7532            class="qtyinputcs"
7533            type="text"
7534            name="quantity"
7535            min="1"
7536            pattern="[0-9]*"
7537          >
7538          
7539          <span class="cusqtyspan quantity-51601956733244 quantity-var-9995289854268"
7540            >1</span
7541          >
7542        </div>
7543      </div>
7544    </div>
7545  </div>
7546</div>
7547
7548              
7549            </div>
7550          </div>
7551        </div>
7552      
7553    
7554      
7555      
7556
7557        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7558          <img src="//thrivemeals.com.au/cdn/shop/files/SnackGroup13_120X120_crop_center.jpg?v=1741136946" width="auto" height="auto" class="m-2 rounded m-auto" alt="Variety Snack Bundle" />
7559          <div class="mt-auto w-100 px-2">
7560            <p class="mb-1 lh-sm fs-14">Variety Snack Bundle</p>
7561            <p class="fs-16 fw-bold comparePriceOuter">$29.95   
7562            </p>
7563            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7564              
7565                <div class="product-all w-100 product-id-9604639260988 " data-product-id="9604639260988">
7566  <div class="add-cart-button d-none">
7567    <a href="javascript:void(0);" onclick="localCart.addItem(9604639260988, 49814596682044, 'Variety Snack Bundle', '/products/snack-bundle', '//thrivemeals.com.au/cdn/shop/files/SnackGroup13_150X150_crop_center.jpg?v=1741136946', 2995, 2995, 1, 'Bundle', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7568      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7569      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7570      <span class="cart-added"><i class="ion-android-done"></i></span>
7571      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7572    </a>
7573  </div>
7574  <div class="quantity-selector d-none">
7575    <div class="upsell_quantity buttons d-flex">
7576      <div class="product-quantity" data-variant="49814596682044">
7577        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7578          <input
7579            value="1"
7580            class="qtyinputcs"
7581            type="text"
7582            name="quantity"
7583            min="1"
7584            pattern="[0-9]*"
7585          >
7586          
7587          <span class="cusqtyspan quantity-49814596682044 quantity-var-9604639260988"
7588            >1</span
7589          >
7590        </div>
7591      </div>
7592    </div>
7593  </div>
7594</div>
7595
7596              
7597            </div>
7598          </div>
7599        </div>
7600      
7601    
7602      
7603      
7604
7605        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7606          <img src="//thrivemeals.com.au/cdn/shop/files/Snack_Bundle_120X120_crop_center.png?v=1741136946" width="auto" height="auto" class="m-2 rounded m-auto" alt="Saver Snack Bundle" />
7607          <div class="mt-auto w-100 px-2">
7608            <p class="mb-1 lh-sm fs-14">Saver Snack Bundle</p>
7609            <p class="fs-16 fw-bold comparePriceOuter">$11.95   
7610            </p>
7611            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7612              
7613                <div class="product-all w-100 product-id-9937929437500 " data-product-id="9937929437500">
7614  <div class="add-cart-button d-none">
7615    <a href="javascript:void(0);" onclick="localCart.addItem(9937929437500, 51432648343868, 'Saver Snack Bundle', '/products/saver-snack-bundle', '//thrivemeals.com.au/cdn/shop/files/Snack_Bundle_150X150_crop_center.png?v=1741136946', 1195, 1195, 1, 'Bundle', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7616      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7617      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7618      <span class="cart-added"><i class="ion-android-done"></i></span>
7619      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7620    </a>
7621  </div>
7622  <div class="quantity-selector d-none">
7623    <div class="upsell_quantity buttons d-flex">
7624      <div class="product-quantity" data-variant="51432648343868">
7625        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7626          <input
7627            value="1"
7628            class="qtyinputcs"
7629            type="text"
7630            name="quantity"
7631            min="1"
7632            pattern="[0-9]*"
7633          >
7634          
7635          <span class="cusqtyspan quantity-51432648343868 quantity-var-9937929437500"
7636            >1</span
7637          >
7638        </div>
7639      </div>
7640    </div>
7641  </div>
7642</div>
7643
7644              
7645            </div>
7646          </div>
7647        </div>
7648      
7649    
7650      
7651      
7652
7653        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7654          <img src="//thrivemeals.com.au/cdn/shop/files/Quest_TortillaStyle-ProteinChips_32g_ChiliLimeFlavour_120X120_crop_center.png?v=1758599025" width="auto" height="auto" class="m-2 rounded m-auto" alt="Quest Chips" />
7655          <div class="mt-auto w-100 px-2">
7656            <p class="mb-1 lh-sm fs-14">Quest Chips</p>
7657            <p class="fs-16 fw-bold comparePriceOuter">$5.95   
7658            </p>
7659            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7660              
7661                <div class="product-all w-100 product-id-10167998513468 " data-product-id="10167998513468">
7662  <div class="add-cart-button d-none">
7663    <a href="javascript:void(0);" onclick="localCart.addItem(10167998513468, 52204785762620, 'Quest Chips', '/products/quest-protein-chips-tortilla-style-chili-lime-flavour', '//thrivemeals.com.au/cdn/shop/files/Quest_TortillaStyle-ProteinChips_32g_ChiliLimeFlavour_150X150_crop_center.png?v=1758599025', 595, 595, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7664      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7665      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7666      <span class="cart-added"><i class="ion-android-done"></i></span>
7667      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7668    </a>
7669  </div>
7670  <div class="quantity-selector d-none">
7671    <div class="upsell_quantity buttons d-flex">
7672      <div class="product-quantity" data-variant="52204785762620">
7673        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7674          <input
7675            value="1"
7676            class="qtyinputcs"
7677            type="text"
7678            name="quantity"
7679            min="1"
7680            pattern="[0-9]*"
7681          >
7682          
7683          <span class="cusqtyspan quantity-52204785762620 quantity-var-10167998513468"
7684            >1</span
7685          >
7686        </div>
7687      </div>
7688    </div>
7689  </div>
7690</div>
7691
7692              
7693            </div>
7694          </div>
7695        </div>
7696      
7697    
7698      
7699      
7700
7701        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7702          <img src="//thrivemeals.com.au/cdn/shop/files/Quest_TortillaStyle-ProteinChips_32g_NachoCheese_120X120_crop_center.png?v=1758600266" width="auto" height="auto" class="m-2 rounded m-auto" alt="Quest Chips" />
7703          <div class="mt-auto w-100 px-2">
7704            <p class="mb-1 lh-sm fs-14">Quest Chips</p>
7705            <p class="fs-16 fw-bold comparePriceOuter">$5.95   
7706            </p>
7707            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7708              
7709                <div class="product-all w-100 product-id-10168002117948 " data-product-id="10168002117948">
7710  <div class="add-cart-button d-none">
7711    <a href="javascript:void(0);" onclick="localCart.addItem(10168002117948, 52204828000572, 'Quest Chips', '/products/quest-protein-chips-tortilla-style-nacho-cheese', '//thrivemeals.com.au/cdn/shop/files/Quest_TortillaStyle-ProteinChips_32g_NachoCheese_150X150_crop_center.png?v=1758600266', 595, 595, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7712      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7713      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7714      <span class="cart-added"><i class="ion-android-done"></i></span>
7715      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7716    </a>
7717  </div>
7718  <div class="quantity-selector d-none">
7719    <div class="upsell_quantity buttons d-flex">
7720      <div class="product-quantity" data-variant="52204828000572">
7721        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7722          <input
7723            value="1"
7724            class="qtyinputcs"
7725            type="text"
7726            name="quantity"
7727            min="1"
7728            pattern="[0-9]*"
7729          >
7730          
7731          <span class="cusqtyspan quantity-52204828000572 quantity-var-10168002117948"
7732            >1</span
7733          >
7734        </div>
7735      </div>
7736    </div>
7737  </div>
7738</div>
7739
7740              
7741            </div>
7742          </div>
7743        </div>
7744      
7745    
7746      
7747      
7748
7749        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7750          <img src="//thrivemeals.com.au/cdn/shop/files/Gemini_Generated_Image_3fc5us3fc5us3fc5_transparent_064ea253-f2ff-4038-8951-424a195c3cc1_120X120_crop_center.png?v=1781165345" width="auto" height="auto" class="m-2 rounded m-auto" alt="Peanut Granola" />
7751          <div class="mt-auto w-100 px-2">
7752            <p class="mb-1 lh-sm fs-14">Peanut Granola</p>
7753            <p class="fs-16 fw-bold comparePriceOuter">$9.95   
7754            </p>
7755            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7756              
7757                <div class="product-all w-100 product-id-10142720983356 " data-product-id="10142720983356">
7758  <div class="add-cart-button d-none">
7759    <a href="javascript:void(0);" onclick="localCart.addItem(10142720983356, 52093242704188, 'Peanut Granola', '/products/peanut-granola', '//thrivemeals.com.au/cdn/shop/files/Gemini_Generated_Image_3fc5us3fc5us3fc5_transparent_064ea253-f2ff-4038-8951-424a195c3cc1_150X150_crop_center.png?v=1781165345', 995, 995, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7760      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7761      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7762      <span class="cart-added"><i class="ion-android-done"></i></span>
7763      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7764    </a>
7765  </div>
7766  <div class="quantity-selector d-none">
7767    <div class="upsell_quantity buttons d-flex">
7768      <div class="product-quantity" data-variant="52093242704188">
7769        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7770          <input
7771            value="1"
7772            class="qtyinputcs"
7773            type="text"
7774            name="quantity"
7775            min="1"
7776            pattern="[0-9]*"
7777          >
7778          
7779          <span class="cusqtyspan quantity-52093242704188 quantity-var-10142720983356"
7780            >1</span
7781          >
7782        </div>
7783      </div>
7784    </div>
7785  </div>
7786</div>
7787
7788              
7789            </div>
7790          </div>
7791        </div>
7792      
7793    
7794      
7795      
7796
7797        <div class="item my-3 py-2 w-100 d-flex flex-column align-items-center text-center px-2" style="min-width: 9rem;">
7798          <img src="//thrivemeals.com.au/cdn/shop/files/Gemini_Generated_Image_pwc5fjpwc5fjpwc5_transparent_120X120_crop_center.png?v=1781165219" width="auto" height="auto" class="m-2 rounded m-auto" alt="Almond Granola" />
7799          <div class="mt-auto w-100 px-2">
7800            <p class="mb-1 lh-sm fs-14">Almond Granola</p>
7801            <p class="fs-16 fw-bold comparePriceOuter">$9.95   
7802            </p>
7803            <div class="priceAndAction d-flex flex-column flex-sm-row align-items-center justify-content-center mt-auto ">
7804              
7805                <div class="product-all w-100 product-id-10142721278268 " data-product-id="10142721278268">
7806  <div class="add-cart-button d-none">
7807    <a href="javascript:void(0);" onclick="localCart.addItem(10142721278268, 52093247619388, 'Almond Granola', '/products/almond-granola', '//thrivemeals.com.au/cdn/shop/files/Gemini_Generated_Image_pwc5fjpwc5fjpwc5_transparent_150X150_crop_center.png?v=1781165219', 995, 995, 1, 'SNACKS', 689703944508)" class="add-to-cart bg-green border-green fs-14 ajax-spin-cart btn-style3 ">
7808      <span class="cart-title fw-bolder"><i class="icon-handbag me-2"></i>Add</span>
7809      <span class="cart-loading load-anim"><i class="ion-load-a"></i></span>
7810      <span class="cart-added"><i class="ion-android-done"></i></span>
7811      <span class="cart-unavailable"><i class="ion-android-alert"></i></span>
7812    </a>
7813  </div>
7814  <div class="quantity-selector d-none">
7815    <div class="upsell_quantity buttons d-flex">
7816      <div class="product-quantity" data-variant="52093247619388">
7817        <div class="cart-plus-minus d-flex bg-green border-green rounded-pill">
7818          <input
7819            value="1"
7820            class="qtyinputcs"
7821            type="text"
7822            name="quantity"
7823            min="1"
7824            pattern="[0-9]*"
7825          >
7826          
7827          <span class="cusqtyspan quantity-52093247619388 quantity-var-10142721278268"
7828            >1</span
7829          >
7830        </div>
7831      </div>
7832    </div>
7833  </div>
7834</div>
7835
7836              
7837            </div>
7838          </div>
7839        </div>
7840      
7841    
7842  
7843
7844             </div>
7845          </div>
7846      </div>
7847      <div class="border-topbg-white" id="border-topbg-white">
7848        <ul class="subtotal-title-area"  style="display:none;">
7849          <li class="minicart-msg-section hazy-content-direct">
7850            <div class="cart-FreeShippingMsg text-end pb-0 d-flex align-items-center justify-content-between">
7851              <div class="d-flex align-items-center justify-content-start">
7852                <p class="notification-message-mini-cart bold"></p>
7853              </div>
7854              <a href="javascript:void(0);" class="text-green d-flex flex-column align-items-center mini-shipping-board d-none checkPostalBtnShipping"
7855              >
7856              </a>
7857
7858            </div>
7859          </li>
7860          <li class="offer-list-section hazy-content-direct">
7861            <ul
7862              class="d-flex align-items-center justify-between rounded-pill list-unstyled lh-05 my-2 sm-font-10 fw-bolder offer-list"
7863              id="offer-list"
7864            ></ul>
7865          </li>
7866          <li class="subtotal-titles">
7867            <div class="sub-total-section d-flex align-items-center justify-content-between d-none">
7868              <label class="fs-13">Subtotal</label>
7869              <span class="fs-13 sub-total-amount"></span>
7870            </div>
7871            <div class="total-discounts-with-shipping d-flex align-items-center justify-content-between d-none">
7872              <label class="fs-13">Cart Discount</label>
7873              <span class="fs-13 fw-bold  total-discounts-with-shipping-amount color-green"></span>
7874            </div><div class="welcome-discounts-with-shipping d-flex align-items-center justify-content-between d-none">
7875              <label class="fs-13 d-flex align-items-center gap-1">
7876                Discount<span class="welcome-discount-code-label fw-bold"></span>
7877                <button
7878                  type="button"
7879                  class="welcome-discount-remove remove-welcome25 border-0 p-0"
7880                  data-discount-code=""
7881                  title="Remove discount"
7882                  aria-label="Remove discount"
7883                >
7884                   <i class="fa-solid fa-trash"></i>
7885                </button>
7886              </label>
7887              <span class="fs-13 fw-bold welcome-discounts-with-shipping-amount color-green"></span>
7888            </div>
7889            <div class="free-shipping-section-whole">
7890              <div class="without-email">  
7891                <div id="withlogin" class="hazy-content">
7892                  <div id="withlogininner">
7893                    <div class="discount-section d-flex align-items-center justify-content-between d-none">
7894                      <label class="fs-13">Discount<span class="discount_code d-none"></span></label>
7895                      <span class="badge rounded-pill text-green-discount fw-bold discount-amount"></span>
7896                    </div><div class="discount-entry" style="display:none;">
7897                      <button type="button" class="discount-entry-toggle" aria-expanded="false">
7898                        <i class="fa-solid fa-tag"></i>Add a discount code
7899                      </button>
7900                      <div class="discount-entry-field d-none">
7901                        <input type="text" class="discount-entry-input" placeholder="Promo code"
7902                          autocomplete="off" autocapitalize="characters" spellcheck="false">
7903                        <button type="button" class="discount-entry-apply">Apply</button>
7904                      </div>
7905                      <div class="discount-entry-applied d-none" style="display:none;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding:7px 10px;background:#f0faf3;border:1px solid #4cb849;border-radius:9px;">
7906                        <span class="discount-entry-applied-label fs-13 fw-bold" style="color:#1a7a2e;"></span>
7907                        <button type="button" class="discount-entry-remove" style="border:none;background:transparent;color:#A85400;font-weight:700;cursor:pointer;font-size:12px;padding:0;">Remove</button>
7908                      </div>
7909                      <div class="discount-code-feedback fs-12 d-none"></div>
7910                    </div><div class="per-serving-section d-flex align-items-center justify-content-between d-none">
7911                      <label class="fs-13">Price Per Serving</label>
7912                      <span class="fw-bold per-serving-amount"></span>
7913                    </div><div class="cart-meals-line d-none d-flex align-items-center justify-content-between">
7914                      <span class="fs-13 color-ink"><span class="cart-meals-line-count">0 meals</span> <span class="cart-meals-line-rate text-muted"></span></span>
7915                      <span class="fw-bold cart-meals-line-total fs-14"></span>
7916                    </div>
7917                    <div class="free-shipping-section  d-flex align-items-center justify-content-between">
7918                      <label class="fs-13">Shipping<!--<span class="fs-8 fw-bold">(Shipping applied at checkout)</span>--></label>
7919                      <span class="">
7920                        <span class="free-shipping-text text-grren py-0 fs-13 text-uppercase">free</span>
7921                        <span class="free-shipping-amount fs-13">$15</span>
7922                      </span>
7923                    </div><div class="shipping-est-note fs-11 text-muted d-none" style="margin-top:2px;line-height:1.35;">
7924                      Final shipping is calculated from your delivery address.
7925                    </div><div class="shipment-disclosure fs-11" style="opacity:.85;" data-shipments="1">
7926                      <div class="shipment-line shipment-single d-flex align-items-center justify-content-between">
7927                        <span><i class="fa-solid fa-truck me-1"></i>Ships chilled in one delivery (Sat onwards)</span><a href="#" class="change-delivery-addr d-none" data-change-delivery role="button" style="text-decoration:underline;font-weight:600;white-space:nowrap;margin-left:8px;color:inherit;flex:0 0 auto;">Change Delivery Addr.</a>
7928                      </div>
7929                      <div class="shipment-line shipment-ridewith d-none d-flex align-items-center justify-content-between">
7930                        <span><i class="fa-solid fa-truck me-1"></i>Your supplements ship with your order — one chilled delivery (Sat onwards)</span>
7931                        <a href="#" class="change-delivery-addr d-none" data-change-delivery role="button" style="text-decoration:underline;font-weight:600;white-space:nowrap;margin-left:8px;color:inherit;flex:0 0 auto;">Change Delivery Addr.</a>
7932                      </div>
7933                      <div class="shipment-line shipment-supps d-none d-flex align-items-center justify-content-between">
7934                        <span><i class="fa-solid fa-box me-1"></i>Your supplements ship separately via Australia Post</span>
7935                      </div>
7936                    </div><div class="supp-min-note d-none" role="note" style="display:flex;gap:8px;align-items:flex-start;margin:8px 0 4px;padding:9px 11px;background:#FFF3E0;border:1.5px solid #FF8F00;border-radius:10px;">
7937                      <i class="fa-solid fa-circle-info" style="color:#A85400;margin-top:2px;flex:0 0 auto;font-size:12px;"></i>
7938                      <span style="font-size:11.5px;line-height:1.4;color:#A85400;font-weight:600;">Supplements have <strong>no minimum</strong> — you can order them on their own. The <strong>$89 minimum</strong> only applies to a food order (meals, snacks, drinks &amp; bundles), which bills separately.</span>
7939                    </div>
7940
7941                    <hr class="my-1">
7942                    <div class="total-price-section d-flex align-items-center justify-content-between">
7943                      <label class="fs-14 fw-bold">Total Amount</label>
7944                      <span class="fw-bold ">
7945                        <span class="total-discount-amount text-decoration-line-through"></span>
7946                        <span class="total-price-amount fs-14 color-green"></span>
7947                      </span>
7948                    </div><div class="cart-ndis-panel d-none">
7949                      <div class="cart-ndis-row cart-ndis-paytoday d-flex align-items-center justify-content-between">
7950                        <span class="cart-ndis-label">You pay today (<span class="cart-ndis-copay-pct"></span>%)</span>
7951                        <span class="cart-ndis-copay-amount fw-bold"></span>
7952                      </div>
7953                      <div class="cart-ndis-row cart-ndis-covered d-flex align-items-center justify-content-between">
7954                        <span class="cart-ndis-label">NDIS covers <span class="cart-ndis-covered-pct"></span>% (meal cost + shipping)</span>
7955                        <span class="cart-ndis-covered-amount fw-bold"></span>
7956                      </div>
7957                      <div class="cart-ndis-row cart-ndis-full d-flex align-items-center justify-content-between">
7958                        <span class="cart-ndis-label">Full goods price</span>
7959                        <span class="cart-ndis-full-amount"></span>
7960                      </div>
7961                    </div>
7962                  </div>
7963                  <span id="showintheop">
7964                    <a id="movetostep1" href="javascript:void(0);">🔒 Login to unlock your discounts & savings →</a>
7965                  </span>
7966                </div>
7967              </div>
7968              <div class="with-email">
7969                
7970              </div>
7971            </div>
7972            <hr class="my-1">
7973
7974            <!--<div id="meal_style_wrap" class="only_logedin_notattch" style="display:none;">
7975                <div id="meal_style" class=" d-flex gap-3 align-items-center">
7976                  <h4 class="fs-12 fw-bold mb-2 w-50">Choose your goal?</h4>
7977                  <select id="mealStyleSelect" class="form-control fs-12 fw-bold w-50">
7978                    <option value="low-carb" selected>Low Carb</option>
7979                    <option value="performance">Performance</option>
7980                    <option value="keto">Keto</option>
7981                    <option value="mixed">Mixed / Other</option>
7982                  </select>
7983                </div>
7984            </div>-->
7985
7986            <div id="meal_style_wrap" class="only_logedin_notattch" style="display:none;">
7987              <div id="meal_style_inner_wrap" class="d-flex gap-1 justify-content-around">
7988                <h4 class="fs-12 fw-bold mb-2 w-20">You Like:</h4>
7989                <div id="meal_style" class="d-flex gap-1 justify-content-around w-80">
7990                  <label class="meal-tag keto">
7991                    <input type="radio" name="meal_style" value="keto" hidden>
7992                    Keto
7993                  </label>
7994                  <label class="meal-tag low-carb">
7995                    <input type="radio" name="meal_style" value="low-carb" checked hidden>
7996                    Low Carb
7997                  </label>
7998                  <label class="meal-tag performance">
7999                    <input type="radio" name="meal_style" value="performance" hidden>
8000                    Performance
8001                  </label>
8002                  <label class="meal-tag mixed">
8003                    <input type="radio" name="meal_style" value="mixed" hidden>
8004                    Mixed / Other
8005                  </label>
8006                </div>
8007              </div>
8008            </div>
8009
8010            <hr class="my-1 only_logedin_notattch" style="display:none;">
8011            <!--<div class="total-price-discount total-price-discount-section d-none align-items-center justify-content-between">
8012              <label class="fs-12">DISCOUNT OF <span class="total-price-discount-amount"></span> has been applied and will be adjusted to your subtotal at checkout.</label>
8013            </div>
8014            <hr class="my-1 total-price-discount-hr d-none">--><div class="minimum-text-info d-flex align-items-center justify-content-between d-none">
8015              <label class="fs-16 fw-bold"></label>
8016              <span class="d-flex align-items-center gap-2">
8017                <span class="total-minimum-limit text-danger total-applied-amount fs-12 fw-bold"></span>
8018                <details class="min-why">
8019                  <summary class="min-why-toggle" aria-label="Why is there a $89 minimum?">
8020                    <i class="fa-solid fa-circle-info"></i>Why?
8021                  </summary>
8022                  <div class="min-why-pop fs-11">
8023                    The $89 minimum applies to your food order (meals, snacks, drinks and bundles
8024                    combined). It keeps every recurring delivery worthwhile on its own. Supplements
8025                    are excluded — they bill on their own schedule and don't count toward the $89.
8026                  </div>
8027                </details>
8028              </span>
8029            </div>
8030            <div id="wrapper-response" class="responseMsg"></div>
8031            <div id="min-response"></div>            
8032            <div class="show_error_checkout"></div>
8033          </li>
8034           <li class="mini-cart-btns guest-order">
8035   <div class="d-flex justify-content-between frequency-selector">
8036     
8037     
8038<div class="d-flex align-items-center">
8039        <p class="fs-16">Frequency:</p> 
8040</div>
8041<div class="d-flex box align-items-center ">
8042  <span class="d-none cart-loading load-anim" id="order-frequency-loader"><i class="ion-load-a"></i></span>
8043  <select class="fs-14 fw-bold " id="order-frequency">
8044    
8045    <option  value="WeeklySubscription"  id="weekly-subscription" purchase-option="Weakly Subscription" selected>Weekly Subscription</option>
8046    <option value="FortnightlySubscription"  id="fortnightly-subscription" purchase-option="Fortnightly Subscription" >Fortnightly Subscription</option>
8047    <option value="OneTimePurchase" id="one-time-purchase" purchase-option="One Time Purchase" >One Time Purchase</option>
8048  </select>
8049</div>
8050
8051   </div>
8052      <div class="cart-btns">
8053        <a class="btn btn-style1 min-cal create-order-btn mt-2 px-0"
8054          id="continue_to_shipping" data-action="primary">Select Delivery Date and Checkout
8055        </a>   
8056      </div>
8057    </li>
8058          <li class="mini-cart-btns subsciption-update">       
8059  <div class="cart-btns">
8060    <button type="button" class="update-subscription-btn" onclick="localCart.updateSubscriptionLocal();">Update Subscription</button>        
8061  </div>
8062</li>
8063        </ul>
8064      </div>
8065 </div>
8066  
8067  </div>
8068</div>
8069<style>
8070.mini-cart {
8071      display: flex;
8072      flex-direction: column;
8073}
8074.checkPostalCodeBox2 {
8075    position: inherit;
8076}
8077.subtotal-title-area {
8078      margin-top: auto; /* Push the subtotal area to the bottom */
8079}
8080.cart-item-loop .cart-title{
8081        justify-content: space-between !important;
8082}
8083/* Pin the qty stepper to the RIGHT regardless of product-title length: the title box
8084   fills the row (min-width:0 lets long titles wrap/shrink inside it) and the stepper is
8085   a fixed-width sibling pushed to the far right, so it never shifts with the title. */
8086.cart-item-loop .cart-title{ flex: 1 1 auto; min-width: 0; }
8087.cart-item-loop .cart-qty-inline{ flex: 0 0 auto; margin-left: auto; }
8088/* Same right-pin for SUPPLEMENT rows (different markup: .cart-supp-row-info / -qty). */
8089.cart-supp-row .cart-supp-row-info{ flex: 1 1 auto; min-width: 0; }
8090.cart-supp-row .cart-supp-row-qty{ flex: 0 0 auto; margin-left: auto; }
8091.max-h-100vh {
8092    max-height: 100vh;
8093}
8094body.mini-cart-open{
8095    overflow: hidden;
8096    height: 100vh;
8097    position: fixed;
8098    width: 100%;
8099}
8100.display-none{
8101    display:none !important;
8102}
8103</style>
8104
8105<link href="//thrivemeals.com.au/cdn/shop/t/214/assets/mini-cart.css?v=47102755019431736591783673534" rel="stylesheet" type="text/css" media="all">
8106<link href="//thrivemeals.com.au/cdn/shop/t/214/assets/cart-drawer-redesign.css?v=11177231783965611151784623868" rel="stylesheet" type="text/css" media="all">
8107<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/cookie-management.js?v=180761083481196546071783673534" ></script>
vendor: 1 bytes, line 8107
8107
8108<script> 
8109function cartBodyHeightCalc() {
8110  const headHeight = $(".cartHead").innerHeight() || 0;
8111  const footHeight = $(".subtotal-title-area").innerHeight() || 0;
8112  const firstLiHeight = $(".subtotal-title-area li:first-child").innerHeight() || 0;
8113  const checkPostalCodeBox2 = $(".checkPostalCodeBox2").innerHeight() || 0;
8114  const adjustedFootHeight = footHeight - firstLiHeight;
8115  const extraPadding = 50;  
8116  const cartBodyMaxHeight = `calc(100vh - ${headHeight + adjustedFootHeight + extraPadding}px)`;
8117  // $(".cartBody").css("max-height", cartBodyMaxHeight);
8118  if ($(".checkPostalCodeBox2").is(":visible")) {
8119    // $(".postCodeForm").css("max-height", `calc(100vh - ${headHeight + adjustedFootHeight + extraPadding-50}px)`);
8120  }
8121}
8122
8123  $(document).on("click", ".checkPostalBtn2", function () {
8124    $(".checkPostalCodeBox2").slideToggle();  // Toggle visibility of the postal code section
8125    $(".backdropMiniCart").fadeToggle();
8126    $(this).toggleClass("clicked");
8127    cartBodyHeightCalc();
8128    $('.postCodeForm').animate({
8129        scrollTop: $(".windowDate").offset().top
8130      }, 1000);
8131  });
8132  
8133  
8134  $(".checkPostalBtn2Close, .checkPostalBtnShipping").click(function(){
8135    $(".subtotal-title-area").css("display", "block");
8136    $(".checkPostalCodeBox2").slideToggle()
8137    $(".backdropMiniCart").fadeToggle()
8138    $(this).toggleClass("clicked");
8139    
8140  })
8141   $(document).ready(function(){cartBodyHeightCalc()})
8142  /* BUGFIX (Saahil): `$(window).resize(fn)` throws "$(...).resize is not a function" on this
8143     store's jQuery (the .resize() event shorthand is gone), which ABORTED the rest of this
8144     
8144<script> — so every delegated click handler below (break-nudge Add-more / Add-N upgrade,
8145     "+ Add more from the menu" close, the under-min CTA close, …) silently never registered.
8146     Use a native resize listener so the block always runs. */
8147  window.addEventListener("resize", function(){ cartBodyHeightCalc(); });
8148
8149  /* Cart-drawer redesign — discount-code entry (screens-cart.jsx §12).
8150     Pure UI wiring: expands the field and hands the code to the EXISTING
8151     LocalCart.applyDiscountCode(). No pricing/better-price-wins logic here —
8152     that stays in custom-cart-ajax-local.js. */
8153  (function () {
8154    var root = document.querySelector("#mini-cart .discount-entry");
8155    if (!root) return;
8156    var toggle = root.querySelector(".discount-entry-toggle");
8157    var field = root.querySelector(".discount-entry-field");
8158    var input = root.querySelector(".discount-entry-input");
8159    var applyBtn = root.querySelector(".discount-entry-apply");
8160    var feedback = root.querySelector(".discount-code-feedback");
8161    var appliedRow = root.querySelector(".discount-entry-applied");
8162    var appliedLabel = root.querySelector(".discount-entry-applied-label");
8163    var removeBtn = root.querySelector(".discount-entry-remove");
8164
8165    function openField() {
8166      field.classList.remove("d-none");
8167      toggle.classList.add("d-none");
8168      toggle.setAttribute("aria-expanded", "true");
8169      input.focus();
8170    }
8171    // Show the "applied" chip (code + Remove). offText is optional (e.g. "$25.00").
8172    function showApplied(code, offText) {
8173      if (appliedLabel) appliedLabel.textContent = code + (offText ? " — " + offText + " off at checkout" : " — applied at checkout");
8174      if (appliedRow) { appliedRow.classList.remove("d-none"); appliedRow.style.display = "flex"; }
8175      if (field) field.classList.add("d-none");
8176      if (toggle) { toggle.classList.add("d-none"); toggle.setAttribute("aria-expanded", "false"); }
8177      setFeedback("", false);
8178    }
8179    // Clear the stored code and revert to the "Add a discount code" entry point.
8180    // note: optional message shown below the toggle (used by the auto-drop re-evaluation).
8181    function clearApplied(note) {
8182      try { localStorage.removeItem("thr1ve_manual_discount"); } catch (e) {}
8183      try { localStorage.removeItem("thr1ve_manual_discount_meta"); } catch (e) {}
8184      // Belt-and-braces (Codex L2): also clear the cart-transform discount attributes on the Shopify
8185      // cart, so removing a code can't leave a stale _thr1ve_discount_* that the Function re-applies on
8186      // a later checkout even if the checkout-time clear later fails. Best-effort / fire-and-forget.
8187      try {
8188        fetch('/cart/update.js', {
8189          method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },
8190          body: JSON.stringify({ attributes: { "_thr1ve_discount_code": "", "_thr1ve_discount_kind": "", "_thr1ve_discount_amount": "", "_thr1ve_discount_percent": "" } })
8191        }).catch(function () {});
8192      } catch (e) {}
8193      if (appliedRow) { appliedRow.classList.add("d-none"); appliedRow.style.display = "none"; }
8194      if (field) field.classList.add("d-none");
8195      if (input) input.value = "";
8196      if (toggle) { toggle.classList.remove("d-none"); toggle.setAttribute("aria-expanded", "false"); }
8197      setFeedback(note || "", !!note);
8198    }
8199    function setFeedback(msg, isError) {
8200      if (!feedback) return;
8201      feedback.textContent = msg || "";
8202      feedback.classList.toggle("d-none", !msg);
8203      feedback.classList.toggle("is-error", !!isError);
8204    }
8205    /* Doc5 §4 discount guard (LOCKED): validate the entered code against Shopify via the
8206       Storefront API, then apply the better-of / reject-and-tell rule. The "existing discount"
8207       the customer already has = their TIER saving vs the $12.95 full price
8208       ((1295 − tierPerMeal) × meals). If the code doesn't beat that, we DON'T apply it and tell
8209       them their current pricing is already better. If it does, we apply it (the B5 cart-transform
8210       Function enforces base-then-apply / never-stack at checkout). */
8211    var SF_DOMAIN = "thrive-meals-oppenheimer.myshopify.com";
8212    // Public Storefront API token (safe to embed) — used to validate promo codes against Shopify.
8213    // A theme setting overrides it if set, otherwise this token is used.
8214    var SF_TOKEN  = ("6ff1d070c714073d7c5a8509427acab4" || "6ff1d070c714073d7c5a8509427acab4");
8215    function _money(c) { return "$" + (Math.round(c) / 100).toFixed(2); }
8216    // Current order type (drives the ONE-TIME tier cap). One-time caps at the 18 tier ($10.95);
8217    // the 25 tier ($9.95) is subscriber-only, so a one-time 25+ cart is charged $10.95 not $9.95.
8218    function _orderType() {
8219      try { return (JSON.parse(localStorage.getItem("window_state") || "{}").freq) || "WeeklySubscription"; }
8220      catch (e) { return "WeeklySubscription"; }
8221    }
8222    function tierSavingCents() {
8223      try {
8224        var lc = window.localCart; if (!lc) return 0;
8225        var meals = lc.countLunchAndDinnerMeals(lc.cart.items) || 0;
8226        if (meals <= 0) return 0;
8227        // Use the box-size tier for a FIXED box (matches what each meal is actually charged),
8228        // else the live-count tier for flexible. Saving = (full − tier) × meals currently in cart.
8229        var bt = 0; try { bt = Number(localStorage.getItem("thr1ve_box_target")) || 0; } catch (e) {}
8230        var t = lc.getDoc5MealTier(bt > 0 ? Math.max(meals, bt) : meals);
8231        var per = (t && t.currentPerMealCents != null) ? t.currentPerMealCents : 1295;
8232        per = lc.capRateForOrder(per, _orderType());   // one-time caps at the 18 tier ($10.95)
8233        return Math.max(0, (1295 - per) * meals);   // 1295 = Doc5 full per-meal price
8234      } catch (e) { return 0; }
8235    }
8236    function mealCartLines() {
8237      try {
8238        var lc = window.localCart; if (!lc || !lc.cart) return [];
8239        // LocalCart items carry variant_id + qty (not id/quantity). Compare the code against the
8240        // MEAL lines — that's what the tier pricing competes with (Doc5 §4 "per eligible line").
8241        return (lc.cart.items || []).filter(function (i) {
8242          return i && i.variant_id && i.product_type === "LUNCH & DINNER";
8243        }).map(function (i) {
8244          return { merchandiseId: "gid://shopify/ProductVariant/" + i.variant_id, quantity: (i.qty || i.quantity || 1) };
8245        });
8246      } catch (e) { return []; }
8247    }
8248    async function cartDiscount(lines, code) {
8249      var query = "mutation($lines:[CartLineInput!]!,$codes:[String!]!){cartCreate(input:{lines:$lines,discountCodes:$codes}){cart{discountCodes{applicable code} cost{subtotalAmount{amount}} discountAllocations{discountedAmount{amount}}} userErrors{message}}}";
8250      var r = await fetch("https://" + SF_DOMAIN + "/api/2024-10/graphql.json", {
8251        method: "POST",
8252        headers: { "Content-Type": "application/json", "X-Shopify-Storefront-Access-Token": SF_TOKEN },
8253        body: JSON.stringify({ query: query, variables: { lines: lines, codes: [code] } })
8254      });
8255      var j = await r.json();
8256      var cart = j && j.data && j.data.cartCreate && j.data.cartCreate.cart;
8257      if (!cart) return null;
8258      return {
8259        applicable: (cart.discountCodes || []).some(function (d) { return d.applicable && String(d.code).toUpperCase() === code; }),
8260        offCents: Math.round((cart.discountAllocations || []).reduce(function (s, a) { return s + parseFloat((a.discountedAmount && a.discountedAmount.amount) || 0); }, 0) * 100),
8261        subCents: Math.round(parseFloat((cart.cost && cart.cost.subtotalAmount && cart.cost.subtotalAmount.amount) || 0) * 100)
8262      };
8263    }
8264    async function lookupShopifyDiscount(code) {
8265      if (!SF_TOKEN) return { reason: "no-token" };
8266      var lines = mealCartLines();
8267      if (!lines.length) return { reason: "empty" };
8268      try {
8269        // Query the REAL cart plus a LARGE reference cart (first variant × 40) so we can tell a
8270        // FIXED $ code (flat — doesn't scale with the cart) from a PERCENTAGE (scales).
8271        var refLines = [{ merchandiseId: lines[0].merchandiseId, quantity: 40 }];
8272        var out = await Promise.all([cartDiscount(lines, code), cartDiscount(refLines, code)]);
8273        var cur = out[0], ref = out[1];
8274        if (!cur) return { reason: "error" };
8275        if (!cur.applicable) return { reason: "invalid" };
8276        var rate = (ref && ref.subCents > 0) ? (ref.offCents / ref.subCents) : 0;
8277        var expectedIfPct = Math.round(rate * cur.subCents);
8278        var isFixed = ref ? (Math.abs(cur.offCents - expectedIfPct) > 30) : false;  // > 30c off a proportional % ⇒ flat $
8279        return { ok: true, offCents: cur.offCents, subCents: cur.subCents, isFixed: isFixed };
8280      } catch (e) { return { reason: "error" }; }
8281    }
8282    function mealTierSubtotalCents() {
8283      try {
8284        var lc = window.localCart; if (!lc) return 0;
8285        var meals = lc.countLunchAndDinnerMeals(lc.cart.items) || 0;
8286        if (meals <= 0) return 0;
8287        var bt = 0; try { bt = Number(localStorage.getItem("thr1ve_box_target")) || 0; } catch (e) {}
8288        var t = lc.getDoc5MealTier(bt > 0 ? Math.max(meals, bt) : meals);
8289        var per = (t && t.currentPerMealCents != null) ? t.currentPerMealCents : 1295;
8290        per = lc.capRateForOrder(per, _orderType());   // one-time caps at the 18 tier ($10.95)
8291        return per * meals;
8292      } catch (e) { return 0; }
8293    }
8294    var FIXED_CODE_MIN_CENTS = 8900;  // $89 order minimum before a fixed-$ code can apply
8295    async function applyCode() {
8296      var code = (input.value || "").trim().toUpperCase();
8297      if (!code) { input.focus(); return; }
8298      setFeedback("Checking " + code + "…", false);
8299      applyBtn.disabled = true;
8300      try {
8301        var res = await lookupShopifyDiscount(code);
8302        // If we can't validate via Storefront (no token yet / empty cart / network) fall back to
8303        // the existing apply path so nothing regresses.
8304        if (res.reason === "no-token" || res.reason === "empty" || res.reason === "error") {
8305          // Can't validate right now → store the code so it carries to checkout (validated there).
8306          // NEVER call applyDiscountCode — it overwrites the LocalCart from the empty Shopify cart
8307          // and wipes every item.
8308          try { localStorage.setItem("thr1ve_manual_discount", code); } catch (e) {}
8309          showApplied(code, "");
8310          return;
8311        }
8312        if (res.reason === "invalid") { setFeedback("We couldn't find that code.", true); return; }
8313        // A FIXED-value code can't sensibly apply to a small cart (Shopify caps it at the cart
8314        // value) — it only applies once the order reaches the $89 minimum. Percentage codes scale,
8315        // so they're fine at any size.
8316        if (res.isFixed && mealTierSubtotalCents() < FIXED_CODE_MIN_CENTS) {
8317          setFeedback("This is a fixed-value code — it can only be applied once your order reaches the $89 minimum. Add more meals and try again.", true);
8318          return;
8319        }
8320        var tier = tierSavingCents();
8321        if (res.offCents <= tier) {
8322          // reject-and-tell: their tier pricing already beats the code → keep the better price.
8323          setFeedback("You're already getting a better deal (" + _money(tier) + " off) than this code (" + _money(res.offCents) + " off) — we've kept your better price.", true);
8324          return;
8325        }
8326        // Code beats the tier → STORE it so it carries to checkout (&discount=), where the B5
8327        // Function enforces base-then-apply / better-of. Do NOT call applyDiscountCode: it
8328        // overwrites the LocalCart from the empty Shopify cart and deletes every item.
8329        try {
8330          localStorage.setItem("thr1ve_manual_discount", code);
8331          // Remember what this code was worth (and %/fixed) so we can re-check it against the tier
8332          // saving if the meal count later changes and pushes the box into a cheaper tier.
8333          localStorage.setItem("thr1ve_manual_discount_meta", JSON.stringify({ code: code, offCents: res.offCents, subCents: res.subCents, isFixed: !!res.isFixed }));
8334        } catch (e) {}
8335        showApplied(code, _money(res.offCents));
8336      } catch (e) {
8337        setFeedback("We couldn't apply that code right now.", true);
8338      } finally {
8339        applyBtn.disabled = false;
8340      }
8341    }
8342
8343    // Re-run the Doc5 §4 guard against a code that's ALREADY stored, in case the meal count
8344    // changed since it was applied (e.g. 14 → 18 crosses into a cheaper tier whose saving now
8345    // beats the code). If the tier now wins, drop the code and tell them — same reject-and-tell
8346    // outcome they'd get typing it in at the new count. The B5 Function still enforces better-of
8347    // at checkout; this keeps the drawer honest. Client-side, no API call.
8348    function reevaluateStored() {
8349      var code, meta;
8350      try {
8351        code = localStorage.getItem("thr1ve_manual_discount");
8352        meta = JSON.parse(localStorage.getItem("thr1ve_manual_discount_meta") || "null");
8353      } catch (e) { return; }
8354      if (!code) return;
8355      // A code stored WITHOUT meta came from the no-validation fallback — we have no value to
8356      // compare, so leave it (checkout validates it). Only re-check codes we priced.
8357      if (!meta || meta.offCents == null) return;
8358      var meals = 0;
8359      try { var lc = window.localCart; meals = (lc && lc.cart) ? (lc.countLunchAndDinnerMeals(lc.cart.items) || 0) : 0; } catch (e) {}
8360      if (meals <= 0) return;
8361      var tier = tierSavingCents();
8362      var sub = mealTierSubtotalCents();
8363      // Fixed $ codes keep their value; % codes scale with the (new) meal subtotal.
8364      var codeOff = meta.isFixed ? meta.offCents
8365        : (meta.subCents > 0 ? Math.round((meta.offCents / meta.subCents) * sub) : meta.offCents);
8366      // Fixed code can no longer apply if the order dropped below the $89 minimum.
8367      if (meta.isFixed && sub < FIXED_CODE_MIN_CENTS) {
8368        clearApplied("Removed " + code + " — a fixed-value code needs the $89 order minimum. Add more meals to use it.");
8369        return;
8370      }
8371      // Tier now beats the code → drop it and keep the better price (reject-and-tell).
8372      if (codeOff <= tier) {
8373        clearApplied("Removed " + code + " — your box pricing now saves " + _money(tier) + ", which beats this code (" + _money(codeOff) + "). We've kept your better price.");
8374        return;
8375      }
8376      // Still the better deal — keep it, but refresh the chip's amount for % codes as it scales.
8377      showApplied(code, _money(codeOff));
8378    }
8379
8380    toggle.addEventListener("click", openField);
8381    applyBtn.addEventListener("click", applyCode);
8382    if (removeBtn) removeBtn.addEventListener("click", function () { clearApplied(); });
8383    input.addEventListener("keydown", function (e) {
8384      if (e.key === "Enter") { e.preventDefault(); applyCode(); }
8385    });
8386    // Restore the applied chip if a code is already stored (persists across drawer opens / reloads).
8387    try {
8388      var _stored = localStorage.getItem("thr1ve_manual_discount");
8389      if (_stored) showApplied(_stored, "");
8390    } catch (e) {}
8391    // Watch the drawer for cart-line changes (add/remove/qty) and re-check the stored code.
8392    // Debounced, and gated on the meal count actually changing, so it can't loop on our own
8393    // chip-toggling DOM writes.
8394    (function () {
8395      var host = document.getElementById("mini-cart") || root;
8396      if (!host || typeof MutationObserver === "undefined") return;
8397      var lastMeals = -1, timer = null;
8398      function tick() {
8399        var m = 0;
8400        try { var lc = window.localCart; m = (lc && lc.cart) ? (lc.countLunchAndDinnerMeals(lc.cart.items) || 0) : 0; } catch (e) {}
8401        if (m === lastMeals) return;
8402        lastMeals = m;
8403        reevaluateStored();
8404      }
8405      var obs = new MutationObserver(function () {
8406        if (timer) clearTimeout(timer);
8407        timer = setTimeout(tick, 450);
8408      });
8409      obs.observe(host, { childList: true, subtree: true, characterData: true });
8410      // Prime the baseline once so the first real change is detected (not the initial render).
8411      setTimeout(tick, 600);
8412    })();
8413  })();
8414
8415  /* F3 box-picker — plan strip "Change" button (screens-cart.jsx PLAN STRIP).
8416     Navigates to the standalone Box-size picker PAGE (/pages/build-your-box,
8417     section box-size-picker.liquid) where the customer changes box size +
8418     frequency, then returns. The current cart is preserved (we only navigate;
8419     nothing is cleared) and the picker writes the SAME canonical window_state
8420     {plan,freq} this drawer reads, so the chosen plan carries straight back.
8421     Delegated so it survives cart re-renders.
8422     SAFE FALLBACK: if the picker page is somehow unreachable, fall back to the
8423     legacy in-drawer Plan step so the button NEVER dead-ends (Saahil: "Change
8424     goes nowhere"). */
8425  document.addEventListener("click", function (e) {
8426    var changeBtn = e.target.closest && e.target.closest(".cart-plan-strip-change, [data-action='change-plan']");
8427    if (!changeBtn) return;
8428
8429    // FIX #1 (menu-refine3): the control is now a real <a href>. If it carries a
8430    // usable href, DO NOT preventDefault — let the browser navigate natively so the
8431    // link works with zero JS dependency (this handler keeps failing at runtime for
8432    // Saahil; the native anchor is the robust path). We only take over (and
8433    // preventDefault) for the legacy non-anchor / hashed case.
8434    var nativeHref = changeBtn.getAttribute && changeBtn.getAttribute("href");
8435    if (changeBtn.tagName === "A" && nativeHref && nativeHref.charAt(0) !== "#" &&
8436        nativeHref.indexOf("javascript:") !== 0) {
8437      return; // browser handles navigation
8438    }
8439    e.preventDefault();
8440
8441    // Primary: go to the box-size picker page. Allow a theme override of the
8442    // handle via window.THR1VE_BOX_PICKER_URL; default to the built handle.
8443    var pickerUrl = (typeof window !== "undefined" && window.THR1VE_BOX_PICKER_URL) || "/pages/build-your-box";
8444    var onPicker = window.location && window.location.pathname &&
8445                   window.location.pathname.indexOf("/pages/build-your-box") === 0;
8446    if (pickerUrl && !onPicker) {
8447      window.location.href = pickerUrl;
8448      return;
8449    }
8450
8451    // Fallback A — the existing helper opens the drawer and jumps to the Plan step.
8452    if (typeof window.openMiniCartToDeliveryStep === "function") {
8453      window.openMiniCartToDeliveryStep();
8454      return;
8455    }
8456    // Fallback B — open the cart drawer and advance to the Plan step ourselves
8457    // so the flow is always reachable even if the helper hasn't loaded.
8458    var cartTrigger = document.querySelector(".cart-count");
8459    if (cartTrigger) cartTrigger.click();
8460    setTimeout(function () {
8461      var flow = document.getElementById("finalflow");
8462      if (flow) {
8463        // Cart-drawer redesign: customer is actively entering the #finalflow checkout
8464        // step — keep it shown across the cart re-renders that follow (see the render
8465        // default in custom-cart-ajax-local.js.liquid + the lifecycle reset below).
8466        window.__thr1veInFinalFlow = true;
8467        flow.style.display = "block";
8468        if (typeof window.show === "function") {
8469          if (window.state) window.state.step = 2;
8470          window.show("#step2");
8471        } else {
8472          var sections = document.querySelectorAll("#finalflow .section");
8473          for (var i = 0; i < sections.length; i++) sections[i].classList.add("hidden");
8474          var step2 = document.getElementById("step2");
8475          if (step2) step2.classList.remove("hidden");
8476        }
8477        flow.scrollIntoView({ behavior: "smooth", block: "start" });
8478      }
8479    }, 250);
8480  });
8481
8482  /* FIX #1 (Saahil, dev — menu-refine2): BlueFit's cart "Change" went nowhere.
8483     The delegated handler above is segment-agnostic and DOES navigate, but to make
8484     BlueFit bullet-proof against any path where the delegated listener is missed
8485     (e.g. the snippet is double-included via landing-page-header, leaving a stale
8486     duplicate strip; or the BlueFit drawer renders the Change control before this
8487     script's listener attaches), we ALSO bind the navigation DIRECTLY onto every
8488     `.cart-plan-strip-change` element each time the cart drawer opens/re-renders.
8489     The BlueFit picker (sections/box-size-picker.liquid `is_bluefit` variant) lives
8490     at the SAME /pages/build-your-box URL, so BlueFit and standard customers go to
8491     the same destination — the picker chooses the BlueFit variant from customer.tags.
8492     Idempotent (a data-flag prevents double-binding). */
8493  (function () {
8494    var PICKER_URL = (typeof window !== "undefined" && window.THR1VE_BOX_PICKER_URL) || "/pages/build-your-box";
8495    function goToPicker(e) {
8496      // FIX #1 (menu-refine3): the control is a real <a href> now. If it has a usable
8497      // href, let the browser navigate natively — don't preventDefault (so it works
8498      // with zero JS). Only force navigation for the non-anchor / hashed legacy case.
8499      var el = e && e.currentTarget;
8500      var nativeHref = el && el.getAttribute && el.getAttribute("href");
8501      if (el && el.tagName === "A" && nativeHref && nativeHref.charAt(0) !== "#" &&
8502          nativeHref.indexOf("javascript:") !== 0) {
8503        return; // browser handles navigation
8504      }
8505      if (e) e.preventDefault();
8506      var onPicker = window.location && window.location.pathname &&
8507                     window.location.pathname.indexOf("/pages/build-your-box") === 0;
8508      if (!onPicker) { window.location.href = PICKER_URL; }
8509    }
8510    function bindChangeButtons() {
8511      var btns = document.querySelectorAll(".cart-plan-strip-change, [data-action='change-plan']");
8512      for (var i = 0; i < btns.length; i++) {
8513        if (btns[i].getAttribute("data-change-bound") === "1") continue;
8514        btns[i].setAttribute("data-change-bound", "1");
8515        btns[i].addEventListener("click", goToPicker);
8516      }
8517    }
8518    if (document.readyState !== "loading") bindChangeButtons();
8519    else document.addEventListener("DOMContentLoaded", bindChangeButtons);
8520    // Re-bind after each cart open (the drawer is shown via .cart-count / shopping-cart triggers)
8521    // and after async re-renders, so a freshly-rendered BlueFit strip is always wired.
8522    document.addEventListener("click", function (e) {
8523      var t = e.target.closest && e.target.closest(".cart-count, .shopping-cart, .cartIcon, .header-cart");
8524      if (t) setTimeout(bindChangeButtons, 300);
8525    });
8526    window.THR1VE_bindCartChange = bindChangeButtons;
8527  })();
8528
8529  /* FIX #2 (Saahil, dev — menu-refine3): the locked checkout CTA ("$X to go to reach
8530     the $89 minimum") did NOTHING — the cart JS strips its onclick in the under-minimum
8531     branches, leaving #continue_to_shipping inert, so a customer who is short of $89 is
8532     stuck with no way out of the drawer. Make the LOCKED state ACTIONABLE: clicking it
8533     CLOSES the cart drawer so the customer can go add more items.
8534       Robust this time: ONE delegated listener on document (survives every cart
8535     re-render, like the Change/break-nudge handlers above) + the close is the proven
8536     `.shopping-cart-close` DOM-class teardown (no dependency on a fragile per-element
8537     binding). We only act when the button is in the LOCKED state — detected by the
8538     absence of the `bg-orange` class that the active "Checkout Now" state always adds
8539     (and the absence of a checkout onclick) — so we never hijack a real checkout click.
8540     If the drawer-close classes somehow don't apply, we fall back to navigating to the
8541     menu so the control is NEVER a dead end. */
8542  function thr1veCloseCartDrawer() {
8543    var closed = false;
8544    try {
8545      var mc = document.querySelector(".mini-cart");
8546      if (mc) { mc.classList.remove("show"); closed = true; }
8547      var bg = document.querySelector(".mm-fullscreen-bg");
8548      if (bg) bg.classList.remove("active");
8549      document.body.classList.remove("hidden");
8550      document.body.classList.remove("mini-cart-open");
8551      // also click the real close affordance if present (re-uses the proven handler)
8552      var closeEl = document.querySelector(".mini-cart .shopping-cart-close i, .shopping-cart-close i");
8553      if (closeEl) closeEl.click();
8554    } catch (err) { closed = false; }
8555    return closed;
8556  }
8557  window.thr1veCloseCartDrawer = thr1veCloseCartDrawer;
8558
8559  document.addEventListener("click", function (e) {
8560    var cta = e.target.closest && e.target.closest("#continue_to_shipping");
8561    if (!cta) return;
8562    // Active/checkout state carries `bg-orange` and a proceedToCheckout onclick — leave it alone.
8563    var onclick = cta.getAttribute && cta.getAttribute("onclick");
8564    var isCheckoutState = cta.classList.contains("bg-orange") ||
8565                          (onclick && onclick.indexOf("proceedToCheckout") !== -1);
8566    if (isCheckoutState) return;
8567    // Locked / "to reach the $89 minimum" state — make it do something useful.
8568    e.preventDefault();
8569    var closed = thr1veCloseCartDrawer();
8570    if (!closed) { window.location.href = "/collections/fresh-ready-meals"; }
8571  });
8572
8573  /* Cart-drawer redesign — #finalflow sticky-flag lifecycle. The drawer now DEFAULTS to
8574     the meal list (custom-cart-ajax-local.js.liquid render) and only shows the #finalflow
8575     Delivery→Plan checkout steps while window.__thr1veInFinalFlow is true. That flag is set
8576     when the customer explicitly proceeds (proceedToCheckout / openMiniCartToDeliveryStep /
8577     plan-strip Change). Here we RESET it so a fresh drawer open or a close always returns
8578     to the meal list:
8579       - opening the drawer (.cart-count / .review-continue-btn, when NOT a control already
8580         inside #finalflow) → land on meals; openMiniCartToDeliveryStep re-sets the flag in
8581         its own setTimeout (which runs after this click), so the explicit proceed still wins.
8582       - closing the drawer (.shopping-cart-close) → next open shows meals.
8583     Capture phase so this runs before any same-click open handler. */
8584  document.addEventListener("click", function (e) {
8585    var t = e.target.closest && e.target.closest(
8586      ".cart-count, .review-continue-btn, .shopping-cart-close, .shopping-cart-close i");
8587    if (!t) return;
8588    if (t.closest && (t.closest("#finalflow") || t.closest("#acheck-drawer"))) return; // control inside the steps — leave state alone
8589    window.__thr1veInFinalFlow = false;
8590    // Reset the delivery/address-check overlay so the drawer opens (or closes) on the CART view.
8591    // Without this, closing from the delivery step via the backdrop/X left everything `acheck-hidden`
8592    // and the drawer reopened BLANK (plan strip / header / footer / meal list all hidden). This
8593    // restores them + clears the leftover scroll. (openAddressCheckInDrawer re-hides afterwards when
8594    // it deliberately opens the delivery step, so the checkout flow is unaffected.)
8595    try { if (window.localCart && typeof localCart.closeAddressCheckInDrawer === "function") localCart.closeAddressCheckInDrawer(); } catch (err) {}
8596  }, true);
8597
8598  /* Scroll-position preservation for the cart drawer (Saahil: clicking "Review your box" on the
8599     menu jumped the page to the top). Opening the drawer adds `body.mini-cart-open`, which is
8600     position:fixed (background scroll-lock) — but with no top offset the fixed body pins to the
8601     viewport top, so the page loses the customer's place. Capture scrollY when the lock goes on,
8602     pin the body at -y (so the same content stays in view), and restore the scroll when the lock
8603     lifts. Observer-based so it works for EVERY open/close path (main.js, added-for-optimize-js,
8604     backdrop, thr1veCloseCartDrawer) without touching each one. */
8605  (function () {
8606    var body = document.body;
8607    var drawer = document.getElementById("mini-cart");
8608    if (!body || !drawer || typeof MutationObserver === "undefined") return;
8609    var locked = false, savedY = 0, pendingY = null;
8610    function isDrawerOpen() { return drawer.classList.contains("show"); }
8611    // Capture scrollY on the OPENING click, in the capture phase — i.e. BEFORE main.js /
8612    // added-for-optimize-js add `body.mini-cart-open` and call cartBodyHeightCalc(), which forces
8613    // a reflow that applies position:fixed and zeroes window.scrollY. If we waited until the
8614    // MutationObserver microtask, scrollY would already read 0. This runs first, so we keep the
8615    // real position.
8616    document.addEventListener("click", function (e) {
8617      var t = e.target.closest && e.target.closest(".cart-count, .review-continue-btn");
8618      if (!t || (t.closest && t.closest("#finalflow"))) return;
8619      pendingY = window.scrollY || window.pageYOffset || 0;
8620    }, true);
8621    function lock() {
8622      if (locked) return;
8623      savedY = (pendingY != null) ? pendingY : (window.scrollY || window.pageYOffset || 0);
8624      pendingY = null;
8625      body.style.top = (-savedY) + "px";
8626      body.style.left = "0";
8627      body.style.right = "0";
8628      body.style.width = "100%";
8629      locked = true;
8630    }
8631    function unlock() {
8632      if (!locked) return;
8633      var y = savedY;
8634      // Some close paths only remove the drawer's `.show` and leave body.mini-cart-open — which is
8635      // what the stylesheet uses to make the body position:fixed. Strip it (
8635and any inline
8636      // position/overflow) so the body un-fixes; otherwise scrollTo can't move the document and the
8637      // page stays stuck at the top. Restore the scroll on the next frame, once styles settle.
8638      body.classList.remove("mini-cart-open");
8639      body.style.top = "";
8640      body.style.left = "";
8641      body.style.right = "";
8642      body.style.width = "";
8643      body.style.position = "";
8644      body.style.overflow = "";
8645      locked = false;
8646      if (window.requestAnimationFrame) {
8647        requestAnimationFrame(function () { window.scrollTo(0, y); });
8648      } else {
8649        window.scrollTo(0, y);
8650      }
8651    }
8652    // Drive the lock off the drawer's visible open state (.show) rather than body.mini-cart-open —
8653    // it's the reliable open/close signal across every path. Watch both nodes for class changes.
8654    var obs = new MutationObserver(function () {
8655      if (isDrawerOpen()) lock(); else unlock();
8656    });
8657    obs.observe(body, { attributes: true, attributeFilter: ["class"] });
8658    obs.observe(drawer, { attributes: true, attributeFilter: ["class"] });
8659    if (isDrawerOpen()) lock();
8660  })();
8661
8662  /* F2 cart-deferred — break-nudge "Add more" button (screens-cart.jsx breakNudge "Add N").
8663     Routes to the menu — the same canonical add-meals path as the ".addmore" link and the
8664     empty-state "Browse the menu" button. Delegated so it survives cart re-renders. */
8665  document.addEventListener("click", function (e) {
8666    var addBtn = e.target.closest && e.target.closest('.cart-break-nudge-cta[data-action="add-meals"]');
8667    if (!addBtn) return;
8668    e.preventDefault();
8669    window.location.href = "/collections/fresh-ready-meals";
8670  });
8671
8672  /* Saving-nudge "Add N" (fixed box, full) — SWAP the box selection up a tier: store the new
8673     fill target and route to the menu so the customer adds the extra meals and gets the cheaper
8674     whole-box rate. (Saahil: "swap the selection from 14 to 18 ... go for the savings".) */
8675  document.addEventListener("click", function (e) {
8676    var up = e.target.closest && e.target.closest('.cart-break-nudge-cta[data-action="upgrade-box"]');
8677    if (!up) return;
8678    e.preventDefault();
8679    var to = up.getAttribute("data-upgrade-to");
8680    if (to) { try { localStorage.setItem("thr1ve_box_target", to); } catch (err) {} }
8681    window.location.href = "/collections/fresh-ready-meals";
8682  });
8683
8684  /* #9 (Saahil) — "+ Add more from the menu" at the bottom of the cart. If you're already on
8685     the menu, just MINIMISE (close) the drawer; otherwise let the anchor route you there
8686     (the drawer closes with the page change). Delegated so it survives cart re-renders. */
8687  document.addEventListener("click", function (e) {
8688    var more = e.target.closest && e.target.closest(".cart-add-more-bottom");
8689    if (!more) return;
8690    var onMenu = /\/collections\/fresh-ready-meals/.test(window.location.pathname);
8691    if (onMenu) {
8692      e.preventDefault();
8693      if (typeof window.thr1veCloseCartDrawer === "function") window.thr1veCloseCartDrawer();
8694    }
8695  });
8696
8697  /* F4 cart-deferred — global supplement One-time/Monthly cadence toggle (screens-cart.jsx).
8698     Doc5 §2c: a single frequency across ALL supplements (cart-scoped), so this is ONE global
8699     control, not per-row. The selection is persisted via LocalCart.setSupplementCadence and the
8700     cart re-renders so the pills reflect the choice. NOTE (flagged follow-up): the BACKEND
8701     supplement selling-plan wiring (so "Monthly" actually creates a monthly supplement
8702     contract / bill-on-send cadence) is NOT yet in place — this sets the UI preference only and
8703     does NOT fake a recurring charge. Delegated so it survives cart re-renders. */
8704  document.addEventListener("click", function (e) {
8705    var pill = e.target.closest && e.target.closest(".cart-supp-cadence-pill");
8706    if (!pill) return;
8707    e.preventDefault();
8708    var cadence = pill.getAttribute("data-cadence");
8709    if (window.localCart && typeof window.localCart.setSupplementCadence === "function") {
8710      window.localCart.setSupplementCadence(cadence);
8711      if (typeof window.localCart.updateCartInfoFromLocal === "function") {
8712        window.localCart.updateCartInfoFromLocal(".cart-item-loop");
8713      }
8714    }
8715  });
8716
8717  /* Change-delivery link (Saahil 2026-07-06): the "Change Delivery Addr." link beside the
8718     ships-chilled line opens the delivery/address step, but ONLY once a delivery date has been
8719     chosen (localStorage.deliveryInfo.deliveryDate — written by the address-check flow). Reveal is
8720     re-synced on every cart mutation (the shipment lines are toggled on re-render); the click is
8721     delegated so it survives re-renders. Idempotent toggling avoids an observer loop. */
8722  (function () {
8723    function hasDeliveryDate() {
8724      try {
8725        var di = JSON.parse(localStorage.getItem("deliveryInfo") || "null");
8726        return !!(di && di.deliveryDate);
8727      } catch (e) { return false; }
8728    }
8729    function syncChangeDeliveryLink() {
8730      var show = hasDeliveryDate();
8731      document.querySelectorAll(".change-delivery-addr").forEach(function (a) {
8732        var hidden = a.classList.contains("d-none");
8733        if (show && hidden) a.classList.remove("d-none");
8734        else if (!show && !hidden) a.classList.add("d-none");
8735      });
8736    }
8737    document.addEventListener("DOMContentLoaded", syncChangeDeliveryLink);
8738    syncChangeDeliveryLink();
8739    var host = document.getElementById("mini-cart");
8740    if (host && typeof MutationObserver !== "undefined") {
8741      var t = null;
8742      new MutationObserver(function () {
8743        if (t) clearTimeout(t);
8744        t = setTimeout(syncChangeDeliveryLink, 200);
8745      }).observe(host, { childList: true, subtree: true });
8746    }
8747    document.addEventListener("click", function (e) {
8748      var el = e.target.closest && e.target.closest("[data-change-delivery]");
8749      if (!el) return;
8750      e.preventDefault();
8751      if (window.localCart && typeof window.localCart.openAddressCheckInDrawer === "function") {
8752        window.localCart.openAddressCheckInDrawer();
8753      }
8754    });
8755  })();
8756
8757</script>
vendor: 1 bytes, line 8757
8757
8758<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/custom-cart-implementation.js?v=168019415316875140241783673534"></script>
8758</div>
8759    
8760    <div id="shopify-section-copyright" class="shopify-section"><footer class="footer-bottom-area">
8761  <div class="container">
8762    <ul class="footer-bottom">
8763      <li class="ftlink-li">
8764        <div class="copy-right">
8765          <p>©THR1VE 2025</p>
8766        </div>
8767      </li>
8768      <li class="ftlink-li">
8769        <a href="javascript:void(0)" class="payment-icon">
8770    
8771    
8772    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-afterpay"><title id="pi-afterpay">Afterpay</title><path fill="#b2fce4" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path d="m27.4 6.8-2.7-1.6-2.7-1.6c-1.8-1-4.1.3-4.1 2.4v.4c0 .2.1.4.3.5l1.3.7c.4.2.8-.1.8-.5v-.8c0-.4.4-.7.8-.5l2.5 1.4 2.4 1.5c.4.2.4.7 0 .9l-2.5 1.4-2.5 1.6c-.4.2-.8-.1-.8-.5v-.4c0-2.1-2.3-3.4-4.1-2.4l-2.7 1.6-2.7 1.6c-1.8 1-1.8 3.7 0 4.7l2.7 1.6 2.7 1.6c1.8 1 4.1-.3 4.1-2.4v-.4c0-.2-.1-.4-.3-.5l-1.3-.7c-.4-.2-.8.1-.8.5v.8c0 .4-.4.7-.8.5l-2.5-1.4-2.5-1.5c-.4-.2-.4-.7 0-.9l2.5-1.4 2.5-1.4c.4-.2.8.1.8.5v.4c0 2.1 2.3 3.4 4.1 2.4l2.7-1.6 2.7-1.6c1.9-1.2 1.9-3.8.1-4.9z"/></svg>
8773    
8774    <svg version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" />
8774<path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg>
8775
8776    
8777    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.
877706zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg>
8778
8779    
8780    <svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 
87800-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg>
8781    
8782    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#0071CE" style="fill:#0071CE;fill:color(display-p3 0.0000 0.4431 0.8078);fill-opacity:1;"/><path d="M3 0.5H35C36.3348 0.5 37.5 1.58692 37.5 3V21C37.5 22.4239 36.4239 23.5 35 23.5H3C1.66524 23.5 0.5 22.4131 0.5 21V3C0.5 1.57614 1.57614 0.5 3 0.5Z" stroke="black" stroke-opacity="0.07" style="stroke:black;stroke-opacity:0.07;"/><path d="M25.8662 6.33203V3H31L31.8662 5.5332L32.7334 3H37V14.2002H36.7998L34.8672 16.2656L36.7998 18.3594H37V21.2666H33.5996L31.9336 19.3994L30.2002 21.2666H19.4668V12.666H16L20.2666 3H24.4004L25.8662 6.33203ZM20.5996 20.2656H27V18.5322H22.666V17.3994H26.8662V15.666H22.666V14.5322H27V12.7988H20.5996V20.2656ZM30.5332 16.5322L27 20.2656H29.5996L31.8662 17.8662L34.0664 20.2656H36.7324L33.1992 16.4658L36.7324 12.7988H34.1328L31.8662 15.1992L29.7324 12.7988H27L30.5332 16.5322ZM17.666 11.7324H19.9326L20.5332 10.1992H23.999L24.666 11.7324H26.999L23.666 4.19922H20.999L17.666 11.7324ZM33.5996 4.19922L31.9326 8.86621L30.1992 4.19922H27V11.666H29.0664V6.39941L31 11.666H32.7998L34.7324 6.39941V11.666H36.7324V4.13281L33.5996 4.19922ZM23.2656 8.46582H21.2656L22.2656 5.99902L23.2656 8.46582Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
8783
8784    
8785    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/><path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/><path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg>
8786
8787    
8788    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/><path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778 
878816.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg>
8789
8790    
8791    <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shop Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35.889 0C37.05 0 38 .982 38 2.182v19.636c0 1.2-.95 2.182-2.111 2.182H2.11C.95 24 0 23.018 0 21.818V2.182C0 .982.95 0 2.111 0H35.89z" fill="#5A31F4"/><path d="M9.35 11.368c-1.017-.223-1.47-.31-1.47-.705 0-.372.306-.558.92-.558.54 0 .934.238 1.225.704a.079.079 0 00.104.03l1.146-.584a.082.082 0 00.032-.114c-.475-.831-1.353-1.286-2.51-1.286-1.52 0-2.464.755-2.464 1.956 0 1.275 1.15 1.597 2.17 1.82 1.02.222 1.474.31 1.474.705 0 .396-.332.582-.993.582-.612 0-1.065-.282-1.34-.83a.08.08 0 00-.107-.035l-1.143.57a.083.083 0 00-.036.111c.454.92 1.384 1.437 2.627 1.437 1.583 0 2.539-.742 2.539-1.98s-1.155-1.598-2.173-1.82v-.003zM15.49 8.855c-.65 0-1.224.232-1.636.646a.04.04 0 01-.069-.03v-2.64a.08.08 0 00-.08-.081H12.27a.08.08 0 00-.08.082v8.194a.08.08 0 00.08.082h1.433a.08.08 0 00.081-.082v-3.594c0-.695.528-1.227 1.239-1.227.71 0 1.226.521 1.226 1.227v3.594a.08.08 0 00.081.082h1.433a.08.08 0 00.081-.082v-3.594c0-1.51-.981-2.577-2.355-2.577zM20.753 8.62c-.778 0-1.507.24-2.03.588a.082.082 0 00-.027.109l.632 1.088a.08.08 0 00.11.03 2.5 2.5 0 011.318-.366c1.25 0 2.17.891 2.17 2.068 0 1.003-.736 1.745-1.669 1.745-.76 0-1.288-.446-1.288-1.077 0-.361.152-.657.548-.866a.08.08 0 00.032-.113l-.596-1.018a.08.08 0 00-.098-.035c-.799.299-1.359 1.018-1.359 1.984 0 1.46 1.152 2.55 2.76 2.55 1.877 0 3.227-1.313 3.227-3.195 0-2.018-1.57-3.492-3.73-3.492zM28.675 8.843c-.724 0-1.373.27-1.845.746-.026.027-.069.007-.069-.029v-.572a.08.08 0 00-.08-.082h-1.397a.08.08 0 00-.08.082v8.182a.08.08 0 00.08.081h1.433a.08.08 0 00.081-.081v-2.683c0-.036.043-.054.069-.03a2.6 2.6 0 001.808.7c1.682 0 2.993-1.373 2.993-3.157s-1.313-3.157-2.993-3.157zm-.271 4.929c-.956 0-1.681-.768-1.681-1.783s.723-1.783 1.681-1.783c.958 0 1.68.755 1.68 1.783 0 1.027-.713 1.783-1.681 1.783h.001z" fill="#fff"/></svg>
8792
8793    
8794</a>
8795<style>
8796    .payment-icon svg {
8797        width: 45px;
8798        height: auto;
8799        
8800        margin-right: 5px;
8801        
8802        display: inline-block;
8803    }
8804    .payment-icon svg:last-child{
8805        
8806        margin-right: 0px;
8807        
8808    }
8809</style>
8810      </li>
8811    </ul>
8812  </div>
8813</footer>
8814<style>
8815  .footer-bottom-area {
8816    background-color: #f6f6f6;
8817    padding-top: 20px;
8818    padding-bottom: 20px;
8819    border-top: 1px solid #e2e2e2;
8820  }
8821
8822  ul.footer-bottom {
8823    display: flex;
8824    align-items: center;
8825    justify-content: space-between;
8826  }
8827  ul.footer-bottom li.ftlink-li .copy-right p{
8828    font-size: 14px;
8829  }
8830  @media(max-width: 767px){
8831    ul.footer-bottom{
8832      flex-direction: column;
8833    }
8834    ul.footer-bottom li:first-child{
8835      margin-top: 0;
8836    }
8837    ul.footer-bottom li{
8838      margin-top: 15px;
8839    }
8840  }
8841</style>
8842</div>
8843    <!-- Necessary JS -->
8844    
8845
8846<script src="//thrivemeals.com.au/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" async="async"></script>
vendor: 1 bytes, line 8846
8846
8847<script src="//thrivemeals.com.au/cdn/shop/t/214/assets/added-for-optimize-js.js?v=97239576666909471681783673534" async="async"></script>
vendor: 1 bytes, line 8847
8847
8848<script>
8849Shopify.money_format = "${{amount}}";
8850
8851</script>
8851<script>
8852  
8853  /*
vendor: 369 bytes, lines 8853-8857
8853(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
8854    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
8855    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
8856                          })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
8857  ga('create', '
8857UA-110326897-1
vendor: 40 bytes, lines 8857-8858
8857', 'auto');
8858     ga('send', 'pageview');
8858*/
8859  
8860window.addEventListener('load', function () {
8861  setTimeout(function () {
vendor: 411 bytes, lines 8861-8874
8861
8862    (function(i,s,o,g,r,a,m){
8863      i['GoogleAnalyticsObject']=r;
8864      i[r]=i[r]||function(){
8865        (i[r].q=i[r].q||[]).push(arguments)
8866      }, i[r].l=1*new Date();
8867      a=s.createElement(o),
8868      m=s.getElementsByTagName(o)[0];
8869      a.async=1;
8870      a.src=g;
8871      m.parentNode.insertBefore(a,m)
8872    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
8873
8874    ga('create', '
8874UA-110326897-1
vendor: 42 bytes, lines 8874-8876
8874', 'auto');
8875    ga('send', 'pageview');
8876  
8876}, 5000); // Delay by 5 seconds
8877});
8878</script>
8878
8879    
8879<script>
8880(function () {
8881  window.dataLayer = window.dataLayer || [];
8882  function push(o) { try { window.dataLayer.push(o); } catch (e) {} }
8883  function parseItem(el) {
8884    try { return JSON.parse(el.getAttribute('data-ga4-item')); } catch (e) { return null; }
8885  }
8886
8887  // --- view_item_list: on load, read every tile in a product grid and emit once ---
8888  function emitViewItemList() {
8889    var grids = document.querySelectorAll('[data-ga4-list]');
8890    for (var g = 0; g < grids.length; g++) {
8891      var grid = grids[g];
8892      var listName = grid.getAttribute('data-ga4-list') || '';
8893      var els = grid.querySelectorAll('[data-ga4-item]');
8894      var items = [];
8895      for (var i = 0; i < els.length; i++) {
8896        var it = parseItem(els[i]);
8897        if (it) { it.index = i + 1; it.item_list_name = listName; items.push(it); }
8898      }
8899      if (items.length) {
8900        push({ ecommerce: null });                      // clear previous ecommerce object
8901        push({ event: 'view_item_list', ecommerce: { item_list_name: listName, items: items } });
8902        return;   // emit once — the theme renders duplicate #product-grid variants
8903      }
8904    }
8905  }
8906
8907  // --- select_item: delegated click on any tile carrying data-ga4-item ---
8908  function onSelectItem(e) {
8909    var el = e.target.closest ? e.target.closest('[data-ga4-item]') : null;
8910    if (!el) return;
8911    var it = parseItem(el);
8912    if (!it) return;
8913    var grid = el.closest('[data-ga4-list]');
8914    it.item_list_name = grid ? (grid.getAttribute('data-ga4-list') || '') : '';
8915    if (grid) {
8916      var els = grid.querySelectorAll('[data-ga4-item]');
8917      for (var i = 0; i < els.length; i++) { if (els[i] === el) { it.index = i + 1; break; } }
8918    }
8919    push({ ecommerce: null });
8920    push({ event: 'select_item', ecommerce: { item_list_name: it.item_list_name, items: [it] } });
8921  }
8922
8923  // --- cta_click: delegated click on any element carrying data-ga4-cta ---
8924  function onCtaClick(e) {
8925    var el = e.target.closest ? e.target.closest('[data-ga4-cta]') : null;
8926    if (!el) return;
8927    push({
8928      event: 'cta_click',
8929      cta_label: el.getAttribute('data-ga4-cta') || (el.textContent || '').trim().slice(0, 100),
8930      cta_location: el.getAttribute('data-ga4-cta-location') || '',
8931      cta_url: el.getAttribute('href') || ''
8932    });
8933  }
8934
8935  function ready(fn) {
8936    if (document.readyState !== 'loading') fn();
8937    else document.addEventListener('DOMContentLoaded', fn);
8938  }
8939  ready(function () {
8940    emitViewItemList();
8941    document.addEventListener('click', onSelectItem, true);
8942    document.addEventListener('click', onCtaClick, true);
8943  });
8944})();
8945</script>
8945
8946
8947
8948    <a href="javascript:void(0)" id="top" class="scroll">
8949      <i class="fa fa-angle-double-up"></i>
8950    </a>
8951    <div class="modal fade customPopupModal" id="customPopupModal" tabindex="-1" aria-hidden="true">
8952  <div class="modal-dialog modal-dialog-centered">
8953    <div class="modal-content p-3">
8954      <div style="text-align: center;">
8955      <img src="https://cdn.shopify.com/s/files/1/0729/8243/0012/files/express-delivery_1.png?v=1750077141">
8956      </div>
8957      <div class="modal-header">
8958        <div class="first_section"> 
8959          <h5 class="modal-title">Enter your postcode to check if <span id="productTitle" class="productTitle"></span> is available for delivery to your area</h5>
8960        </div>
8961        <div class="second_section">
8962          <h5 class="modal-title"><span id="showMessageAddres" class="showMessageAddres"></span></h5>
8963        </div>
8964        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
8965      </div>
8966      <div class="modal-body">
8967           <input type="hidden" id="modalVariantId" class="modalVariantId">
8968           <input type="hidden" id="modalQuantity" class="modalQuantity">
8969           <input type="hidden" id="modalSellingPlan" class="modalSellingPlan">
8970           <input type="hidden" id="modalProductId" class="modalProductId">
8971           <input type="hidden" id="modalTitle" class="modalTitle">
8972           <input type="hidden" id="modalUrl" class="modalUrl">
8973           <input type="hidden" id="modalImage" class="modalImage">
8974           <input type="hidden" id="modalPrice" class="modalPrice">
8975           <input type="hidden" id="modalQty" class="modalQty">
8976           <input type="hidden" id="modalProductType" class="modalProductType">
8977        <div class="first_section">
8978         <input type="text" class="form-control address form-input search_postcode" id="search_postcode" placeholder="Search your Postcode here
8979...">
8980        <span class="showMessage" id="showMessage"></span>
8981        </div>
8982
8983      </div>
8984
8985      <div class="mt-1 first_section" style="text-align: center;">
8986          <a href="javascript:void(0);" id="toggleLearnMore" style="color: blue;">Learn More</a>
8987      </div>
8988
8989       <div id="deliveryMessage" style="display: none; margin-top: 10px; text-align: center; color: #333;">
8990         Due to extended delivery times to certain areas, we are unable to guarantee the product's quality upon arrival. 
8991         To ensure it reaches you in optimal condition, we currently limit shipping of this item to select locations. 
8992         We appreciate your understanding.</div>
8993    </div>
8994  </div>
8995</div>
8996<script>
8997$('#toggleLearnMore').on('click', function () {
8998  $('#deliveryMessage').slideToggle();
8999  const currentText = $(this).text();
9000  console.log(currentText,'currentText');
9001  $(this).text(currentText === 'Learn More' ? 'Show Less' : 'Learn More');
9002});
9003
9004$('#customPopupModal').on('hidden.bs.modal', function () {
9005  const input = document.getElementById('search_postcode');
9006  const messageBox = document.querySelector('.showMessage');
9007  if (input) {
9008    input.value = '';
9009  }
9010  if (messageBox) {
9011    messageBox.textContent = '';
9012  }
9013});
9014
9015/* F4 — out-of-zone copy (Document #5 §1, exact, ACL-compliant). Renders the
9016   Instagram link in a new tab. Serviceability itself is decided by the merged
9017   B6 API (addressConfirmPostCode -> /delivery-dates), NOT by a static list or
9018   a client-side postcode-prefix guess. */
9019function setOutOfZoneMessage(messageBox) {
9020  if (!messageBox) return;
9021  messageBox.innerHTML =
9022    window.THR1VE_OUT_OF_ZONE_HTML ||
9023    'We are not currently servicing your area yet — follow our ' +
9024    '<a href="https://www.instagram.com/thr1ve/" target="_blank" rel="noopener">Instagram</a> for updates!';
9025}
9026</script>
vendor: 1 bytes, line 9026
9026
9027<script>
9028(function () {
9029  var widgetInitialized = false;
9030  var widget;
9031
9032  function initAddressFinder() {
9033    if (widgetInitialized) return;
9034    widgetInitialized = true;
9035
9036    widget = new AddressFinder.Widget(
9037      document.getElementById('search_postcode'),
9038      'XDGLJVBHMQAKF68W4CT7', // Replace with your API key
9039      'AU',
9040      {
9041        address_params: { gnaf: '1' }
9042      }
9043    );
9044    // Listen for when suggestions are updated.
9045    // F4: no client-side postcode-prefix block here — WA (6xxx) is a SERVICED
9046    // state (Document #5 §1) and must NOT be rejected. Serviceability is
9047    // decided by the B6 API on result:select.
9048    widget.on('results:update', function (results) {
9049      const messageBox = document.querySelector('.showMessage');
9050      if (messageBox) messageBox.textContent = "";
9051      });
9052      widget.on('results:empty', function () {
9053        const input = document.getElementById('search_postcode');
9054        const value = input?.value.trim();
9055        const messageBox = document.querySelector('.showMessage');
9056        if (value && value.length > 1) {
9057          setOutOfZoneMessage(messageBox);
9058        } else if (messageBox) {
9059          messageBox.textContent = "";
9060        }
9061      });
9062    // When a user selects a result — the merged B6 API is the single source of
9063    // truth for serviceability (it correctly serves WA and excludes SA).
9064    widget.on('result:select', function (fullAddress, metaData) {
9065      const input = document.getElementById('search_postcode');
9066      const messageBox = document.querySelector('.showMessage');
9067      {
9068        addressConfirmPostCode(metaData.postcode, metaData.locality_name).then((response) => {
9069          if(response=='Success'){
9070              localStorage.setItem("widgetAddress", JSON.stringify(metaData));
9071              messageBox.textContent = "";
9072              if (input) {
9073                input.value = '';
9074              }
9075              //if (typeof window.CheckAddressPopupAddToCart === 'function') {
9076                const variantId = parseInt(document.getElementById('modalVariantId').value);
9077                const quantity = document.getElementById('modalQuantity').value;
9078                const sellingPlan = parseInt(document.getElementById('modalSellingPlan').value);
9079                const productId = parseInt(document.getElementById('modalProductId').value);
9080                const title = document.getElementById('modalTitle').value;
9081                const url = document.getElementById('modalUrl').value;
9082                const image = document.getElementById('modalImage').value;
9083                const price = document.getElementById('modalPrice').value;
9084                const qty = parseInt(document.getElementById('modalQty').value);
9085                const product_type = document.getElementById('modalProductType').value;
9086                //window.CheckAddressPopupAddToCart(variantId, quantity, sellingPlan);
9087                //console.log(productId, variantId, title, url, image, price, qty, product_type, sellingPlan);
9088                localCart.addItem(productId, variantId, title, url, image, price, qty, product_type, sellingPlan);
9089              $('.customPopupModal').modal('hide');
9090
9091              //}
9092          }else{
9093            setOutOfZoneMessage(messageBox);
9094          }
9095        }).catch((error) => {
9096          if(error){
9097           setOutOfZoneMessage(messageBox);
9098          }
9099        });
9100      }
9101    });
9102
9103  }
9104
9105  function downloadAddressFinder() {
9106    const script = document.createElement('script');
9107    script.src = 'https://api.addressfinder.io/assets/v3/widget.js';
9108    script.async = true;
9109    script.onload = initAddressFinder;
9110    document.body.appendChild(script);
9111  }
9112
9113  document.addEventListener('DOMContentLoaded', function () {
9114    const input = document.getElementById('search_postcode');
9115    const messageBox = document.querySelector('.showMessage');
9116
9117    if (!input || !messageBox) return;
9118
9119    input.addEventListener('input', function () {
9120      const value = input.value.trim();
9121
9122      // F4: no client-side postcode-prefix block — WA (6xxx) is serviced and
9123      // must reach the AddressFinder + B6 check. SA (5xxx) is excluded by the
9124      // B6 API itself (it returns no delivery dates), not by a prefix guess.
9125
9126      // Allow widget resume if valid input
9127      if (value.length >= 3) {
9128        messageBox.textContent = "";
9129
9130        if (!window.AddressFinder && !window.widgetInitialized) {
9131          downloadAddressFinder();
9132        } else if (widget && typeof widget.resume === 'function') {
9133          widget.resume();
9134        } else {
9135          initAddressFinder();
9136        }
9137      } else {
9138        messageBox.textContent = "";
9139      }
9140    });
9141  });
9142})();
9143</script>
9143
9144
9145
9146
9147<style>
9148  .showMessage { 
9149    margin-top: 10px;
9150    font-size: 14px;
9151  }
9152  .btn-close { 
9153    position: absolute;
9154    top: 13px;
9155    right: 14px; 
9156  }
9157    .first_section{
9158        display:contents;
9159  }
9160  .second_section{
9161    display:contents;
9162  }
9163
9164  .modal-title {   
9165    text-align: center;
9166    font-size: 16px;
9167    max-width: 292px;
9168    margin: 0 auto; }
9169   #search_postcode { border: 1px solid #ddd; }
9170  .modal-header { border-bottom: 0px; }
9171  
9172</style>
9173
9174
9175
9176
9177    <div class="modal fade customAKModal" id="customAKModal" tabindex="-1" aria-hidden="true">
9178  <div class="modal-dialog modal-dialog-centered">
9179    <div class="modal-content p-3">
9180      
9181      <div style="text-align: center;">
9182        <img src="https://cdn.shopify.com/s/files/1/0729/8243/0012/files/express-delivery_1.png?v=1750077141">
9183      </div>
9184      
9185      <div class="modal-header">
9186        <h5 class="modal-title">Acknowledge Message</h5>
9187        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
9188      </div>
9189      
9190      <div class="modal-body">
9191        <!-- <input type="hidden" id="akVariantId" class="akVariantId">
9192        <input type="hidden" id="akQuantity" class="akQuantity">
9193        <input type="hidden" id="akSellingPlan" class="akSellingPlan">
9194        <input type="hidden" id="akTitle" class="akTitle">
9195        <input type="hidden" id="akProductId" class="akProductId">
9196        <input type="hidden" id="akUrl" class="akUrl">
9197        <input type="hidden" id="akImage" class="akImage">
9198        <input type="hidden" id="akPrice" class="akPrice">
9199        <input type="hidden" id="akProductType" class="akProductType"> -->
9200        <p id="ackMessage"></p>
9201      </div>
9202      
9203      <div class="modal-footer">
9204            <button type="button" class="btn btn-primary succesBtn" id="succesBtn" >Ok</button>
9205        <button type="button" class="btn btn-secondary ackClose" id="ackClose">Close</button>
9206      </div>
9207
9208    </div>
9209
9210  </div>
9211</div>
9212
9213<!-- JavaScript -->
9214<script>
9215  function getExpiryDateAustralia() {
9216    const ausTime = new Date().toLocaleString("en-US", { timeZone: "Australia/Sydney" });
9217    const today = new Date(ausTime);
9218
9219    const weekday = today.getDay(); // 0=Sun, 1=Mon, ..., 6=Sat
9220    // console.log('weekday',weekday,'weekday');
9221    const daysAhead = (3 - weekday + 7) % 7; // 3 = Wednesday
9222
9223    let nextWednesday = new Date(today);
9224    // console.log(nextWednesday);
9225    nextWednesday.setDate(today.getDate() + daysAhead);
9226
9227    const diffDays = Math.floor((nextWednesday - today) / (1000 * 60 * 60 * 24));
9228    if (diffDays <= 2) {
9229      nextWednesday.setDate(nextWednesday.getDate() + 7);
9230    }
9231
9232    const options = { timeZone: "Australia/Sydney", weekday: "long", year: "numeric", month: "long", day: "numeric" };
9233    return nextWednesday.toLocaleDateString("en-AU", options);
9234  }
9235
9236  // $(document).ready(function () {
9237
9238    // Fill message with expiry date when modal is shown
9239    $('#customAKModal').on('show.bs.modal', function () {
9240      const expiryDate = getExpiryDateAustralia();
9241      $('#ackMessage').html(
9242        `You acknowledge that the meals in this bundle may have less than 5 day shelf life and you acknowledge that THR1VE meals are selected by team members. The expiry date for these meals is set to <strong>${expiryDate}</strong>.`
9243      );
9244    });
9245  
9246    // Close modal on 'Close' button
9247    $(document).on('click', '.ackClose', function () {
9248      $('.customAKModal').modal('hide');
9249    });
9250
9251
9252$(document).on('click', '.succesBtn', function () {
9253
9254  const $modal = $('#customAKModal');
9255
9256  const variantId = $modal.data('variant-id');
9257  const qty = parseInt($modal.data('qty'));
9258  const sellingPlan = $modal.data('selling-plan');
9259  const title = $modal.data('title');
9260  const productId = parseInt($modal.data('product-id'));
9261  const url = $modal.data('url');
9262  const image = $modal.data('image');
9263  const price = $modal.data('price');
9264  const product_type = $modal.data('product-type');
9265
9266  // localCart.addItem(productId, variantId, title, url, image, price, qty, product_type, sellingPlan);
9267   localCart.addItem(9962548986172, 51524694540604, "20 Meal Value Pack", "/products/20-meal-value-pack-copy", "//thrivemeals.com.au/cdn/shop/files/DeliveryBundle1_390X450_crop_center.jpg?v=1742439641", 19900, 1, "Bundle", 689703944508);
9268  
9269
9270  // ✅ Option 3 — Use timeout to delay modal close just after blur
9271  setTimeout(() => {
9272    // Step 1: Clear focus globally
9273    document.activeElement?.blur();
9274
9275    // Step 2: Then hide modal
9276    $('.customAKModal').modal('hide');
9277  }, 100); // Delay helps ensure browser commits focus change
9278});
9279
9280  // });  
9281</script>
9281
9282
9283<!-- Styles -->
9284<style>
9285  .showMessage {
9286    margin-top: 10px;
9287    font-size: 14px;
9288  }
9289  .btn-close {
9290    position: absolute;
9291    top: 13px;
9292    right: 14px;
9293  }
9294  .modal-title {
9295    text-align: center;
9296    font-size: 16px;
9297    max-width: 292px;
9298    margin: 0 auto;
9299  }
9300  #search_postcode {
9301    border: 1px solid #ddd;
9302  }
9303  .modal-header {
9304    border-bottom: 0px;
9305  }
9306</style>
9307   
9308    
9308<script>
9309      window.shopUrl = 'https://thrivemeals.com.au';
9310      window.routes = {
9311        cart_add_url: '/cart/add',
9312        cart_change_url: '/cart/change',
9313        cart_update_url: '/cart/update',
9314        predictive_search_url: '/search/suggest'
9315      };
9316    </script>
9316
9317    
9317<script>
9318        document.addEventListener("DOMContentLoaded", function() {
9319        function observeImages() {
9320          const images = document.querySelectorAll('.placeholder-image[data-src]');
9321          const observer = new IntersectionObserver(entries => {
9322            entries.forEach(entry => {
9323              if (entry.isIntersecting) {
9324                const img = entry.target;
9325                img.src = img.dataset.src; // Set the actual source
9326                img.classList.remove('placeholder-image'); // Remove the placeholder class
9327                observer.unobserve(img); // Stop observing this image once it's loaded
9328              }
9329            });
9330          }, {
9331            rootMargin: '100px' // Start loading slightly before image is visible
9332          });
9333
9334          images.forEach(image => observer.observe(image));
9335        }
9336        observeImages();
9337        const config = { childList: true, subtree: true };
9338        const mutationObserver = new MutationObserver((mutationsList) => {
9339          for (const mutation of mutationsList) {
9340            if (mutation.type === 'childList') {
9341              observeImages(); // Re-run observer for newly added images
9342            }
9343          }
9344        });
9345        mutationObserver.observe(document.body, config);
9346      });
9347        localStorage.setItem('shipping', "removed");
9348    </script>
9348
9349    
9350    
9350<script>
9351    (function () {
9352      // Menu / Order Now / Browse Full Menu CTAs point at the bundle picker. Once a box has been
9353      // chosen (fixed OR flexible), send those CTAs straight to the menu instead — only shoppers
9354      // who haven't chosen get the picker. "Change box" links always keep going to the picker.
9355      document.addEventListener('click', function (e) {
9356        var a = e.target && e.target.closest ? e.target.closest('a[href*="/pages/build-your-box"]') : null;
9357        if (!a) return;
9358        if (a.matches('.menu-plan-change, .cart-plan-strip-change, [data-action="change-plan"]')) return;
9359        var chosen = false;
9360        try { chosen = localStorage.getItem('thr1ve_box_chosen') === '1'; } catch (_) {}
9361        if (chosen) { e.preventDefault(); window.location.href = '/collections/fresh-ready-meals'; }
9362      }, true);
9363    })();
9364    </script>
9364
9365  
9365<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
9365
9366</body>
9367</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.