1<!doctype html> 2<html class="no-js no-touch" lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 6 <meta name="viewport" content="width=device-width,initial-scale=1"> 7 8 <!-- Preconnect Domains --> 9 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 10 <link rel="preconnect" href="https://fonts.shopify.com" crossorigin> 11 <link rel="preconnect" href="https://monorail-edge.shopifysvc.com"> 12 <link 13 rel="stylesheet" 14 href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css" 15 integrity="sha256-h20CPZ0QyXlBuAw7A+KluUYx/3pK+c7lYEpqLTlxjYQ=" 16 crossorigin="anonymous" 17 > 18 19 20 21 22 <!-- Preload Assets --> 23 <link rel="preload" href="//feelbetterinstitute.com/cdn/shop/t/20/assets/api.js?v=46773316192646443241667818026" as="script"> 24 25 26 27 28 <link rel="preload" href="//feelbetterinstitute.com/cdn/shop/t/20/assets/superstore.min.js?v=119002400528841112161667818026" as="script"><link rel="preload" href="//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/themes_support/shopify_common-5f594365.js" as="script"> 29 <link rel="preload" href="//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/themes_support/customer_area-f1b6eefc.js" as="script"><title>Account â Jackie Bowker's Global Feel Better Institute Shop</title> 30 31 32 33 34 <link rel="shortcut icon" href="//feelbetterinstitute.com/cdn/shop/files/PHOTO-2021-08-23-12-53-35_32x32.jpg?v=1744714427" type="image/png"> 35 36 37 38 <link rel="canonical" href="https://feelbetterinstitute.com/account/login"> 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58<meta property="og:site_name" content="Jackie Bowker's Global Feel Better Institute Shop"> 59<meta property="og:url" content="https://feelbetterinstitute.com/account/login"> 60<meta property="og:title" content="Account"> 61<meta property="og:type" content="website"> 62<meta property="og:description" content="Jackie Bowker is a gut health nutritionist helping you improve energy, digestion and wellbeing with expert programs and premium supplements."> 63 64 65 66 67 68 69 70 71 72 73 <meta 74 property="og:image" 75 content="https://feelbetterinstitute.com/cdn/shop/files/Untitled_design_7_272247ae-a138-48af-9eb0-16d74767521b_1204x630.png?v=1763529821" 76 /> 77 <meta 78 property="og:image:secure_url" 79 content="https://feelbetterinstitute.com/cdn/shop/files/Untitled_design_7_272247ae-a138-48af-9eb0-16d74767521b_1204x630.png?v=1763529821" 80 /> 81 <meta property="og:image:width" content="1204" /> 82 <meta property="og:image:height" content="630" /> 83 84 85 <meta property="og:image:alt" content="Social media image" /> 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103<meta name="twitter:title" content="Account"> 104<meta name="twitter:description" content="Jackie Bowker is a gut health nutritionist helping you improve energy, digestion and wellbeing with expert programs and premium supplements."> 105 106 107 108 109 110 111 112 <meta name="twitter:card" content="summary_large_image"> 113 114 115 <meta 116 property="twitter:image" 117 content="https://feelbetterinstitute.com/cdn/shop/files/Untitled_design_7_272247ae-a138-48af-9eb0-16d74767521b_1200x600_crop_center.png?v=1763529821" 118 /> 119 <meta property="twitter:image:width" content="1200" /> 120 <meta property="twitter:image:height" content="600" /> 121 122 123 <meta property="twitter:image:alt" content="Social media image" /> 124 125 126 127 128 129 130 <link rel="preload" href="//feelbetterinstitute.com/cdn/fonts/open_sans/opensans_n4.c32e4d4eca5273f6d4ee95ddf54b5bbb75fc9b61.woff2" as="font" crossorigin="anonymous"> 131 132 133 <link rel="preload" as="style" href="//feelbetterinstitute.com/cdn/shop/t/20/assets/theme.css?v=141292676702329013371763089276"> 134 135 136
136<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
136<meta name="google-site-verification" content="kMzACsemWvtFjhQqozpq0gLO3uSNqedJDiYi0druFC8"> 137<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/56734220454/digital_wallets/dialog"> 138<meta id="in-context-paypal-metadata" data-shop-id="56734220454" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="AUD"> 139<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
139<script async="async" src="/checkouts/internal/preloads.js?locale=en-AU"></script>
139 140<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
141<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-AU&shop_id=56734220454" crossorigin="anonymous"></script>
vendor: 1 bytes, line 141
141
142<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":56734220454,"countryCode":"AU","currencyCode":"AUD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/56734220454","merchantName":"Jackie Bowker's Global Feel Better Institute Shop","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","jcb"],"total":{"type":"pending","label":"Jackie Bowker's Global Feel Better Institute Shop","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 142
142
143<script id="shopify-features" type="application/json">{"accessToken":"c0eab09af186c2137cb0cce4531f5e52","betas":["rich-media-storefront-analytics"],"domain":"feelbetterinstitute.com","predictiveSearch":true,"shopId":56734220454,"locale":"en"}</script>
vendor: 1 bytes, line 143
143
144<script>var Shopify = Shopify || {}; 145Shopify.shop = "jackie-bowker-nutrition.myshopify.com"; 146Shopify.locale = "en"; 147Shopify.currency = {"active":"AUD","rate":"1.0"}; 148Shopify.country = "AU"; 149Shopify.theme = {"name":"BOLD MEM | Superstore-v3.2.3 | 11-07-22 - Dev","id":132084007078,"schema_name":"Superstore","schema_version":"3.2.3","theme_store_id":null,"role":"main"}; 150Shopify.theme.handle = "null"; 151Shopify.theme.style = {"id":null,"handle":null}; 152Shopify.cdnHost = "feelbetterinstitute.com/cdn"; 153Shopify.routes = Shopify.routes || {}; 154Shopify.routes.root = "/"; 155Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 156Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 157Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 158Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 158
158
159<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 159
159
160<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 160
160
161<script> 162 window.ShopifyPay = window.ShopifyPay || {}; 163 window.ShopifyPay.apiHost = "shop.app\/pay"; 164 window.ShopifyPay.redirectState = null; 165</script>
vendor: 1 bytes, line 165
165
166<script> 167 window.Shopify = window.Shopify || {}; 168 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 169 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 170 window.Shopify.SignInWithShop.eligible = true; 171</script>
vendor: 1 bytes, line 171
171
172<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 172
172
173<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"></script>
vendor: 1 bytes, line 173
173
174<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"></script>
vendor: 1 bytes, line 174
174
175<script type="module"> 176 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"); 177await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"); 178 179 window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true}); 180window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true}); 181 182</script>
vendor: 1 bytes, line 182
182
183<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 183
183
184<script type="module"> 185 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 186 187 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 188 189</script>
vendor: 1 bytes, line 189
189
190<script> 191 window.Shopify = window.Shopify || {}; 192 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 193 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"]}; 194</script>
vendor: 1 bytes, line 194
194
195<script>(function() { 196 var isLoaded = false; 197 function asyncLoad() { 198 if (isLoaded) return; 199 isLoaded = true; 200 var urls = ["https:\/\/hide-price.webpanda-solutions.com\/static\/hide-price\/hide_main.js?shop=jackie-bowker-nutrition.myshopify.com","https:\/\/cdn1.stamped.io\/files\/widget.min.js?shop=jackie-bowker-nutrition.myshopify.com","https:\/\/upsells.boldapps.net\/v2_ui\/js\/UpsellTracker.js?shop=jackie-bowker-nutrition.myshopify.com","https:\/\/upsells.boldapps.net\/v2_ui\/js\/upsell.js?shop=jackie-bowker-nutrition.myshopify.com","https:\/\/cdn.provesrc.com\/provesrc.js?apiKey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50SWQiOiI2NzQ1MTQwMDliMjc3NTFkY2RjMTRiNWEiLCJpYXQiOjE3MzI1ODAzNTJ9.WpcbpLJR7vZdKVGON8KHLW4nzUELsKcuuPDJ62SLU_I\u0026shop=jackie-bowker-nutrition.myshopify.com"]; 201 for (var i = 0; i < urls.length; i++) { 202 var s = document.createElement('script'); 203 s.type = 'text/javascript'; 204 s.async = true; 205 s.src = urls[i]; 206 var x = document.getElementsByTagName('script')[0]; 207 x.parentNode.insertBefore(s, x); 208 } 209 }; 210 if(window.attachEvent) { 211 window.attachEvent('onload', asyncLoad); 212 } else { 213 window.addEventListener('load', asyncLoad, false); 214 } 215})();</script>
vendor: 1 bytes, line 215
215
216<script id="__st">var __st={"a":56734220454,"offset":36000,"reqid":"09b254ee-5cd7-4f4d-adc1-0a7c50f649f8-1791095102","pageurl":"feelbetterinstitute.com\/account\/login?return_url=%2Faccount","u":"714ac6ce48db"};</script>
vendor: 1 bytes, line 216
216
217<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 217
217
218<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 218
218
219<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 219
219
220<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 = "//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
220<script crossorigin="anonymous" defer="defer" src="//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 220
220
221<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 221
221
222<script> 223 window.Shopify = window.Shopify || {}; 224 window.Shopify.MCP = window.Shopify.MCP || {}; 225 window.Shopify.MCP.enabled = true; 226 window.Shopify.MCP.shop = "jackie-bowker-nutrition.myshopify.com"; 227 window.Shopify.MCP.mcpEndpoint = "https:\/\/feelbetterinstitute.com\/api\/mcp"; 228 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 229</script>
vendor: 1 bytes, line 229
229
230<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("\/\/feelbetterinstitute.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 231</script>
vendor: 1 bytes, line 231
231
232<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://feelbetterinstitute.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 233</script>
vendor: 1 bytes, line 233
233
234<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 235 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); 236</script>
vendor: 1 bytes, line 236
236
237<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})}})); 238</script>
238 239<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://feelbetterinstitute.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 240<style id="shopify-accelerated-checkout-cart"> 241 #shopify-buyer-consent { 242 margin-top: 1em; 243 display: inline-block; 244 width: 100%; 245} 246 247#shopify-buyer-consent.hidden { 248 display: none; 249} 250 251#shopify-subscription-policy-button { 252 background: none; 253 border: none; 254 padding: 0; 255 text-decoration: underline; 256 font-size: inherit; 257 cursor: pointer; 258} 259 260#shopify-subscription-policy-button::before { 261 box-shadow: none; 262} 263 264 </style> 265
266<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
266 267
268<script>window.BOLD = window.BOLD || {}; 269 window.BOLD.common = window.BOLD.common || {}; 270 window.BOLD.common.Shopify = window.BOLD.common.Shopify || {}; 271 window.BOLD.common.Shopify.shop = { 272 domain: 'feelbetterinstitute.com', 273 permanent_domain: 'jackie-bowker-nutrition.myshopify.com', 274 url: 'https://feelbetterinstitute.com', 275 secure_url: 'https://feelbetterinstitute.com', 276 money_format: "\u003cspan class=hide-price-guest\u003e \u003cspan class=hidden\u003e${{ amount }} AUD\u003c\/span\u003e\u003c\/span\u003e", 277 currency: "AUD" 278 }; 279 window.BOLD.common.Shopify.customer = { 280 id: null, 281 tags: null, 282 }; 283 window.BOLD.common.Shopify.cart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"AUD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; 284 window.BOLD.common.template = 'customers/login';window.BOLD.common.Shopify.formatMoney = function(money, format) { 285 function n(t, e) { 286 return "undefined" == typeof t ? e : t 287 } 288 function r(t, e, r, i) { 289 if (e = n(e, 2), 290 r = n(r, ","), 291 i = n(i, "."), 292 isNaN(t) || null == t) 293 return 0; 294 t = (t / 100).toFixed(e); 295 var o = t.split(".") 296 , a = o[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + r) 297 , s = o[1] ? i + o[1] : ""; 298 return a + s 299 } 300 "string" == typeof money && (money = money.replace(".", "")); 301 var i = "" 302 , o = /\{\{\s*(\w+)\s*\}\}/ 303 , a = format || window.BOLD.common.Shopify.shop.money_format || window.Shopify.money_format || "$ {{ amount }}"; 304 switch (a.match(o)[1]) { 305 case "amount": 306 i = r(money, 2, ",", "."); 307 break; 308 case "amount_no_decimals": 309 i = r(money, 0, ",", "."); 310 break; 311 case "amount_with_comma_separator": 312 i = r(money, 2, ".", ","); 313 break; 314 case "amount_no_decimals_with_comma_separator": 315 i = r(money, 0, ".", ","); 316 break; 317 case "amount_with_space_separator": 318 i = r(money, 2, " ", ","); 319 break; 320 case "amount_no_decimals_with_space_separator": 321 i = r(money, 0, " ", ","); 322 break; 323 case "amount_with_apostrophe_separator": 324 i = r(money, 2, "'", "."); 325 break; 326 } 327 return a.replace(o, i); 328 }; 329 window.BOLD.common.Shopify.saveProduct = function (handle, product) { 330 if (typeof handle === 'string' && typeof window.BOLD.common.Shopify.products[handle] === 'undefined') { 331 if (typeof product === 'number') { 332 window.BOLD.common.Shopify.handles[product] = handle; 333 product = { id: product }; 334 } 335 window.BOLD.common.Shopify.products[handle] = product; 336 } 337 }; 338 window.BOLD.common.Shopify.saveVariant = function (variant_id, variant) { 339 if (typeof variant_id === 'number' && typeof window.BOLD.common.Shopify.variants[variant_id] === 'undefined') { 340 window.BOLD.common.Shopify.variants[variant_id] = variant; 341 } 342 };window.BOLD.common.Shopify.products = window.BOLD.common.Shopify.products || {}; 343 window.BOLD.common.Shopify.variants = window.BOLD.common.Shopify.variants || {}; 344 window.BOLD.common.Shopify.handles = window.BOLD.common.Shopify.handles || {};window.BOLD.common.Shopify.saveProduct(null, null);window.BOLD.apps_installed = {"Memberships":1,"Product Upsell":3,"Subscriptions":0} || {};window.BOLD.common.Shopify.metafields = window.BOLD.common.Shopify.metafields || {};window.BOLD.common.Shopify.metafields["bold_rp"] = {};window.BOLD.common.Shopify.metafields["bold_csp_defaults"] = {};window.BOLD.common.cacheParams = window.BOLD.common.cacheParams || {}; 345</script>
345 346 347<link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/bold-upsell.css?v=51915886505602322711667818026" rel="stylesheet" type="text/css" media="all" /> 348<link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/bold-upsell-custom.css?v=150135899998303055901667818026" rel="stylesheet" type="text/css" media="all" />
349<script> 350</script>
350<script src="//feelbetterinstitute.com/cdn/shop/t/20/assets/bsub.js?v=10572033448555809621694098222" type="text/javascript"></script>
350 351 <link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/bsub.scss.css?v=66895707967195571861667818026" rel="stylesheet" type="text/css" media="all" /> 352 353
353<script> 354 document.documentElement.className=document.documentElement.className.replace(/\bno-js\b/,'js'); 355 if(window.Shopify&&window.Shopify.designMode)document.documentElement.className+=' in-theme-editor'; 356 if(('ontouchstart' in window)||window.DocumentTouch&&document instanceof DocumentTouch)document.documentElement.className=document.documentElement.className.replace(/\bno-touch\b/,'has-touch'); 357 </script>
357 358 359
359<script src="//feelbetterinstitute.com/cdn/shop/t/20/assets/api.js?v=46773316192646443241667818026" defer></script>
359 360 361 362 <link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/theme.css?v=141292676702329013371763089276" rel="stylesheet" type="text/css" media="all"> 363 364 365 366 367 368
368<script> 369 window.Theme = window.Theme || {}; 370 window.Theme.routes = { 371 "root_url": "/", 372 "account_url": "/account", 373 "account_login_url": "/account/login", 374 "account_logout_url": "/account/logout", 375 "account_register_url": "/account/register", 376 "account_addresses_url": "/account/addresses", 377 "collections_url": "/collections", 378 "all_products_collection_url": "/collections/all", 379 "search_url": "/search", 380 "cart_url": "/cart", 381 "cart_add_url": "/cart/add", 382 "cart_change_url": "/cart/change", 383 "cart_clear_url": "/cart/clear", 384 "product_recommendations_url": "/recommendations/products", 385 }; 386 </script>
386 387
388<script> 389 // empty script tag to work around a platform issue where attributes of first script in file are scrubbed 390</script>
390 391
392<script id="bold-subscriptions-script" type="text/javascript"> 393 window.BOLD = window.BOLD || {}; 394 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 395 window.BOLD.subscriptions.classes = window.BOLD.subscriptions.classes || {}; 396 window.BOLD.subscriptions.patches = window.BOLD.subscriptions.patches || {}; 397 window.BOLD.subscriptions.patches.maxCheckoutRetries = window.BOLD.subscriptions.patches.maxCheckoutRetries || 200; 398 window.BOLD.subscriptions.patches.currentCheckoutRetries = window.BOLD.subscriptions.patches.currentCheckoutRetries || 0; 399 window.BOLD.subscriptions.patches.maxCashierPatchAttempts = window.BOLD.subscriptions.patches.maxCashierPatchAttempts || 200; 400 window.BOLD.subscriptions.patches.currentCashierPatchAttempts = window.BOLD.subscriptions.patches.currentCashierPatchAttempts || 0; 401 window.BOLD.subscriptions.config = window.BOLD.subscriptions.config || {}; 402 window.BOLD.subscriptions.config.platform = 'shopify'; 403 window.BOLD.subscriptions.config.shopDomain = 'jackie-bowker-nutrition.myshopify.com'; 404 window.BOLD.subscriptions.config.customDomain = 'shop.feelbetterinstitute.com'; 405 window.BOLD.subscriptions.config.shopIdentifier = '56734220454'; 406 window.BOLD.subscriptions.config.appUrl = 'https://sub.boldapps.net'; 407 window.BOLD.subscriptions.config.currencyCode = 'AUD'; 408 window.BOLD.subscriptions.config.checkoutType = 'shopify'; 409 window.BOLD.subscriptions.config.currencyFormat = "\u003Cspan class=hide-price-guest\u003E \u003Cspan class=hidden\u003E$\u0026#123;\u0026#123; amount }} AUD\u003C\/span\u003E\u003C\/span\u003E"; 410 window.BOLD.subscriptions.config.shopCurrencies = [{"id":3410,"currency":"AUD","currency_format":"$\u0026#123;\u0026#123;amount}}","created_at":"2021-09-03 22:33:06","updated_at":"2021-09-03 22:33:06"}]; 411 window.BOLD.subscriptions.config.shopSettings = {"allow_msp_cancellation":true,"allow_msp_prepaid_renewal":true,"customer_can_pause_subscription":true,"customer_can_change_next_order_date":true,"customer_can_change_order_frequency":true,"customer_can_create_an_additional_order":false,"show_currency_code":true,"stored_payment_method_policy":"required"}; 412 413 // TODO: Remove the isset with BS2-4659_improve_large_group_selection 414 window.BOLD.subscriptions.config.cashierPluginOnlyMode = window.BOLD.subscriptions.config.cashierPluginOnlyMode || false; 415 if (window.BOLD.subscriptions.config.waitForCheckoutLoader === undefined) { 416 window.BOLD.subscriptions.config.waitForCheckoutLoader = true; 417 } 418 419 window.BOLD.subscriptions.config.addToCartFormSelectors = window.BOLD.subscriptions.config.addToCartFormSelectors || []; 420 window.BOLD.subscriptions.config.addToCartButtonSelectors = window.BOLD.subscriptions.config.addToCartButtonSelectors || []; 421 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors = window.BOLD.subscriptions.config.widgetInsertBeforeSelectors || []; 422 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors = window.BOLD.subscriptions.config.quickAddToCartButtonSelectors || []; 423 window.BOLD.subscriptions.config.cartElementSelectors = window.BOLD.subscriptions.config.cartElementSelectors || []; 424 window.BOLD.subscriptions.config.cartTotalElementSelectors = window.BOLD.subscriptions.config.cartTotalElementSelectors || []; 425 window.BOLD.subscriptions.config.lineItemSelectors = window.BOLD.subscriptions.config.lineItemSelectors || []; 426 window.BOLD.subscriptions.config.lineItemNameSelectors = window.BOLD.subscriptions.config.lineItemNameSelectors || []; 427 window.BOLD.subscriptions.config.checkoutButtonSelectors = window.BOLD.subscriptions.config.checkoutButtonSelectors || []; 428 429 window.BOLD.subscriptions.config.featureFlags = window.BOLD.subscriptions.config.featureFlags || ["BS2-4177-enable-historical-report-datepicker","BS2-3660-delete-line-items-command","BS2-4377-filter-list-sub-orders-endpoint","SUB-1155-discount-code-on-subscription-create","SUB-1129-create-sub-dispatch-webhook","SUB-1132-search-by-subscription-id","SUB-1072-discount-code-platform-validation","SUB-569-add-subscriber-count","SUB-98
4296-shopify-theme-editor","SUB-1222-sub-create-bold-checkout-sdc"]; 430 window.BOLD.subscriptions.config.subscriptionProcessingFrequency = '60'; 431 window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage = true; 432 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 433 434 // Interval text markup template 435 window.BOLD.subscriptions.config.lineItemPropertyListSelectors = window.BOLD.subscriptions.config.lineItemPropertyListSelectors || []; 436 window.BOLD.subscriptions.config.lineItemPropertyListSelectors.push('dl.definitionList'); 437 window.BOLD.subscriptions.config.lineItemPropertyListTemplate = window.BOLD.subscriptions.config.lineItemPropertyListTemplate || '<dl class="definitionList"></dl>'; 438 window.BOLD.subscriptions.config.lineItemPropertyTemplate = window.BOLD.subscriptions.config.lineItemPropertyTemplate || '<dt class="definitionList-key">\:</dt><dd class="definitionList-value">\</dd>'; 439 440 // Discount text markup template 441 window.BOLD.subscriptions.config.discountItemTemplate = window.BOLD.subscriptions.config.discountItemTemplate || '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">\</div><div class="bold-subscriptions-discount__total">\</div></div>'; 442 443 444 // Constants in XMLHttpRequest are not reliable, so we will create our own 445 // reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState 446 window.BOLD.subscriptions.config.XMLHttpRequest = { 447 UNSENT:0, // Client has been created. open() not called yet. 448 OPENED: 1, // open() has been called. 449 HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available. 450 LOADING: 3, // Downloading; responseText holds partial data. 451 DONE: 4 // The operation is complete. 452 }; 453 454 window.BOLD.subscriptions.config.assetBaseUrl = 'https://sub.boldapps.net'; 455 if (window.localStorage && window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')) { 456 window.BOLD.subscriptions.config.assetBaseUrl = window.localStorage.getItem('boldSubscriptionsAssetBaseUrl') 457 } 458 459 window.BOLD.subscriptions.data.subscriptionGroups = []; 460 if (localStorage && localStorage.getItem('boldSubscriptionsSubscriptionGroups')) { 461 window.BOLD.subscriptions.data.subscriptionGroups = JSON.parse(localStorage.getItem('boldSubscriptionsSubscriptionGroups')); 462 } else { 463 window.BOLD.subscriptions.data.subscriptionGroups = [{"id":18125,"billing_rules":[{"id":38116,"subscription_group_id":18125,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":38117,"subscription_group_id":18125,"interval_name":"2 Month Subscription","billing_rule":"FREQ=MONTHLY;INTERVAL=2","custom_billing_rule":""},{"id":38118,"subscription_group_id":18125,"interval_name":"3 Month Subscription","billing_rule":"FREQ=MONTHLY;INTERVAL=3","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":17959,"subscription_group_id":18125,"total_duration":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":"6763019731110"},{"platform_entity_id":"6769269833894"},{"platform_entity_id":"6769280483494"},{"platform_entity_id":"6769288249510"},{"platform_entity_id":"6769299718310"},{"platform_entity_id":"6769304436902"},{"platform_entity_id":"6769306665126"},{"platform_entity_id":"6769310957734"},{"platform_entity_id":"6769313185958"},{"platform_entity_id":"6769315152038"},{"platform_entity_id":"6769316626598"},{"platform_entity_id":"6769318887590"},{"platform_entity_id":"6950993592486"},{"platform_entity_id":"6951078035622"},{"platform_entity_id":"6951106052262"},{"platform_entity_id":"6951132070054"},{"platform_entity_id":"6951210516646"},{"platform_entity_id":"6951226376358"},{"platform_entity_id":"6951310360742"},{"platform_entity_id":"6953262317734"},{"platform_entity_id":"6953293217958"},{"platform_entity_id":"6953309405350"},{"platform_entity_id":"6953320612006"},{"platform_entity_id":"6953341583526"},{"platform_entity_id":"6953348530342"},{"platform_entity_id":"6953362260134"},{"platform_entity_id":"6953377431718"},{"platform_entity_id":"6953383723174"},{"platform_entity_id":"6953383919782"},{"platform_entity_id":"6953389916326"},{"platform_entity_id":"7108944593062"},{"platform_entity_id":"7093861253286"},{"platform_entity_id":"7169131249830"},{"platform_entity_id":"7278966800550"},{"platform_entity_id":"7278988394662"},{"platform_entity_id":"7278978531494"},{"platform_entity_id":"7395341926566"},{"platform_entity_id":"7395356475558"}],"discount_type":"percentage","percent_discount":10,"fixed_discount":0,"can_add_to_cart":true}]; 464 } 465 466 window.BOLD.subscriptions.isFeatureFlagEnabled = function (featureFlag) { 467 for (var i = 0; i < window.BOLD.subscriptions.config.featureFlags.length; i++) { 468 if (window.BOLD.subscriptions.config.featureFlags[i] === featureFlag){ 469 return true; 470 } 471 } 472 return false;
473 } 474 475 window.BOLD.subscriptions.logger = { 476 tag: "bold_subscriptions", 477 // the bold subscriptions log level 478 // 0 - errors (default) 479 // 1 - warnings + errors 480 // 2 - info + warnings + errors 481 // use window.localStorage.setItem('boldSubscriptionsLogLevel', x) to set the log level 482 levels: { 483 ERROR: 0, 484 WARN: 1, 485 INFO: 2, 486 }, 487 level: parseInt((window.localStorage && window.localStorage.getItem('boldSubscriptionsLogLevel')) || "0", 10), 488 _log: function(callArgs, level) { 489 if (!window.console) { 490 return null; 491 } 492 493 if (window.BOLD.subscriptions.logger.level < level) { 494 return; 495 } 496 497 var params = Array.prototype.slice.call(callArgs); 498 params.unshift(window.BOLD.subscriptions.logger.tag); 499 500 switch (level) { 501 case window.BOLD.subscriptions.logger.levels.INFO: 502 console.info.apply(null, params); 503 return; 504 case window.BOLD.subscriptions.logger.levels.WARN: 505 console.warn.apply(null, params); 506 return; 507 case window.BOLD.subscriptions.logger.levels.ERROR: 508 console.error.apply(null, params); 509 return; 510 default: 511 console.log.apply(null, params); 512 return; 513 } 514 }, 515 info: function() { 516 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.INFO); 517 }, 518 warn: function() { 519 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.WARN); 520 }, 521 error: function() { 522 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.ERROR); 523 } 524 } 525 526 window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI = function() { 527 return window.BOLD.subscriptions.config.loadSubscriptionGroupFrom === window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes['BSUB_API']; 528 } 529 530 window.BOLD.subscriptions.getSubscriptionGroupFromProductId = function (productId) { 531 var data = window.BOLD.subscriptions.data; 532 var foundGroup = null; 533 for (var i = 0; i < data.subscriptionGroups.length; i += 1) { 534 var subscriptionGroup = data.subscriptionGroups[i]; 535 for (var j = 0; j < subscriptionGroup.selection_options.length; j += 1) { 536 var selectionOption = subscriptionGroup.selection_options[j]; 537 if (selectionOption.platform_entity_id === productId.toString()) { 538 foundGroup = subscriptionGroup; 539 break; 540 } 541 } 542 if (foundGroup) { 543 break; 544 } 545 } 546 return foundGroup; 547 }; 548 549 window.BOLD.subscriptions.getSubscriptionGroupById = function(subGroupId) { 550 var subscriptionGroups = window.BOLD.subscriptions.data.subscriptionGroups; 551 552 for (var i = 0; i < subscriptionGroups.length; i += 1) { 553 var subGroup = subscriptionGroups[i]; 554 if (subGroup.id === subGroupId) { 555 return subGroup; 556 } 557 } 558 559 return null; 560 }; 561 562 window.BOLD.subscriptions.addSubscriptionGroup = function (subscriptionGroup) { 563 if(!window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroup.id)) 564 { 565 window.BOLD.subscriptions.data.subscriptionGroups.push(subscriptionGroup); 566 } 567 } 568 569 window.BOLD.subscriptions.getSubscriptionGroupPrepaidDurationById = function(subscriptionGroupId, prepaidDurationId) { 570 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroupId); 571 572 if ( 573 !subscriptionGroup 574 || !subscriptionGroup.prepaid_durations 575 || !subscriptionGroup.prepaid_durations.length 576 ) { 577 return null; 578 } 579 580 for (var i = 0; i < subscriptionGroup.prepaid_durations.length; i++) { 581 var prepaidDuration = subscriptionGroup.prepaid_durations[i]; 582 if (prepaidDuration.id === prepaidDurationId) { 583 return prepaidDuration; 584 } 585 } 586 587 return null; 588 } 589 590 window.BOLD.subscriptions.getSubscriptionGroupBillingRuleById = function(subGroup, billingRuleId) { 591 for (var i = 0; i < subGroup.billing_rules.length; i += 1) { 592 var billingRule = subGroup.billing_rules[i]; 593 if (billingRule.id === billingRuleId) { 594 return billingRule; 595 } 596 } 597 598 return null; 599 }; 600 601 window.BOLD.subscriptions.toggleDisabledAddToCartButtons = function(d) { 602 var addToCartForms = document.querySelectorAll(window.BOLD.subscriptions.config.addToCartFormSelectors.join(',')); 603 var disable = !!d; 604 for (var i = 0; i < addToCartForms.length; i++) { 605 var addToCartForm = addToCartForms[i]; 606 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(
606addToCartForm); 607 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 608 609 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection') ) { 610 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 611 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 612 for (var j = 0; j < addToCartButtons.length; j++) { 613 var addToCartButton = addToCartButtons[j]; 614 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 615 616 addToCartButton.disabled = disable; 617 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 618 } 619 } 620 } else { 621 if (subscriptionGroup) { 622 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 623 for (var j = 0; j < addToCartButtons.length; j++) { 624 var addToCartButton = addToCartButtons[j]; 625 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 626 627 addToCartButton.disabled = disable; 628 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 629 } 630 } 631 } 632 633 } 634 }; 635 636 window.BOLD.subscriptions.disableAddToCartButtons = function () { 637 // only disable the add to cart buttons if the app isn't loaded yet 638 if (!window.BOLD.subscriptions.app) { 639 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(true); 640 } else { 641 window.BOLD.subscriptions.enableAddToCartButtons(); 642 } 643 }; 644 645 window.BOLD.subscriptions.enableAddToCartButtons = function () { 646 document.removeEventListener('click', window.BOLD.subscriptions.preventSubscriptionAddToCart); 647 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(false); 648 }; 649 650 window.BOLD.subscriptions.toggleDisabledCheckoutButtons = function(d) { 651 var checkoutButtons = document.querySelectorAll(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')); 652 var disable = !!d; 653 for (var i = 0; i < checkoutButtons.length; i++) { 654 var checkoutButton = checkoutButtons[i]; 655 var toggleAction = disable ? checkoutButton.setAttribute : checkoutButton.removeAttribute; 656 657 checkoutButton.disabled = disable; 658 toggleAction.call(checkoutButton, 'data-disabled-by-subscriptions', disable); 659 } 660 } 661 662 window.BOLD.subscriptions.disableCheckoutButtons = function() { 663 // only disable the checkout buttons if the app isn't loaded yet 664 if (!window.BOLD.subscriptions.app) { 665 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(true); 666 } else { 667 window.BOLD.subscriptions.enableCheckoutButtons(); 668 } 669 } 670 671 window.BOLD.subscriptions.enableCheckoutButtons = function() { 672 document.removeEventListener('click', window.BOLD.subscriptions.preventCheckout); 673 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(false); 674 } 675 676 window.BOLD.subscriptions.hasSuccessfulAddToCarts = function() { 677 if (typeof(Storage) !== "undefined") { 678 var successfulAddToCarts = JSON.parse( 679 window.localStorage.getItem('boldSubscriptionsSuccessfulAddToCarts') || '[]' 680 ); 681 if (successfulAddToCarts.length > 0) { 682 return true; 683 } 684 } 685 686 return false; 687 } 688 689 window.BOLD.subscriptions.hasPendingAddToCarts = function() { 690 if (typeof(Storage) !== "undefined") { 691 var pendingAddToCarts = JSON.parse( 692 window.localStorage.getItem('boldSubscriptionsPendingAddToCarts') || '[]' 693 ); 694 if (pendingAddToCarts.length > 0) { 695 return true; 696 } 697 } 698 699 return false;
700 } 701 702 window.BOLD.subscriptions.addJSAsset = function(src) { 703 var scriptTag = document.getElementById('bold-subscriptions-script'); 704 var jsElement = document.createElement('script'); 705 jsElement.type = 'text/javascript'; 706 jsElement.src = src; 707 scriptTag.parentNode.insertBefore(jsElement, scriptTag); 708 }; 709 710 window.BOLD.subscriptions.addCSSAsset = function(href) { 711 var scriptTag = document.getElementById('bold-subscriptions-script'); 712 var cssElement = document.createElement('link'); 713 cssElement.href = href; 714 cssElement.rel = 'stylesheet'; 715 scriptTag.parentNode.insertBefore(cssElement, scriptTag); 716 }; 717 718 window.BOLD.subscriptions.loadStorefrontAssets = function loadStorefrontAssets() { 719 var assets = window.BOLD.subscriptions.config.assets; 720 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.css']); 721 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.js']); 722 }; 723 724 window.BOLD.subscriptions.loadCustomerPortalAssets = function loadCustomerPortalAssets() { 725 var assets = window.BOLD.subscriptions.config.assets; 726 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.css']); 727 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.js']); 728 }; 729 730 window.BOLD.subscriptions.processManifest = function() { 731 if (!window.BOLD.subscriptions.processedManifest) { 732 window.BOLD.subscriptions.processedManifest = true; 733 window.BOLD.subscriptions.config.assets = JSON.parse(this.responseText); 734 735 window.BOLD.subscriptions.loadCustomerPortalAssets(); 736 } 737 }; 738 739 window.BOLD.subscriptions.addInitialLoadingMessage = function() { 740 var customerPortalNode = document.getElementById('customer-portal-root'); 741 if (customerPortalNode && window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage) { 742 customerPortalNode.innerHTML = '<div class="bold-subscriptions-loader-container"><div class="bold-subscriptions-loader"></div></div>'; 743 } 744 } 745 746 window.BOLD.subscriptions.contentLoaded = function() { 747 window.BOLD.subscriptions.data.contentLoadedEventTriggered = true; 748 window.BOLD.subscriptions.addInitialLoadingMessage(); 749 }; 750 751 window.BOLD.subscriptions.preventSubscriptionAddToCart = function(e) { 752 if (e.target.matches(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')) && e.target.form) { 753 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(e.target.form); 754 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 755 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection')) 756 { 757 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 758 // This code prevents products in subscription groups from being added to the cart before the 759 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 760 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 761 e.preventDefault(); 762 return false; 763 } 764 } else { 765 if (subscriptionGroup) { 766 // This code prevents products in subscription groups from being added to the cart before the 767 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 768 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 769 e.preventDefault(); 770 return false; 771 } 772 } 773 774 } 775 }; 776 777 window.BOLD.subscriptions.preventCheckout = function(e) { 778 if ( 779 e.target.matches(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')) 780 && (window.BOLD.subscriptions.hasSuccessfulAddToCarts() || window.BOLD.subscriptions.hasPendingAddToCarts()) 781 ) { 782 // This code prevents checkouts on the shop until the Subscriptions app fully loads. 783 // When the Subscriptions app is ready it will enable the checkout buttons itself. 784 // Use window.BOLD.subscriptions.enableCheckoutButtons to enable them manually. 785 e.preventDefault(); 786 return false;
787 } 788 } 789 790 document.addEventListener('DOMContentLoaded', window.BOLD.subscriptions.contentLoaded); 791 792 if (!Element.prototype.matches) { 793 Element.prototype.matches = 794 Element.prototype.matchesSelector || 795 Element.prototype.mozMatchesSelector || 796 Element.prototype.msMatchesSelector || 797 Element.prototype.oMatchesSelector || 798 Element.prototype.webkitMatchesSelector || 799 function(s) { 800 var matches = (this.document || this.ownerDocument).querySelectorAll(s), 801 i = matches.length; 802 while (--i >= 0 && matches.item(i) !== this) {} 803 return i > -1; 804 }; 805 } 806 807 if (!Element.prototype.closest) { 808 Element.prototype.closest = function(s) { 809 var el = this; 810 811 do { 812 if (Element.prototype.matches.call(el, s)) return el; 813 el = el.parentElement || el.parentNode; 814 } while (el !== null && el.nodeType === 1); 815 return null; 816 }; 817 } 818 819 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons = function (isVisible) { 820 if (window.BOLD.subscriptions.config.additionalCheckoutSelectors === undefined) { 821 return; 822 } 823 824 var selectors = window.BOLD.subscriptions.config.additionalCheckoutSelectors; 825 826 for (var i = 0; i < selectors.length; i++) { 827 var elements = document.querySelectorAll(selectors[i]); 828 829 for (var j = 0; j < elements.length; j++) { 830 elements[j].style.display = isVisible ? 'block' : 'none'; 831 } 832 } 833 } 834 835 window.BOLD.subscriptions.hideAdditionalCheckoutButtons = function() { 836 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(false); 837 }; 838 839 window.BOLD.subscriptions.showAdditionalCheckoutButtons = function() { 840 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(true); 841 }; 842 843 window.BOLD.subscriptions.enhanceMspUrls = function(data) { 844 var mspUrl = 'https://sub.boldapps.net/shop/9954/customer_portal'; 845 var elements = document.querySelectorAll("a[href='"+mspUrl+"']"); 846 847 if(!elements.length || !data.success) { 848 return; 849 } 850 851 for (var i = 0; i < elements.length; i++) { 852 elements[i].href = elements[i].href + "?jwt="+data.value.jwt+"&customerId="+data.value.customerId; 853 } 854 }; 855 856 window.addEventListener('load', function () { 857 window.BOLD.subscriptions.getJWT(window.BOLD.subscriptions.enhanceMspUrls); 858 }); 859 860 // This will be called immediately 861 // Use this anonymous function to avoid polluting the global namespace 862 (function() { 863 var xhr = new XMLHttpRequest(); 864 xhr.addEventListener('load', window.BOLD.subscriptions.processManifest); 865 xhr.open('GET', window.BOLD.subscriptions.config.assetBaseUrl + '/static/manifest.json?t=' + (new Date()).getTime()); 866 xhr.send(); 867 })() 868 869 window.BOLD.subscriptions.patches.patchCashier = function() { 870 if (window.BOLD && window.BOLD.checkout) { 871 window.BOLD.checkout.disable(); 872 window.BOLD.checkout.listenerFn = window.BOLD.subscriptions.patches.cashierListenerFn; 873 window.BOLD.checkout.enable(); 874 } else if (window.BOLD.subscriptions.patches.currentCashierPatchAttempts < window.BOLD.subscriptions.patches.maxCashierPatchAttempts) { 875 window.BOLD.subscriptions.patches.currentCashierPatchAttempts++; 876 setTimeout(window.BOLD.subscriptions.patches.patchCashier, 100); 877 } 878 }; 879 880 window.BOLD.subscriptions.patches.finishCheckout = function(event, form, cart) { 881 window.BOLD.subscriptions.patches.currentCheckoutRetries++; 882 883 if (!window.BOLD.subscriptions.app 884 && window.BOLD.subscriptions.patches.currentCheckoutRetries < window.BOLD.subscriptions.patches.maxCheckoutRetries 885 ) { 886 setTimeout(function () { window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); }, 100); 887 return; 888 } else if (window.BOLD.subscriptions.app) { 889 window.BOLD.subscriptions.patches.currentCheckoutRetries = 0; 890 window.BOLD.subscriptions.app.addCartParams(form, cart); 891 } 892 893 var noSubscriptions = false;
894 if ((window.BOLD.subscriptions.app && window.BOLD.subscriptions.app.successfulAddToCarts.length === 0) 895 || !window.BOLD.subscriptions.app 896 ) { 897 noSubscriptions = true; 898 event.target.dataset.cashierConfirmedNoPlugins = true; 899 900 if (window.BOLD.subscriptions.setCashierFeatureToken) { 901 window.BOLD.subscriptions.setCashierFeatureToken(false); 902 } 903 } 904 905 if ((noSubscriptions && window.BOLD.subscriptions.config.cashierPluginOnlyMode) 906 || (typeof BOLD.checkout.isFeatureRequired === 'function' && !BOLD.checkout.isFeatureRequired()) 907 ) { 908 // send them to the original checkout when in plugin only mode 909 // and either BSUB is there but there are no subscription products 910 // or BSUB isn't there at all 911 if (form.dataset.old_form_action) { 912 form.action = form.dataset.old_form_action; 913 } 914 event.target.click(); 915 } else { 916 // sends them to Cashier since BSUB got a chance to add it's stuff 917 // and plugin only mode is not enabled 918 form.submit(); 919 } 920 }; 921</script>
921 922
923<script id="bold-subscriptions-platform-script" type="text/javascript"> 924 window.BOLD.subscriptions.config.shopPlatformId = '56734220454'; 925 window.BOLD.subscriptions.config.appSlug = 'subscriptions'; 926 927 window.BOLD = window.BOLD || {}; 928 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 929 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 930 window.BOLD.subscriptions.data.platform = window.BOLD.subscriptions.data.platform || {}; 931 window.BOLD.subscriptions.data.platform.customer = { id: '' }; 932 window.BOLD.subscriptions.data.platform.product = null; 933 window.BOLD.subscriptions.data.platform.products = []; 934 window.BOLD.subscriptions.data.platform.variantProductMap = {}; 935 936 window.BOLD.subscriptions.addCachedProductData = function(products) { 937 // ignore [], null, and undefined 938 if (!products) { 939 return 940 } 941 942 if (!Array.isArray(products)) { 943 window.BOLD.subscriptions.logger.warn('products must be an array') 944 return 945 } 946 947 window.BOLD.subscriptions.data.platform.products.concat(products) 948 949 for (var i = 0; i < products.length; i++) { 950 var product = products[i]; 951 for (var j = 0; j < product.variants.length; j++) { 952 var variant = product.variants[j]; 953 window.BOLD.subscriptions.data.platform.variantProductMap[variant.id] = product; 954 } 955 } 956 } 957 958 959 960 961 962 window.BOLD.subscriptions.config.addToCartFormSelectors.push( 963 '.product-form.product-form-product-template:not(.bold-subscriptions-no-widget)' 964 ,'.product-form.product-form--payment-button:not(.bold-subscriptions-no-widget)' 965 ); 966 window.BOLD.subscriptions.config.addToCartButtonSelectors.push('[type="submit"]'); 967 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors.push('a[data-event-type="product-click"]'); 968 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors.push('[type="submit"]'); 969 window.BOLD.subscriptions.config.cartElementSelectors.push('form[action="/cart"]'); 970 window.BOLD.subscriptions.config.cartTotalElementSelectors.push('[data-cart-subtotal]', '.text-right .ajaxcart__subtotal'); 971 window.BOLD.subscriptions.config.checkoutButtonSelectors.push( 972 '[name="checkout"]', 973 '[href*="checkout"]:not([href*="tools/checkout"])', 974 '[onclick*="checkout"]:not([onclick*="tools/checkout"])', 975 ); 976 977 // Discount text markup template 978 // NOTE: @ on double curly, so blade doesn't interpret, and `raw` liquid tags so liquid doesn't interpret. 979 980 window.BOLD.subscriptions.config.discountItemTemplate = '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 981 982 983 window.BOLD.subscriptions.getProductIdFromAddToCartForm = function(addToCartForm) { 984 var idInput = addToCartForm.querySelector('[name="id"]'); 985 if (idInput === null) { 986 window.BOLD.subscriptions.logger.error('could not get variant id input from add to cart form â make sure your form has an input with [name="id"]') 987 return null; 988 } 989 990 var variantId = parseInt(idInput.value, 10); 991 if (isNaN(variantId)) { 992 window.BOLD.subscriptions.logger.error('could not parse variant id from [name="id"] input') 993 return null; 994 } 995 996 var product = window.BOLD.subscriptions.data.platform.variantProductMap[variantId]; 997 998 if (product === undefined) { 999 window.BOLD.subscriptions.logger.error('could not map variant id to cached product data â call window.BOLD.subscriptions.addCachedProductData(products) to add the product to the cache') 1000 return null; 1001 } 1002 1003 return product.id; 1004 }; 1005 1006 window.BOLD.subscriptions.getAddToCartForms = function() { 1007 var forms = []; 1008 var idInputs = document.querySelectorAll('[name="id"]'); 1009 1010 for (var i = 0; i < idInputs.length; i++) { 1011 var idInput = idInputs[i]; 1012 var form = idInput.closest('form:not(.bold-subscriptions-no-widget)'); 1013 if (form) { 1014 forms.push(form); 1015 } 1016 } 1017 1018 return forms; 1019 }; 1020 1021 window.BOLD.subscriptions.getJWT = function (callback) { 1022 if(window.BOLD.subscriptions.data.platform.customer.id !== '') { 1023 var shopPlatformId = '56734220454'; 1024 var appSlug = 'subscriptions'; 1025 var customerPlatformId = window.BOLD.subscriptions.data.platform.customer.id; 1026 var proxyPath = '/apps/app-proxy/customers/v1/shops/'+shopPlatformId+'/apps/'+appSlug+'/customers/pid/'+customerPlatformId+'/jwt'; 1027 1028 var xmlhttp = new XMLHttpRequest(); 1029 1030 xmlhttp.onreadystatechange = function() { 1031 if (xmlhttp.readyState === window.BOLD.subscriptions.config.XMLHttpRequest.DONE) { 1032 if (xmlhttp.status === 200) { 1033 var data = JSON.parse(xmlhttp.responseText); 1034 callback({ 1035 success: true, 1036 value: { 1037 jwt: data.bold_platform_jwt, 1038 customerId: window.BOLD.subscriptions.data.platform.customer.id, 1039 }, 1040 }); 1041 } else if (xmlhttp.status === 404) { 1042 callback({ 1043 success: false, 1044 error: 'not_logged_in', 1045 }); 1046 } else { 1047 callback({ 1048 success: false, 1049 error: 'unknown', 1050 }); 1051 } 1052 } 1053 }; 1054 1055 xmlhttp.open("GET", proxyPath, true); 1056 xmlhttp.setRequestHeader('Accept', 'application/liquid'); 1057 xmlhttp.send(); 1058 } else { 1059 callback({ 1060 success: false, 1061 error: 'not_logged_in', 1062 }); 1063 } 1064 }; 1065 1066 window.BOLD.subscriptions.setCashierFeatureToken = function(value) { 1067 if (window.BOLD.checkout_features_defaults && window.BOLD.subscriptions.config.cashierApplicationUUID) {
1068 window.BOLD.checkout_features_defaults.forEach(function(item) { 1069 if (item.id === window.BOLD.subscriptions.config.cashierApplicationUUID) { 1070 item.require = value; 1071 } 1072 }); 1073 } 1074 }; 1075 1076 // Cashier patches 1077 window.BOLD.subscriptions.patches.cashierListenerFn = function(event) { 1078 if (window.BOLD.checkout.isCheckoutButton(event.target) && window.BOLD.checkout.isEnabled()) { 1079 window.BOLD.subscriptions.patches.pushToCashier(event); 1080 } else if(window.BOLD.checkout.isCheckoutButton(event.target) && typeof window.cashier_installed_on_site === 'undefined') { 1081 var request = new XMLHttpRequest(); 1082 request.open('HEAD', '/apps/checkout/isInstalled', false); 1083 request.send(null); 1084 1085 if(request.status >= 200 && request.status < 400) { 1086 window.BOLD.subscriptions.patches.pushToCashier(event); 1087 } else { 1088 window.cashier_installed_on_site = false; 1089 } 1090 } 1091 }; 1092 1093 window.BOLD.subscriptions.localTime = function() { 1094 var localDate = new Date(); 1095 return localDate.getTime(); 1096 }; 1097 1098 1099 window.BOLD.subscriptions.patches.pushToCashier = function(event) { 1100 event.preventDefault(); 1101 var form = window.BOLD.checkout.getForm(event.target); 1102 var formData = new FormData(form); 1103 var request = new XMLHttpRequest(); 1104 request.open('POST', '/cart/update.js?tmp=' + Date.now(), true); 1105 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 1106 1107 request.onload = function() { 1108 if (request.status >= 200 && request.status < 400) { 1109 // Success! 1110 var cart = JSON.parse(request.responseText); 1111 1112 // If items are empty redirect back to the cart 1113 if (cart.items.length === 0) { 1114 return window.location.href = '/cart'; 1115 } 1116 1117 cart.items.forEach(function(element) { 1118 delete element.product_description; 1119 }); 1120 1121 if (document.getElementById('CartSpecialInstructions')) { 1122 // If the cart note exists, grab its value 1123 cart.note = document.getElementById('CartSpecialInstructions').value; 1124 } 1125 1126 var cartObj = JSON.stringify(cart); 1127 1128 var form = window.BOLD.checkout.getForm(event.target); 1129 form.dataset.old_form_action = form.action; 1130 form.action = '/apps/checkout/begin-checkout' + googleAnalyticsGetParamString({}); 1131 var cartCookie = window.BOLD.checkout.getCookie('cart'); 1132 var element = document.createElement('INPUT'); 1133 element.type = 'HIDDEN'; 1134 element.name = 'cart_id'; 1135 element.value = cartCookie; 1136 form.appendChild(element); 1137 1138 var dateElement = document.createElement('INPUT'); 1139 dateElement.type = 'HIDDEN'; 1140 dateElement.name = 'checkout_local_time'; 1141 dateElement.value = window.BOLD.subscriptions.localTime(); 1142 form.appendChild(dateElement); 1143 1144 var cartElement = document.createElement('INPUT'); 1145 cartElement.type = 'HIDDEN'; 1146 cartElement.name = 'cart'; 1147 cartElement.value = cartObj; 1148 form.appendChild(cartElement); 1149 form.method = 'POST'; 1150 1151 if(window.BOLD && window.BOLD.checkout && typeof window.BOLD.checkout.languageIsoCode === 'string') { 1152 var langInput = document.createElement('INPUT'); 1153 langInput.type = 'HIDDEN'; 1154 langInput.name = 'language_iso'; 1155 langInput.value = window.BOLD.checkout.languageIsoCode; 1156 form.appendChild(langInput); 1157 } 1158 1159 if (window.BOLD && window.BOLD.common && typeof window.BOLD.common.eventEmitter === 'object' && typeof window.BOLDCURRENCY !== 'undefined') { 1160 window.BOLD.common.eventEmitter.emit('BOLD_CASHIER_checkout', {target: form}); 1161 } 1162 1163 window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); 1164 } 1165 }; 1166 1167 request.send(formData); 1168 }; 1169 1170 </script>
1170 1171
1172<script 1173 src="https://code.jquery.com/jquery-3.6.1.min.js" 1174 integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" 1175 crossorigin="anonymous" 1176 ></script>
1176 1177 1178 <!-- <link 1179 href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" 1180 rel="stylesheet" 1181 integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" 1182 crossorigin="anonymous" 1183 > --> 1184 1185 <link 1186 href="//feelbetterinstitute.com/cdn/shop/t/20/assets/bootstrap.min.css?v=29195500391666890861714564720" 1187 rel="stylesheet" 1188 crossorigin="anonymous" 1189 > 1190 1191 <!--
1191<script type="text/javascript" src="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
1191--> 1192 1193
1193<script type="text/javascript" src="//feelbetterinstitute.com/cdn/shop/t/20/assets/slick.min.js?v=71779134894361685811714564931"></script>
1193 1194 1195 <!--
1195<script type="text/javascript" src="//feelbetterinstitute.com/cdn/shop/t/20/assets/print.min.js?v=110450576453436062451669303303"></script>
1195 --> 1196 1197
1197<script type="text/javascript" src="//feelbetterinstitute.com/cdn/shop/t/20/assets/jQuery.print.min.js?v=34892082694598434891669305166"></script>
1197 1198 1199 <link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/slick.css?v=78136971759787606821668439529" rel="stylesheet" type="text/css" media="all"> 1200 <link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/slick-theme.css?v=131484393584574244321668439545" rel="stylesheet" type="text/css" media="all"> 1201 1202 <link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/new-dev.css?v=111603181540343972631668514548" rel="stylesheet" type="text/css" media="all"> 1203 <link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/newstyles.css?v=33959090564767900261714651175" rel="stylesheet" type="text/css" media="all"> 1204 <link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/new-recipes.css?v=96409712513225510521669908745" rel="stylesheet" type="text/css" media="all"> 1205 <link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/responsive.css?v=98716952482369753261714651872" rel="stylesheet" type="text/css" media="all"> 1206 <link href="//feelbetterinstitute.com/cdn/shop/t/20/assets/override.css?v=20066275967172300641679924727" rel="stylesheet" type="text/css" media="all"> 1207 1208 1209 1210 1211<style> 1212 1213 1214 1215 1216 1217 1218 1219 1220 @import url('https://fonts.googleapis.com/css2?family=ABeeZee:&family=ABeeZee:&family=ABeeZee:&family=ABeeZee:&display=swap'); 1221 1222 1223 1224 1225 .recipe-block .recipe-card h2 {font-family: 'ABeeZee'; 1226 font-weight: ;font-size: px ;color: ;} 1227 1228 1229 .recipe-block .recipe-card h3 {font-family: 'ABeeZee' ; 1230 font-weight: ;font-size: px ;color: ;} 1231 1232 1233 .recipe-block .recipe-card p, .recipe-block .recipe-card li {font-family: 'ABeeZee'; 1234 font-weight: ;font-size: px ;color: ;} 1235 1236 1237 .recipe-block .recipe-card a {font-family: 'ABeeZee'; 1238 font-weight: ;font-size: px;color: ;} 1239 1240 1241 .recipe-block .recipe-card a:hover { 1242 color: ; 1243 } 1244 1245 1246 1247 1248</style> 1249 1250
1250<script type="text/javascript" src="https://load.fomo.com/api/v1/w3CyzCxEbEUFA2D2vTueGQ/load.js" async></script>
1250 1251 1252 <!-- Google tag (gtag.js) -->
vendor: 68 bytes, lines 1252-1253
1252 1253 <script async src="https://www.googletagmanager.com/gtag/js?id=
1253G-0WS3G2DKJV
vendor: 16 bytes, lines 1253-1254
1253"></script> 1254
1254<script> 1255
vendor: 145 bytes, lines 1255-1258
1255window.dataLayer = window.dataLayer || []; 1256 function gtag(){dataLayer.push(arguments);} 1257 gtag('js', new Date()); 1258 gtag('config', '
1258G-0WS3G2DKJV
vendor: 8 bytes, lines 1258-1259
1258'); 1259
1259</script>
1259 1260 <!-- Deadline Funnel -->
1260<script type="text/javascript" data-cfasync="false">function SendUrlToDeadlineFunnel(e){var r,t,c,a,h,n,o,A,i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=0,l=0,s="",u=[];if(!e)return e;do r=e.charCodeAt(d++),t=e.charCodeAt(d++),c=e.charCodeAt(d++),A=r<<16|t<<8|c,a=A>>18&63,h=A>>12&63,n=A>>6&63,o=63&A,u[l++]=i.charAt(a)+i.charAt(h)+i.charAt(n)+i.charAt(o);while(d<e.length);s=u.join("");var C=e.length%3;var decoded = (C?s.slice(0,C-3):s)+"===".slice(C||3);decoded = decoded.replace("+", "-");decoded = decoded.replace("/", "_");return decoded;} var dfUrl = SendUrlToDeadlineFunnel(location.href); var dfParentUrlValue;try {dfParentUrlValue = window.parent.location.href;} catch(err) {if(err.name === "SecurityError") {dfParentUrlValue = document.referrer;}}var dfParentUrl = (parent !== window) ? ("/" + SendUrlToDeadlineFunnel(dfParentUrlValue)) : "";(function() {var s = document.createElement("script");s.type = "text/javascript";s.async = true;s.setAttribute("data-scriptid", "dfunifiedcode");s.src ="https://a.deadlinefunnel.com/unified/reactunified.bundle.js?userIdHash=eyJpdiI6IlRjR2Z2aDQvSkFIMVhqOU95dXBJK3c9PSIsInZhbHVlIjoiR0ZaRWtzbkNJSlY2SzFSRFlPY0x0QT09IiwibWFjIjoiNzc2OTBlYmI0YjdjYTc2Y2Y5MTUxZWM0Njc3NzhhNjM0NDg0ZDJiZjkyY2ZlMTZhM2VjYzJkMjA2NDQwZjM5MCJ9&pageFromUrl="+dfUrl+"&parentPageFromUrl="+dfParentUrl;var s2 = document.getElementsByTagName("script")[0];s2.parentNode.insertBefore(s, s2);})();</script>
1260<!-- End Deadline Funnel --> 1261 1262 1263 1264 1265 1266 1267 1268 1269<!-- countdowntimer.ai -->
1269<script type="text/javascript">function prepareURL(e) { var r, t, c, a, h, n, o, A, i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", d = 0, l = 0, s = "", u = []; if (!e) return e; do (r = e.charCodeAt(d++)), (t = e.charCodeAt(d++)), (c = e.charCodeAt(d++)), (A = (r << 16) | (t << 8) | c), (a = (A >> 18) & 63), (h = (A >> 12) & 63), (n = (A >> 6) & 63), (o = 63 & A), (u[l++] = i.charAt(a) + i.charAt(h) + i.charAt(n) + i.charAt(o)); while (d < e.length); s = u.join(""); const C = e.length % 3; let decoded = (C ? s.slice(0, C - 3) : s) + "===".slice(C || 3); decoded = decoded.replace("+", "-"); decoded = decoded.replace("/", "_"); return decoded;}const preparedURL = prepareURL(location.href);(function () { const script = document.createElement("script"); script.type = "text/javascript"; script.async = true; script.src = "https://app.countdowntimer.ai/embed.js?id=b3f47842-70a1-70d3-3f23-661b33f89598&url=" + preparedURL; const script2 = document.getElementsByTagName("script")[0]; script2.parentNode.insertBefore(script, script2);})();</script>
1269<!-- End countdowntimer.ai -->
1270<script> 1271 (function(w, d, t, h, s, n) { 1272 w.FlodeskObject = n; 1273 var fn = function() { 1274 (w[n].q = w[n].q || []).push(arguments); 1275 }; 1276 w[n] = w[n] || fn; 1277 var f = d.getElementsByTagName(t)[0]; 1278 var v = '?v=' + Math.floor(new Date().getTime() / (120 * 1000)) * 60; 1279 var sm = d.createElement(t); 1280 sm.async = true; 1281 sm.type = 'module'; 1282 sm.src = h + s + '.mjs' + v; 1283 f.parentNode.insertBefore(sm, f); 1284 var sn = d.createElement(t); 1285 sn.async = true; 1286 sn.noModule = true; 1287 sn.src = h + s + '.js' + v; 1288 f.parentNode.insertBefore(sn, f); 1289 })(window, document, 'script', 'https://assets.flodesk.com', '/universal', 'fd'); 1290</script>
1290 1291
1291<script> 1292 (function(w, d, t, h, s, n) { 1293 w.FlodeskObject = n; 1294 var fn = function() { 1295 (w[n].q = w[n].q || []).push(arguments); 1296 }; 1297 w[n] = w[n] || fn; 1298 var f = d.getElementsByTagName(t)[0]; 1299 var v = '?v=' + Math.floor(new Date().getTime() / (120 * 1000)) * 60; 1300 var sm = d.createElement(t); 1301 sm.async = true; 1302 sm.type = 'module'; 1303 sm.src = h + s + '.mjs' + v; 1304 f.parentNode.insertBefore(sm, f); 1305 var sn = d.createElement(t); 1306 sn.async = true; 1307 sn.noModule = true; 1308 sn.src = h + s + '.js' + v; 1309 f.parentNode.insertBefore(sn, f); 1310 })(window, document, 'script', 'https://assets.flodesk.com', '/universal', 'fd'); 1311</script>
vendor: 1 bytes, line 1311
1311
1312<script> 1313 window.fd('form', { 1314 formId: '674f5b0fc751042207147e64' 1315 }); 1316</script>
1316 1317 1318 <!-- BEGIN app block: shopify://apps/bold-subscriptions/blocks/bsub-embed/9ceb49f0-5fe5-4b5e-943d-f8af8985167d -->
1319<script id="bold-subscriptions-app-embed-script" type="text/javascript" defer> 1320 1321 if (window.location.href.includes('/account/login') && false) { 1322 window.location.href = `https://feelbetterinstitute.com/pages/manage-subscriptions`; 1323 } 1324 1325 1326 window.BOLD = window.BOLD || {}; 1327 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 1328 window.BOLD.subscriptions.config = window.BOLD.subscriptions.config || {}; 1329 window.BOLD.subscriptions.config.isAppEmbedEnabled = true; 1330 window.BOLD.subscriptions.classes = window.BOLD.subscriptions.classes || {}; 1331 window.BOLD.subscriptions.patches = window.BOLD.subscriptions.patches || {}; 1332 window.BOLD.subscriptions.patches.maxCheckoutRetries = window.BOLD.subscriptions.patches.maxCheckoutRetries || 200; 1333 window.BOLD.subscriptions.patches.currentCheckoutRetries = window.BOLD.subscriptions.patches.currentCheckoutRetries || 0; 1334 window.BOLD.subscriptions.patches.maxCashierPatchAttempts = window.BOLD.subscriptions.patches.maxCashierPatchAttempts || 200; 1335 window.BOLD.subscriptions.patches.currentCashierPatchAttempts = window.BOLD.subscriptions.patches.currentCashierPatchAttempts || 0; 1336 window.BOLD.subscriptions.config.platform = 'shopify'; 1337 window.BOLD.subscriptions.config.shopDomain = 'jackie-bowker-nutrition.myshopify.com'; 1338 window.BOLD.subscriptions.config.customDomain = 'feelbetterinstitute.com'; 1339 window.BOLD.subscriptions.config.shopIdentifier = '56734220454'; 1340 window.BOLD.subscriptions.config.cashierUrl = 'https://cashier.boldcommerce.com'; 1341 window.BOLD.subscriptions.config.boldAPIBase = 'https://app-api.boldapps.net/'; 1342 window.BOLD.subscriptions.config.cashierApplicationUUID = '2e6a2bbc-b12b-4255-abdf-a02af85c0d4e'; 1343 window.BOLD.subscriptions.config.appUrl = 'https://sub.boldapps.net'; 1344 window.BOLD.subscriptions.config.currencyCode = 'AUD'; 1345 window.BOLD.subscriptions.config.checkoutType = 'shopify'; 1346 window.BOLD.subscriptions.config.currencyFormat = "\u003cspan class=hide-price-guest\u003e \u003cspan class=hidden\u003e$\u0026#123;\u0026#123; amount }} AUD\u003c\/span\u003e\u003c\/span\u003e"; 1347 window.BOLD.subscriptions.config.shopCurrencies = [{"id":3410,"currency":"AUD","currency_format":"$\u0026#123;\u0026#123;amount}}","created_at":"2021-09-03 22:33:06","updated_at":"2021-09-03 22:33:06"}]; 1348 window.BOLD.subscriptions.config.shopSettings = {"allow_msp_cancellation":true,"allow_msp_prepaid_renewal":true,"customer_can_pause_subscription":true,"customer_can_change_next_order_date":true,"customer_can_change_order_frequency":true,"customer_can_create_an_additional_order":true,"customer_can_use_passwordless_login":true,"customer_passwordless_login_redirect":false,"customer_can_add_products_to_existing_subscriptions":true,"customer_can_reactivate_subscription":true,"customer_can_reactivate_subscription_with_deleted_products":false,"show_currency_code":true,"stored_payment_method_policy":"required","customer_portal_path":"pages\/manage-subscriptions","display_only_subscription_products":false}; 1349 window.BOLD.subscriptions.config.customerLoginPath = null; 1350 window.BOLD.subscriptions.config.isPrepaidEnabled = window.BOLD.subscriptions.config.isPrepaidEnabled || true; 1351 window.BOLD.subscriptions.config.loadSubscriptionGroupFrom = 'default'; 1352 window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes = "default"; 1353 window.BOLD.subscriptions.config.cashierPluginOnlyMode = window.BOLD.subscriptions.config.cashierPluginOnlyMode || false; 1354 if (window.BOLD.subscriptions.config.waitForCheckoutLoader === undefined) { 1355 window.BOLD.subscriptions.config.waitForCheckoutLoader = true; 1356 } 1357 1358 window.BOLD.subscriptions.config.addToCartFormSelectors = window.BOLD.subscriptions.config.addToCartFormSelectors || []; 1359 window.BOLD.subscriptions.config.addToCartButtonSelectors = window.BOLD.subscriptions.config.addToCartButtonSelectors || []; 1360 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors = window.BOLD.subscriptions.config.widgetInsertBeforeSelectors || []; 1361 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors = window.BOLD.subscriptions.config.quickAddToCartButtonSelectors || []; 1362 window.BOLD.subscriptions.config.cartElementSelectors = window.BOLD.subscriptions.config.cartElementSelectors || []; 1363 window.BOLD.subscriptions.config.cartTotalElementSelectors = window.BOLD.subscriptions.config.cartTotalElementSelectors || []; 1364 window.BOLD.subscriptions.config.lineItemSelectors = window.BOLD.subscriptions.config.lineItemSelectors || []; 1365 window.BOLD.subscriptions.config.lineItemNameSelectors = window.BOLD.subscriptions.config.lineItemNameSelectors || []; 1366 window.BOLD.subscriptions.config.checkoutButtonSelectors = window.BOLD.subscriptions.config.checkoutButtonSelectors || []; 1367 1368 window.BOLD.subscriptions.config.featureFlags = window.BOLD.subscriptions.config.featureFlagOverrides || ["BE-2298-Support-Variant-Selections-In-Sub-Groups","BE-6925-remove-bold-error-code-from-error-message","BE-8664-default-address-source-bold","BE-9502-add-logs-to-investigate-infinite-loop","BE-6695-improve-subs-onboarding","BE-10096-list-deleted-variants","BE-10183-customer-portal-paginates-products","BE-10178-suppress-dup-inventory-failure-emails","BE-9073-reactivate-subscription-setting"]; 1369 window.BOLD.subscriptions.config.subscriptionProcessingFrequency = '60'; 1370 window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage = true; 1371 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 1372 1373 // Interval text markup template 1374 window.BOLD.subscriptions.config.lineItemPropertyListSelectors = window.BOLD.subscriptions.config.lineItemPropertyListSelectors || []; 1375 window.BOLD.subscriptions.config.lineItemPropertyListSelectors.push('dl.definitionList'); 1376 window.BOLD.subscriptions.config.lineItemPropertyListTemplate = window.BOLD.subscriptions.config.lineItemPropertyListTemplate || '<dl class="definitionList"></dl>'; 1377 window.BOLD.subscriptions.config.lineItemPropertyTemplate = window.BOLD.subscriptions.config.lineItemPropertyTemplate || '<dt class="definitionList-key">{{key}}:</dt><dd class="definitionList-value">{{value}}</dd>'; 1378 1379 // Discount text markup template 1380 window.BOLD.subscriptions.config.discountItemTemplate = window.BOLD.subscriptions.config.discountItemTemplate || '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 1381 1382 1383 // Constants in XMLHttpRequest are not reliable, so we will create our own 1384 // reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState 1385 window.BOLD.subscriptions.config.XMLHttpRequest = { 1386 UNSENT:0, // Client has been created. open() not called yet. 1387 OPENED: 1, // open() has been called. 1388 HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available. 1389 LOADING: 3, // Downloading; responseText holds partial data. 1390 DONE: 4 // The operation is complete. 1391 }; 1392 1393 window.BOLD.subscriptions.config.assetBaseUrl = 'https://sub.boldapps.net'; 1394 if (window.localStorage && window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')) { 1395 window.BOLD.subscriptions.config.assetBaseUrl = window.localStorage.getItem('boldSubscriptionsAssetBaseUrl') 1396 } 1397 1398 window.BOLD.subscriptions.data.subscriptionGroups = []; 1399 if (localStorage && localStorage.getItem('boldSubscriptionsSubscriptionGroups')) { 1400 window.BOLD.subscriptions.data.subscriptionGroups = JSON.parse(localStorage.getItem('boldSubscriptionsSubscriptionGroups')); 1401 } else { 1402 window.BOLD.subscriptions.data.subscriptionGroups = [{"id":18125,"billing_rules":[{"id":38116,"subscription_group_id":18125,"interval_name":"Monthly","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":38117,"subscription_group_id":18125,"interval_name":"2 Month Subscription","billing_rule":"FREQ=MONTHLY;INTERVAL=2","custom_billing_rule":""},{"id":38118,"subscription_group_id":18125,"interval_name":"3 Month Subscription","billing_rule":"FREQ=MONTHLY;INTERVAL=3","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":17959,"subscription_group_id":18125,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[{"id":4832,"subscription_group_id":18125,"order_number":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":"6762869588134"},{"platform_entity_id":"6763019731110"},{"platform_entity_id":"6769269833894"},{"platform_entity_id":"6769280483494"},{"platform_entity_id":"6769288249510"},{"platform_entity_id":"6769299718310"},{"platform_entity_id":"6769304436902"},{"platform_entity_id":"6769306665126"},{"platform_entity_id":"6769310957734"},{"platform_entity_id":"6769313185958"},{"platform_entity_id":"6769315152038"},{"platform_entity_id":"6769316626598"},{"platform_entity_id":"6769318887590"},{"platform_entity_id":"6950993592486"},{"platform_entity_id":"6951078035622"},{"platform_entity_id":"6951106052262"},{"platform_entity_id":"6951132070054"}
1402,{"platform_entity_id":"6951210516646"},{"platform_entity_id":"6951226376358"},{"platform_entity_id":"6951310360742"},{"platform_entity_id":"6953262317734"},{"platform_entity_id":"6953293217958"},{"platform_entity_id":"6953309405350"},{"platform_entity_id":"6953320612006"},{"platform_entity_id":"6953341583526"},{"platform_entity_id":"6953348530342"},{"platform_entity_id":"6953362260134"},{"platform_entity_id":"6953377431718"},{"platform_entity_id":"6953383723174"},{"platform_entity_id":"6953383919782"},{"platform_entity_id":"6953389916326"},{"platform_entity_id":"6965886648486"},{"platform_entity_id":"6965925314726"},{"platform_entity_id":"6965926953126"},{"platform_entity_id":"6965927936166"},{"platform_entity_id":"6965928919206"},{"platform_entity_id":"7093861253286"},{"platform_entity_id":"7108944593062"},{"platform_entity_id":"7169131249830"},{"platform_entity_id":"7228513681574"},{"platform_entity_id":"7230416683174"},{"platform_entity_id":"7278966800550"},{"platform_entity_id":"7278978531494"},{"platform_entity_id":"7278988394662"},{"platform_entity_id":"7395341926566"},{"platform_entity_id":"7395356475558"},{"platform_entity_id":"7590666895526"},{"platform_entity_id":"7632510976166"},{"platform_entity_id":"7632523428006"},{"platform_entity_id":"7632524476582"},{"platform_entity_id":"7632525754534"},{"platform_entity_id":"7697535664294"},{"platform_entity_id":"7766917546150"},{"platform_entity_id":"7769565298854"},{"platform_entity_id":"7769565921446"},{"platform_entity_id":"7774822826150"},{"platform_entity_id":"7817225044134"},{"platform_entity_id":"7817241428134"}],"discount_type":"percentage","percent_discount":5,"fixed_discount":0,"can_add_to_cart":true}]; 1403 } 1404 1405 window.BOLD.subscriptions.isFeatureFlagEnabled = function (featureFlag) { 1406 for (var i = 0; i < window.BOLD.subscriptions.config.featureFlags.length; i++) { 1407 if (window.BOLD.subscriptions.config.featureFlags[i] === featureFlag){ 1408 return true; 1409 } 1410 } 1411 return false; 1412 } 1413 1414 window.BOLD.subscriptions.logger = { 1415 tag: "bold_subscriptions", 1416 // the bold subscriptions log level 1417 // 0 - errors (default) 1418 // 1 - warnings + errors 1419 // 2 - info + warnings + errors 1420 // use window.localStorage.setItem('boldSubscriptionsLogLevel', x) to set the log level 1421 levels: { 1422 ERROR: 0, 1423 WARN: 1, 1424 INFO: 2, 1425 }, 1426 level: parseInt((window.localStorage && window.localStorage.getItem('boldSubscriptionsLogLevel')) || "0", 10), 1427 _log: function(callArgs, level) { 1428 if (!window.console) { 1429 return null; 1430 } 1431 1432 if (window.BOLD.subscriptions.logger.level < level) { 1433 return; 1434 } 1435 1436 var params = Array.prototype.slice.call(callArgs); 1437 params.unshift(window.BOLD.subscriptions.logger.tag); 1438 1439 switch (level) { 1440 case window.BOLD.subscriptions.logger.levels.INFO: 1441 console.info.apply(null, params); 1442 return; 1443 case window.BOLD.subscriptions.logger.levels.WARN: 1444 console.warn.apply(null, params); 1445 return; 1446 case window.BOLD.subscriptions.logger.levels.ERROR: 1447 console.error.apply(null, params); 1448 return; 1449 default: 1450 console.log.apply(null, params); 1451 return; 1452 } 1453 }, 1454 info: function() { 1455 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.INFO); 1456 }, 1457 warn: function() { 1458 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.WARN); 1459 }, 1460 error: function() { 1461 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.ERROR); 1462 } 1463 } 1464 1465 window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI = function() { 1466 return window.BOLD.subscriptions.config.loadSubscriptionGroupFrom === window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes['BSUB_API']; 1467 } 1468 1469 window.BOLD.subscriptions.getSubscriptionGroupFromProductId = function (productId) { 1470 var data = window.BOLD.subscriptions.data; 1471 var foundGroup = null; 1472 for (var i = 0; i < data.subscriptionGroups.length; i += 1) { 1473 var subscriptionGroup = data.subscriptionGroups[i]; 1474 for (var j = 0; j < subscriptionGroup.selection_options.length; j += 1) { 1475 var selectionOption = subscriptionGroup.selection_options[j]; 1476 if (selectionOption.platform_entity_id === productId.toString()) { 1477 foundGroup = subscriptionGroup; 1478 break; 1479 } 1480 } 1481 if (foundGroup) { 1482 break; 1483 } 1484 } 1485 return foundGroup; 1486 }; 1487 1488 window.BOLD.subscriptions.getSubscriptionGroupById = function(subGroupId) { 1489 var subscriptionGroups = window.BOLD.subscriptions.data.subscriptionGroups; 1490 1491 for (var i = 0; i < subscriptionGroups.length; i += 1) { 1492 var subGroup = subscriptionGroups[i]; 1493 if (subGroup.id === subGroupId) { 1494 return subGroup; 1495 } 1496 } 1497 1498 return null; 1499 }; 1500 1501 window.BOLD.subscriptions.addSubscriptionGroup = function (subscriptionGroup) { 1502 if(!window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroup.id)) 1503 { 1504 window.BOLD.subscriptions.data.subscriptionGroups.push(subscriptionGroup); 1505 } 1506 } 1507 1508 window.BOLD.subscriptions.getSubscriptionGroupPrepaidDurationById = function(subscriptionGroupId, prepaidDurationId) { 1509 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroupId); 1510 1511 if ( 1512 !subscriptionGroup 1513 || !subscriptionGroup.prepaid_durations 1514 || !subscriptionGroup.prepaid_durations.length 1515 ) { 1516 return null; 1517 } 1518 1519 for (var i = 0; i < subscriptionGroup.prepaid_durations.length; i++) { 1520 var prepaidDuration = subscriptionGroup.prepaid_durations[i]; 1521 if (prepaidDuration.id === prepaidDurationId) { 1522 return prepaidDuration; 1523 } 1524 } 1525 1526 return null; 1527 } 1528 1529 window.BOLD.subscriptions.getSubscriptionGroupBillingRuleById = function(subGroup, billingRuleId) { 1530 for (var i = 0; i < subGroup.billing_rules.length; i += 1) { 1531 var billingRule = subGroup.billing_rules[i]; 1532 if (billingRule.id === billingRuleId) { 1533 return billingRule; 1534 } 1535 } 1536 1537 return null; 1538 }; 1539 1540 window.BOLD.subscriptions.toggleDisabledAddToCartButtons = function(d) { 1541 var addToCartForms = document.querySelectorAll(window.BOLD.subscriptions.config.addToCartFormSelectors.join(',')); 1542 var disable = !!d; 1543 for (var i = 0; i < addToCartForms.length; i++) { 1544 var addToCartForm = addToCartForms[i]; 1545 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(
1545addToCartForm); 1546 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 1547 1548 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection') ) { 1549 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 1550 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 1551 for (var j = 0; j < addToCartButtons.length; j++) { 1552 var addToCartButton = addToCartButtons[j]; 1553 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 1554 1555 addToCartButton.disabled = disable; 1556 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 1557 } 1558 } 1559 } else { 1560 if (subscriptionGroup) { 1561 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 1562 for (var j = 0; j < addToCartButtons.length; j++) { 1563 var addToCartButton = addToCartButtons[j]; 1564 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 1565 1566 addToCartButton.disabled = disable; 1567 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 1568 } 1569 } 1570 } 1571 1572 } 1573 }; 1574 1575 window.BOLD.subscriptions.disableAddToCartButtons = function () { 1576 // only disable the add to cart buttons if the app isn't loaded yet 1577 if (!window.BOLD.subscriptions.app) { 1578 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(true); 1579 } else { 1580 window.BOLD.subscriptions.enableAddToCartButtons(); 1581 } 1582 }; 1583 1584 window.BOLD.subscriptions.enableAddToCartButtons = function () { 1585 document.removeEventListener('click', window.BOLD.subscriptions.preventSubscriptionAddToCart); 1586 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(false); 1587 }; 1588 1589 window.BOLD.subscriptions.toggleDisabledCheckoutButtons = function(d) { 1590 var checkoutButtons = document.querySelectorAll(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')); 1591 var disable = !!d; 1592 for (var i = 0; i < checkoutButtons.length; i++) { 1593 var checkoutButton = checkoutButtons[i]; 1594 var toggleAction = disable ? checkoutButton.setAttribute : checkoutButton.removeAttribute; 1595 1596 checkoutButton.disabled = disable; 1597 toggleAction.call(checkoutButton, 'data-disabled-by-subscriptions', disable); 1598 } 1599 } 1600 1601 window.BOLD.subscriptions.disableCheckoutButtons = function() { 1602 // only disable the checkout buttons if the app isn't loaded yet 1603 if (!window.BOLD.subscriptions.app) { 1604 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(true); 1605 } else { 1606 window.BOLD.subscriptions.enableCheckoutButtons(); 1607 } 1608 } 1609 1610 window.BOLD.subscriptions.enableCheckoutButtons = function() { 1611 document.removeEventListener('click', window.BOLD.subscriptions.preventCheckout); 1612 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(false); 1613 } 1614 1615 window.BOLD.subscriptions.hasSuccessfulAddToCarts = function() { 1616 if (typeof(Storage) !== "undefined") { 1617 var successfulAddToCarts = JSON.parse( 1618 window.localStorage.getItem('boldSubscriptionsSuccessfulAddToCarts') || '[]' 1619 ); 1620 if (successfulAddToCarts.length > 0) { 1621 return true; 1622 } 1623 } 1624 1625 return false; 1626 } 1627 1628 window.BOLD.subscriptions.hasPendingAddToCarts = function() { 1629 if (typeof(Storage) !== "undefined") { 1630 var pendingAddToCarts = JSON.parse( 1631 window.localStorage.getItem('boldSubscriptionsPendingAddToCarts') || '[]' 1632 ); 1633 if (pendingAddToCarts.length > 0) { 1634 return true; 1635 } 1636 } 1637 1638 return false;
1639 } 1640 1641 window.BOLD.subscriptions.addJSAsset = function(src, deferred) { 1642 var scriptTag = document.getElementById('bold-subscriptions-app-embed-script'); 1643 var jsElement = document.createElement('script'); 1644 jsElement.type = 'text/javascript'; 1645 jsElement.src = src; 1646 if (deferred) { 1647 jsElement.defer = true; 1648 } 1649 scriptTag.parentNode.insertBefore(jsElement, scriptTag); 1650 }; 1651 1652 window.BOLD.subscriptions.addCSSAsset = function(href) { 1653 var scriptTag = document.getElementById('bold-subscriptions-app-embed-script'); 1654 var cssElement = document.createElement('link'); 1655 cssElement.href = href; 1656 cssElement.rel = 'stylesheet'; 1657 scriptTag.parentNode.insertBefore(cssElement, scriptTag); 1658 }; 1659 1660 window.BOLD.subscriptions.loadStorefrontAssets = function loadStorefrontAssets() { 1661 var assets = window.BOLD.subscriptions.config.assets; 1662 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.css']); 1663 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.js'], false); 1664 }; 1665 1666 window.BOLD.subscriptions.loadCustomerPortalAssets = function loadCustomerPortalAssets() { 1667 if (document.getElementById('customer-portal-root') || document.getElementsByClassName('bsub-express-add-ons-widget')) { 1668 var assets = window.BOLD.subscriptions.config.assets; 1669 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.css']); 1670 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.js'], true); 1671 } 1672 }; 1673 1674 window.BOLD.subscriptions.processManifest = function() { 1675 if (!window.BOLD.subscriptions.processedManifest) { 1676 window.BOLD.subscriptions.processedManifest = true; 1677 window.BOLD.subscriptions.config.assets = JSON.parse(this.responseText); 1678 1679 1680 window.BOLD.subscriptions.loadCustomerPortalAssets(); 1681 } 1682 }; 1683 1684 window.BOLD.subscriptions.addInitialLoadingMessage = function() { 1685 var customerPortalNode = document.getElementById('customer-portal-root'); 1686 if (customerPortalNode && window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage) { 1687 customerPortalNode.innerHTML = '<div class="bold-subscriptions-loader-container"><div class="bold-subscriptions-loader"></div></div>'; 1688 } 1689 } 1690 1691 window.BOLD.subscriptions.contentLoaded = function() { 1692 window.BOLD.subscriptions.data.contentLoadedEventTriggered = true; 1693 window.BOLD.subscriptions.addInitialLoadingMessage(); 1694 1695 }; 1696 1697 window.BOLD.subscriptions.preventSubscriptionAddToCart = function(e) { 1698 if (e.target.matches(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')) && e.target.form) { 1699 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(e.target.form); 1700 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 1701 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection')) 1702 { 1703 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 1704 // This code prevents products in subscription groups from being added to the cart before the 1705 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 1706 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 1707 e.preventDefault(); 1708 return false; 1709 } 1710 } else { 1711 if (subscriptionGroup) { 1712 // This code prevents products in subscription groups from being added to the cart before the 1713 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 1714 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 1715 e.preventDefault(); 1716 return false;
1717 } 1718 } 1719 1720 } 1721 }; 1722 1723 window.BOLD.subscriptions.preventCheckout = function(e) { 1724 if ( 1725 e.target.matches(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')) 1726 && (window.BOLD.subscriptions.hasSuccessfulAddToCarts() || window.BOLD.subscriptions.hasPendingAddToCarts()) 1727 ) { 1728 // This code prevents checkouts on the shop until the Subscriptions app fully loads. 1729 // When the Subscriptions app is ready it will enable the checkout buttons itself. 1730 // Use window.BOLD.subscriptions.enableCheckoutButtons to enable them manually. 1731 e.preventDefault(); 1732 return false; 1733 } 1734 } 1735 1736 if (!window.BOLD.subscriptions.config.legacyAssetsLoaded) { 1737 1738 document.addEventListener('DOMContentLoaded', window.BOLD.subscriptions.contentLoaded); 1739 } 1740 1741 if (!Element.prototype.matches) { 1742 Element.prototype.matches = 1743 Element.prototype.matchesSelector || 1744 Element.prototype.mozMatchesSelector || 1745 Element.prototype.msMatchesSelector || 1746 Element.prototype.oMatchesSelector || 1747 Element.prototype.webkitMatchesSelector || 1748 function(s) { 1749 var matches = (this.document || this.ownerDocument).querySelectorAll(s), 1750 i = matches.length; 1751 while (--i >= 0 && matches.item(i) !== this) {} 1752 return i > -1; 1753 }; 1754 } 1755 1756 if (!Element.prototype.closest) { 1757 Element.prototype.closest = function(s) { 1758 var el = this; 1759 1760 do { 1761 if (Element.prototype.matches.call(el, s)) return el; 1762 el = el.parentElement || el.parentNode; 1763 } while (el !== null && el.nodeType === 1); 1764 return null; 1765 }; 1766 } 1767 1768 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons = function (isVisible) { 1769 if (window.BOLD.subscriptions.config.additionalCheckoutSelectors === undefined) { 1770 return; 1771 } 1772 1773 var selectors = window.BOLD.subscriptions.config.additionalCheckoutSelectors; 1774 1775 for (var i = 0; i < selectors.length; i++) { 1776 var elements = document.querySelectorAll(selectors[i]); 1777 1778 for (var j = 0; j < elements.length; j++) { 1779 elements[j].style.display = isVisible ? 'block' : 'none'; 1780 } 1781 } 1782 } 1783 1784 window.BOLD.subscriptions.hideAdditionalCheckoutButtons = function() { 1785 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(false); 1786 }; 1787 1788 window.BOLD.subscriptions.showAdditionalCheckoutButtons = function() { 1789 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(true); 1790 }; 1791 1792 window.BOLD.subscriptions.enhanceMspUrls = function(data) { 1793 var mspUrl = 'https://sub.boldapps.net/shop/9954/customer_portal'; 1794 var elements = document.querySelectorAll("a[href='"+mspUrl+"']"); 1795 1796 if(!elements.length || !data.success) { 1797 return; 1798 } 1799 1800 for (var i = 0; i < elements.length; i++) { 1801 elements[i].href = elements[i].href + "?jwt="+data.value.jwt+"&customerId="+data.value.customerId; 1802 } 1803 }; 1804 1805 if (!window.BOLD.subscriptions.config.legacyAssetsLoaded) { 1806 window.addEventListener('load', function () { 1807 if (document.getElementById('customer-portal-root')) { 1808 window.BOLD.subscriptions.getJWT(window.BOLD.subscriptions.enhanceMspUrls); 1809 } 1810 }); 1811 1812 // This will be called immediately 1813 // Use this anonymous function to avoid polluting the global namespace 1814 (function() { 1815 var xhr = new XMLHttpRequest(); 1816 xhr.addEventListener('load', window.BOLD.subscriptions.processManifest); 1817 xhr.open('GET', window.BOLD.subscriptions.config.assetBaseUrl + '/static/manifest.json?t=' + (new Date()).getTime()); 1818 xhr.send(); 1819 })() 1820 } 1821 1822 window.BOLD.subscriptions.patches.patchCashier = function() { 1823 if (window.BOLD && window.BOLD.checkout) { 1824 window.BOLD.checkout.disable(); 1825 window.BOLD.checkout.listenerFn = window.BOLD.subscriptions.patches.cashierListenerFn; 1826 window.BOLD.checkout.enable(); 1827 } else if (window.BOLD.subscriptions.patches.currentCashierPatchAttempts < window.BOLD.subscriptions.patches.maxCashierPatchAttempts) { 1828 window.BOLD.subscriptions.patches.currentCashierPatchAttempts++; 1829 setTimeout(window.BOLD.subscriptions.patches.patchCashier, 100); 1830 } 1831 }; 1832 1833 window.BOLD.subscriptions.patches.finishCheckout = function(event, form, cart) { 1834 window.BOLD.subscriptions.patches.currentCheckoutRetries++; 1835 1836 if (!window.BOLD.subscriptions.app 1837 && window.BOLD.subscriptions.patches.currentCheckoutRetries < window.BOLD.subscriptions.patches.maxCheckoutRetries 1838 ) { 1839 setTimeout(function () { window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); }, 100); 1840 return; 1841 } else if (window.BOLD.subscriptions.app) { 1842 window.BOLD.subscriptions.patches.currentCheckoutRetries = 0; 1843 window.BOLD.subscriptions.app.addCartParams(form, cart); 1844 } 1845 1846 var noSubscriptions = false;
1847 if ((window.BOLD.subscriptions.app && window.BOLD.subscriptions.app.successfulAddToCarts.length === 0) 1848 || !window.BOLD.subscriptions.app 1849 ) { 1850 noSubscriptions = true; 1851 event.target.dataset.cashierConfirmedNoPlugins = true; 1852 1853 if (window.BOLD.subscriptions.setCashierFeatureToken) { 1854 window.BOLD.subscriptions.setCashierFeatureToken(false); 1855 } 1856 } 1857 1858 if ((noSubscriptions && window.BOLD.subscriptions.config.cashierPluginOnlyMode) 1859 || (typeof BOLD.checkout.isFeatureRequired === 'function' && !BOLD.checkout.isFeatureRequired()) 1860 ) { 1861 // send them to the original checkout when in plugin only mode 1862 // and either BSUB is there but there are no subscription products 1863 // or BSUB isn't there at all 1864 if (form.dataset.old_form_action) { 1865 form.action = form.dataset.old_form_action; 1866 } 1867 event.target.click(); 1868 } else { 1869 // sends them to Cashier since BSUB got a chance to add it's stuff 1870 // and plugin only mode is not enabled 1871 form.submit(); 1872 } 1873 }; 1874</script>
vendor: 1 bytes, line 1874
1874
1875<script id="bold-subscriptions-app-embed-platform-script" type="text/javascript" defer> 1876 window.BOLD.subscriptions.config.shopPlatformId = '56734220454'; 1877 window.BOLD.subscriptions.config.appSlug = 'subscriptions'; 1878 1879 window.BOLD = window.BOLD || {}; 1880 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 1881 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 1882 window.BOLD.subscriptions.data.platform = window.BOLD.subscriptions.data.platform || {}; 1883 window.BOLD.subscriptions.data.platform.customer = { id: '' }; 1884 window.BOLD.subscriptions.data.platform.product = null; 1885 window.BOLD.subscriptions.data.platform.products = []; 1886 window.BOLD.subscriptions.data.platform.variantProductMap = {}; 1887 1888 window.BOLD.subscriptions.getProductByVariantId = function(variantId) { 1889 if (window.BOLD.subscriptions.data.platform.product && 1890 window.BOLD.subscriptions.data.platform.product.variants) { 1891 for (var i = 0; i < window.BOLD.subscriptions.data.platform.product.variants.length; i++) { 1892 if (window.BOLD.subscriptions.data.platform.product.variants[i].id === variantId) { 1893 return window.BOLD.subscriptions.data.platform.product; 1894 } 1895 } 1896 } 1897 1898 if (window.BOLD.subscriptions.data.platform.variantProductMap[variantId]) { 1899 return window.BOLD.subscriptions.data.platform.variantProductMap[variantId]; 1900 } 1901 1902 var productElements = document.querySelectorAll('[data-product-id]'); 1903 for (var i = 0; i < productElements.length; i++) { 1904 var productJsonElement = productElements[i].querySelector('[data-product-json]'); 1905 1906 if (productJsonElement) { 1907 try { 1908 var productData = JSON.parse(productJsonElement.textContent); 1909 if (productData && productData.variants) { 1910 for (var j = 0; j < productData.variants.length; j++) { 1911 if (productData.variants[j].id === variantId) { 1912 return productData; 1913 } 1914 } 1915 } 1916 } catch (e) { 1917 // Continue if parsing fails 1918 } 1919 } 1920 } 1921 1922 return null; 1923 } 1924 1925 window.BOLD.subscriptions.config.addToCartFormSelectors.push( 1926 '.product-form.product-form-product-template:not(.bold-subscriptions-no-widget)' 1927 ,'.product-form.product-form--payment-button:not(.bold-subscriptions-no-widget)' 1928 ); 1929 window.BOLD.subscriptions.config.addToCartButtonSelectors.push('[type="submit"]'); 1930 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors.push('a[data-event-type="product-click"]'); 1931 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors.push('[type="submit"]'); 1932 window.BOLD.subscriptions.config.cartElementSelectors.push('form[action="/cart"]'); 1933 window.BOLD.subscriptions.config.cartTotalElementSelectors.push('[data-cart-subtotal]', '.text-right .ajaxcart__subtotal'); 1934 window.BOLD.subscriptions.config.checkoutButtonSelectors.push( 1935 '[name="checkout"]', 1936 '[href*="checkout"]:not([href*="tools/checkout"])', 1937 '[onclick*="checkout"]:not([onclick*="tools/checkout"])', 1938 ); 1939 1940 // Discount text markup template 1941 1942 window.BOLD.subscriptions.config.discountItemTemplate = '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 1943 1944 1945 window.BOLD.subscriptions.getProductIdFromAddToCartForm = function(addToCartForm) { 1946 var idInput = addToCartForm.querySelector('[name="id"]'); 1947 if (idInput === null) { 1948 window.BOLD.subscriptions.logger.error('could not get variant id input from add to cart form â make sure your form has an input with [name="id"]') 1949 return null; 1950 } 1951 1952 var variantId = parseInt(idInput.value, 10); 1953 if (isNaN(variantId)) { 1954 window.BOLD.subscriptions.logger.error('could not parse variant id from [name="id"] input') 1955 return null; 1956 } 1957 1958 var product = window.BOLD.subscriptions.getProductByVariantId(variantId); 1959 1960 if (product === undefined || product === null) { 1961 window.BOLD.subscriptions.logger.error('could not find product data for variant id ' + variantId + ' â product data may not be available on this page') 1962 return null; 1963 } 1964 1965 return product.id; 1966 }; 1967 1968 window.BOLD.subscriptions.getAddToCartForms = function() { 1969 var forms = [];
1970 var idInputs = document.querySelectorAll('[name="id"]'); 1971 1972 for (var i = 0; i < idInputs.length; i++) { 1973 var idInput = idInputs[i]; 1974 var form = idInput.closest('form:not(.bold-subscriptions-no-widget)'); 1975 if (form) { 1976 forms.push(form); 1977 } 1978 } 1979 1980 return forms; 1981 }; 1982 1983 window.BOLD.subscriptions.getJWT = function (callback) { 1984 if(window.BOLD.subscriptions.data.platform.customer.id !== '') { 1985 var shopPlatformId = '56734220454'; 1986 var appSlug = 'subscriptions'; 1987 var customerPlatformId = window.BOLD.subscriptions.data.platform.customer.id; 1988 var proxyPath = '/apps/app-proxy/customers/v1/shops/'+shopPlatformId+'/apps/'+appSlug+'/customers/pid/'+customerPlatformId+'/jwt'; 1989 1990 var xmlhttp = new XMLHttpRequest(); 1991 1992 xmlhttp.onreadystatechange = function() { 1993 if (xmlhttp.readyState === window.BOLD.subscriptions.config.XMLHttpRequest.DONE) { 1994 if (xmlhttp.status === 200) { 1995 var data = JSON.parse(xmlhttp.responseText); 1996 callback({ 1997 success: true, 1998 value: { 1999 jwt: data.bold_platform_jwt, 2000 customerId: window.BOLD.subscriptions.data.platform.customer.id, 2001 }, 2002 }); 2003 } else if (xmlhttp.status === 404) { 2004 callback({ 2005 success: false, 2006 error: 'not_logged_in', 2007 }); 2008 } else { 2009 callback({ 2010 success: false, 2011 error: 'unknown', 2012 }); 2013 } 2014 } 2015 }; 2016 2017 xmlhttp.open("GET", proxyPath, true); 2018 xmlhttp.setRequestHeader('Accept', 'application/liquid'); 2019 xmlhttp.send(); 2020 } else { 2021 callback({ 2022 success: false, 2023 error: 'not_logged_in', 2024 }); 2025 } 2026 }; 2027 2028 window.BOLD.subscriptions.setCashierFeatureToken = function(value) { 2029 if (window.BOLD.checkout_features_defaults && window.BOLD.subscriptions.config.cashierApplicationUUID) { 2030 window.BOLD.checkout_features_defaults.forEach(function(item) { 2031 if (item.id === window.BOLD.subscriptions.config.cashierApplicationUUID) { 2032 item.require = value; 2033 } 2034 }); 2035 } 2036 }; 2037 2038 // Cashier patches 2039 window.BOLD.subscriptions.patches.cashierListenerFn = function(event) { 2040 if (window.BOLD.checkout.isCheckoutButton(event.target) && window.BOLD.checkout.isEnabled()) { 2041 window.BOLD.subscriptions.patches.pushToCashier(event); 2042 } else if(window.BOLD.checkout.isCheckoutButton(event.target) && typeof window.cashier_installed_on_site === 'undefined') { 2043 var request = new XMLHttpRequest(); 2044 request.open('HEAD', '/apps/checkout/isInstalled', false); 2045 request.send(null); 2046 2047 if(request.status >= 200 && request.status < 400) { 2048 window.BOLD.subscriptions.patches.pushToCashier(event); 2049 } else { 2050 window.cashier_installed_on_site = false; 2051 } 2052 } 2053 }; 2054 2055 window.BOLD.subscriptions.localTime = function() { 2056 var localDate = new Date(); 2057 return localDate.getTime(); 2058 }; 2059 2060 2061 window.BOLD.subscriptions.patches.pushToCashier = function(event) { 2062 event.preventDefault(); 2063 var form = window.BOLD.checkout.getForm(event.target); 2064 var formData = new FormData(form); 2065 var request = new XMLHttpRequest(); 2066 request.open('POST', '/cart/update.js?tmp=' + Date.now(), true); 2067 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 2068 2069 request.onload = function() { 2070 if (request.status >= 200 && request.status < 400) { 2071 // Success! 2072 var cart = JSON.parse(request.responseText); 2073 2074 // If items are empty redirect back to the cart 2075 if (cart.items.length === 0) { 2076 return window.location.href = '/cart'; 2077 } 2078
2079 cart.items.forEach(function(element) { 2080 delete element.product_description; 2081 }); 2082 2083 if (document.getElementById('CartSpecialInstructions')) { 2084 // If the cart note exists, grab its value 2085 cart.note = document.getElementById('CartSpecialInstructions').value; 2086 } 2087 2088 var cartObj = JSON.stringify(cart); 2089 2090 var form = window.BOLD.checkout.getForm(event.target); 2091 form.dataset.old_form_action = form.action; 2092 form.action = '/apps/checkout/begin-checkout' + googleAnalyticsGetParamString({}); 2093 var cartCookie = window.BOLD.checkout.getCookie('cart'); 2094 var element = document.createElement('INPUT'); 2095 element.type = 'HIDDEN'; 2096 element.name = 'cart_id'; 2097 element.value = cartCookie; 2098 form.appendChild(element); 2099 2100 var dateElement = document.createElement('INPUT'); 2101 dateElement.type = 'HIDDEN'; 2102 dateElement.name = 'checkout_local_time'; 2103 dateElement.value = window.BOLD.subscriptions.localTime(); 2104 form.appendChild(dateElement); 2105 2106 var cartElement = document.createElement('INPUT'); 2107 cartElement.type = 'HIDDEN'; 2108 cartElement.name = 'cart'; 2109 cartElement.value = cartObj; 2110 form.appendChild(cartElement); 2111 form.method = 'POST'; 2112 2113 if(window.BOLD && window.BOLD.checkout && typeof window.BOLD.checkout.languageIsoCode === 'string') { 2114 var langInput = document.createElement('INPUT'); 2115 langInput.type = 'HIDDEN'; 2116 langInput.name = 'language_iso'; 2117 langInput.value = window.BOLD.checkout.languageIsoCode; 2118 form.appendChild(langInput); 2119 } 2120 2121 if (window.BOLD && window.BOLD.common && typeof window.BOLD.common.eventEmitter === 'object' && typeof window.BOLDCURRENCY !== 'undefined') { 2122 window.BOLD.common.eventEmitter.emit('BOLD_CASHIER_checkout', {target: form}); 2123 } 2124 2125 window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); 2126 } 2127 }; 2128 2129 request.send(formData); 2130 }; 2131 2132 2133</script>
2133 2134 2135 2136<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2137<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: 56734220454,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 2137
2137
2138<script> 2139 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2140</script>
vendor: 1 bytes, line 2140
2140
2141<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}
2141).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: 56734220454,storefrontBaseUrl: "https://feelbetterinstitute.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://feelbetterinstitute.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"732004518","configuration":"{\"myshopify_url\":\"jackie-bowker-nutrition.myshopify.com\", \"environment\":\"production\" }","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5640f8aa1309d751e1a79f66442f1a68","type":"APP","apiClientId":118555,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"702742694","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"GT-M3K8LMRM\\\",\\\"target_country\\\":\\\"AU\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-QQML2K
2141DKQH\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-QQML2KDKQH\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-QQML2KDKQH\\\"}],\\\"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":"294322342","configuration":"{\"pixel_id\":\"142414297268801\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"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":"Jackie Bowker's Global Feel Better Institute Shop","paymentSettings":{"currencyCode":"AUD"},"myshopifyDomain":"jackie-bowker-nutrition.myshopify.com","countryCode":"AU","storefrontUrl":"https:\/\/feelbetterinstitute.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://feelbetterinstitute.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"132084007078","themePublished":"true","eventMetadataId":"7c670e9d-5018-40d3-bec0-210578d2ba49","shopId":"56734220454","storefrontBaseUrl":"https:\/\/feelbetterinstitute.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2141<script> 2142 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2143 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2144 window.ShopifyAnalytics.meta.currency = 'AUD'; 2145 var meta = {"page":{"requestId":"09b254ee-5cd7-4f4d-adc1-0a7c50f649f8-1791095102"}}; 2146 for (var attr in meta) { 2147 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2148 } 2149</script>
vendor: 1 bytes, line 2149
2149
2150<script class="analytics"> 2151 (function () { 2152 var customDocumentWrite = function(content) { 2153 var jquery = null; 2154 2155 if (window.jQuery) { 2156 jquery = window.jQuery; 2157 } else if (window.Checkout && window.Checkout.$) { 2158 jquery = window.Checkout.$; 2159 } 2160 2161 if (jquery) { 2162 jquery('body').append(content); 2163 } 2164 }; 2165 2166 var hasLoggedConversion = function(token) { 2167 if (token) { 2168 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2169 } 2170 return false; 2171 } 2172 2173 var setCookieIfConversion = function(token) { 2174 if (token) { 2175 var twoMonthsFromNow = new Date(Date.now()); 2176 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2177 2178 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2179 } 2180 } 2181 2182 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2183 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2184 if (trekkie.integrations) { 2185 return; 2186 } 2187 trekkie.methods = [ 2188 'identify', 2189 'page', 2190 'ready', 2191 'track', 2192 'trackForm', 2193 'trackLink' 2194 ]; 2195 trekkie.factory = function(method) { 2196 return function() { 2197 var args = Array.prototype.slice.call(arguments); 2198 args.unshift(method); 2199 trekkie.push(args); 2200 if (method == 'track' || method == 'page') { 2201 var pageUrl; 2202 try { 2203 pageUrl = window.location.href; 2204 } catch (e) {} 2205 var pageReferrer; 2206 try { 2207 pageReferrer = document.referrer; 2208 } catch (e) {} 2209 try { 2210 if (window.__TREKKIE_SHIM_QUEUE == null) { 2211 window.__TREKKIE_SHIM_QUEUE = []; 2212 } 2213 window.__TREKKIE_SHIM_QUEUE.push({ 2214 from: 'trekkie-stub', 2215 method: method, 2216 args: args.slice(1), 2217 pageContext: { 2218 url: pageUrl, 2219 referrer: pageReferrer 2220 } 2221 }); 2222 } catch (e) { 2223 // no-op 2224 } 2225 } 2226 return trekkie; 2227 }; 2228 }; 2229 for (var i = 0; i < trekkie.methods.length; i++) { 2230 var key = trekkie.methods[i]; 2231 trekkie[key] = trekkie.factory(key); 2232 } 2233 trekkie.load = function(config) { 2234 trekkie.config = config || {}; 2235 trekkie.config.initialDocumentCookie = document.cookie; 2236 var first = document.getElementsByTagName('script')[0]; 2237var script = document.createElement('script'); 2238script.type = 'text/javascript'; 2239script.onerror = function(e) { 2240 var scriptFallback = document.createElement('script'); 2241 scriptFallback.type = 'text/javascript'; 2242 scriptFallback.onerror = function(error) { 2243 var Monorail = { 2244 produce: function produce(monorailDomain, schemaId, payload) { 2245 var currentMs = new Date().getTime(); 2246 var event = { 2247 schema_id: schemaId, 2248 payload: payload, 2249 metadata: { 2250 event_created_at_ms: currentMs, 2251 event_sent_at_ms: currentMs 2252 } 2253 }; 2254 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 2255 }, 2256 sendRequest: function sendRequest(endpointUrl, payload) { 2257 // Try the sendBeacon API 2258 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 2259 var blobData = new window.Blob([payload], { 2260 type: 'text/plain' 2261 }); 2262 2263 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 2264 return true; 2265 } // sendBeacon was not successful 2266 2267 } // XHR beacon 2268 2269 var xhr = new XMLHttpRequest(); 2270 2271 try { 2272 xhr.open('POST', endpointUrl); 2273 xhr.setRequestHeader('Content-Type', 'text/plain'); 2274 xhr.send(payload); 2275 } catch (e) { 2276 console.log(e); 2277 } 2278 2279 return false; 2280 }, 2281 isIos12: function isIos12() { 2282 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 2283 } 2284 }; 2285 Monorail.produce('monorail-edge.shopifysvc.com', 2286 'trekkie_storefront_load_errors/1.1', 2287 {shop_id: 56734220454, 2288 theme_id: 132084007078, 2289 app_name: "storefront", 2290 context_url: window.location.href, 2291 source_url: "//feelbetterinstitute.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 2292 2293 }; 2294 scriptFallback.async = true; 2295 scriptFallback.src = '//feelbetterinstitute.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2296 first.parentNode.insertBefore(scriptFallback, first); 2297}; 2298script.async = true; 2299script.src = '//feelbetterinstitute.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2300first.parentNode.insertBefore(script, first); 2301 2302 }; 2303 trekkie.load( 2304 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":56734220454,"isMerchantRequest":null,"themeId":132084007078,"themeCityHash":"8354881114847224659","contentLanguage":"en","currency":"AUD","eventMetadataId":"7c670e9d-5018-40d3-bec0-210578d2ba49"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 2305 ); 2306 2307 var loaded = false;
2308 trekkie.ready(function() { 2309 if (loaded) return; 2310 loaded = true; 2311 2312 window.ShopifyAnalytics.lib = window.trekkie; 2313 2314 var originalDocumentWrite = document.write; 2315 document.write = customDocumentWrite; 2316 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 2317 document.write = originalDocumentWrite; 2318 2319 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 2320 var token = match? match[1]: undefined; 2321 if (!hasLoggedConversion(token)) { 2322 setCookieIfConversion(token); 2323 2324 } 2325 }); 2326 2327 window.ShopifyAnalytics.lib.page(null,{"requestId":"09b254ee-5cd7-4f4d-adc1-0a7c50f649f8-1791095102","shopifyEmitted":true}); 2328 2329 var eventsListenerScript = document.createElement('script'); 2330 eventsListenerScript.async = true; 2331 eventsListenerScript.src = "//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 2332 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 2333})();</script>
2333 2334
2334<script> 2335 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 2336 window.ga = function ga() { 2337 (window.ga.q = window.ga.q || []).push(arguments); 2338 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 2339 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 2340 } 2341 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 2342 }; 2343 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 2344 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 2345 } 2346 } 2347</script>
vendor: 1 bytes, line 2347
2347
2348<script 2349 defer 2350 src="https://feelbetterinstitute.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 2351 data-application="storefront-renderer" 2352 data-shop-id="56734220454" 2353 data-render-region="gcp-us-central1" 2354 data-page-type="customers/login" 2355 data-theme-instance-id="132084007078" 2356 data-theme-name="Superstore" 2357 data-theme-version="3.2.3" 2358 data-monorail-region="shop_domain" 2359 data-resource-timing-sampling-rate="10" 2360 data-shs="true" 2361 data-shs-beacon="true" 2362 data-shs-export-with-fetch="true" 2363 data-shs-logs-sample-rate="1" 2364 data-shs-beacon-endpoint="https://feelbetterinstitute.com/api/collect" 2365></script>
2365 2366<meta name="shopify-y" content="c3c1a2d8-38a5-46a3-ad0a-677d0792e148" data-expiration="1822652702000"><meta name="shopify-s" content="00302e7f-cdf4-4cf2-83ef-5d3572460f52" data-expiration="1791096902000"><meta name="new-cookie-storage-activated" content="t"> 2367</head> 2368 2369 <body 2370 2371 class="template-login" 2372 2373 data-instant-allow-query-string 2374 2375 > 2376 2377 2378 <a class="skip-to-main" href="#site-main">Skip to content</a> 2379 <div id="shopify-section-static-announcement" class="shopify-section site-announcement">
2379<script 2380 type="application/json" 2381 data-section-id="static-announcement" 2382 data-section-type="static-announcement"> 2383</script>
2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 <div 2395 class=" 2396 announcement-bar 2397 2398 " 2399 style=" 2400 color: #ffffff; 2401 background: #b93cb9; 2402 "> 2403 2404 2405 2406 <div class="announcement-bar-text"> 2407 <span style="" nowrap white-space:=""> 2408 <strong> All products now 10% Off & free express courier over $99</strong> 2409 <a href="https://feelbetterinstitute.com/collections/shop-all"> 2410 <button>Yes please!</button> 2411 </a> 2412</span> 2413<style type="" text> .announcement-bar-text { display: flex; max-width: 1350px; justify-content: center; align-items: center; font-family: Avenir Next,sans-serif; } .announcement-bar-text span { display: block; font-size: 14px; font-weight: 400; } .announcement-bar-text span > strong { font-family: Butler_Light; font-size: 1.6rem; } .announcement-bar-text span > small { display: block; font-size: 13 2414px; } .announcement-bar-text button { padding: 10px 20px; border: none; background: #d5d1ee; margin-left: 10px; font-size: 1rem; font-family: Poppins,sans-serif; } .announcement-bar-text button:hover { background: #e7e1e2; } @media only screen and (max-width: 600px) { .announcement-bar-text { flex-direction: column; margin-bottom: -25px; } .announcement-bar-text span { padding: 15px 0; } .announcement-bar-text span > strong { } .announcement-bar-text span > small { } .announcement-bar-text button { } .announcement-bar-text button:hover { } }</style> 2415 </div> 2416 2417 2418 <div class="announcement-bar-text-mobile"> 2419 2420 2421 2422 </div> 2423 </div> 2424 2425 2426 2427</div> 2428 <div id="shopify-section-static-utility-bar" class="shopify-section"><style data-shopify> 2429 .utility-bar { 2430 background-color: #e7e1e2; 2431 } 2432 2433 .utility-bar a { 2434 color: #333333; 2435 } 2436 2437 .utility-bar a:hover { 2438 color: #ffffff; 2439 } 2440</style> 2441
2442<script 2443 type="application/json" 2444 data-section-type="static-utility-bar" 2445 data-section-id="static-utility-bar" 2446 data-section-data 2447> 2448 { 2449 "settings": { 2450 "mobile_layout": "below" 2451 } 2452 } 2453</script>
2453 2454 2455 2456 2457</div> 2458 2459 2460 <div id="shopify-section-static-basic-header" class="shopify-section site-header-wrapper"> 2461
2462<script 2463 type="application/json" 2464 data-section-id="static-basic-header" 2465 data-section-type="static-header" 2466 data-section-data> 2467 { 2468 "settings": { 2469 "header_layout": "basic", 2470 "navigation_layout": "inside", 2471 "sticky_header": true, 2472 "desktop_logo_position": "left", 2473 "live_search": { 2474 "enable": true, 2475 "content_types": "article,page,product", 2476 "money_format": " ${{ amount }} AUD", 2477 "context": { 2478 "view_all_results": "View all results", 2479 "view_all_products": "View all products", 2480 "content_results": { 2481 "title": "Posts and pages", 2482 "no_results": "No results." 2483 }, 2484 "no_results_products": { 2485 "title": "No products for â*terms*â.", 2486 "message": "Sorry, we couldnât find any matches." 2487 } 2488 } 2489 } 2490 } 2491 } 2492</script>
2492 2493 2494<style data-shopify> 2495 2496</style> 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506<header 2507 class=" 2508 site-header 2509 site-header--basic 2510 site-header--basic-navigation-inside 2511 site-header-loading 2512 site-header--desktop-logo-left 2513 site-header--mobile-logo-center 2514 site-header-accounts-enabled 2515 2516 " 2517 role="banner" 2518 data-site-header 2519> 2520 <div 2521 class=" 2522 site-header-main 2523 2524 live-search--hidden 2525 2526 live-search-enabled 2527 2528 " 2529 data-site-header-main 2530 data-site-header-sticky 2531 > 2532 <button class="site-header-button site-header-menu-button" href="#" data-menu-toggle> 2533 <div class="site-header-icon site-header-menu-icon" tabindex="-1"> 2534 2535 <svg class="icon-menu " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="22" height="18" viewBox="0 0 22 18" fill="none"> <title>Menu icon</title> <path d="M21 2H1" stroke="currentColor" stroke-width="2" stroke-linecap="square" stroke-linejoin="round"/> <path d="M21 9H1" stroke="currentColor" stroke-width="2" stroke-linecap="square" stroke-linejoin="round"/> <path d="M21 16H1" stroke="currentColor" stroke-width="2" stroke-linecap="square" stroke-linejoin="round"/> </svg> 2536 2537 <span class="visually-hidden">Menu</span> 2538 </div> 2539 </button> 2540 <div class="site-logo"> 2541 <a 2542 class="site-logo-link" 2543 href="/"> 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 <noscript data-rimg-noscript> 2557 <img 2558 2559 src="//feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_163x51.png?v=1672357078" 2560 2561 2562 alt="Jackie Bowker&#39;s Global Feel Better Institute Shop" 2563 data-rimg="noscript" 2564 srcset="//feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_163x51.png?v=1672357078 1x, //feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_326x102.png?v=1672357078 2x, //feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_489x153.png?v=1672357078 3x, //feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_652x204.png?v=1672357078 4x" 2565 class="desktop-logo-image" 2566 style=" 2567 height: 51px; 2568 " 2569 2570 > 2571 </noscript> 2572 2573 2574 <img 2575 2576 src="//feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_163x51.png?v=1672357078" 2577 2578 alt="Jackie Bowker&#39;s Global Feel Better Institute Shop" 2579 2580 2581 data-rimg="lazy" 2582 data-rimg-scale="1" 2583 data-rimg-template="//feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_{size}.png?v=1672357078" 2584 data-rimg-max="2225x700" 2585 data-rimg-crop="false" 2586 2587 srcset="data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg'%20width='163'%20height='51'></svg>" 2588 2589 2590 class="desktop-logo-image" 2591 style=" 2592 height: 51px; 2593 " 2594 2595 > 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 <img 2616 2617 src="//feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_103x30.jpg?v=1629199925" 2618 2619 alt="Jackie Bowker&#39;s Global Feel Better Institute Shop" 2620 2621 2622 data-rimg 2623 srcset="//feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_103x30.jpg?v=1629199925 1x, //feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_206x60.jpg?v=1629199925 2x, //feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_309x90.jpg?v=1629199925 3x, //feelbetterinstitute.com/cdn/shop/files/FeelBetterLogoVersion1BlackWhite_412x120.jpg?v=1629199925 4x" 2624 2625 2626 class="mobile-logo-image" 2627 style=" 2628 max-height: 30px; 2629 " 2630 2631 > 2632 2633 2634 2635 2636 2637 2638 </a> 2639 </div> 2640 <nav 2641 class="site-navigation" 2642 aria-label="Main" 2643 > 2644 2645 2646 2647 2648 2649 2650<ul 2651 class="navmenu navmenu-depth-1" 2652 data-navmenu 2653 aria-label="Main Navigation Version 2" 2654> 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666<li 2667 class="navmenu-item navmenu-id-about " 2668 2669 data-test-linkthing 2670 2671 2672 > 2673 <a 2674 class="navmenu-link " 2675 href="/pages/about" 2676 2677 > 2678 About 2679 2680 </a> 2681 2682 2683 2684 2685 </li> 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697<li 2698 class="navmenu-item navmenu-item-parent navmenu-id-shop " 2699 2700 data-test-linkthing 2701 data-navmenu-parent 2702 2703 > 2704 <a 2705 class="navmenu-link navmenu-link-parent " 2706 href="/collections/shop-all" 2707 2708 aria-haspopup="true" 2709 aria-expanded="false" 2710 2711 > 2712 Shop 2713
2714 <span 2715 class="navmenu-icon navmenu-icon-depth-1" 2716 data-navmenu-trigger 2717 > 2718 2719 <svg class="icon-chevron-down-small " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="8" height="6" viewBox="0 0 8 6" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M4 4.5L7 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M4 4.5L1 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> </svg> 2720 2721 </span> 2722 2723 </a> 2724 2725 2726 2727 2728 2729 2730 2731 2732<ul 2733 class="navmenu navmenu-depth-2 navmenu-submenu" 2734 data-navmenu 2735 data-navmenu-submenu 2736 aria-label="Main Navigation Version 2" 2737> 2738 2739 2740 2741 2742 2743 2744 2745 <li 2746 class="navmenu-item navmenu-id-all-products" 2747 > 2748 <a 2749 class="navmenu-link " 2750 href="/collections/shop-all" 2751 > 2752 All Products 2753 </a> 2754 </li> 2755 2756 2757 2758 2759 2760 2761 2762 2763 <li 2764 class="navmenu-item navmenu-id-bundles" 2765 > 2766 <a 2767 class="navmenu-link " 2768 href="/collections/bundles" 2769 > 2770 Bundles 2771 </a> 2772 </li> 2773 2774 2775 2776 2777 2778 2779 2780 2781 <li 2782 class="navmenu-item navmenu-id-gut-health" 2783 > 2784 <a 2785 class="navmenu-link " 2786 href="/collections/digestive-gi-health" 2787 > 2788 Gut Health 2789 </a> 2790 </li> 2791 2792 2793 2794 2795 2796 2797 2798 2799 <li 2800 class="navmenu-item navmenu-id-skin-support" 2801 > 2802 <a 2803 class="navmenu-link " 2804 href="/collections/musculoskeletal" 2805 > 2806 Skin Support 2807 </a> 2808 </li> 2809 2810 2811 2812 2813 2814 2815 2816 2817 <li 2818 class="navmenu-item navmenu-id-sleep-stress" 2819 > 2820 <a 2821 class="navmenu-link " 2822 href="/collections/new" 2823 > 2824 Sleep/Stress 2825 </a> 2826 </li> 2827 2828 2829 2830 2831 2832 2833 2834 2835 <li 2836 class="navmenu-item navmenu-id-immunity-wellbeing" 2837 > 2838 <a 2839 class="navmenu-link " 2840 href="/collections/immunity-wellbeing" 2841 > 2842 Immunity/Wellbeing 2843 </a> 2844 </li> 2845 2846 2847 2848 2849 2850 2851 2852 2853 <li 2854 class="navmenu-item navmenu-id-joint-mobility" 2855 > 2856 <a 2857 class="navmenu-link " 2858 href="/collections/joint-mobility" 2859 > 2860 Joint/Mobility 2861 </a> 2862 </li> 2863 2864 2865 2866 2867 2868 2869 2870 2871 <li 2872 class="navmenu-item navmenu-id-heart-health" 2873 > 2874 <a 2875 class="navmenu-link " 2876 href="/collections/heart-inflammation-health" 2877 > 2878 Heart Health 2879 </a> 2880 </li> 2881 2882 2883 2884 2885 2886 2887 2888 2889 <li 2890 class="navmenu-item navmenu-id-blood-sugar-metabolism" 2891 > 2892 <a 2893 class="navmenu-link " 2894 href="/collections/foundational-health" 2895 > 2896 Blood Sugar/Metabolism 2897 </a> 2898 </li> 2899 2900 2901 2902 2903 2904 2905 2906 2907 <li 2908 class="navmenu-item navmenu-id-gift-cards" 2909 > 2910 <a 2911 class="navmenu-link " 2912 href="/collections/gift-cards" 2913 > 2914 Gift Cards 2915 </a> 2916 </li> 2917 2918 2919</ul> 2920 2921 2922 </li> 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934<li 2935 class="navmenu-item navmenu-item-parent navmenu-id-for-business " 2936 2937 data-test-linkthing 2938 data-navmenu-parent 2939 2940 > 2941 <a 2942 class="navmenu-link navmenu-link-parent " 2943 href="/pages/business-page" 2944 2945 aria-haspopup="true" 2946 aria-expanded="false" 2947 2948 > 2949 For Business 2950 2951 <span 2952 class="navmenu-icon navmenu-icon-depth-1" 2953 data-navmenu-trigger 2954 > 2955 2956 <svg class="icon-chevron-down-small " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="8" height="6" viewBox="0 0 8 6" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M4 4.5L7 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M4 4.5L1 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> </svg> 2957 2958 </span> 2959 2960 </a> 2961 2962 2963 2964 2965 2966 2967 2968 2969<ul
2970 class="navmenu navmenu-depth-2 navmenu-submenu" 2971 data-navmenu 2972 data-navmenu-submenu 2973 aria-label="Main Navigation Version 2" 2974> 2975 2976 2977 2978 2979 2980 2981 2982 <li 2983 class="navmenu-item navmenu-id-wellness-program" 2984 > 2985 <a 2986 class="navmenu-link " 2987 href="/pages/coaching" 2988 > 2989 Wellness Program 2990 </a> 2991 </li> 2992 2993 2994 2995 2996 2997 2998 2999 3000 <li 3001 class="navmenu-item navmenu-id-wellness-retreat" 3002 > 3003 <a 3004 class="navmenu-link " 3005 href="/pages/health-retreat" 3006 > 3007 Wellness Retreat 3008 </a> 3009 </li> 3010 3011 3012 3013 3014 3015 3016 3017 3018 <li 3019 class="navmenu-item navmenu-id-wellness-speaking" 3020 > 3021 <a 3022 class="navmenu-link " 3023 href="/pages/wellness-speaking" 3024 > 3025 Wellness Speaking 3026 </a> 3027 </li> 3028 3029 3030 3031 3032 3033 3034 3035 3036 <li 3037 class="navmenu-item navmenu-id-be-a-speaker-leader" 3038 > 3039 <a 3040 class="navmenu-link " 3041 href="/pages/speaker" 3042 > 3043 Be a Speaker / Leader 3044 </a> 3045 </li> 3046 3047 3048</ul> 3049 3050 3051 </li> 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063<li 3064 class="navmenu-item navmenu-item-parent navmenu-id-for-individual " 3065 3066 data-test-linkthing 3067 data-navmenu-parent 3068 3069 > 3070 <a 3071 class="navmenu-link navmenu-link-parent " 3072 href="/pages/individual-page" 3073 3074 aria-haspopup="true" 3075 aria-expanded="false" 3076 3077 > 3078 For Individual 3079 3080 <span 3081 class="navmenu-icon navmenu-icon-depth-1" 3082 data-navmenu-trigger 3083 > 3084 3085 <svg class="icon-chevron-down-small " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="8" height="6" viewBox="0 0 8 6" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M4 4.5L7 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M4 4.5L1 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> </svg> 3086 3087 </span> 3088 3089 </a> 3090 3091 3092 3093 3094 3095 3096 3097 3098<ul 3099 class="navmenu navmenu-depth-2 navmenu-submenu" 3100 data-navmenu 3101 data-navmenu-submenu 3102 aria-label="Main Navigation Version 2" 3103> 3104 3105 3106 3107 3108 3109 3110 3111 <li 3112 class="navmenu-item navmenu-id-the-vip-reset-testing" 3113 > 3114 <a 3115 class="navmenu-link " 3116 href="/pages/gutresetvip" 3117 > 3118 The VIP Reset + Testing 3119 </a> 3120 </li> 3121 3122 3123 3124 3125 3126 3127 3128 3129 <li 3130 class="navmenu-item navmenu-id-the-gut-brain-body-reset" 3131 > 3132 <a 3133 class="navmenu-link " 3134 href="https://jackiebowker.myflodesk.com/12-week-gbbr" 3135 > 3136 The Gut Brain Body Reset 3137 </a> 3138 </li> 3139 3140 3141 3142 3143 3144 3145 3146 3147 <li 3148 class="navmenu-item navmenu-id-7-day-sugar-detox" 3149 > 3150 <a 3151 class="navmenu-link " 3152 href="https://jackiebowker.myflodesk.com/detox" 3153 > 3154 7-Day Sugar Detox 3155 </a> 3156 </li> 3157 3158 3159 3160 3161 3162 3163 3164 3165 <li 3166 class="navmenu-item navmenu-id-private-coaching" 3167 > 3168 <a 3169 class="navmenu-link " 3170 href="/pages/coaching" 3171 > 3172 Private Coaching 3173 </a> 3174 </li> 3175 3176 3177 3178 3179 3180 3181 3182 3183 <li 3184 class="navmenu-item navmenu-id-wellness-retreat" 3185 > 3186 <a 3187 class="navmenu-link " 3188 href="/pages/health-retreat" 3189 > 3190 Wellness Retreat 3191 </a> 3192 </li> 3193 3194 3195</ul> 3196 3197 3198 </li> 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210<li 3211 class="navmenu-item navmenu-item-parent navmenu-id-resources " 3212 3213 data-test-linkthing 3214 data-navmenu-parent 3215 3216 > 3217 <a 3218 class="navmenu-link navmenu-link-parent " 3219 href="/pages/recipes" 3220 3221 aria-haspopup="true" 3222 aria-expanded="false" 3223 3224 > 3225 Resources 3226
3227 <span 3228 class="navmenu-icon navmenu-icon-depth-1" 3229 data-navmenu-trigger 3230 > 3231 3232 <svg class="icon-chevron-down-small " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="8" height="6" viewBox="0 0 8 6" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M4 4.5L7 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M4 4.5L1 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> </svg> 3233 3234 </span> 3235 3236 </a> 3237 3238 3239 3240 3241 3242 3243 3244 3245<ul 3246 class="navmenu navmenu-depth-2 navmenu-submenu" 3247 data-navmenu 3248 data-navmenu-submenu 3249 aria-label="Main Navigation Version 2" 3250> 3251 3252 3253 3254 3255 3256 3257 3258 <li 3259 class="navmenu-item navmenu-id-recipes" 3260 > 3261 <a 3262 class="navmenu-link " 3263 href="/pages/recipes" 3264 > 3265 Recipes 3266 </a> 3267 </li> 3268 3269 3270 3271 3272 3273 3274 3275 3276 <li 3277 class="navmenu-item navmenu-id-masterclass" 3278 > 3279 <a 3280 class="navmenu-link " 3281 href="https://jackiebowker.myflodesk.com/harmony-masterclass" 3282 > 3283 Masterclass 3284 </a> 3285 </li> 3286 3287 3288 3289 3290 3291 3292 3293 3294 <li 3295 class="navmenu-item navmenu-id-blogs" 3296 > 3297 <a 3298 class="navmenu-link " 3299 href="/blogs/news" 3300 > 3301 Blogs 3302 </a> 3303 </li> 3304 3305 3306 3307 3308 3309 3310 3311 3312 <li 3313 class="navmenu-item navmenu-id-books" 3314 > 3315 <a 3316 class="navmenu-link " 3317 href="https://jackiebowker.myflodesk.com/book" 3318 > 3319 Books 3320 </a> 3321 </li> 3322 3323 3324 3325 3326 3327 3328 3329 3330 <li 3331 class="navmenu-item navmenu-id-podcast" 3332 > 3333 <a 3334 class="navmenu-link " 3335 href="/blogs/podcast" 3336 > 3337 Podcast 3338 </a> 3339 </li> 3340 3341 3342 3343 3344 3345 3346 3347 3348 <li 3349 class="navmenu-item navmenu-id-practice-better-login" 3350 > 3351 <a 3352 class="navmenu-link " 3353 href="https://globalfeelbetterinstitute.practicebetter.io/#/signin" 3354 > 3355 Practice Better Login 3356 </a> 3357 </li> 3358 3359 3360</ul> 3361 3362 3363 </li> 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375<li 3376 class="navmenu-item navmenu-id-contact " 3377 3378 data-test-linkthing 3379 3380 3381 > 3382 <a 3383 class="navmenu-link " 3384 href="/pages/contact" 3385 3386 > 3387 Contact 3388 3389 </a> 3390 3391 3392 3393 3394 </li> 3395 3396</ul> 3397 3398 </nav> 3399 3400<div class="site-header-search" data-site-header-search> 3401 <div class="site-header-search-wrapper" data-search-wrapper> 3402 3403 3404 3405 3406<div class="live-search" data-live-search> 3407 <form 3408 class="live-search-form form-fields-inline" 3409 action="/search" 3410 method="get" 3411 role="search" 3412 aria-label="Product" 3413 data-live-search-form 3414 > 3415 <input type="hidden" name="type" value="article,page,product"> 3416 <div class="form-field no-label"> 3417 <input 3418 class="form-field-input live-search-form-field" 3419 type="text" 3420 name="q" 3421 aria-label="Search" 3422 placeholder="What are you looking for?" 3423 3424 autocomplete="off" 3425 data-live-search-input> 3426 <button 3427 type="button" 3428 class="live-search-takeover-cancel" 3429 data-live-search-takeover-cancel> 3430 Cancel 3431 </button> 3432 3433 <button 3434 class="live-search-button" 3435 type="submit" 3436 aria-label="Search" 3437 data-live-search-submit 3438 > 3439 <span class="search-icon search-icon--inactive"> 3440 3441 <svg class="icon-search " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="21" height="24" viewBox="0 0 21 24" fill="none"> <title>Search icon</title> <path d="M19.5 21.5L13.6155 15.1628" stroke="currentColor" stroke-width="1.75"/> <circle cx="9.5" cy="9.5" r="7" stroke="currentColor" stroke-width="1.75"/> </svg> 3442 3443 </span>
3444 <span class="search-icon search-icon--active"> 3445 3446 <svg class="icon-spinner " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"> <title>Spinner icon</title> <circle opacity="0.29" cx="13" cy="13" r="11" stroke="currentColor" stroke-width="2"/> <path d="M24 13C24 19.0751 19.0751 24 13 24" stroke="currentColor" stroke-width="2"/> </svg> 3447 3448 </span> 3449 </button> 3450 </div> 3451 3452 <div class="search-flydown" data-live-search-flydown> 3453 <div class="search-flydown--placeholder" data-live-search-placeholder> 3454 <div class="search-flydown--product-items"> 3455 3456 <a class="search-flydown--product search-flydown--product" href="#"> 3457 <div class="search-flydown--product-image"> 3458 <svg class="placeholder--image placeholder--content-image" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 525.5 525.5"><path d="M324.5 212.7H203c-1.6 0-2.8 1.3-2.8 2.8V308c0 1.6 1.3 2.8 2.8 2.8h121.6c1.6 0 2.8-1.3 2.8-2.8v-92.5c0-1.6-1.3-2.8-2.9-2.8zm1.1 95.3c0 .6-.5 1.1-1.1 1.1H203c-.6 0-1.1-.5-1.1-1.1v-92.5c0-.6.5-1.1 1.1-1.1h121.6c.6 0 1.1.5 1.1 1.1V308z"/><path d="M210.4 299.5H240v.1s.1 0 .2-.1h75.2v-76.2h-105v76.2zm1.8-7.2l20-20c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l1.5 1.5 16.8 16.8c-12.9 3.3-20.7 6.3-22.8 7.2h-27.7v-5.5zm101.5-10.1c-20.1 1.7-36.7 4.8-49.1 7.9l-16.9-16.9 26.3-26.3c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l27.5 27.5v7.8zm-68.9 15.5c9.7-3.5 33.9-10.9 68.9-13.8v13.8h-68.9zm68.9-72.7v46.8l-26.2-26.2c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-26.3 26.3-.9-.9c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-18.8 18.8V225h101.4z"/><path d="M232.8 254c4.6 0 8.3-3.7 8.3-8.3s-3.7-8.3-8.3-8.3-8.3 3.7-8.3 8.3 3.7 8.3 8.3 8.3zm0-14.9c3.6 0 6.6 2.9 6.6 6.6s-2.9 6.6-6.6 6.6-6.6-2.9-6.6-6.6 3-6.6 6.6-6.6z"/></svg> 3459 </div> 3460 3461 <div class="search-flydown--product-text"> 3462 <span class="search-flydown--product-title placeholder--content-text"></span> 3463 <span class="search-flydown--product-price placeholder--content-text"></span> 3464 </div> 3465 </a> 3466 3467 <a class="search-flydown--product search-flydown--product" href="#"> 3468 <div class="search-flydown--product-image"> 3469 <svg class="placeholder--image placeholder--content-image" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 525.5 525.5"><path d="M324.5 212.7H203c-1.6 0-2.8 1.3-2.8 2.8V308c0 1.6 1.3 2.8 2.8 2.8h121.6c1.6 0 2.8-1.3 2.8-2.8v-92.5c0-1.6-1.3-2.8-2.9-2.8zm1.1 95.3c0 .6-.5 1.1-1.1 1.1H203c-.6 0-1.1-.5-1.1-1.1v-92.5c0-.6.5-1.1 1.1-1.1h121.6c.6 0 1.1.5 1.1 1.1V308z"/><path d="M210.4 299.5H240v.1s.1 0 .2-.1h75.2v-76.2h-105v76.2zm1.8-7.2l20-20c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l1.5 1.5 16.8 16.8c-12.9 3.3-20.7 6.3-22.8 7.2h-27.7v-5.5zm101.5-10.1c-20.1 1.7-36.7 4.8-49.1 7.9l-16.9-16.9 26.3-26.3c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l27.5 27.5v7.8zm-68.9 15.5c9.7-3.5 33.9-10.9 68.9-13.8v13.8h-68.9zm68.9-72.7v46.8l-26.2-26.2c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-26.3 26.3-.9-.9c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-18.8 18.8V225h101.4z"/><path d="M232.8 254c4.6 0 8.3-3.7 8.3-8.3s-3.7-8.3-8.3-8.3-8.3 3.7-8.3 8.3 3.7 8.3 8.3 8.3zm0-14.9c3.6 0 6.6 2.9 6.6 6.6s-2.9 6.6-6.6 6.6-6.6-2.9-6.6-6.6 3-6.6 6.6-6.6z"/></svg> 3470 </div> 3471 3472 <div class="search-flydown--product-text"> 3473 <span class="search-flydown--product-title placeholder--content-text"></span> 3474 <span class="search-flydown--product-price placeholder--content-text"></span> 3475 </div> 3476 </a> 3477 3478 <a class="search-flydown--product search-flydown--product" href="#"> 3479 <div class="search-flydown--product-image"> 3480 <svg class="placeholder--image placeholder--content-image" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 525.5 525.5"><path d="M324.5 212.7H203c-1.6 0-2.8 1.3-2.8 2.8V308c0 1.6 1.3 2.8 2.8 2.8h121.6c1.6 0 2.8-1.3 2.8-2.8v-92.5c0-1.6-1.3-2.8-2.9-2.8zm1.1 95.3c0 .6-.5 1.1-1.1 1.1H203c-.6 0-1.1-.5-1.1-1.1v-92.5c0-.6.5-1.1 1.1-1.1h121.6c.6 0 1.1.5 1.1 1.1V308z"/><path d="M210.4 299.5H240v.1s.1 0 .2-.1h75.2v-76.2h-105v76.2zm1.8-7.2l20-20c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l1.5 1.5 16.8 16.8c-12.9 3.3-20.7 6.3-22.8 7.2h-27.7v-5.5zm101.5-10.1c-20.1 1.7-36.7 4.8-49.1 7.9l-16.9-16.9 26.3-26.3c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l27.5 27.5v7.8zm-68.9 15.5c9.7-3.5 33.9-10.9 68.9-13.8v13.8h-68.9zm68.9-72.7v46.8l-26.2-26.2c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-26.3 26.3-.9-.9c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-18.8 18.8V225h101.4z"/><path d="M232.8 254c4.6 0 8.3-3.7 8.3-8.3s-3.7-8.3-8.3-8.3-8.3 3.7-8.3 8.3 3.7 8.3 8.3 8.3zm0-14.9c3.6 0 6.6 2.9 6.6 6.6s-2.9 6.6-6.6 6.6-6.6-2.9-6.6-6.6 3-6.6 6.6-6.6z"/></svg> 3481 </div> 3482 3483 <div class="search-flydown--product-text">
3484 <span class="search-flydown--product-title placeholder--content-text"></span> 3485 <span class="search-flydown--product-price placeholder--content-text"></span> 3486 </div> 3487 </a> 3488 3489 </div> 3490 </div> 3491 3492 <div 3493 class=" 3494 search-flydown--results 3495 search-flydown--results--content-enabled 3496 " 3497 data-live-search-results 3498 ></div> 3499 3500 3501 </div> 3502 </form> 3503</div> 3504 3505 <button class="site-header-button site-header-search-close" data-search-close> 3506 3507 <svg class="icon-search-close " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"> <title>Translation missing: en.general.icons.icon_search_close icon</title> <path d="M17 1L1 17" stroke="currentColor" stroke-width="2" stroke-linejoin="round"/> <path d="M1 1L17 17" stroke="currentColor" stroke-width="2" stroke-linejoin="round"/> </svg> 3508 3509 <span class="visually-hidden">Close search</span> 3510 </button> 3511 </div> 3512 </div> 3513 3514 <div class="site-header-main-actions"> 3515 <button class="site-header-button site-header-search-button" data-search-toggle> 3516 <div class="site-header-icon site-header-search-icon" tabindex="-1"> 3517 <span class="search-icon"> 3518 3519 <svg class="icon-search " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="21" height="24" viewBox="0 0 21 24" fill="none"> <title>Search icon</title> <path d="M19.5 21.5L13.6155 15.1628" stroke="currentColor" stroke-width="1.75"/> <circle cx="9.5" cy="9.5" r="7" stroke="currentColor" stroke-width="1.75"/> </svg> 3520 3521 <span class="visually-hidden">Search</span> 3522 </span> 3523 </div> 3524 </button> 3525 3526 3527 <a class="site-header-button site-header-account-button" href="/account"> 3528 <div class="site-header-icon site-header-account-icon"> 3529 3530 <svg class="icon-account " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <title>Account icon</title> <path d="M20.5 19.5V21.525C20.5 21.5802 20.4552 21.625 20.4 21.625H3.6C3.54477 21.625 3.5 21.5802 3.5 21.525V19.5C3.5 18.3728 3.94777 17.2918 4.7448 16.4948C5.54183 15.6978 6.62283 15.25 7.75 15.25H16.25C17.3772 15.25 18.4582 15.6978 19.2552 16.4948C20.0522 17.2918 20.5 18.3728 20.5 19.5Z" stroke="currentColor" stroke-width="1.75"/> <path d="M12 11C14.3472 11 16.25 9.09721 16.25 6.75C16.25 4.40279 14.3472 2.5 12 2.5C9.65279 2.5 7.75 4.40279 7.75 6.75C7.75 9.09721 9.65279 11 12 11Z" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round"/> </svg> 3531 3532 <span class="visually-hidden">View account</span> 3533 </div> 3534 </a> 3535 3536 3537 <a class="site-header-button site-header-cart-button" href="/cart"> 3538 <div class="site-header-icon site-header-cart-icon"> 3539 <span 3540 class="site-header-cart--count " 3541 data-header-cart-count=""> 3542 </span> 3543 3544 3545 <svg class="icon-bag " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="19" height="24" viewBox="0 0 19 24" fill="none"> <title>Cart icon</title> <path d="M1.75 6.75H17.25V21.75H1.75V6.75Z" stroke="currentColor" stroke-width="1.5"/> <path d="M13 10.5V5.5C13 2.83333 11.4444 1.5 9.5 1.5C7.55556 1.5 6 2.83333 6 5.5L6 10.5" stroke="currentColor" stroke-width="1.5"/> </svg> 3546
3547 <span class="visually-hidden">View cart</span> 3548 </div> 3549 </a> 3550 </div> 3551 </div><div class="site-mobile-nav" id="site-mobile-nav" data-mobile-nav tabindex="0"> 3552 <div class="mobile-nav-panel" data-mobile-nav-panel> 3553 <div class="header-actions-wrapper"> 3554 3555 3556<ul class="site-header-actions" data-header-actions> 3557 3558 3559 <li class="site-header-account-link"> 3560 <a href="/account/login"> 3561 3562 <svg class="icon-account " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <title>Account icon</title> <path d="M20.5 19.5V21.525C20.5 21.5802 20.4552 21.625 20.4 21.625H3.6C3.54477 21.625 3.5 21.5802 3.5 21.525V19.5C3.5 18.3728 3.94777 17.2918 4.7448 16.4948C5.54183 15.6978 6.62283 15.25 7.75 15.25H16.25C17.3772 15.25 18.4582 15.6978 19.2552 16.4948C20.0522 17.2918 20.5 18.3728 20.5 19.5Z" stroke="currentColor" stroke-width="1.75"/> <path d="M12 11C14.3472 11 16.25 9.09721 16.25 6.75C16.25 4.40279 14.3472 2.5 12 2.5C9.65279 2.5 7.75 4.40279 7.75 6.75C7.75 9.09721 9.65279 11 12 11Z" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round"/> </svg> 3563 3564 Log in 3565 </a> 3566 </li> 3567 3568 3569</ul> 3570 3571 <a 3572 class="mobile-nav-close" 3573 href="#site-header-nav" 3574 data-mobile-nav-close 3575 > 3576 3577 <svg class="icon-burger-close " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none"> <title>Close icon</title> <path d="M17 1L1 17M1 1l16 16" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round"/> </svg> 3578 3579 <span class="visually-hidden">Close</span> 3580 </a> 3581 </div> 3582 3583 <div class="mobile-nav-content" data-mobile-nav-content> 3584 3585 3586 3587 3588 3589 3590<ul 3591 class="navmenu navmenu-depth-1" 3592 data-navmenu 3593 aria-label="Main Navigation Version 2" 3594> 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606<li 3607 class="navmenu-item navmenu-id-about " 3608 3609 data-test-linkthing 3610 3611 3612 > 3613 <a 3614 class="navmenu-link " 3615 href="/pages/about" 3616 3617 > 3618 About 3619 3620 </a> 3621 3622 3623 3624 3625 </li> 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637<li 3638 class="navmenu-item navmenu-item-parent navmenu-id-shop " 3639 3640 data-test-linkthing 3641 data-navmenu-parent 3642 3643 > 3644 <a 3645 class="navmenu-link navmenu-link-parent " 3646 href="/collections/shop-all" 3647 3648 aria-haspopup="true" 3649 aria-expanded="false" 3650 3651 > 3652 Shop 3653 3654 </a> 3655 3656 3657 3658 3659<button 3660 class="navmenu-button" 3661 data-navmenu-trigger 3662 aria-expanded="false" 3663> 3664 <div class="navmenu-button-wrapper" tabindex="-1"> 3665 <span class="navmenu-icon navmenu-icon-depth-1"> 3666 3667 3668 <svg class="icon-chevron-down-small " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="8" height="6" viewBox="0 0 8 6" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M4 4.5L7 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M4 4.5L1 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> </svg> 3669 3670 </span> 3671 <span class="visually-hidden">Shop</span> 3672 </div> 3673</button> 3674 3675 3676 3677 3678 3679 3680 3681 3682<ul 3683 class="navmenu navmenu-depth-2 navmenu-submenu" 3684 data-navmenu 3685 data-navmenu-submenu 3686 aria-label="Main Navigation Version 2" 3687> 3688 3689 3690 3691 3692 3693 3694 3695 <li 3696 class="navmenu-item navmenu-id-all-products" 3697 > 3698 <a 3699 class="navmenu-link " 3700 href="/collections/shop-all" 3701 > 3702 All Products 3703 </a> 3704 </li> 3705 3706 3707 3708 3709 3710 3711 3712 3713 <li 3714 class="navmenu-item navmenu-id-bundles" 3715 > 3716 <a 3717 class="navmenu-link " 3718 href="/collections/bundles" 3719 > 3720 Bundles 3721 </a> 3722 </li> 3723 3724 3725 3726 3727 3728 3729 3730 3731 <li 3732 class="navmenu-item navmenu-id-gut-health" 3733 > 3734 <a 3735 class="navmenu-link " 3736 href="/collections/digestive-gi-health" 3737 > 3738 Gut Health 3739 </a> 3740 </li> 3741 3742 3743 3744 3745 3746 3747 3748 3749 <li 3750 class="navmenu-item navmenu-id-skin-support" 3751 > 3752 <a 3753 class="navmenu-link " 3754 href="/collections/musculoskeletal" 3755 > 3756 Skin Support 3757 </a> 3758 </li> 3759 3760 3761 3762 3763 3764 3765 3766 3767 <li 3768 class="navmenu-item navmenu-id-sleep-stress" 3769 > 3770 <a 3771 class="navmenu-link " 3772 href="/collections/new" 3773 > 3774 Sleep/Stress 3775 </a> 3776 </li> 3777 3778 3779 3780 3781 3782 3783 3784 3785 <li 3786 class="navmenu-item navmenu-id-immunity-wellbeing" 3787 > 3788 <a 3789 class="navmenu-link " 3790 href="/collections/immunity-wellbeing" 3791 > 3792 Immunity/Wellbeing 3793 </a> 3794 </li> 3795 3796 3797 3798 3799 3800 3801 3802 3803 <li 3804 class="navmenu-item navmenu-id-joint-mobility" 3805 > 3806 <a 3807 class="navmenu-link " 3808 href="/collections/joint-mobility" 3809 > 3810 Joint/Mobility 3811 </a> 3812 </li> 3813 3814 3815 3816 3817 3818 3819 3820 3821 <li 3822 class="navmenu-item navmenu-id-heart-health" 3823 > 3824 <a 3825 class="navmenu-link " 3826 href="/collections/heart-inflammation-health" 3827 > 3828 Heart Health 3829 </a> 3830 </li> 3831 3832 3833 3834 3835 3836 3837 3838 3839 <li 3840 class="navmenu-item navmenu-id-blood-sugar-metabolism" 3841 > 3842 <a 3843 class="navmenu-link " 3844 href="/collections/foundational-health" 3845 > 3846 Blood Sugar/Metabolism 3847 </a> 3848 </li> 3849 3850 3851 3852 3853 3854 3855 3856 3857 <li 3858 class="navmenu-item navmenu-id-gift-cards" 3859 > 3860 <a 3861 class="navmenu-link " 3862 href="/collections/gift-cards" 3863 > 3864 Gift Cards 3865 </a> 3866 </li> 3867 3868 3869</ul> 3870 3871 3872 </li> 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884<li 3885 class="navmenu-item navmenu-item-parent navmenu-id-for-business " 3886 3887 data-test-linkthing 3888 data-navmenu-parent 3889 3890 > 3891 <a 3892 class="navmenu-link navmenu-link-parent " 3893 href="/pages/business-page" 3894 3895 aria-haspopup="true" 3896 aria-expanded="false" 3897 3898 > 3899 For Business 3900 3901 </a> 3902 3903 3904 3905 3906<button 3907 class="navmenu-button" 3908 data-navmenu-trigger 3909 aria-expanded="false" 3910> 3911 <div class="navmenu-button-wrapper" tabindex="-1"> 3912 <span class="navmenu-icon navmenu-icon-depth-1"> 3913 3914 3915 <svg class="icon-chevron-down-small " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="8" height="6" viewBox="0 0 8 6" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M4 4.5L7 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M4 4.5L1 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> </svg> 3916 3917 </span> 3918 <span class="visually-hidden">For Business</span> 3919 </div> 3920</button> 3921 3922 3923 3924 3925 3926 3927 3928 3929<ul
3930 class="navmenu navmenu-depth-2 navmenu-submenu" 3931 data-navmenu 3932 data-navmenu-submenu 3933 aria-label="Main Navigation Version 2" 3934> 3935 3936 3937 3938 3939 3940 3941 3942 <li 3943 class="navmenu-item navmenu-id-wellness-program" 3944 > 3945 <a 3946 class="navmenu-link " 3947 href="/pages/coaching" 3948 > 3949 Wellness Program 3950 </a> 3951 </li> 3952 3953 3954 3955 3956 3957 3958 3959 3960 <li 3961 class="navmenu-item navmenu-id-wellness-retreat" 3962 > 3963 <a 3964 class="navmenu-link " 3965 href="/pages/health-retreat" 3966 > 3967 Wellness Retreat 3968 </a> 3969 </li> 3970 3971 3972 3973 3974 3975 3976 3977 3978 <li 3979 class="navmenu-item navmenu-id-wellness-speaking" 3980 > 3981 <a 3982 class="navmenu-link " 3983 href="/pages/wellness-speaking" 3984 > 3985 Wellness Speaking 3986 </a> 3987 </li> 3988 3989 3990 3991 3992 3993 3994 3995 3996 <li 3997 class="navmenu-item navmenu-id-be-a-speaker-leader" 3998 > 3999 <a 4000 class="navmenu-link " 4001 href="/pages/speaker" 4002 > 4003 Be a Speaker / Leader 4004 </a> 4005 </li> 4006 4007 4008</ul> 4009 4010 4011 </li> 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023<li 4024 class="navmenu-item navmenu-item-parent navmenu-id-for-individual " 4025 4026 data-test-linkthing 4027 data-navmenu-parent 4028 4029 > 4030 <a 4031 class="navmenu-link navmenu-link-parent " 4032 href="/pages/individual-page" 4033 4034 aria-haspopup="true" 4035 aria-expanded="false" 4036 4037 > 4038 For Individual 4039 4040 </a> 4041 4042 4043 4044 4045<button 4046 class="navmenu-button" 4047 data-navmenu-trigger 4048 aria-expanded="false" 4049> 4050 <div class="navmenu-button-wrapper" tabindex="-1"> 4051 <span class="navmenu-icon navmenu-icon-depth-1"> 4052 4053 4054 <svg class="icon-chevron-down-small " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="8" height="6" viewBox="0 0 8 6" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M4 4.5L7 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M4 4.5L1 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> </svg> 4055 4056 </span> 4057 <span class="visually-hidden">For Individual</span> 4058 </div> 4059</button> 4060 4061 4062 4063 4064 4065 4066 4067 4068<ul 4069 class="navmenu navmenu-depth-2 navmenu-submenu" 4070 data-navmenu 4071 data-navmenu-submenu 4072 aria-label="Main Navigation Version 2" 4073> 4074 4075 4076 4077 4078 4079 4080 4081 <li 4082 class="navmenu-item navmenu-id-the-vip-reset-testing" 4083 > 4084 <a 4085 class="navmenu-link " 4086 href="/pages/gutresetvip" 4087 > 4088 The VIP Reset + Testing 4089 </a> 4090 </li> 4091 4092 4093 4094 4095 4096 4097 4098 4099 <li 4100 class="navmenu-item navmenu-id-the-gut-brain-body-reset" 4101 > 4102 <a 4103 class="navmenu-link " 4104 href="https://jackiebowker.myflodesk.com/12-week-gbbr" 4105 > 4106 The Gut Brain Body Reset 4107 </a> 4108 </li> 4109 4110 4111 4112 4113 4114 4115 4116 4117 <li 4118 class="navmenu-item navmenu-id-7-day-sugar-detox" 4119 > 4120 <a 4121 class="navmenu-link " 4122 href="https://jackiebowker.myflodesk.com/detox" 4123 > 4124 7-Day Sugar Detox 4125 </a> 4126 </li> 4127 4128 4129 4130 4131 4132 4133 4134 4135 <li 4136 class="navmenu-item navmenu-id-private-coaching" 4137 > 4138 <a 4139 class="navmenu-link " 4140 href="/pages/coaching" 4141 > 4142 Private Coaching 4143 </a> 4144 </li> 4145 4146 4147 4148 4149 4150 4151 4152 4153 <li 4154 class="navmenu-item navmenu-id-wellness-retreat" 4155 > 4156 <a 4157 class="navmenu-link " 4158 href="/pages/health-retreat" 4159 > 4160 Wellness Retreat 4161 </a> 4162 </li> 4163 4164 4165</ul> 4166 4167 4168 </li> 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180<li 4181 class="navmenu-item navmenu-item-parent navmenu-id-resources " 4182 4183 data-test-linkthing 4184 data-navmenu-parent 4185 4186 > 4187 <a 4188 class="navmenu-link navmenu-link-parent " 4189 href="/pages/recipes" 4190 4191 aria-haspopup="true" 4192 aria-expanded="false" 4193 4194 > 4195 Resources 4196 4197 </a> 4198 4199 4200 4201 4202<button 4203 class="navmenu-button" 4204 data-navmenu-trigger 4205 aria-expanded="false" 4206> 4207 <div class="navmenu-button-wrapper" tabindex="-1"> 4208 <span class="navmenu-icon navmenu-icon-depth-1"> 4209 4210 4211 <svg class="icon-chevron-down-small " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="8" height="6" viewBox="0 0 8 6" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M4 4.5L7 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M4 4.5L1 1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/> </svg> 4212 4213 </span> 4214 <span class="visually-hidden">Resources</span> 4215 </div> 4216</button> 4217 4218 4219 4220 4221 4222 4223 4224 4225<ul
4226 class="navmenu navmenu-depth-2 navmenu-submenu" 4227 data-navmenu 4228 data-navmenu-submenu 4229 aria-label="Main Navigation Version 2" 4230> 4231 4232 4233 4234 4235 4236 4237 4238 <li 4239 class="navmenu-item navmenu-id-recipes" 4240 > 4241 <a 4242 class="navmenu-link " 4243 href="/pages/recipes" 4244 > 4245 Recipes 4246 </a> 4247 </li> 4248 4249 4250 4251 4252 4253 4254 4255 4256 <li 4257 class="navmenu-item navmenu-id-masterclass" 4258 > 4259 <a 4260 class="navmenu-link " 4261 href="https://jackiebowker.myflodesk.com/harmony-masterclass" 4262 > 4263 Masterclass 4264 </a> 4265 </li> 4266 4267 4268 4269 4270 4271 4272 4273 4274 <li 4275 class="navmenu-item navmenu-id-blogs" 4276 > 4277 <a 4278 class="navmenu-link " 4279 href="/blogs/news" 4280 > 4281 Blogs 4282 </a> 4283 </li> 4284 4285 4286 4287 4288 4289 4290 4291 4292 <li 4293 class="navmenu-item navmenu-id-books" 4294 > 4295 <a 4296 class="navmenu-link " 4297 href="https://jackiebowker.myflodesk.com/book" 4298 > 4299 Books 4300 </a> 4301 </li> 4302 4303 4304 4305 4306 4307 4308 4309 4310 <li 4311 class="navmenu-item navmenu-id-podcast" 4312 > 4313 <a 4314 class="navmenu-link " 4315 href="/blogs/podcast" 4316 > 4317 Podcast 4318 </a> 4319 </li> 4320 4321 4322 4323 4324 4325 4326 4327 4328 <li 4329 class="navmenu-item navmenu-id-practice-better-login" 4330 > 4331 <a 4332 class="navmenu-link " 4333 href="https://globalfeelbetterinstitute.practicebetter.io/#/signin" 4334 > 4335 Practice Better Login 4336 </a> 4337 </li> 4338 4339 4340</ul> 4341 4342 4343 </li> 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355<li 4356 class="navmenu-item navmenu-id-contact " 4357 4358 data-test-linkthing 4359 4360 4361 > 4362 <a 4363 class="navmenu-link " 4364 href="/pages/contact" 4365 4366 > 4367 Contact 4368 4369 </a> 4370 4371 4372 4373 4374 </li> 4375 4376</ul> 4377 4378 </div> 4379 4380 </div> 4381 4382 <div class="mobile-nav-overlay" data-mobile-nav-overlay></div> 4383</div> 4384 4385</header> 4386 4387</div> 4388 4389 4390 4391 4392 4393 <main id="site-main" class="site-main" aria-label="Main content" tabindex="-1"> 4394 4395 4396 <section 4397 class=" account-page-login" 4398 data-template-account 4399 data-template-account-login> 4400 <header class="account-page-custom"> 4401 <div class="account-banner" style="background-image: url(//feelbetterinstitute.com/cdn/shop/t/20/assets/bg.jpg?v=81859585525620412481667818026)"> 4402 <h1 class=""> 4403 Login 4404 </h1> 4405 </div> 4406 4407 </header> 4408 4409 <article class="account-page-content"> 4410 <div class="account-login form-custom-design visible" data-account-login-main> 4411 <form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="â" /> 4412 4413 4414 4415 <div class="form-field"> 4416 <div class="icon-area"> 4417 <i class="fas fa-envelope"></i> 4418 </div> 4419 <input 4420 class="form-field-input form-field-text" 4421 id="customer_email" 4422 name="customer[email]" 4423 type="text" 4424 autocorrect="off" 4425 autocapitalize="off"> 4426 <label 4427 class="form-field-title" 4428 for="customer_email"> 4429 Email 4430 </label> 4431 </div> 4432 4433 4434 <div class="form-field form-field--account-password"> 4435 <div class="icon-area"> 4436 <i class="fas fa-key"></i> 4437 </div> 4438 <input 4439 class="form-field-input form-field-text" 4440 id="customer_password" 4441 name="customer[password]" 4442 type="password"> 4443 <label 4444 class="form-field-title" 4445 for="customer_password"> 4446 Password 4447 </label> 4448 </div> 4449 4450 4451 <div class="form-action-row"> 4452 <div class="form_row"> 4453 4454 4455 <p>
4456 <span class="form-action-row--helper-item"> 4457 <a href="#customer_recovery" data-login-toggle> 4458 Forgot your password? 4459 </a> 4460 </span> 4461 </p> 4462 4463 </div> 4464 <div class="form_row text-center"> 4465 <button class="button-primary form-action--submit" type="submit"> 4466 Sign in 4467 </button> 4468 </div> 4469 4470 4471 </div> 4472 4473 <input type="hidden" name="return_url" value="/account" /></form> 4474 <hr class="border-grey"/> 4475 <div class="text-center"> 4476 <h4 id="LoginHeading" class="text-center"> 4477 Haven't purchased from our online store yet? <br/> You will need to set up an account. It's quick & easy! 4478 </h4> 4479 <a href="/account/register" class="btn button-secondary" style="margin-bottom: 10px;">REGISTER</a> 4480 </div> 4481 </div> 4482 4483 <div 4484 class="account-recovery" 4485 id="customer_recovery" 4486 data-account-login-recovery> 4487 <form method="post" action="/account/recover" accept-charset="UTF-8"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="â" /> 4488 4489 <h2 class="account-page-subtitle"> 4490 Reset your password 4491 </h2> 4492 4493 <p>We will send you an email to reset your password.</p> 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 <div class="form-field"> 4504 <input 4505 class="form-field-input form-field-text" 4506 id="customer_recovery_email" 4507 name="email" 4508 type="text" 4509 autocorrect="off" 4510 autocapitalize="off"> 4511 <label 4512 class="form-field-title" 4513 for="customer_recovery_email"> 4514 Email 4515 </label> 4516 </div> 4517 4518 <div class="form-action-row"> 4519 <button class="button-primary account-recovery--submit" type="submit"> 4520 Submit 4521 </button> 4522 4523 <button 4524 class="button-secondary account-recovery--cancel" 4525 type="button" 4526 data-login-toggle> 4527 Cancel 4528 </button> 4529 </div> 4530 </form> 4531 </div> 4532 4533 4534 </article> 4535</section> 4536 4537 </main> 4538 4539 <div id="shopify-section-before-footer" class="shopify-section alt-img-with-text--section"> 4540<div class="instragram-widgets"> 4541 4542 4543</div> 4544 4545<!-- for the widget https://a.electricblaze.com/#/home --> 4546 4547</div> 4548 4549 <div id="shopify-section-static-footer" class="shopify-section">
4549<script 4550 type="application/json" 4551 data-section-id="static-footer" 4552 data-section-type="static-footer"> 4553</script>
4553 4554 4555 4556<footer 4557 class="site-footer" 4558 role="contentinfo" 4559 aria-label="Footer" 4560 data-mobile-alignment="centered" 4561> 4562 4563 4564 4565 4566 <div 4567 class=" 4568 site-footer-item 4569 container 4570 column-count-4 4571 " 4572 > 4573 <div class="row"> 4574 4575 <div class="bootstrap-columns site-footer-block-item site-footer-block-html-content col-12 col-xl-5 site-footer-logo" > 4576 4577 4578 4579 4580 4581 <svg width="220" height="65" viewbox="0 0 220 65" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 4582<mask id="mask0_73_4582" style="mask-type:alpha" maskunits="userSpaceOnUse" x="0" y="0" width="220" height="65"> 4583<rect width="220" height="64.4828" fill="url(#pattern0)"></rect> 4584</mask> 4585<g mask="url(#mask0_73_4582)"> 4586<rect width="220" height="64.4828" fill="url(#pattern1)"></rect> 4587<rect width="220" height="64.4828" fill="black"></rect> 4588</g> 4589<defs> 4590<pattern id="pattern0" patterncontentunits="objectBoundingBox" width="1" height="1"> 4591<use xlink:href="#image0_73_4582" transform="translate(-0.00103153) scale(0.00250516 0.00854701)"></use> 4592</pattern> 4593<pattern id="pattern1" patterncontentunits="objectBoundingBox" width="1" height="1"> 4594<use xlink:href="#image0_73_4582" transform="translate(-0.00103153) scale(0.00250516 0.00854701)"></use> 4595</pattern> 4596<image id="image0_73_4582" width="400" height="117" xlink:href="data:image/png;base64,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"></image> 4597</defs> 4598</svg> 4599 4600<div class="footer-desciption"> 4601Jackie Bowker, CEO of the Global Feel Better Institute, Functional Nutritionist, Gut & Mindset Expert, supporting executives, entrepreneurs and athletes to operate at their peak and create wealth in all areas of their life. 4602</div> 4603 4604 4605 4606</div> 4607 4608 4609 <div class="bootstrap-columns site-footer-block-item site-footer-block-menu has-accordion col-12 menu-footer-1 col-xl-2 col-md-4 menu-footers" > 4610 4611 4612 <h2 class="site-footer-block-title" data-accordion-triggers> 4613 FEEL BETTER INSTITUTE 4614 4615 <span class="site-footer-block-icon accordion--icons"> 4616 4617 <svg class="icon-chevron-down " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M7 6.75L12.5 1.25" stroke="currentColor" stroke-width="1.75" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M7 6.75L1.5 1.25" stroke="currentColor" stroke-width="1.75" stroke-linecap="square"/> </svg> 4618 4619 </span> 4620 </h2> 4621 4622 <div class="site-footer-block-content accordion--contents" data-accordion-contents> 4623 4624 4625 4626 4627<ul
4628 class="navmenu navmenu-depth-1 " 4629 data-navmenu 4630 4631 4632> 4633 4634 4635 4636 4637 4638 4639 4640 <li 4641 class="navmenu-item navmenu-id-about" 4642 > 4643 <a 4644 class="navmenu-link " 4645 href="/pages/about" 4646 > 4647 About 4648 </a> 4649 </li> 4650 4651 4652 4653 4654 4655 4656 4657 4658 <li 4659 class="navmenu-item navmenu-id-shop" 4660 > 4661 <a 4662 class="navmenu-link " 4663 href="/collections/all" 4664 > 4665 Shop 4666 </a> 4667 </li> 4668 4669 4670 4671 4672 4673 4674 4675 4676 <li 4677 class="navmenu-item navmenu-id-podcast" 4678 > 4679 <a 4680 class="navmenu-link " 4681 href="/blogs/podcast" 4682 > 4683 Podcast 4684 </a> 4685 </li> 4686 4687 4688 4689 4690 4691 4692 4693 4694 <li 4695 class="navmenu-item navmenu-id-recipes" 4696 > 4697 <a 4698 class="navmenu-link " 4699 href="/blogs/recipes" 4700 > 4701 Recipes 4702 </a> 4703 </li> 4704 4705 4706 4707 4708 4709 4710 4711 4712 <li 4713 class="navmenu-item navmenu-id-blogs" 4714 > 4715 <a 4716 class="navmenu-link " 4717 href="/blogs/news" 4718 > 4719 Blogs 4720 </a> 4721 </li> 4722 4723 4724 4725 4726 4727 4728 4729 4730 <li 4731 class="navmenu-item navmenu-id-contact" 4732 > 4733 <a 4734 class="navmenu-link " 4735 href="/pages/contact" 4736 > 4737 Contact 4738 </a> 4739 </li> 4740 4741 4742</ul> 4743 4744 </div> 4745 4746 4747 4748 4749 4750</div> 4751 4752 4753 <div class="bootstrap-columns site-footer-block-item site-footer-block-menu has-accordion col-12 col-xl-3 col-md-4 menu-footers" > 4754 4755 4756 <h2 class="site-footer-block-title" data-accordion-triggers> 4757 FOR BUSINESS & INDIVIDUAL 4758 4759 <span class="site-footer-block-icon accordion--icons"> 4760 4761 <svg class="icon-chevron-down " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M7 6.75L12.5 1.25" stroke="currentColor" stroke-width="1.75" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M7 6.75L1.5 1.25" stroke="currentColor" stroke-width="1.75" stroke-linecap="square"/> </svg> 4762 4763 </span> 4764 </h2> 4765 4766 <div class="site-footer-block-content accordion--contents" data-accordion-contents> 4767 4768 4769 4770 4771<ul 4772 class="navmenu navmenu-depth-1 " 4773 data-navmenu 4774 4775 4776> 4777 4778 4779 4780 4781 4782 4783 4784 <li 4785 class="navmenu-item navmenu-id-corporate-programs" 4786 > 4787 <a 4788 class="navmenu-link " 4789 href="/pages/coaching" 4790 > 4791 Corporate Programs 4792 </a> 4793 </li> 4794 4795 4796 4797 4798 4799 4800 4801 4802 <li 4803 class="navmenu-item navmenu-id-health-retreats" 4804 > 4805 <a 4806 class="navmenu-link " 4807 href="/pages/health-retreat" 4808 > 4809 Health Retreats 4810 </a> 4811 </li> 4812 4813 4814 4815 4816 4817 4818 4819 4820 <li 4821 class="navmenu-item navmenu-id-speaking-enquiries" 4822 > 4823 <a 4824 class="navmenu-link " 4825 href="/pages/wellness-speaking" 4826 > 4827 Speaking Enquiries 4828 </a> 4829 </li> 4830 4831 4832 4833 4834 4835 4836 4837 4838 <li 4839 class="navmenu-item navmenu-id-1-1-coaching-guidance" 4840 > 4841 <a 4842 class="navmenu-link " 4843 href="/pages/coaching" 4844 > 4845 1:1 Coaching & Guidance 4846 </a> 4847 </li> 4848 4849 4850 4851 4852 4853 4854 4855 4856 <li 4857 class="navmenu-item navmenu-id-gut-brain-body-reset" 4858 > 4859 <a 4860 class="navmenu-link " 4861 href="https://jackiebowker.myflodesk.com/12-week-gbbr" 4862 > 4863 Gut Brain Body Reset 4864 </a> 4865 </li> 4866 4867 4868</ul> 4869 4870 </div> 4871 4872 4873 4874 4875 4876</div> 4877 4878 4879 <div class="bootstrap-columns site-footer-block-item site-footer-block-rich-text col-12 col-xl-2 col-md-4 menu-footers menu-footers-social" > 4880 4881 4882 4883 <h2 class="site-footer-block-title"> 4884 SOCIAL MEDIA 4885 </h2> 4886 4887 4888 4889 4890 <div class="site-footer-block-content rte"> 4891 <p><a href="https://www.facebook.com/jackiebowkernutrition" target="_blank" title="https://www.facebook.com/jackiebowkernutrition">Facebook</a></p><p><a href="https://www.instagram.com/jackiebowker/" target="_blank" title="https://www.instagram.com/jackiebowker/">Instagram</a></p><p><a href="https://www.youtube.com/channel/UCm-pNGrzzJ2hoBguL0SI4Jg" target="_blank" title="https://www.youtube.com/channel/UCm-pNGrzzJ2hoBguL0SI4Jg">YouTube</a></p><p><a href="https://www.linkedin.com/in/jackie-bowker-1939302/" target="_blank" title="https://www.linkedin.com/in/jackie-bowker-1939302/">Linkedin</a></p> 4892 </div> 4893 4894 4895 4896 4897 4898 4899 4900 4901</div> 4902 4903 4904 </div> 4905 </div> 4906 4907 4908 <div class="site-footer-item site-footer-information"> 4909 <div class="site-footer-information-nav-credits"> 4910 4911 4912 <p class="site-footer-credits"> 4913
4914 Copyright © 2026 Jackie Bowker's Global Feel Better Institute Shop. 4915 </p> 4916 4917 <div class="site-footer-credits"> 4918 4919 </div> 4920 </div><div class="site-footer-information__payment-icons-cross-border"> 4921 4922 4923 <nav 4924 class="site-footer-navigation site-footer-navigation-v2" 4925 aria-label="Footer" 4926 > 4927 4928 4929 4930 4931<ul 4932 class="navmenu navmenu-depth-1 " 4933 data-navmenu 4934 4935 4936> 4937 4938 4939 4940 4941 4942 4943 4944 <li 4945 class="navmenu-item navmenu-id-shipping-returns" 4946 > 4947 <a 4948 class="navmenu-link " 4949 href="/pages/shipping" 4950 > 4951 Shipping & Returns 4952 </a> 4953 </li> 4954 4955 4956 4957 4958 4959 4960 4961 4962 <li 4963 class="navmenu-item navmenu-id-privacy-policy" 4964 > 4965 <a 4966 class="navmenu-link " 4967 href="/pages/privacy-policy" 4968 > 4969 Privacy Policy 4970 </a> 4971 </li> 4972 4973 4974 4975 4976 4977 4978 4979 4980 <li 4981 class="navmenu-item navmenu-id-terms-conditions" 4982 > 4983 <a 4984 class="navmenu-link " 4985 href="/pages/terms-conditions" 4986 > 4987 Terms & Conditions 4988 </a> 4989 </li> 4990 4991 4992</ul> 4993 4994 </nav> 4995 4996 4997 4998 4999 5000 5001 <form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/account/login?return_url=%2Faccount" /> 5002 5003 5004 5005 </form> 5006 5007 5008 5009 5010 </div> 5011 5012 </div> 5013</footer> 5014 5015</div> 5016 5017 5018 <div style="display: none;" aria-hidden="true" data-templates> 5019 <div 5020 class="message-banner--container" 5021 role="alert" 5022 data-message-banner 5023> 5024 <div class="message-banner--outer"> 5025 <div class="message-banner--inner" data-message-banner-content></div> 5026 5027 <button 5028 class="message-banner--close" 5029 type="button" 5030 aria-label="Close" 5031 data-message-banner-close 5032 > 5033 5034 <svg class="icon-menu-close " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 13 13" fill="none"> <title>Close icon</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.5 7.73744L1.61872 12.6187L0.381283 11.3813L5.26256 6.50001L0.381283 1.61872L1.61872 0.381287L6.5 5.26257L11.3813 0.381287L12.6187 1.61872L7.73744 6.5L12.6187 11.3813L11.3813 12.6187L6.5 7.73744Z" fill="currentColor"/> </svg> 5035 5036 </button> 5037 </div> 5038</div> 5039 5040 <section class="atc-banner--container" role="log" data-atc-banner> 5041 <div class="atc-banner--outer"> 5042 <div class="atc-banner--inner"> 5043 <div class="atc-banner--product"> 5044 <h2 class="atc-banner--product-title"> 5045 <span class="atc-banner--product-title--icon"> 5046 <svg class="icon-checkmark " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="18" height="13" viewBox="0 0 18 13" fill="none"> <title>Checkmark icon</title> <path d="M1 6L6 11L17 1" stroke="currentColor" stroke-width="2"/> </svg> 5047</span> 5048 Added to your cart: 5049 </h2> 5050 5051 <div class="atc--product"> 5052 <div class="atc--product-image" data-atc-banner-product-image> 5053 <svg class="placeholder--image" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 525.5 525.5"><path d="M324.5 212.7H203c-1.6 0-2.8 1.3-2.8 2.8V308c0 1.6 1.3 2.8 2.8 2.8h121.6c1.6 0 2.8-1.3 2.8-2.8v-92.5c0-1.6-1.3-2.8-2.9-2.8zm1.1 95.3c0 .6-.5 1.1-1.1 1.1H203c-.6 0-1.1-.5-1.1-1.1v-92.5c0-.6.5-1.1 1.1-1.1h121.6c.6 0 1.1.5 1.1 1.1V308z"/><path d="M210.4 299.5H240v.1s.1 0 .2-.1h75.2v-76.2h-105v76.2zm1.8-7.2l20-20c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l1.5 1.5 16.8 16.8c-12.9 3.3-20.7 6.3-22.8 7.2h-27.7v-5.5zm101.5-10.1c-20.1 1.7-36.7 4.8-49.1 7.9l-16.9-16.9 26.3-26.3c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l27.5 27.5v7.8zm-68.9 15.5c9.7-3.5 33.9-10.9 68.9-13.8v13.8h-68.9zm68.9-72.7v46.8l-26.2-26.2c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-26.3 26.3-.9-.9c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-18.8 18.8V225h101.4z"/><path d="M232.8 254c4.6 0 8.3-3.7 8.3-8.3s-3.7-8.3-8.3-8.3-8.3 3.7-8.3 8.3 3.7 8.3 8.3 8.3zm0-14.9c3.6 0 6.6 2.9 6.6 6.6s-2.9 6.6-6.6 6.6-6.6-2.9-6.6-6.6 3-6.6 6.6-6.6z"/></svg> 5054 </div> 5055 <div class="atc--product-details"> 5056 <h2 class="atc--product-details--title" data-atc-banner-product-title></h2>
5057 <span class="atc--product-details--options" data-atc-banner-product-options></span> 5058 <span class="atc--product-details--price"> 5059 <span class="atc--product-details--price-quantity" data-atc-banner-product-price-quantity></span> 5060 <span class="atc--product-details--price-value money" data-atc-banner-product-price-value></span> 5061 <span class="atc--product-details--unit-price hidden" data-atc-banner-unit-price> 5062 ** total_quantity ** | ** unit_price ** / ** unit_measure ** 5063 </span> 5064 </span> 5065 </div> 5066 </div> 5067 </div> 5068 5069 <div class="atc-banner--cart"> 5070 <div class="atc-banner--cart-subtotal"> 5071 <span class="atc-subtotal--label"> 5072 Cart subtotal 5073 </span> 5074 <span class="atc-subtotal--price money" data-atc-banner-cart-subtotal></span> 5075 </div> 5076 5077 <footer class="atc-banner--cart-footer"> 5078 <a class="button-secondary atc-button--viewcart" href="/cart" data-atc-banner-cart-button> 5079 View cart (<span></span>) 5080 </a> 5081 5082 <form 5083 action="/cart" 5084 method="post" 5085 aria-label="cart checkout" 5086 > 5087 <button class="button-primary atc-button--checkout" type="submit" name="checkout" data-atc-button-checkout> 5088 5089 <span>Checkout</span> 5090 </button> 5091 </form> 5092 </footer> 5093 </div> 5094 </div> 5095 5096 <button 5097 class="atc-banner--close" 5098 type="button" 5099 aria-label="Close" 5100 data-atc-banner-close 5101 > 5102 5103 <svg class="icon-menu-close " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 13 13" fill="none"> <title>Close icon</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.5 7.73744L1.61872 12.6187L0.381283 11.3813L5.26256 6.50001L0.381283 1.61872L1.61872 0.381287L6.5 5.26257L11.3813 0.381287L12.6187 1.61872L7.73744 6.5L12.6187 11.3813L11.3813 12.6187L6.5 7.73744Z" fill="currentColor"/> </svg> 5104 5105 </button> 5106 </div> 5107</section> 5108 5109 </div> 5110 5111 5112 5113 <div class="modal" data-modal-container aria-label="modal window"> 5114 <div class="modal-inner" data-modal-inner> 5115 <button 5116 class="modal-close" 5117 type="button" 5118 aria-label="Close" 5119 data-modal-close 5120 > 5121 5122 <svg class="icon-menu-close " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 13 13" fill="none"> <title>Close icon</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.5 7.73744L1.61872 12.6187L0.381283 11.3813L5.26256 6.50001L0.381283 1.61872L1.61872 0.381287L6.5 5.26257L11.3813 0.381287L12.6187 1.61872L7.73744 6.5L12.6187 11.3813L11.3813 12.6187L6.5 7.73744Z" fill="currentColor"/> </svg> 5123 5124 </button> 5125 <div class="modal-content" data-modal-content></div> 5126 </div> 5127</div> 5128 5129 5130 5131 5132<div 5133 class="pswp" 5134 tabindex="-1" 5135 role="dialog" 5136 aria-hidden="true" 5137 aria-label="Product zoom dialog" 5138 data-photoswipe 5139> 5140 5141 5142 <div class="pswp__bg"></div> 5143 5144 5145 <div class="pswp__scroll-wrap"> 5146 5147 <div class="pswp__container" aria-hidden="true"> 5148 <div class="pswp__item"></div> 5149 <div class="pswp__item"></div> 5150 <div class="pswp__item"></div> 5151 </div> 5152 5153 5154 <div class="pswp__ui pswp__ui--hidden"> 5155 <div class="pswp__top-bar"> 5156 5157 <div class="pswp__counter"></div> 5158 <button class="pswp__button pswp__button--close" title="Close"> 5159 <span tabindex="-1"> 5160 5161 <svg class="icon-close " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"> <path d="M17 1L1 17" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round"/> <path d="M1 1L17 17" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round"/> </svg> 5162 5163 </span> 5164 </button> 5165 <button class="pswp__button pswp__button--share" title="Share"></button> 5166 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 5167 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> 5168 5169 5170 5171 <div class="pswp__preloader"> 5172 <div class="pswp__preloader__icn"> 5173 <div class="pswp__preloader__cut"> 5174 <div class="pswp__preloader__donut"></div> 5175 </div> 5176 </div> 5177 </div> 5178 </div> 5179 5180 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 5181 <div class="pswp__share-tooltip"></div> 5182 </div> 5183 5184 <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> 5185 </button> 5186 <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> 5187 </button> 5188 5189 <div class="pswp__caption"> 5190 <div class="pswp__caption__center"></div> 5191 </div> 5192 </div> 5193 </div>
5194 <div class="product-zoom--thumbnails" data-photoswipe-thumbs> 5195 <button 5196 class="gallery-navigation--scroll-button scroll-left" 5197 aria-label="Scroll thumbnails left" 5198 data-gallery-scroll-button 5199 > 5200 5201 <svg class="icon-chevron-down " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M7 6.75L12.5 1.25" stroke="currentColor" stroke-width="1.75" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M7 6.75L1.5 1.25" stroke="currentColor" stroke-width="1.75" stroke-linecap="square"/> </svg> 5202 5203 </button> 5204 <button 5205 class="gallery-navigation--scroll-button scroll-right" 5206 aria-label="Scroll thumbnails right" 5207 data-gallery-scroll-button 5208 > 5209 5210 <svg class="icon-chevron-down " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"> <title>Chevron down icon</title> <path class="icon-chevron-down-left" d="M7 6.75L12.5 1.25" stroke="currentColor" stroke-width="1.75" stroke-linecap="square"/> <path class="icon-chevron-down-right" d="M7 6.75L1.5 1.25" stroke="currentColor" stroke-width="1.75" stroke-linecap="square"/> </svg> 5211 5212 </button> 5213 <div class="product-zoom--thumb-scroller" data-photoswipe-thumb-scroller></div> 5214 </div> 5215</div> 5216 5217 5218
5219<script src="//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/themes_support/shopify_common-5f594365.js" defer></script>
5219 5220
5220<script src="//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/themes_support/customer_area-f1b6eefc.js" defer></script>
5220 5221 5222 5223
5223<script 5224 src="//feelbetterinstitute.com/cdn/shop/t/20/assets/superstore.min.js?v=119002400528841112161667818026" 5225 data-scripts 5226 data-shopify-api-url="//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/themes_support/api.jquery-7ab1a3a4.js" 5227 data-shopify-countries="/services/javascripts/countries.js" 5228 data-shopify-common="//feelbetterinstitute.com/cdn/shopifycloud/storefront/assets/themes_support/shopify_common-5f594365.js" 5229 data-shopify-cart="//feelbetterinstitute.com/cdn/shop/t/20/assets/jquery.cart.js?v=7327" 5230 data-pxu-polyfills="//feelbetterinstitute.com/cdn/shop/t/20/assets/polyfills.js?v=59928898862970369921667818026" 5231 defer 5232 ></script>
5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252
5253<script type="application/ld+json"> 5254 { 5255 "@context": "http://schema.org", 5256 "@type": "WebSite", 5257 "name": "Jackie Bowker's Global Feel Better Institute Shop", 5258 "url": "https://feelbetterinstitute.com" 5259 } 5260</script>
5260 5261 5262 5263
5263<script> 5264 (function () { 5265 function handleFirstTab(e) { 5266 if (e.keyCode === 9) { // the "I am a keyboard user" key 5267 document.body.classList.add('user-is-tabbing'); 5268 window.removeEventListener('keydown', handleFirstTab); 5269 } 5270 } 5271 window.addEventListener('keydown', handleFirstTab); 5272 })(); 5273 </script>
5273 5274 5275 5276 5277 5278 5279
5279<script 5280 src="//feelbetterinstitute.com/cdn/shop/t/20/assets/instantPage.min.js?v=127297246423012564161667818026" 5281 type="module" 5282 defer 5283 ></script>
5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 <!-- 5298
5298<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
5298 5299 --> 5300 <!--
5300<script 5301 src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" 5302 integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" 5303 crossorigin="anonymous" 5304 ></script>
5304--> 5305 5306
5306<script 5307 src="//feelbetterinstitute.com/cdn/shop/t/20/assets/bootstrap.min.js?v=80194319766102340551714564389" 5308 crossorigin="anonymous" 5309 ></script>
5309 5310 5311 <!-- 5312 This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com 5313 --> 5314
5314<script> 5315 (function(d,u,ac){var s=d.createElement('script');s.type='text/javascript';s.src='https://a.omappapi.com/app/js/api.min.js';s.async=true;s.dataset.user=u;s.dataset.account=ac;d.getElementsByTagName('head')[0].appendChild(s);})(document,143790,157034); 5316 </script>
5316 5317 <!-- / OptinMonster --> 5318 5319 <div style="display: none" id="ln-popup"> 5320 <div class="inner"> 5321 <p> 5322 This product is a Healthcare Practitioner-only dispensed medicine. To allow us to dispatch this product we 5323 require you to confirm the below online health checkpoints to allow our healthcare practitioner to ensure that 5324 this product is suitable for you. - I am over the age of 18yo - I am buying this product for myself. Agree 5325 that my answers to the questionnaire are accurate at the time of purchasing. 5326 </p> 5327 <label class="question"> 5328 <input type="checkbox"> I agree to the Terms and COnditions of ordering this product 5329 </label> 5330 <div class="btns"> 5331 <a href="#" class="btn btn-default"> Submit </a> 5332 </div> 5333 <p><small> By entering this site you are agreeing ot the Terms of Use and Privacy Policy </small></p> 5334 </div> 5335 </div> 5336
5336<script> 5337 (($) => { 5338 if(window.location.href.indexOf('/collections') == -1 ) { 5339 return; 5340 } 5341 5342 const ln_popup_accepted = localStorage.getItem("ln_popup_accepted"); 5343 $(document).ready(() => { 5344 if (ln_popup_accepted === "true") { 5345 return; 5346 } 5347 5348 /* $('#ln-popup').show(); */ 5349 5350 $('#ln-popup .btn').click(() => { 5351 if ($('#ln-popup input[type="checkbox"]').prop('checked') !== true) { 5352 $('#ln-popup input[type="checkbox"]').parent().addClass('error'); 5353 return; 5354 } 5355 localStorage.setItem("ln_popup_accepted", true); 5356 $('#ln-popup').hide(); 5357 }); 5358 }); 5359 })(jQuery); 5360 </script>
5360 5361 5362 <style> 5363 #ln-popup { 5364 position: fixed; 5365 height: 100%; 5366 top: 0; 5367 left: 0; 5368 width: 100%; 5369 z-index: 99999; 5370 background: #d5d1ee7d; 5371 display: flex; 5372 justify-content: center; 5373 align-items: center; 5374 } 5375 5376 #ln-popup .inner { 5377 background: #f3f3f3; 5378 width: 600px; 5379 max-width: 90%; 5380 box-sizing: border-box; 5381 padding: 20px 40px 20px 40px; 5382 text-align: center; 5383 } 5384 5385 #ln-popup p { 5386 margin: 15px 0; 5387 font-size: 18px; 5388 } 5389 5390 #ln-popup .question { 5391 font-size: 0.9em; 5392 margin: 15px 0 20px 0; 5393 cursor: pointer; 5394 } 5395 5396 #ln-popup .btns { 5397 text-align: center; 5398 } 5399 5400 #ln-popup .btns a { 5401 background: #e9dff2; 5402 color: #333333; 5403 border-radius: 0; 5404 font-size: 18px; 5405 padding: 10px 35px; 5406 } 5407 5408 #ln-popup .btns a:hover { 5409 background: #e0cbf3; 5410 } 5411 5412 #ln-popup small { 5413 font-size: 0.8em; 5414 } 5415 5416 #ln-popup [type="checkbox"] { 5417 } 5418 </style> 5419 5420 <div id="shopify-block-ARjVSSktCaE5ZOFNKR__4761459923222742006" class="shopify-block shopify-app-block">
5420<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/repete-widget-theme.js"></script>
vendor: 1 bytes, line 5420
5420
5421<script> 5422 window.BOLD = window.BOLD || {}; 5423 window.BOLD.OD = window.BOLD.OD || {}; 5424 window.BOLD.OD.enableRepeteWidget = "widget_only"; 5425 window.BOLD.OD.logged_in_customer_id = ""; 5426 window.BOLD.OD.due_schedules_pre_days = 2; 5427 window.BOLD.OD.verifierEnabled = (window.location.search.includes('bold-od-verify-install') || window.sessionStorage.getItem('bold_od_verifier_started')) ?? false; 5428 window.BOLD.OD.settings = {feature_flags: [], shop_domain: '', widget_excluded_page_urls: [], widget_theme_style: null}; 5429 5430 window.BOLD.OD.settingsPromise = fetch(`/a/on-demand/shop/settings`) 5431 .then(response => response.json()) 5432 .then(data => { 5433 window.BOLD.OD.settings = data; 5434 if (typeof window.BOLD.OD.applyWidgetThemeStyle === 'function') { 5435 window.BOLD.OD.applyWidgetThemeStyle(data.widget_theme_style); 5436 } 5437 }); 5438 window.BOLD.OD.isFeatureFlagEnabled = featureName => { 5439 return window.BOLD.OD.settings.feature_flags?.includes(featureName); 5440 } 5441</script>
5441 5442 5443<!-- BEGIN app snippet: repete-utilities -->
5443<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/on-demand-authentication.js"></script>
vendor: 1 bytes, line 5443
5443
5444<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/on-demand-alert.js"></script>
vendor: 1 bytes, line 5444
5444
5445<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/on-demand-verify-install.js" defer></script>
vendor: 1 bytes, line 5445
5445
5446<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/on-demand-class-picker.js"></script>
5446 5447
5448<script> 5449 window.BOLD = window.BOLD || {}; 5450 window.BOLD.OD = window.BOLD.OD || {}; 5451 window.BOLD.OD.templates = window.BOLD.OD.templates || {}; 5452 window.BOLD.OD.templates.classPicker = `<!-- BEGIN app snippet: bold-on-demand-class-picker --><style> 5453on-demand-class-picker { 5454 #bold-on-demand-dialog-base { 5455 border-radius: 8px; 5456 background-color: #fff; 5457 border: none; 5458 width: 400px; 5459 box-shadow: 0px 0px 20px 5px #000A2833; 5460 5461 .bold-on-demand-card-header { 5462 padding: 10px; 5463 border-bottom: 1px solid #ccc; 5464 5465 /* Overridable rules: */ 5466 font-size: 16px; 5467 color: #000; 5468 text-align: center; 5469 5470 h3 { 5471 margin: 0; 5472 } 5473 } 5474 5475 .bold-on-demand-close-button { 5476 cursor: pointer; 5477 position: absolute; 5478 right: 10px; 5479 top: 10px; 5480 5481 /* Overridable rules: */ 5482 background: none; 5483 border: none; 5484 font-size: 1.5em; 5485 } 5486 5487 #bold-on-demand-body { 5488 display: flex; 5489 flex-direction: column; 5490 padding: 10px; 5491 gap: 2rem; 5492 5493 /* Overridable rules: */ 5494 justify-content: center; 5495 text-align: start; 5496 5497 .bold-od-card-message { 5498 font-size: 14px; 5499 display: flex; 5500 justify-content: center; 5501 margin: 0; 5502 } 5503 } 5504 5505 #bold-on-demand-footer { 5506 border-top: 1px solid #ccc; 5507 display: flex; 5508 5509 /* Overridable rules: */ 5510 justify-content: space-around; 5511 padding-top: 10px; 5512 } 5513 5514 .bold-od-secondary-button, 5515 .bold-od-primary-button { 5516 padding: 5px 10px; 5517 margin: 5px 0; 5518 border: none; 5519 border-radius: 4px; 5520 cursor: pointer; 5521 } 5522 5523 .bold-od-button-group { 5524 display: flex; 5525 flex-direction: row; 5526 align-items: center; 5527 gap: 1rem; 5528 5529 > * { 5530 font-size: 14px; 5531 } 5532 } 5533 5534 .bold-od-primary-button { 5535 padding: 6px 12px; 5536 color: #fff; 5537 background: #303030; 5538 border-radius: 8px; 5539 } 5540 5541 .bold-od-secondary-button { 5542 color: #333; 5543 padding: 6px 12px; 5544 background: #FFFFFF; 5545 box-shadow: inset 0px -1px 0px #B5B5B5, inset -1px 0px 0px #E3E3E3, inset 1px 0px 0px #E3E3E3, inset 0px 1px 0px #E3E3E3; 5546 border-radius: 8px; 5547 } 5548 5549 .selector-display-container { 5550 display: flex; 5551 padding: 10px; 5552 background: #80808024; 5553 } 5554 5555 #class-picker-selector-display { 5556 text-wrap: nowrap; 5557 overflow: scroll; 5558 font-size: 12px; 5559 align-items: center; 5560 flex-grow: 1; 5561 } 5562 5563 #copy-button { 5564 appearance: none; 5565 border: none; 5566 padding: 0; 5567 cursor: pointer; 5568 background: none; 5569 } 5570 } 5571} 5572</style> 5573 5574<dialog class="bold-on-demand-card" id="bold-on-demand-dialog-base"> 5575 <div class="bold-on-demand-card-header" id="bold-on-demand-header"> 5576 <h3 class="bold-od-card-title">Element class helper</h3> 5577 <button class="bold-on-demand-close-button" id="bold-on-demand-close-button">×</button> 5578 </div> 5579 <div class="bold-on-demand-card-body" id="bold-on-demand-body"> 5580 <h4 class="bold-od-card-message">If you aren't able to see the "Buy On Demand" button on your product page, click the button below, then click on your Add To Cart button.</h4> 5581 <div class="selector-display-container"> 5582 <code id="class-picker-selector-display"></code> 5583 </div> 5584 </div> 5585 <div class="bold-on-demand-footer" id="bold-on-demand-footer"> 5586 <div class="bold-od-button-group"> 5587 <button class="bold-od-primary-button">Start</button> 5588 </div> 5589 </div> 5590</dialog> 5591<!-- END app snippet -->`; 5592 window.BOLD.OD.templates.installVerifier = `<!-- BEGIN app snippet: on-demand-install-verifier --><style> 5593on-demand-verifier { 5594 #bold-on-demand-dialog-base { 5595 border-radius: 8px; 5596 background-color: #fff; 5597 border: none; 5598 width: 400px; 5599 box-shadow: 0px 0px 20px 5px #000A2833; 5600 5601 .bold-on-demand-card-header { 5602 padding: 10px; 5603 border-bottom: 1px solid #ccc; 5604 5605 /* Overridable rules: */ 5606 font-size: 16px; 5607 color: #000; 5608 text-align: center; 5609 5610 h3 { 5611 margin: 0; 5612 } 5613 } 5614 5615 .bold-on-demand-close-button { 5616 cursor: pointer; 5617 position: absolute; 5618 right: 10px; 5619 top: 10px; 5620 5621 /* Overridable rules: */ 5622 background: none; 5623 border: none; 5624 font-size: 1.5em; 5625 } 5626 5627 #bold-on-demand-body { 5628 display: flex; 5629 padding: 10px; 5630 justify-content: start; 5631 margin-left: 3rem; 5632 text-align: center; 5633 5634 .bold-od-card-message { 5635 font-size: 14px; 5636 display: flex; 5637 align-items: center; 5638 } 5639 } 5640 5641 #bold-on-demand-footer { 5642 border-top: 1px solid #ccc; 5643 display: flex; 5644 5645 /* Overridable rules: */ 5646 justify-content: space-around; 5647 padding-top: 10px; 5648 } 5649 5650 .bold-od-secondary-button, 5651 .bold-od-primary-button { 5652 padding: 5px 10px; 5653 margin: 5px 0; 5654 border: none; 5655 border-radius: 4px; 5656 cursor: pointer; 5657 } 5658 5659 .bold-od-button-group { 5660 display: flex; 5661 flex-direction: row; 5662 align-items: center; 5663 gap: 1rem; 5664 5665 > * { 5666 font-size: 14px; 5667 } 5668 } 5669 5670 .bold-od-primary-button { 5671 padding: 6px 12px; 5672 color: #fff; 5673 background: #303030; 5674 border-radius: 8px; 5675 } 5676 5677 .bold-od-secondary-button { 5678 color: #333; 5679 padding: 6px 12px; 5680 background: #FFFFFF; 5681 box-shadow: inset 0px -1px 0px #B5B5B5, inset -1px 0px 0px #E3E3E3, inset 1px 0px 0px #E3E3E3, inset 0px 1px 0px #E3E3E3; 5682 border-radius: 8px; 5683 } 5684 5685 #bold-od-verifier-checklist { 5686 list-style: none; 5687 padding: 0; 5688 text-align: start; 5689 display: flex; 5690 flex-direction: column; 5691 gap: 1rem; 5692 } 5693 5694 .bold-od-verifier-list-item { 5695 display: flex; 5696 align-items: center; 5697 gap: 2rem; 5698 } 5699 } 5700} 5701</style> 5702 5703<dialog class="bold-on-demand-card" id="bold-on-demand-dialog-base"> 5704 <div class="bold-on-demand-card-header" id="bold-on-demand-header"> 5705 <h3 class="bold-od-card-title">Verify Install</h3> 5706 <button class="bold-on-demand-close-button" id="bold-on-demand-close-button">×</button> 5707 </div> 5708 <div class="bold-on-demand-card-body" id="bold-on-demand-body"> 5709 <div> 5710 <div class="bold-od-card-message bold-on-demand-primary-text"> 5711 <ul id="bold-od-verifier-checklist"> 5712 </ul> 5713 </div> 5714 </div> 5715 </div> 5716 <div class="bold-on-demand-footer" id="bold-on-demand-footer"> 5717 <div class="bold-od-button-group"> 5718 <a href="/a/on-demand/contact_support" target="_blank"><button class="bold-od-secondary-button">Contact support</button></a> 5719 <button class="bold-od-primary-button">Mark complete!</button> 5720 </div> 5721 </div> 5722</dialog> 5723<!-- END app snippet -->`; 5724 window.BOLD.OD.templates.verifierPassItem = `<!-- BEGIN app snippet: on-demand-verifier-pass-item --><li class="bold-od-verifier-list-item"> 5725 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#014b40" height="24" width="24"><path fill-rule="evenodd" d="M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm5.996-12.986-7.093 7.093a1 1 0 0 1-1.414 0l-3.493-3.493A1 1 0 1 1 7.41 12.2l2.786 2.786L16.582 8.6a1 1 0 1 1 1.414 1.414Z" clip-rule="evenodd"></path></svg> 5726 <div class="bold-od-verifier-list-item-text">{text}</div> 5727</li> 5728<!-- END app snippet -->` 5729 window.BOLD.OD.templates.verifierFailItem = `<!-- BEGIN app snippet: on-demand-verifier-fail-item --><li class="bold-od-verifier-list-item"> 5730 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#8e0b21" height="24" width="24"><path fill-rule="evenodd" d="M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm4.996-14.586A1 1 0 0 0 15.582 7l-3.586 3.586L8.41 7a1 1 0 0 0-1.414 1.414L10.582 12l-3.586 3.586A1 1 0 0 0 8.41 17l3.586-3.586L15.582 17a1 1 0 0 0 1.414-1.414L13.41 12l3.586-3.586Z" clip-rule="evenodd"></path></svg> 5731 <div class="bold-od-verifier-list-item-text">{text}</div> 5732</li> 5733<!-- END app snippet -->` 5734 window.BOLD.OD.templates.verifierLoadingItem = `<!-- BEGIN app snippet: on-demand-verifier-loading-item --><style> 5735 on-demand-verifier { 5736 @keyframes bold-od-verifier-rotation { 5737 0% { 5738 transform: rotate(0deg); 5739 } 5740 100% { 5741 transform: rotate(360deg); 5742 } 5743 } 5744 5745 .bold-od-verifier-list-item .loader { 5746 width: 24px; 5747 height: 24px; 5748 border: 5px solid #014b40; 5749 border-bottom-color: transparent; 5750 border-radius: 50%; 5751 display: inline-block; 5752 box-sizing: border-box; 5753 animation: bold-od-verifier-rotation 1s linear infinite; 5754 } 5755 } 5756</style> 5757 5758<li class="bold-od-verifier-list-item"> 5759 <span class="loader"></span> 5760 <div class="bold-od-verifier-list-item-text">{text}</div> 5761</li> 5762<!-- END app snippet -->` 5763 window.BOLD.OD.templates.alert = `<!-- BEGIN app snippet: bold-on-demand-alert-widget --><style> 5764 on-demand-alert { 5765 #bold-on-demand-dialog-base { 5766 border-radius: 8px; 5767 background-color: #fff; 5768 border: none; 5769 width: 400px; 5770 box-shadow: 0px 0px 20px 5px #000A2833; 5771 5772 .bold-on-demand-card-header { 5773 padding: 10px; 5774 border-bottom: 1px solid #ccc; 5775 5776 /* Overridable rules: */ 5777 font-size: 16px; 5778 color: #000; 5779 text-align: center; 5780 5781 h3 { 5782 margin: 0; 5783 } 5784 } 5785 5786 .bold-on-demand-close-button { 5787 cursor: pointer; 5788 position: absolute; 5789 right: 10px; 5790 top: 10px; 5791 5792 /* Overridable rules: */ 5793 background: none; 5794 border: none; 5795 font-size: 1.5em; 5796 } 5797 5798 #bold-on-demand-body { 5799 display: flex; 5800 flex-direction: column; 5801 padding: 10px; 5802 gap: 2rem; 5803 5804 /* Overridable rules: */ 5805 justify-content: center; 5806 text-align: start; 5807 5808 .bold-od-card-message { 5809 font-size: 14px; 5810 display: flex; 5811 justify-content: center; 5812 margin: 0; 5813 } 5814 } 5815 5816 #bold-on-demand-footer { 5817 border-top: 1px solid #ccc; 5818 display: flex; 5819 5820 /* Overridable rules: */ 5821 justify-content: space-around; 5822 padding-top: 10px; 5823 } 5824 5825 .bold-od-secondary-button, 5826 .bold-od-primary-button { 5827 padding: 5px 10px; 5828 margin: 5px 0; 5829 border: none; 5830 border-radius: 4px; 5831 cursor: pointer; 5832 flex: 0; 5833 } 5834 5835 .bold-od-button-group { 5836 display: flex; 5837 flex-direction: row; 5838 align-items: center; 5839 gap: 1rem; 5840 flex-basis: 85%; 5841 5842 > * { 5843 font-size: 14px; 5844 } 5845 } 5846 5847 .bold-od-primary-button { 5848 padding: 6px 12px; 5849 color: #fff; 5850 background: #303030; 5851 border-radius: 8px; 5852 min-width: 125px; 5853 display: flex; 5854 justify-content: center; 5855 flex-basis: 40%; 5856 } 5857 5858 .bold-od-secondary-button { 5859 color: #333; 5860 padding: 6px 12px; 5861 background: #FFFFFF; 5862 box-shadow: inset 0px -1px 0px #B5B5B5, inset -1px 0px 0px #E3E3E3, inset 1px 0px 0px #E3E3E3, inset 0px 1px 0px #E3E3E3; 5863 border-radius: 8px; 5864 flex-basis: 50%; 5865 } 5866 } 5867 } 5868</style> 5869 5870<dialog class="bold-on-demand-card" id="bold-on-demand-dialog-base"> 5871 <div class="bold-on-demand-card-header" id="bold-on-demand-header"> 5872 <h3 class="bold-od-card-title">Alert</h3> 5873 <button class="bold-on-demand-close-button" id="bold-on-demand-close-button">×</button> 5874 </div> 5875 <div class="bold-on-demand-card-body" id="bold-on-demand-body"> 5876 <h4 class="bold-od-card-message"></h4> 5877 </div> 5878 <div class="bold-on-demand-footer" id="bold-on-demand-footer"> 5879 <div class="bold-od-button-group"> 5880 <button class="bold-od-secondary-button">Cancel</button> 5881 <button class="bold-od-primary-button">Submit</button> 5882 </div> 5883 </div> 5884</dialog> 5885<!-- END app snippet -->`; 5886</script>
5886 5887 5888<on-demand-class-picker></on-demand-class-picker> 5889<on-demand-verifier></on-demand-verifier> 5890<on-demand-alert></on-demand-alert> 5891<!-- END app snippet --> 5892<!-- BEGIN app snippet: repete-widget -->
5892<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/repete-widget-engine.js"></script>
vendor: 1 bytes, line 5892
5892
5893<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/repete-notification-engine.js"></script>
5893 5894 5895 5896 5897 5898
5899<script> 5900 window.BOLD = window.BOLD || {}; 5901 window.BOLD.OD = window.BOLD.OD || {}; 5902 window.BOLD.OD.templates = window.BOLD.OD.templates || {}; 5903 window.BOLD.Node = window.BOLD.Node || {}; 5904 5905 let logo = null; 5906 let cover = null; 5907 5908 5909 5910 5911 5912 window.BOLD.Node.brand = { 5913 short: null, 5914 slogan: null, 5915 logo: logo, 5916 cover: cover 5917 }; 5918 window.BOLD.Node.brandMetafield = null; 5919 5920 window.BOLD.OD.templates.productNotification = `<!-- BEGIN app snippet: on-demand-product-notification --><style> 5921 repete-widget, on-demand-product-notification { 5922 @keyframes button-loading-spinner { 5923 from { 5924 transform: rotate(0turn); 5925 } 5926 to { 5927 transform: rotate(1turn); 5928 } 5929 } 5930 5931 #bold-on-demand-dialog-base { 5932 overflow: hidden; 5933 position: fixed; 5934 margin: 0; 5935 justify-self: end; 5936 bottom: 0; 5937 padding: 0; 5938 z-index: 9999; 5939 5940 5941 5942 /* Overridable rules: */ 5943 font-family: var(--bold-od-widget-font-family); 5944 border-radius: 8px; 5945 background-color: var(--bold-od-widget-card-bg); 5946 border: none; 5947 width: 400px; 5948 box-shadow: 0px 0px 20px 5px #000A2833; 5949 5950 &.bold-on-demand-center-x { 5951 left: 50%; 5952 margin-right: auto; 5953 transform: translateX(-50%); 5954 } 5955 5956 &.bold-on-demand-center-y { 5957 top: 50%; 5958 transform: translateY(-50%); 5959 } 5960 5961 &.bold-on-demand-center-x.bold-on-demand-center-y, 5962 &.bold-on-demand-center-y.bold-on-demand-center-x { 5963 transform: translate(-50%, -20%); 5964 } 5965 5966 &.bold-on-demand-left { 5967 left: 100px; 5968 right: unset; 5969 } 5970 5971 &.bold-on-demand-right { 5972 right: 75px; 5973 } 5974 5975 &.bold-on-demand-top { 5976 top: 75px; 5977 } 5978 5979 &.bold-on-demand-bottom { 5980 bottom: 100px; 5981 margin-bottom: 0; 5982 } 5983 5984 &.no-button { 5985 &.bold-on-demand-left { 5986 left: 20px; 5987 right: unset; 5988 } 5989 5990 &.bold-on-demand-right { 5991 right: 20px; 5992 } 5993 5994 &.bold-on-demand-top { 5995 top: 20px; 5996 } 5997 5998 &.bold-on-demand-bottom { 5999 bottom: 20px; 6000 } 6001 } 6002 6003 .bold-on-demand-card-header { 6004 padding: 10px; 6005 border-bottom: 1px solid #ccc; 6006 6007 /* Overridable rules: */ 6008 font-size: 16px; 6009 color: var(--bold-od-widget-font-color); 6010 text-align: center; 6011 6012 h3 { 6013 margin: 0; 6014 } 6015 } 6016 6017 .bold-on-demand-settings-button { 6018 outline: none; 6019 cursor: pointer; 6020 position: absolute; 6021 left: 10px; 6022 top: 10px; 6023 } 6024 6025 .bold-on-demand-close-button { 6026 cursor: pointer; 6027 position: absolute; 6028 right: 10px; 6029 top: 10px; 6030 6031 /* Overridable rules: */ 6032 background: none; 6033 border: none; 6034 font-size: 1.5em; 6035 } 6036 6037 #bold-on-demand-body { 6038 display: flex; 6039 padding: 10px; 6040 gap: 2rem; 6041 6042 /* Overridable rules: */ 6043 justify-content: center; 6044 text-align: start; 6045 6046 .bold-od-card-message { 6047 font-size: 14px; 6048 display: flex; 6049 align-items: center; 6050 color: var(--bold-od-widget-font-color); 6051 } 6052 } 6053 6054 #bold-on-demand-footer { 6055 border-top: 1px solid #ccc; 6056 display: flex; 6057 6058 /* Overridable rules: */ 6059 padding: 10px; 6060 justify-content: space-around; 6061 } 6062 6063 .bold-od-secondary-button, 6064 .bold-od-primary-button { 6065 padding: 5px 10px; 6066 margin: 5px 0; 6067 border: none; 6068 border-radius: 4px; 6069 cursor: pointer; 6070 flex: 0; 6071 flex-grow: 1; 6072 } 6073 6074 #bold-od-reorder-delay[disabled] { 6075 display: none; 6076 } 6077 6078 .bold-od-button-group { 6079 display: flex; 6080 flex-direction: row; 6081 align-items: center; 6082 gap: 1rem; 6083 flex-basis: 85%; 6084 6085 > * { 6086 font-size: 14px; 6087 } 6088 } 6089 6090 .bold-od-primary-button { 6091 padding: 6px 12px; 6092 color: var(--bold-od-widget-primary-fg); 6093 background: var(--bold-od-widget-primary-bg); 6094 border-radius: var(--bold-od-widget-button-radius); 6095 min-width: 125px; 6096 display: flex; 6097 justify-content: center; 6098 flex-basis: 40%; 6099 } 6100 6101 .bold-od-secondary-button { 6102 color: var(--bold-od-widget-secondary-fg); 6103 padding: 6px 12px; 6104 background: var(--bold-od-widget-secondary-bg); 6105 box-shadow: inset 0px -1px 0px #B5B5B5, inset -1px 0px 0px #E3E3E3, inset 1px 0px 0px #E3E3E3, inset 0px 1px 0px #E3E3E3; 6106 border-radius: var(--bold-od-widget-button-radius); 6107 flex-basis: 50%; 6108 } 6109 6110 .button--loading .button__text { 6111 display: none; 6112 } 6113 6114 .button--loading::after { 6115 content: ""; 6116 width: 8px; 6117 height: 8px; 6118 border: 4px solid transparent; 6119 border-top-color: var(--bold-od-widget-primary-fg); 6120 border-radius: 50%; 6121 animation: button-loading-spinner 1s ease infinite; 6122 } 6123 6124 .bold-od-product-display { 6125 display: flex; 6126 margin: 0; 6127 font-size: 12px; 6128 width: 100%; 6129 justify-content: center; 6130 align-items: center; 6131 gap: 1rem; 6132 } 6133 6134 .bold-od-product-image { 6135 width: 60px; 6136 height: 60px; 6137 margin-right: 10px; 6138 } 6139 6140 .bold-od-product-details { 6141 display: flex; 6142 flex-direction: column; 6143 justify-content: center; 6144 flex-basis: 60%; 6145 6146 p { 6147 margin: 0; 6148 } 6149 } 6150 6151 .bold-od-product-title { 6152 font-weight: bold; 6153 color: var(--bold-od-widget-font-color); 6154 } 6155 6156 .bold-od-price { 6157 display: flex; 6158 } 6159 6160 .bold-od-before-price { 6161 color: #888; 6162 text-decoration: line-through; 6163 padding-right: 5px; 6164 } 6165 6166 .bold-od-last-ordered { 6167 font-size: 0.9em; 6168 color: #aaa; 6169 } 6170 6171 .bold-od-schedule-pagination { 6172 display: flex; 6173 6174 .bold-od-page-button { 6175 appearance: none; 6176 background: none; 6177 border: none; 6178 cursor: pointer; 6179 6180 &:disabled { 6181 cursor: auto; 6182 } 6183 } 6184 } 6185 6186 @media screen and (max-width: 500px) { 6187 max-width: 100vw; 6188 margin: 0; 6189 bottom: 0; 6190 top: unset; 6191 border-radius: 0; 6192 } 6193 } 6194 } 6195</style> 6196 6197<dialog class="bold-on-demand-card no-button bold-on-demand-bottom bold-on-demand-right" id="bold-on-demand-dialog-base"> 6198 <div class="bold-on-demand-card-header" id="bold-on-demand-header"> 6199 <a href="/a/on-demand/contracts" class="bold-on-demand-settings-button" aria-label="Settings"> 6200 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" height="16" width="16"><title>Settings</title><path fill-rule="evenodd" d="M8 12a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm6 0a2 2 0 1 1-4 0 2 2
62000 0 1 4 0Z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M20.801 12c0-.41-.033-.818-.1-1.221l1.4-.802a.944.944 0 0 0 .455-1.076 10.926 10.926 0 0 0-2.598-4.5.944.944 0 0 0-1.154-.148l-1.403.804a8.804 8.804 0 0 0-2.102-1.21v-1.61a.944.944 0 0 0-.707-.93 11.003 11.003 0 0 0-5.188 0 .944.944 0 0 0-.707.93v1.61a8.802 8.802 0 0 0-2.101 1.21l-1.391-.801a.944.944 0 0 0-1.157.146A10.926 10.926 0 0 0 1.452 8.9c-.122.42.076.86.455 1.076l1.399.802A8.53 8.53 0 0 0 3.196 12c.003.409.037.817.099 1.221l-1.399.802a.944.944 0 0 0-.455 1.076 10.926 10.926 0 0 0 2.596 4.5.944.944 0 0 0 1.157.145l1.39-.801a8.8 8.8 0 0 0 2.113 1.21v1.61c0 .437.283.828.707.93 1.705.414 3.484.414 5.188 0a.944.944 0 0 0 .707-.93v-1.61a8.805 8.805 0 0 0 2.102-1.21l1.39.801a.944.944 0 0 0 1.158-.146 10.927 10.927 0 0 0 2.596-4.499.944.944 0 0 0-.456-1.076l-1.398-.802c.07-.403.107-.812.11-1.221ZM12 6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" clip-rule="evenodd"></path></svg> 6201 </a> 6202 <h3 class="bold-od-card-title"></h3> 6203 <button class="bold-on-demand-close-button" id="bold-on-demand-close-button">×</button> 6204 </div> 6205 <div class="bold-on-demand-card-body" id="bold-on-demand-body"> 6206 <div class="bold-od-product-display"> 6207 <img src="" alt="Product Image" class="bold-od-product-image"> 6208 <div class="bold-od-product-details"> 6209 <p class="bold-od-product-title"></p> 6210 <p class="bold-od-variant-title"></p> 6211 <div class="bold-od-price"> 6212 <p class="bold-od-before-price"></p> 6213 <p class="bold-od-current-price"></p> 6214 </div> 6215 <p class="bold-od-product-last-ordered"></p> 6216 </div> 6217 </div> 6218 </div> 6219 <div class="bold-on-demand-footer" id="bold-on-demand-footer"> 6220 <div class="bold-od-button-group"> 6221 <button class="bold-od-secondary-button" id="bold-od-reorder-delay">Remind me in 7 days</button> 6222 <button class="bold-od-primary-button bold-od-icon-button" id="bold-od-reorder-confirm"> 6223 <span class="button__text"> 6224 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" height="12" width="12"><path d="M7.32 5.535A7 7 0 0 1 17 12v1.586L15.414 12A1 1 0 1 0 14 13.414l3.293 3.293a1 1 0 0 0 1.414 0L22 13.414A1 1 0 0 0 20.586 12L19 13.586V12a9 9 0 1 0-5.392 8.247c.506-.221.668-.839.392-1.317s-.886-.635-1.399-.43a7 7 0 0 1-5.28-12.965Z"></path><path d="M11 7a1 1 0 1 0-2 0v5.414l2.293 2.293a1 1 0 0 0 1.414-1.414L11 11.586V7Z"></path></svg> 6225 Reorder Now 6226 </span> 6227 </button> 6228 </div> 6229 <div class="bold-od-schedule-pagination"> 6230 <button class="bold-od-page-button" id="bold-od-prev-button">â¹</button> 6231 <button class="bold-od-page-button" id="bold-od-next-button">âº</button> 6232 </div> 6233 </div> 6234</dialog> 6235<!-- END app snippet -->`; 6236 window.BOLD.OD.templates.emptyProductNotification = `<!-- BEGIN app snippet: on-demand-empty-product-notification --><style> 6237 repete-empty-widget, on-demand-empty-product-notification { 6238 @keyframes button-loading-spinner { 6239 from { 6240 transform: rotate(0turn); 6241 } 6242 to { 6243 transform: rotate(1turn); 6244 } 6245 } 6246 6247 @keyframes shake { 6248 0% { 6249 transform: rotate(0deg); 6250 } 6251 25% { 6252 transform: rotate(1deg); 6253 } 6254 75% { 6255 transform: rotate(-1deg); 6256 } 6257 100% { 6258 transform: rotate(0deg); 6259 } 6260 } 6261 6262 #bold-on-demand-dialog-base { 6263 overflow: hidden; 6264 position: fixed; 6265 margin: 0 30px 110px 0; 6266 justify-self: end; 6267 bottom: 0; 6268 padding: 0; 6269 z-index: 9999; 6270 6271 /* Overridable rules: */ 6272 font-family: var(--bold-od-widget-font-family); 6273 border-radius: 8px; 6274 background-color: var(--bold-od-widget-card-bg); 6275 border: none; 6276 width: 400px; 6277 box-shadow: 0px 0px 20px 5px #000A2833; 6278 6279 &.bold-on-demand-center-x { 6280 left: 50%; 6281 margin-right: auto; 6282 transform: translateX(-50%); 6283 } 6284 6285 &.bold-on-demand-center-y { 6286 top: 50%; 6287 transform: translateY(-50%); 6288 } 6289 6290 &.bold-on-demand-center-x.bold-on-demand-center-y, 6291 &.bold-on-demand-center-y.bold-on-demand-center-x { 6292 transform: translate(-50%, -20%); 6293 } 6294 6295 &.bold-on-demand-left { 6296 left: 100px; 6297 margin-right: auto; 6298 } 6299 6300 &.bold-on-demand-right { 6301 right: 75px; 6302 } 6303 6304 &.bold-on-demand-top { 6305 top: 75px; 6306 } 6307 6308 &.bold-on-demand-bottom { 6309 bottom: 100px; 6310 margin-bottom: 0; 6311 } 6312 6313 .bold-on-demand-card-header { 6314 padding: 10px; 6315 border-bottom: 1px solid #ccc; 6316 6317 /* Overridable rules: */ 6318 font-size: 16px; 6319 color: var(--bold-od-widget-font-color); 6320 text-align: center; 6321 6322 h3 { 6323 margin: 0; 6324 } 6325 } 6326 6327 .bold-on-demand-settings-button { 6328 outline: none; 6329 cursor: pointer; 6330 position: absolute; 6331 left: 10px; 6332 top: 10px; 6333 } 6334 6335 .bold-on-demand-close-button { 6336 cursor: pointer; 6337 position: absolute; 6338 right: 10px; 6339 top: 10px; 6340 6341 /* Overridable rules: */ 6342 background: none; 6343 border: none; 6344 font-size: 1.5em; 6345 } 6346 6347 #bold-on-demand-body { 6348 display: flex; 6349 padding: 10px; 6350 gap: 2rem; 6351 6352 /* Overridable rules: */ 6353 justify-content: center; 6354 text-align: start; 6355 6356 .bold-od-card-message { 6357 font-size: 14px; 6358 display: flex; 6359 align-items: center; 6360 color: var(--bold-od-widget-font-color); 6361 } 6362 } 6363 6364 .bold-od-button-group > * { 6365 font-size: 14px; 6366 } 6367 6368 @media screen and (max-width: 500px) { 6369 max-width: 100vw; 6370 margin: 0; 6371 bottom: 0; 6372 top: unset; 6373 border-radius: 0; 6374 } 6375 } 6376 } 6377</style> 6378 6379<dialog class="bold-on-demand-card bold-on-demand-bottom bold-on-demand-right" id="bold-on-demand-dialog-base"> 6380 <div class="bold-on-demand-card-header" id="bold-on-demand-header"> 6381 <a href="/a/on-demand/contracts" class="bold-on-demand-settings-button" aria-label="Settings"> 6382 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000" height="18" width="18"><title>Settings</title><path fill-rule="evenodd" d="M8 12a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm6 0a2 2 0 1 1-4 0 2 2
63820 0 1 4 0Z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M20.801 12c0-.41-.033-.818-.1-1.221l1.4-.802a.944.944 0 0 0 .455-1.076 10.926 10.926 0 0 0-2.598-4.5.944.944 0 0 0-1.154-.148l-1.403.804a8.804 8.804 0 0 0-2.102-1.21v-1.61a.944.944 0 0 0-.707-.93 11.003 11.003 0 0 0-5.188 0 .944.944 0 0 0-.707.93v1.61a8.802 8.802 0 0 0-2.101 1.21l-1.391-.801a.944.944 0 0 0-1.157.146A10.926 10.926 0 0 0 1.452 8.9c-.122.42.076.86.455 1.076l1.399.802A8.53 8.53 0 0 0 3.196 12c.003.409.037.817.099 1.221l-1.399.802a.944.944 0 0 0-.455 1.076 10.926 10.926 0 0 0 2.596 4.5.944.944 0 0 0 1.157.145l1.39-.801a8.8 8.8 0 0 0 2.113 1.21v1.61c0 .437.283.828.707.93 1.705.414 3.484.414 5.188 0a.944.944 0 0 0 .707-.93v-1.61a8.805 8.805 0 0 0 2.102-1.21l1.39.801a.944.944 0 0 0 1.158-.146 10.927 10.927 0 0 0 2.596-4.499.944.944 0 0 0-.456-1.076l-1.398-.802c.07-.403.107-.812.11-1.221ZM12 6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" clip-rule="evenodd"></path></svg> 6383 </a> 6384 <h3 class="bold-od-card-title">No rePete Products</h3> 6385 <button class="bold-on-demand-close-button" id="bold-on-demand-close-button">×</button> 6386 </div> 6387 <div class="bold-on-demand-card-body" id="bold-on-demand-body"> 6388 <div class="bold-od-card-message">Buy products with rePete to see them here</div> 6389 </div> 6390</dialog> 6391<!-- END app snippet -->`; 6392 window.BOLD.OD.templates.openModalButton = `<!-- BEGIN app snippet: on-demand-open-modal-button --><style> 6393 on-demand-open-button, repete-widget-button { 6394 #modal-open-button { 6395 position: fixed; 6396 appearance: none; 6397 background: none; 6398 border: none; 6399 cursor: pointer; 6400 6401 z-index: 999; 6402 } 6403 6404 #modal-open-button.bold-on-demand-center-x { 6405 left: 50%; 6406 transform: translateX(-50%); 6407 } 6408 6409 #modal-open-button.bold-on-demand-center-y { 6410 bottom: 50%; 6411 transform: translateY(50%); 6412 } 6413 6414 #modal-open-button.bold-on-demand-center-x.bold-on-demand-center-y, 6415 #modal-open-button.bold-on-demand-center-y.bold-on-demand-center-x { 6416 transform: translate(-50%, -50%); 6417 } 6418 6419 #modal-open-button.bold-on-demand-left { 6420 left: 10px; 6421 } 6422 6423 #modal-open-button.bold-on-demand-right { 6424 right: 10px; 6425 } 6426 6427 #modal-open-button.bold-on-demand-top { 6428 top: 10px; 6429 } 6430 6431 #modal-open-button.bold-on-demand-bottom { 6432 bottom: 10px; 6433 } 6434 6435 #modal-open-button.bold-hidden { 6436 display: none; 6437 } 6438 } 6439</style> 6440 6441 6442 6443<button id="modal-open-button" class="bold-hidden bold-on-demand-bottom bold-on-demand-right" aria-label="Open customer widget"> 6444 <svg width="80" height="81" viewBox="0 0 80 81" fill="none" xmlns="http://www.w3.org/2000/svg"> 6445 <circle cx="38.5" cy="38.5" r="38.5" fill="#E60046"/> 6446 <ellipse cx="40" cy="40.5" rx="40" ry="40.5" fill="#E60046" fill-opacity="0.2"/> 6447 <circle cx="38.5" cy="38.5" r="27.5" fill="#C70D46"/> 6448 <path d="M38.4458 42.4372C41.2877 42.4372 43.9346 41.3087 45.8993 39.2619C46.4482 38.6925 46.4328 37.7845 45.8634 37.2305C45.294 36.6816 44.386 36.697 43.832 37.2664C42.4111 38.7438 40.4977 39.5645 38.4458 39.5645C36.3939 39.5645 34.4804 38.7489 33.0595 37.2664C32.5106 36.697 31.5975 36.6765 31.0281 37.2305C30.4587 37.7794 30.4382 38.6925 30.9922 39.2619C32.9569 41.3087 35.609 42.4372 38.4458 42.4372Z" fill="white"/> 6449 <path d="M32.0231 34.2606C32.9693 34.2606 33.7364 33.3259 33.7364 32.1728C33.7364 31.0197 32.9693 30.085 32.0231 30.085C31.0768 30.085 30.3097 31.0197 30.3097 32.1728C30.3097 33.3259 31.0768 34.2606 32.0231 34.2606Z" fill="white"/> 6450 <path d="M44.8629 34.2606C45.8092 34.2606 46.5763 33.3259 46.5763 32.1728C46.5763 31.0197 45.8092 30.085 44.8629 30.085C43.9167 30.085 43.1496 31.0197 43.149
64506 32.1728C43.1496 33.3259 43.9167 34.2606 44.8629 34.2606Z" fill="white"/> 6451 <path d="M45.3193 56.5547C49.1359 55.144 52.4036 52.6355 54.7632 49.3063C57.1794 45.9001 58.4567 41.8784 58.4567 37.6873C58.4567 26.6019 49.4385 17.5735 38.3428 17.5735V17.5632C27.2523 17.5632 18.229 26.5865 18.229 37.6771C18.229 43.5558 20.7528 49.0447 25.1798 52.8817L23.3844 54.6772C22.9227 55.1388 22.7791 55.8365 23.0356 56.4418C23.287 57.0471 23.8717 57.4421 24.5335 57.4421H34.7623C35.5984 57.4421 36.2961 56.8163 36.373 55.9801C36.4551 55.1491 35.896 54.395 35.0701 54.236C27.1856 52.6919 21.4608 45.7257 21.4608 37.6771C21.4608 28.3768 29.0323 20.8104 38.3326 20.8104C47.6329 20.8104 55.2044 28.3819 55.2044 37.6771C55.2044 41.1961 54.1323 44.5612 52.106 47.4237C50.1259 50.2245 47.3815 52.3226 44.1805 53.5127" fill="white"/> 6452 <path d="M48.3564 59.6377C48.1666 59.6377 47.9717 59.6018 47.7819 59.5249L42.2776 57.3191C41.898 57.1652 41.5902 56.8677 41.4312 56.4932C41.2722 56.1187 41.2671 55.6878 41.4158 55.3082L43.6216 49.804C43.9397 49.0089 44.8374 48.6241 45.6325 48.9422C46.4276 49.2602 46.8124 50.1579 46.4943 50.953L44.8682 55.021L48.9361 56.6471C49.7312 56.9651 50.1159 57.8628 49.7979 58.658C49.5568 59.2633 48.9771 59.6326 48.3616 59.6326L48.3564 59.6377Z" fill="white"/> 6453 </svg> 6454</button> 6455<!-- END app snippet -->`; 6456 window.BOLD.OD.templates.notificationSuccess = `<!-- BEGIN app snippet: on-demand-notification-success --><style> 6457repete-notification-modal { 6458 #bold-on-demand-dialog-base { 6459 overflow: hidden; 6460 position: fixed; 6461 margin: 0px 40px 120px 0px; 6462 justify-self: end; 6463 bottom: 0; 6464 padding: 0; 6465 6466 /* Overridable rules: */ 6467 border-radius: 8px; 6468 background-color: #fff; 6469 border: none; 6470 width: 400px; 6471 box-shadow: 0px 0px 20px 5px #000A2833; 6472 z-index: 9999; 6473 6474 &.bold-on-demand-center-x { 6475 left: 50%; 6476 margin-right: auto; 6477 transform: translateX(-50%); 6478 } 6479 6480 &.bold-on-demand-center-y { 6481 top: 50%; 6482 transform: translateY(-50%); 6483 } 6484 6485 &.bold-on-demand-center-x.bold-on-demand-center-y, 6486 &.bold-on-demand-center-y.bold-on-demand-center-x { 6487 transform: translate(-50%, -20%); 6488 } 6489 6490 &.bold-on-demand-left { 6491 left: 100px; 6492 margin-right: auto; 6493 } 6494 6495 &.bold-on-demand-right { 6496 right: 75px; 6497 } 6498 6499 &.bold-on-demand-top { 6500 top: 75px; 6501 } 6502 6503 &.bold-on-demand-bottom { 6504 bottom: 100px; 6505 margin-bottom: 0; 6506 } 6507 6508 .bold-on-demand-card-header { 6509 padding: 10px; 6510 border-bottom: 1px solid #ccc; 6511 6512 /* Overridable rules: */ 6513 font-size: 16px; 6514 color: #000; 6515 text-align: center; 6516 6517 h3 { 6518 margin: 0; 6519 } 6520 } 6521 6522 .bold-on-demand-close-button { 6523 cursor: pointer; 6524 position: absolute; 6525 right: 10px; 6526 top: 10px; 6527 6528 /* Overridable rules: */ 6529 background: none; 6530 border: none; 6531 font-size: 1.5em; 6532 } 6533 6534 #bold-on-demand-body { 6535 display: flex; 6536 padding: 10px; 6537 6538 /* Overridable rules: */ 6539 justify-content: center; 6540 text-align: center; 6541 6542 .bold-od-card-message { 6543 font-size: 14px; 6544 display: flex; 6545 align-items: center; 6546 } 6547 } 6548 6549 #bold-on-demand-footer { 6550 border-top: 1px solid #ccc; 6551 display: flex; 6552 6553 /* Overridable rules: */ 6554 justify-content: space-around; 6555 padding: 10px; 6556 } 6557 6558 @media screen and (max-width: 500px) { 6559 max-width: 100vw; 6560 margin: 0; 6561 bottom: 0; 6562 top: unset; 6563 border-radius: 0; 6564 } 6565 } 6566} 6567</style> 6568 6569<dialog class="bold-on-demand-card bold-on-demand-bottom bold-on-demand-right" id="bold-on-demand-dialog-base"> 6570 <div class="bold-on-demand-card-header" id="bold-on-demand-header"> 6571 <h3 class="bold-od-card-title"></h3> 6572 <button class="bold-on-demand-close-button" id="bold-on-demand-close-button">×</button> 6573 </div> 6574 <div class="bold-on-demand-card-body" id="bold-on-demand-body"> 6575 <div> 6576 <div class="bold-od-card-message bold-on-demand-primary-text"></div> 6577 </div> 6578 </div> 6579 <div class="bold-on-demand-footer" id="bold-on-demand-footer"> 6580 </div> 6581</dialog> 6582<!-- END app snippet -->`; 6583 6584 window.BOLD.OD.translations = { 6585 general: { 6586 settings: "Settings", 6587 cancel: "Cancel", 6588 success: "Success!", 6589 error: "There was an error", 6590 last_ordered: "Last Ordered:" 6591 }, 6592 widget: { 6593 recent_orders_title: "Your recent orders", 6594 due_reorder_title: "Time for a Reorder?", 6595 remind_me: "Remind me in 7 days", 6596 reorder_now: "Reorder Now", 6597 no_products_title: "No rePete Products", 6598 no_products_message: "Buy products with rePete to see them here", 6599 open_widget: "Open customer widget" 6600 }, 6601 reorder: { 6602 details_title: "Reorder Details", 6603 product_details: "Product Details", 6604 shipping_address: "Shipping Address", 6605 success_message: "Congrats! Your Reorder was successful!", 6606 error_message: "Reorder unsuccessful!", 6607 view_order_details: "Click the link below to view your Order details", 6608 status: { 6609 active: "Active", 6610 cancelled: "Cancelled", 6611 sold_out: "Sold out" 6612 } 6613 }, 6614 notifications: { 6615 skip: { 6616 title: "Not this time?", 6617 message: "Message received! You won\u0026#39;t hear about this until your next scheduled delivery." 6618 }, 6619 delay: { 6620 title: "Thanks for Your Feedback!", 6621 message: "Thanks for letting us know! We wonât reorder just yet, but weâll send you a reminder in 7 days in case you decide to move forward. No pressureâjust a friendly follow-up!" 6622 }, 6623 stop: { 6624 title: "We\u0026#39;ll miss you!", 6625 message: "We\u0026#39;ll stop sending you notifications for this product." 6626 } 6627 }, 6628 buy_button: { 6629 purchase_with: "Purchase with", 6630 aria_label: "Purchase with rePete" 6631 }, 6632 verifier: { 6633 variables_present: "Expected variables present", 6634 buy_button_present: "Buy button present", 6635 buy_button_works: "Buy button works", 6636 product_notification_present: "Product notification present", 6637 notification_actions_work: "Customer notification actions work" 6638 } 6639 }; 6640</script>
6640 6641 6642<repete-widget></repete-widget> 6643<repete-empty-widget></repete-empty-widget> 6644<repete-widget-button></repete-widget-button> 6645<repete-notification-modal></repete-notification-modal> 6646
6647<script> 6648 new RepeteWidgetEngine(); 6649</script>
6649 6650<!-- END app snippet --> 6651<!-- BEGIN app snippet: repete-reorders -->
6651<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/repete-reorder-engine.js"></script>
6651 6652
6653<script> 6654 window.BOLD = window.BOLD || {}; 6655 window.BOLD.OD = window.BOLD.OD || {}; 6656 window.BOLD.OD.templates = window.BOLD.OD.templates || {}; 6657 window.BOLD.OD.templates.reorderWidget = `<!-- BEGIN app snippet: bold-on-demand-reorder-widget --><style> 6658 repete-reorder-modal { 6659 @keyframes button-loading-spinner { 6660 from { 6661 transform: rotate(0turn); 6662 } 6663 to { 6664 transform: rotate(1turn); 6665 } 6666 } 6667 6668 #confirmation-modal { 6669 width: 700px; 6670 border-radius: 10px; 6671 box-shadow: 0px 0px 20px 5px #000A2833; 6672 overflow: hidden; 6673 position: fixed; 6674 align-self: center; 6675 justify-self: center; 6676 background-color: var(--bold-od-widget-card-bg); 6677 z-index: 1000; 6678 border: none; 6679 6680 h2 { 6681 margin: 0; 6682 font-family: var(--bold-od-widget-font-family); 6683 font-weight: 500; 6684 font-size: 18px; 6685 color: var(--bold-od-widget-font-color); 6686 } 6687 6688 h3 { 6689 margin: 0; 6690 font-size: 16px; 6691 font-family: var(--bold-od-widget-font-family); 6692 font-weight: 500; 6693 color: var(--bold-od-widget-font-color); 6694 } 6695 6696 .bold-od-modal-header { 6697 display: flex; 6698 justify-content: space-between; 6699 align-items: center; 6700 padding: 0 10px 10px 10px; 6701 border-bottom: 1px solid #ccc; 6702 } 6703 6704 .bold-od-close-button { 6705 background: none; 6706 border: none; 6707 font-size: 1.5em; 6708 cursor: pointer; 6709 } 6710 6711 .bold-od-modal-body { 6712 display: flex; 6713 justify-content: space-between; 6714 padding: 30px 10px; 6715 } 6716 6717 .bold-od-details-header { 6718 display: flex; 6719 justify-content: space-between; 6720 align-items: center; 6721 margin-bottom: 10px; 6722 } 6723 6724 .bold-od-details { 6725 flex-basis: 45%; 6726 } 6727 6728 .bold-od-details-group { 6729 display: flex; 6730 6731 &.row { 6732 flex-direction: row; 6733 align-items: center; 6734 } 6735 6736 &.column { 6737 flex-direction: column; 6738 justify-content: center; 6739 } 6740 } 6741 6742 .bold-od-product-image { 6743 width: 50px; 6744 height: 50px; 6745 margin-right: 10px; 6746 border-radius: 10px; 6747 } 6748 6749 .bold-od-main-detail, 6750 .bold-od-sub-detail { 6751 font-weight: 600; 6752 font-size: 14px; 6753 margin: 0; 6754 } 6755 6756 .bold-od-main-detail { 6757 font-weight: bold; 6758 } 6759 6760 .bold-od-sub-detail { 6761 color: #888; 6762 } 6763 6764 .bold-od-modal-footer { 6765 display: flex; 6766 justify-content: flex-end; 6767 padding: 10px 10px 0px 10px; 6768 border-top: 1px solid #ccc; 6769 } 6770 6771 .bold-od-secondary-button, 6772 .bold-od-primary-button { 6773 padding: 5px 10px; 6774 margin: 5px 0; 6775 border: none; 6776 border-radius: 4px; 6777 cursor: pointer; 6778 6779 &:disabled { 6780 opacity: 0.3; 6781 cursor: unset; 6782 } 6783 } 6784 6785 .bold-od-button-group { 6786 display: flex; 6787 flex-direction: row; 6788 align-items: center; 6789 gap: 1rem; 6790 width: 250px; 6791 justify-content: end; 6792 6793 > * { 6794 font-size: 14px; 6795 } 6796 } 6797 6798 .bold-od-primary-button { 6799 display: flex; 6800 flex-direction: row; 6801 justify-content: center; 6802 align-items: center; 6803 padding: 6px 12px; 6804 gap: 2px; 6805 isolation: isolate; 6806 color: var(--bold-od-widget-primary-fg); 6807 background: var(--bold-od-widget-primary-bg); 6808 border-radius: var(--bold-od-widget-button-radius); 6809 flex-basis: 60%; 6810 } 6811 6812 .bold-od-secondary-button { 6813 color: var(--bold-od-widget-secondary-fg); 6814 padding: 6px 12px; 6815 background: var(--bold-od-widget-secondary-bg); 6816 box-shadow: inset 0px -1px 0px #B5B5B5, inset -1px 0px 0px #E3E3E3, inset 1px 0px 0px #E3E3E3, inset 0px 1px 0px #E3E3E3; 6817 border-radius: var(--bold-od-widget-button-radius); 6818 flex-basis: 30%; 6819 } 6820 6821 .button--loading .button__text { 6822 display: none; 6823 } 6824 6825 .button--loading::after { 6826 content: ""; 6827 width: 8px; 6828 height: 8px; 6829 border: 4px solid transparent; 6830 border-top-color: var(--bold-od-widget-primary-fg); 6831 border-radius: 50%; 6832 animation: button-loading-spinner 1s ease infinite; 6833 } 6834 6835 #bold-od-inactive-contract-disclaimer { 6836 text-align: center; 6837 padding: 1rem; 6838 margin: 1rem; 6839 background-color: #fed1d7; 6840 color: #8e0b21; 6841 } 6842 6843 .bold-od-modal-header-text { 6844 display: flex; 6845 gap: 1rem; 6846 } 6847 6848 #bold-od-status-pill { 6849 border-radius: 8px; 6850 padding: 6px 12px; 6851 font-size: 12px; 6852 align-self: center; 6853 font-weight: 600; 6854 line-height: 8px; 6855 6856 &.cancelled { 6857 background-color: #fed1d7; 6858 color: #8e0b21; 6859 } 6860 6861 &.active { 6862 background-color: #affebf; 6863 color: #014b40; 6864 } 6865 } 6866 6867 .bold-od-price { 6868 display: flex; 6869 } 6870 6871 .bold-od-before-price { 6872 color: #888; 6873 text-decoration: line-through; 6874 padding-right: 5px; 6875 } 6876 6877 @media screen and (max-width:500px) { 6878 max-width: 100vw; 6879 padding: 2rem 0; 6880 top: unset; 6881 border-radius: 0; 6882 6883 .bold-od-modal-footer { 6884 justify-content: center; 6885 } 6886 } 6887 } 6888 } 6889</style> 6890 6891<dialog class="bold-od-modal" id="confirmation-modal"> 6892 <div class="bold-od-modal-header"> 6893 <div class="bold-od-modal-header-text"> 6894 <h2>Reorder Details</h2> 6895 <div id="bold-od-status-pill">Cancelled</div> 6896 </div> 6897 <button class="bold-od-close-button" id="bold-od-reorder-close">×</button> 6898 </div> 6899 <div class="bold-od-modal-body"> 6900 <div class="bold-od-details"> 6901 <header class="bold-od-details-header"> 6902 <h3>Product Details</h3> 6903 </header> 6904 <aside class="bold-od-details-group row"> 6905 <img src="" alt="" class="bold-od-product-image" height="50" width="50"> 6906 <div> 6907 <p class="bold-od-product-title bold-od-main-detail"></p>
6908 <span> 6909 <p class="bold-od-variant-name bold-od-sub-detail"></p> 6910 <div class="bold-od-price bold-od-sub-detail"> 6911 <p class="bold-od-before-price bold-od-sub-detail"></p> 6912 <p class="bold-od-display-price bold-od-sub-detail"></p> 6913 </div> 6914 <p class="bold-od-last-order-date bold-od-sub-detail"></p> 6915 </span> 6916 </div> 6917 </aside> 6918 </div> 6919 <div class="bold-od-details"> 6920 <header class="bold-od-details-header"> 6921 <h3>Shipping Address</h3> 6922 </header> 6923 <aside class="bold-od-details-group column"> 6924 <p class="bold-od-customer-name bold-od-main-detail"></p> 6925 <span> 6926 <p class="bold-od-sub-detail"> 6927 <span class="bold-od-address-1"></span> 6928 <span class="bold-od-address-2"></span> 6929 </p> 6930 <p class="bold-od-sub-detail"> 6931 <span class="bold-od-city"></span>, 6932 <span class="bold-od-province"></span>, 6933 <span class="bold-od-country-code"></span>, 6934 <span class="bold-od-zip"></span> 6935 </p> 6936 </span> 6937 </aside> 6938 </div> 6939 </div> 6940 <div class="bold-od-modal-footer"> 6941 <div class="bold-od-button-group"> 6942 <button class="bold-od-secondary-button" id="bold-od-reorder-cancel">Cancel</button> 6943 <button class="bold-od-primary-button bold-od-icon-button" id="bold-od-reorder-confirm"> 6944 <span class="button__text"> 6945 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" height="12" width="12"><path d="M7.32 5.535A7 7 0 0 1 17 12v1.586L15.414 12A1 1 0 1 0 14 13.414l3.293 3.293a1 1 0 0 0 1.414 0L22 13.414A1 1 0 0 0 20.586 12L19 13.586V12a9 9 0 1 0-5.392 8.247c.506-.221.668-.839.392-1.317s-.886-.635-1.399-.43a7 7 0 0 1-5.28-12.965Z"></path><path d="M11 7a1 1 0 1 0-2 0v5.414l2.293 2.293a1 1 0 0 0 1.414-1.414L11 11.586V7Z"></path></svg> 6946 Reorder Now 6947 </span> 6948 </button> 6949 </div> 6950 </div> 6951</dialog> 6952<!-- END app snippet -->`; 6953 window.BOLD.OD.templates.reorderSuccess = `<!-- BEGIN app snippet: bold-on-demand-reorder-success --><style> 6954 repete-reorder-success { 6955 @keyframes button-loading-spinner { 6956 from { 6957 transform: rotate(0turn); 6958 } 6959 to { 6960 transform: rotate(1turn); 6961 } 6962 } 6963 6964 #confirmation-modal { 6965 width: 700px; 6966 border-radius: 10px; 6967 box-shadow: 0px 0px 20px 5px #000A2833; 6968 overflow: hidden; 6969 position: fixed; 6970 align-self: center; 6971 justify-self: center; 6972 background-color: var(--bold-od-widget-card-bg); 6973 z-index: 1000; 6974 border: none; 6975 6976 h2 { 6977 margin: 0; 6978 font-family: var(--bold-od-widget-font-family); 6979 font-weight: 500; 6980 font-size: 18px; 6981 color: var(--bold-od-widget-font-color); 6982 } 6983 6984 h3 { 6985 margin: 0; 6986 font-size: 16px; 6987 font-family: var(--bold-od-widget-font-family); 6988 font-weight: 500; 6989 color: var(--bold-od-widget-font-color); 6990 } 6991 6992 .bold-od-modal-header { 6993 display: flex; 6994 justify-content: space-between; 6995 align-items: center; 6996 padding: 0 10px 10px 10px; 6997 border-bottom: 1px solid #ccc; 6998 } 6999 7000 .bold-od-close-button { 7001 background: none; 7002 border: none; 7003 font-size: 1.5em; 7004 cursor: pointer; 7005 } 7006 7007 .bold-od-modal-body { 7008 display: flex; 7009 justify-content: space-between; 7010 padding: 30px 10px; 7011 7012 &.column { 7013 flex-direction: column; 7014 align-items: center; 7015 } 7016 } 7017 7018 .bold-od-details-header { 7019 display: flex; 7020 justify-content: space-between; 7021 align-items: center; 7022 margin-bottom: 10px; 7023 } 7024 7025 .bold-od-details { 7026 flex-basis: 45%; 7027 } 7028 7029 .bold-od-details-group { 7030 display: flex; 7031 7032 &.row { 7033 flex-direction: row; 7034 align-items: center; 7035 } 7036 7037 &.column { 7038 flex-direction: column; 7039 justify-content: center; 7040 } 7041 } 7042 7043 .bold-od-product-image { 7044 width: 50px; 7045 height: 50px; 7046 margin-right: 10px; 7047 border-radius: 10px; 7048 } 7049 7050 .bold-od-main-detail, 7051 .bold-od-sub-detail { 7052 font-weight: 600; 7053 font-size: 14px; 7054 margin: 0; 7055 } 7056 7057 .bold-od-main-detail { 7058 font-weight: bold; 7059 } 7060 7061 .bold-od-sub-detail { 7062 color: #888; 7063 } 7064 7065 .bold-od-modal-footer { 7066 display: flex; 7067 justify-content: flex-end; 7068 padding: 10px 10px 0px 10px; 7069 border-top: 1px solid #ccc; 7070 } 7071 7072 .bold-od-secondary-button, 7073 .bold-od-primary-button { 7074 padding: 5px 10px; 7075 margin: 5px 0; 7076 border: none; 7077 border-radius: 4px; 7078 cursor: pointer; 7079 } 7080 7081 .bold-od-button-group { 7082 display: flex; 7083 flex-direction: row; 7084 align-items: center; 7085 gap: 1rem; 7086 width: 250px; 7087 justify-content: end; 7088 7089 > * { 7090 font-size: 14px; 7091 } 7092 } 7093 7094 .bold-od-primary-button { 7095 display: flex; 7096 flex-direction: row; 7097 justify-content: center; 7098 align-items: center; 7099 padding: 6px 12px; 7100 gap: 2px; 7101 isolation: isolate; 7102 color: var(--bold-od-widget-primary-fg); 7103 background: var(--bold-od-widget-primary-bg); 7104 border-radius: var(--bold-od-widget-button-radius); 7105 flex-basis: 60%; 7106 } 7107 7108 .bold-od-secondary-button { 7109 color: var(--bold-od-widget-secondary-fg); 7110 padding: 6px 12px; 7111 background: var(--bold-od-widget-secondary-bg); 7112 box-shadow: inset 0px -1px 0px #B5B5B5, inset -1px 0px 0px #E3E3E3, inset 1px 0px 0px #E3E3E3, inset 0px 1px 0px #E3E3E3; 7113 border-radius: var(--bold-od-widget-button-radius); 7114 flex-basis: 30%; 7115 } 7116 7117 .button--loading .button__text { 7118 display: none; 7119 } 7120 7121 .button--loading::after { 7122 content: ""; 7123 width: 8px; 7124 height: 8px; 7125 border: 4px solid transparent; 7126 border-top-color: var(--bold-od-widget-primary-fg); 7127 border-radius: 50%; 7128 animation: button-loading-spinner 1s ease infinite; 7129 } 7130 } 7131 } 7132</style> 7133 7134<dialog class="bold-od-modal" id="confirmation-modal"> 7135 <div class="bold-od-modal-header"> 7136 <h2>Success!</h2> 7137 <button class="bold-od-close-button" id="bold-od-reorder-close">×</button> 7138 </div> 7139 <div class="bold-od-modal-body column"> 7140 <h2>Congrats! Your Reorder was successful!</h2> 7141 <p>Click the link below to view your Order details</p> 7142 <a class="bold-od-status-url" href="/"> 7143 <h3 class="bold-od-order-number"></h3> 7144 </a> 7145 </div> 7146 <div class="bold-od-modal-footer"> 7147 </div> 7148</dialog> 7149<!-- END app snippet -->`;
7150 window.BOLD.OD.templates.reorderError = `<!-- BEGIN app snippet: bold-on-demand-reorder-error --><style> 7151 repete-reorder-error { 7152 @keyframes button-loading-spinner { 7153 from { 7154 transform: rotate(0turn); 7155 } 7156 to { 7157 transform: rotate(1turn); 7158 } 7159 } 7160 7161 #confirmation-modal { 7162 width: 700px; 7163 border-radius: 10px; 7164 box-shadow: 0px 0px 20px 5px #000A2833; 7165 overflow: hidden; 7166 position: fixed; 7167 align-self: center; 7168 justify-self: center; 7169 background-color: #fff; 7170 z-index: 1000; 7171 border: none; 7172 7173 h2 { 7174 margin: 0; 7175 font-family: 'Inter'; 7176 font-weight: 500; 7177 font-size: 18px; 7178 } 7179 7180 h3 { 7181 margin: 0; 7182 font-size: 16px; 7183 font-family: 'Inter'; 7184 font-weight: 500; 7185 } 7186 7187 .bold-od-modal-header { 7188 display: flex; 7189 justify-content: space-between; 7190 align-items: center; 7191 padding: 0 10px 10px 10px; 7192 border-bottom: 1px solid #ccc; 7193 } 7194 7195 .bold-od-close-button { 7196 background: none; 7197 border: none; 7198 font-size: 1.5em; 7199 cursor: pointer; 7200 } 7201 7202 .bold-od-modal-body { 7203 display: flex; 7204 justify-content: space-between; 7205 padding: 30px 10px; 7206 7207 &.column { 7208 flex-direction: column; 7209 align-items: center; 7210 } 7211 } 7212 7213 .bold-od-modal-footer { 7214 display: flex; 7215 justify-content: flex-end; 7216 padding: 10px 10px 0px 10px; 7217 border-top: 1px solid #ccc; 7218 } 7219 7220 .bold-od-button-group > * { 7221 font-size: 14px; 7222 } 7223 } 7224 } 7225</style> 7226 7227<dialog class="bold-od-modal" id="confirmation-modal" aria-labelledby="dialog-title" aria-describedby="bold-reorder-error-message"> 7228 <div class="bold-od-modal-header"> 7229 <h2 id="dialog-title">There was an error</h2> 7230 <button class="bold-od-close-button" id="bold-od-reorder-close">×</button> 7231 </div> 7232 <div class="bold-od-modal-body column"> 7233 <h2>Reorder unsuccessful!</h2> 7234 <p id="bold-reorder-error-message">Click the link below to view your Order details</p> 7235 </div> 7236 <div class="bold-od-modal-footer"> 7237 </div> 7238</dialog> 7239<!-- END app snippet -->`; 7240</script>
7240 7241 7242 7243 7244<repete-reorder-modal></repete-reorder-modal> 7245<repete-reorder-error></repete-reorder-error> 7246<repete-reorder-success></repete-reorder-success> 7247<!-- END app snippet --> 7248<!-- BEGIN app snippet: repete-selling-plan-helper --> 7249 7250 7251 7252 7253<!-- END app snippet --> 7254<!-- BEGIN app snippet: repete-discounts -->
7254<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/repete-discount-engine.js"></script>
7254 7255
7256<script> 7257 new RepeteDiscountEngine({"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"AUD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}); 7258</script>
7258 7259<!-- END app snippet --> 7260
7261<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/repete-storefront-engine.js"></script>
vendor: 1 bytes, line 7261
7261
7262<script src="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/repete-smart-cart-tracking.js"></script>
7262 7263 7264<link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a063db-9b82-79c9-acd3-d1a84d6dc0d3/repete-reorder-92/assets/on-demand.css"> 7265<link rel="preconnect" href="https://fonts.googleapis.com"> 7266<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 7267<link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet"> 7268
7269<script> 7270 window.addEventListener('DOMContentLoaded', new RepeteStorefrontEngine()); 7271</script>
7271 7272 7273 7274 7275 7276 7277 7278</div>
7278<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
7278 7279</body> 7280</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.