PageSourceSearch

https://twoislandsco.com/

html twoislandsco.com collected 2026-10-06 07:49:35 UTC 236,037 bytes, 5,723 lines download raw bytes

1
2
3
4
5<!---
6            
7    Designed and built by:
8
9     _____________  ______  ________     ___    __    __  _______  _   ______ 
10    / ___/_  __/ / / / __ \/  _/ __ \   /   |  / /   /  |/  / __ \/ | / / __ \
11    \__ \ / / / / / / / / // // / / /  / /| | / /   / /|_/ / / / /  |/ / / / /
12   ___/ // / / /_/ / /_/ // // /_/ /  / ___ |/ /___/ /  / / /_/ / /|  / /_/ / 
13  /____//_/  \____/_____/___/\____/  /_/  |_/_____/_/  /_/\____/_/ |_/_____/  
14                                                                            
15
16    © 2022 Studio Almond  /\/\/\  www.almond.studio
17        
18  -->
19
20<!doctype html>
21<html class='no-js' lang='en'>
22  <head>
23    
24      
25
26<script>
27  (function () {
28    // --- SAFETY CHECKS ---
29    // 1. Don't run in Theme Editor
30    if (window.Shopify && window.Shopify.designMode) return;
31
32    // 2. Don't redirect Googlebot (SEO protection)
33    if (navigator.userAgent.includes('Googlebot')) return;
34
35    // --- MAIN LOGIC ---
36    fetch('https://ipapi.co/country/')
37      .then((response) => {
38        if (response.ok) return response.text();
39        throw new Error('Geo-IP Service Unavailable');
40      })
41      .then((countryRaw) => {
42        const country = countryRaw.trim().toUpperCase();
43
44        // Define site versions
45        const currentPath = window.location.pathname;
46        const isAuVersion = currentPath.startsWith('/en-au');
47
48        // Get the specific product URL from the metafield
49        const alternateUrl = document.documentElement.dataset.alternateUrl;
50
51        // Helper: safeRedirect attaches current UTMs to the new URL
52        const safeRedirect = (targetUrl) => {
53          const currentSearch = window.location.search; // e.g. ?utm_source=fb
54
55          if (currentSearch && targetUrl) {
56            // Check if target already has params to decide between '?' and '&'
57            const separator = targetUrl.includes('?') ? '&' : '?';
58            window.location.href = `${targetUrl}${separator}${currentSearch.substring(1)}`;
59          } else {
60            window.location.href = targetUrl;
61          }
62        };
63
64        // --- SCENARIO A: Visitor is in AUSTRALIA ---
65        if (country === 'AU') {
66          // If they are NOT on the AU site, move them
67          if (!isAuVersion) {
68            console.log('Redirecting AU customer to AU site...');
69
70            if (alternateUrl) {
71              // Priority 1: Direct link to the mapped product
72              safeRedirect(alternateUrl);
73            } else {
74              // Priority 2: Generic fallback (Home or same path with /en-au)
75              // Assuming generic fallback is Home for safety, or construct path
76              const origin = window.location.origin;
77              const newPath = currentPath === '/' ? '/en-au/' : `/en-au${currentPath}`;
78              safeRedirect(`${origin}${newPath}`);
79            }
80          }
81        }
82
83        // --- SCENARIO B: Visitor is REST OF WORLD (NZ, US, UK, etc) ---
84        else {
85          // If they ARE on the AU site, move them back to Global
86          if (isAuVersion) {
87            console.log('Redirecting non-AU customer to Global site...');
88
89            if (alternateUrl) {
90              // Priority 1: Direct link to the mapped product
91              safeRedirect(alternateUrl);
92            } else {
93              // Priority 2: Generic fallback (Remove /en-au)
94              const origin = window.location.origin;
95              const newPath = currentPath.replace('/en-au', '') || '/';
96              safeRedirect(`${origin}${newPath}`);
97            }
98          }
99        }
100      })
101      .catch((error) => {
102        // Fail silently so the user can still browse if the API breaks
103        console.warn('Geo-redirect skipped:', error);
104      });
105  })();
106</script>
106
107
108    
109    
110    
110<script>
111      // Ensure dataLayer and gtag stub exist before any analytics scripts run
112      window.dataLayer = window.dataLayer || [];
113      window.gtag =
114        window.gtag ||
115        function () {
116          window.dataLayer.push(arguments);
117        };
118    </script>
118
119    <!-- Google Tag Manager -->
120    
120<script>
vendor: 455 bytes, lines 120-130
120
121      (function (w, d, s, l, i) {
122        w[l] = w[l] || [];
123        w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
124        var f = d.getElementsByTagName(s)[0],
125          j = d.createElement(s),
126          dl = l != 'dataLayer' ? '&l=' + l : '';
127        j.async = true;
128        j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
129        f.parentNode.insertBefore(j, f);
130      })(window, document, 'script', 'dataLayer', '
130GTM-MNGWWDM
vendor: 8 bytes, lines 130-131
130');
131    
131</script>
131
132    <!-- End Google Tag Manager -->
133
134    <meta charset='utf-8'>
135    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
136    <meta name='viewport' content='width=device-width,initial-scale=1'>
137    <meta name='theme-color' content=''>
138    <link rel='canonical' href='https://twoislandsco.com/'>
139    <link rel='preconnect' href='https://cdn.shopify.com' crossorigin>
140
141    <!-- Site Verification -->
142    <meta name='google-site-verification' content='NnWl6MQcdJSjUUbSijqOmJ4NcSbH8I_ngVDFXKimQ5s'>
143    <meta name='facebook-domain-verification' content='7mcvw0a5c4aujl0m7axwtw5u3e32di'>
144
145    <!-- Start of HubSpot Embed Code -->
146    
146<script type='text/javascript' id='hs-script-loader' async defer src='//js.hs-scripts.com/5521750.js'></script>
146
147    <!-- End of HubSpot Embed Code -->
148
149    <!-- No idex /tagged/  or recipe pages -->
150    
151
152    <!-- Favicon -->
153    <link rel='shortcut icon' href='//twoislandsco.com/cdn/shop/t/190/assets/favicon.png?v=107292906725551850671663650103' type='image/png'>
154
155    <!-- can be removed - -->
156    <title>
157      Two Islands | High-strength Nutrition, Simplified
158</title>
159
160    
160<script>
161  if ( document.referrer.includes('newterritory.studio') ) {
162    window.location.href = 'https://almond.studio/';
163  }
164</script>
164
165<link
166      rel='preload'
167      href='//twoislandsco.com/cdn/shop/t/190/assets/global.css?v=48411158558601137011787717973'
168      as='style'
169      onload="this.onload=null;this.rel='stylesheet'"
170    >
171    <link
172      rel='preload'
173      href='//twoislandsco.com/cdn/shop/t/190/assets/page-collection.css?v=61314006705549782421768812453'
174      as='style'
175      onload="this.onload=null;this.rel='stylesheet'"
176    >
177    
178    <noscript>
179      <link rel='stylesheet' href='//twoislandsco.com/cdn/shop/t/190/assets/global.css?v=48411158558601137011787717973'>
180      <link rel='stylesheet' href='//twoislandsco.com/cdn/shop/t/190/assets/page-collection.css?v=61314006705549782421768812453'>
181    </noscript>
182
183    
184      <meta name='description' content='Clean, high-strength supplements for hydration, beauty, gut health, performance, stress relief and more. Made to work, and made to fit into real life. Discover our range.'>
185    
186
187        
187<script>
vendor: 343 bytes, lines 187-191
187(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
188    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
189    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
190    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
191    })(window,document,'script','dataLayer','
191GTM-MNGWWDM
vendor: 4 bytes, line 191
191 ');
191</script>
191
192
193     
194
195<meta property="og:site_name" content="Two Islands">
196<meta property="og:url" content="https://twoislandsco.com/">
197<meta property="og:title" content="Two Islands | High-strength Nutrition, Simplified">
198<meta property="og:type" content="website"> 
199<meta property="og:description" content="Clean, high-strength supplements for hydration, beauty, gut health, performance, stress relief and more. Made to work, and made to fit into real life. Discover our range."><meta property="og:image" content="http://twoislandsco.com/cdn/shop/files/NEW_sharing_Website_Thumbnail_1.jpg?v=1787706172">
200  <meta property="og:image:secure_url" content="https://twoislandsco.com/cdn/shop/files/NEW_sharing_Website_Thumbnail_1.jpg?v=1787706172">
201  <meta property="og:image:width" content="1200">
202  <meta property="og:image:height" content="628"><meta name="twitter:card" content="summary_large_image">
203<meta name="twitter:title" content="Two Islands | High-strength Nutrition, Simplified">
204<meta name="twitter:description" content="Clean, high-strength supplements for hydration, beauty, gut health, performance, stress relief and more. Made to work, and made to fit into real life. Discover our range.">
205
206
207    
207<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
207<meta name="google-site-verification" content="yYwXst2OdR7TPuSn7eKaYFLLFX9CMXQOegDiK3V0Y9M">
208<meta name="google-site-verification" content="yYwXst2OdR7TPuSn7eKaYFLLFX9CMXQOegDiK3V0Y9M">
209<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/18666751/digital_wallets/dialog">
210<meta id="in-context-paypal-metadata" data-shop-id="18666751" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
211<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://twoislandsco.com/">
212<link rel="alternate" hreflang="en" href="https://twoislandsco.com/">
213<link rel="alternate" hreflang="en-AU" href="https://twoislandsco.com/en-au">
214<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=547651784"></script>
214
215<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
216<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=547651784&shop_id=18666751" crossorigin="anonymous"></script>
vendor: 1 bytes, line 216
216
217<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":18666751,"countryCode":"NZ","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/18666751","merchantName":"Two Islands","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","jcb"],"total":{"type":"pending","label":"Two Islands","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 217
217
218<script id="shopify-features" type="application/json">{"accessToken":"b8c78404167287040d9c0bbd67e78733","betas":["rich-media-storefront-analytics"],"domain":"twoislandsco.com","predictiveSearch":true,"shopId":18666751,"locale":"en"}</script>
vendor: 1 bytes, line 218
218
219<script>var Shopify = Shopify || {};
220Shopify.shop = "two-islands-co.myshopify.com";
221Shopify.locale = "en";
222Shopify.currency = {"active":"USD","rate":"0.57061656"};
223Shopify.country = "US";
224Shopify.theme = {"name":"two-islands-2.0-theme\/prod","id":131181248712,"schema_name":"Two Islands","schema_version":"1.0.0","theme_store_id":null,"role":"main"};
225Shopify.theme.handle = "null";
226Shopify.theme.style = {"id":null,"handle":null};
227Shopify.cdnHost = "twoislandsco.com/cdn";
228Shopify.routes = Shopify.routes || {};
229Shopify.routes.root = "/";
230Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
231Shopify.SignInWithShop = Shopify.SignInWithShop || {};
232Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
233Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 233
233
234<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 234
234
235<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 235
235
236<script>
237  window.ShopifyPay = window.ShopifyPay || {};
238  window.ShopifyPay.apiHost = "shop.app\/pay";
239  window.ShopifyPay.redirectState = null;
240</script>
vendor: 1 bytes, line 240
240
241<script>
242  window.Shopify = window.Shopify || {};
243  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
244  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
245  window.Shopify.SignInWithShop.eligible = true;
246</script>
vendor: 1 bytes, line 246
246
247<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 247
247
248<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 248
248
249<script type="module">
250  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
251
252  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
253
254</script>
vendor: 1 bytes, line 254
254
255<script>
256  window.Shopify = window.Shopify || {};
257  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
258  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
259</script>
vendor: 1 bytes, line 259
259
260<script>(function() {
261  var isLoaded = false;
262  function asyncLoad() {
263    if (isLoaded) return;
264    isLoaded = true;
265    var urls = ["https:\/\/cdn.nfcube.com\/instafeed-b16af5a1c28b9becc314c0533a75f370.js?shop=two-islands-co.myshopify.com"];
266    for (var i = 0; i < urls.length; i++) {
267      var s = document.createElement('script');
268      s.type = 'text/javascript';
269      s.async = true;
270      s.src = urls[i];
271      var x = document.getElementsByTagName('script')[0];
272      x.parentNode.insertBefore(s, x);
273    }
274  };
275  if(window.attachEvent) {
276    window.attachEvent('onload', asyncLoad);
277  } else {
278    window.addEventListener('load', asyncLoad, false);
279  }
280})();</script>
vendor: 1 bytes, line 280
280
281<script id="__st">var __st={"a":18666751,"offset":46800,"reqid":"13d09e87-8196-4af2-aff4-95aef3ed9385-1791272974","pageurl":"twoislandsco.com\/","u":"fa490d11f46d","p":"home"};</script>
vendor: 1 bytes, line 281
281
282<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 282
282
283<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 283
283
284<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//twoislandsco.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 284
284
285<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//twoislandsco.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
285<script crossorigin="anonymous" defer="defer" src="//twoislandsco.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 285
285
286<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 286
286
287<script>
288  window.Shopify = window.Shopify || {};
289  window.Shopify.MCP = window.Shopify.MCP || {};
290  window.Shopify.MCP.enabled = true;
291  window.Shopify.MCP.shop = "two-islands-co.myshopify.com";
292  window.Shopify.MCP.mcpEndpoint = "https:\/\/twoislandsco.com\/api\/mcp";
293  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
294</script>
vendor: 1 bytes, line 294
294
295<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/twoislandsco.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
296</script>
vendor: 1 bytes, line 296
296
297<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://twoislandsco.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
298</script>
vendor: 1 bytes, line 298
298
299<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
300  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
301</script>
vendor: 1 bytes, line 301
301
302<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
303</script>
303
304<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://twoislandsco.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
305<style id="shopify-accelerated-checkout-cart">
306        #shopify-buyer-consent {
307  margin-top: 1em;
308  display: inline-block;
309  width: 100%;
310}
311
312#shopify-buyer-consent.hidden {
313  display: none;
314}
315
316#shopify-subscription-policy-button {
317  background: none;
318  border: none;
319  padding: 0;
320  text-decoration: underline;
321  font-size: inherit;
322  cursor: pointer;
323}
324
325#shopify-subscription-policy-button::before {
326  box-shadow: none;
327}
328
329      </style>
330
331<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
331
332
333    <link href="//twoislandsco.com/cdn/shop/t/190/assets/page-product.css?v=13284330163433218971779764461" rel="stylesheet" type="text/css" media="all" />
334    <link href="//twoislandsco.com/cdn/shop/t/190/assets/component-product-card.css?v=116418209325376030921768812453" rel="stylesheet" type="text/css" media="all" />
335
336    <link href="//twoislandsco.com/cdn/shop/t/190/assets/cart.css?v=4101636492361662491663612349" rel="stylesheet" type="text/css" media="all" />
337    
338
339    
340
341    
342
343    
344
345    
346
347    
348
349    
350
351    
352
353    
354
355    
356    
357      <link href="//twoislandsco.com/cdn/shop/t/190/assets/owl.carousel.min.css?v=70516089817612781961663583135" rel="stylesheet" type="text/css" media="all" />
358    
359    
359<script src='//twoislandsco.com/cdn/shop/t/190/assets/jquery.min.js?v=8324501383853434791663583141'></script>
359
360    
360<script src='//twoislandsco.com/cdn/shop/t/190/assets/js.cookie.min.js?v=119200253577595126041663583139'></script>
360
361    
362
363    
363<script>
364      history.scrollRestoration = 'manual';
365    </script>
365
366
367    <!-- Start of Littledata - Fix Google Analytics Script -->
368    
369<meta name="referrer" content="no-referrer-when-downgrade"/>
vendor: 64 bytes, lines 369-370
369
370<script async src="https://www.googletagmanager.com/gtag/js?id=
370UA-162013920-1
vendor: 28 bytes, lines 370-371
370" data-ot-ignore></script>
371
372<style>.async-hide { opacity: 0 !important} </style>
373<script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
374h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
375(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
376})(window,document.documentElement,'async-hide','dataLayer',4000,
377{'OPT-T56DDWT':true});</script>
377
378
379<script name="littledata-tracking-tag" data-ot-ignore>
380(function(){
381	/* Data layer for Google Analytics by Littledata app */
382	/* Version v10.0.1 */
383
384	LittledataLayer = {
385    "version":"v10.0.1",
386    "transactionWatcherURL":"https://transactions.littledata.io",
387    "referralExclusion":"/(paypal|visa|MasterCard|clicksafe|arcot\\.com|geschuetzteinkaufen|checkout\\.shopify\\.com|checkout\\.rechargeapps\\.com|portal\\.afterpay\\.com|payfort)/",
388    "googleSignals":true,
389    "anonymizeIp":true,
390    "productClicks":true,
391    "persistentUserId":true,
392    "hideBranding":false,
393    "ecommerce":{"currencyCode":"NZD",
394    "impressions":[]},
395    "pageType":"index",
396    "segmentUserId":"shopifyCustomerId",
397    "uniqueIdentifierForOrders":"orderId",
398    "webPropertyId":"UA-162013920-1",
399    "debug":true,
400    "optimizeId":"OPT-T56DDWT",
401    "cookieUpdate":true
402}
403
404	
405	})();
406</script>
vendor: 1 bytes, line 406
406
407<script async type="text/javascript" src="https://d26ky332zktp97.cloudfront.net/colibrius-g.js"></script>
407
408
409
410
411
412    <!-- End of Littledata - Fix Google Analytics Script -->
413
414    <style>
415      html.async-hide {
416        opacity: 1 !important;
417      }
418    </style>
419    
419<script async src="https://cdn-widgetsrepository.yotpo.com/v1/loader/Tblq4Mm2vNzIkc21YvYaRyytCCo1uDbGDOLwGZAx" type="text/javascript"></script>
419
420    
420<script
421      src='https://cdn-widgetsrepository.yotpo.com/v1/loader/Tblq4Mm2vNzIkc21YvYaRyytCCo1uDbGDOLwGZAx'
422      async
423    ></script>
423
424  <!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
425
426
427
428
429
430
431
432
433
434
435
436
437  
437<script async src="https://static.klaviyo.com/onsite/js/XAfeBX/klaviyo.js?company_id=XAfeBX"></script>
437
438  
438<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
438
439
440  
441
442
443
444
445  
445<script>
446    window.klaviyoReviewsProductDesignMode = false
447  </script>
447
448
449
450
451
452
453
454
455
456
457<!-- END app block -->
457<script src="https://cdn.shopify.com/extensions/01a0f5e3-e559-7fdc-ac9e-aacb3c5f0b80/roadmap-app-583/assets/roadmap.min.js" type="text/javascript" defer="defer"></script>
457
458<link href="https://cdn.shopify.com/extensions/01a0f5e3-e559-7fdc-ac9e-aacb3c5f0b80/roadmap-app-583/assets/style.css" rel="stylesheet" type="text/css" media="all">
459<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
460<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: 18666751,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 460
460
461<script>
462  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
463</script>
vendor: 1 bytes, line 463
463
464<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}
464).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: 18666751,storefrontBaseUrl: "https://twoislandsco.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://twoislandsco.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1099006152","configuration":"{\"projectId\":\"xt8aj6ogzb\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
464,"dataSharingState":"unrestricted"},{"id":"1010860232","configuration":"{\"myshopifyDomain\":\"two-islands-co.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"23b97d18e2aa74363140dc29c9284e87","type":"APP","apiClientId":2775569,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"945455304","configuration":"{\"accountID\":\"XAfeBX\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"882639048","configuration":"{\"apiBaseUrl\":\"https:\/\/roadmap.gadget.app\/\",\"accountID\":\"18666751\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d6f3217aaebbf036dfcc609ae804e269","type":"APP","apiClientId":79060795393,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"557940936","configuration":"{\"partnerId\": \"116148\", \"environment\": \"prod\", \"countryCode\": \"NZ\", \"logLevel\": \"none\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e39367b785b1d63117e387ccb6b0db54","type":"APP","apiClientId":5829751,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"428835016","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-REP7Z7S9T3\\\",\\\"GT-WVXQ3BP\\\"],\\\"target_country\\\":\\\"NZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-REP7Z7S9T3\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-REP7Z7S9T3\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-REP7Z7S9T3\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-REP7Z7S9T3\\\",\\\"MC-8W1B41MKPQ\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-REP7Z7S9T3\\\",\\\"MC-8W1B41MKPQ\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-REP7Z7S9T3\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-REP7Z7S9T3\\\",\\\"MC-8W1B41MKPQ\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-REP7Z7S9T3\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-REP7Z7S9T3\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-REP7Z7S9T3\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-REP7Z7S9T3\\\"}],\\\"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":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"157548744","configuration":"{\"pixel_id\":\"368578667383530\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
464,"dataSharingState":"unrestricted","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":"Two Islands","paymentSettings":{"currencyCode":"NZD"},"myshopifyDomain":"two-islands-co.myshopify.com","countryCode":"NZ","storefrontUrl":"https:\/\/twoislandsco.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"8062028775624","handle":"electrolyte","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44835144237256","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7999853887688","handle":"protein-organic-greens-probiotics","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43923685605576","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7577112084680","handle":"happy-days","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42924480200904","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"4702577492052","handle":"happy-gut","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"37500815245512","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6985141420232","handle":"marine-collagen-beauty-capsules","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"40662064169160","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8344361992392","handle":"hydrate-raspberry-lemonade-salt-6g-sachet","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45221209604296","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6188110217416","handle":"milk-maker","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"41520964763848","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7232380600520","handle":"nightcap","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"41542399819976","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"4413785997396","handle":"collagen-beauty-powder","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"31459960258644","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6846458527944","handle":"super-beauty","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"40662064660680","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"4470934339668","handle":"pea-protein-powder","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44906375053512","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8255427510472","handle":"two-islands-drink-bottle-with-straw-850ml","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44849096556744","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8330391584968","handle":"creatine-hydration","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45152693518536","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},}
464,"https://twoislandsco.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"131181248712","themePublished":"true","eventMetadataId":"706f6c9c-23d6-41b1-8d26-f359aa6b1deb","pageType":"home","shopId":"18666751","storefrontBaseUrl":"https:\/\/twoislandsco.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>
464<script>
465  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
466  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
467  window.ShopifyAnalytics.meta.currency = 'USD';
468  var meta = {"page":{"pageType":"home","requestId":"13d09e87-8196-4af2-aff4-95aef3ed9385-1791272974"}};
469  for (var attr in meta) {
470    window.ShopifyAnalytics.meta[attr] = meta[attr];
471  }
472</script>
vendor: 1 bytes, line 472
472
473<script class="analytics">
474  (function () {
475    var customDocumentWrite = function(content) {
476      var jquery = null;
477
478      if (window.jQuery) {
479        jquery = window.jQuery;
480      } else if (window.Checkout && window.Checkout.$) {
481        jquery = window.Checkout.$;
482      }
483
484      if (jquery) {
485        jquery('body').append(content);
486      }
487    };
488
489    var hasLoggedConversion = function(token) {
490      if (token) {
491        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
492      }
493      return false;
494    }
495
496    var setCookieIfConversion = function(token) {
497      if (token) {
498        var twoMonthsFromNow = new Date(Date.now());
499        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
500
501        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
502      }
503    }
504
505    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
506    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
507    if (trekkie.integrations) {
508      return;
509    }
510    trekkie.methods = [
511      'identify',
512      'page',
513      'ready',
514      'track',
515      'trackForm',
516      'trackLink'
517    ];
518    trekkie.factory = function(method) {
519      return function() {
520        var args = Array.prototype.slice.call(arguments);
521        args.unshift(method);
522        trekkie.push(args);
523        if (method == 'track' || method == 'page') {
524          var pageUrl;
525          try {
526            pageUrl = window.location.href;
527          } catch (e) {}
528          var pageReferrer;
529          try {
530            pageReferrer = document.referrer;
531          } catch (e) {}
532          try {
533            if (window.__TREKKIE_SHIM_QUEUE == null) {
534              window.__TREKKIE_SHIM_QUEUE = [];
535            }
536            window.__TREKKIE_SHIM_QUEUE.push({
537              from: 'trekkie-stub',
538              method: method,
539              args: args.slice(1),
540              pageContext: {
541                url: pageUrl,
542                referrer: pageReferrer
543              }
544            });
545          } catch (e) {
546            // no-op
547          }
548        }
549        return trekkie;
550      };
551    };
552    for (var i = 0; i < trekkie.methods.length; i++) {
553      var key = trekkie.methods[i];
554      trekkie[key] = trekkie.factory(key);
555    }
556    trekkie.load = function(config) {
557      trekkie.config = config || {};
558      trekkie.config.initialDocumentCookie = document.cookie;
559      var first = document.getElementsByTagName('script')[0];
560var script = document.createElement('script');
561script.type = 'text/javascript';
562script.onerror = function(e) {
563  var scriptFallback = document.createElement('script');
564  scriptFallback.type = 'text/javascript';
565  scriptFallback.onerror = function(error) {
566          var Monorail = {
567      produce: function produce(monorailDomain, schemaId, payload) {
568        var currentMs = new Date().getTime();
569        var event = {
570          schema_id: schemaId,
571          payload: payload,
572          metadata: {
573            event_created_at_ms: currentMs,
574            event_sent_at_ms: currentMs
575          }
576        };
577        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
578      },
579      sendRequest: function sendRequest(endpointUrl, payload) {
580        // Try the sendBeacon API
581        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
582          var blobData = new window.Blob([payload], {
583            type: 'text/plain'
584          });
585
586          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
587            return true;
588          } // sendBeacon was not successful
589
590        } // XHR beacon
591
592        var xhr = new XMLHttpRequest();
593
594        try {
595          xhr.open('POST', endpointUrl);
596          xhr.setRequestHeader('Content-Type', 'text/plain');
597          xhr.send(payload);
598        } catch (e) {
599          console.log(e);
600        }
601
602        return false;
603      },
604      isIos12: function isIos12() {
605        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
606      }
607    };
608    Monorail.produce('monorail-edge.shopifysvc.com',
609      'trekkie_storefront_load_errors/1.1',
610      {shop_id: 18666751,
611      theme_id: 131181248712,
612      app_name: "storefront",
613      context_url: window.location.href,
614      source_url: "//twoislandsco.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
615
616  };
617  scriptFallback.async = true;
618  scriptFallback.src = '//twoislandsco.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
619  first.parentNode.insertBefore(scriptFallback, first);
620};
621script.async = true;
622script.src = '//twoislandsco.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
623first.parentNode.insertBefore(script, first);
624
625    };
626    trekkie.load(
627      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":18666751,"isMerchantRequest":null,"themeId":131181248712,"themeCityHash":"2292014788905645116","contentLanguage":"en","currency":"USD","eventMetadataId":"706f6c9c-23d6-41b1-8d26-f359aa6b1deb"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
628    );
629
630    var loaded = false;
631    trekkie.ready(function() {
632      if (loaded) return;
633      loaded = true;
634
635      window.ShopifyAnalytics.lib = window.trekkie;
636
637      var originalDocumentWrite = document.write;
638      document.write = customDocumentWrite;
639      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
640      document.write = originalDocumentWrite;
641
642      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
643      var token = match? match[1]: undefined;
644      if (!hasLoggedConversion(token)) {
645        setCookieIfConversion(token);
646        
647      }
648    });
649
650    window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"13d09e87-8196-4af2-aff4-95aef3ed9385-1791272974","shopifyEmitted":true});
651
652    var eventsListenerScript = document.createElement('script');
653    eventsListenerScript.async = true;
654    eventsListenerScript.src = "//twoislandsco.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
655    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
656})();</script>
vendor: 1 bytes, line 656
656
657<script
658  defer
659  src="https://twoislandsco.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.5.min.js"
660  data-application="storefront-renderer"
661  data-shop-id="18666751"
662  data-render-region="gcp-us-central1"
663  data-page-type="index"
664  data-theme-instance-id="131181248712"
665  data-theme-name="Two Islands"
666  data-theme-version="1.0.0"
667  data-monorail-region="shop_domain"
668  data-resource-timing-sampling-rate="10"
669  data-shs="true"
670  data-shs-beacon="true"
671  data-shs-export-with-fetch="true"
672  data-shs-logs-sample-rate="1"
673  data-shs-beacon-endpoint="https://twoislandsco.com/api/collect"
674></script>
674
675<meta name="shopify-y" content="52980e1f-7c89-43f5-8c4e-2ee4c0f033ba" data-expiration="1822830574000"><meta name="shopify-s" content="f5b0cf13-53c4-4d83-a523-ca24b0327956" data-expiration="1791274774000"><meta name="new-cookie-storage-activated" content="t">
676</head>
677  <body
678    class='
679      gradient
680      page-fade
681      index
682
683      page-index
684      template--index
685      
686
687      
688        product--hide-quantity
689      
690    '
691  >
692    <style>
693      .mobile-nav__overlay,
694      .navbar__search,
695      .mobile-menu {
696        opacity: 0;
697        visibility: hidden;
698      }
699      .page-transition {
700        position: fixed;
701        top: 0;
702        left: 0;
703        width: 100%;
704        height: 100%;
705        background: #fff;
706        transition: all 0.5s ease;
707        opacity: 0;
708        visibility: hidden;
709        z-index: 999999;
710        pointer-events: none;
711
712        display: none;
713      }
714      .page-fade .page-transition {
715        opacity: 1;
716        visibility: visible;
717        pointer-events: auto;
718      }
719    </style>
720    <div class='page-transition'></div>
721
722    <!-- BEGIN sections: main-header -->
723<div id="shopify-section-sections--18043285536968__header" class="shopify-section shopify-section-group-main-header"><div class='navbar navbar--solid '>
724  
725    <div class='navbar__announcement announcement-bar__wrapper'>
726      
727      <link href="//twoislandsco.com/cdn/shop/t/190/assets/component-announcement-bar.css?v=148775979379327074801702591920" rel="stylesheet" type="text/css" media="all" />
728
729<div class="announcement-bar" style="--gap: 60px;">
730  <div class="announcement-bar__marquee">
731    <div class="marquee" style="--duration: 35s;">
732      
733      
734        <div class="marquee__content">
735          <ul class="announcement-bar__items" >
736            
737              <li>
738                
739                  <a href="/collections/all-products" class="announcement-bar__item">
740                    DISCOUNT AUTOMATICALLY APPLIES AT CHECKOUT
741                  </a>
742                
743              </li>
744            
745              <li>
746                
747                  <a href="/products/creatine-hydration" class="announcement-bar__item">
748                    🍑 <b>NEW</b> CREATINE HYDRATION IN PEACH RASPBERRY <b>NEW</b> 🍑
749                  </a>
750                
751              </li>
752            
753              <li>
754                
755                  <div class=" md-hide announcement-bar__item">
756                    FREE SHIPPING ON AU ORDERS OVER $130
757                  </div>
758                  <div class="md-show announcement-bar__item">
759                    FREE SHIPPING ON AU ORDERS OVER $130
760                  </div>
761                
762              </li>
763            
764              <li>
765                
766                  <a href="/collections/all-products" class="announcement-bar__item">
767                    FREE SHIPPING ON NZ ORDERS OVER $90
768                  </a>
769                
770              </li>
771            
772              <li>
773                
774                  <a href="/products/creatine-hydration" class="announcement-bar__item">
775                    💧 <b>NEW</b> CREATINE HYDRATION IN UNFLAVOURED <b>NEW</b> 💧
776                  </a>
777                
778              </li>
779            
780          </ul>
781        </div>
782      
783      
784        <div class="marquee__content">
785          <ul class="announcement-bar__items" aria-hidden="true">
786            
787              <li>
788                
789                  <a href="/collections/all-products" class="announcement-bar__item">
790                    DISCOUNT AUTOMATICALLY APPLIES AT CHECKOUT
791                  </a>
792                
793              </li>
794            
795              <li>
796                
797                  <a href="/products/creatine-hydration" class="announcement-bar__item">
798                    🍑 <b>NEW</b> CREATINE HYDRATION IN PEACH RASPBERRY <b>NEW</b> 🍑
799                  </a>
800                
801              </li>
802            
803              <li>
804                
805                  <div class=" md-hide announcement-bar__item">
806                    FREE SHIPPING ON AU ORDERS OVER $130
807                  </div>
808                  <div class="md-show announcement-bar__item">
809                    FREE SHIPPING ON AU ORDERS OVER $130
810                  </div>
811                
812              </li>
813            
814              <li>
815                
816                  <a href="/collections/all-products" class="announcement-bar__item">
817                    FREE SHIPPING ON NZ ORDERS OVER $90
818                  </a>
819                
820              </li>
821            
822              <li>
823                
824                  <a href="/products/creatine-hydration" class="announcement-bar__item">
825                    💧 <b>NEW</b> CREATINE HYDRATION IN UNFLAVOURED <b>NEW</b> 💧
826                  </a>
827                
828              </li>
829            
830          </ul>
831        </div>
832      
833    </div>
834  </div>
835  
836  
837
838  <a class="announcement-bar__close" href="#" title="Close" aria-label="Close">
839    <svg width="9" height="8" viewBox="0 0 9 8" fill="none" xmlns="http://www.w3.org/2000/svg">
840      <path d="M1 0.5L7.99487 7.5" stroke="black"/>
841      <path d="M7.99512 0.5L1.00025 7.5" stroke="black"/>
842    </svg>
843  </a>
844</div>
845
846
847<script>
848  if( Cookies.get('announcement-bar') == 'dismissed' ) {
849    $('.announcement-bar__wrapper').hide();
850    document.documentElement.style.setProperty('--announcement-height', '0px');
851  }
852
853  $('.announcement-bar__close').on('click', function(e) {
854    e.preventDefault();
855    
856    Cookies.set('announcement-bar', 'dismissed', {
857      expires: +`7`, 
858      path: ''
859    });
860
861    $('.announcement-bar__wrapper').slideUp(function() {
862      $(window).trigger('resize');
863      ScrollTrigger.refresh();
864    });
865    document.documentElement.style.setProperty('--announcement-height', '0px');
866  });
867
868  // $(function() {
869  //   var quotes = $(".announcement-bar__items > li");
870  //   var quoteIndex = -1;
871  
872  //   function showNextQuote() {
873  //     ++quoteIndex;
874  //     quotes.eq(quoteIndex % quotes.length)
875  //       .fadeIn(1000)
876  //       .delay(5000)
877  //       .fadeOut(1000, showNextQuote);
878  //   }
879  
880  //   showNextQuote();
881  // });
882</script>
882
883    </div>
884  
885
886  <div class='navbar__main'>
887    <div class='navbar__main-border'></div>
888
889    <div class='navbar__grid'>
890      <div class='navbar__left'>
891        <div class='navbar__left-border'></div>
892
893        <div class='navbar__logo'>
894          <a href='/' data-transition aria-label='Home'>
895            
896            <svg xmlns="http://www.w3.org/2000/svg" width="193" height="30" viewBox="0 0 193 30" fill="none">
897            <path d="M185.622 29.4765C184.331 29.4765 183.149 29.3073 182.072 28.9652C181.02 28.5966 180.113 28.115 179.35 27.5106C178.614 26.9095 178.024 26.2253 177.576 25.4682L179.57 22.4396H179.591C179.827 23.5919 180.232 24.6148 180.814 25.5047C181.39 26.3947 182.089 27.0889 182.903 27.587C183.741 28.0586 184.648 28.2944 185.622 28.2944C186.465 28.2944 187.226 28.125 187.908 27.783C188.618 27.4176 189.171 26.9195 189.565 26.2919C189.958 25.6641 190.158 24.9668 190.158 24.2096C190.158 23.1601 189.855 22.2967 189.251 21.6161C188.644 20.9087 187.726 20.3573 186.492 19.9655L183.256 19.0223C182.23 18.7069 181.363 18.3283 180.654 17.8832C179.969 17.4116 179.43 16.8339 179.036 16.153C178.643 15.4456 178.448 14.6087 178.448 13.639C178.448 12.5931 178.738 11.6632 179.313 10.8495C179.893 10.0392 180.697 9.40825 181.719 8.96318C182.773 8.51831 183.943 8.29565 185.23 8.29565C186.202 8.29565 187.109 8.42847 187.948 8.6877C188.817 8.92329 189.592 9.26208 190.275 9.71044C190.957 10.1588 191.537 10.6802 192.01 11.2846L190.491 14.1937L190.47 14.1904C190.104 12.7756 189.432 11.6365 188.461 10.7698C187.516 9.87985 186.435 9.43476 185.226 9.43476C184.042 9.43476 183.057 9.76348 182.27 10.4178C181.507 11.072 181.127 11.9089 181.127 12.9316C181.127 13.742 181.39 14.4128 181.916 14.9342C182.442 15.459 183.269 15.8907 184.401 16.2328L187.674 17.2157C188.809 17.5312 189.765 17.9629 190.554 18.5143C191.344 19.0356 191.948 19.7064 192.372 20.5168C192.791 21.3303 193.001 22.2869 193.001 23.3861C193.001 24.5118 192.684 25.5479 192.055 26.4911C191.424 27.4076 190.542 28.1415 189.411 28.6928C188.279 29.2175 187.014 29.4765 185.622 29.4765Z" fill="black"/>
898            <path d="M164.543 27.63C165.489 27.63 166.383 27.3942 167.226 26.9226C168.091 26.4245 168.815 25.7305 169.395 24.8403C169.999 23.9504 170.396 22.9009 170.579 21.6956V14.1104C170.209 13.0877 169.748 12.2242 169.199 11.5168C168.671 10.8095 168.056 10.2848 167.345 9.94274C166.636 9.57743 165.848 9.39139 164.979 9.39139C163.69 9.39139 162.532 9.8231 161.507 10.69C160.481 11.5269 159.693 12.6658 159.14 14.1071C158.587 15.5484 158.31 17.1359 158.31 18.8628C158.31 20.4866 158.561 21.9678 159.06 23.3028C159.56 24.6113 160.283 25.6608 161.231 26.4477C162.181 27.2382 163.283 27.63 164.543 27.63ZM163.836 29.4765C162.101 29.4765 160.563 29.0314 159.221 28.1415C157.88 27.2513 156.842 26.0062 156.104 24.4086C155.395 22.7848 155.039 20.9383 155.039 18.866C155.039 16.8504 155.458 15.0405 156.301 13.4429C157.167 11.8191 158.355 10.5605 159.85 9.67035C161.35 8.75389 163.034 8.29567 164.899 8.29567C166.033 8.29567 167.069 8.50473 168.015 8.92329C168.963 9.31512 169.816 9.97256 170.579 10.8892V2.75289L168.132 1.77002V1.7433L173.535 0V27.3144L175.981 29.0812H170.579V24.3654C169.999 26.016 169.092 27.2879 167.855 28.1779C166.648 29.0448 165.306 29.4765 163.836 29.4765Z" fill="black"/>
899            <path d="M132.502 29.0847L134.987 27.3146V11.0853L132.502 9.13933L137.944 8.33224V13.4398C138.497 11.7629 139.35 10.4943 140.507 9.62738C141.689 8.73743 143.042 8.29236 144.569 8.29236C145.805 8.29236 146.894 8.55487 147.842 9.07951C148.815 9.57762 149.565 10.3514 150.091 11.3976C150.644 12.4203 150.918 13.6491 150.918 15.0904V27.3113L153.364 29.0814H145.515L147.961 27.3113V15.2065C147.961 14.1073 147.778 13.1908 147.408 12.4569C147.065 11.723 146.566 11.185 145.908 10.8463C145.279 10.4777 144.555 10.2949 143.739 10.2949C142.847 10.2949 141.993 10.5307 141.175 11.0023C140.363 11.4474 139.662 12.128 139.087 13.0447C138.534 13.9346 138.153 15.0106 137.939 16.2661V27.3081L140.386 29.0781H132.502V29.0847Z" fill="black"/>
900            <path d="M130.66 29.0847L128.173 27.3179V15.253C128.173 13.8117 127.883 12.5665 127.307 11.5203C126.729 10.4709 125.874 9.67386 124.744 9.1227C123.642 8.57135 122.312 8.29565 120.762 8.29565C119.236 8.29565 117.881 8.57135 116.699 9.1227C115.515 9.67386 114.584 10.431 113.899 11.4007C113.217 12.3704 112.847 13.483 112.797 14.7417H115.852C115.858 13.7453 116.035 12.8786 116.383 12.148C116.802 11.2315 117.392 10.5506 118.155 10.1056C118.92 9.66069 119.758 9.43805 120.679 9.43805C121.598 9.43805 122.388 9.64733 123.045 10.0657C123.728 10.4577 124.254 11.0488 124.62 11.8359C125.015 12.5963 125.214 13.5128 125.214 14.5855V16.6279L119.415 17.9662C117.836 18.3581 116.523 18.843 115.472 19.4209C114.419 19.972 113.62 20.6529 113.067 21.4631C112.54 22.2735 112.277 23.2333 112.277 24.3325C112.277 25.3785 112.514 26.2985 112.987 27.0821C113.486 27.8428 114.183 28.4305 115.077 28.8489C115.996 29.2674 117.063 29.4765 118.272 29.4765C120.058 29.4765 121.532 29.0183 122.688 28.1018C123.734 27.2483 124.575 26.0925 125.21 24.638V29.0847H130.66ZM124.073 25.1561C123.52 25.9663 122.852 26.584 122.061 27.0026C121.271 27.4209 120.391 27.6302 119.419 27.6302C118.182 27.6302 117.221 27.3013 116.539 26.6471C115.856 25.993 115.513 25.0864 115.513 23.9372C115.513 22.6522 115.947 21.5926 116.812 20.7524C117.68 19.9157 118.996 19.2714 120.755 18.8264L125.21 17.7271V22.476C124.98 23.4856 124.602 24.3823 124.073 25.1561Z" fill="black"/>
901            <path d="M107.23 0.0032959L101.789 1.77352L104.231 2.7531V27.3147L101.789 29.0847H109.677L107.23 27.3147V0.0032959Z" fill="black"/>
902            <path d="M91.9673 29.4768C90.6776 29.4768 89.4945 29.3074 88.4181 28.9655C87.3684 28.5967 86.4585 28.1152 85.6987 27.5108C84.9621 26.9097 84.3723 26.2255 83.9258 25.4684L85.932 22.4431H85.9353C86.1719 23.5954 86.5785 24.6183 87.1583 25.5083C87.7382 26.3982 88.4347 27.0925 89.248 27.5906C90.0878 28.0622 90.9941 28.298 91.9673 28.298C92.8071 28.298 93.5702 28.1286 94.2536 27.7865C94.9632 27.4212 95.5166 26.9231 95.9097 26.2955C96.303 25.6678 96.503 24.9703 96.503 24.2132C96.503 23.1637 96.1998 22.3002 95.5966 21.6196C94.9899 20.9122 94.0702 20.3608 92.8339 19.969L89.6011 19.0258C88.5747 18.7105 87.7082 18.3318 86.9983 17.8867C86.3152 17.4153 85.7754 16.8375 85.3821 16.1566C84.9888 15.4492 84.7888 14.6123 84.7888 13.6426C84.7888 12.5966 85.0789 11.6668 85.6553 10.8531C86.2352 10.0427 87.0384 9.41178 88.0616 8.9667C89.1113 8.52183 90.2843 8.29919 91.5708 8.29919C92.5438 8.29919 93.4504 8.43221 94.2902 8.69124C95.1567 8.92704 95.9331 9.26562 96.6163 9.71398C97.2994 10.1623 97.8793 10.6837 98.3526 11.2881L96.8196 14.1972H96.8163C96.4497 12.7826 95.7765 11.6435 94.8068 10.7766C93.8603 9.88667 92.7804 9.44159 91.5708 9.44159C90.3877 9.44159 89.4011 9.77052 88.6148 10.4247C87.851
9025 11.0788 87.4716 11.9157 87.4716 12.9387C87.4716 13.7489 87.7349 14.4197 88.2614 14.9412C88.7881 15.4658 89.6145 15.8975 90.7477 16.2396L94.0202 17.2227C95.1534 17.5381 96.1097 17.9698 96.8996 18.5211C97.6894 19.0425 98.2926 19.7133 98.7158 20.5237C99.1358 21.3373 99.3457 22.2937 99.3457 23.3929C99.3457 24.5186 99.0324 25.5547 98.3992 26.4979C97.7694 27.4146 96.8862 28.1485 95.7566 28.6997C94.6234 29.2177 93.3603 29.4768 91.9673 29.4768Z" fill="black"/>
903            <path d="M77.6885 5.26719C77.0586 5.26719 76.5321 5.05791 76.1121 4.63956C75.6923 4.22101 75.4824 3.70973 75.4824 3.10862C75.4824 2.50423 75.6923 2.00941 76.1121 1.61408C76.5321 1.19573 77.0586 0.98645 77.6885 0.98645C78.2918 0.98645 78.805 1.19573 79.2249 1.61408C79.6715 2.03264 79.8947 2.54391 79.8947 3.14831C79.8947 3.74941 79.6715 4.26089 79.2249 4.67945C78.805 5.07128 78.2918 5.26719 77.6885 5.26719ZM81.7476 29.0848H73.8594L76.3454 27.3147V11.0854L73.8594 9.13945L79.3014 8.33235V27.3147L81.7476 29.0848Z" fill="black"/>
904            <path d="M53.49 28.2978C54.6999 28.2978 55.803 27.9059 56.8027 27.1188C57.8292 26.3086 58.6291 25.1794 59.2088 23.7413C59.7854 22.3 60.0753 20.6762 60.0753 18.8663C60.0753 17.0597 59.7854 15.4492 59.2088 14.0344C58.6291 12.5931 57.8292 11.4805 56.8027 10.6935C55.803 9.87987 54.6999 9.47467 53.49 9.47467C52.227 9.47467 51.0973 9.87987 50.0976 10.6935C49.0977 11.4805 48.3111 12.5931 47.7314 14.0344C47.1782 15.4492 46.9015 17.0597 46.9015 18.8663C46.9015 20.6994 47.1782 22.3366 47.7314 23.7779C48.3078 25.1927 49.0977 26.3051 50.0976 27.1188C51.0973 27.9059 52.2305 28.2978 53.49 28.2978ZM53.4502 29.4767C51.5572 29.4767 49.861 29.0183 48.3613 28.1018C46.8649 27.1852 45.6952 25.9266 44.8519 24.3293C44.0388 22.7052 43.6289 20.8855 43.6289 18.8663C43.6289 16.8506 44.0355 15.0407 44.8519 13.4431C45.6952 11.8193 46.8649 10.5607 48.3613 9.6706C49.861 8.75413 51.5572 8.2959 53.4502 8.2959C55.3431 8.2959 57.0393 8.75413 58.539 9.6706C60.0387 10.564 61.2084 11.8193 62.0482 13.4431C62.8915 15.0672 63.3113 16.8738 63.3113 18.8663C63.3113 20.8855 62.8915 22.7052 62.0482 24.3293C61.2084 25.9266 60.0387 27.1852 58.539 28.1018C57.0393 29.0183 55.3431 29.4767 53.4502 29.4767Z" fill="black"/>
905            <path d="M36.6923 9.1428L39.0984 10.4579L34.366 25.1961L29.6338 10.4579L31.9998 9.1428H24.0715L26.4778 10.5375L26.9109 11.7164L22.3354 25.3522L17.3664 10.4579L19.7724 9.1428L6.70532 9.13931V3.776H5.95558C5.74548 5.03475 5.4589 6.90777 3.96928 8.13322C2.55286 9.29884 1.10313 9.60762 0 9.76365V10.471H3.74603V24.6049C3.74603 26.2555 4.16582 27.4875 5.0091 28.2979C5.8754 29.0848 7.03198 29.4767 8.4815 29.4767C9.29477 29.4767 9.99456 29.334 10.5712 29.045C11.1476 28.7561 11.6342 28.3908 12.0308 27.9457L11.7942 27.3181C11.5308 27.5274 11.1877 27.6834 10.7677 27.7897C10.3745 27.896 9.95467 27.9457 9.50466 27.9457C8.66159 27.9457 7.97846 27.6968 7.45506 27.1987C6.9553 26.7004 6.70532 25.9134 6.70532 24.8407V10.4743H14.1803L20.679 29.0881H22.0587L27.7774 14.0742L32.7063 29.0881H34.126L40.8314 10.5375L43.354 9.1428H36.6923Z" fill="black"/>
906            </svg>
907          </a>
908        </div>
909      </div>
910
911      <div class='navbar__right'>
912        <ul class='navbar__links navbar__links--left'>
913          
914            <li>
915              <a
916                
917                  class='megamenu__trigger'
918                
919                href='/collections/all-products'
920                data-transition
921              >
922                Shop
923              </a>
924            </li>
925          
926            <li>
927              <a
928                
929                href='/pages/subscriptions'
930                data-transition
931              >
932                Subscribe
933              </a>
934            </li>
935          
936            <li>
937              <a
938                
939                href='/pages/island-rewards'
940                data-transition
941              >
942                Island Rewards 
943              </a>
944            </li>
945          
946            <li>
947              <a
948                
949                href='/blogs/ingredients'
950                data-transition
951              >
952                Ingredients
953              </a>
954            </li>
955          
956            <li>
957              <a
958                
959                href='https://twoislandsco.com/blogs/blog/tagged/markets-NZ'
960                data-transition
961              >
962                Journal
963              </a>
964            </li>
965          
966        </ul>
967
968        <ul class='navbar__links navbar__links--right'>
969          <li>
970            <a class='search__trigger' href='#'>
971              <svg width='23' height='22' viewBox='0 0 23 22' fill='none' xmlns='http://www.w3.org/2000/svg'>
972  <path fill-rule="evenodd" clip-rule="evenodd" d="M16.2889 16.4888C14.6227 17.9698 12.4282 18.8694 10.0236 18.8694C4.81292 18.8694 0.588867 14.6453 0.588867 9.4347C0.588867 4.22406 4.81292 0 10.0236 0C15.2342 0 19.4583 4.22406 19.4583 9.4347C19.4583 11.8395 18.5585 14.0341 17.0774 15.7004L22.4252 21.0483C22.643 21.266 22.643 21.619 22.4252 21.8367C22.2075 22.0544 21.8545 22.0544 21.6368 21.8367L16.2889 16.4888ZM18.3432 9.4347C18.3432 14.0295 14.6184 17.7544 10.0236 17.7544C5.42873 17.7544 1.70388 14.0295 1.70388 9.4347C1.70388 4.83986 5.42873 1.11501 10.0236 1.11501C14.6184 1.11501 18.3432 4.83986 18.3432 9.4347Z" fill="#3E3E3D" style="fill: var(--icon-color);"/>
973</svg>
974
975            </a>
976          </li>
977
978          
979            
980              <!-- If user is not logged in, on click take them to the login page -->
981              <li>
982                <a href='/account/login' data-transition>
983                  <svg width='19' height='23' viewBox='0 0 19 23' fill='none' xmlns='http://www.w3.org/2000/svg'>
984  <path d="M0.588501 21.4999C0.588501 16.6014 4.55953 12.6304 9.45805 12.6304C14.3566 12.6304 18.3276 16.6014 18.3276 21.4999" stroke="#3E3E3D" stroke-width="1.1" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round" style="stroke: var(--icon-color);"/>
985  <circle cx="9.19772" cy="5.45651" r="4.40651" stroke="#3E3E3D" stroke-width="1.1" style="stroke: var(--icon-color);"/>
986</svg>
987
988                </a>
989              </li>
990            
991          
992
993          <li>
994            <a class='navbar__cart-link' href='#'>
995              <svg xmlns='http://www.w3.org/2000/svg' width='20' height='22' viewBox='0 0 20 22' fill='none'>
996  <g clip-path="url(#clip0_284_38)">
997    <path d="M19.9833 21.3075L18.0061 5.71483C17.9727 5.4562 17.7474 5.25597 17.4805 5.25597H14.2768V3.4873C14.2768 1.56845 12.7084 0 10.7895 0H9.5381C7.61091 0 6.05081 1.56845 6.05081 3.4873V5.25597H2.84717C2.5802 5.25597 2.3466 5.4562 2.31323 5.71483L0.327637 21.3993C0.302608 21.5578 0.352665 21.6997 0.452779 21.8165C0.552893 21.9333 0.703063 22 0.853234 22H19.4577C19.6162 22 19.758 21.9333 19.8582 21.8165C19.9583 21.708 20.0083 21.5495 19.9833 21.3993V21.3075ZM7.11034 3.4873C7.11034 2.15245 8.20325 1.06788 9.5381 1.06788H10.7895C12.1244 1.06788 13.2089 2.15245 13.2089 3.4873V5.25597H7.11034V3.4873ZM1.46226 20.9321L3.31436 6.31551H6.05081V8.96852C6.05081 9.26887 6.29275 9.50246 6.58475 9.50246C6.87675 9.50246 7.11034 9.26887 7.11034 8.96852V6.31551H13.2089V8.96852C13.2089 9.26887 13.4509 9.50246 13.7429 9.50246C14.0349 9.50246 14.2768 9.26887 14.2768 8.96852V6.31551H17.0133L17.0299 6.46568L18.8654 20.9321H1.46226Z" fill="#3E3E3D" style="fill: var(--icon-color);"/>
998  </g>
999  <defs>
1000    <clipPath id="clip0_284_38">
1001      <rect width="19.6724" height="22" fill="white" transform="translate(0.327637)" style="fill: var(--icon-color);"/>
1002    </clipPath>
1003  </defs>
1004</svg>
1005
1006
1007              <div class='cart-badge' style='color: var(--icon-color);' data-ajax-cart-bind-state='cart.item_count'>
1008                0
1009              </div>
1010            </a>
1011          </li>
1012        </ul>
1013      </div>
1014    </div>
1015  </div>
1016
1017  <div class='navbar__megamenu'>
1018    <div class='megamenu'>
1019  <div class='megamenu__grid'>
1020    <div class='megamenu__left'>
1021      
1022  
1023    <div class='megamenu__column'>
1024      <a class='megamenu__main-link' href='/collections/bestsellers'>
1025        <span>
1026          Best Sellers
1027        </span>
1028      </a>
1029
1030      <ul>
1031        
1032          <li>
1033            <a class='megamenu__secondary-link' href='/products/electrolyte'>
1034              <span>
1035                Hydrate⁴ Hydration Powder
1036              </span>
1037            </a>
1038          </li>
1039        
1040          <li>
1041            <a class='megamenu__secondary-link' href='/products/creatine-hydration'>
1042              <span>
1043                Creatine Hydration
1044              </span>
1045            </a>
1046          </li>
1047        
1048          <li>
1049            <a class='megamenu__secondary-link' href='/products/protein-organic-greens-probiotics'>
1050              <span>
1051                Protein & Organic Greens
1052              </span>
1053            </a>
1054          </li>
1055        
1056          <li>
1057            <a class='megamenu__secondary-link' href='/products/pea-protein-powder'>
1058              <span>
1059                Pea Protein Powder
1060              </span>
1061            </a>
1062          </li>
1063        
1064          <li>
1065            <a class='megamenu__secondary-link' href='/products/collagen-beauty-powder'>
1066              <span>
1067                Marine Collagen Beauty Powder
1068              </span>
1069            </a>
1070          </li>
1071        
1072          <li>
1073            <a class='megamenu__secondary-link' href='/products/happy-gut'>
1074              <span>
1075                Happy Gut
1076              </span>
1077            </a>
1078          </li>
1079        
1080          <li>
1081            <a class='megamenu__secondary-link' href='/products/milk-maker'>
1082              <span>
1083                Milk Maker
1084              </span>
1085            </a>
1086          </li>
1087        
1088          <li>
1089            <a class='megamenu__secondary-link' href='/products/marine-collagen-beauty-capsules'>
1090              <span>
1091                Marine Collagen Capsules
1092              </span>
1093            </a>
1094          </li>
1095        
1096        
1097      </ul>
1098    </div>
1099  
1100
1101  
1102    <div class='megamenu__column'>
1103      <a class='megamenu__main-link' href='#'>
1104        <span>
1105          Shop by Benefit
1106        </span>
1107      </a>
1108
1109      <ul>
1110        
1111          <li>
1112            <a class='megamenu__secondary-link' href='/collections/beauty-skincare'>
1113              <span>
1114                Beauty
1115              </span>
1116            </a>
1117          </li>
1118        
1119          <li>
1120            <a class='megamenu__secondary-link' href='/collections/gut-health'>
1121              <span>
1122                Gut Health
1123              </span>
1124            </a>
1125          </li>
1126        
1127          <li>
1128            <a class='megamenu__secondary-link' href='/collections/stress-mood-rest'>
1129              <span>
1130                Stress & Mood
1131              </span>
1132            </a>
1133          </li>
1134        
1135          <li>
1136            <a class='megamenu__secondary-link' href='/collections/postpartum'>
1137              <span>
1138                Postpartum
1139              </span>
1140            </a>
1141          </li>
1142        
1143          <li>
1144            <a class='megamenu__secondary-link' href='/collections/sports-nutrition'>
1145              <span>
1146                Sports & Performance
1147              </span>
1148            </a>
1149          </li>
1150        
1151          <li>
1152            <a class='megamenu__secondary-link' href='/collections/hydration'>
1153              <span>
1154                Hydration
1155              </span>
1156            </a>
1157          </li>
1158        
1159          <li>
1160            <a class='megamenu__secondary-link' href='/collections/joint-support'>
1161              <span>
1162                Joint Support
1163              </span>
1164            </a>
1165          </li>
1166        
1167        
1168      </ul>
1169    </div>
1170  
1171
1172  
1173    <div class='megamenu__column'>
1174      <a class='megamenu__main-link' href='/collections/refills'>
1175        <span>
1176          Refills 
1177        </span>
1178      </a>
1179
1180      <ul>
1181        
1182          <li>
1183            <a class='megamenu__secondary-link' href='/products/marine-collagen-capsules-refill'>
1184              <span>
1185                Marine Collagen Capsules Refill
1186              </span>
1187            </a>
1188          </li>
1189        
1190          <li>
1191            <a class='megamenu__secondary-link' href='/products/happy-days-refill'>
1192              <span>
1193                Happy Days Refill
1194              </span>
1195            </a>
1196          </li>
1197        
1198          <li>
1199            <a class='megamenu__secondary-link' href='/collections/refills'>
1200              <span>
1201                Shop All Refills
1202              </span>
1203            </a>
1204          </li>
1205        
1206        
1207      </ul>
1208    </div>
1209  
1210
1211  
1212    <div class='megamenu__column'>
1213      <a class='megamenu__main-link' href='#'>
1214        <span>
1215          Shop by Category
1216        </span>
1217      </a>
1218
1219      <ul>
1220        
1221          <li>
1222            <a class='megamenu__secondary-link' href='/collections/hydrate-electrolytes'>
1223              <span>
1224                Hydration
1225              </span>
1226            </a>
1227          </li>
1228        
1229          <li>
1230            <a class='megamenu__secondary-link' href='/collections/protein-powder'>
1231              <span>
1232                Proteins
1233              </span>
1234            </a>
1235          </li>
1236        
1237          <li>
1238            <a class='megamenu__secondary-link' href='/collections/marine-collagen'>
1239              <span>
1240                Collagens
1241              </span>
1242            </a>
1243          </li>
1244        
1245          <li>
1246            <a class='megamenu__secondary-link' href='/collections/supplements'>
1247              <span>
1248                Supplements
1249              </span>
1250            </a>
1251          </li>
1252        
1253        
1254          <div class='megamenu__nested-links'>
1255            
1256              
1257            
1258              
1259            
1260              
1261            
1262              
1263            
1264              
1265                <a class='megamenu__main-link megamenu__main-link--nested' href='/collections/all-products'>
1266                  <span>
1267                    Shop All
1268                  </span>
1269                </a>
1270              
1271            
1272              
1273                <a class='megamenu__main-link megamenu__main-link--nested' href='/pages/subscriptions'>
1274                  <span>
1275                    Subscribe & Save
1276                  </span>
1277                </a>
1278              
1279            
1280              
1281                <a class='megamenu__main-link megamenu__main-link--nested' href='/collections/best-selling-bundles'>
1282                  <span>
1283                    Island Kits & Refill Bundles
1284                  </span>
1285                </a>
1286              
1287            
1288              
1289                <a class='megamenu__main-link megamenu__main-link--nested' href='/collections/sachets-samplers'>
1290                  <span>
1291                    Samples & Merch
1292                  </span>
1293                </a>
1294              
1295            
1296          </div>
1297        
1298      </ul>
1299    </div>
1300  
1301
1302  
1303
1304  
1305
1306  
1307
1308  
1309
1310
1311    </div>
1312    <div class='megamenu__right'>
1313      
1314        
1315      
1316        
1317      
1318        
1319      
1320        
1321      
1322        
1323      
1324        
1325            
1326
1327<div class='megamenu__card'>
1328  <div class='megamenu__card-image'>
1329    <img src='//twoislandsco.com/cdn/shop/files/Frame_326_overlayx2.png?v=1787007132&width=350' alt=''>
1330  </div>
1331  <div class='megamenu__card-content'>
1332    <div class='megamenu__card-title'>NEW: Creatine Hydration</div>
1333    <div class='megamenu__card-description'>
1334      Our newest formula to help you feel strong, clear, and hydrated has just landed.
1335    </div>
1336    <a href='/products/creatine-hydration' class='megamenu__card-link'>Shop Now</a>
1337  </div>
1338</div>
1339
1340        
1341      
1342    </div>
1343  </div>
1344</div>
1345
1346<script>
1347  if (window.innerWidth < 900) {
1348    document.querySelector('.navbar__megamenu').remove();
1349  }
1350</script>
1350
1351
1352  </div>
1353
1354  <div class='navbar__search'>
1355    
1355<script src='//twoislandsco.com/cdn/shop/t/190/assets/predictive-search.js?v=91367176540884072901760503371' defer='defer'></script>
1355
1356
1357<predictive-search class='search'>
1358  <div class='search__input'>
1359    <input id='search-input' type='text' placeholder='Search'>
1360
1361    <div class='search__close'>
1362      <p class='search__no-results'>0 results</p>
1363
1364      <svg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'>
1365        <path d="M1 1L21 21" stroke="#D8D8D8" stroke-width="1.6"/>
1366        <path d="M21 1L0.999999 21" stroke="#D8D8D8" stroke-width="1.6"/>
1367      </svg>
1368    </div>
1369  </div>
1370
1371  <div class='search__content'>
1372    
1373      <div class='search__initial'>
1374        <h4>
1375          Most popular searches
1376        </h4>
1377
1378        <ul>
1379          
1380            <li>
1381              <a href='/search?q=Electrolyte%E2%81%B4&type=product&options[unavailable_products]=hide&options[prefix]=last'>Electrolyte⁴</a>
1382            </li>
1383          
1384            <li>
1385              <a href='/search?q=Happy+Gut&type=product&options[unavailable_products]=hide&options[prefix]=last'>Happy Gut</a>
1386            </li>
1387          
1388            <li>
1389              <a href='/search?q=Collagen+powder&type=product&options[unavailable_products]=hide&options[prefix]=last'>Collagen powder</a>
1390            </li>
1391          
1392            <li>
1393              <a href='/search?q=Pea+protein+powder&type=product&options[unavailable_products]=hide&options[prefix]=last'>Pea protein powder</a>
1394            </li>
1395          
1396            <li>
1397              <a href='/search?q=Inflammation&type=product&options[unavailable_products]=hide&options[prefix]=last'>Inflammation</a>
1398            </li>
1399          
1400        </ul>
1401      </div>
1402    
1403
1404    <div class='search-results' id='search-results' style='display: none;'></div>
1405  </div>
1406</predictive-search>
1407
1408  </div>
1409
1410  <div class='navbar__overlay'></div>
1411
1412  <!-- mobile menu -->
1413  <div class='mobile-nav'>
1414  <div class='mobile-nav__main'>
1415    <div class='mobile-nav__grid'>
1416      <div class='mobile-nav__left'>
1417        <div class='mobile-nav__toggle show-mobile mobile-menu__trigger'>
1418          <a href='#' class='js-mobile-menu__toggle' title='Menu' aria-label='Menu'>
1419            <span></span>
1420            <span></span>
1421            <span></span>
1422          </a>
1423        </div>
1424      </div>
1425      <div class='mobile-nav__logo'>
1426        <a href='/' aria-label='Home' title='Home'>
1427          
1428          <svg xmlns="http://www.w3.org/2000/svg" width="193" height="30" viewBox="0 0 193 30" fill="none">
1429            <path d="M185.622 29.4765C184.331 29.4765 183.149 29.3073 182.072 28.9652C181.02 28.5966 180.113 28.115 179.35 27.5106C178.614 26.9095 178.024 26.2253 177.576 25.4682L179.57 22.4396H179.591C179.827 23.5919 180.232 24.6148 180.814 25.5047C181.39 26.3947 182.089 27.0889 182.903 27.587C183.741 28.0586 184.648 28.2944 185.622 28.2944C186.465 28.2944 187.226 28.125 187.908 27.783C188.618 27.4176 189.171 26.9195 189.565 26.2919C189.958 25.6641 190.158 24.9668 190.158 24.2096C190.158 23.1601 189.855 22.2967 189.251 21.6161C188.644 20.9087 187.726 20.3573 186.492 19.9655L183.256 19.0223C182.23 18.7069 181.363 18.3283 180.654 17.8832C179.969 17.4116 179.43 16.8339 179.036 16.153C178.643 15.4456 178.448 14.6087 178.448 13.639C178.448 12.5931 178.738 11.6632 179.313 10.8495C179.893 10.0392 180.697 9.40825 181.719 8.96318C182.773 8.51831 183.943 8.29565 185.23 8.29565C186.202 8.29565 187.109 8.42847 187.948 8.6877C188.817 8.92329 189.592 9.26208 190.275 9.71044C190.957 10.1588 191.537 10.6802 192.01 11.2846L190.491 14.1937L190.47 14.1904C190.104 12.7756 189.432 11.6365 188.461 10.7698C187.516 9.87985 186.435 9.43476 185.226 9.43476C184.042 9.43476 183.057 9.76348 182.27 10.4178C181.507 11.072 181.127 11.9089 181.127 12.9316C181.127 13.742 181.39 14.4128 181.916 14.9342C182.442 15.459 183.269 15.8907 184.401 16.2328L187.674 17.2157C188.809 17.5312 189.765 17.9629 190.554 18.5143C191.344 19.0356 191.948 19.7064 192.372 20.5168C192.791 21.3303 193.001 22.2869 193.001 23.3861C193.001 24.5118 192.684 25.5479 192.055 26.4911C191.424 27.4076 190.542 28.1415 189.411 28.6928C188.279 29.2175 187.014 29.4765 185.622 29.4765Z" fill="black"/>
1430            <path d="M164.543 27.63C165.489 27.63 166.383 27.3942 167.226 26.9226C168.091 26.4245 168.815 25.7305 169.395 24.8403C169.999 23.9504 170.396 22.9009 170.579 21.6956V14.1104C170.209 13.0877 169.748 12.2242 169.199 11.5168C168.671 10.8095 168.056 10.2848 167.345 9.94274C166.636 9.57743 165.848 9.39139 164.979 9.39
1430139C163.69 9.39139 162.532 9.8231 161.507 10.69C160.481 11.5269 159.693 12.6658 159.14 14.1071C158.587 15.5484 158.31 17.1359 158.31 18.8628C158.31 20.4866 158.561 21.9678 159.06 23.3028C159.56 24.6113 160.283 25.6608 161.231 26.4477C162.181 27.2382 163.283 27.63 164.543 27.63ZM163.836 29.4765C162.101 29.4765 160.563 29.0314 159.221 28.1415C157.88 27.2513 156.842 26.0062 156.104 24.4086C155.395 22.7848 155.039 20.9383 155.039 18.866C155.039 16.8504 155.458 15.0405 156.301 13.4429C157.167 11.8191 158.355 10.5605 159.85 9.67035C161.35 8.75389 163.034 8.29567 164.899 8.29567C166.033 8.29567 167.069 8.50473 168.015 8.92329C168.963 9.31512 169.816 9.97256 170.579 10.8892V2.75289L168.132 1.77002V1.7433L173.535 0V27.3144L175.981 29.0812H170.579V24.3654C169.999 26.016 169.092 27.2879 167.855 28.1779C166.648 29.0448 165.306 29.4765 163.836 29.4765Z" fill="black"/>
1431            <path d="M132.502 29.0847L134.987 27.3146V11.0853L132.502 9.13933L137.944 8.33224V13.4398C138.497 11.7629 139.35 10.4943 140.507 9.62738C141.689 8.73743 143.042 8.29236 144.569 8.29236C145.805 8.29236 146.894 8.55487 147.842 9.07951C148.815 9.57762 149.565 10.3514 150.091 11.3976C150.644 12.4203 150.918 13.6491 150.918 15.0904V27.3113L153.364 29.0814H145.515L147.961 27.3113V15.2065C147.961 14.1073 147.778 13.1908 147.408 12.4569C147.065 11.723 146.566 11.185 145.908 10.8463C145.279 10.4777 144.555 10.2949 143.739 10.2949C142.847 10.2949 141.993 10.5307 141.175 11.0023C140.363 11.4474 139.662 12.128 139.087 13.0447C138.534 13.9346 138.153 15.0106 137.939 16.2661V27.3081L140.386 29.0781H132.502V29.0847Z" fill="black"/>
1432            <path d="M130.66 29.0847L128.173 27.3179V15.253C128.173 13.8117 127.883 12.5665 127.307 11.5203C126.729 10.4709 125.874 9.67386 124.744 9.1227C123.642 8.57135 122.312 8.29565 120.762 8.29565C119.236 8.29565 117.881 8.57135 116.699 9.1227C115.515 9.67386 114.584 10.431 113.899 11.4007C113.217 12.3704 112.847 13.483 112.797 14.7417H115.852C115.858 13.7453 116.035 12.8786 116.383 12.148C116.802 11.2315 117.392 10.5506 118.155 10.1056C118.92 9.66069 119.758 9.43805 120.679 9.43805C121.598 9.43805 122.388 9.64733 123.045 10.0657C123.728 10.4577 124.254 11.0488 124.62 11.8359C125.015 12.5963 125.214 13.5128 125.214 14.5855V16.6279L119.415 17.9662C117.836 18.3581 116.523 18.843 115.472 19.4209C114.419 19.972 113.62 20.6529 113.067 21.4631C112.54 22.2735 112.277 23.2333 112.277 24.3325C112.277 25.3785 112.514 26.2985 112.987 27.0821C113.486 27.8428 114.183 28.4305 115.077 28.8489C115.996 29.2674 117.063 29.4765 118.272 29.4765C120.058 29.4765 121.532 29.0183 122.688 28.1018C123.734 27.2483 124.575 26.0925 125.21 24.638V29.0847H130.66ZM124.073 25.1561C123.52 25.9663 122.852 26.584 122.061 27.0026C121.271 27.4209 120.391 27.6302 119.419 27.6302C118.182 27.6302 117.221 27.3013 116.539 26.6471C115.856 25.993 115.513 25.0864 115.513 23.9372C115.513 22.6522 115.947 21.5926 116.812 20.7524C117.68 19.9157 118.996 19.2714 120.755 18.8264L125.21 17.7271V22.476C124.98 23.4856 124.602 24.3823 124.073 25.1561Z" fill="black"/>
1433            <path d="M107.23 0.0032959L101.789 1.77352L104.231 2.7531V27.3147L101.789 29.0847H109.677L107.23 27.3147V0.0032959Z" fill="black"/>
1434            <path d="M91.9673 29.4768C90.6776 29.4768 89.4945 29.3074 88.4181 28.9655C87.3684 28.5967 86.4585 28.1152 85.6987 27.5108C84.9621 26.9097 84.3723 26.2255 83.9258 25.4684L85.932 22.4431H85.9353C86.1719 23.5954 86.5785 24.6183 87.1583 25.5083C87.7382 26.3982 88.4347 27.0925 89.248 27.5906C90.0878 28.0622 90.9941 28.298 91.9673 28.298C92.8071 28.298 93.5702 28.1286 94.2536 27.7865C94.9632 27.4212 95.5166 26.9231 95.9097 26.2955C96.303 25.6678 96.503 24.9703 96.503 24.2132C96.503 23.1637 96.1998 22.3002 95.5966 21.6196C94.9899 20.9122 94.0702 20.3608 92.8339 19.969L89.6011 19.0258C88.5747 18.7105 87.7082 18.3318 86.9983 17.8867C86.3152 17.4153 85.7754 16.8375 85.3821 16.1566C84.9888 15.4492 84.7888 14.6123 84.7888 13.6426C84.7888 12.5966 85.0789 11.6668 85.6553 10.8531C86.2352 10.0427 87.0384 9.41178 88.0616 8.9667C89.1113 8.52183 90.2843 8.29919 91.5708 8.29919C92.5438 8.29919 93.4504 8.43221 94.2902 8.69124C95.1567 8.92704 95.9331 9.26562 96.6163 9.71398C97.2994 10.1623 97.8793 10.6837 98.3526 11.2881L96.8196 14.1972H96.8163C96.4497 12.7826 95.7765 11.6435 94.8068 10.7766C93.8603 9.88667 92.7804 9.44159 91.5708 9.44159C90.3877 9.44159 89.4011 9.77052 88.6148 10.4247C87.851
14345 11.0788 87.4716 11.9157 87.4716 12.9387C87.4716 13.7489 87.7349 14.4197 88.2614 14.9412C88.7881 15.4658 89.6145 15.8975 90.7477 16.2396L94.0202 17.2227C95.1534 17.5381 96.1097 17.9698 96.8996 18.5211C97.6894 19.0425 98.2926 19.7133 98.7158 20.5237C99.1358 21.3373 99.3457 22.2937 99.3457 23.3929C99.3457 24.5186 99.0324 25.5547 98.3992 26.4979C97.7694 27.4146 96.8862 28.1485 95.7566 28.6997C94.6234 29.2177 93.3603 29.4768 91.9673 29.4768Z" fill="black"/>
1435            <path d="M77.6885 5.26719C77.0586 5.26719 76.5321 5.05791 76.1121 4.63956C75.6923 4.22101 75.4824 3.70973 75.4824 3.10862C75.4824 2.50423 75.6923 2.00941 76.1121 1.61408C76.5321 1.19573 77.0586 0.98645 77.6885 0.98645C78.2918 0.98645 78.805 1.19573 79.2249 1.61408C79.6715 2.03264 79.8947 2.54391 79.8947 3.14831C79.8947 3.74941 79.6715 4.26089 79.2249 4.67945C78.805 5.07128 78.2918 5.26719 77.6885 5.26719ZM81.7476 29.0848H73.8594L76.3454 27.3147V11.0854L73.8594 9.13945L79.3014 8.33235V27.3147L81.7476 29.0848Z" fill="black"/>
1436            <path d="M53.49 28.2978C54.6999 28.2978 55.803 27.9059 56.8027 27.1188C57.8292 26.3086 58.6291 25.1794 59.2088 23.7413C59.7854 22.3 60.0753 20.6762 60.0753 18.8663C60.0753 17.0597 59.7854 15.4492 59.2088 14.0344C58.6291 12.5931 57.8292 11.4805 56.8027 10.6935C55.803 9.87987 54.6999 9.47467 53.49 9.47467C52.227 9.47467 51.0973 9.87987 50.0976 10.6935C49.0977 11.4805 48.3111 12.5931 47.7314 14.0344C47.1782 15.4492 46.9015 17.0597 46.9015 18.8663C46.9015 20.6994 47.1782 22.3366 47.7314 23.7779C48.3078 25.1927 49.0977 26.3051 50.0976 27.1188C51.0973 27.9059 52.2305 28.2978 53.49 28.2978ZM53.4502 29.4767C51.5572 29.4767 49.861 29.0183 48.3613 28.1018C46.8649 27.1852 45.6952 25.9266 44.8519 24.3293C44.0388 22.7052 43.6289 20.8855 43.6289 18.8663C43.6289 16.8506 44.0355 15.0407 44.8519 13.4431C45.6952 11.8193 46.8649 10.5607 48.3613 9.6706C49.861 8.75413 51.5572 8.2959 53.4502 8.2959C55.3431 8.2959 57.0393 8.75413 58.539 9.6706C60.0387 10.564 61.2084 11.8193 62.0482 13.4431C62.8915 15.0672 63.3113 16.8738 63.3113 18.8663C63.3113 20.8855 62.8915 22.7052 62.0482 24.3293C61.2084 25.9266 60.0387 27.1852 58.539 28.1018C57.0393 29.0183 55.3431 29.4767 53.4502 29.4767Z" fill="black"/>
1437            <path d="M36.6923 9.1428L39.0984 10.4579L34.366 25.1961L29.6338 10.4579L31.9998 9.1428H24.0715L26.4778 10.5375L26.9109 11.7164L22.3354 25.3522L17.3664 10.4579L19.7724 9.1428L6.70532 9.13931V3.776H5.95558C5.74548 5.03475 5.4589 6.90777 3.96928 8.13322C2.55286 9.29884 1.10313 9.60762 0 9.76365V10.471H3.74603V24.6049C3.74603 26.2555 4.16582 27.4875 5.0091 28.2979C5.8754 29.0848 7.03198 29.4767 8.4815 29.4767C9.29477 29.4767 9.99456 29.334 10.5712 29.045C11.1476 28.7561 11.6342 28.3908 12.0308 27.9457L11.7942 27.3181C11.5308 27.5274 11.1877 27.6834 10.7677 27.7897C10.3745 27.896 9.95467 27.9457 9.50466 27.9457C8.66159 27.9457 7.97846 27.6968 7.45506 27.1987C6.9553 26.7004 6.70532 25.9134 6.70532 24.8407V10.4743H14.1803L20.679 29.0881H22.0587L27.7774 14.0742L32.7063 29.0881H34.126L40.8314 10.5375L43.354 9.1428H36.6923Z" fill="black"/>
1438          </svg>
1439        </a>
1440      </div>
1441      <div class='mobile-nav__right'>
1442        <a href='#' class='search__trigger'>
1443          <svg width='22' height='21' viewBox='0 0 22 21' fill='none' xmlns='http://www.w3.org/2000/svg'>
1444            <path fill-rule="evenodd" clip-rule="evenodd" d="M15.18 15.6894C13.6047 17.0896 11.5298 17.9402 9.25638 17.9402C4.32996 17.9402 0.336304 13.9465 0.336304 9.02007C0.336304 4.09365 4.32996 0.0999985 9.25638 0.0999985C14.1828 0.0999985 18.1765 4.09365 18.1765 9.02007C18.1765 11.2937 17.3258 13.3686 15.9254 14.944L20.9816 20.0002C21.1874 20.206 21.1874 20.5398 20.9816 20.7456C20.7758 20.9515 20.442 20.9515 20.2362 20.7456L15.18 15.6894ZM17.1223 9.02007C17.1223 13.3643 13.6006 16.886 9.25638 16.886C4.91217 16.886 1.39049 13.3643 1.39049 9.02007C1.39049 4.67587 4.91217 1.15419 9.25638 1.15419C13.6006 1.15419 17.1223 4.67587 17.1223 9.02007Z" fill="#3E3E3D"/>
1445          </svg>
1446        </a>
1447        <a class='mobile-nav__cart cart-drawer__trigger' href='#'>
1448          <svg xmlns='http://www.w3.org/2000/svg' width='20' height='22' viewBox='0 0 20 22' fill='none'>
1449  <g clip-path="url(#clip0_284_38)">
1450    <path d="M19.9833 21.3075L18.0061 5.71483C17.9727 5.4562 17.7474 5.25597 17.4805 5.25597H14.2768V3.4873C14.2768 1.56845 12.7084 0 10.7895 0H9.5381C7.61091 0 6.05081 1.56845 6.05081 3.4873V5.25597H2.84717C2.5802 5.25597 2.3466 5.4562 2.31323 5.71483L0.327637 21.3993C0.302608 21.5578 0.352665 21.6997 0.452779 21.8165C0.552893 21.9333 0.703063 22 0.853234 22H19.4577C19.6162 22 19.758 21.9333 19.8582 21.8165C19.9583 21.708 20.0083 21.5495 19.9833 21.3993V21.3075ZM7.11034 3.4873C7.11034 2.15245 8.20325 1.06788 9.5381 1.06788H10.7895C12.1244 1.06788 13.2089 2.15245 13.2089 3.4873V5.25597H7.11034V3.4873ZM1.46226 20.9321L3.31436 6.31551H6.05081V8.96852C6.05081 9.26887 6.29275 9.50246 6.58475 9.50246C6.87675 9.50246 7.11034 9.26887 7.11034 8.96852V6.31551H13.2089V8.96852C13.2089 9.26887 13.4509 9.50246 13.7429 9.50246C14.0349 9.50246 14.2768 9.26887 14.2768 8.96852V6.31551H17.0133L17.0299 6.46568L18.8654 20.9321H1.46226Z" fill="#3E3E3D" style="fill: var(--icon-color);"/>
1451  </g>
1452  <defs>
1453    <clipPath id="clip0_284_38">
1454      <rect width="19.6724" height="22" fill="white" transform="translate(0.327637)" style="fill: var(--icon-color);"/>
1455    </clipPath>
1456  </defs>
1457</svg>
1458
1459
1460          <span class='mobile-nav__cart-count' data-ajax-cart-bind-state='cart.item_count'>
1461            0
1462          </span>
1463        </a>
1464      </div>
1465    </div>
1466  </div>
1467
1468  <div class='mobile-nav__menu'>
1469    <div class='mobile-menu'>
1470      <div class='mobile-menu__links mobile-menu__links--default'>
1471        <ul>
1472          
1473            
1474            
1475
1476            <li>
1477              <a href='/collections/bestsellers' class='mobile-menu__nested-trigger'>
1478                Best Sellers
1479
1480                
1481                  <span class='icon-plus'></span>
1482                
1483              </a>
1484
1485              
1486                <ul class='mobile-menu__nested'>
1487                  
1488                    <li>
1489                      <a href='/products/electrolyte'>
1490                        Hydrate⁴ Hydration Powder
1491                      </a>
1492                    </li>
1493                  
1494                    <li>
1495                      <a href='/products/creatine-hydration'>
1496                        Creatine Hydration
1497                      </a>
1498                    </li>
1499                  
1500                    <li>
1501                      <a href='/products/protein-organic-greens-probiotics'>
1502                        Protein & Organic Greens
1503                      </a>
1504                    </li>
1505                  
1506                    <li>
1507                      <a href='/products/pea-protein-powder'>
1508                        Pea Protein Powder
1509                      </a>
1510                    </li>
1511                  
1512                    <li>
1513                      <a href='/products/collagen-beauty-powder'>
1514                        Marine Collagen Beauty Powder
1515                      </a>
1516                    </li>
1517                  
1518                    <li>
1519                      <a href='/products/happy-gut'>
1520                        Happy Gut
1521                      </a>
1522                    </li>
1523                  
1524                    <li>
1525                      <a href='/products/milk-maker'>
1526                        Milk Maker
1527                      </a>
1528                    </li>
1529                  
1530                    <li>
1531                      <a href='/products/marine-collagen-beauty-capsules'>
1532                        Marine Collagen Capsules
1533                      </a>
1534                    </li>
1535                  
1536                </ul>
1537              
1538            </li>
1539          
1540            
1541            
1542
1543            <li>
1544              <a href='#' class='mobile-menu__nested-trigger'>
1545                Shop by Benefit
1546
1547                
1548                  <span class='icon-plus'></span>
1549                
1550              </a>
1551
1552              
1553                <ul class='mobile-menu__nested'>
1554                  
1555                    <li>
1556                      <a href='/collections/beauty-skincare'>
1557                        Beauty
1558                      </a>
1559                    </li>
1560                  
1561                    <li>
1562                      <a href='/collections/gut-health'>
1563                        Gut Health
1564                      </a>
1565                    </li>
1566                  
1567                    <li>
1568                      <a href='/collections/stress-mood-rest'>
1569                        Stress & Mood
1570                      </a>
1571                    </li>
1572                  
1573                    <li>
1574                      <a href='/collections/postpartum'>
1575                        Postpartum
1576                      </a>
1577                    </li>
1578                  
1579                    <li>
1580                      <a href='/collections/sports-nutrition'>
1581                        Sports & Performance
1582                      </a>
1583                    </li>
1584                  
1585                    <li>
1586                      <a href='/collections/hydration'>
1587                        Hydration
1588                      </a>
1589                    </li>
1590                  
1591                    <li>
1592                      <a href='/collections/joint-support'>
1593                        Joint Support
1594                      </a>
1595                    </li>
1596                  
1597                </ul>
1598              
1599            </li>
1600          
1601            
1602            
1603
1604            <li>
1605              <a href='/collections/refills' class='mobile-menu__nested-trigger'>
1606                Refills 
1607
1608                
1609                  <span class='icon-plus'></span>
1610                
1611              </a>
1612
1613              
1614                <ul class='mobile-menu__nested'>
1615                  
1616                    <li>
1617                      <a href='/products/marine-collagen-capsules-refill'>
1618                        Marine Collagen Capsules Refill
1619                      </a>
1620                    </li>
1621                  
1622                    <li>
1623                      <a href='/products/happy-days-refill'>
1624                        Happy Days Refill
1625                      </a>
1626                    </li>
1627                  
1628                    <li>
1629                      <a href='/collections/refills'>
1630                        Shop All Refills
1631                      </a>
1632                    </li>
1633                  
1634                </ul>
1635              
1636            </li>
1637          
1638            
1639            
1640
1641            <li>
1642              <a href='#' class='mobile-menu__nested-trigger'>
1643                Shop by Category
1644
1645                
1646                  <span class='icon-plus'></span>
1647                
1648              </a>
1649
1650              
1651                <ul class='mobile-menu__nested'>
1652                  
1653                    <li>
1654                      <a href='/collections/hydrate-electrolytes'>
1655                        Hydration
1656                      </a>
1657                    </li>
1658                  
1659                    <li>
1660                      <a href='/collections/protein-powder'>
1661                        Proteins
1662                      </a>
1663                    </li>
1664                  
1665                    <li>
1666                      <a href='/collections/marine-collagen'>
1667                        Collagens
1668                      </a>
1669                    </li>
1670                  
1671                    <li>
1672                      <a href='/collections/supplements'>
1673                        Supplements
1674                      </a>
1675                    </li>
1676                  
1677                </ul>
1678              
1679            </li>
1680          
1681            
1682            
1683
1684            <li>
1685              <a href='/collections/all-products' class=''>
1686                Shop All
1687
1688                
1689              </a>
1690
1691              
1692            </li>
1693          
1694            
1695            
1696
1697            <li>
1698              <a href='/pages/subscriptions' class=''>
1699                Subscribe & Save
1700
1701                
1702              </a>
1703
1704              
1705            </li>
1706          
1707            
1708            
1709
1710            <li>
1711              <a href='/collections/best-selling-bundles' class=''>
1712                Island Kits & Refill Bundles
1713
1714                
1715              </a>
1716
1717              
1718            </li>
1719          
1720            
1721            
1722
1723            <li>
1724              <a href='/collections/sachets-samplers' class=''>
1725                Samples & Merch
1726
1727                
1728              </a>
1729
1730              
1731            </li>
1732          
1733        </ul>
1734        <ul>
1735          
1736            
1737              
1738            
1739            <li>
1740              <a href='/pages/subscriptions'>
1741                Subscribe
1742              </a>
1743            </li>
1744          
1745            
1746            <li>
1747              <a href='/pages/island-rewards'>
1748                Island Rewards 
1749              </a>
1750            </li>
1751          
1752            
1753            <li>
1754              <a href='/blogs/ingredients'>
1755                Ingredients
1756              </a>
1757            </li>
1758          
1759            
1760            <li>
1761              <a href='https://twoislandsco.com/blogs/blog/tagged/markets-NZ'>
1762                Journal
1763              </a>
1764            </li>
1765          
1766
1767          
1768            
1769              <!-- If user is not logged in, on click take them to the login page -->
1770              <li>
1771                <a href='/account/login'>Account</a>
1772              </li>
1773            
1774          
1775        </ul>
1776      </div>
1777    </div>
1778  </div>
1779
1780  <div class='mobile-nav__overlay mobile-menu__trigger'></div>
1781</div>
1782
1783</div>
1784
1785<div class='navbar__spacing'></div>
1786
1787<script>
1788  $('.search__trigger, .search__close').on('click', function (e) {
1789    e.preventDefault();
1790    $('body').toggleClass('navbar--show-search');
1791
1792    setTimeout(function () {
1793      $('.search__input input').focus();
1794    }, 300);
1795  });
1796
1797  $('.navbar__overlay').on('click', function () {
1798    $('body').removeClass('navbar--show-search navbar--show-megamenu');
1799  });
1800
1801  function initMegamenu() {
1802    let delay;
1803    let megamenuWait = 300;
1804
1805    $('.navbar__megamenu, .megamenu__trigger').on('mouseenter', function (e) {
1806      $('body').addClass('navbar--show-megamenu');
1807      clearTimeout(delay);
1808    });
1809    $('.navbar__megamenu, .megamenu__trigger').on('mouseleave', function (e) {
1810      clearTimeout(delay);
1811      delay = setTimeout(function () {
1812        $('body').removeClass('navbar--show-megamenu');
1813        $('.megamenu .active').removeClass('active');
1814      }, megamenuWait);
1815    });
1816    $('.megamenu__close').on('click', function (e) {
1817      e.preventDefault();
1818      clearTimeout(delay);
1819      $('body').removeClass('navbar--show-megamenu');
1820    });
1821
1822    $('.navbar__links > li > a').on('mouseenter', function () {
1823      $('body').removeClass('navbar--show-search');
1824    });
1825  }
1826  initMegamenu();
1827  // $('body').addClass('navbar--show-megamenu');
1828</script>
1828
1829<style data-shopify>
1830  .navbar__announcement,.announcement-bar__close {
1831    background-color: #ffa87d;
1832    color: #000000;
1833  }
1834  .announcement-bar__close svg path {
1835    stroke: #000000;
1836  }
1837
1838  .announcement-bar {
1839    color: inherit;
1840  }
1841</style>
1842
1843</div>
1844<!-- END sections: main-header -->
1845    <link href="//twoislandsco.com/cdn/shop/t/190/assets/cart-drawer.css?v=34629829297049544761780543231" rel="stylesheet" type="text/css" media="all" />
1846
1847    <main id='MainContent' class='content-for-layout focus-none' role='main' tabindex='-1'>
1848      <div id="shopify-section-template--15824825614536__navbar_color_scheme_KnNhNH" class="shopify-section">
1849
1850
1851<script>
1852  document.body.classList.toggle('navbar--is-dark', false);
1853  document.querySelector('.navbar').classList.toggle('navbar--dark', false);
1854</script>
1854
1855
1856</div><div id="shopify-section-template--15824825614536__home_hero" class="shopify-section"><link href="//twoislandsco.com/cdn/shop/t/190/assets/page-home.css?v=173203506897582498691779744703" rel="stylesheet" type="text/css" media="all" />
1857
1858<style>
1859  .home-hero__content h2, .home-hero__content p {
1860  	color: #ffffff !important;
1861  }
1862
1863  @media (max-width: 768px) {
1864  	.home-hero__content h2, .home-hero__content p {
1865  		color: #ffffff !important;
1866  	}
1867  }
1868</style>
1869
1870<style>
1871  
1872  	.home-hero__content .dot-button {
1873  		background: #ffffff !important;
1874  		color: #000000 !important;
1875  		border: none !important;
1876      padding: 10px 30px;
1877  	}
1878  	.home-hero__content .dot-button .dot-button__dot {
1879  		background: #000000 !important;
1880  	}
1881
1882  	@media (max-width: 768px) {
1883  		.home-hero__content .dot-button {
1884  			background: #ffffff !important;
1885  			color: #000000 !important;
1886  		}
1887  		.home-hero__content .dot-button .dot-button__dot {
1888  			background: #000000 !important;
1889  		}
1890  	}
1891  
1892</style>
1893
1894<style>
1895  .home-hero__content {
1896    
1897      left: 0!important;
1898      right: auto!important;
1899      padding-left: 70px!important;
1900      padding-right: 0!important;
1901      text-align: left!important;
1902    
1903
1904    
1905      top: auto!important;
1906      bottom: 0!important;
1907      padding-bottom: 80px!important;
1908    
1909
1910    
1911      transform: none!important;
1912    
1913  }
1914
1915  @media (max-width: 768px) {
1916    .home-hero__content {
1917      
1918        width: 100%;
1919        left: 50%!important;
1920        right: auto!important;
1921        padding-left: 38px!important;
1922        padding-right: 38px!important;
1923        text-align: center!important;
1924      
1925
1926      
1927        top: 50%!important;
1928        bottom: auto!important;
1929        padding-bottom: 0!important;
1930      
1931
1932      
1933        transform: translate(-50%, -50%)!important;
1934      
1935    }
1936  }
1937</style>
1938
1939<style>
1940  .home-hero__content h2 {
1941    font-family: var(--font-recife);
1942    font-size: 64px;
1943    font-weight: 150;
1944  }
1945  .home-hero__content p {
1946    font-family: var(--font-body);
1947  }
1948
1949  @media (max-width: 768px) {
1950    .home-hero__content h2 {
1951      font-size: 41px;
1952    }
1953  }
1954</style>
1955
1956<style>
1957  .home-hero__content h2,
1958  .home-hero__content p {
1959    max-width: none !important;
1960    white-space: pre-line;
1961  }
1962</style>
1963
1964<section class='home-hero block-padding--template--15824825614536__home_hero mx--template--15824825614536__home_hero'>
1965  <div class='home-hero__bg'>
1966    
1967      <img src="//twoislandsco.com/cdn/shop/files/WebBanner_1440x900_Hydrate_Sep26.jpg?v=1789517819&amp;width=4000" alt="" srcset="//twoislandsco.com/cdn/shop/files/WebBanner_1440x900_Hydrate_Sep26.jpg?v=1789517819&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/WebBanner_1440x900_Hydrate_Sep26.jpg?v=1789517819&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/WebBanner_1440x900_Hydrate_Sep26.jpg?v=1789517819&amp;width=1200 1200w, //twoislandsco.com/cdn/shop/files/WebBanner_1440x900_Hydrate_Sep26.jpg?v=1789517819&amp;width=1920 1920w, //twoislandsco.com/cdn/shop/files/WebBanner_1440x900_Hydrate_Sep26.jpg?v=1789517819&amp;width=4000 4000w" width="4000" height="2500" sizes="(min-width: 768px) 80vw, 100vw" class="md-hide">
1968
1969      <img src="//twoislandsco.com/cdn/shop/files/MobileBanner_378x696_Hydrate_Sep26.jpg?v=1789517847&amp;width=2048" alt="" srcset="//twoislandsco.com/cdn/shop/files/MobileBanner_378x696_Hydrate_Sep26.jpg?v=1789517847&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/MobileBanner_378x696_Hydrate_Sep26.jpg?v=1789517847&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/MobileBanner_378x696_Hydrate_Sep26.jpg?v=1789517847&amp;width=1200 1200w, //twoislandsco.com/cdn/shop/files/MobileBanner_378x696_Hydrate_Sep26.jpg?v=1789517847&amp;width=1920 1920w, //twoislandsco.com/cdn/shop/files/MobileBanner_378x696_Hydrate_Sep26.jpg?v=1789517847&amp;width=2048 2048w" width="2048" height="3771" sizes="(min-width: 768px) 80vw, 100vw" class="md-show">
1970    
1971  </div>
1972
1973  <div class='home-hero__content'>
1974    <h2 class='md-hide anim-ht'>Hydration that<br>keeps up with you.</h2>
1975
1976    <h2 class='md-show anim-ht'><span style="font-size:39.5px;">Hydration that<br>keeps up with you.</span></h2>
1977
1978    
1979      <p class='md-hide'>Whether you're training hard or moving through your day,<br>Hydrate⁴ keeps you in balance.</p>
1980    
1981
1982    
1983      <p class='md-show'>Whether you're training hard or moving through your day, Hydrate⁴ keeps you in balance.</p>
1984    
1985
1986    
1987      <a id='home-hero__button' class='dot-button' href='/products/electrolyte'>
1988        <span class='dot-button__text md-hide'>
1989          Shop Hydrate⁴
1990        </span>
1991        <span class='dot-button__text md-show'>
1992          Shop Hydrate⁴
1993        </span>
1994      </a>
1995      <style>
1996        
1997        
1998      </style>
1999    
2000  </div>
2001</section>
2002
2003
2004
2005
2006  <style>
2007    .block-padding--template--15824825614536__home_hero {
2008      
2009
2010      
2011    }
2012
2013    @media (max-width: 768px) {
2014      .block-padding--template--15824825614536__home_hero {
2015        
2016          
2017        
2018
2019
2020        
2021          
2022        
2023      }
2024    }
2025  </style>
2026
2027
2028
2029
2030
2031  <style>
2032    .mx--template--15824825614536__home_hero {
2033      
2034    }
2035
2036    @media (max-width: 768px) {
2037      .mx--template--15824825614536__home_hero {
2038        
2039          
2040        
2041      }
2042    }
2043  </style>
2044
2045
2046
2047<script>
2048  document.querySelector('.navbar').classList.remove('navbar--solid');
2049</script>
2049
2050
2051
2052</div><div id="shopify-section-template--15824825614536__intro" class="shopify-section"><section class='home-intro block-padding--template--15824825614536__intro mx--template--15824825614536__intro'>
2053  <div class='container'>
2054    <div class='home-intro__content'>
2055      <h2>Wellbeing starts with well doing.</h2>
2056      <p>
2057        We formulate intentionally crafted supplements for thoughtful people like you – using only the highest quality ingredients at effective doses. Empowering you to take control of your wellness, look and feel great, and live a life brimming with energy.
2058      </p>
2059
2060      <a href='/pages/about' class='dot-button'>
2061        <span class='dot-button__dot'></span>
2062        Learn more
2063      </a>
2064    </div>
2065  </div>
2066</section>
2067
2068
2069
2070
2071  <style>
2072    .block-padding--template--15824825614536__intro {
2073      
2074
2075      
2076    }
2077
2078    @media (max-width: 768px) {
2079      .block-padding--template--15824825614536__intro {
2080        
2081          
2082        
2083
2084
2085        
2086          
2087        
2088      }
2089    }
2090  </style>
2091
2092
2093
2094
2095
2096  <style>
2097    .mx--template--15824825614536__intro {
2098      
2099    }
2100
2101    @media (max-width: 768px) {
2102      .mx--template--15824825614536__intro {
2103        
2104          
2105        
2106      }
2107    }
2108  </style>
2109
2110
2111
2112
2113</div><div id="shopify-section-template--15824825614536__1c64858c-a091-4e46-abe5-356203f35ea3" class="shopify-section"><section class='home-product block-padding--template--15824825614536__1c64858c-a091-4e46-abe5-356203f35ea3 mx--template--15824825614536__1c64858c-a091-4e46-abe5-356203f35ea3'>
2114
2115  <div class='container home-product__container'>
2116    <div class='home-product__grid'>
2117      <div class='home-product__left'>
2118        <div class='home-product__image'>
2119        
2120          <img src="//twoislandsco.com/cdn/shop/files/Frame_531.jpg?v=1787024825&amp;width=1600" alt="" srcset="//twoislandsco.com/cdn/shop/files/Frame_531.jpg?v=1787024825&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Frame_531.jpg?v=1787024825&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/Frame_531.jpg?v=1787024825&amp;width=1200 1200w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
2121
2122        </div>
2123      </div>
2124      <div class='home-product__right'>
2125        <div class='home-product__content'>
2126          <div class='home-product__heading'>
2127            <h2>More hydration, less nonsense</h2>
2128            <p>
2129              Hydrate⁴ electroytes keep you hydrated to power through your workday, workout and everything in between.<br><br>
2130Formulated with <strong> essential minerals and no added sugar, </strong>Hydrate⁴ contains everything you need for effective hydration, without the nasties.
2131            </p>
2132
2133            <ul class='product-main__benefits'>
2134              <li>Hydration</li>
2135              <li>Muscle Performance</li>
2136              <li>Recovery</li>
2137              <li>Energy</li>
2138            </ul>
2139          </div>
2140
2141          <div class='home-product__media'>
2142
2143            <img src='//twoislandsco.com/cdn/shop/files/Frame_533.jpg?v=1787025155&width=900' loading='lazy' alt=''>
2144          </div>
2145
2146          <div class='home-product__button'>
2147            <a href='/products/electrolyte' class='button'> Shop Now </a>
2148          </div>
2149        </div>
2150      </div>
2151    </div>
2152  </div>
2153</section>
2154
2155
2156
2157
2158
2159
2160<style>
2161  
2162  
2163    .gradients__gradient--2
2164  
2165 {
2166    background: radial-gradient(50% 50% at 50% 50%, rgba(201, 218, 171, 0.15) 21.87%, rgba(201, 218, 171, 0) 100%) !important;
2167  }
2168</style>
2169
2170
2171
2172
2173  <style>
2174    .block-padding--template--15824825614536__1c64858c-a091-4e46-abe5-356203f35ea3 {
2175      
2176
2177      
2178    }
2179
2180    @media (max-width: 768px) {
2181      .block-padding--template--15824825614536__1c64858c-a091-4e46-abe5-356203f35ea3 {
2182        
2183          
2184        
2185
2186
2187        
2188          
2189        
2190      }
2191    }
2192  </style>
2193
2194
2195
2196
2197
2198  <style>
2199    .mx--template--15824825614536__1c64858c-a091-4e46-abe5-356203f35ea3 {
2200      
2201    }
2202
2203    @media (max-width: 768px) {
2204      .mx--template--15824825614536__1c64858c-a091-4e46-abe5-356203f35ea3 {
2205        
2206          
2207        
2208      }
2209    }
2210  </style>
2211
2212
2213
2214
2215
2216</div><div id="shopify-section-template--15824825614536__home-top-sellers" class="shopify-section">
2216<link href="//twoislandsco.com/cdn/shop/t/190/assets/section-related-products.css?v=171242300457055233831741076897" rel="stylesheet" type="text/css" media="all" />
2217
2218
2219
2220<section class='related-products related-products--top-sellers top-sellers block-padding--template--15824825614536__home-top-sellers mx--template--15824825614536__home-top-sellers'>
2221  <div class='container'>
2222    <div class='related-products__heading'>
2223      <h2>Best Sellers</h2>
2224
2225      <ul class='top-sellers__tabs'>
2226        
2227          <li>
2228            <a href='#tab-' class='active'>
2229              
2230            </a>
2231          </li>
2232        
2233      </ul>
2234    </div>
2235
2236    <div class='top-sellers__tabs-content'>
2237      
2238        <!-- tab -->
2239        <div
2240          id='tab-'
2241          class='top-sellers__tab related-products__wrapper active'
2242          
2243        >
2244          <div class='product-card__carousel product-card__carousel--arrows-below owl-carousel'>
2245            
2246              
2247              
2248  
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268<div class='product-card product-item 
2269   concern-beauty concern-breastfeeding concern-energy concern-gut-health concern-mood concern-stress range-protein-powder range-stress range-supplements  
2270'>
2271  
2272  
2273  
2274
2275  
2276
2277  
2278
2279  
2280
2281  <div class='product-card__media main-link__trigger'>
2282    <a
2283      href='/products/protein-organic-greens-probiotics'
2284      role='presentation'
2285      class='main-link'
2286      aria-label='Protein & Organic Greens + Probiotics'
2287      title='Protein & Organic Greens + Probiotics'
2288      data-transition
2289    ></a>
2290
2291    
2292    
2293
2294    
2295
2296    <div class='product-card__image'>
2297      <img
2298        data-src='//twoislandsco.com/cdn/shop/files/ProteinOrganicGreens_Tub_cc.png?v=1721333708&width=1200'
2299        alt='Protein & Organic Greens + Probiotics'
2300        width='1200'
2301        height=''
2302        loading='eager'
2303      >
2304    </div>
2305
2306    
2307      <div class='product-card__hover-image'>
2308        <img
2309          data-src='//twoislandsco.com/cdn/shop/files/1_bb4a004f-df5c-4b13-8fe9-44d6b5c923bd.jpg?v=1726629387&width=1200'
2310          alt=''
2311          loading='eager'
2312        >
2313      </div>
2314    
2315  </div>
2316
2317  <div class='product-card__info'>
2318    <h4>
2319      <a class='main-link' href='/products/protein-organic-greens-probiotics'>
2320        Protein & Organic Greens + Probiotics
2321      </a>
2322    </h4>
2323
2324    <span class='product-card__price '>
2325      
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335<div class='product__price-wrapper'>
2336  
2337    
2338
2339        <span class='product__price__original'>
2340          $39
2341        </span>
2342      
2343    
2344  
2345</div>
2346
2347    </span>
2348  </div>
2349
2350  
2351
2352  <div class='product-card__footer '>
2353    <div class='product-card__desc'>
2354      <p>
2355        480g Powder
2356      </p>
2357
2358      
2359    </div>
2360
2361    <div class='product-card__hover'>
2362      <p>
2363        <span class='md-hide'>
2364          
2365            Supercharged Protein & Greens + Probiotics
2366          
2367        </span>
2368
2369        <span class='md-show'>
2370          480g Powder
2371        </span>
2372
2373        
2374      </p>
2375
2376      <div class='product-card__button-group'>
2377        
2378          
2379            
2380              <button type='submit' class='button quickview__trigger' data-product='/products/protein-organic-greens-probiotics'>
2381                Add to cart
2382              </button>
2383            
2384          
2385        
2386
2387        <a href='/products/protein-organic-greens-probiotics' class='button button--more' data-transition> Learn more </a>
2388      </div>
2389    </div>
2390  </div>
2391</div>
2392
2393
2394
2395            
2396              
2397              
2398  
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418<div class='product-card product-item 
2419   concern-mood concern-stress  
2420'>
2421  
2422  
2423  
2424
2425  
2426
2427  
2428
2429  
2430
2431  <div class='product-card__media main-link__trigger'>
2432    <a
2433      href='/products/happy-days'
2434      role='presentation'
2435      class='main-link'
2436      aria-label='Happy Days'
2437      title='Happy Days'
2438      data-transition
2439    ></a>
2440
2441    
2442    
2443
2444    
2445
2446    <div class='product-card__image'>
2447      <img
2448        data-src='//twoislandsco.com/cdn/shop/files/Happy-Days_CC_box-and-jar.png?v=1697509122&width=1200'
2449        alt='Happy Days'
2450        width='1200'
2451        height=''
2452        loading='eager'
2453      >
2454    </div>
2455
2456    
2457      <div class='product-card__hover-image'>
2458        <img
2459          data-src='//twoislandsco.com/cdn/shop/files/Two-Islands-Happy_Days-PDP-Refresh.jpg?v=1700531675&width=1200'
2460          alt=''
2461          loading='eager'
2462        >
2463      </div>
2464    
2465  </div>
2466
2467  <div class='product-card__info'>
2468    <h4>
2469      <a class='main-link' href='/products/happy-days'>
2470        Happy Days
2471      </a>
2472    </h4>
2473
2474    <span class='product-card__price '>
2475      
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485<div class='product__price-wrapper'>
2486  
2487    
2488
2489        <span class='product__price__original'>
2490          $37
2491        </span>
2492      
2493    
2494  
2495</div>
2496
2497    </span>
2498  </div>
2499
2500  
2501
2502  <div class='product-card__footer '>
2503    <div class='product-card__desc'>
2504      <p>
2505        60 Vege Capsules
2506      </p>
2507
2508      
2509    </div>
2510
2511    <div class='product-card__hover'>
2512      <p>
2513        <span class='md-hide'>
2514          
2515            Joy on the daily
2516          
2517        </span>
2518
2519        <span class='md-show'>
2520          60 Vege Capsules
2521        </span>
2522
2523        
2524      </p>
2525
2526      <div class='product-card__button-group'>
2527        
2528          
2529            
2530              <button type='submit' class='button quickview__trigger' data-product='/products/happy-days'>
2531                Add to cart
2532              </button>
2533            
2534          
2535        
2536
2537        <a href='/products/happy-days' class='button button--more' data-transition> Learn more </a>
2538      </div>
2539    </div>
2540  </div>
2541</div>
2542
2543
2544
2545            
2546              
2547              
2548  
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568<div class='product-card product-item 
2569   concern-gut-health range-supplements  
2570'>
2571  
2572  
2573  
2574
2575  
2576
2577  
2578
2579  
2580
2581  <div class='product-card__media main-link__trigger'>
2582    <a
2583      href='/products/happy-gut'
2584      role='presentation'
2585      class='main-link'
2586      aria-label='Happy Gut'
2587      title='Happy Gut'
2588      data-transition
2589    ></a>
2590
2591    
2592    
2593
2594    
2595      <span class='product-card__badge'>
2596        New
2597      </span>
2598    
2599
2600    <div class='product-card__image'>
2601      <img
2602        data-src='//twoislandsco.com/cdn/shop/files/HappyGut_Clearcut_New_Formula.png?v=1791236053&width=1200'
2603        alt='Happy Gut'
2604        width='1200'
2605        height=''
2606        loading='eager'
2607      >
2608    </div>
2609
2610    
2611      <div class='product-card__hover-image'>
2612        <img
2613          data-src='//twoislandsco.com/cdn/shop/files/HappyGut_Hover_Image.jpg?v=1791236102&width=1200'
2614          alt=''
2615          loading='eager'
2616        >
2617      </div>
2618    
2619  </div>
2620
2621  <div class='product-card__info'>
2622    <h4>
2623      <a class='main-link' href='/products/happy-gut'>
2624        Happy Gut
2625      </a>
2626    </h4>
2627
2628    <span class='product-card__price '>
2629      
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639<div class='product__price-wrapper'>
2640  
2641    
2642
2643        <span class='product__price__original'>
2644          $40
2645        </span>
2646      
2647    
2648  
2649</div>
2650
2651    </span>
2652  </div>
2653
2654  
2655
2656  <div class='product-card__footer '>
2657    <div class='product-card__desc'>
2658      <p>
2659        240g Powder
2660      </p>
2661
2662      
2663    </div>
2664
2665    <div class='product-card__hover'>
2666      <p>
2667        <span class='md-hide'>
2668          
2669            Bye bye bloat.
2670          
2671        </span>
2672
2673        <span class='md-show'>
2674          240g Powder
2675        </span>
2676
2677        
2678      </p>
2679
2680      <div class='product-card__button-group'>
2681        
2682          
2683            
2684              <button type='submit' class='button quickview__trigger' data-product='/products/happy-gut'>
2685                Add to cart
2686              </button>
2687            
2688          
2689        
2690
2691        <a href='/products/happy-gut' class='button button--more' data-transition> Learn more </a>
2692      </div>
2693    </div>
2694  </div>
2695</div>
2696
2697
2698
2699            
2700              
2701              
2702  
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722<div class='product-card product-item 
2723   concern-beauty concern-gut-health concern-hair-skin-nails concern-joint-health range-collagen range-marine-collagen range-supplements  
2724'>
2725  
2726  
2727  
2728
2729  
2730
2731  
2732
2733  
2734
2735  <div class='product-card__media main-link__trigger'>
2736    <a
2737      href='/products/marine-collagen-beauty-capsules'
2738      role='presentation'
2739      class='main-link'
2740      aria-label='Marine Collagen Capsules'
2741      title='Marine Collagen Capsules'
2742      data-transition
2743    ></a>
2744
2745    
2746    
2747
2748    
2749
2750    <div class='product-card__image'>
2751      <img
2752        data-src='//twoislandsco.com/cdn/shop/files/Two-Islands-Marine-Collagen-Beauty-Capsules-Jar-Box-840x880.png?v=1663712340&width=1200'
2753        alt='Marine Collagen Capsules'
2754        width='1200'
2755        height=''
2756        loading='eager'
2757      >
2758    </div>
2759
2760    
2761      <div class='product-card__hover-image'>
2762        <img
2763          data-src='//twoislandsco.com/cdn/shop/files/Two-Islands-Marine-Collagen-Cap-PDP-Refresh.jpg?v=1700530893&width=1200'
2764          alt=''
2765          loading='eager'
2766        >
2767      </div>
2768    
2769  </div>
2770
2771  <div class='product-card__info'>
2772    <h4>
2773      <a class='main-link' href='/products/marine-collagen-beauty-capsules'>
2774        Marine Collagen Capsules
2775      </a>
2776    </h4>
2777
2778    <span class='product-card__price '>
2779      
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789<div class='product__price-wrapper'>
2790  
2791    
2792
2793        <span class='product__price__original'>
2794          $31
2795        </span>
2796      
2797    
2798  
2799</div>
2800
2801    </span>
2802  </div>
2803
2804  
2805
2806  <div class='product-card__footer '>
2807    <div class='product-card__desc'>
2808      <p>
2809        60 Vege Capsules
2810      </p>
2811
2812      
2813    </div>
2814
2815    <div class='product-card__hover'>
2816      <p>
2817        <span class='md-hide'>
2818          
2819            Your collagen glow, on the go
2820          
2821        </span>
2822
2823        <span class='md-show'>
2824          60 Vege Capsules
2825        </span>
2826
2827        
2828      </p>
2829
2830      <div class='product-card__button-group'>
2831        
2832          
2833            
2834              <button type='submit' class='button quickview__trigger' data-product='/products/marine-collagen-beauty-capsules'>
2835                Add to cart
2836              </button>
2837            
2838          
2839        
2840
2841        <a href='/products/marine-collagen-beauty-capsules' class='button button--more' data-transition> Learn more </a>
2842      </div>
2843    </div>
2844  </div>
2845</div>
2846
2847
2848
2849            
2850          </div>
2851        </div>
2852      
2853    </div>
2854  </div>
2855</section>
2856
2857
2858
2859
2860  <style>
2861    .block-padding--template--15824825614536__home-top-sellers {
2862      
2863        padding-top: 30px;
2864      
2865
2866      
2867        padding-bottom: 40px;
2868      
2869    }
2870
2871    @media (max-width: 768px) {
2872      .block-padding--template--15824825614536__home-top-sellers {
2873        
2874          
2875            padding-top: 15px;
2876          
2877        
2878
2879
2880        
2881          
2882            padding-bottom: 20px;
2883          
2884        
2885      }
2886    }
2887  </style>
2888
2889
2890
2891
2892
2893  <style>
2894    .mx--template--15824825614536__home-top-sellers {
2895      
2896    }
2897
2898    @media (max-width: 768px) {
2899      .mx--template--15824825614536__home-top-sellers {
2900        
2901          
2902        
2903      }
2904    }
2905  </style>
2906
2907
2908
2909
2910</div><div id="shopify-section-template--15824825614536__shop_by" class="shopify-section"><section class='home-benefits block-padding--template--15824825614536__shop_by mx--template--15824825614536__shop_by'>
2911
2912  <div class='container home-benefits__container'>
2913    <div class='home-benefits__grid'>
2914      <div class='home-benefits__left'>
2915        <h2>Shop by benefit</h2>
2916
2917        <ul class='home-benefits__links'>
2918          
2919            
2920            
2921
2922            <li>
2923              <a href='/collections/beauty-skincare'>
2924                Beauty
2925                <!-- <span>4</span> -->
2926              </a>
2927
2928              <a class='md-hide' href='/collections/beauty-skincare'>
2929                <span class='btn'>Shop now</span>
2930              </a>
2931            </li>
2932          
2933            
2934            
2935
2936            <li>
2937              <a href='/collections/sports-nutrition'>
2938                Sports Nutrition
2939                <!-- <span>9</span> -->
2940              </a>
2941
2942              <a class='md-hide' href='/collections/sports-nutrition'>
2943                <span class='btn'>Shop now</span>
2944              </a>
2945            </li>
2946          
2947            
2948            
2949
2950            <li>
2951              <a href='/collections/stress-mood-rest'>
2952                Stress & Mood
2953                <!-- <span>3</span> -->
2954              </a>
2955
2956              <a class='md-hide' href='/collections/stress-mood-rest'>
2957                <span class='btn'>Shop now</span>
2958              </a>
2959            </li>
2960          
2961            
2962            
2963
2964            <li>
2965              <a href='/products/happy-gut'>
2966                Gut Health
2967                <!-- <span></span> -->
2968              </a>
2969
2970              <a class='md-hide' href='/products/happy-gut'>
2971                <span class='btn'>Shop now</span>
2972              </a>
2973            </li>
2974          
2975        </ul>
2976      </div>
2977
2978      <div class='home-benefits__right'>
2979        <div class='home-benefits__image'>
2980
2981          <img src="//twoislandsco.com/cdn/shop/files/Default-2.jpg?v=1758662738&amp;width=1200" alt="" srcset="//twoislandsco.com/cdn/shop/files/Default-2.jpg?v=1758662738&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Default-2.jpg?v=1758662738&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/Default-2.jpg?v=1758662738&amp;width=1200 1200w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
2982
2983          <div class='home-benefits__hover-images'>
2984            
2985              <img src="//twoislandsco.com/cdn/shop/files/TI-Homepage-ShopBy-Beauty.jpg?v=1702607320&amp;width=1200" alt="Two Beautiful Woman" srcset="//twoislandsco.com/cdn/shop/files/TI-Homepage-ShopBy-Beauty.jpg?v=1702607320&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/TI-Homepage-ShopBy-Beauty.jpg?v=1702607320&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/TI-Homepage-ShopBy-Beauty.jpg?v=1702607320&amp;width=1200 1200w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
2986            
2987              <img src="//twoislandsco.com/cdn/shop/files/Sports-2.jpg?v=1758662769&amp;width=1200" alt="" srcset="//twoislandsco.com/cdn/shop/files/Sports-2.jpg?v=1758662769&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Sports-2.jpg?v=1758662769&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/Sports-2.jpg?v=1758662769&amp;width=1200 1200w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
2988            
2989              <img src="//twoislandsco.com/cdn/shop/files/Stress-2.jpg?v=1758662786&amp;width=1200" alt="" srcset="//twoislandsco.com/cdn/shop/files/Stress-2.jpg?v=1758662786&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Stress-2.jpg?v=1758662786&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/Stress-2.jpg?v=1758662786&amp;width=1200 1200w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
2990            
2991              <img src="//twoislandsco.com/cdn/shop/files/Gut-2.jpg?v=1758662804&amp;width=1200" alt="" srcset="//twoislandsco.com/cdn/shop/files/Gut-2.jpg?v=1758662804&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Gut-2.jpg?v=1758662804&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/Gut-2.jpg?v=1758662804&amp;width=1200 1200w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
2992            
2993          </div>
2994        </div>
2995      </div>
2996    </div>
2997  </div>
2998</section>
2999
3000
3001
3002
3003  <style>
3004    .block-padding--template--15824825614536__shop_by {
3005      
3006
3007      
3008    }
3009
3010    @media (max-width: 768px) {
3011      .block-padding--template--15824825614536__shop_by {
3012        
3013          
3014        
3015
3016
3017        
3018          
3019        
3020      }
3021    }
3022  </style>
3023
3024
3025
3026
3027
3028  <style>
3029    .mx--template--15824825614536__shop_by {
3030      
3031    }
3032
3033    @media (max-width: 768px) {
3034      .mx--template--15824825614536__shop_by {
3035        
3036          
3037        
3038      }
3039    }
3040  </style>
3041
3042
3043
3044
3045
3046</div><div id="shopify-section-template--15824825614536__home-ingredients" class="shopify-section"><section class='home-ingredients block-padding--template--15824825614536__home-ingredients mx--template--15824825614536__home-ingredients'>
3047
3048  <div class='home-ingredients__border'></div>
3049
3050  <div class='home-ingredients__grid'>
3051    <div class='home-ingredients__heading'>
3052      <h4>Our ingredients</h4>
3053      <h2>Nature is our pharmacy</h2>
3054      <p>With an entire world of natural ingredients to source from, we select only those we know to be safe, and scientifically proven to do what they say they will. We use those ingredients at efficacious levels, and have them independently tested and verified. <br/></p>
3055      <a href='/blogs/ingredients' class='dot-button'>
3056        <span class='dot-button__dot'></span>
3057        Learn more
3058      </a>
3059    </div>
3060
3061    <div class='home-ingredients__carousel'>
3062      <div class='ingredients-carousel owl-carousel'>
3063        
3064          <div class='ingredients-carousel__item'>
3065            <div class='ingredient-card'>
3066              <div class='ingredient-card__wrapper'>
3067                <div class='ingredient-card__image'>
3068                  <a
3069                    href='/blogs/ingredients/nz-greenshell-mussel'
3070                    alt='New Zealand Greenshell Mussel'
3071                    aria-label='New Zealand Greenshell Mussel'
3072                  >
3073                    <img src="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Greenshell-Mussel-2.jpg?v=1660641736&amp;width=900" alt="Greenshell Mussel" srcset="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Greenshell-Mussel-2.jpg?v=1660641736&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Greenshell-Mussel-2.jpg?v=1660641736&amp;width=832 832w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3074                  </a>
3075                </div>
3076
3077                <div class='ingredient-card__label'>
3078                  <h4>New Zealand Greenshell Mussel</h4>
3079                </div>
3080              </div>
3081            </div>
3082          </div>
3083        
3084          <div class='ingredients-carousel__item'>
3085            <div class='ingredient-card'>
3086              <div class='ingredient-card__wrapper'>
3087                <div class='ingredient-card__image'>
3088                  <a
3089                    href='/blogs/ingredients/passionflower'
3090                    alt='Passionflower'
3091                    aria-label='Passionflower'
3092                  >
3093                    <img src="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Passionflower.jpg?v=1660641736&amp;width=900" alt="Passiflora caerulea" srcset="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Passionflower.jpg?v=1660641736&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Passionflower.jpg?v=1660641736&amp;width=832 832w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3094                  </a>
3095                </div>
3096
3097                <div class='ingredient-card__label'>
3098                  <h4>Passionflower</h4>
3099                </div>
3100              </div>
3101            </div>
3102          </div>
3103        
3104          <div class='ingredients-carousel__item'>
3105            <div class='ingredient-card'>
3106              <div class='ingredient-card__wrapper'>
3107                <div class='ingredient-card__image'>
3108                  <a
3109                    href='/blogs/ingredients/turmeric'
3110                    alt='Turmeric'
3111                    aria-label='Turmeric'
3112                  >
3113                    <img src="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Turmeric2.jpg?v=1659570760&amp;width=900" alt="Turmeric Powder" srcset="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Turmeric2.jpg?v=1659570760&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Turmeric2.jpg?v=1659570760&amp;width=832 832w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3114                  </a>
3115                </div>
3116
3117                <div class='ingredient-card__label'>
3118                  <h4>Turmeric</h4>
3119                </div>
3120              </div>
3121            </div>
3122          </div>
3123        
3124          <div class='ingredients-carousel__item'>
3125            <div class='ingredient-card'>
3126              <div class='ingredient-card__wrapper'>
3127                <div class='ingredient-card__image'>
3128                  <a
3129                    href='/blogs/ingredients/saffron'
3130                    alt='Saffron'
3131                    aria-label='Saffron'
3132                  >
3133                    <img src="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Saffron.jpg?v=1660641736&amp;width=900" alt="Crocus sativus" srcset="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Saffron.jpg?v=1660641736&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Saffron.jpg?v=1660641736&amp;width=832 832w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3134                  </a>
3135                </div>
3136
3137                <div class='ingredient-card__label'>
3138                  <h4>Saffron</h4>
3139                </div>
3140              </div>
3141            </div>
3142          </div>
3143        
3144          <div class='ingredients-carousel__item'>
3145            <div class='ingredient-card'>
3146              <div class='ingredient-card__wrapper'>
3147                <div class='ingredient-card__image'>
3148                  <a
3149                    href='/blogs/ingredients/boswellia'
3150                    alt='Boswellia'
3151                    aria-label='Boswellia'
3152                  >
3153                    <img src="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Turmeric1.jpg?v=1659570715&amp;width=900" alt="Two Islands Ingredients Image turmeric" srcset="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Turmeric1.jpg?v=1659570715&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Turmeric1.jpg?v=1659570715&amp;width=832 832w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3154                  </a>
3155                </div>
3156
3157                <div class='ingredient-card__label'>
3158                  <h4>Boswellia</h4>
3159                </div>
3160              </div>
3161            </div>
3162          </div>
3163        
3164          <div class='ingredients-carousel__item'>
3165            <div class='ingredient-card'>
3166              <div class='ingredient-card__wrapper'>
3167                <div class='ingredient-card__image'>
3168                  <a
3169                    href='#'
3170                    alt='Spirulina'
3171                    aria-label='Spirulina'
3172                  >
3173                    <img src="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Spirulina-min.jpg?v=1663909868&amp;width=900" alt="Two Island Turquoise Velvet" srcset="//twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Spirulina-min.jpg?v=1663909868&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Two-Islands-Ingredients-HP-Image-Spirulina-min.jpg?v=1663909868&amp;width=832 832w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3174                  </a>
3175                </div>
3176
3177                <div class='ingredient-card__label'>
3178                  <h4>Spirulina</h4>
3179                </div>
3180              </div>
3181            </div>
3182          </div>
3183        
3184      </div>
3185    </div>
3186  </div>
3187</section>
3188
3189
3190
3191
3192  <style>
3193    .block-padding--template--15824825614536__home-ingredients {
3194      
3195
3196      
3197    }
3198
3199    @media (max-width: 768px) {
3200      .block-padding--template--15824825614536__home-ingredients {
3201        
3202          
3203        
3204
3205
3206        
3207          
3208        
3209      }
3210    }
3211  </style>
3212
3213
3214
3215
3216
3217  <style>
3218    .mx--template--15824825614536__home-ingredients {
3219      
3220    }
3221
3222    @media (max-width: 768px) {
3223      .mx--template--15824825614536__home-ingredients {
3224        
3225          
3226        
3227      }
3228    }
3229  </style>
3230
3231
3232
3233
3234</div><div id="shopify-section-template--15824825614536__home_featured_product" class="shopify-section"><section class='home-product block-padding--template--15824825614536__home_featured_product mx--template--15824825614536__home_featured_product'>
3235
3236  <div class='container home-product__container'>
3237    <div class='home-product__grid'>
3238      <div class='home-product__left'>
3239        <div class='home-product__image'>
3240        
3241          <img src="//twoislandsco.com/cdn/shop/files/220317_TI_Super_Blend1475-copy.jpg?v=1758749675&amp;width=1600" alt="" srcset="//twoislandsco.com/cdn/shop/files/220317_TI_Super_Blend1475-copy.jpg?v=1758749675&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/220317_TI_Super_Blend1475-copy.jpg?v=1758749675&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/220317_TI_Super_Blend1475-copy.jpg?v=1758749675&amp;width=1200 1200w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3242
3243        </div>
3244      </div>
3245      <div class='home-product__right'>
3246        <div class='home-product__content'>
3247          <div class='home-product__heading'>
3248            <h2>Brighter days are here</h2>
3249            <p>
3250              Happy Days is your feel-good formula with clinically researched ingredients designed to ease stress, anxiety and support mood for bright, happy days.
3251            </p>
3252
3253            <ul class='product-main__benefits'>
3254              <li>Stress Support</li>
3255              <li>Eases Worry</li>
3256              <li>Mental Wellbeing</li>
3257              <li>Balanced Mood</li>
3258            </ul>
3259          </div>
3260
3261          <div class='home-product__media'>
3262
3263            <img src='//twoislandsco.com/cdn/shop/files/220317_TI_Super_Blend1154_220bd835-bde3-437d-9978-bae70ca393f7.jpg?v=1758749432&width=900' loading='lazy' alt=''>
3264          </div>
3265
3266          <div class='home-product__button'>
3267            <a href='/products/happy-days' class='button'> Shop Now </a>
3268          </div>
3269        </div>
3270      </div>
3271    </div>
3272  </div>
3273</section>
3274
3275
3276
3277
3278
3279
3280<style>
3281  
3282  
3283    .gradients__gradient--2
3284  
3285 {
3286    background: radial-gradient(50% 50% at 50% 50%, rgba(241, 173, 167, 0.15) 21.87%, rgba(241, 173, 167, 0) 100%) !important;
3287  }
3288</style>
3289
3290
3291
3292
3293  <style>
3294    .block-padding--template--15824825614536__home_featured_product {
3295      
3296
3297      
3298    }
3299
3300    @media (max-width: 768px) {
3301      .block-padding--template--15824825614536__home_featured_product {
3302        
3303          
3304        
3305
3306
3307        
3308          
3309        
3310      }
3311    }
3312  </style>
3313
3314
3315
3316
3317
3318  <style>
3319    .mx--template--15824825614536__home_featured_product {
3320      
3321    }
3322
3323    @media (max-width: 768px) {
3324      .mx--template--15824825614536__home_featured_product {
3325        
3326          
3327        
3328      }
3329    }
3330  </style>
3331
3332
3333
3334
3335
3336</div><div id="shopify-section-template--15824825614536__related-articles" class="shopify-section"><link href="//twoislandsco.com/cdn/shop/t/190/assets/section-related-articles.css?v=154905442547129330341741076896" rel="stylesheet" type="text/css" media="all" />
3337<link href="//twoislandsco.com/cdn/shop/t/190/assets/component-article-card.css?v=78227299393331593821670007324" rel="stylesheet" type="text/css" media="all" />
3338
3339
3340
3341
3342
3343
3344
3345  <section class='related-articles  block-padding--template--15824825614536__related-articles mx--template--15824825614536__related-articles'>
3346    <div class='container'>
3347      <div class='related-articles__heading'>
3348        <h2>
3349          
3350            Journal
3351          
3352
3353          <a class='md-show' href='/blogs/blog'>View all</a>
3354        </h2>
3355      </div>
3356      <div class='related-articles__carousel-wrapper'>
3357        <div class='related-articles__carousel owl-carousel'>
3358          
3359
3360              <div class='article-card main-link__trigger'>
3361  <div class='article-card__media'>
3362    <div class='article-card__image'>
3363        <img src="//twoislandsco.com/cdn/shop/articles/Sodium_POTS_Blog_082d2c8c-2b45-4e2b-9fb4-aed83085f62f.jpg?v=1789375585&amp;width=1000" alt="Sodium and POTS: What you need to know" srcset="//twoislandsco.com/cdn/shop/articles/Sodium_POTS_Blog_082d2c8c-2b45-4e2b-9fb4-aed83085f62f.jpg?v=1789375585&amp;width=352 352w, //twoislandsco.com/cdn/shop/articles/Sodium_POTS_Blog_082d2c8c-2b45-4e2b-9fb4-aed83085f62f.jpg?v=1789375585&amp;width=832 832w" height="520" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3364      
3365    </div>
3366  </div>
3367  <div class='article-card__info'>
3368    <span class='article-card__tag'>
3369      
3370
3371            hydration
3372          
3373
3374
3375
3376            POTS
3377          
3378
3379    </span>
3380
3381    <h4>
3382      <a class='main-link' href='/blogs/blog/sodium-and-pots-what-you-need-to-know'>Sodium and POTS: What you need to know</a>
3383    </h4>
3384  </div>
3385  <div class='article-card__footer'>
3386    <div class='article-card__hover'>
3387      <button class='button'>Read more</button>
3388    </div>
3389  </div>
3390</div>
3391
3392            
3393              <div class='article-card main-link__trigger'>
3394  <div class='article-card__media'>
3395    <div class='article-card__image'>
3396        <img src="//twoislandsco.com/cdn/shop/articles/Blog_1_Menopause_47950e8d-b967-4fd9-aeda-7000ce2620e9.jpg?v=1788239374&amp;width=1000" alt="Creatine and Menopause: What the research actually says" srcset="//twoislandsco.com/cdn/shop/articles/Blog_1_Menopause_47950e8d-b967-4fd9-aeda-7000ce2620e9.jpg?v=1788239374&amp;width=352 352w, //twoislandsco.com/cdn/shop/articles/Blog_1_Menopause_47950e8d-b967-4fd9-aeda-7000ce2620e9.jpg?v=1788239374&amp;width=832 832w" height="520" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3397      
3398    </div>
3399  </div>
3400  <div class='article-card__info'>
3401    <span class='article-card__tag'>
3402      
3403
3404            Creatine
3405          
3406
3407
3408
3409    </span>
3410
3411    <h4>
3412      <a class='main-link' href='/blogs/blog/creatine-and-menopause-what-the-research-actually-says'>Creatine and Menopause: What the research actually says</a>
3413    </h4>
3414  </div>
3415  <div class='article-card__footer'>
3416    <div class='article-card__hover'>
3417      <button class='button'>Read more</button>
3418    </div>
3419  </div>
3420</div>
3421
3422            
3423              <div class='article-card main-link__trigger'>
3424  <div class='article-card__media'>
3425    <div class='article-card__image'>
3426        <img src="//twoislandsco.com/cdn/shop/articles/The_Whole_Bowl_Blog_1_Breastfeeding_5b365fc8-0b23-4287-95c3-2a45c2305165.jpg?v=1790118628&amp;width=1000" alt="Why is it so important to stay well nourished when you are breastfeeding?" srcset="//twoislandsco.com/cdn/shop/articles/The_Whole_Bowl_Blog_1_Breastfeeding_5b365fc8-0b23-4287-95c3-2a45c2305165.jpg?v=1790118628&amp;width=352 352w, //twoislandsco.com/cdn/shop/articles/The_Whole_Bowl_Blog_1_Breastfeeding_5b365fc8-0b23-4287-95c3-2a45c2305165.jpg?v=1790118628&amp;width=832 832w" height="520" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3427      
3428    </div>
3429  </div>
3430  <div class='article-card__info'>
3431    <span class='article-card__tag'>
3432      
3433
3434            Breastfeeding
3435          
3436
3437
3438
3439            Mood
3440          
3441
3442    </span>
3443
3444    <h4>
3445      <a class='main-link' href='/blogs/blog/why-is-it-so-important-to-stay-well-nourished-when-you-are-breastfeeding'>Why is it so important to stay well nourished when you are breastfeeding?</a>
3446    </h4>
3447  </div>
3448  <div class='article-card__footer'>
3449    <div class='article-card__hover'>
3450      <button class='button'>Read more</button>
3451    </div>
3452  </div>
3453</div>
3454
3455            
3456          
3457        </div>
3458      </div>
3459    </div>
3460  </section>
3461
3462  
3463
3464
3465  <style>
3466    .block-padding--template--15824825614536__related-articles {
3467      
3468
3469      
3470    }
3471
3472    @media (max-width: 768px) {
3473      .block-padding--template--15824825614536__related-articles {
3474        
3475          
3476        
3477
3478
3479        
3480          
3481        
3482      }
3483    }
3484  </style>
3485
3486
3487  
3488
3489
3490  <style>
3491    .mx--template--15824825614536__related-articles {
3492      
3493    }
3494
3495    @media (max-width: 768px) {
3496      .mx--template--15824825614536__related-articles {
3497        
3498          
3499        
3500      }
3501    }
3502  </style>
3503
3504
3505
3506
3507
3508</div><div id="shopify-section-template--15824825614536__fw_hero" class="shopify-section"><div class='home-sus block-padding--template--15824825614536__fw_hero mx--template--15824825614536__fw_hero'>
3509  <div class='home-sus__bg'>
3510    <img src="//twoislandsco.com/cdn/shop/files/Electrolyte_Desktop_c2fda0b9-304b-4c9a-a20b-21ad41eed872.jpg?v=1772150259&amp;width=4000" alt="" srcset="//twoislandsco.com/cdn/shop/files/Electrolyte_Desktop_c2fda0b9-304b-4c9a-a20b-21ad41eed872.jpg?v=1772150259&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Electrolyte_Desktop_c2fda0b9-304b-4c9a-a20b-21ad41eed872.jpg?v=1772150259&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/Electrolyte_Desktop_c2fda0b9-304b-4c9a-a20b-21ad41eed872.jpg?v=1772150259&amp;width=1200 1200w, //twoislandsco.com/cdn/shop/files/Electrolyte_Desktop_c2fda0b9-304b-4c9a-a20b-21ad41eed872.jpg?v=1772150259&amp;width=1920 1920w" loading="lazy" class="md-hide" sizes="(min-width: 768px) 80vw, 100vw">
3511
3512    <img src="//twoislandsco.com/cdn/shop/files/Electrolyte_Mob_3c89957b-d0ea-4f7d-82c2-254099749c2f.jpg?v=1772150267&amp;width=2048" alt="" srcset="//twoislandsco.com/cdn/shop/files/Electrolyte_Mob_3c89957b-d0ea-4f7d-82c2-254099749c2f.jpg?v=1772150267&amp;width=352 352w, //twoislandsco.com/cdn/shop/files/Electrolyte_Mob_3c89957b-d0ea-4f7d-82c2-254099749c2f.jpg?v=1772150267&amp;width=832 832w, //twoislandsco.com/cdn/shop/files/Electrolyte_Mob_3c89957b-d0ea-4f7d-82c2-254099749c2f.jpg?v=1772150267&amp;width=1200 1200w, //twoislandsco.com/cdn/shop/files/Electrolyte_Mob_3c89957b-d0ea-4f7d-82c2-254099749c2f.jpg?v=1772150267&amp;width=1920 1920w, //twoislandsco.com/cdn/shop/files/Electrolyte_Mob_3c89957b-d0ea-4f7d-82c2-254099749c2f.jpg?v=1772150267&amp;width=2048 2048w" width="2048" height="2736" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw" class="md-show">
3513  </div>
3514  <div class='container'>
3515    <div class='home-sus__heading'>
3516      <h4>Our commitment</h4>
3517      <h2>Sustainability practices</h2>
3518      <p>
3519        We’re committed to doing our part towards a healthier future not only for ourselves, but also our planet – not just today, but every day.
3520      </p>
3521      
3522        <a class='dot-button' href='/pages/sustainability-practices '>
3523          <span class='dot-button__dot'></span>
3524          Learn more
3525        </a>
3526      
3527    </div>
3528  </div>
3529</div>
3530
3531
3532
3533
3534  <style>
3535    .block-padding--template--15824825614536__fw_hero {
3536      
3537
3538      
3539    }
3540
3541    @media (max-width: 768px) {
3542      .block-padding--template--15824825614536__fw_hero {
3543        
3544          
3545        
3546
3547
3548        
3549          
3550        
3551      }
3552    }
3553  </style>
3554
3555
3556
3557
3558
3559  <style>
3560    .mx--template--15824825614536__fw_hero {
3561      
3562    }
3563
3564    @media (max-width: 768px) {
3565      .mx--template--15824825614536__fw_hero {
3566        
3567          
3568        
3569      }
3570    }
3571  </style>
3572
3573
3574
3575
3576</div><div id="shopify-section-template--15824825614536__follow_us" class="shopify-section"><section class='follow-us block-padding--template--15824825614536__follow_us mx--template--15824825614536__follow_us'>
3577
3578  <div class='follow-us__heading'>
3579    <div class='container'>
3580      <h2>
3581        Follow us
3582        <span>
3583          <a href='https://www.instagram.com/twoislandsco' target='_blank'>
3584            @twoislandsco
3585          </a>
3586        </span>
3587      </h2>
3588    </div>
3589  </div>
3590
3591  <div class='follow-us__wrapper'>
3592    <div class='follow-us__carousel owl-carousel'>
3593      
3594        <div class='follow-us__item'>
3595          <a
3596            href='/products/milk-maker' 
3597            title=''
3598            aria-label=''
3599          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.01.27_PM.png?v=1776920980&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.01.27_PM.png?v=1776920980&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3600          </a>
3601        </div>
3602      
3603        <div class='follow-us__item'>
3604          <a
3605            href='/pages/sustainability-practices' 
3606            title=''
3607            aria-label=''
3608          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.01.04_PM.png?v=1776920934&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.01.04_PM.png?v=1776920934&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3609          </a>
3610        </div>
3611      
3612        <div class='follow-us__item'>
3613          <a
3614            href='/products/electrolyte' 
3615            title=''
3616            aria-label=''
3617          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.00.53_PM.png?v=1776920902&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.00.53_PM.png?v=1776920902&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3618          </a>
3619        </div>
3620      
3621        <div class='follow-us__item'>
3622          <a
3623            href='/products/milk-maker' 
3624            title=''
3625            aria-label=''
3626          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.00.40_PM.png?v=1776920873&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.00.40_PM.png?v=1776920873&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3627          </a>
3628        </div>
3629      
3630        <div class='follow-us__item'>
3631          <a
3632            href='/products/nightcap' 
3633            title=''
3634            aria-label=''
3635          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.00.24_PM.png?v=1776920847&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.00.24_PM.png?v=1776920847&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3636          </a>
3637        </div>
3638      
3639        <div class='follow-us__item'>
3640          <a
3641            href='/products/collagen-beauty-powder' 
3642            title=''
3643            aria-label=''
3644          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.00.04_PM.png?v=1776920817&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_5.00.04_PM.png?v=1776920817&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3645          </a>
3646        </div>
3647      
3648        <div class='follow-us__item'>
3649          <a
3650            href='/products/milk-maker' 
3651            title=''
3652            aria-label=''
3653          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.54_PM.png?v=1776920778&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.54_PM.png?v=1776920778&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3654          </a>
3655        </div>
3656      
3657        <div class='follow-us__item'>
3658          <a
3659            href='/products/electrolyte' 
3660            title=''
3661            aria-label=''
3662          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.45_PM.png?v=1776920753&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.45_PM.png?v=1776920753&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3663          </a>
3664        </div>
3665      
3666        <div class='follow-us__item'>
3667          <a
3668            href='/products/electrolyte' 
3669            title=''
3670            aria-label=''
3671          >
3671<img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.24_PM.png?v=1776920647&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.24_PM.png?v=1776920647&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3672          </a>
3673        </div>
3674      
3675        <div class='follow-us__item'>
3676          <a
3677            href='/products/collagen-beauty-powder' 
3678            title=''
3679            aria-label=''
3680          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.14_PM.png?v=1776920619&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.14_PM.png?v=1776920619&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3681          </a>
3682        </div>
3683      
3684        <div class='follow-us__item'>
3685          <a
3686            href='/products/nightcap' 
3687            title=''
3688            aria-label=''
3689          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.01_PM.png?v=1776920579&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-04-23_at_4.59.01_PM.png?v=1776920579&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3690          </a>
3691        </div>
3692      
3693        <div class='follow-us__item'>
3694          <a
3695            href='/products/super-beauty' 
3696            title=''
3697            aria-label=''
3698          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.13.56_pm.png?v=1773357312&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.13.56_pm.png?v=1773357312&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3699          </a>
3700        </div>
3701      
3702        <div class='follow-us__item'>
3703          <a
3704            href='/blogs/journal' 
3705            title=''
3706            aria-label=''
3707          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.13.37_pm.png?v=1773357312&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.13.37_pm.png?v=1773357312&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3708          </a>
3709        </div>
3710      
3711        <div class='follow-us__item'>
3712          <a
3713            href='/products/pea-protein-powder' 
3714            title=''
3715            aria-label=''
3716          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.13.18_pm.png?v=1773357313&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.13.18_pm.png?v=1773357313&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3717          </a>
3718        </div>
3719      
3720        <div class='follow-us__item'>
3721          <a
3722            href='/products/two-islands-drink-bottle-with-straw-850ml' 
3723            title=''
3724            aria-label=''
3725          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.13.04_pm.png?v=1773357313&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.13.04_pm.png?v=1773357313&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3726          </a>
3727        </div>
3728      
3729        <div class='follow-us__item'>
3730          <a
3731            href='/blogs/journal' 
3732            title=''
3733            aria-label=''
3734          ><img src="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.12.53_pm.png?v=1773357311&amp;width=500" alt="" srcset="//twoislandsco.com/cdn/shop/files/Screenshot_2026-03-13_at_12.12.53_pm.png?v=1773357311&amp;width=352 352w" loading="lazy" sizes="(min-width: 768px) 80vw, 100vw">
3735          </a>
3736        </div>
3737      
3738    </div>
3739  </div>
3740</section>
3741
3742
3743
3744
3745  <style>
3746    .block-padding--template--15824825614536__follow_us {
3747      
3748
3749      
3750    }
3751
3752    @media (max-width: 768px) {
3753      .block-padding--template--15824825614536__follow_us {
3754        
3755          
3756        
3757
3758
3759        
3760          
3761        
3762      }
3763    }
3764  </style>
3765
3766
3767
3768
3769
3770  <style>
3771    .mx--template--15824825614536__follow_us {
3772      
3773    }
3774
3775    @media (max-width: 768px) {
3776      .mx--template--15824825614536__follow_us {
3777        
3778          
3779        
3780      }
3781    }
3782  </style>
3783
3784
3785
3786
3787</div><div id="shopify-section-template--15824825614536__gradients" class="shopify-section gradients__section"><div class='gradients block-padding--template--15824825614536__gradients mx--template--15824825614536__gradients'>
3788  <div class='gradients__wrapper'>
3789    <div class='navbar__spacing'></div>
3790
3791    
3792      <div class='gradients__gradient gradients__gradient--1'></div>
3793    
3794      <div class='gradients__gradient gradients__gradient--2'></div>
3795    
3796      <div class='gradients__gradient gradients__gradient--3'></div>
3797    
3798      <div class='gradients__gradient gradients__gradient--4'></div>
3799    
3800  </div>
3801</div>
3802
3803
3804
3805
3806  <style>
3807    .block-padding--template--15824825614536__gradients {
3808      
3809
3810      
3811    }
3812
3813    @media (max-width: 768px) {
3814      .block-padding--template--15824825614536__gradients {
3815        
3816          
3817        
3818
3819
3820        
3821          
3822        
3823      }
3824    }
3825  </style>
3826
3827
3828
3829
3830
3831  <style>
3832    .mx--template--15824825614536__gradients {
3833      
3834    }
3835
3836    @media (max-width: 768px) {
3837      .mx--template--15824825614536__gradients {
3838        
3839          
3840        
3841      }
3842    }
3843  </style>
3844
3845
3846
3847
3848</div>
3849
3850      <!-- BEGIN sections: main-footer -->
3851<div id="shopify-section-sections--18043285504200__footer" class="shopify-section shopify-section-group-main-footer"><footer class='footer'>
3852  <div class='footer__grid'>
3853    <div class='footer__column footer__column--form' id='sms-form'>
3854      <link href="//twoislandsco.com/cdn/shop/t/190/assets/intlTelInput.css?v=34166537789638445811663583138" rel="stylesheet" type="text/css" media="all" />
3855<style>
3856  .iti__flag {background-image: url(" //twoislandsco.com/cdn/shop/t/190/assets/flags.png?v=110639247209705433541663583140 ");}
3857  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
3858    .iti__flag {background-image: url(" //twoislandsco.com/cdn/shop/t/190/assets/[email protected]?v=103499352672715989171663583137 ");}
3859  }
3860</style>
3861
3862<div class='newsletter-form'>
3863  <div class='footer__form'>
3864    <h5>
3865      Enjoy 15% off your first order, access new product launches and special offers.
3866    </h5>
3867
3868    <form
3869      id='klaviyo-newsletter'
3870      class='footer-form newsletter-klaviyo-form'
3871      action='//manage.kmail-lists.com/subscriptions/subscribe'
3872      data-ajax-submit='//manage.kmail-lists.com/ajax/subscriptions/subscribe'
3873      method='GET'
3874      target='_blank'
3875    >
3876      <input type='hidden' name='g' value='S42aHM'>
3877      <input type='hidden' name='$fields' value='$consent, email, $phone_number, $first_name'>
3878      <input type='hidden' name='$list_fields' value='$consent'>
3879      <input type='hidden' name='$consent' value='email'>
3880
3881      <div class='form-row'>
3882        <input type='text' name='$first_name' placeholder='First Name*' required>
3883      </div>
3884      <div class='form-row'>
3885        <input type='email' name='email' placeholder='Email*' pattern='[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$' required>
3886      </div>
3887      <div class='form-row' data-error=''>
3888        <input type='number' class='js-phone-validation' placeholder='SMS'>
3889        <input type='hidden' class='js-phone-value' name='$phone_number'>
3890      </div>
3891
3892      <div class='form-row form-row--last'>
3893        <button type='submit' class='dot-button'>
3894          <span class='dot-button__dot'></span>
3895          Sign up
3896        </button>
3897
3898        <p>
3899          *By signing up, you acknowledge our <a href="/pages/privacy-policy-terms-of-use">Privacy Policy</a>, and agree to Two Islands <a href="/pages/privacy-policy-terms-of-use">Terms Of Use</a> and <a href="/pages/promo">Promo T&C's</a>. Promo codes not valid during sales.
3900        </p>
3901      </div>
3902
3903      <div class='klaviyo_messages'>
3904        <div class='error_message' style='display:none;'></div>
3905      </div>
3906    </form>
3907  </div>
3908
3909  <div class='newsletter-popup__success'>
3910    <h4>
3911      Thank you!
3912    </h4>
3913    <p>
3914      Your code below – click code to automatically apply your offer.
3915    </p>
3916
3917    
3918    <a
3919      class='discount-button'
3920      href='/discount/HELLO15?redirect=/'
3921    >
3922      HELLO15
3923    </a>
3924  </div>
3925</div>
3926
3927    </div>
3928
3929    
3930      <div class='footer__column footer__column--links'>
3931        <div class='footer__links'>
3932          <h4>
3933            Learn
3934          </h4>
3935
3936          
3937            <ul>
3938              
3939                <li>
3940                  <a href='/pages/about'>About</a>
3941                </li>
3942              
3943                <li>
3944                  <a href='https://twoislandsco.com/pages/island-rewards'>Island Rewards</a>
3945                </li>
3946              
3947                <li>
3948                  <a href='/pages/subscriptions'>Subscribe & Save</a>
3949                </li>
3950              
3951                <li>
3952                  <a href='/pages/sustainability-practices'>Sustainability</a>
3953                </li>
3954              
3955                <li>
3956                  <a href='/blogs/ingredients'>Ingredients </a>
3957                </li>
3958              
3959                <li>
3960                  <a href='/blogs/blog'>Journal</a>
3961                </li>
3962              
3963                <li>
3964                  <a href='/pages/stockists'>Stockists</a>
3965                </li>
3966              
3967                <li>
3968                  <a href='/pages/two-islands-china'>Two Islands in China</a>
3969                </li>
3970              
3971            </ul>
3972          
3973        </div>
3974      </div>
3975    
3976      <div class='footer__column footer__column--links'>
3977        <div class='footer__links'>
3978          <h4>
3979            Shop
3980          </h4>
3981
3982          
3983            <ul>
3984              
3985                <li>
3986                  <a href='/collections/hydrate-electrolytes'>Electrolytes</a>
3987                </li>
3988              
3989                <li>
3990                  <a href='/collections/protein-powder'>Protein Powders</a>
3991                </li>
3992              
3993                <li>
3994                  <a href='/collections/marine-collagen'>Marine Collagen</a>
3995                </li>
3996              
3997                <li>
3998                  <a href='/collections/all-products'>Supplements</a>
3999                </li>
4000              
4001                <li>
4002                  <a href='/collections/all-products'>Shop All</a>
4003                </li>
4004              
4005            </ul>
4006          
4007        </div>
4008      </div>
4009    
4010      <div class='footer__column footer__column--links'>
4011        <div class='footer__links'>
4012          <h4>
4013            Info
4014          </h4>
4015
4016          
4017            <ul>
4018              
4019                <li>
4020                  <a href='/pages/contact-us'>Contact Us</a>
4021                </li>
4022              
4023                <li>
4024                  <a href='/pages/faqs'>FAQs</a>
4025                </li>
4026              
4027                <li>
4028                  <a href='/pages/privacy-policy-terms-of-use'>Privacy Policy</a>
4029                </li>
4030              
4031                <li>
4032                  <a href='/pages/shipping-and-returns'>Shipping & Delivery</a>
4033                </li>
4034              
4035                <li>
4036                  <a href='/pages/promo'>Terms & Conditions</a>
4037                </li>
4038              
4039                <li>
4040                  <a href='https://www.instagram.com/twoislandsco'>Instagram</a>
4041                </li>
4042              
4043                <li>
4044                  <a href='https://www.facebook.com/twoislandsco'>Facebook</a>
4045                </li>
4046              
4047                <li>
4048                  <a href='https://www.tiktok.com/@twoislands_'>TikTok</a>
4049                </li>
4050              
4051                <li>
4052                  <a href='/pages/wholesale'>Wholesale</a>
4053                </li>
4054              
4055            </ul>
4056          
4057        </div>
4058      </div>
4059    
4060  </div>
4061  <div class='footer-bottom'>
4062    <div class='footer-bottom__grid'>
4063      <div class='footer-bottom__left'>
4064        <div class='footer-bottom__logos'>
4065          
4066            <span>
4067              
4068                <a href='https://bcorp.com' target='_blank'>
4069              
4070              <img src='//twoislandsco.com/cdn/shop/files/B-Corp-Logo-Black-RGB_68debb9d-ad82-4808-8412-3e372483eb24.png?v=1786065098' alt=''>
4071              
4072                </a>
4073              
4074            </span>
4075          
4076            <span>
4077              
4078              <img src='//twoislandsco.com/cdn/shop/files/LW-logo-black_200x-8.png?v=1774906536' alt=''>
4079              
4080            </span>
4081          
4082            <span>
4083              
4084              <img src='//twoislandsco.com/cdn/shop/files/Climate_Action_Company_Carbonz_partner-logo-transp.png?v=1774906535' alt=''>
4085              
4086            </span>
4087          
4088            <span>
4089              
4090              <img src='//twoislandsco.com/cdn/shop/files/FernMark_Horizontal_Eng.png?v=1774906535' alt=''>
4091              
4092            </span>
4093          
4094            <span>
4095              
4096              <img src='//twoislandsco.com/cdn/shop/files/POTSLogo_1.png?v=1783484394' alt=''>
4097              
4098            </span>
4099          
4100        </div>
4101      </div>
4102      <div class='footer-bottom__right'>
4103        <p>
4104          <span>© 2026 Two Islands </span
4105          ><a href='https://almond.studio' target='_blank' title='https://almond.studio/'>Site by S/A</a>
4106        </p>
4107      </div>
4108    </div>
4109  </div>
4110</footer>
4111
4112<link href="//twoislandsco.com/cdn/shop/t/190/assets/component-newsletter-popup.css?v=47602666606459740961663583139" rel="stylesheet" type="text/css" media="all" />
4113
4114<!-- 
4115	toggle the ".newsletter-popup--success" class to show/hide success message.
4116 -->
4117<!-- <div class="newsletter-popup newsletter-popup--success"> -->
4118
4119
4120
4121
4122
4123<script type='text/javascript' src='//www.klaviyo.com/media/js/public/klaviyo_subscribe.js'></script>
vendor: 1 bytes, line 4123
4123
4124<script>
4125  /**
4126   * Attach Klaviyo
4127   */
4128  document.querySelectorAll('.newsletter-klaviyo-form').forEach((form) => {
4129    $(form).on('submit', function (e) {
4130      if ($(form).find('[data-invalid]').length) {
4131        e.preventDefault();
4132        console.log('invalid');
4133        return false;
4134      }
4135
4136      /**
4137       * Submit data to SMSBump separately
4138       */
4139      const first_name = $(form).find('[name="$first_name"]').val();
4140      const email = $(form).find('[name="email"]').val();
4141      const phone_number = $(form).find('[name="$phone_number"]').val();
4142
4143      const data = {
4144        store: 'two-islands-co.myshopify.com',
4145        $source: 'Footer form ',
4146        $first_name: first_name,
4147        $email: email,
4148        $phone_number: phone_number,
4149        $consent_method: 'Klaviyo Form',
4150        $consent_form_id: 'S7UA87',
4151        $consent_form_version: 5846499,
4152        sentIdentifiers: {},
4153        sms_consent: true,
4154      };
4155      fetch('https://sqs-webhooks.smsbump.com/forms-subscription', {
4156        method: 'POST',
4157        body: JSON.stringify(data),
4158      });
4159    });
4160
4161    KlaviyoSubscribe.attachToForms(form, {
4162      hide_form_on_success: false,
4163      custom_success_message: true,
4164      success_message: '',
4165      success: function () {
4166        newsletterSuccess($(form).closest('.newsletter-form'));
4167      },
4168    });
4169  });
4170
4171  /**
4172   * Popup Success
4173   */
4174  function newsletterSuccess($form) {
4175    const $el = $form || $('.newsletter-form');
4176
4177    Cookies.set('newsletter-popup', 'success', {
4178      expires: 365,
4179      path: '',
4180    });
4181
4182    $($el).addClass('newsletter-popup--success');
4183  }
4184
4185  /**
4186   * Popup Dismiss
4187   */
4188  $('.newsletter-popup__close').on('click', function (e) {
4189    e.preventDefault();
4190    $('body').removeClass('newsletter-popup--show');
4191
4192    Cookies.set('newsletter-popup', 'dismissed', {
4193      expires: +`10`,
4194      path: '',
4195    });
4196  });
4197
4198  /**
4199   * Count popup's delay X seconds
4200   * after window has been loaded
4201   */
4202  $(window).on('load', function () {
4203    const timeoutDelay = +`45` * 1000;
4204
4205    setTimeout(function () {
4206      $('body').addClass('newsletter-popup--show');
4207    }, timeoutDelay);
4208  });
4209
4210  /**
4211   * Remove popup's DOM if the popup
4212   * was either closed or successfully submitted previously
4213   */
4214  if (Cookies.get('newsletter-popup') == 'dismissed' || Cookies.get('newsletter-popup') == 'success') {
4215    if (!Shopify.designMode) {
4216      jQuery('.newsletter-popup').remove();
4217    }
4218  }
4219
4220  // fetch("https://sqs-webhooks.smsbump.com/forms-subscription", {
4221  //   "headers": {
4222  //     "accept": "*/*",
4223  //     "accept-language": "en-US,en;q=0.9,de;q=0.8",
4224  //     "access-control-allow-origin": "*",
4225  //     "cache-control": "no-cache",
4226  //     "content-type": "application/json;charset=UTF-8",
4227  //     "pragma": "no-cache",
4228  //     "sec-ch-ua": "\"Google Chrome\";v=\"105\", \"Not)A;Brand\";v=\"8\", \"Chromium\";v=\"105\"",
4229  //     "sec-ch-ua-mobile": "?0",
4230  //     "sec-ch-ua-platform": "\"macOS\"",
4231  //     "sec-fetch-dest": "empty",
4232  //     "sec-fetch-mode": "cors",
4233  //     "sec-fetch-site": "cross-site"
4234  //   },
4235  //   "referrer": "https://twoislandsco.com/",
4236  //   "referrerPolicy": "no-referrer-when-downgrade",
4237  //   "body": "{\"customer_id\":0,\"store\":\"two-islands-co.myshopify.com\",\"$source\":\"Footer form \",\"$first_name\":\"data\",\"$email\":\"[email protected]\",\"$phone_number\":\"+923212313123\",\"$consent_method\":\"Klaviyo Form\",\"$consent_form_id\":\"S7UA87\",\"$consent_form_version\":5846499,\"sentIdentifiers\":{},\"sms_consent\":true,\"$step_name\":\"Email Opt-In\",\"_y_eventType\":\"stepSubmit\",\"_y_formType\":\"EMBEDED\"}",
4238  //   "method": "POST",
4239  //   "mode": "cors",
4240  //   "credentials": "omit"
4241  // });
4242
4243  // data = {
4244  //   "customer_id": 0,
4245  //   "store": "two-islands-co.myshopify.com",
4246  //   "$source": "Footer form ",
4247  //   "$first_name": "data",
4248  //   "$email": "[email protected]",
4249  //   "$phone_number": "+923212313123",
4250  //   "$consent_method": "Klaviyo Form",
4251  //   "$consent_form_id": "S7UA87",
4252  //   "$consent_form_version": 5846499,
4253  //   "sentIdentifiers": {},
4254  //   "sms_consent": true,
4255  //   "$step_name": "Email Opt-In",
4256  //   "_y_eventType": "stepSubmit",
4257  //   "_y_formType": "EMBEDED"
4258  // }
4259  // fetch("https://sqs-webhooks.smsbump.com/forms-subscription", {
4260  //   "method": "POST",
4261  //   "body": JSON.stringify(data)
4262  // });
4263</script>
4263
4264
4265<script>
4266  window.addEventListener('klaviyoForms', function (e) {
4267    console.log('klaviyo form');
4268    console.log(e.detail);
4269  });
4270</script>
4270
4271
4272<style data-shopify>
4273  .footer {
4274    background-color: #3e3e3d;
4275    color: #000000;background: url('//twoislandsco.com/cdn/shop/files/TI_Gradient_Banner_web.png?v=1779745136') center / cover no-repeat;}
4276  .footer-form input {
4277    color: #000000;
4278    border-bottom: 1px solid #000000;
4279  }
4280  .footer-form input::placeholder {
4281    color: #000000;
4282  }
4283  .footer-form .dot-button {
4284    color: #000000;
4285  }
4286  .footer-form .dot-button__dot {
4287    background: #000000;
4288  }
4289  .footer__form p a:hover,.footer__links ul a:hover,.footer-bottom__right>p {
4290    color: #000000;
4291  }
4292  .footer__form .iti__arrow {
4293    border-top-color: #000000;
4294  }
4295  .footer-bottom__logos {
4296    display: flex;
4297    flex-wrap: nowrap;
4298    align-items: center;
4299    gap: 16px;
4300  }
4301</style>
4302</style>
4303
4304
4305</div>
4306<!-- END sections: main-footer -->
4307    </main>
4308
4309    <div id="shopify-section-cart-drawer" class="shopify-section"><div class='cart-drawer'>
4310  <!-- <form action="/cart" method="post" class="cart-drawer__form" > -->
4311
4312  <div class='cart-drawer__grid' data-ajax-cart-section>
4313    
4314      <div class='cart-drawer__ribbon'>
4315        <p>
4316          Free NZ shipping on orders over $90 | Free AU Shipping on orders over $130
4317        </p>
4318      </div>
4319    
4320
4321    <!-- cart header -->
4322    <div class='cart-drawer__header' data-ajax-cart-static-element>
4323      <div class='cart-drawer__title'>
4324        <h3>Your order</h3>
4325      </div>
4326      <div class='cart-drawer__button'>
4327        <a class='button' href='/cart'>View my cart</a>
4328      </div>
4329      <div class='cart-drawer__close'>
4330        <a class='cart-drawer__close--desktop' href='#'>
4331          <img src='//twoislandsco.com/cdn/shop/t/190/assets/icon-close.svg?v=92018993089306379161663583140' loading='lazy' width='24' height='24'>
4332        </a>
4333        <a class='cart-drawer__close--mobile' href='#'>
4334          <img src='//twoislandsco.com/cdn/shop/t/190/assets/icon-close.svg?v=92018993089306379161663583140' loading='lazy' width='24' height='24'>
4335        </a>
4336      </div>
4337    </div>
4338
4339    
4340
4341
4342
4343    
4344
4345    <!-- cart body -->
4346    <div class='cart-drawer__body' data-ajax-cart-section-scroll>
4347      <!-- cart-drawer-items -->
4348      <div class='cart-drawer__items'>
4349  
4350    <div class='cart-drawer__message'>Your cart is empty</div>
4351    <div class='cart-preloader'>
4352      <div class='cart-preloader__image--left pulse'></div>
4353      <div class='cart-preloader__content--right'>
4354        <div class='cart-preloader__title'>
4355          <div class='cart-preloader__title--text pulse'></div>
4356          <div class='cart-preloader__title--price pulse'></div>
4357        </div>
4358        <div class='cart-preloader__action'>
4359          <div class='cart-preloader__action--desc pulse'></div>
4360          <div class='cart-preloader__action--remove pulse'></div>
4361        </div>
4362        <div class='cart-preloader__qty pulse'></div>
4363      </div>
4364    </div>
4365  
4366</div>
4367
4368
4369      <!-- cart-recommend -->
4370    </div>
4371
4372    <!-- cart footer -->
4373    <div class='cart-drawer__footer'>
4374      
4375        
4376
4377<style>
4378  loyalty-points-dropdown {
4379    font-family: inherit;
4380    font-style: normal;
4381    font-weight: 400;
4382    line-height: 100%;
4383    letter-spacing: -0.02em;
4384  }
4385  loyalty-points-dropdown .loyalty-dropdown__title {
4386    text-align: left !important;
4387  }
4388  .loyalty-dropdown__option {
4389    max-height: 39.8px !important;
4390  }
4391  @media screen and (max-width: 749px) {
4392    loyalty-points-dropdown {
4393      padding-inline: 20px;
4394    }
4395  }
4396</style>
4397
4398<loyalty-points-dropdown
4399  dropdown-title='Use your reward points'
4400  icon-type='chevron'
4401  custom-styles='{&quot;abbreviate_text&quot;:false,&quot;checkout_body_text&quot;:&quot;&quot;,&quot;checkout_confirmation_message&quot;:&quot;&quot;,&quot;checkout_select_label&quot;:&quot;&quot;,&quot;discount_conflict_error&quot;:&quot;&quot;,&quot;dropdown_border_radius&quot;:0,&quot;dropdown_border_thickness&quot;:1,&quot;dropdown_error_color&quot;:{&quot;alpha&quot;:1,&quot;brightness&quot;:0.24313725490196078,&quot;hex&quot;:&quot;#3e3e3d&quot;,&quot;hue&quot;:60,&quot;saturation&quot;:0.01612903225806446},&quot;dropdown_font_family&quot;:&quot;inherit&quot;,&quot;dropdown_font_size&quot;:12,&quot;dropdown_height&quot;:&quot;auto&quot;,&quot;dropdown_icon_type&quot;:&quot;chevron&quot;,&quot;dropdown_padding_horizontal&quot;:16,&quot;dropdown_padding_vertical&quot;:12,&quot;dropdown_primary_background_color&quot;:{&quot;alpha&quot;:1,&quot;brightness&quot;:1,&quot;hex&quot;:&quot;#ffffff&quot;,&quot;hue&quot;:0,&quot;saturation&quot;:0},&quot;dropdown_primary_border_color&quot;:{&quot;alpha&quot;:1,&quot;brightness&quot;
4401:0.24313725490196078,&quot;hex&quot;:&quot;#3e3e3d&quot;,&quot;hue&quot;:60,&quot;saturation&quot;:0.01612903225806446},&quot;dropdown_primary_text_color&quot;:{&quot;alpha&quot;:1,&quot;brightness&quot;:0.24313725490196078,&quot;hex&quot;:&quot;#3e3e3d&quot;,&quot;hue&quot;:60,&quot;saturation&quot;:0.01612903225806446},&quot;dropdown_secondary_background_color&quot;:{&quot;alpha&quot;:1,&quot;brightness&quot;:0.9294117647058824,&quot;hex&quot;:&quot;#b1d1ed&quot;,&quot;hue&quot;:208.00000000000003,&quot;saturation&quot;:0.2531645569620254},&quot;dropdown_secondary_border_color&quot;:{&quot;alpha&quot;:1,&quot;brightness&quot;:0.24313725490196078,&quot;hex&quot;:&quot;#3e3e3d&quot;,&quot;hue&quot;:60,&quot;saturation&quot;:0.01612903225806446},&quot;dropdown_secondary_text_color&quot;:{&quot;alpha&quot;:1,&quot;brightness&quot;:0.24313725490196078,&quot;hex&quot;:&quot;#3e3e3d&quot;,&quot;hue&quot;:60,&quot;saturation&quot;:0.01612903225806446},&quot;dropdown_success_color&quot;:{&quot;alpha&quot;:1,&quot;brightness&quot;:0.24313725490196078,&quot;hex&quot;:&quot;#3e3e3d&quot;,&quot;hue&quot;:60,&quot;saturation&quot;:0.01612903225806446},&quot;dropdown_title&quot;:&quot;Use your reward points&quot;,&quot;dropdown_uppercase&quot;:true,&quot;insufficient_points_error&quot;:&quot;&quot;,&quot;min_order_value_error&quot;:&quot;&quot;,&quot;no_eligible_items_error&quot;:&quot;&quot;,&quot;operation_error&quot;:&quot;&quot;,&quot;padding_bottom&quot;:0,&quot;padding_top&quot;:0,&quot;redemption_method&quot;:&quot;coupon&quot;,&quot;select_reward_text&quot;:&quot;&quot;}'
4402  redemption-method='coupon'
4403  style='margin-top: 0px; margin-bottom: 0px;'
4404></loyalty-points-dropdown>
4405
4406      
4407
4408      <div class='cart-drawer__buttons'>
4409        <a
4410          href='/collections/all-products'
4411          class='button button--light cart-drawer__button cart-drawer__button--shopping shopping'
4412        >
4413          Start Shopping
4414        </a>
4415
4416        
4417          <a
4418            href='/collections/all-products'
4419            class='button button--dark cart-drawer__button cart-drawer__button--checkout checkout'
4420          >
4421            Continue Shopping
4422          </a>
4423        
4424      </div>
4425
4426      
4427      
4428    </div>
4429
4430    <!-- cart loading overlay -->
4431    <div class='cart-drawer__loader cart-loader'>
4432      <div class='cart-loader__element'>
4433        <!--
4434          place any loading indicator inside text, image or anything else, will always be vertically and horizontally centered.
4435        -->
4436        <!-- <h4>Loading...</h4> -->
4437      </div>
4438    </div>
4439  </div>
4440  <!-- </form> -->
4441</div>
4442
4443<div class='cart-drawer__overlay'></div>
4444
4445<script type='application/json' data-ajax-cart-initial-state>
4446  {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}
4447</script>
vendor: 1 bytes, line 4447
4447
4448<script type='application/json' data-ajax-cart-configuration>
4449  {
4450    "addToCartCssClass": "cart-drawer--added"
4451  }
4452</script>
4452
4453
4454<script type='module'>
4455  function updateFreeShipping() {
4456    const $parent = $('.cart-drawer .coupon-field');
4457    const $total = $parent.find('.dcodeTotalValue .dcode-total-value');
4458    const $currency = $parent.find('.dcodeTotalValue .dcode-total-currency');
4459
4460    let total = +$('.cart-drawer__amount').attr('data-amount');
4461    let currency = Shopify.currency.active;
4462    const shippingAmount = +$('.cart-drawer__ship-info').attr('data-amount');
4463
4464    // if ( $total.length ) {
4465    // 	total = +$total.text();
4466    // 	currency = $currency.text();
4467    // }
4468
4469    if (!total) {
4470      total = 0;
4471    }
4472
4473    const isFreeShipping = $('.free-shipping--free').length || total > shippingAmount;
4474    const hasSubscription = $('.free-shipping--subscription').length > 0;
4475    const amountLeft = shippingAmount - total;
4476
4477    const afterpayPrice = Shopify.formatMoney((total * 100) / 4).replaceAll('.00', '');
4478    // const laybuyPrice = Shopify.formatMoney( total * 100 / 6 ).replaceAll('.00','');
4479
4480    $('.js-cart-afterpay').text(afterpayPrice);
4481    // $('.js-cart-laybuy').text(laybuyPrice);
4482
4483    $('.free-shipping__amount').text(Shopify.formatMoney(amountLeft * 100).replaceAll('.00', ''));
4484    // $('.js-cart-total').text( Shopify.formatMoney( total * 100 ).replaceAll('.00','') );
4485    $('.main-cart, .cart-drawer').toggleClass('free-shipping--unlocked', !!isFreeShipping);
4486
4487    $('.main-cart, .cart-drawer').toggleClass('has-subscription-item', hasSubscription);
4488    // console.log({ isFreeShipping });
4489  }
4490
4491  // const observer = new MutationObserver(function(mutationList, observer) {
4492  // 	updateFreeShipping();
4493  // });
4494
4495  function freeShipping() {
4496    // observer.disconnect();
4497    // updateFreeShipping();
4498    // const target = $('.cart-drawer .coupon-field')[0];
4499    // if( target ) {
4500    // 	observer.observe(target, {
4501    // 		childList: true,
4502    // 		subtree: true
4503    // 	})
4504    // }
4505    // $.ajax({
4506    // 	type: 'GET',
4507    // 	url:'/checkout',
4508    // 	success: function(data, textStatus, request){
4509    // 		const checkoutURL = request.getResponseHeader('content-location');
4510    // 		if( checkoutURL ) {
4511    // 			$.get(checkoutURL, function(data) {
4512    // 				let total = +$(data).find('.total-line-table__footer [data-checkout-payment-due-target]').attr('data-checkout-payment-due-target');
4513    // 				total /= 100;
4514    // 				const shippingAmount = +$('.cart-drawer__ship-info').attr('data-amount');
4515    // 				const isFreeShipping = $('.free-shipping--free').length || total > shippingAmount;
4516    // 				const amountLeft = shippingAmount - total;
4517    // 				$('.free-shipping__amount').text( Shopify.formatMoney( amountLeft * 100 ) );
4518    // 				$('.cart-drawer').toggleClass('free-shipping--unlocked', isFreeShipping);
4519    // 			});
4520    // 		}
4521    // 	}
4522    // });
4523  }
4524
4525  async function setSellingPlan(id, selling_plan, _quantity) {
4526    const quantity = _quantity || $(this)?.closest('.cart-item')?.find('[data-ajax-cart-quantity-input]')?.val() || 0;
4527
4528    await fetch('/cart/change.js', {
4529      method: 'POST',
4530      headers: {
4531        'Content-Type': 'application/json',
4532        Accept: 'application/json',
4533      },
4534      body: JSON.stringify({
4535        line: id,
4536        selling_plan,
4537        quantity: quantity,
4538      }),
4539    }).then(() => {
4540      $('.cart-item select').niceSelect();
4541      freeShipping();
4542    });
4543  }
4544
4545  $(document).on('change', '.cart-item select[name="selling_plan"]', async function (e) {
4546    const id = $(this).attr('data-id');
4547    const selling_plan = $(this).val();
4548
4549    await setSellingPlan(id, selling_plan);
4550  });
4551
4552  $(document).on('click', '.cart-item .cart-item__remove--subscription', async function (e) {
4553    e.preventDefault();
4554
4555    const id = $(this).attr('data-id');
4556    const selling_plan = null;
4557
4558    await setSellingPlan(id, selling_plan, 0);
4559  });
4560
4561  $(document).on('click', '.cart-subscription__upgrade', function (e) {
4562    e.preventDefault();
4563    $(this).closest('.cart-subscription').addClass('cart-subscription--show-selector');
4564  });
4565
4566  async function gwpUpdate() {
4567    const gwpAll = JSON.parse($('#gwp-all').text());
4568    const gwpToAdd = JSON.parse($('#gwp-to-add').text());
4569    const gwpAdded = localStorage.getObject('gwpAdded') || [];
4570    const gwpUpdates = {};
4571
4572    gwpAll.forEach((id) => {
4573      gwpUpdates[id] = 0;
4574    });
4575
4576    gwpToAdd.forEach((id) => {
4577      gwpUpdates[id] = 1;
4578    });
4579
4580    gwpAdded.forEach((id) => {
4581      if (gwpToAdd.includes(id)) {
4582        delete gwpUpdates[id];
4583      }
4584    });
4585
4586    await fetch('/cart/update.js', {
4587      method: 'POST',
4588      headers: {
4589        'Content-Type': 'application/json',
4590        Accept: 'application/json',
4591      },
4592      body: JSON.stringify({
4593        updates: gwpUpdates,
4594      }),
4595    }).then(() => {
4596      $('.cart-item select').niceSelect();
4597
4598      freeShipping();
4599    });
4600  }
4601
4602  $(function () {
4603    freeShipping();
4604    window.updateFreeShipping = updateFreeShipping;
4605  });
4606</script>
4606
4607
4608<script>
4609  $(document).on('click', '.navbar__cart-link, .cart-drawer__trigger', function (e) {
4610    e.preventDefault();
4611    $('body').toggleClass('cart-drawer--show');
4612  });
4613
4614  $(document).on('click', '.cart-drawer__open', function (e) {
4615    $('body').toggleClass('cart-drawer--show');
4616  });
4617
4618  $(document).on('click', '.cart-drawer__close, .cart-drawer__overlay', function (e) {
4619    e.stopPropagation();
4620    $('body').removeClass('cart-drawer--show');
4621  });
4622
4623  $('.cart-drawer__close--mobile, .cart-drawer__close--desktop').on('click', function (e) {
4624    e.preventDefault();
4625  });
4626</script>
4626
4627
4628
4629</div>
4630
4631    
4631<script src='//twoislandsco.com/cdn/shop/t/190/assets/global.js?v=118607186526788460221663583140' defer></script>
4631
4632    
4633      
4633<script src='//twoislandsco.com/cdn/shop/t/190/assets/owl.carousel.min.js?v=97891440811553454251663583138' defer></script>
4633
4634    
4635
4636    
4636<script src='//twoislandsco.com/cdn/shop/t/190/assets/bundle.js?v=65555518317860607471780546239' defer></script>
4636
4637
4638    
4638<script>
4639  class SectionRenderer {
4640    constructor() {
4641      this.cache = {};
4642      const mainProductSectionId = document.querySelector('.product-main')?.dataset.id;
4643      this.sectionIds = [mainProductSectionId, 'product-reviews', 'related-products', 'product-related-articles'];
4644      this.init();
4645    }
4646
4647    init() {
4648      // NEW: Cache the initial page content first
4649      this.cacheInitialContent();
4650
4651      // Cache all refill button data on page load
4652      this.cacheRefillButtonData();
4653
4654      // Add click handlers for refill buttons
4655      this.addRefillButtonClickHandlers();
4656
4657      // Add back button handler
4658      // Add a property to track current URL
4659      this.currentUrl = window.location.href; // Track current URL
4660      this.isTransitioning = false; // Add loading state flag
4661
4662      // Updated popstate handler
4663      window.addEventListener('popstate', () => {
4664        const newUrl = window.location.href;
4665
4666        // Only process if URL actually changed
4667        if (newUrl === this.currentUrl) {
4668          console.log('Popstate fired but URL unchanged, ignoring');
4669          return;
4670        }
4671
4672        // NEW: Check if we're in the middle of a transition
4673        if (this.isTransitioning) {
4674          console.log('Currently transitioning, ignoring back button');
4675          return;
4676        }
4677
4678        console.log('Back button clicked - URL changed');
4679        console.log('Previous URL:', this.currentUrl);
4680        console.log('New URL:', newUrl);
4681
4682        const specificCacheKey = this.createCacheKey(newUrl);
4683        const genericCacheKey = new URL(newUrl).pathname;
4684
4685        console.log('Trying cache keys:', specificCacheKey, genericCacheKey);
4686        console.log('Available cache keys:', Object.keys(this.cache));
4687
4688        if (this.cache[specificCacheKey]) {
4689          console.log('Found specific cache match');
4690          this.updateSectionsFromData(this.cache[specificCacheKey]);
4691          this.currentUrl = newUrl; // Update tracked URL
4692        } else if (this.cache[genericCacheKey]) {
4693          console.log('Found generic cache match');
4694          this.updateSectionsFromData(this.cache[genericCacheKey]);
4695          this.currentUrl = newUrl; // Update tracked URL
4696        } else {
4697          console.log('No cache found for:', newUrl);
4698          // Graceful fallback - stay on current content
4699        }
4700      });
4701    }
4702
4703    cacheRefillButtonData() {
4704      // Get all refill buttons and cache their data
4705      const refillButtons = document.querySelectorAll('.refill-button');
4706      if (!refillButtons.length) return;
4707
4708      console.log(`Found ${refillButtons.length} refill buttons to cache`);
4709
4710      // For each refill button, fetch and cache its section data
4711      refillButtons.forEach((button) => {
4712        const url = button.getAttribute('href');
4713        if (!url) return;
4714
4715        // Create a cache key based on the URL
4716        const cacheKey = this.createCacheKey(url);
4717
4718        // Skip if already cached
4719        if (this.cache[cacheKey]) return;
4720
4721        // Build the fetch URL using Shopify's API format
4722        const fetchUrl = this.buildSectionUrl(url);
4723        console.log(`Fetching data for ${fetchUrl}`);
4724
4725        // Fetch the section data
4726        fetch(fetchUrl)
4727          .then((res) => res.json())
4728          .then((data) => {
4729            if (data) {
4730              // Preload images before caching
4731              this.preloadImagesFromData(data).then(() => {
4732                console.log(`Successfully cached data for ${cacheKey}`);
4733                this.cache[cacheKey] = data;
4734
4735                // NEW: Look for refill buttons in the fetched content and cache them too
4736                this.cacheRefillButtonsFromFetchedData(data, url);
4737              });
4738            }
4739          })
4740          .catch((error) => {
4741            console.error('Error fetching refill data:', error);
4742          });
4743      });
4744    }
4745
4746    // NEW: Add a method to extract and cache refill buttons from fetched data
4747    cacheRefillButtonsFromFetchedData(data, sourceUrl) {
4748      console.log('Looking for refill buttons in fetched content');
4749
4750      // Create a temporary container to parse the HTML
4751      const tempContainer = document.createElement('div');
4752
4753      // Go through each section in the data
4754      for (const [sectionId, html] of Object.entries(data)) {
4755        if (!html) continue;
4756
4757        // Parse the HTML
4758        tempContainer.innerHTML = html;
4759
4760        // Find all refill buttons in this section
4761        const refillButtons = tempContainer.querySelectorAll('.refill-button');
4762
4763        if (refillButtons.length) {
4764          console.log(`Found ${refillButtons.length} nested refill buttons in section ${sectionId}`);
4765
4766          // Cache each refill button's data
4767          refillButtons.forEach((button) => {
4768            const url = button.getAttribute('href');
4769            if (!url) return;
4770
4771            // Skip if it's the same as the source URL to prevent infinite recursion
4772            if (url === sourceUrl) return;
4773
4774            // Create a cache key based on the URL
4775            const cacheKey = this.createCacheKey(url);
4776
4777            // Skip if already cached
4778            if (this.cache[cacheKey]) {
4779              console.log(`Nested refill button data already cached for ${cacheKey}`);
4780              return;
4781            }
4782
4783            // Build the fetch URL using Shopify's API format
4784            const fetchUrl = this.buildSectionUrl(url);
4785            console.log(`Fetching nested refill button data for ${fetchUrl}`);
4786
4787            // Fetch the section data
4788            fetch(fetchUrl)
4789              .then((res) => res.json())
4790              .then((nestedData) => {
4791                if (nestedData) {
4792                  // Preload images before caching
4793                  this.preloadImagesFromData(nestedData).then(() => {
4794                    console.log(`Successfully cached nested refill data for ${cacheKey}`);
4795                    this.cache[cacheKey] = nestedData;
4796
4797                    // We could continue recursively, but for performance and to prevent
4798                    // potential circular references, we'll stop at this level
4799                  });
4800                }
4801              })
4802              .catch((error) => {
4803                console.error('Error fetching nested refill data:', error);
4804              });
4805          });
4806        }
4807      }
4808
4809      // Clear the temporary container
4810      tempContainer.innerHTML = '';
4811    }
4812
4813    buildSectionUrl(url) {
4814      // Start with the original URL
4815      const urlObj = new URL(url, window.location.origin);
4816
4817      // Add the sections parameter
4818      const sectionsParam = this.sectionIds.join(',');
4819      urlObj.searchParams.set('sections', sectionsParam);
4820
4821      return urlObj.toString();
4822    }
4823
4824    createCacheKey(url) {
4825      // Extract the product handle and variant ID from the URL
4826      const urlObj = new URL(url, window.location.origin);
4827      const path = urlObj.pathname;
4828      const variantId = urlObj.searchParams.get('variant');
4829
4830      // Create a unique cache key
4831      return `${path}${variantId ? `?variant=${variantId}` : ''}`;
4832    }
4833
4834    addRefillButtonClickHandlers() {
4835      console.log('Adding refill button click handlers');
4836      document.querySelectorAll('.refill-button').forEach((button) => {
4837        // First remove any existing event listeners to prevent duplicates
4838        const clonedButton = button.cloneNode(true);
4839        if (button.parentNode) {
4840          button.parentNode.replaceChild(clonedButton, button);
4841        }
4842
4843        // Add the event listener to the new button
4844        clonedButton.addEventListener('click', (event) => {
4845          event.preventDefault();
4846          console.log('Refill button clicked');
4847
4848          const url = clonedButton.getAttribute('href');
4849          if (!url) return;
4850
4851          this.handleRefillButtonClick(url);
4852        });
4853      });
4854      console.log('Refill button handlers added');
4855    }
4856
4857    handleRefillButtonClick(url) {
4858      // NEW: Set transitioning flag
4859      this.isTransitioning = true;
4860
4861      const cacheKey = this.createCacheKey(url);
4862      console.log(`Handling click for URL: ${url}, Cache key: ${cacheKey}`);
4863
4864      // NEW: Before changing content, cache the current content with BOTH specific and generic keys
4865      const currentUrl = window.location.href;
4866      const currentSpecificKey = this.createCacheKey(currentUrl);
4867      const currentGenericKey = new URL(currentUrl).pathname;
4868
4869      // FIXED: Always ensure both keys are cached
4870      if (!this.cache[currentSpecificKey] || !this.cache[currentGenericKey]) {
4871        console.log('Caching current content before navigation');
4872        const currentState = {};
4873
4874        this.sectionIds.forEach((sectionId) => {
4875          let sectionContainer;
4876          if (sectionId?.includes('template--')) {
4877            sectionContainer = document.querySelector(`#shopify-section-${sectionId}`);
4878          } else {
4879            sectionContainer = document.querySelector(`[id$="__${sectionId}"]`);
4880          }
4881
4882          if (sectionContainer) {
4883            currentState[sectionId] = sectionContainer.innerHTML;
4884          }
4885        });
4886
4887        // Always cache with both keys
4888        this.cache[currentSpecificKey] = currentState;
4889        this.cache[currentGenericKey] = currentState;
4890        console.log('Cached current content with keys:', currentSpecificKey, currentGenericKey
4890);
4891      }
4892
4893      if (this.cache[cacheKey]) {
4894        console.log('Using cached data');
4895        this.renderSectionFromCache(cacheKey, url);
4896      } else {
4897        console.log('No cached data found, fetching fresh');
4898        this.renderSectionFromFetch(url);
4899      }
4900    }
4901
4902    renderSectionFromCache(cacheKey, url) {
4903      console.log(`Rendering from cache: ${cacheKey}`);
4904      const data = this.cache[cacheKey];
4905      if (!data) return;
4906
4907      // Update each section from the cached data
4908      this.updateSectionsFromData(data);
4909
4910      // Update browser history and track the URL change
4911      history.pushState({}, '', url);
4912      this.currentUrl = url; // Track the new URL
4913    }
4914
4915    renderSectionFromFetch(url, updateHistory = true) {
4916      console.log(`Fetching and rendering: ${url}`);
4917      const fetchUrl = this.buildSectionUrl(url);
4918
4919      fetch(fetchUrl)
4920        .then((res) => res.json())
4921        .then((data) => {
4922          if (data) {
4923            // Preload images before caching
4924            this.preloadImagesFromData(data).then(() => {
4925              // Cache after images are preloaded
4926              const specificCacheKey = this.createCacheKey(url);
4927              const genericCacheKey = new URL(url).pathname; // Add generic key
4928
4929              // Cache with both specific and generic keys
4930              this.cache[specificCacheKey] = data;
4931              this.cache[genericCacheKey] = data;
4932
4933              console.log('Cached fetched content with keys:', specificCacheKey, genericCacheKey);
4934
4935              // Update each section from the fetched data
4936              this.updateSectionsFromData(data);
4937
4938              // Update browser history and track the URL change
4939              if (updateHistory) {
4940                history.pushState({}, '', url);
4941                this.currentUrl = url;
4942              }
4943            });
4944          }
4945        })
4946        .catch((error) => {
4947          console.error('Error fetching sections:', error);
4948        });
4949    }
4950
4951    updateSectionsFromData(data) {
4952      if (!document.body.classList.contains('pdp--prerendered')) {
4953        document.body.classList.add('pdp--prerendered');
4954      }
4955
4956      // Process each section in the response
4957      for (const [sectionId, html] of Object.entries(data)) {
4958        if (html === null) {
4959          console.warn(`Section ${sectionId} returned null content`);
4960          continue;
4961        }
4962
4963        this.replaceSection(sectionId, html);
4964      }
4965
4966      // After all sections are updated, reinitialize components
4967      this.reinitializeComponents();
4968
4969      // Explicitly re-add event handlers for refill buttons
4970      this.addRefillButtonClickHandlers();
4971
4972      // NEW: Cache any new refill buttons that appeared in the updated content
4973      this.cacheRefillButtonData();
4974
4975      // NEW: Clear transitioning flag when done
4976      setTimeout(() => {
4977        this.isTransitioning = false;
4978        console.log('Transition complete');
4979      }, 500); // Small delay to ensure everything is loaded
4980    }
4981
4982    replaceSection(sectionId, html) {
4983      console.log(`Replacing section: ${sectionId}`);
4984      let sectionContainer;
4985
4986      if (sectionId?.includes('template--')) {
4987        sectionContainer = document.querySelector(`#shopify-section-${sectionId}`);
4988      } else {
4989        sectionContainer = document.querySelector(`[id$="__${sectionId}"]`);
4990      }
4991      if (!sectionContainer) {
4992        console.warn(`Section container not found for ${sectionId}`);
4993        return;
4994      }
4995      // Find the section container using the shopify-section ID format
4996
4997      // Create a temporary container to parse the HTML
4998      const tempContainer = document.createElement('div');
4999      tempContainer.innerHTML = html;
5000
5001      // Extract scripts before replacing content
5002      const scripts = Array.from(tempContainer.querySelectorAll('script'));
5003
5004      // Pre-initialize Swiper elements if possible
5005      const swiperElements = tempContainer.querySelectorAll('.swiper:not(.initialized)');
5006      if (swiperElements.length) {
5007        console.log(`Found ${swiperElements.length} Swiper elements to prepare`);
5008        // Add any preparation code here - could add data attributes, etc.
5009      }
5010
5011      // Apply fade out transition
5012      $(sectionContainer).fadeOut(0, () => {
5013        // Replace the content after fade out
5014        sectionContainer.innerHTML = html;
5015
5016        // Execute the scripts after the content is in place
5017        this.executeScripts(scripts);
5018
5019        // Initialize swiper instances immediately to prevent layout flickering
5020        // this.initializeSwiperInstances(sectionContainer);
5021
5022        // Fade in the new content
5023        $(sectionContainer).fadeIn(0, () => {
5024          console.log(`Section ${sectionId} transition completed`);
5025        });
5026      });
5027    }
5028
5029    executeScripts(scripts) {
5030      console.log(`Processing ${scripts.length} scripts`);
5031
5032      window.initNiceSelect();
5033
5034      if (typeof $.fn.niceSelect !== 'undefined') {
5035        $('select').niceSelect();
5036      }
5037      // Categorize scripts by type
5038      const srcScripts = scripts.filter((script) => script.src);
5039      const inlineScripts = scripts.filter((script) => !script.src);
5040
5041      // First execute external scripts
5042      srcScripts.forEach((script, index) => {
5043        // Create a new script element
5044        const newScript = document.createElement('script');
5045
5046        // Copy attributes
5047        Array.from(script.attributes).forEach((attr) => {
5048          newScript.setAttribute(attr.name, attr.value);
5049        });
5050
5051        newScript.src = script.src;
5052
5053        // Append to document
5054        document.head.appendChild(newScript);
5055        console.log(`Loaded external script ${index + 1}/${srcScripts.length}`);
5056      });
5057
5058      // Then handle inline scripts more carefully using direct script injection
5059      inlineScripts.forEach((script, index) => {
5060        const scriptContent = script.textContent;
5061
5062        // Skip scripts that would cause redeclaration errors
5063        if (
5064          scriptContent.includes('class VariantSynchronizer') ||
5065          scriptContent.includes('class SectionRenderer') ||
5066          scriptContent.includes('const productVariants =') ||
5067          scriptContent.includes('window.productVariants =')
5068        ) {
5069          console.log(`Skipping script that would cause redeclaration (${index + 1}/${inlineScripts.length})`);
5070
5071          // For productVariants, extract just the data and update the existing global
5072          if (scriptContent.includes('productVariants =') || scriptContent.includes('window.productVariants =')) {
5073            try {
5074              // Extract just the array part using a regex
5075              const match = scriptContent.match(/productVariants\s*=\s*(\[.*?\]);/s);
5076              if (match && match[1]) {
5077                const variantsData = JSON.parse(match[1]);
5078                window.productVariants = variantsData;
5079                console.log('Updated productVariants data from fetched content');
5080              }
5081            } catch (e) {
5082              console.error('Error extracting variant data:', e);
5083            }
5084          }
5085          return;
5086        }
5087
5088        try {
5089          // Create a new script element and append it to the document
5090          // This approach executes modern JS syntax properly
5091          const newScript = document.createElement('script');
5092          newScript.textContent = scriptContent;
5093
5094          // Copy any attributes from the original script
5095          Array.from(script.attributes).forEach((attr) => {
5096            if (attr.name !== 'src') {
5097              // Skip src as we're using textContent
5098              newScript.setAttribute(attr.name, attr.value);
5099            }
5100          });
5101
5102          // Append to document body to execute
5103          document.body.appendChild(newScript);
5104          console.log(`Executed inline script ${index + 1}/${inlineScripts.length}`);
5105        } catch (error) {
5106          console.error(`Error executing inline script ${index + 1}/${inlineScripts.length}:`, error);
5107        }
5108      });
5109    }
5110
5111    reinitializeComponents() {
5112      console.log('Reinitializing components');
5113      window.variantReinitialize();
5114      this.initializeProductGallery();
5115      this.addRefillButtonClickHandlers();
5116      // After SectionRenderer finishes updating sections and reinitializing components,
5117      // ensure PDP pricing refreshes based on the currently selected variant.
5118      document.addEventListener('variant:changed', function (e) {
5119        // Normal flow already updates pricing; this is here for completeness
5120      });
5121
5122      // Hook into a safe point after reinitialize if available
5123      (function attachPricingRefresh() {
5124        const originalReinit = window.variantReinitialize;
5125        if (typeof originalReinit === 'function') {
5126          window.variantReinitialize = function () {
5127            originalReinit();
5128            try {
5129              const idInput = document.querySelector('.product-main input[name="id"]');
5130              const variantId = idInput && idInput.value;
5131              if (
5132                variantId &&
5133                window.variantSynchronizer &&
5134                typeof window.variantSynchronizer.updatePricing === 'function'
5135              ) {
5136                // Re-apply pricing for current variant after prerender swap
5137                window.variantSynchronizer.updatePricing(null, variantId);
5138              }
5139            } catch (err) {
5140              console.warn('Pricing refresh after reinitialize failed', err);
5141            }
5142          };
5143        }
5144      })();
5145    }
5146
5147    initializeProductGallery() {
5148      console.log('Initializing product gallery and swiper');
5149
5150      // Check if product gallery exists
5151      const productGalleries = document.querySelectorAll('.product-carou
5151sel__gallery');
5152
5153      if (productGalleries.length > 0) {
5154        console.log(`Found ${productGalleries.length} product galleries to initialize`);
5155
5156        productGalleries.forEach((gallery) => {
5157          // Initialize gallery only if it's not already initialized
5158          if (!gallery.classList.contains('initialized')) {
5159            try {
5160              const mainWrapper = gallery.querySelector('.product-carousel__gallery-swiper .swiper-wrapper');
5161              const thumbnailWrapper = gallery.querySelector('.product-carousel__thumbnails .swiper-wrapper');
5162
5163              if (mainWrapper && thumbnailWrapper) {
5164                // Initialize thumbnail swiper
5165                const swiperThumbnails = new Swiper(gallery.querySelector('.product-carousel__thumbnails .swiper'), {
5166                  slidesPerView: 'auto',
5167                  direction: 'vertical',
5168                  spaceBetween: 20.18,
5169                  freeMode: true,
5170                  centeredSlidesBounds: true,
5171                  watchSlidesProgress: true,
5172                  slideToClickedSlide: true,
5173                  watchSlidesVisibility: true,
5174                  mousewheel: true,
5175                });
5176
5177                // Initialize main swiper with thumbs
5178                const swiper = new Swiper(gallery.querySelector('.product-carousel__gallery-swiper'), {
5179                  slidesPerView: 'auto',
5180                  spaceBetween: 12,
5181                  thumbs: {
5182                    swiper: swiperThumbnails,
5183                  },
5184                  watchSlidesVisibility: true,
5185                  watchSlidesProgress: true,
5186                });
5187
5188                // Store references for later use
5189                gallery.swiper = swiper;
5190                gallery.swiperThumbnails = swiperThumbnails;
5191
5192                // Mark as initialized
5193                gallery.classList.add('initialized');
5194
5195                console.log('Successfully initialized product gallery swiper');
5196
5197                // Handle masking for thumbnails
5198                swiperThumbnails.on('setTranslate', function () {
5199                  const thumbnailsEl = gallery.querySelector('.product-carousel__thumbnails');
5200
5201                  // Remove existing masks
5202                  thumbnailsEl.classList.remove(
5203                    'product-carousel__thumbnails--mask-left',
5204                    'product-carousel__thumbnails--mask-right',
5205                    'product-carousel__thumbnails--mask-both'
5206                  );
5207
5208                  // Skip if swiper is locked or doesn't need scrolling
5209                  if (this.isLocked || this.slides.length <= this.params.slidesPerView) {
5210                    return;
5211                  }
5212
5213                  // Get current position and limits
5214                  const currentTranslate = Math.abs(this.translate);
5215                  const maxTranslate = Math.abs(this.maxTranslate());
5216                  const minTranslate = Math.abs(this.minTranslate());
5217
5218                  // Add masks based on scroll position
5219                  if (currentTranslate > 20 && currentTranslate < maxTranslate - 20) {
5220                    thumbnailsEl.classList.add('product-carousel__thumbnails--mask-both');
5221                  } else if (currentTranslate >= 20) {
5222                    thumbnailsEl.classList.add('product-carousel__thumbnails--mask-left');
5223                  } else if (currentTranslate < maxTranslate - 20) {
5224                    thumbnailsEl.classList.add('product-carousel__thumbnails--mask-right');
5225                  }
5226                });
5227
5228                // Also add scroll event for more responsive updates
5229                swiperThumbnails.on('scroll', function () {
5230                  this.emit('setTranslate');
5231                });
5232                swiperThumbnails.emit('setTranslate');
5233              }
5234            } catch (error) {
5235              console.error('Error initializing product gallery:', error);
5236            }
5237          } else {
5238            console.log('Gallery already initialized, refreshing swiper instances');
5239            // If already initialized, update swiper instances
5240            if (gallery.swiper) {
5241              gallery.swiper.update();
5242            }
5243            if (gallery.swiperThumbnails) {
5244              gallery.swiperThumbnails.update();
5245            }
5246          }
5247        });
5248      }
5249
5250      if (document.querySelector('.related-products__wrapper')) {
5251        new Swiper('.related-products-swiper', {
5252          slidesPerView: 1.17,
5253          spaceBetween: 20,
5254          breakpoints: {
5255            768: {
5256              slidesPerView: 2,
5257            },
5258            1024: {
5259              slidesPerView: 3,
5260              spaceBetween: 50,
5261            },
5262          },
5263        });
5264
5265        new Swiper('.related-articles-swiper', {
5266          slidesPerView: 1.17,
5267          spaceBetween: 20,
5268          breakpoints: {
5269            768: {
5270              slidesPerView: 2.25,
5271              spaceBetween: 25,
5272            },
5273            992: {
5274              slidesPerView: 3,
5275              spaceBetween: 0,
5276            },
5277          },
5278        });
5279      }
5280    }
5281
5282    // New method to preload images from the fetched HTML content
5283    preloadImagesFromData(data) {
5284      console.log('Preloading images and initializing Swiper components');
5285      const imagesToPreload = [];
5286      const thumbnailsToPreload = [];
5287      const componentsToPreInitialize = [];
5288
5289      // Create a temporary container to parse HTML and find images
5290      const tempContainer = document.createElement('div');
5291
5292      // Extract all image URLs from all sections
5293      for (const [sectionId, html] of Object.entries(data)) {
5294        if (html === null) continue;
5295
5296        tempContainer.innerHTML = html;
5297
5298        // Identify product carousels and image containers
5299        const activeCarousels = tempContainer.querySelectorAll(
5300          '.product-carousel__gallery, .product-top__image-carousel, .swiper'
5301        );
5302
5303        if (activeCarousels.length) {
5304          console.log(`Found ${activeCarousels.length} active carousels or swipers`);
5305
5306          activeCarousels.forEach((carousel) => {
5307            // Save reference for pre-initialization
5308            componentsToPreInitialize.push({
5309              type: 'swiper',
5310              element: carousel,
5311            });
5312
5313            // Find all images in carousels
5314            const carouselImages = carousel.querySelectorAll(
5315              'img[src], img[data-src], source[srcset], .swiper-slide img'
5316            );
5317            carouselImages.forEach((img) => {
5318              // Get src, data-src, or srcset
5319              const imgUrl =
5320                img.getAttribute('src') || img.getAttribute('data-src') || img.getAttribute('srcset')?.split(' ')[0];
5321
5322              if (imgUrl && !imgUrl.startsWith('data:')) {
5323                imagesToPreload.push(imgUrl);
5324              }
5325            });
5326          });
5327
5328          // Find thumbnails specifically
5329          const thumbnailElements = tempContainer.querySelectorAll(
5330            '.product-top__image-carousel-pager a img, [data-thumbnail]'
5331          );
5332
5333          thumbnailElements.forEach((thumb) => {
5334            const thumbUrl = thumb.getAttribute('src') || thumb.getAttribute('data-thumbnail');
5335            if (thumbUrl && !thumbUrl.startsWith('data:')) {
5336              thumbnailsToPreload.push(thumbUrl);
5337              imagesToPreload.push(thumbUrl); // Also add to main preload list
5338            }
5339          });
5340
5341          // Look for thumbnail data attributes in slides
5342          const slidesWithThumbnails = tempContainer.querySelectorAll('[data-thumbnail]');
5343          slidesWithThumbnails.forEach((slide) => {
5344            const thumbUrl = slide.getAttribute('data-thumbnail');
5345            if (thumbUrl && !thumbUrl.startsWith('data:')) {
5346              thumbnailsToPreload.push(thumbUrl);
5347              imagesToPreload.push(thumbUrl);
5348            }
5349          });
5350        } else {
5351          console.log('No active product carousels found in this section');
5352        }
5353      }
5354
5355      // Clear the temp container
5356      tempContainer.innerHTML = '';
5357
5358      // Remove duplicates
5359      const uniqueImages = [...new Set(imagesToPreload)];
5360      const uniqueThumbnails = [...new Set(thumbnailsToPreload)];
5361
5362      console.log(
5363        `Found ${uniqueImages.length} unique images to preload (including ${uniqueThumbnails.length} thumbnails)`
5364      );
5365
5366      // Pre-initialize components if needed (we're not actually initializing here,
5367      // just preparing the DOM for faster initialization later)
5368      if (componentsToPreInitialize.length > 0) {
5369        console.log(`Preparing ${componentsToPreInitialize.length} components for faster initialization`);
5370
5371        // Any pre-initialization logic could go here
5372        // For example, adding data-preloaded="true" attributes
5373      }
5374
5375      // Give priority to thumbnails, as they're likely needed first for UI
5376      const priorityImages = [...uniqueThumbnails, ...uniqueImages.filter((img) => !uniqueThumbnails.includes(img))];
5377
5378      // Return a promise that resolves when all images are loaded
5379      return new Promise((resolve) => {
5380        if (priorityImages.length === 0) {
5381          console.log('No images to preload, resolving immediately');
5382          resolve();
5383          return;
5384        }
5385
5386        let loadedCount = 0;
5387        const totalImages = priorityImages.length;
5388
5389        // Track loading progress
5390        const imageLoaded = () => {
5391          loadedCount++;
5392          if (loadedCount % 5 === 0 || loadedCount === totalImages) {
5393            console.log(`Preloaded ${loadedCount}/${totalImages} images`);
5394          }
5395
5396          if (loadedCount === totalImages) {
5397            console.log('All images preloaded successfully');
5398            resolve();
5399          }
5400        };
5401
5402        // Preload each image
5403        priorityImages.forEach((imgUrl) => {
5404          const img = new Image();
5405          img.onload = img.onerror = imageLoaded; // Count both successes and errors
5406          img.src = imgUrl;
5407        });
5408      });
5409    }
5410
5411    // NEW: Cache the initial page content
5412    cacheInitialContent() {
5413      const currentUrl = window.location.href;
5414      const urlObj = new URL(currentUrl);
5415
5416      // Cache with the pathname only (no variant) for the main product page
5417      const genericCacheKey = urlObj.pathname; // e.g., "/products/super-beauty"
5418      const specificCacheKey = this.createCacheKey(currentUrl); // e.g., "/products/super-beauty?variant=123"
5419
5420      const currentState = {};
5421
5422      this.sectionIds.forEach((sectionId) => {
5423        let sectionContainer;
5424        if (sectionId?.includes('template--')) {
5425          sectionContainer = document.querySelector(`#shopify-section-${sectionId}`);
5426        } else {
5427          sectionContainer = document.querySelector(`[id$="__${sectionId}"]`);
5428        }
5429
5430        if (sectionContainer) {
5431          currentState[sectionId] = sectionContainer.innerHTML;
5432        }
5433      });
5434
5435      // Cache with both keys - generic for fallback, specific for exact matches
5436      this.cache[genericCacheKey] = currentState;
5437      this.cache[specificCacheKey] = currentState;
5438
5439      console.log('Cached initial content for:', genericCacheKey, 'and', specificCacheKey);
5440    }
5441  }
5442
5443  initSectionRenderer();
5444
5445  function initSectionRenderer() {
5446    console.log('Initializing SectionRenderer');
5447    // Make sure we don't create multiple instances
5448    if (!window.sectionRenderer) {
5449      window.sectionRenderer = new SectionRenderer();
5450    }
5451  }
5452</script>
5452
5453
5454
5455    
5456
5457    <div class="quickview-modal">
5458  
5459  <div class="quickview-modal__wrapper">
5460    <a href="#" class="quickview-modal__close">
5461      <img src="//twoislandsco.com/cdn/shop/t/190/assets/icon-close.svg?v=92018993089306379161663583140" alt="">
5462    </a>
5463    
5464    <div class="quickview-modal__content"></div>
5465  </div>
5466
5467  <div class="quickview-modal__overlay"></div>
5468</div>
5469
5470    
5470<script src='https://a.klaviyo.com/media/js/onsite/onsite.js'></script>
5470
5471    
5471<script>
5472      var klaviyo = klaviyo || [];
5473      klaviyo.init({
5474        account: 'XAfeBX',
5475        platform: 'shopify',
5476      });
5477      klaviyo.enable('backinstock', {
5478        trigger: {
5479          product_page_text: 'Notify Me When Available',
5480          product_page_class: 'button--notify-me',
5481          product_page_text_align: 'center',
5482          product_page_margin: '0px',
5483          alternate_anchor: 'notify-me__anchor',
5484          replace_anchor: false,
5485        },
5486        modal: {
5487          headline: '{product_name}',
5488          body_content: 'Register to receive a notification when this item comes back in stock.',
5489          email_field_label: 'Email',
5490          button_label: 'Notify me when available',
5491          subscription_success_label: "You're in! We'll let you know when it's back.",
5492          footer_content: '',
5493          additional_styles: `
5494            @font-face {
5495              font-family: 'Untitled';
5496              font-weight: 300;
5497              font-style: normal;
5498              font-display: swap;
5499              src:  url('//twoislandsco.com/cdn/shop/t/190/assets/UntitledSansWeb-Light.woff2?v=78955935712693401391663583134') format('woff2'), 
5500                    url('//twoislandsco.com/cdn/shop/t/190/assets/UntitledSansWeb-Light.woff?v=96263677253976648141663583140') format('woff');
5501            }
5502
5503            @font-face {
5504              font-family: 'Untitled';
5505              font-weight: 400;
5506              font-style: normal;
5507              font-display: swap;
5508              src:  url('//twoislandsco.com/cdn/shop/t/190/assets/UntitledSansWeb-Regular.woff2?v=115368787288639907701663583137') format('woff2'), 
5509                    url('//twoislandsco.com/cdn/shop/t/190/assets/UntitledSansWeb-Regular.woff?v=184376529559993301131663583140') format('woff');
5510            }
5511
5512            @font-face {
5513              font-family: 'Untitled';
5514              font-weight: 500; 
5515              font-style: normal;
5516              font-display: swap;
5517              src:  url('//twoislandsco.com/cdn/shop/t/190/assets/UntitledSansWeb-Medium.woff2?v=102851938872612187691663583137') format('woff2'), 
5518                    url('//twoislandsco.com/cdn/shop/t/190/assets/UntitledSansWeb-Medium.woff?v=25118967817362743121663583140') format('woff');
5519            }
5520            #klaviyo-bis-modal .btn {
5521              font-weight: 400;   
5522            }
5523            * {
5524              font-family: 'Untitled', sans-serif !important;
5525            }
5526            .modal-title {
5527              letter-spacing: -0.5px;
5528              font-weight: 300;
5529            }
5530            .form-control {
5531              box-shadow: none;
5532              border-radius: 0;
5533            }
5534            #container {
5535              border-radius: 0;
5536            }
5537          `,
5538          drop_background_color: '#000',
5539          background_color: '#fff',
5540          text_color: '#3E3E3D',
5541          button_text_color: '#fff',
5542          button_background_color: '#3E3E3D',
5543          close_button_color: '#3E3E3D',
5544          error_background_color: '#fcd6d7',
5545          error_text_color: '#C72E2F',
5546          success_background_color: '#3E3E3D',
5547          success_text_color: '#FFF',
5548        },
5549      });
5550    </script>
5550
5551
5552    
5553
5554    
5554<script>
5555      function myInit() {
5556        StampedFn.init({ apiKey: 'pubkey-2ShXvaI63Hg91Nl2t83OLUf699y8m4', sId: '110996' });
5557      }
5558    </script>
5558
5559    
5559<script async onload='myInit()' type='text/javascript' src='https://cdn1.stamped.io/files/widget.min.js'></script>
5559
5560
5561    <!-- Hotjar Tracking Code for https://twoislandsco.com/ -->
5562    
5562<script>
5563      (function (h, o, t, j, a, r) {
5564        h.hj =
5565          h.hj ||
5566          function () {
5567            (h.hj.q = h.hj.q || []).push(arguments);
5568          };
5569        h._hjSettings = { hjid: 2041835, hjsv: 6 };
5570        a = o.getElementsByTagName('head')[0];
5571        r = o.createElement('script');
5572        r.async = 1;
5573        r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv;
5574        a.appendChild(r);
5575      })(window, document, 'https://static.hotjar.com/c/hotjar-', '.js?sv=');
5576    </script>
5576
5577  <style> select-point-redemption-method {display: contents !important;} </style>
5578<div id="shopify-block-ANlpXcEkrRTVtRURoW__7598822814027191868" class="shopify-block shopify-app-block">
5579<script id="roadmap-cart-data" type="application/json">
5580{
5581  "item_count": 0,
5582  "total_price": 0,
5583  "total_discount": 0,
5584  "original_total_price": 0,
5585  "items_subtotal_price": 0,
5586  "currency": "USD",
5587  "attributes": {},
5588  "items": [
5589    
5590  ],
5591  "discount_applications": [
5592    
5593  ]
5594}
5595</script>
vendor: 1 bytes, line 5595
5595
5596<script>
5597const cartDataRaw = document.querySelector('#roadmap-cart-data')?.textContent;
5598
5599const RoadmapData = {
5600  GWPs: [],
5601  Customer: null,
5602  UnlockedPages: new Set(),
5603  CheckoutConfig: {},
5604  Cart: cartDataRaw ? JSON.parse(cartDataRaw) : {},
5605  PointRedemptionMethods: [],
5606  Localization: {
5607    country: "US",
5608    market: "international",
5609  },
5610  Notifications: {
5611    gwpUpdated: 'Your cart has been updated to reflect the gift you are eligible for.',
5612  },
5613  Settings: {
5614    salesAgentThemeIntegrations: false,
5615  },
5616  isLoggedIn: false,
5617  justLoggedIn: false,
5618  justLoggedOut: false,
5619  ReviewSettings: {
5620    hideReviewsWhenZero: false,
5621    ratingClassName: "",
5622  },
5623  StoreReviewSettings: {
5624    hideReviewsWhenZero: false,
5625    ratingClassName: "",
5626  },
5627};
5628
5629
5630
5631
5632
5633
5634RoadmapData.GWPs = [{"id":"456","config":{"bundle":[],"variants":[],"min_spend":"120","total_order_count":null,"total_amount_spent":null},"countries":[],"createdAt":"2025-01-08T20:43:55.951Z","customer_segment":"all_customers","customer_tags":[],"discount":null,"discountNodeId":"gid:\/\/shopify\/DiscountAutomaticNode\/1578646077640","endsAt":"2025-01-20T10:59:59.999Z","free_gift_ids":[{"id":"40662064660680","chosen":false,"quantity":1,"selected":false}],"membership_tiers":[],"method":"gwp","name":"Super Beauty Gift With Purchase","note":"Your Super Beauty Gift! ","shopId":"18666751","startsAt":"2025-01-13T11:00:00.000Z","status":"active","type":"min_spend","updatedAt":"2026-08-26T22:30:13.057Z"},{"id":"925","config":{"bundle":[],"variants":["42354113511624","44708147462344","42526861852872","44708645699784"],"min_spend":null,"collections":null,"usage_limit":1,"total_order_count":null,"total_amount_spent":null},"countries":[],"createdAt":"2025-10-13T03:25:25.347Z","customer_segment":"all_customers","customer_tags":[],"discount":null,"discountNodeId":"gid:\/\/shopify\/DiscountAutomaticNode\/1578646143176","endsAt":"2025-11-03T10:59:59.999Z","free_gift_ids":[{"id":"44776565833928","chosen":false,"quantity":1,"selected":false,"product_id":"8243190628552"}],"membership_tiers":[],"method":"gwp","name":"Antipodes GWP","note":"FREE ANTIPODES GIFT WORTH $64 WITH PURCHASE","shopId":"18666751","startsAt":"2025-10-12T11:00:00.000Z","status":"active","type":"product","updatedAt":"2026-08-26T22:30:14.130Z"}
5634,{"id":"1662","config":{"bundle":[],"variants":null,"min_spend":null,"collections":["59481129044"],"usage_limit":1,"combines_with":["productDiscounts","orderDiscounts","shippingDiscounts"],"total_order_count":null,"total_amount_spent":null},"countries":["NZ"],"createdAt":"2026-09-23T22:51:49.930Z","customer_segment":"customers_from_countries","customer_tags":[],"discount":null,"discountNodeId":"gid:\/\/shopify\/DiscountAutomaticNode\/1590742286536","endsAt":"9999-12-31T00:00:00.000Z","free_gift_ids":[{"id":"45221209604296","chosen":false,"quantity":1,"selected":false,"product_id":"8344361992392"}],"membership_tiers":[],"method":"gwp","name":"Free Raspberry Lemonade Salt Hydrate⁴ Sachet","note":"Free Raspberry Lemonade Salt Hydrate⁴ Sachet","shopId":"18666751","startsAt":"2026-09-22T12:00:00.000Z","status":"active","type":"product","updatedAt":"2026-09-23T23:53:36.708Z"}];
5635
5636
5637
5638RoadmapData.Discounts = [{"id":"565","config":{"variants":["41542399819976","31459960193108","31459960258644","31692699533396","32531588677716","42524426993864","37500815245512","39339014160584","41520964763848","40662064169160","40662064660680","41283980230856","42354113511624","42526861852872","42527072452808","42541483884744","42551551787208","42851839246536","42851839312072","42851839377608","42924480200904","43923685605576","44113745281224","44113745313992","44499366543560","44569354404040"],"min_spend":"20.00","country_codes":["NZ"],"purchase_type":"subscription_any"},"countries":[],"createdAt":"2025-05-26T20:20:01.627Z","customer_segment":"all_customers","customer_tags":[],"discount":{"type":"percentage","value":"100"},"discountNodeId":"gid:\/\/shopify\/DiscountAutomaticNode\/1578646110408","endsAt":"9999-12-31T10:59:59.999Z","free_gift_ids":[],"membership_tiers":[],"method":"shipping","name":"Subscribe \u0026 Save","note":"Free shipping for subscription orders","shopId":"18666751","startsAt":"2025-05-26T12:00:00.000Z","status":"active","type":null,"updatedAt":"2026-08-26T22:30:13.728Z"},{"id":"1288","config":{"bundle":[],"variants":["44906375053512"],"cart_upsell":{"enabled":false},"collections":null,"purchase_type":"onetime","variant_groups":[],"show_compare_pricing":true,"tier_application_method":"flat"},"countries":[],"createdAt":"2026-01-19T19:49:26.496Z","customer_segment":"tagged_customers","customer_tags":["Nectar","Palmer","Sunseeker"],"discount":{"type":"percentage","tiers":[{"value":"20","maxQty":null}],"strategy":"single","apply_to_lowest_price_only":false},"discountNodeId":"gid:\/\/shopify\/DiscountAutomaticNode\/1578646175944","endsAt":"2026-01-25T10:59:59.999Z","free_gift_ids":[],"membership_tiers":[],"method":"product","name":"BANOFFEE LOYALTY LAUNCH 20% OFF","note":"BANOFFEELOYALTY20","shopId":"18666751","startsAt":"2026-01-19T11:00:00.000Z","status":"active","type":"product","updatedAt":"2026-08-26T22:30:14.737Z"}];
5639
5640
5641
5642RoadmapData.FreeGifts = {};
5643
5644
5645  RoadmapData.FreeGifts = {
5646  
5647    
5648    
5649  
5650    
5651    
5652      "45221209604296": {
5653        "id": "45221209604296",
5654        "title": 45221209604296,
5655        "available": true,
5656      },
5657    
5658  
5659    
5660    
5661  
5662    
5663    
5664  
5665    
5666    
5667  
5668    
5669    
5670  
5671    
5672    
5673  
5674    
5675    
5676  
5677  };
5678
5679
5680
5681  RoadmapData.PointRedemptionMethods = [{"id":"45","method":"amount-discount","config":{"type":"fixed","discount":{"type":"fixed","value":"5"},"points_cost":100,"combines_with":["productDiscounts","shippingDiscounts"],"min_order_value":40},"status":"active","order":1},{"id":"46","method":"amount-discount","config":{"type":"fixed","discount":{"type":"fixed","value":"10"},"points_cost":200,"combines_with":["productDiscounts","shippingDiscounts"],"min_order_value":52},"status":"active","order":2},{"id":"54","method":"amount-discount","config":{"type":"fixed","discount":{"type":"fixed","value":"20"},"variants":[],"collections":[],"points_cost":400,"combines_with":["productDiscounts","shippingDiscounts"],"min_order_value":52,"product_selection_type":"all"},"status":"active","order":3},{"id":"55","method":"amount-discount","config":{"type":"fixed","discount":{"type":"fixed","value":"30"},"points_cost":600,"combines_with":["productDiscounts","shippingDiscounts"],"min_order_value":52},"status":"active","order":4},{"id":"56","method":"amount-discount","config":{"type":"fixed","discount":{"type":"fixed","value":"40"},"points_cost":800,"combines_with":["productDiscounts","shippingDiscounts"],"min_order_value":52},"status":"active","order":5}
5681,{"id":"167","method":"amount-discount","config":{"type":"fixed","discount":{"type":"fixed","value":"50"},"variants":[],"collections":[],"points_cost":1000,"combines_with":["productDiscounts","shippingDiscounts"],"min_order_value":52,"product_selection_type":"all"},"status":"active","order":6}];
5682
5683
5684
5685RoadmapData.LoyaltySettings = {
5686  allowRedemptionOnSubscriptions: true,
5687};
5688
5689
5690
5691  RoadmapData.CheckoutConfig = {"cartNotes":{"content":"","heading":""},"freeShippingUpsell":{"threshold":"NZ:75,AU:130","upsell_product_ids":[]}};
5692
5693  
5694
5695  RoadmapData.RecommendedProducts = [];
5696  
5697
5698
5699window.RoadmapData = RoadmapData;
5700
5701const previousLoginState = localStorage.getItem('customerIsLoggedIn');
5702
5703if (previousLoginState != null) {
5704  const isLoggedIn = RoadmapData.isLoggedIn;
5705  const wasLoggedIn = previousLoginState === 'true';
5706
5707  if (wasLoggedIn === true && isLoggedIn === false) {
5708    RoadmapData.justLoggedOut = true;
5709  } else if (wasLoggedIn === false && isLoggedIn === true) {
5710    RoadmapData.justLoggedIn = true;
5711  }
5712}
5713
5714localStorage.setItem('customerIsLoggedIn', RoadmapData.isLoggedIn);
5715</script>
5715
5716
5717
5718
5719
5720
5721</div>
5721<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
5721
5722</body>
5723</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.