1<!doctype html> 2<html lang="en"> 3 4<head> 5 6<!-- Google Consent Mode defaults must precede Google tags -->
7<script data-cookieconsent="ignore"> 8 window.dataLayer = window.dataLayer || []; 9 10 function gtag() { 11 dataLayer.push(arguments); 12 } 13 14 gtag('consent', 'default', { 15 ad_personalization: 'denied', 16 ad_storage: 'denied', 17 ad_user_data: 'denied', 18 analytics_storage: 'denied', 19 functionality_storage: 'denied', 20 personalization_storage: 'denied', 21 security_storage: 'granted', 22 wait_for_update: 500 23 }); 24 25 gtag('set', 'ads_data_redaction', true); 26</script>
26 27 28<!-- GPC safeguard: keep this in sync with Shopify snippets/cookiebot-gpc.liquid. -->
29<script data-cookieconsent="ignore"> 30(function () { 31 if (navigator.globalPrivacyControl !== true) return; 32 window.heartSoilCookiebotGpc = true; 33 34 var needsRefresh = false; 35 document.cookie.split(';').forEach(function (entry) { 36 var match = entry.match(/^\s*CookieConsent=(.*)$/); 37 if (!match) return; 38 try { 39 var value = decodeURIComponent(match[1]); 40 if (value === '0' || value === '-2' || value === '-3') return; 41 if (value === '-1') { needsRefresh = true; return; } 42 var consent = JSON.parse(value.replace(/'/g, '"').replace(/([{,])\s*([a-zA-Z0-9_]+)\s*:/g, '$1"$2":')); 43 // A known opt-in region keeps its existing choice. No geography is inferred 44 // from language, Shopify market, or a browser's time zone. 45 if (consent.region && !/^US(?:-|$)/i.test(consent.region)) return; 46 if (consent.preferences || consent.statistics || consent.marketing) needsRefresh = true; 47 } catch (error) { 48 // Let the CMP resolve an unreadable record under the current GPC signal. 49 needsRefresh = true; 50 } 51 }); 52 53 if (!needsRefresh) return; 54 var expired = 'CookieConsent=; Max-Age=0; path=/; SameSite=Lax; Secure'; 55 document.cookie = expired; 56 document.cookie = expired + '; domain=' + location.hostname; 57 if (/(^|\.)heartandsoil\.co$/i.test(location.hostname)) { 58 document.cookie = expired + '; domain=heartandsoil.co'; 59 } 60})(); 61</script>
61 62 63<!-- Keep Klaviyo forms available while tracking follows Marketing consent. -->
64<script data-cookieconsent="ignore"> 65 (function() { 66 var trackingOffCookie = '__kla_off=true; path=/; SameSite=Lax; Secure'; 67 var trackingOnCookie = '__kla_off=; Max-Age=0; path=/; SameSite=Lax; Secure'; 68 69 function syncKlaviyoTrackingConsent() { 70 var marketingAllowed = window.Cookiebot 71 && window.Cookiebot.consent 72 && window.Cookiebot.consent.marketing; 73 74 document.cookie = marketingAllowed ? trackingOnCookie : trackingOffCookie; 75 } 76 77 // Klaviyo documents this opt-out cookie for loading forms without tracking. 78 document.cookie = '__kla_off=true; path=/; SameSite=Lax; Secure'; 79 80 window.addEventListener('CookiebotOnConsentReady', syncKlaviyoTrackingConsent); 81 window.addEventListener('CookiebotOnAccept', syncKlaviyoTrackingConsent); 82 window.addEventListener('CookiebotOnDecline', syncKlaviyoTrackingConsent); 83 })(); 84</script>
84 85 86<!-- Cookiebot must load before tracking scripts -->
87<script data-cookieconsent="ignore"> 88 // Parser-blocking loader; GPC must not import an older cross-domain grant. 89 document.write('
89<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js"' 90 + ' data-cbid="9731f76c-1a92-4af7-ac6e-cc23a3bdc200"' 91 + ' data-georegions="{\'region\':\'US\',\'cbid\':\'a3ce6981-02b2-4b57-8458-5dbd2ed2bd59\'}"' 92 + ' data-blockingmode="auto"' 93 + (window.heartSoilCookiebotGpc ? ' data-bulkconsentmode="disabled"' : '') 94 + '><\/script>'); 95</script>
95 96 <!-- Google Tag Manager -->
97<script data-cookieconsent="ignore">
vendor: 327 bytes, lines 97-101
97(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 98new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 99j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 100'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 101})(window,document,'script','dataLayer','
101GTM-PQH75NC
vendor: 3 bytes, line 101
101');
101</script>
101 102<!-- End Google Tag Manager --> 103
104<script type="text/plain" data-cookieconsent="marketing">(function(a,b,c,d,e,f,g){e['ire_o']=c;e[c]=e[c]||function(){(e[c].a=e[c].a||[]).push(arguments)};f=d.createElement(b);g=d.getElementsByTagName(b)[0];f.async=1;f.src=a;g.parentNode.insertBefore(f,g);})('https://utt.impactcdn.com/A5751327-208a-4351-b540-3e92746cf6661.js','script','ire',document,window);</script>
104 105
106<script type="module"> 107 const settings = {}; 108 const config = (await import("https://shopify-gtm-suite.getelevar.com/configs/e0407d52676465eaa18ec8c3713f31209be29271/config.js")).default; 109 const scriptUrl = settings.proxyPath 110 ? settings.proxyPath + config.script_src_custom_pages_proxied 111 : config.script_src_custom_pages; 112 113 if (scriptUrl) { 114 const { handler } = await import(scriptUrl); 115 await handler(config, settings); 116 } 117</script>
117 118
119<script> 120 window.ElevarDataLayer = window.ElevarDataLayer || []; 121 window.ElevarDataLayer.push({ 122 event: "dl_user_data", 123 user_properties: { 124 visitor_type: "guest" 125 } 126 }); 127</script>
127 128 129<style> 130/* Keep Cookiebot above storefront widgets */ 131html body #CybotCookiebotDialog, 132html body #CookiebotWidget { 133 z-index: 2147483647 !important; 134} 135 136/* Dock Cookiebot to the bottom on phones and tablets */ 137@media screen and (max-width: 1279px) { 138 #CybotCookiebotDialog { 139 top: auto !important; 140 right: 0 !important; 141 bottom: 0 !important; 142 left: 0 !important; 143 transform: none !important; 144 width: auto !important; 145 max-width: none !important; 146 max-height: 100dvh !important; 147 } 148 149 #CybotCookiebotDialog .CybotCookiebotScrollArea { 150 overscroll-behavior: contain; 151 } 152} 153 154/* Compact phone layout */ 155@media screen and (max-width: 599px) { 156 #CybotCookiebotDialog { 157 border-radius: 8px 8px 0 0 !important; 158 } 159 160 #CybotCookiebotDialogHeader { 161 display: none !important; 162 } 163 164 #CybotCookiebotDialogBodyContent { 165 padding: 12px 15px 6px !important; 166 } 167 168 #CybotCookiebotDialogBodyContentText { 169 font-size: 14px !important; 170 line-height: 1.4 !important; 171 } 172 173 #CybotCookiebotDialogBodyContentTitle { 174 margin-bottom: 4px !important; 175 } 176 177 #CybotCookiebotDialogBodyEdgeMoreDetails { 178 margin: 2px 15px 0 0 !important; 179 } 180 181 #CybotCookiebotDialogBodyEdgeMoreDetailsLink { 182 display: flex !important; 183 align-items: center !important; 184 min-height: 44px !important; 185 } 186 187 #CybotCookiebotDialogFooter > .CybotCookiebotScrollArea { 188 padding: 8px 15px !important; 189 } 190 191 #CybotCookiebotDialogBodyButtonsWrapper { 192 display: flex !important; 193 flex-direction: row !important; 194 gap: 8px !important; 195 } 196 197 #CybotCookiebotDialogBodyButtonAccept, 198 #CybotCookiebotDialogBodyButtonDecline { 199 flex: 1 1 0 !important; 200 height: auto !important; 201 min-height: 44px !important; 202 padding: 10px 15px !important; 203 } 204 205 #CybotCookiebotDialogBodyButtonAccept { 206 order: 2 !important; 207 } 208 209 #CybotCookiebotDialogBodyButtonDecline { 210 order: 1 !important; 211 margin-top: 0 !important; 212 } 213} 214 215/* 216 * Raise the Cookiebot privacy widget only while the collapsed 217 * Alia launcher is visible in the bottom-left corner. 218 */ 219html.has-visible-alia-launcher #CookiebotWidget { 220 bottom: var(--cookiebot-widget-bottom, 80px) !important; 221} 222 223/* Postscript currently uses the same maximum layer */ 224html body #ps__widget_container, 225html body #ps__widget { 226 z-index: 2147483646 !important; 227} 228</style> 229
230<script data-cookieconsent="ignore"> 231(() => { 232 const root = document.documentElement; 233 const className = 'has-visible-alia-launcher'; 234 let scheduled = false; 235 236 function findVisibleAliaLauncher() { 237 return [...document.querySelectorAll('[id^="alia-root-"]')] 238 .find((element) => { 239 const rect = element.getBoundingClientRect(); 240 const styles = window.getComputedStyle(element); 241 const bottomGap = window.innerHeight - rect.bottom; 242 243 return ( 244 styles.position === 'fixed' && 245 styles.display !== 'none' && 246 styles.visibility !== 'hidden' && 247 styles.opacity !== '0' && 248 rect.width > 0 && 249 rect.width <= 300 && 250 rect.height > 0 && 251 rect.height <= 100 && 252 rect.left >= -4 && 253 rect.left < 100 && 254 bottomGap >= -4 && 255 bottomGap <= 32 256 ); 257 }); 258 } 259 260 function syncCookiebotPosition() { 261 scheduled = false; 262 263 const launcher = findVisibleAliaLauncher(); 264 265 if (!launcher) { 266 root.classList.remove(className); 267 root.style.removeProperty('--cookiebot-widget-bottom'); 268 return; 269 } 270 271 const rect = launcher.getBoundingClientRect(); 272 const bottomOffset = Math.ceil( 273 window.innerHeight - rect.top + 10 274 ); 275 276 root.style.setProperty( 277 '--cookiebot-widget-bottom', 278 `${bottomOffset}px` 279 ); 280 281 root.classList.add(className); 282 } 283 284 function scheduleSync() { 285 if (scheduled) { 286 return; 287 } 288 289 scheduled = true; 290 window.requestAnimationFrame(syncCookiebotPosition); 291 } 292 293 function initialize() { 294 const observer = new MutationObserver(scheduleSync); 295 296 observer.observe(document.body, { 297 childList: true, 298 subtree: true, 299 attributes: true, 300 attributeFilter: ['class', 'style', 'hidden'] 301 }); 302 303 window.addEventListener('resize', scheduleSync, { 304 passive: true 305 }); 306 307 scheduleSync(); 308 309 /* Account for asynchronously loaded third-party styles and launchers. */ 310 window.setTimeout(scheduleSync, 500); 311 window.setTimeout(scheduleSync, 1500); 312 window.setTimeout(scheduleSync, 3000); 313 } 314 315 if (document.readyState === 'loading') { 316 document.addEventListener('DOMContentLoaded', initialize, { 317 once: true 318 }); 319 } else { 320 initialize(); 321 } 322})(); 323</script>
323 324 <meta charset="UTF-8"> 325 <meta name="viewport" content="width=device-width, initial-scale=1"> 326 <meta name="facebook-domain-verification" content="jb38zgi56bgn4v5gp98pxg4nhlie81" /> 327 <link rel="profile" href="https://gmpg.org/xfn/11"> 328 <link rel="preload" href="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/fonts/BurfordBase.woff2" as="font" type="font/woff2" crossorigin> 329 <link rel="preload" href="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/style.css?ver=2.2.27" as="style"> 330 331 332
333<script data-cookieconsent="ignore"> 334 window.addEventListener('load', function() { 335 let fancyBoxCss = document.createElement('link'); 336 fancyBoxCss.rel = 'stylesheet'; 337 fancyBoxCss.href = 'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css'; 338 fancyBoxCss.integrity = 'sha256-Vzbj7sDDS/woiFS3uNKo8eIuni59rjyNGtXfstRzStA='; 339 fancyBoxCss.crossOrigin = 'anonymous'; 340 document.head.appendChild(fancyBoxCss); 341 342 let splideCoreCss = document.createElement('link'); 343 splideCoreCss.rel = 'stylesheet'; 344 splideCoreCss.href = 'https://cdn.jsdelivr.net/npm/@splidejs/splide@4/dist/css/splide-core.min.css'; 345 document.head.appendChild(splideCoreCss); 346 347 }); 348</script>
348 349 350<style type="text/css">@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/400/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/400/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin/400/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin-ext/400/normal.woff2);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/vietnamese/400/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/400/normal.woff2);unicode-range:U+0370-03FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek-ext/400/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin-ext/600/normal.woff2);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/600/normal.woff2);unicode-range:U+0370-03FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek-ext/600/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin/600/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/600/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/600/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/vietnamese/600/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin-ext/700/normal.woff2);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/vietnamese/700/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/700/normal.woff2);
350unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/700/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/700/normal.woff2);unicode-range:U+0370-03FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek-ext/700/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin/700/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:900;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/900/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:900;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin/900/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:900;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/900/normal.woff2);unicode-range:U+0370-03FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:900;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin-ext/900/normal.woff2);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:900;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/900/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:900;src:url(/cf-fonts/s/source-sans-pro/5.2.4/vietnamese/900/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:normal;font-weight:900;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek-ext/900/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/400/italic.woff2);unicode-range:U+0370-03FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/vietnamese/400/italic.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/400/italic.woff2);unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/400/italic.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek-ext/400/italic.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin/400/italic.woff2);
350unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin-ext/400/italic.woff2);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/600/italic.woff2);unicode-range:U+0370-03FF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek-ext/600/italic.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/600/italic.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/vietnamese/600/italic.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/600/italic.woff2);unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin/600/italic.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Source Sans Pro';font-style:italic;font-weight:600;src:url(/cf-fonts/s/source-sans-pro/5.2.4/latin-ext/600/italic.woff2);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}</style> 351 352<!-- Preload hero video if on desktop only --> 353 354 355 356 357<!-- Splide powers essential page UI and must not wait for tracking consent. -->
358<script data-cookieconsent="ignore" src="https://cdn.jsdelivr.net/npm/@splidejs/splide@4/dist/js/splide.min.js" defer></script>
vendor: 1 bytes, line 358
358
359<script data-cookieconsent="ignore" src="https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/js/splide-extension-grid.min.js" defer></script>
vendor: 1 bytes, line 359
359
360<script data-cookieconsent="ignore" src="https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/js/splide-extension-auto-scroll.min.js" defer></script>
360 361 362
363<script data-cookieconsent="ignore" type="application/javascript" async src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WY2S6U"></script>
vendor: 1 bytes, line 363
363
364<script type="text/javascript" src="//www.klaviyo.com/media/js/public/klaviyo_subscribe.js"></script>
364 365 366<!-- Friendbuy -->
367<script> 368 window["friendbuyAPI"] = friendbuyAPI = window["friendbuyAPI"] || []; 369 friendbuyAPI.merchantId = "def7a2ff-92fc-40a9-be4b-c9e21ca2fa94"; 370 friendbuyAPI.push(["merchant", friendbuyAPI.merchantId]); 371 372 // load the merchant SDK and your campaigns 373 (function(f, r, n, d, b, u, y) { 374 while ((u = n.shift())) { 375 (b = f.createElement(r)), (y = f.getElementsByTagName(r)[0]); 376 b.async = 1; 377 b.src = u; 378 y.parentNode.insertBefore(b, y); 379 } 380 })(document, "script", [ 381 "https://static.fbot.me/friendbuy.js", 382 "https://campaign.fbot.me/" + friendbuyAPI.merchantId + "/campaigns.js", 383 ]); 384</script>
384 385 386<!-- Twitter conversion tracking base code -->
387<script> 388!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); 389},s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', 390a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); 391twq('config','ofhms'); 392</script>
392 393<!-- End Twitter conversion tracking base code --> 394
395<script async src="https://sdk.postscript.io/sdk.bundle.js?shopId=53102"></script>
395 396
397<script> 398// Get the height of the URL bar 399let urlBarHeight = window.outerHeight - window.innerHeight; 400// Calculate the actual viewport height 401let vh = window.innerHeight + urlBarHeight; 402document.documentElement.style.setProperty('--vh', `${vh/100}px`); 403</script>
403 404 405<meta name="google-site-verification" content="4IaGC8Lm28auIMkHBtQtTgp5NMydryYg3EXZ2eiNiVk" /> 406
407<script> 408 document.addEventListener('DOMContentLoaded', function() { 409 setTimeout(function() { 410 const ps_popup = document.getElementById('ps__widget'); 411 if (ps_popup) { 412 ps_popup.setAttribute('role', 'dialog'); 413 ps_popup.setAttribute('aria-modal', 'true'); 414 } 415 }, 1000); 416 }); 417</script>
417 418 419<!-- GetFondue -->
420<script 421 async 422 id="fondue-cashback" 423 src="https://public.getfondue.com/cashback-extension/cart/fundle.js" 424 type="application/javascript" 425 shop="heartsoil.myshopify.com" 426 api="AJAX"> 427</script>
427 428 429<!-- Forward cashback parameter to Shopify subdomain -->
430<script> 431 document.addEventListener('DOMContentLoaded', function() { 432 const urlParams = new URLSearchParams(window.location.search); 433 const cashback = urlParams.get('cashback'); 434 435 if (cashback) { 436 // Store cashback value for session 437 sessionStorage.setItem('fondue_cashback', cashback); 438 } 439 440 // Get cashback from URL or session storage 441 const activeCashback = cashback || sessionStorage.getItem('fondue_cashback'); 442 443 if (activeCashback) { 444 // Find all links to Shopify subdomain and append cashback parameter 445 const shopifyLinks = document.querySelectorAll('a[href*="shop.heartandsoil.co"]'); 446 shopifyLinks.forEach(link => { 447 try { 448 const linkUrl = new URL(link.href); 449 if (!linkUrl.searchParams.has('cashback')) { 450 linkUrl.searchParams.set('cashback', activeCashback); 451 link.href = linkUrl.toString(); 452 } 453 } catch (e) { 454 // Skip invalid URLs 455 } 456 }); 457 } 458 }); 459</script>
459 460 461<!-- RightMessage -->
462<script type="text/javascript"> 463(function(p, a, n, d, o, b, c) { 464 window.RM = window.RM || []; 465 o = n.createElement('script'); o.type = 'text/javascript'; o.async = true; o.src = 'https://t.rightmessage.com/'+p+'.js'; 466 b = n.getElementsByTagName('script')[0]; d = function(h, u, i, s) { var c = n.createElement('style'); c.id = 'rmcloak'+i; 467 c.type = 'text/css'; c.appendChild(n.createTextNode('.rmcloak'+h+'{visibility:hidden}.rmcloak'+u+'{display:none}'+s)); 468 b.parentNode.insertBefore(c, b); return c; }; c = d('', '-hidden', '', '[data-rm-if],[data-rm-else-if],[data-rm-else]{display:none}'); d('-stay-invisible', '-stay-hidden', '-stay', ''); 469 setTimeout(o.onerror = function() { c.parentNode && c.parentNode.removeChild(c); }, a); b.parentNode.insertBefore(o, b); 470})('1082463645', 20000, document); 471</script>
471 472 473<!-- Axon/AppLovin Pixel -->
474<script> 475 var AXON_EVENT_KEY="e85528f6-4023-43a4-8719-11f35e4f8b93"; 476 !function(e,r){var t=["https://s.axon.ai/pixel.js","https://res4.applovin.com/p/l/loader.iife.js"];if(!e.axon){var a=e.axon=function(){a.performOperation?a.performOperation.apply(a,arguments):a.operationQueue.push(arguments)};a.operationQueue=[],a.ts=Date.now(),a.eventKey=AXON_EVENT_KEY;for(var n=r.getElementsByTagName("script")[0],o=0;o<t.length;o++){var i=r.createElement("script");i.async=!0,i.src=t[o],n.parentNode.insertBefore(i,n)}}}(window,document); 477 axon("init"); 478</script>
478 479 480<!-- Intelligems -->
481<script type="module" fetchpriority="high" src="https://cdn.intelligems.io/esm/ff6c2d9a399c/bundle.js" data-em-disable async></script>
481 482<!-- End Intelligems --> 483
484<script src="https://app.aliapopups.com/public/embed.js?shop=heartsoil.myshopify.com" async></script>
484 485 486<style> 487 @view-transition{ 488 navigation: auto; 489 } 490</style> 491 492 493 494<!-- Search Engine Optimization by Rank Math - https://rankmath.com/ --> 495<title>Store Locator | Heart & Soil Supplements</title> 496<meta name="description" content="Heart & Soil is now available on the shelves of your local Sprouts Farmers Market!"/> 497<meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/> 498<link rel="canonical" href="https://heartandsoil.co/store-locator/" /> 499<meta property="og:locale" content="en_US" /> 500<meta property="og:type" content="article" /> 501<meta property="og:title" content="Store Locator | Heart & Soil Supplements" /> 502<meta property="og:description" content="Heart & Soil is now available on the shelves of your local Sprouts Farmers Market!" /> 503<meta property="og:url" content="https://heartandsoil.co/store-locator/" /> 504<meta property="og:site_name" content="Heart & Soil Supplements" /> 505<meta property="article:publisher" content="https://www.facebook.com/heartandsoilsupplements/" /> 506<meta property="og:image" content="https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]" /> 507<meta property="og:image:secure_url" content="https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]" /> 508<meta property="og:image:width" content="1200" /> 509<meta property="og:image:height" content="630" /> 510<meta property="og:image:alt" content="Store locator" /> 511<meta property="og:image:type" content="image/jpeg" /> 512<meta property="article:published_time" content="2025-09-24T13:10:18+00:00" /> 513<meta name="twitter:card" content="summary_large_image" /> 514<meta name="twitter:title" content="Store Locator | Heart & Soil Supplements" /> 515<meta name="twitter:description" content="Heart & Soil is now available on the shelves of your local Sprouts Farmers Market!" /> 516<meta name="twitter:site" content="@heartandsoilhq" /> 517<meta name="twitter:creator" content="@heartandsoilhq" /> 518<meta name="twitter:image" content="https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]" /> 519<meta name="twitter:label1" content="Time to read" /> 520<meta name="twitter:data1" content="Less than a minute" />
521<script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://heartandsoil.co/#organization","name":"Heart & Soil | Nutrient-Rich, Desiccated Organ Supplements","url":"https://heartandsoil.co","sameAs":["https://www.facebook.com/heartandsoilsupplements/","https://twitter.com/heartandsoilhq","https://www.instagram.com/heartandsoilsupplements/","https://www.youtube.com/channel/UCyf4v0HhGiHc8_ZIiSfd3Ug","https://www.tiktok.com/@heartandsoil"],"logo":{"@type":"ImageObject","@id":"https://heartandsoil.co/#logo","url":"http://heartandsoil.co/wp-content/uploads/2021/04/favicon.png","contentUrl":"http://heartandsoil.co/wp-content/uploads/2021/04/favicon.png","caption":"Heart & Soil Supplements","inLanguage":"en-US","width":"256","height":"256"}},{"@type":"WebSite","@id":"https://heartandsoil.co/#website","url":"https://heartandsoil.co","name":"Heart & Soil Supplements","alternateName":"Heart & Soil","publisher":{"@id":"https://heartandsoil.co/#organization"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]","url":"https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]","width":"1200","height":"630","inLanguage":"en-US"},{"@type":"WebPage","@id":"https://heartandsoil.co/store-locator/#webpage","url":"https://heartandsoil.co/store-locator/","name":"Store Locator | Heart & Soil Supplements","datePublished":"2025-09-24T13:10:18+00:00","dateModified":"2025-09-24T13:10:18+00:00","isPartOf":{"@id":"https://heartandsoil.co/#website"},"primaryImageOfPage":{"@id":"https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]"},"inLanguage":"en-US"},{"@type":"Person","@id":"https://heartandsoil.co/author/teamwayfx/","name":"Wayfx","url":"https://heartandsoil.co/author/teamwayfx/","image":{"@type":"ImageObject","@id":"https://secure.gravatar.com/avatar/81b4da5ac3b8f3b8bf1106efee95a5541ae834ae6abade909b323044f9d42020?s=96&d=mm&r=g","url":"https://secure.gravatar.com/avatar/81b4da5ac3b8f3b8bf1106efee95a5541ae834ae6abade909b323044f9d42020?s=96&d=mm&r=g","caption":"Wayfx","inLanguage":"en-US"},"sameAs":["https://heartandsoil.wpengine.com"],"worksFor":{"@id":"https://heartandsoil.co/#organization"}},{"@type":"Article","headline":"Store Locator | Heart & Soil Supplements","keywords":"Store locator,Sprouts","datePublished":"2025-09-24T13:10:18+00:00","dateModified":"2025-09-24T13:10:18+00:00","author":{"@id":"https://heartandsoil.co/author/teamwayfx/","name":"Wayfx"},"publisher":{"@id":"https://heartandsoil.co/#organization"},"description":"Heart & Soil is now available on the shelves of your local Sprouts Farmers Market!","name":"Store Locator | Heart & Soil Supplements","@id":"https://heartandsoil.co/store-locator/#richSnippet","isPartOf":{"@id":"https://heartandsoil.co/store-locator/#webpage"},"image":{"@id":"https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://heartandsoil.co/store-locator/#webpage"}}]}</script>
521 522<!-- /Rank Math WordPress SEO plugin --> 523 524<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://heartandsoil.co/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fheartandsoil.co%2Fstore-locator%2F" /> 525<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://heartandsoil.co/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fheartandsoil.co%2Fstore-locator%2F&format=xml" /> 526<style id="wp-img-auto-sizes-contain-inline-css"> 527img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 528/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 529</style> 530<style id="wp-emoji-styles-inline-css"> 531 532 img.wp-smiley, img.emoji { 533 display: inline !important; 534 border: none !important; 535 box-shadow: none !important; 536 height: 1em !important; 537 width: 1em !important; 538 margin: 0 0.07em !important; 539 vertical-align: -0.1em !important; 540 background: none !important; 541 padding: 0 !important; 542 } 543/*# sourceURL=wp-emoji-styles-inline-css */ 544</style> 545<style id="wp-block-library-inline-css"> 546:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
546--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 547 548/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 549</style> 550<style id="classic-theme-styles-inline-css"> 551/*! This file is auto-generated */ 552.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 553/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 554</style> 555 556<style id="global-styles-inline-css"> 557:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
5570) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
557.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 558/*# sourceURL=global-styles-inline-css */ 559</style> 560 561<link rel='stylesheet' id='wayfx-style-css' href='https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/style.css?ver=2.2.27' media='all' /> 562<link rel='stylesheet' id='algolia-autocomplete-css' href='https://heartandsoil.co/wp-content/plugins/wp-search-with-algolia/css/algolia-autocomplete.css?ver=2.8.3' media='all' />
563<script id="jquery-core-js" src="https://heartandsoil.co/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
563 564<link rel="https://api.w.org/" href="https://heartandsoil.co/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://heartandsoil.co/wp-json/wp/v2/pages/4115" /><link rel='shortlink' href='https://heartandsoil.co/?p=4115' />
565<script data-cfasync="false">window.ju_num="8A7F9720-5771-4BBF-943D-8FB2FD262214";window.asset_host='//cdn.jst.ai/';(function(i,s,o,g,r,a,m){i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)};a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script',asset_host+'vck-wp.js','juapp');;window.juPlatform='wordpress';</script>
565 566
566<script> 567 function updateCartX() { 568 setTimeout(function() { 569 jQuery.ajax({ 570 url: "/?pagename=justuno-sync-job&type=cart", 571 type: "GET", 572 beforeSend: function(xhr){xhr.setRequestHeader('Authorization', 'Bearer q3q6rvbvjueuzh4wtyzqr9');}, 573 success: function(data) { 574 console.log(data); 575 juapp("cart", { 576 total: data.total, 577 subtotal: data.subtotal, 578 tax: data.total_tax, 579 shipping: data.shipping_total, 580 currency:"USD", 581 }); 582 juapp("cartItems", data.items); 583 } 584 }); 585 }, 3000); 586 } 587 jQuery(document).ready(function() { 588 jQuery(".ajax_add_to_cart, .single_add_to_cart_button, .product-remove .remove").on("click", function(){ 589 updateCartX(); 590 }); 591 jQuery(".woocommerce-cart-form").submit(function() { 592 updateCartX(); 593 }); 594 }); 595 </script>
595<link rel="icon" href="https://heartandsoil.co/wp-content/uploads/2021/04/favicon-150x150.png" sizes="32x32" /> 596<link rel="icon" href="https://heartandsoil.co/wp-content/uploads/2021/04/favicon.png" sizes="192x192" /> 597<link rel="apple-touch-icon" href="https://heartandsoil.co/wp-content/uploads/2021/04/favicon.png" /> 598<meta name="msapplication-TileImage" content="https://heartandsoil.co/wp-content/uploads/2021/04/favicon.png" /> 599<style id="wp-custom-css"> 600/* rank math questions padding */ 601 602h3.rank-math-question { 603 padding-top: 20px; 604} 605 606/* Rank Math table of contents spacing */ 607 608.wp-block-rank-math-toc-block li { 609 margin-top: 0 !important; 610 margin-bottom: 6px !important; 611 padding-top: 0 !important; 612 padding-bottom: 0 !important; 613 line-height: 1.4 !important; 614} 615 616.wp-block-rank-math-toc-block ul, 617.wp-block-rank-math-toc-block ol { 618 margin-top: 6px !important; 619 margin-bottom: 6px !important; 620} 621</style> 622 623
623<script type="text/javascript"> 624 (function() { 625 var SHOPIFY_STATUS_URL = 'https://shop.heartandsoil.co/cart?view=b2b-status'; 626 var SHOPIFY_ORIGIN = 'https://shop.heartandsoil.co'; 627 var COOKIE_ATTRIBUTES = 'path=/; domain=.heartandsoil.co; secure; SameSite=None'; 628 629 function getCookie(name) { 630 var cookie = document.cookie.split('; ').find(function(row) { 631 return row.indexOf(name + '=') === 0; 632 }); 633 634 return cookie ? decodeURIComponent(cookie.split('=').slice(1).join('=')) : null; 635 } 636 637 function setB2BCookie(isB2B) { 638 if (isB2B) { 639 var expires = new Date(Date.now() + (24 * 60 * 60 * 1000)).toUTCString(); 640 document.cookie = 'isB2B=true; expires=' + expires + '; ' + COOKIE_ATTRIBUTES; 641 return; 642 } 643 644 document.cookie = 'isB2B=; Max-Age=0; ' + COOKIE_ATTRIBUTES; 645 } 646 647 function applyB2BState(isB2B) { 648 document.querySelectorAll('.b2bhide').forEach(function(el) { 649 el.style.display = isB2B ? 'none' : ''; 650 }); 651 652 document.querySelectorAll('.b2bshow').forEach(function(el) { 653 el.style.display = isB2B ? 'flex' : 'none'; 654 }); 655 } 656 657 function verifyShopifySession() { 658 var iframe = document.createElement('iframe'); 659 var settled = false; 660 var timeoutId; 661 662 function cleanup() { 663 window.removeEventListener('message', handleMessage); 664 window.clearTimeout(timeoutId); 665 666 if (iframe.parentNode) { 667 iframe.parentNode.removeChild(iframe); 668 } 669 } 670 671 function finish(isB2B) { 672 if (settled) return; 673 settled = true; 674 setB2BCookie(isB2B); 675 applyB2BState(isB2B); 676 cleanup(); 677 } 678 679 function handleMessage(event) { 680 if (event.origin !== SHOPIFY_ORIGIN || !event.data || event.data.type !== 'hs:b2b-status') { 681 return; 682 } 683 684 finish(event.data.isB2B === true); 685 } 686 687 window.addEventListener('message', handleMessage); 688 timeoutId = window.setTimeout(function() { 689 cleanup(); 690 }, 2500); 691 692 iframe.src = SHOPIFY_STATUS_URL + '&_=' + Date.now(); 693 iframe.setAttribute('aria-hidden', 'true'); 694 iframe.tabIndex = -1; 695 iframe.style.display = 'none'; 696 document.body.appendChild(iframe); 697 } 698 699 document.addEventListener('DOMContentLoaded', function() { 700 applyB2BState(getCookie('isB2B') === 'true'); 701 verifyShopifySession(); 702 }); 703 })(); 704</script>
704 705</head> 706 707<body class="wp-singular page-template page-template-page-templates page-template-store-locator page-template-page-templatesstore-locator-php page page-id-4115 wp-embed-responsive wp-theme-wayfx-heartandsoil"> 708 <!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 708-709
708 709 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
709GTM-PQH75NC
vendor: 85 bytes, lines 709-711
709" 710 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 711
711<!-- End Google Tag Manager (noscript) --> 712 713
713<script type="text/plain" data-cookieconsent="marketing"> 714 ire('identify', {customerId: '', customerEmail: '', customProfileId: ''}); 715 </script>
715 716 717 718 <div id="page" class="wayfx-site"> 719 720 721 722<style type="text/css">@font-face {font-family:'Bebas Neue';font-style:normal;font-weight:400;src:url(/cf-fonts/s/bebas-neue/5.2.7/latin-ext/400/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Bebas Neue';font-style:normal;font-weight:400;src:url(/cf-fonts/s/bebas-neue/5.2.7/latin/400/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Montserrat';font-style:italic;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/latin/wght/italic.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Montserrat';font-style:italic;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/cyrillic-ext/wght/italic.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Montserrat';font-style:italic;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/latin-ext/wght/italic.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Montserrat';font-style:italic;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/cyrillic/wght/italic.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Montserrat';font-style:italic;font-weight:100 900;src:url(/cf-fonts/v/montserrat/5.2.8/vietnamese/wght/italic.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}</style> 723 724<!-- Embla Carousel CDN Scripts - Deferred to improve page load performance -->
725<script defer src="https://unpkg.com/embla-carousel/embla-carousel.umd.js"></script>
vendor: 1 bytes, line 725
725
726<script defer src="https://unpkg.com/embla-carousel-fade/embla-carousel-fade.umd.js"></script>
vendor: 1 bytes, line 726
726
727<script defer src="https://unpkg.com/embla-carousel-autoplay/embla-carousel-autoplay.umd.js"></script>
727 728 729<style> 730 /* CSS Custom Properties for better maintainability */ 731 :root { 732 --topbar-height-desktop: 56px; 733 --topbar-height-mobile-base: 56px; 734 --topbar-height-mobile: 56px; 735 --topbar-transition-duration: 6000ms; 736 --topbar-content-padding: 16px; 737 --topbar-content-padding-mobile: 4px; 738 } 739 740 .rtnu-topbar { 741 overflow: hidden; 742 text-align: center; 743 position: relative; 744 width: 100%; 745 height: var(--topbar-height-desktop); 746 min-height: var(--topbar-height-desktop); 747 } 748 749 .rtnu-topbar .embla { 750 overflow: hidden; 751 width: 100%; 752 height: var(--topbar-height-desktop); 753 } 754 755 .rtnu-topbar .embla__container { 756 display: flex; 757 width: 100%; 758 height: var(--topbar-height-desktop); 759 } 760 761 .rtnu-topbar .embla__slide { 762 flex: 0 0 100%; 763 position: relative; 764 width: 100%; 765 height: var(--topbar-height-desktop); 766 min-height: var(--topbar-height-desktop); 767 } 768 769 .rtnu-topbar .rtnu-topbar-slide { 770 position: relative; 771 width: 100%; 772 height: var(--topbar-height-desktop); 773 min-height: var(--topbar-height-desktop); 774 display: flex; 775 justify-content: center; 776 align-items: center; 777 padding: 0; 778 } 779 780 .rtnu-topbar .rtnu-topbar-slide::before { 781 content: ''; 782 position: absolute; 783 top: 0; 784 left: 0; 785 right: 0; 786 bottom: 0; 787 width: 100%; 788 height: 100%; 789 z-index: 0; 790 } 791 792 .rtnu-topbar .topbar-slide-cta { 793 color: inherit; 794 text-decoration: none; 795 font-family: 'Source Sans Pro', sans-serif; 796 font-size: 16px; 797 font-weight: 600; 798 letter-spacing: 0; 799 line-height: 1.1; 800 text-wrap: balance; 801 position: relative; 802 z-index: 1; 803 display: flex; 804 align-items: center; 805 justify-content: center; 806 gap: 6px; 807 width: 100%; 808 height: 100%; 809 box-sizing: border-box; 810 padding-inline: var(--topbar-content-padding); 811 outline: none; 812 transition: opacity 0.2s ease; 813 } 814 815 .rtnu-topbar .topbar-slide-cta:hover span{ 816 text-decoration: none; 817 } 818 819 .rtnu-topbar .topbar-slide-cta--inline-links a { 820 color: inherit; 821 display: inline; 822 width: auto; 823 height: auto; 824 padding: 0; 825 font: inherit; 826 line-height: inherit; 827 text-decoration: underline; 828 text-underline-offset: 2px; 829 } 830 831 .rtnu-topbar .topbar-slide-cta--inline-links a:hover, 832 .rtnu-topbar .topbar-slide-cta--inline-links a:focus { 833 text-decoration: none; 834 } 835 836 .rtnu-topbar .rtnu-topbar-content .rtnu-topbar-arrow-icon{ 837 transition: transform 0.2s ease-out; 838 width: 18px; 839 height: 18px; 840 margin-right: 0; 841 transform: translateY(3px); 842 } 843 844 .rtnu-topbar .topbar-slide-cta:hover .rtnu-topbar-arrow-icon{ 845 transform: translateY(3px) translateX(4px); 846 } 847 848 .rtnu-topbar .topbar-slide-cta:focus { 849 outline: 2px solid currentColor; 850 outline-offset: -2px; 851 } 852 853 /* Scoped rtnu-wrapper styles only for topbar */ 854 .rtnu-topbar .rtnu-wrapper { 855 width: 100%; 856 max-width: none; 857 margin: 0; 858 padding: 0; 859 height: 100%; 860 display: flex; 861 align-items: center; 862 justify-content: center; 863 } 864 865 .rtnu-topbar .rtnu-topbar-content { 866 position: relative; 867 z-index: 1; 868 display: flex; 869 flex-direction: column; 870 justify-content: center; 871 align-items: center; 872 gap: 1px; 873 width: 100%; 874 height: 100%; 875 padding: 0; 876 } 877 878 .rtnu-topbar .rtnu-topbar-content--has-disclaimer .topbar-slide-cta { 879 height: auto; 880 flex: 1 1 auto; 881 } 882 883 .rtnu-topbar svg { 884 width: var(--icon-width); 885 height: auto; 886 display: inline!important; 887 /* margin-right: 4px; */ 888 margin-inline: 4px; 889 vertical-align: bottom; 890 flex-shrink: 0; 891 } 892 893 .rtnu-topbar .rtnu-topbar-content span { 894 display: inline-block; 895 } 896 897 .rtnu-topbar .topbar-content__text { 898 display: flex; 899 align-items: center; 900 justify-content: center; 901 gap: 4px; 902 font-family: 'Source Sans Pro', sans-serif; 903 font-size: 16px; 904 letter-spacing: 0; 905 line-height: 1.1; 906 } 907 908 .rtnu-topbar .topbar-content__text p, 909 .rtnu-topbar .topbar-content__text strong, 910 .rtnu-topbar .topbar-content__text em,
911 .rtnu-topbar .topbar-content__text span { 912 font-size: inherit; 913 font-weight: inherit; 914 letter-spacing: inherit; 915 line-height: inherit; 916 margin: 0; 917 } 918 919 .rtnu-topbar .topbar-content__text p { 920 display: inline; 921 } 922 923 .rtnu-topbar .topbar-content__text p + p { 924 margin-top: 0; 925 } 926 927 .rtnu-topbar 928 .rtnu-topbar-slide[data-slide="eos"] 929 .topbar-content__text br { 930 display: none; 931 } 932 933 /* Dynamic slide styles generated from PHP data */ 934 .rtnu-topbar .rtnu-topbar-slide[data-slide="mdw-sale"] { 935 color: #2d231a; 936 } 937 .rtnu-topbar .rtnu-topbar-slide[data-slide="mdw-sale"]::before { 938 background: #ffc52a; 939 } 940 .rtnu-topbar .rtnu-topbar-slide[data-slide="shipping"] { 941 color: #f5e7d4; 942 } 943 .rtnu-topbar .rtnu-topbar-slide[data-slide="shipping"]::before { 944 background: #88450d; 945 } 946 947 /* Reduced motion support */ 948 @media (prefers-reduced-motion: reduce) { 949 .rtnu-topbar .embla { 950 --topbar-transition-duration: 0ms; 951 } 952 953 .rtnu-topbar a { 954 transition: none; 955 } 956 } 957 958 /* High contrast mode support */ 959 @media (prefers-contrast: high) { 960 .rtnu-topbar a:focus { 961 outline: 3px solid; 962 outline-offset: -3px; 963 } 964 } 965 966 @media (max-width: 768px) { 967 .rtnu-topbar { 968 height: var(--topbar-height-mobile); 969 min-height: var(--topbar-height-mobile); 970 } 971 972 .rtnu-topbar .embla { 973 height: var(--topbar-height-mobile); 974 } 975 976 .rtnu-topbar .embla__container { 977 height: var(--topbar-height-mobile); 978 } 979 980 .rtnu-topbar .embla__slide { 981 height: var(--topbar-height-mobile); 982 min-height: var(--topbar-height-mobile); 983 } 984 985 .rtnu-topbar .rtnu-topbar-slide { 986 height: var(--topbar-height-mobile); 987 min-height: var(--topbar-height-mobile); 988 } 989 990 .rtnu-topbar svg { 991 width: var(--icon-width-mobile); 992 display: inline!important; 993 vertical-align: bottom; 994 margin-right: 4px; 995 } 996 997 .rtnu-topbar a{ 998 padding-bottom: 0; 999 } 1000 1001 .rtnu-topbar .topbar-slide-cta { 1002 font-size: 14px; 1003 letter-spacing: -0.1px; 1004 line-height: 1.1; 1005 padding-inline: 10px; 1006 } 1007 1008 .rtnu-topbar .topbar-slide-cta--has-countdown { 1009 flex-wrap: wrap; 1010 align-content: center; 1011 row-gap: 6px; 1012 column-gap: 0; 1013 padding-block: 4px; 1014 } 1015 1016 .rtnu-topbar .topbar-slide-cta--has-countdown .topbar-content__text { 1017 flex: 0 0 100%; 1018 } 1019 1020 .rtnu-topbar .rtnu-topbar-content { 1021 padding: 0; 1022 } 1023 1024 .rtnu-topbar .topbar-content__text { 1025 font-size: 14px; 1026 gap: 3px; 1027 line-height: 1.1; 1028 letter-spacing: -0.1px; 1029 width: 100%; 1030 max-width: 380px; 1031 text-wrap: balance; 1032 } 1033 1034 .rtnu-topbar .rtnu-topbar-content .rtnu-topbar-arrow-icon{ 1035 width: 14px; 1036 height: 14px; 1037 } 1038 1039 .rtnu-topbar 1040 .rtnu-topbar-slide[data-slide="eos"] 1041 .topbar-content__text 1042 svg { 1043 width: 28px; 1044 height: 24px; 1045 margin: 0 2px; 1046 vertical-align: middle; 1047 } 1048 1049 .rtnu-topbar 1050 .rtnu-topbar-slide[data-slide="eos"] 1051 .topbar-content__text 1052 p > svg:nth-of-type(2) { 1053 display: none !important; 1054 } 1055 1056 .rtnu-topbar 1057 .rtnu-topbar-slide[data-slide="eos"] 1058 .announcement-icon--desktop-only { 1059 display: none !important; 1060 } 1061 1062 .rtnu-topbar 1063 .rtnu-topbar-slide[data-slide="eos"] 1064 .announcement-mobile-line { 1065 display: block; 1066 width: 100%; 1067 } 1068 1069 .rtnu-topbar 1070 .rtnu-topbar-slide[data-slide="eos"] 1071 .topbar-content__text 1072 p > strong:first-child::before { 1073 content: ''; 1074 display: inline-block; 1075 width: 24px; 1076 height: 24px; 1077 margin-right: 4px; 1078 background: url("data:image/svg+xml,%3Csvg width='31' height='30' viewBox='0 0 31 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.605 14.572c0 4.473-3.824 8.095-8.547 8.095-4.722 0-8.546-3.622-8.546-8.095s3.824-8.095 8.546-8.095c4.723 0 8.547 3.622 8.547 8.095M15.06 0l-2.85 4.857h5.699zm-2.85 24.285 2.85 4.857 2.849-4.857zM5.601 9.714l-1.53-5.667L9.767 5.57zM20.348 23.58l4.883 1.514-1.304-5.666zM0 14.571 4.884 17v-4.857zM25.234 17l4.884-2.429-4.884-2.428zM9.768 23.58 4.07 25.095l1.531-5.666zM23.927 9.714l1.304-5.667-4.883 1.523z' fill='%23f5e7d4'/%3E%3C/svg%3E") center / contain no-repeat; 1079 vertical-align: middle; 1080 } 1081 1082 /* Break underline on mobile when break_underline is enabled */
1083 .rtnu-topbar .rtnu-topbar-slide[data-slide="mdw-sale"] .topbar-content__text span { 1084 display: block; 1085 } 1086 } 1087 1088 /* Topbar Disclaimer Text */ 1089 .topbar-content__disclaimer { 1090 font-size: 14px; 1091 font-weight: 400; 1092 line-height: 1.3; 1093 } 1094 1095 .topbar-content__disclaimer p, 1096 .topbar-content__disclaimer em { 1097 margin: 0; 1098 display: inline; 1099 font-size: inherit; 1100 font-weight: inherit; 1101 line-height: inherit; 1102 } 1103 1104 .topbar-content__disclaimer a { 1105 color: inherit; 1106 text-decoration: underline; 1107 text-underline-offset: 1px; 1108 white-space: nowrap; 1109 display: inline; 1110 padding: 0; 1111 margin: 0; 1112 font-size: inherit; 1113 font-weight: inherit; 1114 } 1115 1116 .topbar-content__disclaimer a:hover { 1117 text-decoration: none; 1118 } 1119 1120 @media (max-width: 768px) { 1121 .topbar-content__disclaimer { 1122 font-size: 12px; 1123 line-height: 1.2; 1124 margin-top: 3px; 1125 } 1126 } 1127 1128 /* Countdown Timer Styles */ 1129 .topbar-countdown-row { 1130 display: inline-flex; 1131 align-items: center; 1132 gap: 6px; 1133 margin-left: 0; 1134 } 1135 1136 .topbar-countdown-row[hidden] { 1137 display: none; 1138 } 1139 1140 .topbar-countdown-label { 1141 font-size: 16px; 1142 font-weight: 700; 1143 letter-spacing: 0.02em; 1144 white-space: nowrap; 1145 } 1146 1147 .topbar-countdown { 1148 display: inline-flex; 1149 align-items: center; 1150 background: rgba(255, 255, 255, 0.15); 1151 border-radius: 8px; 1152 padding: 4px 8px 6px; 1153 margin-left: 0; 1154 font-variant-numeric: tabular-nums; 1155 backdrop-filter: blur(4px); 1156 -webkit-backdrop-filter: blur(4px); 1157 } 1158 1159 .topbar-countdown[hidden] { 1160 display: none; 1161 } 1162 1163 .topbar-countdown__time { 1164 display: flex; 1165 align-items: center; 1166 gap: 2px; 1167 font-weight: 600; 1168 font-size: 16px; 1169 letter-spacing: 0.02em; 1170 } 1171 1172 .topbar-countdown__days-unit { 1173 display: contents; 1174 } 1175 1176 .rtnu-topbar .topbar-countdown__days-unit[hidden] { 1177 display: none; 1178 } 1179 1180 .topbar-countdown__segment { 1181 display: flex; 1182 align-items: baseline; 1183 gap: 2px; 1184 } 1185 1186 .topbar-countdown__value { 1187 min-width: 24px; 1188 text-align: center; 1189 } 1190 1191 .topbar-countdown__label { 1192 font-size: 12px; 1193 font-weight: 600; 1194 text-transform: uppercase; 1195 letter-spacing: 0.03em; 1196 opacity: 0.7; 1197 } 1198 1199 .topbar-countdown__separator { 1200 opacity: 0.7; 1201 margin: 0 4px; 1202 } 1203 1204 @media (max-width: 768px) { 1205 .rtnu-topbar.topbar--countdown-inactive { 1206 --topbar-height-mobile: var(--topbar-height-mobile-base); 1207 } 1208 1209 .rtnu-topbar.topbar--countdown-inactive .topbar-slide-cta--has-countdown { 1210 flex-wrap: nowrap; 1211 row-gap: 0; 1212 padding-block: 0; 1213 } 1214 1215 .rtnu-topbar.topbar--countdown-inactive .topbar-slide-cta--has-countdown .topbar-content__text { 1216 flex: initial; 1217 } 1218 1219 .topbar-countdown-row { 1220 flex: 0 0 100%; 1221 justify-content: center; 1222 gap: 6px; 1223 margin-left: 0; 1224 } 1225 1226 .topbar-countdown-label { 1227 font-size: 14px; 1228 } 1229 1230 .topbar-countdown { 1231 padding: 2px 8px 4px; 1232 margin-left: 0; 1233 border-radius: 6px; 1234 } 1235 1236 .topbar-countdown__time { 1237 font-size: 14px; 1238 flex-wrap: nowrap; 1239 } 1240 1241 .topbar-countdown__segment { 1242 flex-direction: row; 1243 align-items: baseline; 1244 flex-wrap: nowrap; 1245 } 1246 1247 .topbar-countdown__value { 1248 min-width: 20px; 1249 } 1250 1251 .topbar-countdown__label { 1252 font-size: 10px; 1253 } 1254 } 1255</style> 1256 1257<!-- Dynamic Fancybox modals - Generated from ACF --> 1258 1259<div id="rtnu-topbar" 1260 class="rtnu-topbar topbar-slider-container" 1261 role="banner" 1262 aria-label="Promotional announcements carousel" 1263 aria-live="polite" 1264 aria-atomic="false"> 1265 <div class="embla" 1266 aria-roledescription="carousel" 1267 aria-label="Promotional offers"> 1268 <div class="embla__container"> 1269 <div class="embla__slide" 1270 role="group" 1271 aria-roledescription="slide" 1272 aria-label="Slide 1 of 2: Subscribe and Save Up to 30% Off Your First Auto-Ship"> 1273 <div class="rtnu-topbar-slide topbar-slide-item" 1274 data-slide="mdw-sale" 1275 data-announcement="mdw-sale" 1276 data-announcement-text="Subscribe and Save Up to 30% Off Your First Auto-Ship. SHOP NOW 1277"> 1278 <div class="rtnu-wrapper"> 1279 <div class="rtnu-topbar-content" style="--icon-width:18px; --icon-width-mobile:18px;"> 1280 <a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true" 1281 class="topbar-slide-cta" 1282 data-product-target="Collections" 1283 aria-label="Subscribe and Save Up to 30% Off Your First Auto-Ship" 1284 tabindex="0"> 1285 <div class="topbar-content__text"> 1286 <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.083.615a2.74 2.74 0 0 1 3.46 0l.383.312.487-.079a2.74 2.74 0 0 1 2.996 1.73l.176.462.462.176a2.74 2.74 0 0 1 1.73 2.996l-.079.487.312.384a2.74 2.74 0 0 1 0 3.46l-.312.383.079.487a2.74 2.74 0 0 1-1.73 2.996l-.462.176-.176.462a2.74 2.74 0 0 1-2.996 1.73l-.487-.079-.384.312a2.74 2.74 0 0 1-3.46 0l-.383-.312-.487.079a2.74 2.74 0 0 1-2.996-1.73l-.176-.462-.462-.176a2.74 2.74 0 0 1-1.73-2.996l.079-.487-.312-.384a2.74 2.74 0 0 1 0-3.46L.927 6.7l-.079-.487a2.74 2.74 0 0 1 1.73-2.996l.462-.176.176-.462A2.74 2.74 0 0 1 6.212.848l.487.079zM5.063 6.37c0-.392.098-.603.21-.726.123-.13.28-.207.54-.207.252 0 .407.077.533.21.115.123.216.332.216.723 0 .401-.102.611-.216.732-.126.134-.282.21-.534.21-.259 0-.416-.077-.54-.206-.109-.122-.21-.334-.21-.736m.75-2.432c-.633 0-1.202.22-1.638.684l-.005.006c-.435.474-.607 1.086-.607 1.742 0 .659.17 1.277.607 1.752l.005.006c.436.465 1.005.684 1.638.684.63 0 1.194-.221 1.627-.684.446-.475.622-1.095.622-1.758 0-.66-.178-1.275-.622-1.748-.433-.462-.998-.684-1.628-.684m5.25 7.307c0-.392.098-.603.21-.725.123-.13.28-.207.54-.207.252 0 .407.076.533.21.115.123.216.33.216.722 0 .401-.102.611-.216.732-.126.134-.281.21-.534.21-.259 0-.416-.077-.54-.207-.109-.12-.21-.333-.21-.735m.75-2.432c-.633 0-1.202.22-1.638.684l-.005.006c-.435.474-.607 1.086-.607 1.742 0 .659.17 1.277.607 1.752l.005.006c.436.465 1.005.684 1.637.684.63 0 1.195-.221 1.628-.684.446-.475.623-1.095.
1286623-1.758 0-.66-.179-1.275-.623-1.748-.433-.463-.997-.684-1.627-.684m.905-3.906a.75.75 0 0 1 0 1.06l-6.75 6.75a.75.75 0 1 1-1.06-1.06l6.75-6.75a.75.75 0 0 1 1.06 0" fill="#2d231a"/></svg> <p>Subscribe and Save Up to 30% Off Your First Auto-Ship. <span style="text-decoration: underline;font-weight: bold;">SHOP NOW</span></p> 1287 </div> 1288 </a> 1289 </div> 1290 </div> 1291 </div> 1292 </div> 1293 <div class="embla__slide" 1294 role="group" 1295 aria-roledescription="slide" 1296 aria-label="Slide 2 of 2: Free shipping promotion on orders over $100"> 1297 <div class="rtnu-topbar-slide topbar-slide-item" 1298 data-slide="shipping" 1299 data-announcement="shipping" 1300 data-announcement-text="Free Shipping on US orders $100+. Shop Best Sellers 1301"> 1302 <div class="rtnu-wrapper"> 1303 <div class="rtnu-topbar-content" style="--icon-width:18px; --icon-width-mobile:18px;"> 1304 <a href="https://shop.heartandsoil.co/a/collections/products?filters=best-sellers" 1305 class="topbar-slide-cta" 1306 data-product-target="collections" 1307 aria-label="Free shipping promotion on orders over $100" 1308 tabindex="-1"> 1309 <div class="topbar-content__text"> 1310 <p>Free Shipping on US orders $100+. <span style="text-decoration: underline;">Shop Best Sellers</span></p> 1311 </div> 1312 </a> 1313 </div> 1314 </div> 1315 </div> 1316 </div> 1317 </div> 1318 </div> 1319</div> 1320
1321<script> 1322// Wait for both DOM and Embla scripts to be ready 1323document.addEventListener('DOMContentLoaded', function() { 1324 // Check if Embla Carousel is loaded 1325 function waitForEmbla(callback) { 1326 if (typeof EmblaCarousel !== 'undefined' && 1327 typeof EmblaCarouselFade !== 'undefined' && 1328 typeof EmblaCarouselAutoplay !== 'undefined') { 1329 callback(); 1330 } else { 1331 setTimeout(() => waitForEmbla(callback), 50); 1332 } 1333 } 1334 1335 // Initialize carousel once Embla is loaded 1336 waitForEmbla(function() { 1337 initializeTopbarCarousel(); 1338 }); 1339}); 1340 1341function initializeTopbarCarousel() { 1342 // Check for reduced motion preference 1343 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 1344 1345 // Get the embla node 1346 const emblaNode = document.querySelector('#rtnu-topbar .embla'); 1347 const slides = document.querySelectorAll('#rtnu-topbar .embla__slide'); 1348 1349 if (!emblaNode) { 1350 console.warn('Embla carousel node not found'); 1351 return; 1352 } 1353 1354 // Configuration options 1355 const options = { 1356 loop: true, 1357 align: 'center', 1358 containScroll: false, 1359 skipSnaps: false, 1360 dragFree: false 1361 }; 1362 1363 // Initialize plugins with accessibility considerations 1364 const autoplayPlugin = EmblaCarouselAutoplay({ 1365 delay: prefersReducedMotion ? 10000 : 6000, // Longer delay for reduced motion 1366 stopOnInteraction: false, 1367 stopOnMouseEnter: true, 1368 stopOnFocusIn: true, 1369 playOnInit: !prefersReducedMotion // Don't auto-start if reduced motion preferred 1370 }); 1371 1372 const fadePlugin = EmblaCarouselFade(); 1373 1374 // Initialize Embla Carousel with plugins 1375 const emblaApi = EmblaCarousel(emblaNode, options, [fadePlugin, autoplayPlugin]); 1376 1377 // Accessibility: Update tabindex and aria-hidden for slides 1378 function updateSlideAccessibility() { 1379 const selectedIndex = emblaApi.selectedScrollSnap(); 1380 1381 slides.forEach((slide, index) => { 1382 const link = slide.querySelector('a'); 1383 const isSelected = index === selectedIndex; 1384 1385 if (link) { 1386 link.tabIndex = isSelected ? 0 : -1; 1387 } 1388 1389 slide.setAttribute('aria-hidden', isSelected ? 'false' : 'true'); 1390 }); 1391 } 1392 1393 // Accessibility: Keyboard navigation 1394 function handleKeyboard(event) { 1395 switch (event.key) { 1396 case 'ArrowLeft': 1397 event.preventDefault(); 1398 emblaApi.scrollPrev(); 1399 break; 1400 case 'ArrowRight': 1401 event.preventDefault(); 1402 emblaApi.scrollNext(); 1403 break; 1404 case ' ': 1405 case 'Enter': 1406 const activeElement = document.activeElement; 1407 if (activeElement && activeElement.closest('#rtnu-topbar')) { 1408 if (activeElement.tagName === 'A') { 1409 // Check if it's a Fancybox trigger 1410 if (activeElement.hasAttribute('data-fancybox')) { 1411 event.preventDefault(); 1412 // Fancybox will handle the modal opening 1413 activeElement.click(); 1414 } else { 1415 event.preventDefault(); 1416 activeElement.click(); 1417 } 1418 } 1419 } 1420 break; 1421 } 1422 } 1423 1424 // Event listeners 1425 emblaApi.on('select', updateSlideAccessibility); 1426 emblaApi.on('reInit', updateSlideAccessibility); 1427 1428 // Keyboard support 1429 emblaNode.addEventListener('keydown', handleKeyboard); 1430 1431 // Make carousel focusable for keyboard navigation 1432 emblaNode.setAttribute('tabindex', '0'); 1433 1434 // Initial accessibility setup 1435 updateSlideAccessibility(); 1436 1437 // Announce slide changes to screen readers (debounced) 1438 let announceTimeout; 1439 emblaApi.on('select', function() { 1440 clearTimeout(announceTimeout); 1441 announceTimeout = setTimeout(() => { 1442 const selectedIndex = emblaApi.selectedScrollSnap(); 1443 const currentSlide = slides[selectedIndex]; 1444 const ariaLabel = currentSlide?.getAttribute('aria-label'); 1445 1446 if (ariaLabel) { 1447 // Create a temporary announcement element 1448 const announcement = document.createElement('div'); 1449 announcement.setAttribute('aria-live', 'polite'); 1450 announcement.setAttribute('aria-atomic', 'true'); 1451 announcement.className = 'sr-only'; 1452 announcement.style.cssText = 'position:absolute;
1452left:-10000px;width:1px;height:1px;overflow:hidden;'; 1453 announcement.textContent = ariaLabel; 1454 1455 document.body.appendChild(announcement); 1456 setTimeout(() => document.body.removeChild(announcement), 1000); 1457 } 1458 }, 100); 1459 }); 1460 1461 // Debug logging (only with debug parameter) 1462 if (window.location.search.includes('debug')) { 1463 emblaApi.on('autoplay:play', () => console.log('Autoplay started')); 1464 emblaApi.on('autoplay:stop', () => console.log('Autoplay stopped')); 1465 emblaApi.on('select', () => console.log('Slide changed to:', emblaApi.selectedScrollSnap())); 1466 } 1467} 1468 1469/** 1470 * Countdown Timer (America/Chicago) 1471 * Uses the Central timezone's CST/CDT rules for the configured wall time. 1472 */ 1473(function() { 1474 'use strict'; 1475 1476 const CENTRAL_TIME_ZONE = 'America/Chicago'; 1477 const SECONDS_PER_MINUTE = 60; 1478 const MINUTES_PER_HOUR = 60; 1479 const HOURS_PER_DAY = 24; 1480 const MILLISECONDS_PER_SECOND = 1000; 1481 const centralDateFormatter = new Intl.DateTimeFormat('en-US', { 1482 timeZone: CENTRAL_TIME_ZONE, 1483 year: 'numeric', 1484 month: '2-digit', 1485 day: '2-digit', 1486 hour: '2-digit', 1487 minute: '2-digit', 1488 second: '2-digit', 1489 hourCycle: 'h23' 1490 }); 1491 1492 const pad = (value) => String(Math.max(0, value)).padStart(2, '0'); 1493 1494 const getCentralOffset = (timestamp) => { 1495 const parts = Object.fromEntries( 1496 centralDateFormatter 1497 .formatToParts(new Date(timestamp)) 1498 .filter((part) => part.type !== 'literal') 1499 .map((part) => [part.type, Number(part.value)]) 1500 ); 1501 1502 return Date.UTC( 1503 parts.year, 1504 parts.month - 1, 1505 parts.day, 1506 parts.hour, 1507 parts.minute, 1508 parts.second 1509 ) - timestamp; 1510 }; 1511 1512 const parseEndDate = (dateString) => { 1513 if (!dateString) return null; 1514 1515 const parts = dateString.split(',').map((part) => parseInt(part.trim(), 10)); 1516 if (parts.length < 3 || parts.some((part) => Number.isNaN(part))) return null; 1517 1518 const [year, month, day, hour = 0, minute = 0, second = 0] = parts; 1519 1520 const centralWallTime = Date.UTC(year, month - 1, day, hour, minute, second); 1521 const initialOffset = getCentralOffset(centralWallTime); 1522 let targetUTC = centralWallTime - initialOffset; 1523 const correctedOffset = getCentralOffset(targetUTC); 1524 1525 if (correctedOffset !== initialOffset) { 1526 targetUTC = centralWallTime - correctedOffset; 1527 } 1528 1529 return targetUTC; 1530 }; 1531 1532 const topbarElement = document.querySelector('#rtnu-topbar'); 1533 1534 const updateTopbarCountdownState = () => { 1535 const timers = Array.from(document.querySelectorAll('#rtnu-topbar [data-countdown-timer]')); 1536 const hasActiveCountdown = timers.some((timer) => !timer.hidden); 1537 1538 if (topbarElement) { 1539 topbarElement.classList.toggle('topbar--countdown-inactive', !hasActiveCountdown); 1540 } 1541 }; 1542 1543 const setTimerVisibility = (timerElement, isVisible) => { 1544 const countdownRow = timerElement.closest('.topbar-countdown-row'); 1545 timerElement.hidden = !isVisible; 1546 1547 if (countdownRow) { 1548 countdownRow.hidden = !isVisible; 1549 } 1550 1551 updateTopbarCountdownState(); 1552 }; 1553 1554 const initTimer = (timerElement) => { 1555 const endDateString = timerElement.dataset.countdownEndDate; 1556 const targetUTC = parseEndDate(endDateString); 1557 1558 if (!targetUTC) { 1559 setTimerVisibility(timerElement, false); 1560 return; 1561 } 1562 1563 const daysEl = timerElement.querySelector('[data-days]'); 1564 const daysUnit = timerElement.querySelector('[data-days-unit]'); 1565 const hoursEl = timerElement.querySelector('[data-hours]'); 1566 const minutesEl = timerElement.querySelector('[data-minutes]'); 1567 const secondsEl = timerElement.querySelector('[data-seconds]'); 1568 const daysLabelEl = timerElement.querySelector('[data-days-label]'); 1569 const hoursLabelEl = timerElement.querySelector('[data-hours-label]'); 1570 const minutesLabelEl = timerElement.querySelector('[data-minutes-label]'); 1571 const secondsLabelEl = timerElement.querySelector('[data-seconds-label]'); 1572 1573 let timerId = null; 1574 1575 const updateTimer = () => { 1576 const nowUTC = Date.now(); 1577 const remaining = targetUTC - nowUTC; 1578 1579 // Countdown expired 1580 if (remaining <= 0) { 1581 setTimerVisibility(timerElement, false); 1582 if (timerId) { 1583 window.clearInterval(timerId); 1584 timerId = null; 1585 } 1586 return false;
1587 } 1588 1589 // Show the timer 1590 setTimerVisibility(timerElement, true); 1591 1592 // Calculate time units 1593 const totalSeconds = Math.floor(remaining / MILLISECONDS_PER_SECOND); 1594 const days = Math.floor(totalSeconds / (HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE)); 1595 const hours = Math.floor( 1596 (totalSeconds % (HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE)) / 1597 (MINUTES_PER_HOUR * SECONDS_PER_MINUTE) 1598 ); 1599 const minutes = Math.floor((totalSeconds % (MINUTES_PER_HOUR * SECONDS_PER_MINUTE)) / SECONDS_PER_MINUTE); 1600 const seconds = totalSeconds % SECONDS_PER_MINUTE; 1601 1602 if (daysUnit) daysUnit.hidden = days === 0; 1603 1604 // Update DOM values 1605 if (daysEl) daysEl.textContent = pad(days); 1606 if (hoursEl) hoursEl.textContent = pad(hours); 1607 if (minutesEl) minutesEl.textContent = pad(minutes); 1608 if (secondsEl) secondsEl.textContent = pad(seconds); 1609 1610 // Update labels (singular/plural) 1611 if (daysLabelEl) daysLabelEl.textContent = days === 1 ? 'Day' : 'Days'; 1612 if (hoursLabelEl) hoursLabelEl.textContent = hours === 1 ? 'Hr' : 'Hrs'; 1613 if (minutesLabelEl) minutesLabelEl.textContent = minutes === 1 ? 'Min' : 'Mins'; 1614 if (secondsLabelEl) secondsLabelEl.textContent = seconds === 1 ? 'Sec' : 'Secs'; 1615 1616 return true; 1617 }; 1618 1619 // Initial render 1620 if (updateTimer()) { 1621 timerId = window.setInterval(updateTimer, 1000); 1622 } 1623 }; 1624 1625 const initAllTimers = () => { 1626 const timers = document.querySelectorAll('[data-countdown-timer]'); 1627 timers.forEach(initTimer); 1628 }; 1629 1630 // Initialize when DOM is ready 1631 if (document.readyState === 'loading') { 1632 document.addEventListener('DOMContentLoaded', initAllTimers, { once: true }); 1633 } else { 1634 initAllTimers(); 1635 } 1636})(); 1637</script>
1637 1638
1638<script> 1639 document.documentElement.classList.add('rtnu-nav-header-present'); 1640</script>
1640 1641 1642<header class="rtnu-nav-header rtnu-nav-header--default rtnu-nav--scrolling-up" data-nav-variant="default" data-hide-on-scroll="1"> 1643 <div class="rtnu-nav-desktop"> 1644 <div class="rtnu-nav-desktop__bar"> 1645 <a href="https://heartandsoil.co/" class="rtnu-nav-logo" aria-label="Heart & Soil - Go home"> 1646 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 239 48" width="239" height="48"> 1647 <path fill="currentColor" fill-rule="evenodd" d="M55.484 11.087a12.2 12.2 0 0 0-1.495-4.972 9.6 9.6 0 0 0-.76-1.158 12 12 0 0 0-.841-.98 13.5 13.5 0 0 0-1.91-1.638A13.6 13.6 0 0 0 46.023.31c-1.585-.381-3.261-.432-4.817-.033a8.1 8.1 0 0 0-2.178.92 8.1 8.1 0 0 0-1.754 1.46c1.262-.822 2.688-1.285 4.094-1.33 1.409-.06 2.784.266 4.03.833a11.3 11.3 0 0 1 3.338 2.29c.477.463.91.964 1.28 1.486.182.262.348.534.495.805.15.272.276.555.357.776.43 1.208.658 2.487.58 3.633a6 6 0 0 1-1.078 3.05c-.625.88-1.511 1.629-2.565 2.237a14 14 0 0 1-1.658.809c-.217.095-.697.28-.943.366l-1.052.391c-1.408.525-2.82 1.035-4.238 1.599-1.414.564-2.844 1.136-4.322 1.85-1.456.697-3.063 1.652-4.42 2.857-.325.271-.713.647-.989.916l-.393.396-.469.513a21 21 0 0 0-1.565 1.936 21 21 0 0 0-1.57-1.936l-.466-.513-.397-.396c-.276-.269-.66-.645-.988-.916-1.357-1.205-2.961-2.16-4.418-2.858-1.478-.713-2.907-1.285-4.322-1.849-1.417-.564-2.832-1.074-4.235-1.599l-1.054-.39a17 17 0 0 1-.94-.367 14 14 0 0 1-1.661-.809c-1.054-.608-1.94-1.357-2.565-2.237a6 6 0 0 1-1.078-3.051c-.075-1.146.15-2.425.58-3.633a6 6 0 0 1 .357-.776 8 8 0 0 1 .495-.805c.37-.522.802-1.023 1.28-1.486a11.4 11.4 0 0 1 3.34-2.29c1.246-.567 2.622-.892 4.027-.833 1.406.045 2.833.508 4.097 1.33a8.2 8.2 0 0 0-1.757-1.46 8.2 8.2 0 0 0-2.177-.92c-1.556-.4-3.232-.348-4.815.033A13.6 13.6 0 0 0 5.032 2.34a13.5 13.5 0 0 0-1.91 1.637q-.444.461-.841.981c-.268.35-.508.71-.76 1.158a12.3 12.3 0 0 0-1.499 4.972c-.057.91-.006 1.85.186 2.783.192.928.538 1.835.997 2.67.92 1.673 2.256 3.021 3.68 4.06.73.527 1.441.975 2.24 1.383.46.239.67.34 1.112.543l1.012.471 4.024 1.891c1.322.63 2.626 1.268 3.8 1.93 1.195.671 2.144 1.322 2.98 2.142.23.218.369.376.615.638l.378.415.27.325c.415.477.767.978 1.1 1.473.63 1.006 1.123 2.032 1.355 3.022.24.99.246 1.939.012 2.798a5.1 5.1 0 0 1-1.184 2.133c-.078-.901-.177-1.883-.381-2.9a13.3 13.3 0 0 0-.748-2.493 10.3 10.3 0 0 0-1.418-2.458 9.4 9.4 0 0 0-2.135-2.001 9 9 0 0 0-1.24-.716l-.316-.15-.36-.152-.175-.074c-.045-.012-.078-.03-.126-.033-.105.02-.303.227-.72.886L13.442 32.8c-.268.736-.313 1.014-.265 1.11.03.035.07.053.105.08l.048.045.21.205c.157.15.295.308.421.463.255.307.442.63.622.966.342.68.61 1.506.817 2.542q.15.773.246 1.676l.18 1.974c.033.364.072.752.138 1.194.067.438.145.918.355 1.569.111.33.252.7.514 1.142a4.7 4.7 0 0 0 1.303 1.423c.625.45 1.427.719 2.066.781a5.2 5.2 0 0 0 1.58-.071l.123-.024.133-.039a11.97 11.97 0 0 0 5.33-3.197 8 8 0 0 0 .388-.427q.187.22.385.427a11.97 11.97 0 0 0 5.33 3.197l.133.039.123.024a5.2 5.2 0 0 0 1.58.071 4.5 4.5 0 0 0 2.066-.781 4.7 4.7 0 0 0 1.304-1.423c.261-.441.402-.811.513-1.142.214-.65.289-1.13.355-1.57s.105-.829.138-1.192l.18-1.975q.096-.903.247-1.676c.207-1.035.474-1.862.816-2.542.18-.337.364-.659.622-.966a5 5 0 0 1 .42-.462l.211-.206.048-.045c.036-.027.072-.045.105-.08.045-.096.003-.374-.264-1.
164711l-1.538-3.126c-.42-.66-.616-.865-.72-.886-.046.003-.082.02-.127.033l-.174.074-.358.152-.318.15c-.42.208-.844.435-1.24.715a9.4 9.4 0 0 0-2.136 2.002 10.5 10.5 0 0 0-1.42 2.458c-.349.84-.58 1.682-.745 2.493-.205 1.018-.307 1.999-.382 2.9-.558-.615-.976-1.337-1.183-2.133-.234-.86-.228-1.808.012-2.798.231-.99.72-2.016 1.354-3.021a15 15 0 0 1 1.1-1.474l.27-.325.375-.415c.25-.262.388-.42.62-.638.834-.82 1.783-1.47 2.976-2.142 1.174-.662 2.48-1.3 3.802-1.93l4.025-1.89 1.015-.472c.438-.203.649-.304 1.108-.543a16.4 16.4 0 0 0 2.238-1.384c1.426-1.038 2.76-2.386 3.682-4.06a9.7 9.7 0 0 0 .997-2.669 10.3 10.3 0 0 0 .183-2.783m129.15-.947q3.592 0 5.549 2.19 1.952 2.197 1.953 6.674v1.083a.97.97 0 0 1-.29.7.93.93 0 0 1-.688.297h-3.108q-.309 0-.576-.273-.268-.271-.267-.586v-.952q0-2.398-.643-3.435-.643-1.04-1.93-1.042-1.29-.001-1.933.838-.643.835-.643 2.194c0 .81.22 1.634.666 2.463q.664 1.247 1.443 2.103.776.863 2.552 2.622 2.975 2.985 4.395 5.27 1.419 2.286 1.419 5.312 0 3.757-2.197 6.018-2.2 2.261-5.702 2.26-3.597 0-5.749-2.329-2.154-2.331-2.153-5.991v-2.263q0-.452.308-.793.31-.337.799-.338h2.709q.444.001.778.338.331.341.332.793v1.856q-.001 3.979 2.929 3.977 2.843.001 2.843-3.118-.001-1.087-.311-2.035c-.209-.632-.605-1.314-1.201-2.035a25 25 0 0 0-1.443-1.652 174 174 0 0 0-1.974-1.966q-1.73-1.72-2.708-2.873-.975-1.154-1.91-3.19a10 10 0 0 1-.931-4.205q-.001-3.393 1.933-5.65 1.927-2.262 5.749-2.262m19.355 0q3.803.002 6.048 2.193 2.247 2.196 2.247 5.856v17.637q0 3.662-2.247 5.856-2.245 2.194-6.048 2.193-3.809 0-6.051-2.193-2.247-2.194-2.245-5.856V18.189q-.002-3.66 2.245-5.856 2.243-2.191 6.051-2.193m-135.962.784q.456-.001.797.313.34.31.34.802v11.98q-.002.45.457.449h4.86q.455.001.454-.448V12.039q-.002-.492.322-.802.317-.314.815-.313h3.136q.456-.001.797.313.34.31.34.802v29.937q0 .49-.34.802a1.14 1.14 0 0 1-.797.313h-3.136q-.498.001-.815-.313-.324-.312-.322-.802v-12.34q.001-.447-.454-.448h-4.86q-.459 0-.457.448v12.34q0 .49-.34.802a1.14 1.14 0 0 1-.797.313h-3.136q-.498.001-.815-.313a1.07 1.07 0 0 1-.322-.802V12.04q0-.492.322-.802.317-.314.815-.313zm29.798 0q.449-.001.787.313.334.31.335.802v2.45q-.001.446-.335.778a1.08 1.08 0 0 1-.787.333h-6.954q-.446.001-.446.445v7.71q0 .445.446.444h4.71q.451 0 .787.313.336.315.335.802v2.27q.001.448-.335.781a1.08 1.08 0 0 1-.787.333h-4.71q-.446 0-.446.448v8.733c0 .294.149.445.446.445h7.313q.449-.002.787.333.335.333.335.781v2.538q0 .49-.335.802-.338.314-.787.313H86.207c-.33 0-.596-.103-.807-.313q-.315-.312-.315-.802V12.04q0-.492.315-.802.314-.314.807-.313zm14.591 0q.496 0 .879.336c.254.221.397.484.429.778l5.314 29.938a.88.88 0 0 1-.202.779.95.95 0 0 1-.743.336h-2.929q-.496 0-.879-.336-.386-.337-.427-.778l-.724-5.127c0-.294-.161-.445-.494-.445h-4.548q-.494.001-.495.445l-.766 5.127a1.34 1.34 0 0 1-.45.798q-.36.316-.811.316h-2.926a.94.94 0 0 1-.745-.336.86.86 0 0 1-.2-.778l5.314-29.938c.03-.295.17-.558.426-.779a1.3 1.3 0 0 1 .879-.336zm18.112 0q4.308 0 5.89 2.494 1.576 2.495 1.576 7.129 0 3.697-.779 5.48c-.521 1.185-1.415 2.108-2.688 2.76-.268.118-.356.33-.268.625l3.735 12.609a.92.92 0 0 1-.135.737q-.221.331-.668.333h-2.973q-1.112 0-1.426-1.07l-3.199-11.852q-.132-.443-.576-.445h-1.024q-.442.001-.444.445v11.807q0 .488-.309.802-.312.314-.802.313h-3.111q-.487.001-.797-.313-.313-.314-.312-.802V12.04q0-.493.312-.805.31-.31.797-.31zm24.544 0q.45-.001.784.313.336.31.334.802v2.538q.002.447-.334.778a1.07 1.07 0 0 1-.784.333h-4.022q-.452 0-.45.448v25.84q0 .49-.311.802-.315.314-.808.313h-3.087a1.1 1.1 0 0 1-.781-.313 1.05 1.05 0 0 1-.337-.802v-25.84c0-.297-.145-.448-.444-.448h-4.117q-.494.002-.805-.333a1.1 1.1 0 0 1-.311-.778v-2.538q0-.492.311-.802.311-.314.805-.313zm64.741 0c.31 0 .578.103.815.31q.346.314.347.805v29.937q-.001.49-.347.802c-.237.21-.505.313-.815.313h-3.206q-.513.001-.837-.313a1.06 1.06 0 0 1-.325-.802V12.04q-.001-.492.325-.805.324-.31.837-.31zm-45.78 27.46q.447 0 .784.305c.225.207.335.469.335.795v2.506q.001.44-.335.769a1.08 1.08 0 0 1-.784.332h-14.354q-.493 0-.805-.332a1.08 1.08 0 0 1-.313-.769v-2.506c0-.326.106-.588.313-.795q.312-.306.805-.306zm55.336-27.492c.306 0 .569.103.803.309q.341.313.342.803v25.829q0 .448.454.447h6.684q.503 0 .824.311.32.31.321.8v2.49q-.002.488-.321.8-.321.313-.824.3
164712H226.21q-.505 0-.823-.312a1.06 1.06 0 0 1-.321-.8V12.004q0-.49.321-.803.318-.31.823-.31zm-25.38 3.997q-2.798 0-2.797 3.165v17.907q-.001 3.165 2.797 3.166 2.794-.001 2.796-3.166V18.054q-.002-3.165-2.796-3.165m-38.491-4.75q2.164-.001 3.339 1.358c.786.901 1.181 2.075 1.181 3.513 0 1.304-.329 2.496-.982 3.563-.656 1.07-1.618 2.187-2.882 3.367a.426.426 0 0 0-.098.522c.784 1.986 1.508 3.575 2.158 4.772q.065.1.166.098.094.002.13-.098.817-1.962.947-4.28c.048-.546.338-.818.884-.818h1.342q.33.002.558.243a.71.71 0 0 1 .195.575q-.194 3.89-1.997 7.126-.164.26.036.521.686.754 1.341.753.882 0 .882-1.21v-.785a.66.66 0 0 1 .213-.474.7.7 0 0 1 .508-.213h.917q.36 0 .587.246a.8.8 0 0 1 .229.572v1.147q.001 1.796-1.03 2.81c-.686.673-1.499 1.014-2.439 1.014-1.113 0-2.19-.472-3.241-1.408q-.194-.196-.489-.033c-1.176.958-2.478 1.44-3.894 1.44q-2.523 0-4.009-1.588-1.49-1.583-1.489-4.1c0-2.463 1.083-4.73 3.24-6.8q.231-.23.098-.524-1.373-3.464-1.374-5.72 0-2.482 1.326-4.038 1.326-1.551 3.647-1.55m-55.153 8.85-1.893 12.384c-.059.298.063.442.361.442h3.108a.43.43 0 0 0 .316-.132q.134-.133.09-.31l-1.848-12.384q-.09-.048-.134 0m52.866 6.25q-1.051 1.47-1.051 3.009.001 1.342.638 2.093.64.751 1.787.752.784-.001 1.341-.456c.172-.133.196-.296.062-.492q-1.341-2.093-2.451-4.87-.132-.294-.326-.036m-33.571-9.86h-1.647q-.442-.001-.444.445V25q.002.446.444.446h1.647q1.82 0 2.467-1.047c.426-.696.644-2.025.644-3.986 0-1.96-.218-3.293-.644-3.989q-.647-1.044-2.467-1.046m35.761-2.462q-.754-.002-1.164.637-.406.637-.406 1.75 0 1.47.783 3.826.036.093.149.113.114.017.181-.05c1.222-1.397 1.833-2.787 1.833-4.183q0-2.093-1.376-2.093" clip-rule="evenodd"/> 1648 </svg> 1649 </a> 1650 1651 <nav class="rtnu-nav-menu" aria-label="Primary navigation"> 1652 <ul> 1653 <li class="b2bshow" style="display: none;"><a href="https://shop.heartandsoil.co/collections/b2b-collection" data-menu-section="shop_all">
1653Shop All</a></li> 1654 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=best-sellers&subscriptions=true" data-menu-section="best_sellers">Best Sellers</a></li> 1655 <li class="rtnu-nav-menu__has-dropdown b2bhide"> 1656 <button 1657 type="button" 1658 class="rtnu-nav-menu__trigger" 1659 aria-expanded="false" 1660 aria-controls="rtnu-nav-panel-shop-all-rtnu-nav-1" 1661 > 1662 Shop All 1663 <svg 1664 xmlns="http://www.w3.org/2000/svg" 1665 width="13" 1666 height="8" 1667 fill="none" 1668 viewBox="0 0 13 8" 1669 aria-hidden="true" 1670 focusable="false" 1671 > 1672 <path fill="currentColor" d="m6.53826 8 6.41484-6.41486L11.368 0 6.53826 4.82972 1.70854 0 .123404 1.58514 6.53826 8Z"/> 1673 </svg> 1674 </button> 1675 </li> 1676 <li class="rtnu-nav-menu__has-dropdown b2bhide"> 1677 <button 1678 type="button" 1679 class="rtnu-nav-menu__trigger" 1680 aria-expanded="false" 1681 aria-controls="rtnu-nav-panel-health-goals-rtnu-nav-1" 1682 > 1683 Health Goals 1684 <svg 1685 xmlns="http://www.w3.org/2000/svg" 1686 width="13" 1687 height="8" 1688 fill="none"
1689 viewBox="0 0 13 8" 1690 aria-hidden="true" 1691 focusable="false" 1692 > 1693 <path fill="currentColor" d="m6.53826 8 6.41484-6.41486L11.368 0 6.53826 4.82972 1.70854 0 .123404 1.58514 6.53826 8Z"/> 1694 </svg> 1695 </button> 1696 </li> 1697 </ul> 1698 </nav> 1699 1700 <nav class="rtnu-nav-menu rtnu-nav-menu--secondary" aria-label="Secondary navigation" data-menu-section="secondary"> 1701 <ul> 1702 <li class="rtnu-nav-menu__has-dropdown"> 1703 <button 1704 type="button" 1705 class="rtnu-nav-menu__trigger" 1706 aria-expanded="false" 1707 aria-controls="rtnu-nav-panel-learn-rtnu-nav-1" 1708 > 1709 Learn 1710 <svg 1711 xmlns="http://www.w3.org/2000/svg" 1712 width="13" 1713 height="8" 1714 fill="none" 1715 viewBox="0 0 13 8" 1716 aria-hidden="true" 1717 focusable="false" 1718 > 1719 <path fill="currentColor" d="m6.53826 8 6.41484-6.41486L11.368 0 6.53826 4.82972 1.70854 0 .123404 1.58514 6.53826 8Z"/> 1720 </svg> 1721 </button> 1722 </li> 1723 <li class="rtnu-nav-menu__item-account"> 1724 <a href="https://shop.heartandsoil.co/a/account/login" class="rtnu-nav-icon-link" aria-label="Go to your account"> 1725 <svg 1726 xmlns="http://www.w3.org/2000/svg" 1727 width="28" 1728 height="28" 1729 fill="none"
1730 viewBox="0 0 28 28" 1731 aria-hidden="true" 1732 focusable="false" 1733 > 1734 <path fill="currentColor" d="M14 0c-3.4364 0-6.22213 2.78571-6.22213 6.22212 0 3.43642 2.78573 6.22238 6.22213 6.22238s6.2221-2.78596 6.2221-6.22238C20.2221 2.78571 17.4364 0 14 0Zm0 17.1112c-4.67279 0-14 2.3456-14 7v2.3333C0 27.3032.696792 28 1.55546 28H26.4445C27.3032 28 28 27.3032 28 26.4445v-2.3333c0-4.6544-9.3272-7-14-7Z"/> 1735 </svg> 1736 </a> 1737 </li> 1738 <li class="rtnu-nav-menu__item-cart"> 1739 <a 1740 href="https://shop.heartandsoil.co/cart" 1741 class="rtnu-nav-icon-link" 1742 aria-label="Open cart" 1743 > 1744 <svg 1745 xmlns="http://www.w3.org/2000/svg" 1746 width="34" 1747 height="30" 1748 fill="none" 1749 viewBox="0 0 34 30" 1750 aria-hidden="true" 1751 focusable="false" 1752 > 1753 <path fill="currentColor" d="M14.423 27.1153c0 1.5926-1.292 2.8846-2.8846 2.8846-1.59252 0-2.88459-1.292-2.88459-2.8846 0-1.5925 1.29207-2.8846 2.88459-2.8846 1.5926 0 2.8846 1.2921 2.8846 2.8846Z"/><path fill="currentColor" d="M29.423 27.1153c0 1.5926-1.292 2.8846-2.8846 2.8846-1.5925 0-2.8846-1.292-2.8846-2.8846 0-1.5925 1.2921-2.8846 2.8846-2.8846 1.5926 0 2.8846 1.2921 2.8846 2.8846Z"/><path fill="currentColor" d="m6.6286 4.66947-.57692-2.44591C5.74519.919471 4.58233 0 3.24519 0H0l.576923 2.30769H3.24519c.26743 0 .4988.1833.5619.44471l4.09255 17.3918c.24339 1.0457 1.16887 1.7789 2.24456 1.7789h18.3083c1.1238 0 2.0823-.8053 2.2746-1.9111l2.3588-13.57871L6.6286 4.66947Z"/> 1754 </svg> 1755 <span class="rtnu-nav-cart-count"> 1756 <span class="visually-hidden">Open cart, cart items:</span> 1757 <span class="Boost_CartCount rtnu-header__cart-count" aria-label="Go to cart page">0</span> 1758 </span> 1759 </a> 1760 </li> 1761 </ul> 1762 </nav> 1763 </div> 1764 1765 <section id="rtnu-nav-panel-shop-all-rtnu-nav-1" class="rtnu-nav-panel rtnu-nav-panel--mega" data-menu-section="shop_all" hidden> 1766 <div class="rtnu-nav-panel__inner rtnu-nav-shop-all"> 1767 <div class="rtnu-nav-shop-all__col rtnu-nav-shop-all__col--primary"> 1768 <p class="rtnu-nav-panel__heading">Shop</p> 1769 <ul class="rtnu-nav-list"> 1770 <li> 1771 <a href="https://shop.heartandsoil.co/a/collections/products?filters=best-sellers&subscriptions=true"> 1772 <span class="rtnu-nav-link-label">Best Sellers</span> 1773 </a> 1774 </li> 1775 <li> 1776 <a 1777 href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true" 1778 class="rtnu-nav-subscribe-link" 1779 > 1780 <span class="rtnu-nav-subscribe-prefix">Subscribe &</span> 1781 <span class="rtnu-nav-pill rtnu-nav-pill--save">Save Up to 30%</span> 1782 </a> 1783 </li> 1784 <li> 1785 <a href="https://shop.heartandsoil.co/a/collections/products?filters=stacks&subscriptions=true"> 1786 <span class="rtnu-nav-link-label">Stacks</span> 1787 </a> 1788 </li> 1789 <li> 1790 <a href="https://shop.heartandsoil.co/a/collections/products?filters=merch"> 1791 <span class="rtnu-nav-link-label">Merch</span> 1792 </a> 1793 </li> 1794 </ul> 1795 <a class="rtnu-nav-btn" href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true">Shop All Products</a> 1796 </div> 1797 1798 <div class="rtnu-nav-shop-all__col rtnu-nav-shop-all__col--categories"> 1799 <p class="rtnu-nav-panel__heading">Categories</p> 1800 <ul class="rtnu-nav-categories"> 1801 <li> 1802 <a href="https://shop.heartandsoil.co/products/free-form-grass-fed-colostrum"> 1803 <img 1804 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/
1804hs-categories-colostrum.webp" 1805 alt="" 1806 aria-hidden="true" 1807 loading="lazy" 1808 width="40" 1809 height="52" 1810 > 1811 <span class="rtnu-nav-category-meta"> 1812 <span class="rtnu-nav-category-label">Colostrum</span> 1813 <span class="rtnu-nav-pill">New</span> 1814 </span> 1815 </a> 1816 </li> 1817 <li> 1818 <a href="https://shop.heartandsoil.co/a/collections/products?filters=protein&subscriptions=true"> 1819 <img 1820 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-categories-protein.webp" 1821 alt="" 1822 aria-hidden="true" 1823 loading="lazy" 1824 width="40" 1825 height="52" 1826 > 1827 <span class="rtnu-nav-category-meta"> 1828 <span class="rtnu-nav-category-label">Protein Powder</span> 1829 </span> 1830 </a> 1831 </li> 1832 <li> 1833 <a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true"> 1834 <img 1835 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/
1835hs-categories-supplements.webp" 1836 alt="" 1837 aria-hidden="true" 1838 loading="lazy" 1839 width="40" 1840 height="52" 1841 > 1842 <span class="rtnu-nav-category-meta"> 1843 <span class="rtnu-nav-category-label">Supplements</span> 1844 </span> 1845 </a> 1846 </li> 1847 </ul> 1848 </div> 1849 1850 <div class="rtnu-nav-shop-all__col rtnu-nav-shop-all__col--support rtnu-nav-support-card"> 1851 <button 1852 type="button" 1853 class="rtnu-nav-support-card__image-hit" 1854 data-fancybox 1855 data-src="#klaviyo-form" 1856 aria-label="Connect with us" 1857 > 1858 <img 1859 class="rtnu-nav-support-card__image" 1860 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-expert-support.webp" 1861 alt="" 1862 aria-hidden="true" 1863 loading="lazy" 1864 width="218" 1865 height="104" 1866 > 1867 </button> 1868 <p class="rtnu-nav-panel__heading">Get Expert Support</p> 1869 <p>Personalized product guidance and support.</p> 1870 <button 1871 type="button" 1872 class="rtnu-nav-support-action rtnu-nav-support-card__link" 1873 data-fancybox 1874 data-src="#klaviyo-form" 1875 > 1876 Connect with us 1877 <svg 1878 xmlns="http://www.w3.org/2000/svg" 1879 width="8" 1880 height="13" 1881 fill="none"
1882 viewBox="0 0 8 13" 1883 aria-hidden="true" 1884 focusable="false" 1885 > 1886 <path fill="currentColor" d="M8 6.35889 1.58514-.0559692 0 1.52917l4.82972 4.82972L0 11.1886l1.58514 1.5852L8 6.35889Z"/> 1887 </svg> 1888 </button> 1889 </div> 1890 </div> 1891 </section> 1892 1893 <section id="rtnu-nav-panel-health-goals-rtnu-nav-1" class="rtnu-nav-panel rtnu-nav-panel--legacy" data-menu-section="health_goals" hidden> 1894 <div class="rtnu-header__dropdown rtnu-header__dropdown-health"> 1895 <div class="rtnu-wrapper"> 1896 <div class="rtnu-grid"> 1897 <div class="rtnu-grid__item"> 1898 <p> 1899 <strong>Most Popular</strong> 1900 </p> 1901 <ul> 1902 <li> 1903 <a href="https://shop.heartandsoil.co/products/beef-organs"> 1904 <div class="icon"> 1905 <svg 1906 xmlns="http://www.w3.org/2000/svg" 1907 width="16" 1908 height="16" 1909 fill="none" 1910 stroke="#FDEEDA" 1911 stroke-linecap="round" 1912 stroke-linejoin="round" 1913 stroke-width="2"
1914 viewBox="0 0 24 24" 1915 > 1916 <circle cx="12" cy="12" r="4" /><path d="M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32 1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41" /> 1917 </svg> 1918 </div> 1919 Daily Nutrient Support</a 1920 > 1921 </li> 1922 <li> 1923 <a href="https://shop.heartandsoil.co/products/fat-loss-stack"> 1924 <div class="icon"> 1925 <svg 1926 xmlns="http://www.w3.org/2000/svg" 1927 width="16" 1928 height="16" 1929 fill="none" 1930 viewBox="0 0 16 16" 1931 > 1932 <path fill="#FDEEDA" d="M2.6672 0C1.7908 0 1.1054.2884.7086.6852.3118 1.082.00600003 1.6828 0 2.6672v10.6656c0 .73.2032 1.478.6968 1.9712.4936.4932 1.2076.696 1.9704.696h10.6656c.6496 0 1.434-.161 1.9672-.6938.5332-.5336.7-1.2758.7-1.9726V2.6672c0-.892-.275-1.5546-.6938-1.9734C14.8874.275 14.2032 0 13.3336 0H2.6672Zm10.3796 1.6c.4404 0 .7728.0338 1.0462.307.3644.3644.303.847.303 1.5242V5.2h-2.8178c-.046-.4976-.3196-.9592-.768-1.2274C9.897 3.427 8.9494 3.15 7.9946 3.15c-.9552 0-1.9024.277-2.8156.8226-.4484.2682-.722.7298-.768 1.2274H1.6016V3.4312c0-.7696-.0442-1.1762.3038-1.5242.348-.3484.7426-.303 1.5242-.303h9.1392c.1726 0 .3312-.004.478-.004ZM7.9946 4.75c.6652 0 1.33.1988 1.9952.596L9.4578 7.2h-.6774l.3344-.9632c.1452-.4172-.0762-.8732-.4938-1.018-.416-.1448-.8726.0764-1.0178.4936L7.0876 7.2H6.532L6 5.346c.6648-.3972 1.3298-.596 1.9946-.596ZM1.6016 6.8h3.1508l.2414.8414C5.1906 8.3274 5.8184 8.8 6.532 8.8h2.925c.714 0 1.3416-.4726 1.5384-1.1586l.2414-.8414h3.1592v5.7704c0 .7784.0454 1.1758-.303 1.5242-.3484.348-.7206.303-1.5242.303H3.4296c-.8324 0-1.2056.0208-1.5272-.3008-.3216-.3216-.3008-.6532-.3008-1.5264V6.8Z" /> 1933 </svg> 1934 </div> 1935 Fat Loss</a 1936 > 1937 </li> 1938 <li> 1939 <a href="https://shop.heartandsoil.co/products/energy-stack"> 1940 <div class="icon"> 1941 <svg 1942 xmlns="http://www.w3.org/2000/svg" 1943 width="18" 1944 height="18" 1945 fill="none"
1946 viewBox="0 0 18 18" 1947 > 1948 <path fill="#FDEEDA" d="M9.37159 1.2002c-.23571-.00015-.44849.14442-.54005.36689L4.82539 9.21357c-.05313.06427-.09252.13936-.11559.22022l-.00343.00591.00124.00112c-.01428.05189-.02156.10547-.02183.15947 0 .33131.26234.59991.58576.59991h3.22147l-.86717 5.8805c-.00769.0394-.01153.0795-.0114.1195 0 .3314.2622.6001.58563.6001.21689-.0004.41581-.1235.51712-.3199h.0011l.00343-.0083 4.05088-7.71795c.0735-.10266.1131-.22669.1133-.35395 0-.33132-.2624-.59991-.5858-.59991H9.07864l.86484-5.87236c.00906-.04191.01373-.0848.01373-.12769 0-.33131-.2622-.60004-.58562-.60004ZM2.92301 2.39438c-.23845 0-.45288.14808-.54266.37421-.08964.22626-.03665.48557.13426.65587l1.17138 1.19995c.14689.1568.36502.21994.57025.1651.20537-.05485.36557-.21896.41911-.42933.05353-.21023-.0081-.43369-.16117-.58416L3.3428 2.57607c-.11023-.11616-.26165-.18169-.41979-.18169Zm11.70849 0c-.1521.00464-.2965.06975-.4026.18169l-1.1714 1.19995c-.1531.15047-.2147.37393-.1612.58416.0535.21037.2137.37448.4191.42933.2052.05484.4234-.0083.5703-.1651l1.1713-1.19995c.1733-.17255.2254-.43622.1313-.66417-.0942-.22795-.3153-.37322-.5568-.36591ZM4.08863 13.1944c-.15211.0046-.29652.0697-.40264.1817L2.51461 14.576c-.15306.1505-.2147.3739-.16116.5842.05353.2104.21374.3745.4191.4293.20523.0549.42336-.0083.57025-.1651l1.17138-1.1999c.17325-.1726.22541-.4363.13124-.6642-.09417-.228-.31532-.3732-.55679-.3659Zm9.37727 0c-.2385 0-.4529.1481-.5427.3742-.0896.2263-.0366.4856.1343.6559l1.1714 1.1999c.1468.1568.365.22.5702.1651.2054-.0548.3656-.2189.4191-.4293.0535-.2103-.0081-.4337-.1612-.5842l-1.1713-1.1999c-.1103-.1162-.2617-.1817-.4198-.1817Z" /> 1949 </svg> 1950 </div> 1951 Energy</a 1952 > 1953 </li> 1954 <li> 1955 <a href="https://shop.heartandsoil.co/products/digestive-stack"> 1956 <div class="icon"> 1957 <svg 1958 xmlns="http://www.w3.org/2000/svg" 1959 width="18" 1960 height="18" 1961 fill="none"
1962 viewBox="0 0 18 18" 1963 > 1964 <path fill="#FDEEDA" d="M7.49991 1.5c0 3.45108.59484 4.18936 1.19531 5.01553C8.69522 4.41502 10.125 3.75 10.125 3.75c-.45117-.29883-.37509-2.25-.37509-2.25h-2.25ZM12.75 3.98428c-1.8751 0-3.14072 1.18955-3.14072 3.51563 0 .89943.13191 5.25009-2.34366 5.25009-1.87509 0-1.78129-.6095-3.28134-.6095-1.87495 0-2.48428 3.0938-2.48428 3.0938.07608.1495.59175.7355 1.64053.586.07622-.2989.38095-1.5704 1.42974-1.5704 1.7256 0 2.85932 2.25 4.73442 2.25 3.14941 0 6.13481-1.9599 6.96091-5.8593 1.0488-4.72554-1.6406-6.65632-3.5156-6.65632Z" /> 1965 </svg> 1966 </div> 1967 Digestive Health</a 1968 > 1969 </li> 1970 <li> 1971 <a href="https://shop.heartandsoil.co/products/exercise-performance-stack"> 1972 <div class="icon"> 1973 <svg 1974 xmlns="http://www.w3.org/2000/svg" 1975 width="18" 1976 height="18" 1977 fill="none"
1978 viewBox="0 0 18 18" 1979 > 1980 <path fill="#FDEEDA" d="M14.7 1.7998c-.8284 0-1.4999.67163-1.4999 1.50005 0 .82842.6715 1.49991 1.4999 1.49991s1.5-.67149 1.5-1.49991-.6716-1.50005-1.5-1.50005Zm-5.13155.60118c-.02882.0014-.05737.00492-.08564.01054l-2.99995.60005c-.31753.06286-.5279.36647-.47545.68583.05259.3195.34903.53972.66994.49767l2.88632-.34678.88833.95147-2.57695 2.04848c-.42103.27732-.67458.74742-.675 1.25156.00042.35986.13022.70749.36562.97974l1.65699 2.07186-3.22256.2485h-.0024l-.01406.0011c-.22064-.0068-.42722.1081-.53775.2991-.11053.1911-.10729.4273.00844.6154.11573.1878.32541.2971.54577.2843h4.4636c.6619 0 1.1085-.7339.8426-1.323l.007-.007L10.2 8.79702l1.8738-1.48232.5485 1.24678c.0153.05456.0381.10659.068.15468l.0035.00704h.0012c.1102.17226.3006.27646.5051.2766H15.6c.2163.0038.4179-.10912.5276-.29559.1099-.18633.1107-.41751.0024-.60469-.1083-.18731-.3089-.30178-.5252-.29967l-1.943-.1582-.4817-2.17856c-.0095-.06089-.0229-.12122-.0398-.18043l-.0012-.00126c-.1056-.36183-.3437-.6705-.6667-.86485L9.9622 2.52051c-.11306-.08494-.25256-.12741-.39375-.11953ZM3.60005 5.3998 3 5.99985h3.41142l.75586-.60005H3.60005Zm-1.8 1.8v.60005H5.4293c.02405-.20531.0675-.40626.13711-.60005H1.80005Zm.60005 1.8L3 9.59985h2.87227c-.12769-.189-.23541-.38826-.31163-.60005H2.4001Zm5.9999 4.8-1.0769 1.4356c-.07988.1046-.12319.2327-.12305.3644 0 .3314.26859.6.60005.6.17648.0001.3441-.0775.45815-.2121l.00113-.0012c.00042-.0003.00084-.0007.00126-.0011l1.87956-2.1856H8.4Z" /> 1981 </svg> 1982 </div> 1983 Exercise Performance</a 1984 > 1985 </li> 1986 </ul> 1987 </div> 1988 1989 <div class="rtnu-grid__item"> 1990 <ul> 1991 <li> 1992 <a href="https://shop.heartandsoil.co/products/allergies-stack"> 1993 <div class="icon"> 1994 <svg 1995 xmlns="http://www.w3.org/2000/svg" 1996 width="20" 1997 height="20" 1998 fill="none"
1999 viewBox="0 0 20 20" 2000 > 2001 <path fill="#FDEEDA" d="M3.75 1.875c-.46625 0-.92531.04641-1.36719.13672l.24906 1.22562C2.99078 3.16406 3.36672 3.125 3.75 3.125c2.3975 0 3.76219.64703 4.56047 1.47703C9.10641 5.43219 9.375 6.50875 9.375 7.5v.18797l1.8456 2.76863c.071.1025.0342.2075-.0878.2465l-1.7578.5591v1.8628c0 .4102-.22703.9009-.59812 1.272C8.40328 14.7705 7.915 15 7.5 15H6.25v2.5H7.5v-1.25c.835 0 1.59672-.4003 2.16062-.9692.56638-.5689.96438-1.3258.96438-2.1558v-.9497l.8888-.2808c.8812-.2807 1.2596-1.3647.747-2.13372l-1.6749-2.50984c-.0439-1.16453-.3736-2.47063-1.37699-3.51563C8.13719 2.61969 6.37937 1.875 3.75 1.875Zm3.75 6.25c-.34422 0-.625.28078-.625.625s.28078.625.625.625.625-.28078.625-.625-.28078-.625-.625-.625Zm9.375 2.5c-.3442 0-.625.2808-.625.625s.2808.625.625.625.625-.2808.625-.625-.2808-.625-.625-.625ZM15 11.875c-.3442 0-.625.2808-.625.625s.2808.625.625.625.625-.2808.625-.625-.2808-.625-.625-.625Zm-1.875 1.25c-.3442 0-.625.2808-.625.625s.2808.625.625.625.625-.2808.625-.625-.2808-.625-.625-.625Zm3.75 0c-.3442 0-.625.2808-.625.625s.2808.625.625.625.625-.2808.625-.625-.2808-.625-.625-.625ZM15 14.375c-.3442 0-.625.2808-.625.625s.2808.625.625.625.625-.2808.625-.625-.2808-.625-.625-.625Zm1.875 1.25c-.3442 0-.625.2808-.625.625s.2808.625.625.625.625-.2808.625-.625-.2808-.625-.625-.625Z" /> 2002 </svg> 2003 </div> 2004 Allergies 2005 </a> 2006 </li> 2007 <li> 2008 <a href="https://shop.heartandsoil.co/products/anemia-stack"> 2009 <div class="icon"> 2010 <svg 2011 xmlns="http://www.w3.org/2000/svg" 2012 width="12" 2013 height="16" 2014 fill="none"
2015 viewBox="0 0 12 16" 2016 > 2017 <path fill="#FDEEDA" d="M6.00006.325684c-.09275 0-.18525.0365-.24625.11C5.54168.692059.560059 6.75106.560059 10.2394c0 3 2.440371 5.4407 5.440001 5.4407 2.99962 0 5.44004-2.4404 5.44004-5.44 0-3.48867-4.98129-9.548041-5.19317-9.804416-.061-.0735-.15412-.11-.24687-.11Zm-3.52 9.594376c.177 0 .32.14334.32.32004 0 2.7538 2.806 3.1861 2.92562 3.2031.175.025.29625.1869.27125.3619-.023.1596-.1595.275-.31625.275-.015 0-.03087-.0009-.04625-.0032-.0345-.0047-3.47437-.5341-3.47437-3.8368 0-.1767.143-.32004.32-.32004Z" /> 2018 </svg> 2019 </div> 2020 Anemia 2021 </a> 2022 </li> 2023 <li> 2024 <a href="https://shop.heartandsoil.co/products/autoimmune-issues-stack"> 2025 <div class="icon"> 2026 <svg 2027 xmlns="http://www.w3.org/2000/svg" 2028 width="20" 2029 height="20" 2030 fill="none"
2031 viewBox="0 0 20 20" 2032 > 2033 <path fill="#FDEEDA" d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path 2034 stroke="#FDEEDA" 2035 stroke-linejoin="round" 2036 stroke-miterlimit="10" 2037 stroke-width="2.38889" 2038 d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path 2039 stroke="#FDEEDA" 2040 stroke-miterlimit="10" 2041 stroke-width="2.38889" 2042 d="M8.33301 18.3333V12.5m3.33349 5.8333V12.5" /><path fill="#FDEEDA" d="M11.6664 3.33559c0-.91079-.7462-1.64907-1.66667-1.64907-.92047 0-1.66672.73828-1.66672 1.64907 0 .91093.74625 1.64921 1.66672 1.64921s1.66667-.73828 1.66667-1.64921Z" /><path 2043 stroke="#FDEEDA" 2044 stroke-miterlimit="10" 2045 stroke-width="2.38889" 2046 d="m4.99976 12.4998 2.5-5.8333m5.00004 0 2.5 5.8333" /> 2047 </svg> 2048 </div> 2049 Autoimmune Issues 2050 </a> 2051 </li> 2052 <li> 2053 <a href="https://shop.heartandsoil.co/products/joint-mobility-stack"> 2054 <div class="icon"> 2055 <svg 2056 xmlns="http://www.w3.org/2000/svg" 2057 width="18" 2058 height="18" 2059 fill="none"
2060 viewBox="0 0 18 18" 2061 > 2062 <g clip-path="url(#bone-health)"><path fill="#FDEEDA" d="M3.8138.359953c-.03642-.001125-.07313.008297-.10477.029531L1.56099 1.82175c-.05541.03713-.08593.10209-.07875.16875.00759.06666.0509.12277.1132.14695.05766.02264 5.77167 2.28136 6.29156 5.45836.06117.3773.37125.64617.73266.64617.0187 0 .03712-.00098.05625-.00281.3517-.02658 1.00701-.216 1.61509-.56883.563-.32681.8878-.9104.8683-1.56093-.0194-.64477-.3746-1.20263-.9499-1.49203C7.98108 3.49744 3.9578.427172 3.91716.396516 3.8865.373172 3.85022.361078 3.8138.359953Zm8.1211 3.963517c-.0871.00478-.1761.01434-.2665.02953-.0554.009-.1031.04458-.1287.09492-.0258.05035-.0263.10955-.0007.16031.6672 1.33411.3492 2.34746.346 2.35758-.0176.05442-.0082.11419.0253.16032.0335.04612.0873.07382.1441.07382.684 0 1.219-.28336 1.4689-.77765.2347-.46294.1797-1.04316-.14-1.47797-.3193-.43467-.8388-.65419-1.4484-.62086Zm-.7306 3.9607c-.1584.01589-.3092.08367-.426.19406-.5145.48643-1.57913.6113-2.38153.63-.21966.00507-.40472.15357-.46055.36915-.05541.21557.03361.43748.22219.55192.35142.2139.68779.4198.80156.4971.702.4766.70861.5638.76148 1.2439.01013.1303.02138.2797.03868.4479l.41207 5.6095c.0071.0972.0863.1723.1821.1723h1.8274c.0496 0 .0966-.0203.1308-.0556.0341-.0364.0527-.0854.0513-.1357l-.1948-6.2592c.8972-1.2017.1754-2.28517-.2144-2.87158l-.0317-.04851c-.1271-.19182-.3307-.31655-.5582-.34313-.0536-.00647-.1075-.00745-.1604-.00211ZM8.78841 11.515c-.19871.0096-.35199.1782-.34242.3769l.19406 5.76c.00661.1989.17311.3545.37195.3479.19884-.0066.35466-.173.34805-.3718l-.19406-5.76c-.00183-.0973-.04304-.1898-.11405-.2564-.07116-.0665-.16622-.1013-.26353-.0966Z" /></g> 2063 <defs> 2064 <clipPath id="bone-health"><path fill="#fff" d="M0 0h18v18H0z" /></clipPath></defs> 2065 </svg> 2066 </div> 2067 Bone & Joint Health</a 2068 > 2069 </li> 2070 <li> 2071 <a href="https://shop.heartandsoil.co/products/exercise-recovery-stack"> 2072 <div class="icon"> 2073 <svg 2074 xmlns="http://www.w3.org/2000/svg" 2075 width="20" 2076 height="20" 2077 fill="none"
2078 viewBox="0 0 20 20" 2079 > 2080 <path fill="#FDEEDA" d="M8.99994 1.3335c-.92047 0-1.66672.74625-1.66672 1.66671 0 .92047.74625 1.66672 1.66672 1.66672s1.66676-.74625 1.66676-1.66672c0-.92046-.74629-1.66671-1.66676-1.66671Zm-.66672 4.66672c-.92062 0-1.66656.74593-1.66656 1.66671v3.33327c0 .3953.14359.7544.37359 1.0403-.00062.0008 2.00532 2.3907 2.00532 2.3907l.95437 3.6276.00906.0508c.0347.2391.1959.4406.4214.527.2256.0864.4802.0441.6656-.1106.1855-.1548.2728-.3978.2282-.6352l-.6668-4c-.0082-.05-.0221-.0989-.0415-.1457l-.0014-.0105-.81643-1.9544.16406-1.89327 1.71097-.34109c.2448.27625.5976.45436.9936.45436.7332 0 1.3332-.59998 1.3332-1.33327 0-.73343-.6-1.33343-1.3332-1.33343-.5832 0-1.0766.38109-1.2566.905l-1.41016.2825v-.85407c0-.92078-.74594-1.66671-1.66672-1.66671ZM6.58979 13.5771l-1.14454 3.97-.07937.25c-.11266.3506.08031.7253.43094.8372.06797.022.13578.0326.20312.0326.26531 0 .50672-.1634.61063-.4167l1.35156-2.694-.13016-.4974-.81125-.9661-.43093-.5156Z" /> 2081 </svg> 2082 </div> 2083 Exercise Recovery</a 2084 > 2085 </li> 2086 <li> 2087 <a href="https://shop.heartandsoil.co/products/female-vitality-stack"> 2088 <div class="icon"> 2089 <svg 2090 xmlns="http://www.w3.org/2000/svg" 2091 width="20" 2092 height="20" 2093 fill="none"
2094 viewBox="0 0 20 20" 2095 > 2096 <path fill="#FDEEDA" d="M10 .833496c-3.21169 0-5.83325 2.621564-5.83325 5.833434 0 2.92813 2.18125 5.35887 5 5.76657v2.5667h-2.5v1.6667h2.5v2.5h1.66655v-2.5h2.5v-1.6667h-2.5v-2.5667c2.8188-.4077 5-2.83844 5-5.76657 0-3.21187-2.6216-5.833434-5.8333-5.833434Zm0 1.666714c2.3111 0 4.1667 1.85563 4.1667 4.16672 0 2.31094-1.8556 4.16657-4.1667 4.16657-2.31106 0-4.16669-1.85563-4.16669-4.16657 0-2.31109 1.85563-4.16672 4.16669-4.16672Z" /> 2097 </svg> 2098 </div> 2099 Female Fertility</a 2100 > 2101 </li> 2102 </ul> 2103 </div> 2104 2105 <div class="rtnu-grid__item"> 2106 <ul> 2107 <li> 2108 <a href="https://shop.heartandsoil.co/products/heart-health-stack"> 2109 <div class="icon"> 2110 <svg 2111 xmlns="http://www.w3.org/2000/svg" 2112 width="18" 2113 height="18" 2114 fill="none"
2115 viewBox="0 0 18 18" 2116 > 2117 <path fill="#FDEEDA" d="M12.375 2.625c-1.2825 0-2.415.6172-3.37505 1.836-.96004-1.2188-2.0925-1.836-3.375-1.836C3.35063 2.625 1.5 4.47562 1.5 6.74995c0 2.15705 2.62913 4.61475 5.17163 6.99145.68512.6406 1.332 1.2451 1.9305 1.8439.10575.1054.24862.1647.39782.1647.14921 0 .29208-.0593.39783-.1647.59892-.5988 1.24582-1.2033 1.93052-1.8439 2.5425-2.3767 5.1716-4.8344 5.1716-6.99145 0-2.27433-1.8506-4.12495-4.1249-4.12495Zm.9375 5.0625h-.7501v.74995c0 .3105-.2516.5625-.5625.5625-.3108 0-.5625-.252-.5625-.5625V7.6875h-.7499c-.311 0-.5625-.252-.5625-.5625s.2515-.5625.5625-.5625h.7499v-.75009c0-.3105.2517-.5625.5625-.5625.3109 0 .5625.252.5625.5625v.75009h.7501c.3108 0 .5625.252.5625.5625s-.2517.5625-.5625.5625Z" /> 2118 </svg> 2119 </div> 2120 Heart Health</a 2121 > 2122 </li> 2123 <li> 2124 <a href="https://shop.heartandsoil.co/products/histamine-intolerance-stack"> 2125 <div class="icon"> 2126 <svg 2127 xmlns="http://www.w3.org/2000/svg" 2128 width="20" 2129 height="20" 2130 fill="none"
2131 viewBox="0 0 20 20" 2132 > 2133 <path fill="#FDEEDA" d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path stroke="#FDEEDA" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2.38889" d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path stroke="#FDEEDA" stroke-miterlimit="10" stroke-width="2.38889" d="M8.33301 18.3333V12.5m3.33349 5.8333V12.5" /><path fill="#FDEEDA" d="M11.6664 3.33559c0-.91079-.7462-1.64907-1.66667-1.64907-.92047 0-1.66672.73828-1.66672 1.64907 0 .91093.74625 1.64921 1.66672 1.64921s1.66667-.73828 1.66667-1.64921Z" /><path stroke="#FDEEDA" stroke-miterlimit="10" stroke-width="2.38889" d="m4.99976 12.4998 2.5-5.8333m5.00004 0 2.5 5.8333" /> 2134 </svg> 2135 </div> 2136 Histamine Intolerance</a 2137 > 2138 </li> 2139 <li> 2140 <a href="https://shop.heartandsoil.co/products/male-fertility-stack"> 2141 <div class="icon"> 2142 <svg 2143 xmlns="http://www.w3.org/2000/svg" 2144 width="18" 2145 height="18" 2146 fill="none"
2147 viewBox="0 0 18 18" 2148 > 2149 <path fill="#FDEEDA" d="M10.0799 1.43994v1.44h4.0275l-3.9937 3.99375c-.90985-.6975-2.0447-1.11375-3.27376-1.11375-2.97422 0-5.4 2.42578-5.4 5.39996 0 2.9743 2.42578 5.4 5.4 5.4 2.97422 0 5.39996-2.4257 5.39996-5.4 0-1.22902-.4162-2.36387-1.1137-3.27371l3.9937-3.99375v4.0275h1.44v-6.48h-6.48Zm-3.23996 5.76c2.19516 0 3.95996 1.76484 3.95996 3.95996 0 2.1952-1.7648 3.96-3.95996 3.96-2.19516 0-3.96-1.7648-3.96-3.96 0-2.19512 1.76484-3.95996 3.96-3.95996Z" /> 2150 </svg> 2151 </div> 2152 Male Fertility</a 2153 > 2154 </li> 2155 <li> 2156 <a href="https://shop.heartandsoil.co/products/mood-stack"> 2157 <div class="icon"> 2158 <svg 2159 xmlns="http://www.w3.org/2000/svg" 2160 width="20" 2161 height="20" 2162 fill="none" 2163 viewB
2163ox="0 0 20 20" 2164 > 2165 <path fill="#FDEEDA" d="M8 2c-.73672 0-1.33328.59672-1.33328 1.33328 0 .01141.0039.0225.0039.03391-.11203-.01266-.22203-.03391-.33734-.03391-1.65656 0-3 1.34344-3 3 0 .31406.06109.61063.1511.89453C2.58969 7.82594 2 8.84328 2 10c0 1.1567.58969 2.1741 1.48438 2.7722-.09001.2839-.1511.5805-.1511.8945 0 1.5533 1.18531 2.8147 2.69797 2.9688C6.17391 17.4108 6.85 18 7.66672 18c.92062 0 1.66656-.7459 1.66656-1.6667V16c0-.7353-.59797-1.3333-1.33328-1.3333-.36859 0-.66672-.2987-.66672-.6667 0-.368.29813-.6667.66672-.6667.48797 0 .93937.1419 1.33328.3711V7.98047c-.55656.42672-1.24594.68625-2 .68625-.36859 0-.66656-.29875-.66656-.66672 0-.36797.29797-.66672.66656-.66672 1.10266 0 2-.89734 2-2v-2C9.33328 2.59672 8.73672 2 8 2Zm4 0c-.7367 0-1.3333.59672-1.3333 1.33328v2c0 1.10266.8974 2 2 2 .3686 0 .6666.29875.6666.66672 0 .36797-.298.66672-.6666.66672-.754 0-1.4434-.25891-2-.685v8.35158c0 .9208.746 1.6667 1.6666 1.6667.8167 0 1.4928-.5892 1.6355-1.3645 1.4779-.1508 2.6348-1.3613 2.6874-2.866-.4146.1467-.8582.2305-1.3229.2305-.3686 0-.6666-.2986-.6666-.6667 0-.368.298-.6666.6666-.6666C16.8041 12.6667 18 11.4706 18 10c0-1.15672-.5897-2.17406-1.4844-2.77219.09-.2839.1511-.58047.1511-.89453 0-1.65656-1.3434-3-3-3-.1153 0-.2253.02125-.3373.03391 0-.01141.0039-.0225.0039-.03391C13.3333 2.59672 12.7367 2 12 2Z" /> 2166 </svg> 2167 </div> 2168 Mood</a 2169 > 2170 </li> 2171 <li> 2172 <a href="https://shop.heartandsoil.co/products/immune-support-stack"> 2173 <div class="icon"> 2174 <svg 2175 xmlns="http://www.w3.org/2000/svg" 2176 width="18" 2177 height="18" 2178 fill="none"
2179 viewBox="0 0 18 18" 2180 > 2181 <path fill="#FDEEDA" d="M8.54991.242676c-.1837 0-.36739.045562-.53438.136969L2.07061 3.50166c-.33398.16875-.54773.52031-.58781.91406C1.08202 9.71729 3.00577 13.1204 4.68905 15.047c1.52297 1.7437 3.21961 2.6718 3.87422 2.6718.45421 0 1.89703-.6187 3.32643-2.1234 1.71-1.7859 3.7407-5.147 3.7407-11.06732 0-.43594-.2271-.82954-.5878-1.02642L9.08428.379645C8.91729.288238 8.7336.242676 8.54991.242676Zm0 3.976174c.22711 0 .40078.18281.40078.42187v.88608c.3607.07031.69469.2108.98859.4358l.62792-.66108c.1603-.16875.4142-.16875.5612 0 .1603.16875.1603.43608 0 .59077l-.628.66093c.2004.30938.3472.66094.414 1.04063h.8418c.2271 0 .4007.18281.4007.42187 0 .23907-.1736.42188-.4007.42188h-.8418c-.0668.37969-.2003.73125-.414 1.04062l.628.66098c.1603.1687.1603.436 0 .5907-.0802.0844-.1873.1263-.2808.1263s-.2003-.0419-.2804-.1263l-.62792-.6611c-.2939.211-.62789.3655-.98859.4358v.8861c0 .2391-.17367.4219-.40078.4219-.22711 0-.40078-.1828-.40078-.4219v-.8861c-.36071-.0703-.69469-.2108-.9886-.4358l-.62789.6611c-.08016.0844-.1869.1263-.28041.1263-.10688 0-.20066-.0419-.28082-.1263-.16031-.1687-.16031-.4361 0-.5907l.62803-.66098c-.20039-.30937-.34721-.66093-.41401-1.04062h-.84177c-.22711 0-.40078-.18281-.40078-.42188 0-.23906.17367-.42187.40078-.42187h.84177c.0668-.37969.20026-.73125.41401-1.04063l-.62803-.66093c-.16031-.16875-.16031-.43608 0-.59077.16032-.16875.41428-.16875.56123 0l.62789.66108c.29391-.21094.62789-.36549.9886-.4358v-.88608c0-.23906.17367-.42187.40078-.42187Zm0 2.10937c-.88533 0-1.60313.75558-1.60313 1.6875 0 .93193.7178 1.6875 1.60313 1.6875.88532 0 1.60309-.75557 1.60309-1.6875 0-.93192-.71777-1.6875-1.60309-1.6875Z" /> 2182 </svg> 2183 </div> 2184 Immune Support</a 2185 > 2186 </li> 2187 <li> 2188 <a href="https://shop.heartandsoil.co/products/prenatal-health-stack"> 2189 <div class="icon"> 2190 <svg 2191 xmlns="http://www.w3.org/2000/svg" 2192 width="20" 2193 height="20" 2194 fill="none"
2195 viewBox="0 0 20 20" 2196 > 2197 <path fill="#FDEEDA" d="M10 2c-1.82063 0-3.49391.61594-4.83859 1.64062.65672.31407 1.50531.8761 1.50531 1.69266 0 .62875-.3725 1.17906-.73188 1.71094-.30922.45734-.60156.88984-.60156 1.28906 0 .90266 1.16531 1 1.66672 1 .99203 0 1.70656.41984 2.19656.92722-.51469-.79269-.52984-1.53784-.52984-1.59378 0-.36813.29797-.66672.66656-.66672.36609 0 .66266.29422.66672.65891.0041.14.0864 1.20656 1.5091 1.80989.1687-.2027.2995-.4055.4375-.60818C11.1992 9.57141 10.6667 8.85 10.6667 8c0-1.10469.8953-2 2-2s2 .89531 2 2c0 .71469-.3775 1.33734-.9414 1.69141C13.87 10.1647 14 10.7453 14 11.3333 14 12.6667 12.6667 14 10.6667 14c-1.00201 0-1.66936-.6692-2.08592-1.3372l-.69281 1.0403c-.12391.1853-.33203.2969-.55469.2969h-.66656C6.29797 14 6 13.7014 6 13.3333c0-.368.29797-.6666.66672-.6666h.30984s.84031-1.2631 1.10031-1.6511c.26-.3879.59501-.3476.59766-.3476C8.31109 10.3094 7.77531 10 7 10c-1.43938 0-2.33328-.63859-2.33328-1.66672 0-.60391.36344-1.14203.71484-1.66266C5.69953 6.20125 6 5.75797 6 5.33328c0-.52266-.83953-.98016-1.40891-1.21484C3.00187 5.58047 2 7.67062 2 10c0 4.418 3.58203 8 8 8 4.418 0 8-3.582 8-8 0-4.41797-3.582-8-8-8Zm-.40234 8.763c.00203.0026.00453.0065.00656.0092h.0025c-.00266-.0034-.00641-.0058-.00906-.0092Z" /> 2198 </svg> 2199 </div> 2200 Prenatal Health</a 2201 > 2202 </li> 2203 </ul> 2204 </div> 2205 2206 <div class="rtnu-grid__item"> 2207 <ul> 2208 <li> 2209 <a href="https://shop.heartandsoil.co/products/skin-hair-nails-stack"> 2210 <div class="icon"> 2211 <svg 2212 xmlns="http://www.w3.org/2000/svg" 2213 width="18" 2214 height="18" 2215 fill="none"
2216 viewBox="0 0 18 18" 2217 > 2218 <g clip-path="url(#skin-hair-nails)"><path fill="#FDEEDA" d="M12.24 0C9.21656 3.96 7.56 13.2483 7.56 14.04c0 .7917.64828 1.44 1.44 1.44s1.44-.6483 1.44-1.44C10.44 12.6 9 8.46 12.24 0ZM.36 10.44c-.198281 0-.36.1603-.36.36v6.84c0 .1997.161719.36.36.36h17.28c.1997 0 .36-.1603.36-.36V10.8c0-.1997-.1603-.36-.36-.36h-5.58c-.6483 0-1.1883.578-1.08 1.2262.1083.8283.2137 2.1572.2137 2.3738 0 1.1883-.9717 2.16-2.15995 2.16-1.18828 0-2.16-.9717-2.16-2.16 0-.2883.18-1.4709.36-2.2275.18-.6834-.36-1.3725-1.08-1.3725H.36Z" /></g> 2219 <defs> 2220 <clipPath id="skin-hair-nails"><path fill="#fff" d="M0 0h18v18H0z" /></clipPath> 2221 </defs> 2222 </svg> 2223 </div> 2224 Skin, Hair, & Nails 2225 </a> 2226 </li> 2227 <li> 2228 <a href="https://shop.heartandsoil.co/products/sleep-stack"> 2229 <div class="icon"> 2230 <svg 2231 xmlns="http://www.w3.org/2000/svg" 2232 width="20" 2233 height="20" 2234 fill="none"
2235 viewBox="0 0 20 20" 2236 > 2237 <path fill="#FDEEDA" d="M3.125 2.5v1.25h5.09766L3.32031 8.59375l-.19531.19531V10H10V8.75H4.94141l4.86328-4.80469L10 3.76953V2.5H3.125Zm8.125 3.75V7.5h3.8477l-3.6524 3.5938-.1953.1953V12.5h5.625v-1.25h-3.8086l3.6133-3.55469.1953-.17578V6.25H11.25ZM5 11.875v1.25h3.22266l-3.02735 2.9688L5 16.2891V17.5h5v-1.25H6.81641l2.98828-2.9297L10 13.1445V11.875H5Z" /> 2238 </svg> 2239 </div> 2240 Sleep 2241 </a> 2242 </li> 2243 <li> 2244 <a href="https://shop.heartandsoil.co/products/stress-support-stack"> 2245 <div class="icon"> 2246 <svg 2247 xmlns="http://www.w3.org/2000/svg" 2248 width="19" 2249 height="20" 2250 fill="none" 2251 viewBox="0 0 19 20" 2252 > 2253 <path fill="#FDEEDA" d="M9.37495 2.77783c-.8625 0-1.56255.74656-1.56255 1.66656s.70005 1.66672 1.56255 1.66672c.86255 0 1.56255-.74672 1.56255-1.66672 0-.92-.7-1.66656-1.56255-1.66656ZM8.02246 6.94439c-.77021 0-1.47788.45344-1.8397 1.17907L4.83394 10.83c-.09068.1649-.14649.3541-.14649.5589 0 .6136.46641 1.1111 1.04165 1.1111h1.3021v.5556l-1.89419 1.2696c-.41968.2304-.71001.6922-.71001 1.2304 0 .7669.58316 1.3888 1.3021 1.3888h1.51362c-.13359-.2455-.21152-.5297-.21152-.8333 0-.9192.70078-1.6667 1.56255-1.6667h1.75785v.8334H8.59375c-.43081 0-.78135.3739-.78135.8333 0 .4595.35054.8333.78135.8333h4.42705c.7189 0 1.3021-.6219 1.3021-1.3888 0-.5382-.2903-1-.71-1.2304l-1.8942-1.2696V12.5h1.3021c.5752 0 1.0417-.4975 1.0417-1.1111 0-.2048-.0559-.394-.1465-.5589l-1.3489-2.70654c-.3618-.72563-1.0696-1.17907-1.8397-1.17907H8.02246ZM9.37495 8.3333l1.14595 1.52781c.1011.13469.1562.30219.1562.47469v.7753h-.4309c-.1349 0-.2585-.0815-.31886-.2105l-.55239-1.17839-.55239 1.17839c-.06035.129-.18399.2105-.3189.2105h-.43081v-.7753c0-.1725.05508-.33937.15615-.47406L9.37495 8.3333Z" /> 2254 </svg> 2255 </div> 2256 Stress Support 2257 </a> 2258 </li> 2259 <li> 2260 <a href="https://shop.heartandsoil.co/products/thyroid-health-stack"> 2261 <div class="icon"> 2262 <svg 2263 xmlns="http://www.w3.org/2000/svg" 2264 width="20" 2265 height="20" 2266 fill="none"
2267 viewBox="0 0 20 20" 2268 > 2269 <path fill="#FDEEDA" d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path 2270 stroke="#FDEEDA" 2271 stroke-linejoin="round" 2272 stroke-miterlimit="10" 2273 stroke-width="2.38889" 2274 d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path 2275 stroke="#FDEEDA" 2276 stroke-miterlimit="10" 2277 stroke-width="2.38889" 2278 d="M8.33301 18.3333V12.5m3.33349 5.8333V12.5" /><path fill="#FDEEDA" d="M11.6664 3.33559c0-.91079-.7462-1.64907-1.66667-1.64907-.92047 0-1.66672.73828-1.66672 1.64907 0 .91093.74625 1.64921 1.66672 1.64921s1.66667-.73828 1.66667-1.64921Z" /><path 2279 stroke="#FDEEDA" 2280 stroke-miterlimit="10" 2281 stroke-width="2.38889" 2282 d="m4.99976 12.4998 2.5-5.8333m5.00004 0 2.5 5.8333" /> 2283 </svg> 2284 </div> 2285 Thyroid Health 2286 </a> 2287 </li> 2288 <li> 2289 <a href="https://shop.heartandsoil.co/products/warrior-stack"> 2290 <div class="icon"> 2291 <svg 2292 xmlns="http://www.w3.org/2000/svg" 2293 width="17" 2294 height="18" 2295 fill="none"
2296 viewBox="0 0 17 18" 2297 > 2298 <path fill="#FDEEDA" d="M9.79195 8.13787c-.085-.34087-.15871-.88382-.15871-1.19109 0-1.24073.86646-2.74669 2.97726-2.74669 1.9619 0 2.6844 1.7543 2.6844 3.19318 0 2.15817-2.2617 4.00683-2.2617 4.00683s-.5235 3.6-4.53325 3.6c-1.55829 0-1.65126-.2533-2.10521-.2533-.45382 0-.8828.2533-1.1548.2533-.40973 0-1.97028-1.467-2.51375-3.0499-.88293-2.30159-1.02624-4.15911-1.02624-5.0352 0-1.332.2295-2.15761.75252-2.90573C2.94666 3.30248 3.41018 3 3.96666 3c.55649 0 .79781.21727 1.20528.5767.33946.288.476.46069.68.70552.17.24483.01354.76317-.17 1.00083-.12299.15904-.5707 1.15917-1.59694.46743-.30653-.24426-.40176.19139-.40176.51722 0 .32569.08168 1.28278 1.01323 2.15817C5.6474 9.28931 5.9194 10.08 6.1914 10.7275c.13534-.6475.61134-3.02106 3.60055-2.58963Z" /> 2299 </svg> 2300 </div> 2301 Warrior 2302 </a> 2303 </li> 2304 </ul> 2305 </div> 2306 </div> 2307 </div> 2308 <div class="rtnu-header__dropdown-health-connect"> 2309 <p>GET EXPERT SUPPORT</p> 2310 <button type="button" data-fancybox data-src="#klaviyo-form"> 2311 Connect with our Health Success Team 2312 <span> 2313 <svg 2314 xmlns="http://www.w3.org/2000/svg" 2315 width="23" 2316 height="9" 2317 fill="none"
2318 viewBox="0 0 23 9" 2319 > 2320 <path fill="#F2862A" d="M22.6272 4.31371 18.6175 1.6406l-1.7124 1.71246-15.96557.02088v1.87953l15.96557.02088 1.7124 1.71246 4.0097-2.6731ZM8.01908.304053 6.68253 1.6406l.77269.7727h2.67308L8.01908.304053ZM10.1283 6.21412H7.45522l-.77269.77269 1.33655 1.33655 2.10922-2.10924ZM4.00942.304052 2.67287 1.6406l.7727.7727h2.6731L4.00942.304052ZM6.11867 6.21412h-2.6731l-.7727.77269 1.33655 1.33655 2.10925-2.10924Z" /> 2321 </svg> 2322 </span> 2323 </button> 2324 </div> 2325 </div> 2326 </section> 2327 2328 <section id="rtnu-nav-panel-learn-rtnu-nav-1" class="rtnu-nav-panel rtnu-nav-panel--legacy" data-menu-section="learn" hidden> 2329 <div class="rtnu-header__dropdown rtnu-header__dropdown-learn"> 2330 <div class="rtnu-wrapper"> 2331 <div class="rtnu-grid"> 2332 <a href="https://heartandsoil.co/our-story/" class="rtnu-grid__item"> 2333 <div class="icon"> 2334 <svg xmlns="http://www.w3.org/2000/svg" width="40" height="35" fill="none" viewBox="0 0 40 35"> 2335 <path fill="currentColor" fill-rule="evenodd" d="M39.982 8.084a9 9 0 0 0-1.078-3.625 7 7 0 0 0-.548-.844 8 8 0 0 0-.606-.716 10 10 0 0 0-1.376-1.194 9.8 9.8 0 0 0-3.21-1.479c-1.142-.278-2.35-.315-3.471-.024a5.8 5.8 0 0 0-1.57.67 6 6 0 0 0-1.263 1.066c.909-.6 1.937-.937 2.95-.97 1.015-.044 2.006.193 2.904.607a8.2 8.2 0 0 1 2.405 1.67c.344.337.656.703.922 1.083q.197.29.357.587c.108.198.199.405.257.566.31.88.474 1.814.418 2.649a4.4 4.4 0 0 1-.777 2.225c-.45.642-1.089 1.188-1.848 1.631-.373.22-.803.424-1.195.59-.156.07-.502.204-.68.267l-.757.285c-1.015.383-2.032.755-3.054 1.166-1.02.41-2.05.829-3.114 1.348-1.05.51-2.208 1.205-3.186 2.084-.234.198-.513.472-.712.668l-.284.289-.337.374c-.4.435-.77.916-1.128 1.412a16 16 0 0 0-1.132-1.412l-.335-.374-.286-.29c-.2-.195-.476-.47-.712-.667-.978-.879-2.134-1.575-3.184-2.084-1.065-.52-2.095-.937-3.114-1.348-1.022-.411-2.041-.783-3.052-1.166l-.76-.285a12 12 0 0 1-.677-.267 10 10 0 0 1-1.197-.59c-.76-.444-1.398-.99-1.848-1.631a4.4 4.4 0 0 1-.777-2.225c-.054-.835.108-1.768.418-2.65.06-.16.149-.367.257-.565a6 6 0 0 1 .357-.587c.266-.38.578-.746.922-1.083a8.2 8.2 0 0 1 2.407-1.67c.898-.414 1.89-.65 2.902-.607 1.013.033 2.041.37 2.952.97A6 6 0 0 0 11.876.872a5.9 5.9 0 0 0-1.569-.67c-1.121-.291-2.329-.254-3.47.024a9.8 9.8 0 0 0-3.211 1.48c-.487.35-.95.745-1.377 1.193a8 8 0 0 0-.606.716 7 7 0 0 0-.547.844 9 9 0 0 0-1.08 3.625 7.8 7.8 0 0 0 .134 2.03 7 7 0 0 0 .72 1.946c.662 1.22 1.625 2.203 2.65 2.96.527.385 1.04.712 1.615 1.01.332.173.483.247.801.395l.73.344 2.9 1.379c.952.459 1.891.924 2.738 1.407.861.49 1.545.964 2.147 1.562.166.158.266.274.443.465l.273.302.195.237c.298.348.552.714.792 1.075.455.733.81 1.481.976 2.203.173.722.177 1.414.009 2.04-.15.58-.45 1.107-.853 1.555a19 19 0 0 0-.275-2.114 10 10 0 0 0-.539-1.818 7.6 7.6 0 0 0-1.021-1.792 6.8 6.8 0 0 0-2.433-1.982l-.227-.108-.26-.111-.125-.055c-.033-.008-.057-.021-.091-.024-.076.016-.219.166-.52.646l-1.108 2.28c-.193.537-.225.74-.19.809.021.026.05.039.075.059l.035.032.151.15q.169.166.303.337c.184.224.319.46.448.705.247.496.44 1.098.59 1.853q.106.564.177 1.222l.13 1.44c.023.266.051.548.099.87.048.32.104.67.255 1.144.08.242.182.511.37.833.189.318.485.712.94 1.038.45.328 1.028.524 1.489.57.467.052.833.004 1.138-.053l.089-.017.095-.028a8.6 8.6 0 0 0 4.121-2.643q.136.16.277.311a8.6 8.6 0 0 0 3.842 2.332l.095.028.089.017c.305.057.67.105 1.138.053a3.2 3.2 0 0 0 1.49-.57c.454-.327.75-.72.939-1.038.188-.322.29-.591.37-.833a6.6 6.6 0 0 0 .255-1.144c.048-.322.076-.604.1-.87l.13-1.44q.069-.658.177-1.222c.15-.755.342-1.357.589-1.853a4 4 0 0 1 .75-1.042l.152-.15.035-.032c.026-.02.052-.033.075-.06.033-.069.003-.271-.19-.808l-1.108-2.28c-.303-.48-.444-.63-.52-.645-.032.002-.058.015-.09.023l-.126.055-.257.11-.23.11a6.6 6.6 0 0 0-.894.522 6.8 6.8 0 0 0-1.539 1.459 7.6 7.6 0 0 0-1.023 1.792 10 10 0 0 0-.537 1.818c-.147.742-.22 1.458-.275 2.114a3.7 3.7 0 0 1-.853-1.555c-.168-.626-.164-1.318.009-2.04.167-.722.52-1.47.976-2.203.24-.361.494-.727.792-1.074l.195-.238.27-.302c.18-.191.28-.307.446-.465.602-.598 1.286-1.073 2.145-1.562.846-.483 1.788-.948 2.74-1.407l2.9-1.38.732-.343c.316-.148.467-.222.799-.396.575-.297 1.09-.624 1.612-1.009 1.028-.757 1.989-1.74 2.653-2.96.33-.609.58-1.27.719-1.946a7.6 7.6 0 0 0 .132-2.03" clip-rule="evenodd"/> 2336 </svg> 2337 </div> 2338 <div class="text"> 2339 <h2>Our Story</h2> 2340 <p>Learn about how we're helping people reclaim their health and vitality.</p> 2341 </div> 2342 </a> 2343 <a href="https://heartandsoil.co/blog/" class="rtnu-grid__item"> 2344 <div class="icon"> 2345 <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none" viewBox="0 0 231 204">
2346 <path fill="currentColor" d="M228 12C228 5.4 223.3.8 216.7.8h-8.5v22.5h8.5c6.6 0 11.3-4.6 11.3-11.3m-6 0c0 3-1.8 6-5.8 6h-2V6h2c4 0 5.7 3 5.7 6Zm-11.3 51.1a65.3 65.3 0 0 0-50.2-24.6c-19 0-36.9 8.7-50.2 24.6A85.8 85.8 0 0 0 93 97a68.8 68.8 0 0 0-30.5-19.7L101.8 59V40H0v19h57.5L0 86v25.8a51.5 51.5 0 0 1 40.6-19h.4c25.8 0 47.1 18.1 49.6 41.4l.3 4.8c0 25.5-22.5 46.1-50.2 46.1A51.5 51.5 0 0 1 0 166v24.5a71.3 71.3 0 0 0 41 13 68.8 68.8 0 0 0 61.2-36.3c2.4 4.1 5 8 8 11.6a65.3 65.3 0 0 0 50.3 24.6c19 0 36.9-8.7 50.2-24.6 13-15.5 20.2-36 20.2-57.8s-7.1-42.4-20.2-57.9M213 121c0 35-23.5 63.6-52.4 63.6s-52.3-28.5-52.3-63.6c0-35.2 23.4-63.7 52.3-63.7S213 85.8 213 121M196.4 18.3v-3.7h8v-5h-8V5.8h8v-5h-13.9v22.5h13.1l1-5zM177 6.5c0-1 .7-1.6 2-1.6 1.6 0 2.4.9 2.4 2.6V8h6v-.5c0-4.5-3.3-7.3-8.3-7.3-4.9 0-8 2.6-8 6.8 0 3 1.6 5.2 4.6 6.3l3.8 1.5c1.7.7 2.2 1.2 2.2 2.3 0 1.5-1.2 1.8-2.3 1.8-1.9 0-3-1-3-3.2v-.5h-5.8v.5c0 5.2 3.3 8.2 8.8 8.2 5 0 8.2-2.8 8.2-7.1 0-3.2-1.5-5.3-4.5-6.6l-3.5-1.4c-2-.8-2.6-1.4-2.6-2.3m-15.1 16.8h5.8V9a8.6 8.6 0 1 0-17.3 0v14.3h5.9v-6h5.6zm0-11.1h-5.6V9a2.8 2.8 0 0 1 4.8-2c.5.5.8 1.3.8 2zm-17.4-.5a5 5 0 0 0 2.8-4.8c0-3.8-2.8-6.1-7.3-6.1h-9.2v22.5h9.5c4.5 0 7.3-2.5 7.3-6.5a5.3 5.3 0 0 0-3-5Zm-3.1-4.2c0 1.3-1 2-2.5 2h-2.2v-4h2.2c1.6 0 2.5.7 2.5 2m.2 8.8c0 1.5-.8 2.3-2.4 2.3h-2.5V14h2.5c1.5 0 2.4.8 2.4 2Zm-23.8-2h8.4V9.4h-8.4v4.8Zm-1.4 9 .9-5.4h-7.9V.8h-5.9v22.5h13Zm-22.7.1h5.9V9A9 9 0 0 0 97 2.8 8.6 8.6 0 0 0 82.1 9v14.3h6v-6h5.5v6Zm0-11.1H88V9a2.8 2.8 0 0 1 4.8-2c.5.5.8 1.3.8 2v3.2Zm-21.2 11H78V.9h-6.4L66.4 15 61.2.8h-6.6v22.5h5.7V11.8l4 11.5h4.3L72.4 12v11.3Zm-28.3 0h6V.9h-6v22.5Zm-10.3 0h5.8V.9H34V13L27.5 1V.8h-6v22.5h5.8V10.9l6.4 12.3h.1Zm-22.3.1h5.8V9A8.6 8.6 0 1 0 0 9v14.3h5.9v-6h5.6v6Zm0-11.1H5.9V9a2.8 2.8 0 0 1 4.8-2c.5.5.8 1.3.8 2v3.2Z"/> 2347 </svg> 2348 </div> 2349 <div class="text"> 2350 <h2>Animal-based Blog</h2> 2351 <p>Learn the science behind why animal foods can improve your health!</p> 2352 </div> 2353 </a> 2354 <a href="https://heartandsoil.co/newsletter/" class="rtnu-grid__item"> 2355 <div class="icon"> 2356 <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none" viewBox="0 0 40 40"> 2357 <path fill="currentColor" d="M20 2.4c-.748 0-2.126.154-3.314 1.169-.367.277-1.187 1-2.377 2.03H8.8a.8.8 0 0 0-.8.8v4.771c-2.822 2.497-5.332 4.733-5.332 4.733a.8.8 0 0 0-.267.597v20.3a.8.8 0 0 0 .8.8h33.6a.8.8 0 0 0 .8-.8V16.5a.8.8 0 0 0-.267-.597S34.823 13.667 32 11.17V6.4a.8.8 0 0 0-.8-.8h-5.558c-1.145-1.03-1.964-1.756-2.33-2.033C22.125 2.554 20.747 2.4 20 2.4M20 4c.512 0 1.51.127 2.28.787l.04.033c.047.036.638.562.89.78h-6.44c.254-.217.864-.745.91-.78q.021-.015.041-.033C18.49 4.127 19.488 4 20 4M9.6 7.2h4.79c.125.03.255.03.38 0h10.44a.8.8 0 0 0 .277 0H30.4v14.034l-4.511 3.55c-.85-.667-2.404-1.881-2.59-2.03A5.3 5.3 0 0 0 20 21.6c-.807 0-2.06.244-3.273 1.134-.22.162-1.824 1.427-2.62 2.047L9.6 21.234v-9.597a.8.8 0 0 0 0-.24zm3.2 4a.8.8 0 1 0 0 1.6h14.4a.8.8 0 1 0 0-1.6zM8 13.31v6.663l-3.98-3.132zm24 0c1.84 1.63 3.79 3.363 3.98 3.532L32 19.975zM12.8 15.2a.8.8 0 1 0 0 1.6h8.8a.8.8 0 1 0 0-1.6zM4 18.862l8.808 6.933c-1.304 1.02-1.889 1.47-3.461 2.705A4097 4097 0 0 0 4 32.708zm32 0v13.849l-8.814-6.91zM20 23.2c.512 0 1.433.11 2.3.805 1.085.867 13.277 10.408 13.7 10.739V36H4v-1.258c.22-.173 3.106-2.445 6.336-4.984 3.35-2.634 6.907-5.418 7.337-5.733.887-.65 1.874-.825 2.327-.825"/> 2358 </svg> 2359 </div> 2360 <div class="text"> 2361 <h2>Radical Health Newsletter</h2> 2362 <p>Get weekly health tips sent straight to your inbox!</p> 2363 </div> 2364 </a> 2365 <a 2366 href="https://radicalhealthradio.com/" 2367 class="rtnu-grid__item" 2368 target="_blank" 2369 rel="nofollow" 2370 > 2371 <div class="icon"> 2372 <svg xmlns="http://www.w3.org/2000/svg" width="48" height="28" fill="none" viewBox="0 0 48 28"> 2373 <path fill="currentColor" d="M10.358 9.865h4.576V7.092h-4.576c-1.175 0-1.781.58-1.781 1.402s.606 1.37 1.78 1.37m29.048-1.371c0-.822-.605-1.402-1.78-1.402h-4.58v2.773h4.58c1.175 0 1.78-.545 1.78-1.371m.646 3.748 2.876 5.062h-3.425l-2.426-4.536h-4.03v4.536h-3.033V4.184h7.472c3.285 0 4.97 1.987 4.97 4.275a3.95 3.95 0 0 1-.613 2.228 4.2 4.2 0 0 1-1.774 1.555m
2373-12.182 5.062H24.84V12.73h-6.85v4.574h-3.055v-4.536h-4.03l-2.427 4.536H5.052l2.88-5.062A4.2 4.2 0 0 1 6.15 10.69a3.95 3.95 0 0 1-.616-2.23c0-2.288 1.684-4.274 4.972-4.274h7.475v5.66h6.857v-5.66h3.035zM48 22.104V0H0v22.104h37.712V28l6.158-5.896z"/> 2374 </svg> 2375 </div> 2376 <div class="text"> 2377 <h2>Radical Health Radio</h2> 2378 <p>A weekly podcast hosted by Ste Lane, with expert health guests and live callers.</p> 2379 </div> 2380 </a> 2381 <a href="https://heartandsoil.co/animalbased30/" class="rtnu-grid__item"> 2382 <div class="icon"> 2383 <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none" viewBox="0 0 231 204"> 2384 <path fill="currentColor" d="M228 12C228 5.4 223.3.8 216.7.8h-8.5v22.5h8.5c6.6 0 11.3-4.6 11.3-11.3m-6 0c0 3-1.8 6-5.8 6h-2V6h2c4 0 5.7 3 5.7 6Zm-11.3 51.1a65.3 65.3 0 0 0-50.2-24.6c-19 0-36.9 8.7-50.2 24.6A85.8 85.8 0 0 0 93 97a68.8 68.8 0 0 0-30.5-19.7L101.8 59V40H0v19h57.5L0 86v25.8a51.5 51.5 0 0 1 40.6-19h.4c25.8 0 47.1 18.1 49.6 41.4l.3 4.8c0 25.5-22.5 46.1-50.2 46.1A51.5 51.5 0 0 1 0 166v24.5a71.3 71.3 0 0 0 41 13 68.8 68.8 0 0 0 61.2-36.3c2.4 4.1 5 8 8 11.6a65.3 65.3 0 0 0 50.3 24.6c19 0 36.9-8.7 50.2-24.6 13-15.5 20.2-36 20.2-57.8s-7.1-42.4-20.2-57.9M213 121c0 35-23.5 63.6-52.4 63.6s-52.3-28.5-52.3-63.6c0-35.2 23.4-63.7 52.3-63.7S213 85.8 213 121M196.4 18.3v-3.7h8v-5h-8V5.8h8v-5h-13.9v22.5h13.1l1-5zM177 6.5c0-1 .7-1.6 2-1.6 1.6 0 2.4.9 2.4 2.6V8h6v-.5c0-4.5-3.3-7.3-8.3-7.3-4.9 0-8 2.6-8 6.8 0 3 1.6 5.2 4.6 6.3l3.8 1.5c1.7.7 2.2 1.2 2.2 2.3 0 1.5-1.2 1.8-2.3 1.8-1.9 0-3-1-3-3.2v-.5h-5.8v.5c0 5.2 3.3 8.2 8.8 8.2 5 0 8.2-2.8 8.2-7.1 0-3.2-1.5-5.3-4.5-6.6l-3.5-1.4c-2-.8-2.6-1.4-2.6-2.3m-15.1 16.8h5.8V9a8.6 8.6 0 1 0-17.3 0v14.3h5.9v-6h5.6zm0-11.1h-5.6V9a2.8 2.8 0 0 1 4.8-2c.5.5.8 1.3.8 2zm-17.4-.5a5 5 0 0 0 2.8-4.8c0-3.8-2.8-6.1-7.3-6.1h-9.2v22.5h9.5c4.5 0 7.3-2.5 7.3-6.5a5.3 5.3 0 0 0-3-5Zm-3.1-4.2c0 1.3-1 2-2.5 2h-2.2v-4h2.2c1.6 0 2.5.7 2.5 2m.2 8.8c0 1.5-.8 2.3-2.4 2.3h-2.5V14h2.5c1.5 0 2.4.8 2.4 2Zm-23.8-2h8.4V9.4h-8.4v4.8Zm-1.4 9 .9-5.4h-7.9V.8h-5.9v22.5h13Zm-22.7.1h5.9V9A9 9 0 0 0 97 2.8 8.6 8.6 0 0 0 82.1 9v14.3h6v-6h5.5v6Zm0-11.1H88V9a2.8 2.8 0 0 1 4.8-2c.5.5.8 1.3.8 2v3.2Zm-21.2 11H78V.9h-6.4L66.4 15 61.2.8h-6.6v22.5h5.7V11.8l4 11.5h4.3L72.4 12v11.3Zm-28.3 0h6V.9h-6v22.5Zm-10.3 0h5.8V.9H34V13L27.5 1V.8h-6v22.5h5.8V10.9l6.4 12.3h.1Zm-22.3.1h5.8V9A8.6 8.6 0 1 0 0 9v14.3h5.9v-6h5.6v6Zm0-11.1H5.9V9a2.8 2.8 0 0 1 4.8-2c.5.5.8 1.3.8 2v3.2Z"></path> 2385 </svg> 2386 </div> 2387 <div class="text"> 2388 <h2>AB30 Challenge</h2> 2389 <p> 2390 Start a free 30-day journey to eat animal-based, live like your ancestors, and reclaim your health! 2391 </p> 2392 </div> 2393 </a> 2394 <a href="https://heartandsoil.co/refer/" class="rtnu-grid__item"> 2395 <div class="icon"> 2396 <svg xmlns="http://www.w3.org/2000/svg" width="44" height="43" fill="none" viewBox="0 0 44 43"> 2397 <path stroke="#f2862a" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.736 28.613a11.15 11.15 0 0 0-13.222 2.475m41.343 0a11.15 11.15 0 0 0-13.238-2.462M10.222 7.684A11.83 11.83 0 0 1 21.253 1.25a11.83 11.83 0 0 1 11.032 6.435m-5.516 0h6.435V1.25m-8.26 27.58h-3.742a2.467 2.467 0 0 0-.92 4.756l3.795 1.518a2.468 2.468 0 0 1-.919 4.757h-3.73m2.754-11.032V27.45m0 13.79v-1.38m-6.214-21.38a6.205 6.205 0 1 1-12.411 0 6.205 6.205 0 0 1 12.41 0m24.846 0a6.205 6.205 0 1 1-12.41 0 6.205 6.205 0 0 1 12.41 0"/> 2398 </svg> 2399 </div> 2400 <div class="text"> 2401 <h2>Refer & Save</h2> 2402 <p>Save money every time you Refer-A-Friend!</p> 2403 </div> 2404 </a> 2405 </div> 2406 </div> 2407 </div> 2408 </section> 2409 </div> 2410 2411 <div class="rtnu-nav-mobile"> 2412 <div class="rtnu-nav-mobile__bar"> 2413 <button 2414 type="button" 2415 class="rtnu-nav-mobile__toggle" 2416 aria-controls="rtnu-nav-mobile-panel-rtnu-nav-1" 2417 aria-expanded="false" 2418 aria-label="Open mobile menu" 2419 >
2420 <span></span> 2421 <span></span> 2422 <span></span> 2423 </button> 2424 2425 <a 2426 href="https://heartandsoil.co/" 2427 class="rtnu-nav-logo rtnu-nav-logo--mobile" 2428 aria-label="Heart & Soil - Go home" 2429 > 2430 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 239 48" width="135" height="28"> 2431 <path fill="currentColor" fill-rule="evenodd" d="M55.484 11.087a12.2 12.2 0 0 0-1.495-4.972 9.6 9.6 0 0 0-.76-1.158 12 12 0 0 0-.841-.98 13.5 13.5 0 0 0-1.91-1.638A13.6 13.6 0 0 0 46.023.31c-1.585-.381-3.261-.432-4.817-.033a8.1 8.1 0 0 0-2.178.92 8.1 8.1 0 0 0-1.754 1.46c1.262-.822 2.688-1.285 4.094-1.33 1.409-.06 2.784.266 4.03.833a11.3 11.3 0 0 1 3.338 2.29c.477.463.91.964 1.28 1.486.182.262.348.534.495.805.15.272.276.555.357.776.43 1.208.658 2.487.58 3.633a6 6 0 0 1-1.078 3.05c-.625.88-1.511 1.629-2.565 2.237a14 14 0 0 1-1.658.809c-.217.095-.697.28-.943.366l-1.052.391c-1.408.525-2.82 1.035-4.238 1.599-1.414.564-2.844 1.136-4.322 1.85-1.456.697-3.063 1.652-4.42 2.857-.325.271-.713.647-.989.916l-.393.396-.469.513a21 21 0 0 0-1.565 1.936 21 21 0 0 0-1.57-1.936l-.466-.513-.397-.396c-.276-.269-.66-.645-.988-.916-1.357-1.205-2.961-2.16-4.418-2.858-1.478-.713-2.907-1.285-4.322-1.849-1.417-.564-2.832-1.074-4.235-1.599l-1.054-.39a17 17 0 0 1-.94-.367 14 14 0 0 1-1.661-.809c-1.054-.608-1.94-1.357-2.565-2.237a6 6 0 0 1-1.078-3.051c-.075-1.146.15-2.425.58-3.633a6 6 0 0 1 .357-.776 8 8 0 0 1 .495-.805c.37-.522.802-1.023 1.28-1.486a11.4 11.4 0 0 1 3.34-2.29c1.246-.567 2.622-.892 4.027-.833 1.406.045 2.833.508 4.097 1.33a8.2 8.2 0 0 0-1.757-1.46 8.2 8.2 0 0 0-2.177-.92c-1.556-.4-3.232-.348-4.815.033A13.6 13.6 0 0 0 5.032 2.34a13.5 13.5 0 0 0-1.91 1.637q-.444.461-.841.981c-.268.35-.508.71-.76 1.158a12.3 12.3 0 0 0-1.499 4.972c-.057.91-.006 1.85.186 2.783.192.928.538 1.835.997 2.67.92 1.673 2.256 3.021 3.68 4.06.73.527 1.441.975 2.24 1.383.46.239.67.34 1.112.543l1.012.471 4.024 1.891c1.322.63 2.626 1.268 3.8 1.93 1.195.671 2.144 1.322 2.98 2.142.23.218.369.376.615.638l.378.415.27.325c.415.477.767.978 1.1 1.473.63 1.006 1.123 2.032 1.355 3.022.24.99.246 1.939.012 2.798a5.1 5.1 0 0 1-1.184 2.133c-.078-.901-.177-1.883-.381-2.9a13.3 13.3 0 0 0-.748-2.493 10.3 10.3 0 0 0-1.418-2.458 9.4 9.4 0 0 0-2.135-2.001 9 9 0 0 0-1.24-.716l-.316-.15-.36-.152-.175-.074c-.045-.012-.078-.03-.126-.033-.105.02-.303.227-.72.886L13.442 32.8c-.268.736-.313 1.014-.265 1.11.03.035.07.053.105.08l.048.045.21.205c.157.15.295.308.421.463.255.307.442.63.622.966.342.68.61 1.506.817 2.542q.15.773.246 1.676l.18 1.974c.033.364.072.752.138 1.194.067.438.145.918.355 1.569.111.33.252.7.514 1.142a4.7 4.7 0 0 0 1.303 1.423c.625.45 1.427.719 2.066.781a5.2 5.2 0 0 0 1.58-.071l.123-.024.133-.039a11.97 11.97 0 0 0 5.33-3.197 8 8 0 0 0 .388-.427q.187.22.385.427a11.97 11.97 0 0 0 5.33 3.197l.133.039.123.024a5.2 5.2 0 0 0 1.58.071 4.5 4.5 0 0 0 2.066-.781 4.7 4.7 0 0 0 1.304-1.423c.261-.441.402-.811.513-1.142.214-.65.289-1.13.355-1.57s.105-.829.138-1.192l.18-1.975q.096-.903.247-1.676c.207-1.035.474-1.862.816-2.542.18-.337.364-.659.622-.966a5 5 0 0 1 .42-.462l.211-.206.048-.045c.036-.027.072-.045.105-.08.045-.096.003-.374-.264-1.
243111l-1.538-3.126c-.42-.66-.616-.865-.72-.886-.046.003-.082.02-.127.033l-.174.074-.358.152-.318.15c-.42.208-.844.435-1.24.715a9.4 9.4 0 0 0-2.136 2.002 10.5 10.5 0 0 0-1.42 2.458c-.349.84-.58 1.682-.745 2.493-.205 1.018-.307 1.999-.382 2.9-.558-.615-.976-1.337-1.183-2.133-.234-.86-.228-1.808.012-2.798.231-.99.72-2.016 1.354-3.021a15 15 0 0 1 1.1-1.474l.27-.325.375-.415c.25-.262.388-.42.62-.638.834-.82 1.783-1.47 2.976-2.142 1.174-.662 2.48-1.3 3.802-1.93l4.025-1.89 1.015-.472c.438-.203.649-.304 1.108-.543a16.4 16.4 0 0 0 2.238-1.384c1.426-1.038 2.76-2.386 3.682-4.06a9.7 9.7 0 0 0 .997-2.669 10.3 10.3 0 0 0 .183-2.783m129.15-.947q3.592 0 5.549 2.19 1.952 2.197 1.953 6.674v1.083a.97.97 0 0 1-.29.7.93.93 0 0 1-.688.297h-3.108q-.309 0-.576-.273-.268-.271-.267-.586v-.952q0-2.398-.643-3.435-.643-1.04-1.93-1.042-1.29-.001-1.933.838-.643.835-.643 2.194c0 .81.22 1.634.666 2.463q.664 1.247 1.443 2.103.776.863 2.552 2.622 2.975 2.985 4.395 5.27 1.419 2.286 1.419 5.312 0 3.757-2.197 6.018-2.2 2.261-5.702 2.26-3.597 0-5.749-2.329-2.154-2.331-2.153-5.991v-2.263q0-.452.308-.793.31-.337.799-.338h2.709q.444.001.778.338.331.341.332.793v1.856q-.001 3.979 2.929 3.977 2.843.001 2.843-3.118-.001-1.087-.311-2.035c-.209-.632-.605-1.314-1.201-2.035a25 25 0 0 0-1.443-1.652 174 174 0 0 0-1.974-1.966q-1.73-1.72-2.708-2.873-.975-1.154-1.91-3.19a10 10 0 0 1-.931-4.205q-.001-3.393 1.933-5.65 1.927-2.262 5.749-2.262m19.355 0q3.803.002 6.048 2.193 2.247 2.196 2.247 5.856v17.637q0 3.662-2.247 5.856-2.245 2.194-6.048 2.193-3.809 0-6.051-2.193-2.247-2.194-2.245-5.856V18.189q-.002-3.66 2.245-5.856 2.243-2.191 6.051-2.193m-135.962.784q.456-.001.797.313.34.31.34.802v11.98q-.002.45.457.449h4.86q.455.001.454-.448V12.039q-.002-.492.322-.802.317-.314.815-.313h3.136q.456-.001.797.313.34.31.34.802v29.937q0 .49-.34.802a1.14 1.14 0 0 1-.797.313h-3.136q-.498.001-.815-.313-.324-.312-.322-.802v-12.34q.001-.447-.454-.448h-4.86q-.459 0-.457.448v12.34q0 .49-.34.802a1.14 1.14 0 0 1-.797.313h-3.136q-.498.001-.815-.313a1.07 1.07 0 0 1-.322-.802V12.04q0-.492.322-.802.317-.314.815-.313zm29.798 0q.449-.001.787.313.334.31.335.802v2.45q-.001.446-.335.778a1.08 1.08 0 0 1-.787.333h-6.954q-.446.001-.446.445v7.71q0 .445.446.444h4.71q.451 0 .787.313.336.315.335.802v2.27q.001.448-.335.781a1.08 1.08 0 0 1-.787.333h-4.71q-.446 0-.446.448v8.733c0 .294.149.445.446.445h7.313q.449-.002.787.333.335.333.335.781v2.538q0 .49-.335.802-.338.314-.787.313H86.207c-.33 0-.596-.103-.807-.313q-.315-.312-.315-.802V12.04q0-.492.315-.802.314-.314.807-.313zm14.591 0q.496 0 .879.336c.254.221.397.484.429.778l5.314 29.938a.88.88 0 0 1-.202.779.95.95 0 0 1-.743.336h-2.929q-.496 0-.879-.336-.386-.337-.427-.778l-.724-5.127c0-.294-.161-.445-.494-.445h-4.548q-.494.001-.495.445l-.766 5.127a1.34 1.34 0 0 1-.45.798q-.36.316-.811.316h-2.926a.94.94 0 0 1-.745-.336.86.86 0 0 1-.2-.778l5.314-29.938c.03-.295.17-.558.426-.779a1.3 1.3 0 0 1 .879-.336zm18.112 0q4.308 0 5.89 2.494 1.576 2.495 1.576 7.129 0 3.697-.779 5.48c-.521 1.185-1.415 2.108-2.688 2.76-.268.118-.356.33-.268.625l3.735 12.609a.92.92 0 0 1-.135.737q-.221.331-.668.333h-2.973q-1.112 0-1.426-1.07l-3.199-11.852q-.132-.443-.576-.445h-1.024q-.442.001-.444.445v11.807q0 .488-.309.802-.312.314-.802.313h-3.111q-.487.001-.797-.313-.313-.314-.312-.802V12.04q0-.493.312-.805.31-.31.797-.31zm24.544 0q.45-.001.784.313.336.31.334.802v2.538q.002.447-.334.778a1.07 1.07 0 0 1-.784.333h-4.022q-.452 0-.45.448v25.84q0 .49-.311.802-.315.314-.808.313h-3.087a1.1 1.1 0 0 1-.781-.313 1.05 1.05 0 0 1-.337-.802v-25.84c0-.297-.145-.448-.444-.448h-4.117q-.494.002-.805-.333a1.1 1.1 0 0 1-.311-.778v-2.538q0-.492.311-.802.311-.314.805-.313zm64.741 0c.31 0 .578.103.815.31q.346.314.347.805v29.937q-.001.49-.347.802c-.237.21-.505.313-.815.313h-3.206q-.513.001-.837-.313a1.06 1.06 0 0 1-.325-.802V12.04q-.001-.492.325-.805.324-.31.837-.31zm-45.78 27.46q.447 0 .784.305c.225.207.335.469.335.795v2.506q.001.44-.335.769a1.08 1.08 0 0 1-.784.332h-14.354q-.493 0-.805-.332a1.08 1.08 0 0 1-.313-.769v-2.506c0-.326.106-.588.313-.795q.312-.306.805-.306zm55.336-27.492c.306 0 .569.103.803.309q.341.313.342.803v25.829q0 .448.454.447h6.684q.503 0 .824.311.32.31.321.8v2.49q-.002.488-.321.8-.321.313-.824.3
243112H226.21q-.505 0-.823-.312a1.06 1.06 0 0 1-.321-.8V12.004q0-.49.321-.803.318-.31.823-.31zm-25.38 3.997q-2.798 0-2.797 3.165v17.907q-.001 3.165 2.797 3.166 2.794-.001 2.796-3.166V18.054q-.002-3.165-2.796-3.165m-38.491-4.75q2.164-.001 3.339 1.358c.786.901 1.181 2.075 1.181 3.513 0 1.304-.329 2.496-.982 3.563-.656 1.07-1.618 2.187-2.882 3.367a.426.426 0 0 0-.098.522c.784 1.986 1.508 3.575 2.158 4.772q.065.1.166.098.094.002.13-.098.817-1.962.947-4.28c.048-.546.338-.818.884-.818h1.342q.33.002.558.243a.71.71 0 0 1 .195.575q-.194 3.89-1.997 7.126-.164.26.036.521.686.754 1.341.753.882 0 .882-1.21v-.785a.66.66 0 0 1 .213-.474.7.7 0 0 1 .508-.213h.917q.36 0 .587.246a.8.8 0 0 1 .229.572v1.147q.001 1.796-1.03 2.81c-.686.673-1.499 1.014-2.439 1.014-1.113 0-2.19-.472-3.241-1.408q-.194-.196-.489-.033c-1.176.958-2.478 1.44-3.894 1.44q-2.523 0-4.009-1.588-1.49-1.583-1.489-4.1c0-2.463 1.083-4.73 3.24-6.8q.231-.23.098-.524-1.373-3.464-1.374-5.72 0-2.482 1.326-4.038 1.326-1.551 3.647-1.55m-55.153 8.85-1.893 12.384c-.059.298.063.442.361.442h3.108a.43.43 0 0 0 .316-.132q.134-.133.09-.31l-1.848-12.384q-.09-.048-.134 0m52.866 6.25q-1.051 1.47-1.051 3.009.001 1.342.638 2.093.64.751 1.787.752.784-.001 1.341-.456c.172-.133.196-.296.062-.492q-1.341-2.093-2.451-4.87-.132-.294-.326-.036m-33.571-9.86h-1.647q-.442-.001-.444.445V25q.002.446.444.446h1.647q1.82 0 2.467-1.047c.426-.696.644-2.025.644-3.986 0-1.96-.218-3.293-.644-3.989q-.647-1.044-2.467-1.046m35.761-2.462q-.754-.002-1.164.637-.406.637-.406 1.75 0 1.47.783 3.826.036.093.149.113.114.017.181-.05c1.222-1.397 1.833-2.787 1.833-4.183q0-2.093-1.376-2.093" clip-rule="evenodd"/> 2432 </svg> 2433 </a> 2434 2435 <div class="rtnu-nav-mobile__icons" data-menu-section="secondary"> 2436 <a href="https://shop.heartandsoil.co/a/account/login" class="rtnu-nav-icon-link" aria-label="Go to your account"> 2437 <svg 2438 xmlns="http://www.w3.org/2000/svg" 2439 width="22" 2440 height="22" 2441 fill="none"
2442 viewBox="0 0 28 28" 2443 aria-hidden="true" 2444 focusable="false" 2445 > 2446 <path fill="currentColor" d="M14 0c-3.4364 0-6.22213 2.78571-6.22213 6.22212 0 3.43642 2.78573 6.22238 6.22213 6.22238s6.2221-2.78596 6.2221-6.22238C20.2221 2.78571 17.4364 0 14 0Zm0 17.1112c-4.67279 0-14 2.3456-14 7v2.3333C0 27.3032.696792 28 1.55546 28H26.4445C27.3032 28 28 27.3032 28 26.4445v-2.3333c0-4.6544-9.3272-7-14-7Z"/> 2447 </svg> 2448 </a> 2449 <a href="https://shop.heartandsoil.co/cart" class="rtnu-nav-icon-link" aria-label="Open cart"> 2450 <svg 2451 xmlns="http://www.w3.org/2000/svg" 2452 width="26" 2453 height="22" 2454 fill="none" 2455 viewBox="0 0 34 30" 2456 aria-hidden="true" 2457 focusable="false" 2458 > 2459 <path fill="currentColor" d="M14.423 27.1153c0 1.5926-1.292 2.8846-2.8846 2.8846-1.59252 0-2.88459-1.292-2.88459-2.8846 0-1.5925 1.29207-2.8846 2.88459-2.8846 1.5926 0 2.8846 1.2921 2.8846 2.8846Z"/><path fill="currentColor" d="M29.423 27.1153c0 1.5926-1.292 2.8846-2.8846 2.8846-1.5925 0-2.8846-1.292-2.8846-2.8846 0-1.5925 1.2921-2.8846 2.8846-2.8846 1.5926 0 2.8846 1.2921 2.8846 2.8846Z"/><path fill="currentColor" d="m6.6286 4.66947-.57692-2.44591C5.74519.919471 4.58233 0 3.24519 0H0l.576923 2.30769H3.24519c.26743 0 .4988.1833.5619.44471l4.09255 17.3918c.24339 1.0457 1.16887 1.7789 2.24456 1.7789h18.3083c1.1238 0 2.0823-.8053 2.2746-1.9111l2.3588-13.57871L6.6286 4.66947Z"/> 2460 </svg> 2461 <span class="rtnu-nav-cart-count"> 2462 <span class="visually-hidden">Open cart, cart items:</span> 2463 <span class="Boost_CartCount rtnu-header__cart-count" aria-label="Go to cart page">0</span> 2464 </span> 2465 </a> 2466 </div> 2467 </div> 2468 2469 <div id="rtnu-nav-mobile-panel-rtnu-nav-1" class="rtnu-nav-mobile__panel" hidden> 2470 <div class="rtnu-nav-mobile__content"> 2471 <section class="rtnu-nav-mobile__group" data-menu-section="shop_all"> 2472 <p class="rtnu-nav-panel__heading">Shop</p> 2473 <ul class="rtnu-nav-mobile__links"> 2474 <li class="b2bshow" style="display: none;"><a href="https://shop.heartandsoil.co/collections/b2b-collection" data-menu-section="shop_all">
2474Shop All</a></li> 2475 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=best-sellers&subscriptions=true" data-menu-section="best_sellers">Best Sellers</a></li> 2476 <li class="b2bhide"> 2477 <a 2478 href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true" 2479 class="rtnu-nav-mobile__subscription-link rtnu-nav-subscribe-link" 2480 > 2481 <span class="rtnu-nav-subscribe-prefix">Subscribe &</span> 2482 <span class="rtnu-nav-pill rtnu-nav-pill--save">Save Up to 30%</span> 2483 </a> 2484 </li> 2485 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=stacks&subscriptions=true">Stacks</a></li> 2486 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=merch">Merch</a></li> 2487 <li class="b2bhide"> 2488 <button 2489 type="button" 2490 class="rtnu-nav-mobile__jump rtnu-nav-mobile__jump--submenu" 2491 aria-controls="rtnu-nav-mobile-subpanel-health-goals-rtnu-nav-1" 2492 > 2493 <span>Health Goals</span> 2494 <svg 2495 xmlns="http://www.w3.org/2000/svg" 2496 width="11" 2497 height="18" 2498 fill="none"
2499 viewBox="0 0 11 18" 2500 aria-hidden="true" 2501 focusable="false" 2502 > 2503 <path fill="currentColor" d="M11 8.82043 2.17957 0 0 2.17957 6.64087 8.82043 0 15.4613 2.17957 17.6409 11 8.82043Z" /> 2504 </svg> 2505 </button> 2506 </li> 2507 </ul> 2508 </section> 2509 2510 <section class="rtnu-nav-mobile__group" data-menu-section="shop_all"> 2511 <p class="rtnu-nav-panel__heading">Categories</p> 2512 <ul class="rtnu-nav-categories rtnu-nav-categories--mobile"> 2513 <li> 2514 <a href="https://shop.heartandsoil.co/products/free-form-grass-fed-colostrum"> 2515 <img 2516 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-categories-colostrum.webp" 2517 alt="" 2518 aria-hidden="true" 2519 loading="lazy" 2520 width="40" 2521 height="52" 2522 > 2523 <span class="rtnu-nav-category-meta"> 2524 <span class="rtnu-nav-category-label">Colostrum</span> 2525 <span class="rtnu-nav-pill">New</span> 2526 </span> 2527 </a> 2528 </li> 2529 <li> 2530 <a href="https://shop.heartandsoil.co/a/collections/products?filters=protein&subscriptions=true"> 2531 <img 2532 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/
2532hs-categories-protein.webp" 2533 alt="" 2534 aria-hidden="true" 2535 loading="lazy" 2536 width="40" 2537 height="52" 2538 > 2539 <span class="rtnu-nav-category-meta"> 2540 <span class="rtnu-nav-category-label">Protein Powder</span> 2541 </span> 2542 </a> 2543 </li> 2544 <li> 2545 <a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true"> 2546 <img 2547 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-categories-supplements.webp" 2548 alt="" 2549 aria-hidden="true" 2550 loading="lazy" 2551 width="40" 2552 height="52" 2553 > 2554 <span class="rtnu-nav-category-meta"> 2555 <span class="rtnu-nav-category-label">Supplements</span> 2556 </span> 2557 </a> 2558 </li> 2559 </ul> 2560 </section> 2561 2562 <section class="rtnu-nav-mobile__group rtnu-nav-support-card rtnu-nav-support-card--mobile"> 2563 <div class="rtnu-nav-mobile__support-copy"> 2564 <p class="rtnu-nav-panel__heading">Get Expert Support</p> 2565 <p>Personalized product guidance and support.</p> 2566 <button type="button" class="rtnu-nav-support-action" data-fancybox data-src="#klaviyo-form"> 2567 Connect with us 2568 <svg 2569 xmlns="http://www.w3.org/2000/svg" 2570 width="8" 2571 height="13" 2572 fill="none"
2573 viewBox="0 0 8 13" 2574 aria-hidden="true" 2575 focusable="false" 2576 > 2577 <path fill="currentColor" d="M8 6.35889 1.58514-.0559692 0 1.52917l4.82972 4.82972L0 11.1886l1.58514 1.5852L8 6.35889Z"/> 2578 </svg> 2579 </button> 2580 </div> 2581 <button 2582 type="button" 2583 class="rtnu-nav-mobile__support-team-btn" 2584 data-fancybox 2585 data-src="#klaviyo-form" 2586 aria-label="Connect with us" 2587 > 2588 <img 2589 class="rtnu-nav-mobile__support-team" 2590 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-expert-support.webp" 2591 alt="" 2592 aria-hidden="true" 2593 loading="lazy" 2594 width="167" 2595 height="80" 2596 > 2597 </button> 2598 </section> 2599 2600 <section class="rtnu-nav-mobile__group rtnu-nav-mobile__footer-links" data-menu-section="secondary"> 2601 <button 2602 type="button" 2603 class="rtnu-nav-mobile__jump rtnu-nav-mobile__jump--submenu" 2604 aria-controls="rtnu-nav-mobile-subpanel-learn-rtnu-nav-1" 2605 > 2606 <span>Learn</span> 2607 <svg 2608 xmlns="http://www.w3.org/2000/svg" 2609 width="11" 2610 height="18" 2611 fill="none"
2612 viewBox="0 0 11 18" 2613 aria-hidden="true" 2614 focusable="false" 2615 > 2616 <path fill="currentColor" d="M11 8.82043 2.17957 0 0 2.17957 6.64087 8.82043 0 15.4613 2.17957 17.6409 11 8.82043Z" /> 2617 </svg> 2618 </button> 2619 <a href="https://heartandsoil.co/contact-us">Get Help</a> 2620 <a href="https://shop.heartandsoil.co/a/account/login">Account</a> 2621 <a href="https://faq.heartandsoil.co/en-US">FAQ</a> 2622 </section> 2623 </div> 2624 2625 <div id="rtnu-nav-mobile-subpanel-health-goals-rtnu-nav-1" class="rtnu-nav-mobile__subpanel" data-menu-section="health_goals" hidden> 2626 <button type="button" class="rtnu-nav-mobile__back"> 2627 <svg 2628 xmlns="http://www.w3.org/2000/svg" 2629 width="11" 2630 height="18" 2631 fill="none" 2632 viewBox="0 0 11 18" 2633 aria-hidden="true" 2634 focusable="false" 2635 > 2636 <path fill="currentColor" d="M0 8.82043 8.82043 0 11 2.17957 4.35913 8.82043 11 15.4613 8.82043 17.6409 0 8.82043Z" /> 2637 </svg> 2638 <span>Go back</span> 2639 </button> 2640 <h2 class="rtnu-nav-mobile__subpanel-title">Health Goals</h2> 2641 <div class="rtnu-nav-mobile__uses-group rtnu-nav-mobile__uses-group--popular"> 2642 <p class="rtnu-nav-mobile__uses-title">Most Popular</p> 2643 <ul 2644 class="rtnu-nav-mobile__subpanel-links rtnu-nav-mobile__subpanel-links--icon" 2645 data-rtnu-mobile-health-popular 2646 ></ul> 2647 </div> 2648 <div class="rtnu-nav-mobile__uses-group rtnu-nav-mobile__uses-group--all"> 2649 <p class="rtnu-nav-mobile__uses-title">All Uses <span>(A-Z)</span></p> 2650 <ul 2651 class="rtnu-nav-mobile__subpanel-links rtnu-nav-mobile__subpanel-links--icon" 2652 data-rtnu-mobile-health-all 2653 ></ul> 2654 </div> 2655 <div class="rtnu-nav-mobile__health-connect"> 2656 <p class="rtnu-nav-panel__heading">Get Expert Support</p> 2657 <button type="button" class="rtnu-nav-support-action" data-fancybox data-src="#klaviyo-form"> 2658 Connect with our Health Success Team 2659 <svg 2660 xmlns="http://www.w3.org/2000/svg" 2661 width="8" 2662 height="13" 2663 fill="none"
2664 viewBox="0 0 8 13" 2665 aria-hidden="true" 2666 focusable="false" 2667 > 2668 <path fill="currentColor" d="M8 6.35889 1.58514-.0559692 0 1.52917l4.82972 4.82972L0 11.1886l1.58514 1.5852L8 6.35889Z"/> 2669 </svg> 2670 </button> 2671 </div> 2672 </div> 2673 2674 <div id="rtnu-nav-mobile-subpanel-learn-rtnu-nav-1" class="rtnu-nav-mobile__subpanel" data-menu-section="learn" hidden> 2675 <button type="button" class="rtnu-nav-mobile__back"> 2676 <svg 2677 xmlns="http://www.w3.org/2000/svg" 2678 width="11" 2679 height="18" 2680 fill="none" 2681 viewBox="0 0 11 18" 2682 aria-hidden="true" 2683 focusable="false" 2684 > 2685 <path fill="currentColor" d="M0 8.82043 8.82043 0 11 2.17957 4.35913 8.82043 11 15.4613 8.82043 17.6409 0 8.82043Z" /> 2686 </svg> 2687 <span>Go back</span> 2688 </button> 2689 <h2 class="rtnu-nav-mobile__subpanel-title">Learn</h2> 2690 <div class="rtnu-nav-mobile__learn-cards" data-rtnu-mobile-learn-cards></div> 2691 </div> 2692 2693 <div class="rtnu-nav-mobile__sticky-cta" data-menu-section="shop_all"> 2694 <a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true" class="rtnu-nav-btn rtnu-nav-btn--mobile" 2695 >Shop All Products</a 2696 > 2697 <div class="rtnu-nav-mobile__trust-row"> 2698 <span class="rtnu-nav-mobile__trust-item"> 2699 <svg 2700 xmlns="http://www.w3.org/2000/svg" 2701 width="20" 2702 height="20" 2703 fill="none"
2704 viewBox="0 0 20 20" 2705 aria-hidden="true" 2706 focusable="false" 2707 > 2708 <path fill="currentColor" d="m6.5625 2.8125-4.375 3.125 4.375 3.125v-6.25ZM2.8125 15l1.5625-.0156v1.9062l-1.5625-.0156V15Zm2.5-.0218 1.875-.0187v1.9562l-1.875-.0187v-1.9188Zm2.8125-.0283 2.1875-.0187v2.0125l-2.1875-.0188v-1.975Z" /><path fill="currentColor" d="M17.6594 12.8062c-.4907 1.4813-1.5656 2.7407-2.9375 3.4594-.6844.3594-1.4375.5906-2.2063.6625-.1937.0188-.3844.0281-.5781.0281h-.4906l-.1969-.0031v-2.0312l.1969-.0032.4719-.0031c.125-.0031.2531-.0125.3781-.0281.5062-.0563.9937-.2156 1.4375-.4625.8906-.4844 1.5781-1.3281 1.8718-2.2844.3-.9562.2063-2.0312-.2468-2.90935-.4469-.8875-1.25-1.58438-2.1781-1.9-.2313-.08125-.4688-.1375-.7125-.17188-.1188-.01562-.2407-.02812-.3657-.03437-.1218-.00312-.2343-.00312-.4094 0l-1.9187.02187-3.8375.04063v-2.5l3.8375.04062 1.9187.02188c.1469.00312.3532.00625.5501.01875.1968.0125.3937.0375.5875.06875.3906.0625.775.16562 1.1437.30312 1.4844.55 2.7219 1.6875 3.3969 3.10313.6812 1.41875.7812 3.08125.2875 4.56245Z" /> 2709 </svg> 2710 <span>Free & easy returns</span> 2711 </span> 2712 <span class="rtnu-nav-mobile__trust-item"> 2713 <svg 2714 xmlns="http://www.w3.org/2000/svg" 2715 width="20" 2716 height="16" 2717 fill="none"
2718 viewBox="0 0 20 16" 2719 aria-hidden="true" 2720 focusable="false" 2721 > 2722 <path fill="currentColor" d="M19.5 11H19V7.622c-.0009-.39749-.1595-.77837-.441-1.059l-3.121-3.122c-.1391-.13951-.3043-.25026-.4861-.32593C14.77 3.03941 14.575 3.0003 14.378 3H13V1.5c0-.39782-.158-.779356-.4393-1.06066C12.2794.158035 11.8978 0 11.5 0h-8c-.39782 0-.77936.158035-1.06066.43934C2.15804.720644 2 1.10218 2 1.5V3H.25c-.066223.00026-.129659.02669-.1764858.07351C.0266871 3.12034.00026331 3.18378 0 3.25v.5c.00026332.06622.0266871.12966.0735142.17649C.120341 3.97331.183777 3.99974.25 4h8.5c.06622.00026.12966.02669.17649.07351.04682.04683.07325.11027.07351.17649v.5c-.00026.06622-.02669.12966-.07351.17649-.04683.04682-.11027.07325-.17649.07351h-7.5c-.06622.00026-.12966.02669-.17649.07351-.04682.04683-.07325.11027-.07351.17649v.5c.00026.06622.02669.12966.07351.17649.04683.04682.11027.07325.17649.07351h6.5c.06622.00026.12966.02669.17649.07351.04682.04683.07325.11027.07351.17649v.5c-.00026.06622-.02669.12966-.07351.17649-.04683.04682-.11027.07325-.17649.07351H.25c-.066223.00026-.129659.02669-.1764858.07351C.0266871 7.12034.00026331 7.18378 0 7.25v.5c.00026332.06622.0266871.12966.0735142.17649C.120341 7.97331.183777 7.99974.25 8h6.5c.06622.00026.12966.02669.17649.07351.04682.04683.07325.11027.07351.17649v.5c-.00026.06622-.02669.12966-.07351.17649-.04683.04682-.11027.07325-.17649.07351H2v4c0 .7956.31607 1.5587.87868 2.1213C3.44129 15.6839 4.20435 16 5 16s1.55871-.3161 2.12132-.8787C7.68393 14.5587 8 13.7956 8 13h4c0 .7956.3161 1.5587.8787 2.1213C13.4413 15.6839 14.2044 16 15 16c.7956 0 1.5587-.3161 2.1213-.8787C17.6839 14.5587 18 13.7956 18 13h1.5c.1326 0 .2598-.0527.3536-.1464.0937-.0938.1464-.221.1464-.3536v-1c0-.1326-.0527-.2598-.1464-.3536-.0938-.0937-.221-.1464-.3536-.1464ZM5 14.5c-.29667 0-.58668-.088-.83336-.2528-.24667-.1648-.43893-.3991-.55246-.6732-.11353-.2741-.14324-.5757-.08536-.8666.05788-.291.20074-.5583.41052-.7681.20978-.2097.47705-.3526.76802-.4105.29098-.0579.59258-.0282.86667.0854.27408.1135.50835.3058.67317.5524.16483.2467.2528.5367.2528.8334 0 .3978-.15804.7794-.43934 1.0607S
27225.39782 14.5 5 14.5Zm10 0c-.2967 0-.5867-.088-.8334-.2528-.2466-.1648-.4389-.3991-.5524-.6732-.1136-.2741-.1433-.5757-.0854-.8666.0579-.291.2008-.5583.4105-.7681.2098-.2097.4771-.3526.7681-.4105.2909-.0579.5925-.0282.8666.0854.2741.1135.5084.3058.6732.5524.1648.2467.2528.5367.2528.8334 0 .3978-.158.7794-.4393 1.0607S15.3978 14.5 15 14.5ZM17.5 8H13V4.5h1.378L17.5 7.622V8Z"/> 2723 </svg> 2724 <span>Free U.S. shipping on $100+</span> 2725 </span> 2726 </div> 2727 </div> 2728 </div> 2729 </div> 2730</header> 2731 2732<style> 2733 :root { 2734 --rtnu-nav-cream: #f5e7d4; 2735 --rtnu-nav-dark-brown: #2d231a; 2736 --rtnu-nav-divider-light: rgba(245, 231, 212, 0.35); 2737 --rtnu-nav-divider-dark: rgba(45, 35, 26, 0.16); 2738 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2739 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2740 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2741 --rtnu-nav-bg-color: transparent; 2742 --rtnu-nav-bg-active: var(--rtnu-nav-dark-brown); 2743 --rtnu-nav-accent: #a65316; 2744 --rtnu-nav-accent-hover: #773b08; 2745 --rtnu-nav-accent-light: #f49e52; 2746 --rtnu-nav-accent-bright: #e57f34; 2747 --rtnu-nav-accent-desktop-hover: #bf6517; 2748 --rtnu-nav-cream-soft: #ffc59b; 2749 --rtnu-nav-cream-muted: #e2c1a3; 2750 --rtnu-nav-mobile-panel-grad-start: #2a1f16; 2751 --rtnu-nav-mobile-panel-grad-end: #302318; 2752 --rtnu-nav-dark-brown-border: #4b3e33; 2753 --rtnu-nav-divider: var(--rtnu-nav-divider-light); 2754 --rtnu-nav-highlight: #ffba00; 2755 --rtnu-nav-offset: 0px; 2756 --rtnu-nav-font: 'Source Sans Pro', sans-serif; 2757 --rtnu-nav-heading-font: var(--wayfx-heading-font, var(--wayfx-heading-torque, var(--rtnu-nav-font))); 2758 --rtnu-nav-focus: var(--rtnu-nav-accent); 2759 --rtnu-nav-header-height: 77px; 2760 --rtnu-nav-header-mobile-height: 68px; 2761 } 2762 2763 html.rtnu-nav-header-present .wayfx-main:not(.rtnu-main--alt) { 2764 padding-top: calc(var(--rtnu-nav-header-height, 77px) + var(--topbar-height, 0px)) !important; 2765 } 2766 2767 @media (max-width: 768px) { 2768 html.rtnu-nav-header-present .wayfx-main:not(.rtnu-main--alt) { 2769 padding-top: calc(var(--rtnu-nav-header-mobile-height, 68px) + var(--topbar-height, 0px)) !important; 2770 } 2771 } 2772 2773 .rtnu-nav-header { 2774 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2775 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2776 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2777 --rtnu-nav-bg-color: transparent; 2778 --rtnu-nav-divider: var(--rtnu-nav-divider-light); 2779 color: var(--rtnu-nav-text-color); 2780 font-family: var(--rtnu-nav-font); 2781 left: 0; 2782 margin-left: calc(50% - 50vw); 2783 margin-right: calc(50% - 50vw); 2784 position: fixed; 2785 top: var(--rtnu-nav-offset); 2786 transform: translate3d(0, 0, 0); 2787 transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1), top 220ms ease; 2788 width: 100%; 2789 will-change: transform, top; 2790 z-index: 75; 2791 overflow: visible; 2792 } 2793 2794 .rtnu-nav-header.rtnu-nav--active-scroll { 2795 --rtnu-nav-bg-color: var(--rtnu-nav-dark-brown); 2796 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2797 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2798 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2799 --rtnu-nav-divider: rgba(255, 255, 255, 0.08); 2800 } 2801 2802 .rtnu-nav-header.rtnu-nav-header--alt2, 2803 .rtnu-nav-header.rtnu-nav-header--alt2.rtnu-nav--active-scroll { 2804 --rtnu-nav-bg-color: var(--rtnu-nav-dark-brown); 2805 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2806 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2807 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2808 --rtnu-nav-divider: rgba(255, 255, 255, 0.18); 2809 } 2810 2811 .rtnu-nav-header.rtnu-nav-header--blog, 2812 .rtnu-nav-header.rtnu-nav-header--blog.rtnu-nav--active-scroll { 2813 --rtnu-nav-bg-color: var(--rtnu-nav-dark-brown); 2814 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2815 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2816 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2817 --rtnu-nav-divider: rgba(255, 255, 255, 0.18); 2818 } 2819 2820 .rtnu-nav-header.rtnu-nav--menu-open { 2821 --rtnu-nav-bg-color: var(--rtnu-nav-bg-active); 2822 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2823 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2824 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2825 --rtnu-nav-divider: rgba(255, 255, 255, 0.08); 2826 } 2827 2828 .rtnu-nav-header.rtnu-nav--scrolling-down { 2829 transform: translate3d(0, -100%, 0); 2830 } 2831 2832 .rtnu-nav-header.rtnu-nav--scrolling-up { 2833 transform: translate3d(0, 0, 0); 2834 } 2835 2836 .rtnu-nav-header.rtnu-header--blog ~ .wayfx-header__subnav { 2837 transition: none !important; 2838 } 2839 2840 .rtnu-nav-header.rtnu-header--blog ~ .wayfx-header__subnav.rtnu-blog-subnav-animating { 2841 transition: top 500ms cubic-bezier(0.22, 1, 0.36, 1) !important; 2842 } 2843 2844 .rtnu-nav-header.rtnu-nav--no-transition { 2845 transition: none !important; 2846 } 2847 2848 .rtnu-nav-desktop { 2849 background: var(--rtnu-nav-bg-color); 2850 border-top: 0; 2851 position: relative; 2852 transition: background-color 180ms ease; 2853 } 2854 2855 .rtnu-nav-header.rtnu-header--blog ~ main { 2856 padding-top: var(--rtnu-nav-header-height, 77px); 2857 } 2858 2859 .rtnu-nav-desktop.is-menu-open { 2860 background: var(--rtnu-nav-bg-active); 2861 } 2862 2863 .rtnu-nav-desktop__bar {
2864 align-items: stretch; 2865 display: grid; 2866 gap: 24px; 2867 grid-template-columns: minmax(180px, 1fr) auto minmax(220px, 1fr); 2868 height: 76px; 2869 margin: 0 auto; 2870 max-width: 1280px; 2871 padding: 0 24px; 2872 } 2873 2874 .rtnu-nav-logo { 2875 display: inline-flex; 2876 line-height: 0; 2877 color: var(--rtnu-nav-logo-color); 2878 width: 179px; 2879 } 2880 2881 .rtnu-nav-logo svg { 2882 display: block; 2883 height: auto; 2884 width: 100%; 2885 } 2886 2887 .rtnu-nav-menu ul { 2888 align-items: stretch; 2889 display: flex; 2890 gap: 40px; 2891 height: 100%; 2892 list-style: none; 2893 margin: 0; 2894 padding: 0; 2895 } 2896 2897 .rtnu-nav-menu { 2898 align-items: stretch; 2899 display: flex; 2900 height: 100%; 2901 } 2902 2903 .rtnu-nav-menu ul > li { 2904 align-items: stretch; 2905 display: flex; 2906 height: 100%; 2907 } 2908 2909 .rtnu-nav-menu__has-dropdown { 2910 align-items: stretch; 2911 display: flex; 2912 position: relative; 2913 } 2914 2915 .rtnu-nav-menu--secondary { 2916 justify-self: end; 2917 } 2918 2919 .rtnu-nav-menu__item-cart { 2920 margin-left: -16px; 2921 } 2922 2923 .rtnu-nav-menu a, 2924 .rtnu-nav-menu__trigger {
2925 align-items: center; 2926 color: var(--rtnu-nav-text-color); 2927 display: inline-flex; 2928 font-size: 18px; 2929 font-weight: 700; 2930 height: 100%; 2931 letter-spacing: 0.5px; 2932 line-height: 1; 2933 padding: 0; 2934 text-decoration: none; 2935 text-transform: uppercase; 2936 } 2937 2938 .rtnu-nav-menu__trigger { 2939 background: transparent; 2940 border: 0; 2941 cursor: pointer; 2942 gap: 6px; 2943 margin: 0; 2944 } 2945 2946 .rtnu-nav-menu__trigger svg { 2947 flex-shrink: 0; 2948 opacity: 0.5 !important; 2949 transform: rotate(0deg) !important; 2950 transition: opacity 180ms ease, transform 180ms ease; 2951 } 2952 2953 .rtnu-nav-menu__trigger[aria-expanded='true'] svg { 2954 opacity: 1 !important; 2955 transform: rotate(180deg) !important; 2956 } 2957 2958 .rtnu-nav-menu__trigger[aria-expanded='true'], 2959 .rtnu-nav-menu__trigger[aria-expanded='true'] span { 2960 color: var(--rtnu-nav-cream); 2961 } 2962 2963 .rtnu-nav-icon-link { 2964 align-items: center; 2965 color: var(--rtnu-nav-icon-color); 2966 display: inline-flex; 2967 height: 100%; 2968 justify-content: center; 2969 line-height: 0; 2970 padding: 0; 2971 position: relative; 2972 } 2973 2974 .rtnu-nav-menu--secondary a.rtnu-nav-icon-link:hover, 2975 .rtnu-nav-menu--secondary a.rtnu-nav-icon-link:focus-visible { 2976 color: var(--rtnu-nav-accent-desktop-hover); 2977 transition: color 0.2s ease; 2978 } 2979 2980 .rtnu-nav-cart-count { 2981 align-items: center; 2982 background: var(--rtnu-nav-accent); 2983 border-radius: 999px; 2984 color: var(--rtnu-nav-cream); 2985 display: inline-flex; 2986 font-size: 11px; 2987 font-weight: 700; 2988 height: 18px; 2989 justify-content: center; 2990 line-height: 1; 2991 min-width: 18px; 2992 padding: 0 4px; 2993 pointer-events: none; 2994 position: absolute; 2995 right: 0; 2996 top: 50%; 2997 transform: translate(50%, -100%); 2998 } 2999 3000 .rtnu-nav-panel { 3001 background: var(--rtnu-nav-bg-active); 3002 border-top: 1px solid rgba(255, 255, 255, 0.12); 3003 box-shadow: 0 12px 22px rgba(0, 0, 0, 0.25); 3004 left: 0; 3005 position: absolute; 3006 right: 0; 3007 top: 100%; 3008 transform: none; 3009 width: 100vw; 3010 max-width: 100vw; 3011 z-index: 11; 3012 } 3013 3014 .rtnu-nav-panel__inner { 3015 margin: 0 auto; 3016 max-width: 1280px; 3017 padding: 32px 24px 40px; 3018 } 3019 3020 .rtnu-nav-panel--mega .rtnu-nav-panel__inner { 3021 max-width: min(860px, calc(100vw - 48px)); 3022 padding: 0; 3023 } 3024 3025 .rtnu-nav-panel__heading { 3026 color: var(--rtnu-nav-cream-soft); 3027 font-size: 16px; 3028 font-weight: 700; 3029 letter-spacing: 0.8px; 3030 line-height: 1; 3031 margin: 0 0 20px; 3032 text-transform: uppercase; 3033 } 3034 3035 .rtnu-nav-shop-all { 3036 display: grid; 3037 grid-template-columns: 1fr 1fr 0.95fr; 3038 } 3039 3040 .rtnu-nav-panel--mega .rtnu-nav-shop-all { 3041 align-items: stretch; 3042 grid-template-columns: 269px 332px 258px; 3043 justify-content: center; 3044 } 3045 3046 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col { 3047 min-height: 100%; 3048 padding-bottom: 32px; 3049 padding-top: 40px; 3050 } 3051 3052 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--primary { 3053 border-right: 1px solid var(--rtnu-nav-divider); 3054 padding-right: 40px; 3055 } 3056 3057 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--categories { 3058 border-right: 1px solid var(--rtnu-nav-divider); 3059 padding-left: 40px; 3060 padding-right: 40px; 3061 } 3062 3063 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--support { 3064 padding-left: 40px; 3065 } 3066 3067 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--primary > .rtnu-nav-panel__heading, 3068 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--categories > .rtnu-nav-panel__heading { 3069 margin-bottom: 22px; 3070 } 3071 3072 .rtnu-nav-list { 3073 display: flex; 3074 flex-direction: column; 3075 list-style: none; 3076 margin: 0; 3077 padding: 0; 3078 } 3079 3080 .rtnu-nav-list a { 3081 align-items: center; 3082 color: var(--rtnu-nav-cream); 3083 display: flex; 3084 font-size: 20px; 3085 font-weight: 600; 3086 gap: 8px; 3087 line-height: 1; 3088 min-height: 44px; 3089 text-decoration: none; 3090 width: 100%; 3091 } 3092 3093 .rtnu-nav-link-label { 3094 display: inline-block; 3095 } 3096 3097 .rtnu-nav-panel--mega .rtnu-nav-subscribe-link { 3098 gap: 4px; 3099 } 3100 3101 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--primary .rtnu-nav-list a { 3102 align-items: flex-start; 3103 } 3104 3105 .rtnu-nav-subscribe-prefix { 3106 white-space: nowrap; 3107 } 3108 3109 .rtnu-nav-pill { 3110 background: var(--rtnu-nav-highlight); 3111 border-radius: 4px; 3112 color: var(--rtnu-nav-dark-brown); 3113 display: inline-flex; 3114 font-size: 13px; 3115 font-weight: 700; 3116 line-height: 1; 3117 padding: 3px 6px 2px; 3118 text-transform: none; 3119 white-space: nowrap; 3120 } 3121 3122 .rtnu-nav-pill--save { 3123 border-radius: 6px; 3124 font-size: 16px; 3125 font-weight: 600; 3126 letter-spacing: -0.1px; 3127 line-height: 1; 3128 padding: 2px 6px 4px; 3129 margin-left: 4px; 3130 } 3131 3132 .rtnu-nav-panel--mega .rtnu-nav-list a .rtnu-nav-pill { 3133 margin-left: 0; 3134 transform: none; 3135 } 3136 3137 .rtnu-nav-panel--mega .rtnu-nav-categories a .rtnu-nav-pill { 3138 margin-left: 0; 3139 } 3140 3141 .rtnu-nav-panel--mega .rtnu-nav-categories > li > a { 3142 justify-content: flex-start !important; 3143 } 3144 3145 .rtnu-nav-panel--mega .rtnu-nav-category-meta { 3146 display: inline-flex; 3147 flex: 0 1 auto; 3148 justify-content: flex-start !important; 3149 width: auto !important; 3150 } 3151 3152 .rtnu-nav-btn {
3153 align-items: center; 3154 background: var(--rtnu-nav-accent); 3155 border-radius: 8px; 3156 color: var(--rtnu-nav-cream); 3157 display: inline-flex; 3158 font-size: 16px; 3159 font-weight: 600; 3160 letter-spacing: 1px; 3161 line-height: 1; 3162 margin-top: 0; 3163 min-height: 46px; 3164 padding: 0 24px; 3165 text-decoration: none; 3166 text-transform: uppercase; 3167 transition: background-color 180ms ease; 3168 } 3169 3170 .rtnu-nav-btn:hover, 3171 .rtnu-nav-btn:focus-visible { 3172 background: var(--rtnu-nav-accent-hover); 3173 color: var(--rtnu-nav-cream); 3174 } 3175 3176 .rtnu-nav-categories { 3177 display: flex; 3178 flex-direction: column; 3179 list-style: none; 3180 margin: 0; 3181 padding: 0; 3182 } 3183 3184 .rtnu-nav-categories li + li { 3185 border-top: 1px solid var(--rtnu-nav-divider); 3186 } 3187 3188 .rtnu-nav-categories a { 3189 align-items: center; 3190 color: var(--rtnu-nav-cream); 3191 display: flex; 3192 font-size: 20px; 3193 font-weight: 600; 3194 gap: 10px; 3195 line-height: 1.2; 3196 min-height: 56px; 3197 text-decoration: none; 3198 width: 100%; 3199 } 3200 3201 .rtnu-nav-category-meta { 3202 align-items: center; 3203 display: inline-flex; 3204 gap: 8px; 3205 min-width: 0; 3206 } 3207 3208 .rtnu-nav-category-label { 3209 line-height: 1; 3210 } 3211 3212 .rtnu-nav-categories .rtnu-nav-pill { 3213 border-radius: 6px; 3214 font-size: 14px; 3215 font-weight: 600; 3216 letter-spacing: -0.1px; 3217 line-height: 0.9; 3218 padding: 2px 6px 4px; 3219 } 3220 3221 .rtnu-nav-categories img { 3222 display: block; 3223 flex: 0 0 40px; 3224 height: 52px; 3225 object-fit: contain; 3226 width: 40px; 3227 } 3228 3229 .rtnu-nav-support-card { 3230 align-self: center; 3231 border-left: 1px solid var(--rtnu-nav-divider); 3232 min-height: 190px; 3233 padding-left: 28px; 3234 } 3235 3236 .rtnu-nav-support-card p { 3237 color: var(--rtnu-nav-cream); 3238 font-size: 16px; 3239 font-weight: 400; 3240 line-height: 1.3; 3241 margin: 0 0 14px; 3242 max-width: 260px; 3243 } 3244 3245 .rtnu-nav-support-card .rtnu-nav-panel__heading { 3246 color: var(--rtnu-nav-cream-soft); 3247 font-size: 16px; 3248 font-weight: 700; 3249 letter-spacing: 0.8px; 3250 line-height: 1; 3251 margin: 0 0 20px; 3252 text-transform: uppercase; 3253 } 3254 3255 .rtnu-nav-support-action { 3256 align-items: center; 3257 background: none; 3258 border: 0; 3259 color: var(--rtnu-nav-accent-bright); 3260 cursor: pointer; 3261 display: inline-flex; 3262 font-size: 17px; 3263 font-weight: 600; 3264 gap: 6px; 3265 justify-content: center; 3266 line-height: 1; 3267 outline: none; 3268 padding: 0; 3269 text-decoration: underline; 3270 text-underline-offset: 4px; 3271 } 3272 3273 .rtnu-nav-support-action:hover, 3274 .rtnu-nav-support-action:focus-visible { 3275 text-decoration: none; 3276 } 3277 3278 .rtnu-nav-support-card__image-hit { 3279 background: none; 3280 border: 0; 3281 cursor: pointer; 3282 display: block; 3283 margin: 0 0 12px; 3284 padding: 0; 3285 } 3286 3287 .rtnu-nav-panel--mega .rtnu-nav-support-card { 3288 align-items: center; 3289 align-self: stretch; 3290 border-left: 0; 3291 display: flex; 3292 flex-direction: column; 3293 justify-content: flex-start; 3294 min-height: 0; 3295 padding-left: 0; 3296 text-align: center; 3297 } 3298 3299 .rtnu-nav-panel--mega .rtnu-nav-support-card__image { 3300 display: block; 3301 height: 104px; 3302 margin: 0; 3303 object-fit: cover; 3304 width: 217.853px; 3305 } 3306 3307 .rtnu-nav-panel--mega .rtnu-nav-support-card .rtnu-nav-panel__heading { 3308 margin: 0 0 10px; 3309 } 3310 3311 .rtnu-nav-panel--mega .rtnu-nav-categories > li > a { 3312 min-height: 0; 3313 padding: 10px 0; 3314 } 3315 3316 .rtnu-nav-panel--mega .rtnu-nav-categories > li:first-child > a { 3317 padding-top: 0; 3318 } 3319 3320 .rtnu-nav-panel--mega .rtnu-nav-btn { 3321 justify-content: center; 3322 min-height: 46px; 3323 margin-top: 4px; 3324 padding: 0 12px; 3325 width: 100%; 3326 } 3327 3328 .rtnu-nav-panel--mega .rtnu-nav-support-card__image-hit { 3329 width: 217.853px; 3330 } 3331 3332 .rtnu-nav-panel--mega .rtnu-nav-support-card__link { 3333 justify-content: center; 3334 min-height: 0; 3335 width: 100%; 3336 } 3337 3338 .rtnu-nav-panel--mega .rtnu-nav-support-card__link svg { 3339 transition: transform 180ms ease; 3340 } 3341 3342 .rtnu-nav-panel--mega .rtnu-nav-support-card__link:hover svg, 3343 .rtnu-nav-panel--mega .rtnu-nav-support-card__link:focus-visible svg { 3344 transform: translateX(4px); 3345 } 3346 3347 .rtnu-nav-panel--mega .rtnu-nav-support-card p:not(.rtnu-nav-panel__heading) { 3348 margin: 0 0 16px; 3349 max-width: 191px; 3350 } 3351
3352 .rtnu-nav-panel--legacy .rtnu-header__dropdown { 3353 background: transparent; 3354 border-top: 0; 3355 box-shadow: none; 3356 color: var(--rtnu-nav-cream); 3357 opacity: 1; 3358 pointer-events: auto; 3359 position: static; 3360 transform: none; 3361 visibility: visible; 3362 width: 100%; 3363 } 3364 3365 .rtnu-nav-panel--legacy .rtnu-wrapper { 3366 margin-inline: auto; 3367 max-width: 1336px; 3368 padding: 0 24px; 3369 } 3370 3371 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid { 3372 align-items: flex-start; 3373 display: grid; 3374 gap: clamp(1.5rem, -1.2042rem + 5.6338vw, 3.5rem); 3375 grid-template-columns: repeat(auto-fit, minmax(200px, auto)); 3376 margin-inline: auto; 3377 padding: 21px 0 28px; 3378 } 3379 3380 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item { 3381 display: flex; 3382 flex-direction: column; 3383 padding-top: 35px; 3384 } 3385 3386 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item p { 3387 color: var(--rtnu-nav-cream); 3388 font-size: 15px; 3389 font-weight: 600; 3390 letter-spacing: 1.5px; 3391 line-height: 1; 3392 margin: 0 0 1.5rem; 3393 text-transform: uppercase; 3394 } 3395
3396 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li + li { 3397 margin-top: 20px; 3398 } 3399 3400 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul, 3401 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li { 3402 list-style: none !important; 3403 margin: 0; 3404 padding: 0; 3405 } 3406 3407 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li::marker, 3408 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li::before { 3409 content: none !important; 3410 } 3411 3412 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li a { 3413 align-items: center; 3414 color: var(--rtnu-nav-accent-light); 3415 display: flex; 3416 font-size: 18px; 3417 gap: 10px; 3418 letter-spacing: 0.13px; 3419 line-height: 1; 3420 transition: color 180ms ease; 3421 } 3422 3423 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li a .icon { 3424 align-items: center; 3425 display: flex; 3426 height: 20px; 3427 justify-content: center; 3428 width: 20px; 3429 } 3430
3431 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li a:hover { 3432 color: var(--rtnu-nav-cream); 3433 text-decoration: underline; 3434 } 3435 3436 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item:first-of-type { 3437 background: rgba(255, 255, 255, 0.03); 3438 border-radius: 12px; 3439 padding: 35px 32px 32px; 3440 } 3441 3442 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item:first-of-type ul li a { 3443 font-weight: 600; 3444 } 3445 3446 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect { 3447 align-items: center; 3448 border-top: 1px solid var(--rtnu-nav-divider); 3449 display: flex; 3450 flex-direction: column; 3451 padding: 20px; 3452 text-align: center; 3453 } 3454 3455 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect p { 3456 color: var(--rtnu-nav-cream); 3457 font-size: 14px; 3458 font-weight: 600; 3459 letter-spacing: 1.5px; 3460 line-height: 1.2; 3461 margin: 0; 3462 text-transform: uppercase; 3463 } 3464 3465 .rtnu-nav-panel--legacy .rt
3465nu-header__dropdown-health .rtnu-header__dropdown-health-connect a, 3466 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect button { 3467 align-items: center; 3468 background: none; 3469 border: 0; 3470 color: var(--rtnu-nav-accent-light); 3471 cursor: pointer; 3472 display: flex; 3473 font-size: 15px; 3474 gap: 6px; 3475 justify-content: center; 3476 letter-spacing: 0.13px; 3477 line-height: 1; 3478 margin-top: 5px; 3479 outline: none; 3480 padding: 0; 3481 } 3482 3483 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect a svg, 3484 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect button svg { 3485 transition: transform 180ms ease; 3486 } 3487 3488 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect a:hover svg, 3489 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect button:hover svg { 3490 transform: translateX(5px); 3491 } 3492 3493 .rtnu-nav-support-action:focus-visible,
3494 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect a:focus-visible, 3495 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect button:focus-visible { 3496 outline: 2px solid var(--rtnu-nav-focus); 3497 outline-offset: 3px; 3498 border-radius: 2px; 3499 } 3500 3501 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-wrapper { 3502 max-width: 1336px; 3503 } 3504 3505 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid { 3506 display: grid; 3507 grid-template-columns: repeat(3, 1fr); 3508 } 3509 3510 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item { 3511 align-items: flex-start; 3512 border-bottom: 1px solid var(--rtnu-nav-divider); 3513 border-right: 1px solid var(--rtnu-nav-divider); 3514 color: var(--rtnu-nav-accent-light); 3515 display: flex; 3516 gap: 12px; 3517 padding: 42px 20px 40px; 3518 transition: background-color 240ms ease, color 240ms ease; 3519 } 3520 3521 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:last-child,
3522 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:nth-child(3) { 3523 border-right: none; 3524 } 3525 3526 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item .icon { 3527 height: auto; 3528 width: 44px; 3529 } 3530 3531 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item svg path { 3532 fill: var(--rtnu-nav-accent-light); 3533 transition: fill 240ms ease; 3534 } 3535 3536 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item h2 { 3537 color: inherit; 3538 font-family: var(--rtnu-nav-font); 3539 font-size: 20px; 3540 font-weight: 700; 3541 line-height: 20px; 3542 margin: 0 0 12px; 3543 text-transform: uppercase; 3544 transition: color 240ms ease; 3545 } 3546 3547 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item p { 3548 color: var(--rtnu-nav-cream-muted); 3549 font-size: 16px; 3550 line-height: 22px; 3551 max-width: 280px; 3552 transition: color 240ms ease; 3553 } 3554 3555 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:nth-child(6) svg path { 3556 fill: transparent; 3557 stroke: var(--rtnu-nav-accent-light); 3558 } 3559
3560 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:nth-child(6) p { 3561 max-width: 100%; 3562 } 3563 3564 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:nth-child(6):hover svg path { 3565 fill: transparent; 3566 stroke: var(--rtnu-nav-cream); 3567 } 3568 3569 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:hover { 3570 background: rgba(255, 255, 255, 0.02); 3571 } 3572 3573 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:hover h2 { 3574 color: var(--rtnu-nav-cream); 3575 text-decoration: underline; 3576 text-decoration-thickness: 2px; 3577 } 3578 3579 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:hover p { 3580 color: var(--rtnu-nav-cream); 3581 } 3582 3583 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:hover svg path { 3584 fill: var(--rtnu-nav-cream); 3585 } 3586 3587 .rtnu-nav-mobile { 3588 display: none; 3589 } 3590 3591 .rtnu-nav-desktop .rtnu-nav-menu a:hover { 3592 text-decoration: underline; 3593 text-underline-offset: 4px; 3594 text-decoration-thickness: 2px; 3595 } 3596 3597 .rtnu-nav-menu a:hover, 3598 .rtnu-nav-panel a:hover, 3599 .rtnu-nav-mobile a:hover, 3600 .rtnu-nav-mobile__jump:hover { 3601 color: inherit; 3602 } 3603 3604 .rtnu-nav-panel--mega .rtnu-nav-list a:hover, 3605 .rtnu-nav-panel--mega .rtnu-nav-list a:focus-visible, 3606 .rtnu-nav-panel--mega .rtnu-nav-categories a:hover, 3607 .rtnu-nav-panel--mega .rtnu-nav-categories a:focus-visible { 3608 color: var(--rtnu-nav-cream); 3609 text-decoration: none; 3610 } 3611 3612 .rtnu-nav-panel--mega .rtnu-nav-list a:hover .rtnu-nav-link-label, 3613 .rtnu-nav-panel--mega .rtnu-nav-list a:focus-visible .rtnu-nav-link-label, 3614 .rtnu-nav-panel--mega .rtnu-nav-list a:hover .rtnu-nav-subscribe-prefix, 3615 .rtnu-nav-panel--mega .rtnu-nav-list a:focus-visible .rtnu-nav-subscribe-prefix, 3616 .rtnu-nav-panel--mega .rtnu-nav-categories a:hover .rtnu-nav-category-label, 3617 .rtnu-nav-panel--mega .rtnu-nav-categories a:focus-visible .rtnu-nav-category-label { 3618 text-decoration: underline; 3619 text-decoration-thickness: 1px; 3620 text-underline-offset: 3px; 3621 } 3622 3623 .rtnu-nav-menu a:focus-visible, 3624 .rtnu-nav-panel a:focus-visible, 3625 .rtnu-nav-mobile a:focus-visible, 3626 .rtnu-nav-menu__trigger:focus-visible, 3627 .rtnu-nav-mobile__jump:focus-visible, 3628 .rtnu-nav-mobile__back:focus-visible, 3629 .rtnu-nav-mobile__toggle:focus-visible, 3630 .rtnu-nav-mobile summary:focus-visible { 3631 outline: 2px solid var(--rtnu-nav-focus); 3632 outline-offset: 3px; 3633 } 3634 3635 @media (max-width: 1024px) { 3636 .rtnu-nav-desktop { 3637 display: none; 3638 } 3639 3640 .rtnu-nav-mobile { 3641 background: var(--rtnu-nav-bg-color); 3642 border-top: 0; 3643 display: block; 3644 position: relative; 3645 } 3646 3647 .rtnu-nav-header.rtnu-header--blog ~ main { 3648 padding-top: var(--rtnu-nav-header-mobile-height, 68px); 3649 } 3650 3651 .rtnu-nav-mobile__bar { 3652 align-items: center; 3653 display: grid; 3654 grid-template-columns: 40px 1fr auto; 3655 height: 68px; 3656 padding: 0 20px; 3657 } 3658 3659 .rtnu-nav-logo--mobile { 3660 justify-self: center; 3661 width: 135px; 3662 } 3663 3664 .rtnu-nav-mobile__icons { 3665 align-items: center; 3666 display: flex; 3667 gap: 20px; 3668 justify-self: end; 3669 } 3670 3671 .rtnu-nav-mobile__toggle { 3672 background: transparent; 3673 border: 0; 3674 cursor: pointer; 3675 display: inline-block; 3676 height: 24px; 3677 padding: 0; 3678 position: relative; 3679 width: 24px; 3680 } 3681 3682 .rtnu-nav-mobile__toggle span { 3683 background: var(--rtnu-nav-icon-color); 3684 border-radius: 0; 3685 display: inline-block; 3686 height: 2px; 3687 left: 0; 3688 position: absolute; 3689 transition: transform 180ms ease, opacity 180ms ease, top 180ms ease; 3690 width: 24px; 3691 } 3692 3693 .rtnu-nav-mobile__toggle span:nth-child(1) { 3694 top: 3px; 3695 } 3696 3697 .rtnu-nav-mobile__toggle span:nth-child(2) { 3698 top: 11px; 3699 } 3700 3701 .rtnu-nav-mobile__toggle span:nth-child(3) { 3702 top: 19px; 3703 } 3704 3705 .rtnu-nav-mobile__toggle[aria-expanded='true'] span:nth-child(1) { 3706 top: 11px; 3707 transform: rotate(45deg); 3708 } 3709 3710 .rtnu-nav-mobile__toggle[aria-expanded='true'] span:nth-child(2) { 3711 opacity: 0; 3712 transform: scaleX(0); 3713 } 3714 3715 .rtnu-nav-mobile__toggle[aria-expanded='true'] span:nth-child(3) { 3716 top: 11px; 3717 transform: rotate(-45deg); 3718 } 3719 3720 .rtnu-nav-mobile__panel { 3721 background: var(--rtnu-nav-bg-active); 3722 border-top: 1px solid var(--rtnu-nav-divider); 3723 height: calc(100dvh - var(--rtnu-nav-offset) - var(--rtnu-nav-header-mobile-height, 68px)); 3724 left: 0; 3725 overflow: hidden; 3726 position: fixed; 3727 right: 0; 3728 top: var(--rtnu-nav-header-mobile-height, 68px); 3729 z-index: 90; 3730 } 3731 3732 .rtnu-nav-mobile__content { 3733 height: 100%; 3734 overflow-y: auto; 3735 padding: 20px 0 calc(114px + env(safe-area-inset-bottom, 0px)) 0; 3736 transform: translateX(0); 3737 opacity: 1; 3738 transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease; 3739 will-change: transform, opacity; 3740 } 3741 3742 .rtnu-nav-mobile__panel.is-subpanel-open .rtnu-nav-mobile__content { 3743 opacity: 0.22; 3744 pointer-events: none; 3745 transform: translateX(-16px); 3746 } 3747 3748 .rtnu-nav-mobile__group { 3749 border-bottom: 1px solid var(--rtnu-nav-divider); 3750 padding: 24px 20px; 3751 } 3752 3753 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:first-child { 3754 padding-top: 0; 3755 } 3756 3757 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:nth-child(-n + 2) { 3758 padding-bottom: 12px; 3759 } 3760 3761 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:nth-child(-n + 2) .rtnu-nav-mobile__links a, 3762 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:nth-child(-n + 2) .rtnu-nav-mobile__jump { 3763 font-size: 23px; 3764 } 3765 3766 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:nth-child(-n + 2) > .rtnu-nav-panel__heading { 3767 margin-bottom: 4px; 3768 } 3769 3770 .rtnu-nav-mobile__links, 3771 .rtnu-nav-mobile__footer-links { 3772 display: flex; 3773 flex-direction: column; 3774 list-style: none; 3775 margin: 0; 3776 padding: 0; 3777 } 3778 3779 .rtnu-nav-mobile__links a, 3780 .rtnu-nav-mobile__jump { 3781 color: var(--rtnu-nav-cream); 3782 font-size: 23px; 3783 font-weight: 600; 3784 line-height: 1; 3785 text-decoration: none; 3786 } 3787 3788 .rtnu-nav-mobile__jump { 3789 align-items: center; 3790 background: transparent; 3791 border: 0; 3792 cursor: pointer; 3793 display: inline-flex; 3794 gap: 10px; 3795 padding: 0; 3796 width: max-content; 3797 } 3798 3799 .rtnu-nav-mobile__subscription-link { 3800 align-items: flex-end; 3801 display: inline-flex; 3802 gap: 6px; 3803 } 3804 3805 .rtnu-nav-mobile__links > li > a, 3806 .rtnu-nav-mobile__links > li > .rtnu-nav-mobile__jump { 3807 align-items: center; 3808 display: inline-flex; 3809 min-height: 44px; 3810 width: 100%; 3811 } 3812 3813 .rtnu-nav-mobile__links > li > .rtnu-nav-mobile__jump { 3814 justify-content: flex-start; 3815 } 3816
3817 .rtnu-nav-mobile__subscription-link .rtnu-nav-subscribe-prefix { 3818 line-height: 1; 3819 } 3820 3821 .rtnu-nav-mobile__subscription-link .rtnu-nav-pill--save { 3822 font-size: 19px; 3823 line-height: 1; 3824 padding: 2px 6px; 3825 transform: translateY(-1px); 3826 margin-left: 0; 3827 } 3828 3829 .rtnu-nav-mobile__footer-links > a, 3830 .rtnu-nav-mobile__footer-links .rtnu-nav-mobile__jump { 3831 color: var(--rtnu-nav-cream); 3832 font-size: 16px; 3833 font-weight: 600; 3834 letter-spacing: 0.5px; 3835 line-height: 20px; 3836 text-decoration: none; 3837 text-transform: uppercase; 3838 } 3839 3840 .rtnu-nav-mobile__footer-links > a:visited, 3841 .rtnu-nav-mobile__footer-links > a:hover, 3842 .rtnu-nav-mobile__footer-links > a:focus-visible, 3843 .rtnu-nav-mobile__footer-links .rtnu-nav-mobile__jump:hover, 3844 .rtnu-nav-mobile__footer-links .rtnu-nav-mobile__jump:focus-visible { 3845 color: var(--rtnu-nav-cream); 3846 } 3847 3848 .rtnu-nav-mobile__footer-links { 3849 align-items: center; 3850 column-gap: 24px; 3851 flex-direction: row; 3852 flex-wrap: wrap; 3853 row-gap: 10px; 3854 } 3855 3856 .rtnu-nav-mobile__group.rtnu-nav-mobile__footer-links { 3857 border-bottom: 0; 3858 padding: 24px 20px; 3859 } 3860 3861 .rtnu-nav-mobile__jump svg { 3862 flex-shrink: 0; 3863 height: 18px; 3864 transition: transform 180ms ease; 3865 width: 11px; 3866 } 3867 3868 .rtnu-nav-mobile__jump[aria-expanded='true'] svg { 3869 transform: rotate(90deg); 3870 } 3871 3872 .rtnu-nav-mobile__subpanel { 3873 background: var(--rtnu-nav-bg-color); 3874 height: calc(100% - 114px); 3875 inset: 0; 3876 opacity: 0; 3877 overflow-y: auto; 3878 padding: 0 0 16px; 3879 pointer-events: none; 3880 position: absolute; 3881 transform: translateX(100%); 3882 transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1), opacity 500ms cubic-bezier(0.22, 1, 0.36, 1); 3883 will-change: transform, opacity; 3884 z-index: 2; 3885 } 3886 3887 .rtnu-nav-mobile__subpanel.is-active { 3888 opacity: 1; 3889 pointer-events: auto; 3890 transform: translateX(0); 3891 } 3892 3893 .rtnu-nav-mobile__back { 3894 align-items: center; 3895 background: transparent; 3896 border: 0; 3897 color: rgba(248, 230, 211, 0.6); 3898 cursor: pointer; 3899 display: inline-flex; 3900 gap: 12px; 3901 margin: 0 0 0 20px; 3902 padding: 32px 0 24px; 3903 touch-action: manipulation; 3904 text-transform: uppercase; 3905 } 3906 3907 .rtnu-nav-mobile__back span { 3908 color: inherit; 3909 font-size: 16px; 3910 font-weight: 600; 3911 letter-spacing: 1.5px; 3912 line-height: 1; 3913 } 3914 3915 .rtnu-nav-mobile__subpanel-title { 3916 color: var(--rtnu-nav-cream); 3917 font-family: var(--rtnu-nav-heading-font); 3918 font-size: 48px; 3919 font-weight: 400; 3920 letter-spacing: -4px; 3921 line-height: 36px; 3922 margin: 0 0 24px; 3923 padding: 0 20px; 3924 text-transform: uppercase; 3925 } 3926 3927 .rtnu-nav-mobile__subpanel-links { 3928 display: flex; 3929 flex-direction: column; 3930 list-style: none; 3931 margin: 0; 3932 padding: 0; 3933 } 3934 3935 .rtnu-nav-mobile__subpanel-links a { 3936 color: var(--rtnu-nav-accent-light); 3937 text-decoration: none; 3938 text-transform: none; 3939 } 3940 3941 .rtnu-nav-mobile__subpanel-links a:hover, 3942 .rtnu-nav-mobile__subpanel-links a:focus-visible { 3943 color: var(--rtnu-nav-cream); 3944 text-decoration: underline; 3945 text-decoration-thickness: 1px; 3946 text-underline-offset: 2px; 3947 } 3948 3949 .rtnu-nav-mobile__uses-group { 3950 padding: 0 20px; 3951 } 3952 3953 .rtnu-nav-mobile__uses-group:first-of-type { 3954 background: rgba(255, 255, 255, 0.05); 3955 border-radius: 12px; 3956 margin: 0 20px; 3957 padding: 24px 24px 32px; 3958 } 3959 3960 .rtnu-nav-mobile__uses-group + .rtnu-nav-mobile__uses-group { 3961 margin-top: 40px; 3962 padding: 0 20px; 3963 } 3964 3965 .rtnu-nav-mobile__uses-title { 3966 color: var(--rtnu-nav-cream); 3967 font-size: 16px; 3968 font-weight: 600; 3969 letter-spacing: 1.5px; 3970 line-height: 1; 3971 margin: 0 0 20px; 3972 text-transform: uppercase; 3973 } 3974 3975 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__uses-title { 3976 font-size: 19px; 3977 line-height: 1; 3978 margin-bottom: 14px; 3979 } 3980 3981 .rtnu-nav-mobile__uses-title span { 3982 color: rgba(248, 230, 211, 0.4); 3983 font-size: inherit; 3984 letter-spacing: inherit; 3985 text-transform: none; 3986 } 3987 3988 .rtnu-nav-mobile__uses-group--popular .rtnu-nav-mobile__subpanel-links--icon li + li { 3989 margin-top: 20px; 3990 } 3991 3992 .rtnu-nav-mobile__subpanel-links--icon li { 3993 display: block; 3994 } 3995 3996 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__subpanel-links--icon li + li { 3997 border-top: 1px solid var(--rtnu-nav-divider); 3998 } 3999 4000 .rtnu-nav-mobile__subpanel-links--icon a { 4001 align-items: center; 4002 display: flex; 4003 gap: 10px; 4004 letter-spacing: 0.13px; 4005 line-height: 1; 4006 } 4007 4008 .rtnu-nav-mobile__uses-group--popular .rtnu-nav-mobile__subpanel-links--icon a { 4009 font-size: 24px; 4010 font-weight: 600; 4011 } 4012 4013 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__subpanel-links--icon a { 4014 font-size: 20px; 4015 padding: 18px 0; 4016 width: 100%; 4017 } 4018 4019 .rtnu-nav-mobile__subpanel-links--icon a .icon { 4020 align-items: center; 4021 display: inline-flex; 4022 flex-shrink: 0; 4023 height: 24px; 4024 justify-content: center; 4025 width: 24px; 4026 } 4027 4028 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__subpanel-links--icon a .icon { 4029 height: 20px;
4030 width: 20px; 4031 } 4032 4033 .rtnu-nav-mobile__uses-group--popular .rtnu-nav-mobile__subpanel-links--icon a .icon svg { 4034 height: auto; 4035 width: 100%; 4036 } 4037 4038 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__subpanel-links--icon a .icon svg { 4039 height: 100%; 4040 width: auto; 4041 } 4042 4043 .rtnu-nav-mobile__health-connect { 4044 border-top: 1px solid var(--rtnu-nav-divider); 4045 display: flex; 4046 flex-direction: column; 4047 align-items: center; 4048 padding: 32px 20px 24px; 4049 text-align: center; 4050 } 4051 4052 .rtnu-nav-mobile__health-connect p { 4053 margin: 0; 4054 } 4055 4056 .rtnu-nav-mobile__health-connect .rtnu-nav-panel__heading { 4057 color: var(--rtnu-nav-cream); 4058 font-size: 16px; 4059 font-weight: 600; 4060 letter-spacing: 1.5px; 4061 line-height: 1.2; 4062 margin: 0; 4063 text-transform: uppercase; 4064 } 4065 4066 .rtnu-nav-mobile__health-connect p + p { 4067 color: var(--rtnu-nav-cream); 4068 font-size: 16px; 4069 font-weight: 600; 4070 letter-spacing: 1.5px; 4071 line-height: 1.2; 4072 margin-top: 4px; 4073 text-transform: uppercase; 4074 } 4075 4076 .rtnu-nav-mobile__learn-cards { 4077 display: grid; 4078 margin-top: -20px; 4079 } 4080 4081 .rtnu-nav-mobile__learn-cards .rtnu-grid__item { 4082 align-items: flex-start; 4083 border-bottom: 1px solid var(--rtnu-nav-divider); 4084 color: var(--rtnu-nav-accent-light); 4085 display: flex; 4086 gap: 12px; 4087 padding: 28px 20px; 4088 text-decoration: none; 4089 transition: background-color 500ms cubic-bezier(0.22, 1, 0.36, 1), color 500ms cubic-bezier(0.22, 1, 0.36, 1); 4090 } 4091 4092 .rtnu-nav-mobile__learn-cards .rtnu-grid__item .icon { 4093 align-items: center; 4094 display: flex; 4095 flex-shrink: 0; 4096 height: auto; 4097 width: 44px; 4098 } 4099 4100 .rtnu-nav-mobile__learn-cards .rtnu-grid__item .icon svg path { 4101 transition: fill 500ms cubic-bezier(0.22, 1, 0.36, 1); 4102 } 4103 4104 .rtnu-nav-mobile__learn-cards .rtnu-grid__item h2 { 4105 color: inherit; 4106 font-family: var(--rtnu-nav-font); 4107 font-size: 20px; 4108 font-weight: 700; 4109 line-height: 20px; 4110 margin: 0 0 12px; 4111 text-transform: uppercase; 4112 transition: color 500ms cubic-bezier(0.22, 1, 0.36, 1); 4113 } 4114 4115 .rtnu-nav-mobile__learn-cards .rtnu-grid__item p { 4116 color: var(--rtnu-nav-cream-muted); 4117 font-size: 17px; 4118 letter-spacing: 0.13px; 4119 line-height: 22px; 4120 margin: 0; 4121 transition: color 500ms cubic-bezier(0.22, 1, 0.36, 1); 4122 } 4123 4124 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:hover, 4125 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:focus-visible { 4126 background: rgba(255, 255, 255, 0.02); 4127 color: var(--rtnu-nav-cream); 4128 text-decoration: none; 4129 } 4130 4131 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:hover p, 4132 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:focus-visible p { 4133 color: var(--rtnu-nav-cream); 4134 } 4135 4136 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:hover .icon svg path, 4137 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:focus-visible .icon svg path { 4138 fill: var(--rtnu-nav-cream); 4139 } 4140 4141 .rtnu-nav-categories--mobile a { 4142 font-size: 23px; 4143 min-height: 74px; 4144 padding: 10px 0; 4145 } 4146 4147 .rtnu-nav-categories--mobile img { 4148 flex-basis: 40px; 4149 height: 52px; 4150 width: 40px; 4151 } 4152 4153 .rtnu-nav-support-card--mobile { 4154 align-items: center; 4155 border-left: 0; 4156 display: flex; 4157 justify-content: space-between; 4158 min-height: 0; 4159 position: relative; 4160 } 4161 4162 .rtnu-nav-support-card--mobile .rtnu-nav-mobile__support-copy { 4163 max-width: 185px; 4164 position: relative; 4165 z-index: 2; 4166 } 4167 4168 .rtnu-nav-support-card--mobile p { 4169 margin: 0; 4170 font-size: 15px; 4171 max-width: 200px; 4172 } 4173 4174 .rtnu-nav-support-card--mobile .rtnu-nav-panel__heading { 4175 color: var(--rtnu-nav-cream-soft); 4176 font-size: 15px; 4177 font-weight: 700; 4178 letter-spacing: 0.8px; 4179 line-height: 1; 4180 margin: 0 0 12px; 4181 text-transform: uppercase; 4182 max-width: none; 4183 } 4184 4185 .rtnu-nav-support-card--mobile p + p { 4186 margin-top: 0; 4187 max-width: 185px; 4188 } 4189 4190 .rtnu-nav-mobile__health-connect .rtnu-nav-support-action { 4191 color: var(--rtnu-nav-accent-light); 4192 font-size: 17px; 4193 font-weight: 600; 4194 letter-spacing: 0.13px; 4195 line-height: 1; 4196 margin-top: 5px; 4197 text-decoration-thickness: 1px; 4198 text-underline-offset: 2px; 4199 } 4200 4201 .rtnu-nav-support-card--mobile .rtnu-nav-support-action { 4202 margin-top: 12px; 4203 text-decoration-thickness: 1px; 4204 text-underline-offset: 2px; 4205 } 4206 4207 .rtnu-nav-mobile__support-team-btn { 4208 align-self: center; 4209 background: none; 4210 border: 0; 4211 cursor: pointer; 4212 flex: 0 0 166.667px; 4213 margin-left: 0; 4214 margin-right: -8px; 4215 padding: 0; 4216 } 4217 4218 .rtnu-nav-mobile__support-team { 4219 display: block; 4220 height: 80px; 4221 max-width: none; 4222 object-fit: cover; 4223 width: 100%; 4224 } 4225 4226 .rtnu-nav-mobile__sticky-cta { 4227 background: var(--rtnu-nav-dark-brown); 4228 border: 1px solid var(--rtnu-nav-dark-brown-border); 4229 border-bottom: 0; 4230 border-top-left-radius: 16px; 4231 border-top-right-radius: 16px; 4232 box-shadow: 0 -4px 20px 0 #463425; 4233 left: 0; 4234 padding: 12px 20px calc(14px + env(safe-area-inset-bottom, 0px)); 4235 position: absolute; 4236 right: 0; 4237 top: auto; 4238 bottom: 0; 4239 z-index: 3; 4240 } 4241 4242 .rtnu-nav-btn--mobile { 4243 border-radius: 8px; 4244 font-size: 16px; 4245 letter-spacing: 1px; 4246 line-height: 0.9; 4247 justify-content: center; 4248 margin-top: 0; 4249 min-height: 48px; 4250 width: 100%; 4251 } 4252 4253 .rtnu-nav-mobile__trust-row { 4254 align-items: center; 4255 color: var(--rtnu-nav-cream); 4256 display: flex; 4257 font-size: 13px; 4258 font-weight: 600; 4259 gap: 12px; 4260 justify-content: center; 4261 margin-top: 8px; 4262 opacity: 1; 4263 } 4264 4265 .rtnu-nav-mobile__trust-item { 4266 align-items: center; 4267 display: inline-flex; 4268 gap: 4px; 4269 line-height: 1; 4270 white-space: nowrap; 4271 } 4272 4273 .rtnu-nav-mobile__trust-item svg { 4274 color: var(--rtnu-nav-accent); 4275 flex-shrink: 0; 4276 } 4277 4278 .rtnu-nav-mobile__icons .rtnu-nav-icon-link { 4279 color: var(--rtnu-nav-icon-color); 4280 } 4281 4282 .rtnu-nav-mobile__icons .rtnu-nav-icon-link svg path { 4283 fill: currentColor; 4284 } 4285 4286 body.rtnu-nav-mobile-open .personalized-support-btn { 4287 display: none !important; 4288 } 4289 4290 body.rtnu-nav-mobile-open .rtnu-nav-header, 4291 body.rtnu-nav-mobile-open .rtnu-nav-mobile__panel { 4292 z-index: 2147483646; 4293 } 4294 4295 body.rtnu-nav-mobile-open .fancybox-container { 4296 z-index: 2147483647 !important; 4297 } 4298 4299 body.rtnu-nav-mobile-open #ps__widget_container { 4300 display: none !important; 4301 opacity: 0 !important; 4302 pointer-events: none !important; 4303 visibility: hidden !important; 4304 } 4305 } 4306 4307 @media (prefers-reduced-motion: reduce) { 4308 .rtnu-nav-header { 4309 transition: none; 4310 } 4311 } 4312 4313 /* Revert mobile nav bar to default brown when menu is open */ 4314 .rtnu-nav-mobile-open .rtnu-nav-header .rtnu-nav-mobile { 4315 background: var(--rtnu-nav-bg-active); 4316 } 4317</style> 4318
4319<script> 4320 (() => { 4321 const root = document.querySelector('.rtnu-nav-header'); 4322 if (!root) return; 4323 4324 const canHover = window.matchMedia('(hover: hover) and (pointer: fine)'); 4325 const hideOnScroll = root.dataset.hideOnScroll !== '0'; 4326 const isBlogVariant = root.dataset.navVariant === 'blog'; 4327 const adminBar = document.getElementById('wpadminbar'); 4328 const topbarSelectors = ['.rtnu-topbar', '.wayfx-topbar', '.hp-top-bar', '.ab30stack__topbar']; 4329 const HIDE_SCROLL_DISTANCE = 18; 4330 const SHOW_SCROLL_DISTANCE = 10; 4331 const MIN_SCROLL_DELTA = 1; 4332 const BLOG_SUBNAV_ANIMATION_MS = 500; 4333 4334 let lastScrollY = window.scrollY || window.pageYOffset || 0; 4335 let isHeaderVisible = true; 4336 let isDesktopMenuOpen = false; 4337 let isMobileMenuOpen = false; 4338 let rafPending = false; 4339 let downScrollDistance = 0; 4340 let upScrollDistance = 0; 4341 let blogSubnavVisibility = true; 4342 let blogSubnavAnimationTimer = null; 4343 let blogSubnav = null; 4344 4345 const getBlogSubnav = () => { 4346 if (blogSubnav && document.body.contains(blogSubnav)) return blogSubnav; 4347 blogSubnav = document.querySelector('.wayfx-header__subnav'); 4348 return blogSubnav; 4349 }; 4350 4351 const getAdminOffset = () => { 4352 if (!adminBar) return 0; 4353 const styles = window.getComputedStyle(adminBar); 4354 if (styles.display === 'none' || styles.visibility === 'hidden') return 0; 4355 return Math.max(0, adminBar.getBoundingClientRect().height || 0); 4356 }; 4357 4358 const getVisibleTopbarHeight = () => { 4359 let visibleHeight = 0; 4360 4361 topbarSelectors.forEach((selector) => { 4362 const element = document.querySelector(selector); 4363 if (!element || element === root) return; 4364 4365 const styles = window.getComputedStyle(element); 4366 if (styles.display === 'none' || styles.visibility === 'hidden') return; 4367 4368 const rect = element.getBoundingClientRect(); 4369 visibleHeight += Math.max(0, Math.min(rect.height, rect.bottom)); 4370 }); 4371 4372 return visibleHeight; 4373 }; 4374 4375 const getDesktopHeight = () => root.querySelector('.rtnu-nav-desktop')?.offsetHeight || 76; 4376 const getMobileHeight = () => root.querySelector('.rtnu-nav-mobile')?.offsetHeight || 68; 4377 const getCurrentNavHeight = () => (window.innerWidth <= 1024 ? getMobileHeight() : getDesktopHeight()); 4378 4379 const normalizeText = (value) => (value || '').replace(/\s+/g, ' ').trim(); 4380 4381 const getLinkText = (link) => { 4382 const dataLabel = normalizeText(link.getAttribute('data-nav-label')); 4383 if (dataLabel) return dataLabel; 4384 4385 if (link.classList.contains('rtnu-nav-logo')) { 4386 return 'Heart & Soil'; 4387 } 4388 4389 if (link.classList.contains('rtnu-nav-icon-link')) { 4390 const iconAriaLabel = normalizeText(link.getAttribute('aria-label')); 4391 if (/account/i.test(iconAriaLabel)) return 'Account'; 4392 if (/cart/i.test(iconAriaLabel)) return 'Cart'; 4393 } 4394 4395 const preferredLabelSelectors = ['.rtnu-nav-link-label', '.rtnu-nav-category-label', '.text h2', 'h2']; 4396 for (const selector of preferredLabelSelectors) { 4397 const labelElement = link.querySelector(selector); 4398 const labelText = normalizeText(labelElement?.textContent); 4399 if (labelText) return labelText; 4400 } 4401 4402 const ownText = normalizeText( 4403 Array.from(link.childNodes) 4404 .filter((node) => node.nodeType === Node.TEXT_NODE) 4405 .map((node) => node.textContent || '') 4406 .join(' ') 4407 ); 4408 if (ownText) return ownText; 4409 4410 const textContent = normalizeText(link.textContent); 4411 if (textContent) return textContent; 4412 4413 const ariaLabel = normalizeText(link.getAttribute('aria-label')).replace(/\s*-\s*go home$/i, ''); 4414 if (ariaLabel) return ariaLabel; 4415 4416 const title = normalizeText(link.getAttribute('title')); 4417 if (title) return title; 4418 4419 return 'unlabeled_link'; 4420 }; 4421 4422 const emitNavClick = (payload) => { 4423 if (!Array.isArray(window.dataLayer)) { 4424 window.dataLayer = []; 4425 } 4426 4427 window.dataLayer.push({ event: 'nav_click', ...payload }); 4428 }; 4429 4430 root.addEventListener('click', (event) => { 4431 if (!(event.target instanceof Element)) return; 4432 4433 const link = event.target.closest('a[href]'); 4434 if (!link || !root.contains(link)) return; 4435 4436 const payload = { 4437 menu_section: link.closest('[data-menu-section]')?.dataset.menuSection || 'primary', 4438 link_text: getLinkText(link), 4439 link_url: link.getAttribute('href') || link.href, 4440 source_platform: 'wordpress', 4441 }; 4442 4443 emitNavClick(payload); 4444 }); 4445 4446 const setHeaderVisible = (visible) => { 4447 isHeaderVisible = visible; 4448 root.classList.toggle('rtnu-nav--scrolling-down', !visible); 4449 root.classList.toggle('rtnu-nav--scrolling-up', visible); 4450 }; 4451 4452 const syncMenuOpenClass = () => { 4453 root.classList.toggle('rtnu-nav--menu-open', isDesktopMenuOpen || isMobileMenuOpen); 4454 }; 4455 4456 const updateOffsets = () => { 4457 const adminOffset = getAdminOffset(); 4458 const topbarVisible = getVisibleTopbarHeight(); 4459 const totalOffset = Math.max(0, Math.round(adminOffset + topbarVisible)); 4460 4461 document.documentElement.style.setProperty('--rtnu-nav-offset', `${totalOffset}px`); 4462 document.documentElement.style.setProperty('--topbar-height', `${totalOffset}px`); 4463 document.documentElement.style.setProperty('--rtnu-nav-header-height', `${getDesktopHeight()}px`); 4464 document.documentElement.style.setProperty('--rtnu-nav-header-mobile-height', `${getMobileHeight()}px`); 4465 4466 const activeBlogSubnav = getBlogSubnav(); 4467 if (isBlogVariant || activeBlogSubnav) { 4468 const subnavTop = totalOffset + (isHeaderVisible ? getCurrentNavHeight() : 0); 4469 if (activeBlogSubnav) { 4470 const shouldAnimate = 4471 blogSubnavVisibility !== null && 4472 blogSubnavVisibility !== isHeaderVisible; 4473 4474 if (shouldAnimate) { 4475 activeBlogSubnav.classList.add('rtnu-blog-subnav-animating'); 4476 if (blogSubnavAnimationTimer) { 4477 window.clearTimeout(blogSubnavAnimationTimer); 4478 } 4479 blogSubnavAnimationTimer = window.setTimeout(() => { 4480 activeBlogSubnav.classList.remove('rtnu-blog-subnav-animating'); 4481 blogSubnavAnimationTimer = null; 4482 }, BLOG_SUBNAV_ANIMATION_MS); 4483 } 4484 4485 activeBlogSubnav.style.setProperty('top', `${Math.max(0, Math.round(subnavTop))}px`); 4486 blogSubnavVisibility = isHeaderVisible; 4487 } 4488 } 4489 }; 4490 4491 const applyScrollState = () => { 4492 const currentScrollY = window.scrollY || window.pageYOffset || 0; 4493 const delta = currentScrollY - lastScrollY; 4494 const absDelta = Math.abs(delta); 4495 const isAtTop = currentScrollY <= 2; 4496 const topbarVisible = getVisibleTopbarHeight(); 4497 4498 root.classList.toggle('rtnu-nav--active-scroll', !isAtTop || topbarVisible < 1); 4499 4500 if (isAtTop) { 4501 downScrollDistance = 0; 4502 upScrollDistance = 0; 4503 } 4504 4505 if (!hideOnScroll || isDesktopMenuOpen || isMobileMenuOpen || isAtTop) { 4506 downScrollDistance = 0; 4507 upScrollDistance = 0; 4508 setHeaderVisible(true); 4509 } else if (absDelta >= MIN_SCROLL_DELTA) { 4510 if (delta > 0) { 4511 downScrollDistance += delta; 4512 upScrollDistance = 0; 4513 4514 if (downScrollDistance >= HIDE_SCROLL_DISTANCE) { 4515 setHeaderVisible(false); 4516 } 4517 } else { 4518 upScrollDistance += Math.abs(delta); 4519 downScrollDistance = 0; 4520 4521 if (upScrollDistance >= SHOW_SCROLL_DISTANCE) { 4522 setHeaderVisible(true); 4523 } 4524 } 4525 } 4526 4527 updateOffsets(); 4528 lastScrollY = currentScrollY; 4529 }; 4530 4531 const requestSync = () => { 4532 if (rafPending) return; 4533 rafPending = true; 4534 4535 window.requestAnimationFrame(() => { 4536 rafPending = false;
4537 applyScrollState(); 4538 }); 4539 }; 4540 4541 { 4542 const desktop = root.querySelector('.rtnu-nav-desktop'); 4543 const triggers = Array.from(root.querySelectorAll('.rtnu-nav-menu__trigger[aria-controls]')); 4544 const panels = Array.from(root.querySelectorAll('.rtnu-nav-panel[id]')); 4545 const panelById = new Map(panels.map((panel) => [panel.id, panel])); 4546 const dropdownItems = Array.from(root.querySelectorAll('.rtnu-nav-menu__has-dropdown')); 4547 const focusableSelector = 'a[href],button:not([disabled]),[tabindex]:not([tabindex="-1"])'; 4548 4549 let activePanelId = null; 4550 let closeTimer = null; 4551 let safetyCleanup = null; 4552 4553 const isElementVisible = (element) => { 4554 if (!element || element.closest('[hidden]')) return false; 4555 const styles = window.getComputedStyle(element); 4556 return styles.display !== 'none' && styles.visibility !== 'hidden'; 4557 }; 4558 4559 const getFocusableElements = (container) => { 4560 if (!container) return []; 4561 return Array.from(container.querySelectorAll(focusableSelector)).filter((element) => { 4562 if (!(element instanceof HTMLElement)) return false; 4563 if (element.tabIndex < 0) return false; 4564 return isElementVisible(element); 4565 }); 4566 }; 4567 4568 const getTriggerByPanelId = (panelId) => 4569 triggers.find((trigger) => trigger.getAttribute('aria-controls') === panelId) || null; 4570 4571 const clearCloseTimer = () => { 4572 if (closeTimer) { 4573 window.clearTimeout(closeTimer); 4574 closeTimer = null; 4575 } 4576 }; 4577 4578 const isPointInTriangle = (px, py, ax, ay, bx, by, cx, cy) => { 4579 const d1 = (px - bx) * (ay - by) - (ax - bx) * (py - by); 4580 const d2 = (px - cx) * (by - cy) - (bx - cx) * (py - cy); 4581 const d3 = (px - ax) * (cy - ay) - (cx - ax) * (py - ay); 4582 const hasNeg = d1 < 0 || d2 < 0 || d3 < 0; 4583 const hasPos = d1 > 0 || d2 > 0 || d3 > 0; 4584 return !(hasNeg && hasPos); 4585 }; 4586 4587 const cleanupSafetyZone = () => { 4588 if (safetyCleanup) { 4589 safetyCleanup(); 4590 safetyCleanup = null; 4591 } 4592 }; 4593 4594 const startSafetyTracking = (exitEvent) => { 4595 cleanupSafetyZone(); 4596 4597 if (!activePanelId) { 4598 scheduleDesktopClose(); 4599 return; 4600 } 4601 4602 const panel = panelById.get(activePanelId); 4603 if (!panel) { 4604 scheduleDesktopClose(); 4605 return; 4606 } 4607 4608 const exitX = exitEvent.clientX; 4609 const exitY = exitEvent.clientY; 4610 const rect = panel.getBoundingClientRect(); 4611 4612 const onMove = (event) => { 4613 const mx = event.clientX; 4614 const my = event.clientY; 4615 4616 if (my < exitY) { 4617 cleanup(); 4618 scheduleDesktopClose(); 4619 return; 4620 } 4621 4622 if (!isPointInTriangle(mx, my, exitX, exitY, rect.left, rect.top, rect.right, rect.top)) { 4623 cleanup(); 4624 scheduleDesktopClose(); 4625 } 4626 }; 4627 4628 const fallbackTimer = window.setTimeout(() => { 4629 cleanup(); 4630 scheduleDesktopClose(); 4631 }, 700); 4632 4633 const cleanup = () => { 4634 document.removeEventListener('pointermove', onMove); 4635 window.clearTimeout(fallbackTimer); 4636 safetyCleanup = null; 4637 }; 4638 4639 document.addEventListener('pointermove', onMove); 4640 safetyCleanup = cleanup; 4641 }; 4642 4643 const setDesktopOpenState = (isOpen) => { 4644 isDesktopMenuOpen = isOpen; 4645 if (desktop) { 4646 desktop.classList.toggle('is-menu-open', isOpen); 4647 } 4648 syncMenuOpenClass(); 4649 if (isOpen) { 4650 setHeaderVisible(true); 4651 } 4652 requestSync(); 4653 }; 4654 4655 const closeDesktopMenus = () => { 4656 clearCloseTimer(); 4657 cleanupSafetyZone(); 4658 4659 panels.forEach((panel) => { 4660 panel.hidden = true; 4661 }); 4662 4663 triggers.forEach((trigger) => { 4664 trigger.setAttribute('aria-expanded', 'false'); 4665 }); 4666 4667 activePanelId = null; 4668 setDesktopOpenState(false); 4669 }; 4670 4671 const openDesktopMenu = (panelId) => { 4672 if (!panelById.has(panelId)) return; 4673 clearCloseTimer(); 4674 cleanupSafetyZone(); 4675 activePanelId = panelId; 4676
4677 panels.forEach((panel) => { 4678 panel.hidden = panel.id !== panelId; 4679 }); 4680 4681 triggers.forEach((trigger) => { 4682 trigger.setAttribute('aria-expanded', trigger.getAttribute('aria-controls') === panelId ? 'true' : 'false'); 4683 }); 4684 4685 setDesktopOpenState(true); 4686 }; 4687 4688 const toggleDesktopMenu = (panelId) => { 4689 if (!panelId) return; 4690 if (panelId === activePanelId) { 4691 closeDesktopMenus(); 4692 return; 4693 } 4694 openDesktopMenu(panelId); 4695 }; 4696 4697 const scheduleDesktopClose = () => { 4698 if (!canHover.matches) return; 4699 clearCloseTimer(); 4700 closeTimer = window.setTimeout(() => { 4701 closeDesktopMenus(); 4702 }, 150); 4703 }; 4704 4705 triggers.forEach((trigger) => { 4706 trigger.addEventListener('click', () => { 4707 toggleDesktopMenu(trigger.getAttribute('aria-controls')); 4708 }); 4709 4710 trigger.addEventListener('keydown', (event) => { 4711 if (event.key === 'Enter' || event.key === ' ') { 4712 event.preventDefault(); 4713 toggleDesktopMenu(trigger.getAttribute('aria-controls')); 4714 return; 4715 } 4716 4717 if (event.key === 'Tab' && !event.shiftKey) { 4718 const panelId = trigger.getAttribute('aria-controls'); 4719 if (!panelId || panelId !== activePanelId) return; 4720 4721 const panel = panelById.get(panelId); 4722 if (!panel || panel.hidden) return; 4723 4724 const panelFocusables = getFocusableElements(panel); 4725 if (!panelFocusables.length) return; 4726 4727 event.preventDefault(); 4728 panelFocusables[0].focus(); 4729 } 4730 }); 4731 }); 4732 4733 dropdownItems.forEach((item) => { 4734 const trigger = item.querySelector('.rtnu-nav-menu__trigger[aria-controls]'); 4735 const panelId = trigger ? trigger.getAttribute('aria-controls') : null; 4736 if (!panelId) return; 4737 4738 item.addEventListener('pointerenter', () => { 4739 if (!canHover.matches) return; 4740 openDesktopMenu(panelId); 4741 }); 4742 4743 item.addEventListener('pointerleave', (event) => { 4744 if (!canHover.matches) return; 4745 startSafetyTracking(event); 4746 }); 4747 }); 4748 4749 panels.forEach((panel) => { 4750 panel.addEventListener('pointerenter', () => { 4751 clearCloseTimer(); 4752 cleanupSafetyZone(); 4753 }); 4754 panel.addEventListener('pointerleave', () => { 4755 scheduleDesktopClose(); 4756 }); 4757 }); 4758 4759 if (desktop) { 4760 desktop.addEventListener('keydown', (event) => { 4761 if (event.key === 'Escape') { 4762 closeDesktopMenus(); 4763 return; 4764 } 4765 4766 if (event.key !== 'Tab' || !activePanelId) return; 4767 4768 const panel = panelById.get(activePanelId); 4769 if (!panel || panel.hidden) return; 4770 4771 const trigger = getTriggerByPanelId(activePanelId); 4772 if (!trigger) return; 4773 4774 const panelFocusables = getFocusableElements(panel); 4775 if (!panelFocusables.length) return; 4776 4777 const trapTargets = [trigger, ...panelFocusables]; 4778 const firstTarget = trapTargets[0]; 4779 const lastTarget = trapTargets[trapTargets.length - 1]; 4780 const activeElement = document.activeElement; 4781 4782 if (!trapTargets.includes(activeElement)) return; 4783 4784 if (!event.shiftKey && activeElement === lastTarget) { 4785 event.preventDefault(); 4786 firstTarget.focus(); 4787 return; 4788 } 4789 4790 if (event.shiftKey && activeElement === firstTarget) { 4791 event.preventDefault(); 4792 lastTarget.focus(); 4793 } 4794 }); 4795 } 4796 4797 document.addEventListener('click', (event) => { 4798 if (!desktop || !desktop.contains(event.target)) { 4799 closeDesktopMenus(); 4800 } 4801 }); 4802 4803 closeDesktopMenus(); 4804 4805 const mobileToggle = root.querySelector('.rtnu-nav-mobile__toggle'); 4806 const mobilePanel = root.querySelector('.rtnu-nav-mobile__panel'); 4807 const mobileSubpanels = Array.from(root.querySelectorAll('.rtnu-nav-mobile__subpanel[id]')); 4808 const mobileSubmenuTriggers = Array.from(root.querySelectorAll('.rtnu-nav-mobile__jump--submenu[aria-controls]')); 4809 const mobileBackButtons = Array.from(root.querySelectorAll('.rtnu-nav-mobile__back')); 4810 const mobileHealthPopular = root.querySelector('[data-rtnu-mobile-health-popular]'); 4811 const mobileHealthAll = root.querySelector('[data-rtnu-mobile-health-all]'); 4812 const mobileLearnCards = root.querySelector('[data-rtnu-mobile-learn-cards]'); 4813 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)'); 4814 const mobileSubpanelTransitionMs = 500; 4815 let activeMobileSubpanel = null; 4816 let mobileSubpanelTimer = null; 4817 4818 const syncMobileSubmenuOpenState = () => { 4819 if (!mobilePanel) return; 4820 mobilePanel.classList.toggle('is-subpanel-open', Boolean(activeMobileSubpanel)); 4821 }; 4822 4823 const clearMobileSubpanelTimer = () => { 4824 if (mobileSubpanelTimer) { 4825 window.clearTimeout(mobileSubpanelTimer); 4826 mobileSubpanelTimer = null; 4827 } 4828 }; 4829 4830 const hideMobileSubpanel = (panel, { immediate = false } = {}) => { 4831 if (!panel) return; 4832 clearMobileSubpanelTimer(); 4833 4834 if (immediate || prefersReducedMotion.matches) { 4835 panel.classList.remove('is-active'); 4836 panel.hidden = true; 4837 if (activeMobileSubpanel === panel) { 4838 activeMobileSubpanel = null; 4839 syncMobileSubmenuOpenState(); 4840 } 4841 return; 4842 } 4843 4844 const wasActivePanel = activeMobileSubpanel === panel; 4845 panel.classList.remove('is-active'); 4846 if (wasActivePanel) { 4847 activeMobileSubpanel = null; 4848 syncMobileSubmenuOpenState(); 4849 } 4850 4851 mobileSubpanelTimer = window.setTimeout(() => { 4852 panel.hidden = true; 4853 mobileSubpanelTimer = null; 4854 }, mobileSubpanelTransitionMs); 4855 }; 4856 4857 const showMobileSubpanel = (panel) => { 4858 if (!panel) return; 4859 clearMobileSubpanelTimer(); 4860 panel.hidden = false;
4861 4862 if (prefersReducedMotion.matches) { 4863 panel.classList.add('is-active'); 4864 activeMobileSubpanel = panel; 4865 syncMobileSubmenuOpenState(); 4866 return; 4867 } 4868 4869 panel.classList.remove('is-active'); 4870 window.requestAnimationFrame(() => { 4871 window.requestAnimationFrame(() => { 4872 panel.classList.add('is-active'); 4873 }); 4874 }); 4875 activeMobileSubpanel = panel; 4876 syncMobileSubmenuOpenState(); 4877 }; 4878 4879 const hydrateMobileSubmenuContent = () => { 4880 const renderLinkList = (target, links) => { 4881 if (!target) return; 4882 target.innerHTML = ''; 4883 links.forEach((link) => { 4884 const item = document.createElement('li'); 4885 item.appendChild(link.cloneNode(true)); 4886 target.appendChild(item); 4887 }); 4888 }; 4889 4890 if (mobileHealthPopular || mobileHealthAll) { 4891 const healthGrid = root.querySelector( 4892 '[id^="rtnu-nav-panel-health-goals-"] .rtnu-header__dropdown-health .rtnu-grid' 4893 ); 4894 if (healthGrid) { 4895 const firstColumn = healthGrid.querySelector('.rtnu-grid__item ul'); 4896 const popularLinks = firstColumn ? Array.from(firstColumn.querySelectorAll('li > a')).slice(0, 5) : []; 4897 const popularHrefs = new Set(popularLinks.map((link) => link.getAttribute('href')).filter(Boolean)); 4898 4899 const allHealthLinks = Array.from(healthGrid.querySelectorAll('.rtnu-grid__item ul li > a')); 4900 const allUseLinks = allHealthLinks 4901 .filter((link) => !popularHrefs.has(link.getAttribute('href'))) 4902 .sort((a, b) => a.textContent.trim().localeCompare(b.textContent.trim())); 4903 4904 renderLinkList(mobileHealthPopular, popularLinks); 4905 renderLinkList(mobileHealthAll, allUseLinks); 4906 } 4907 } 4908 4909 if (mobileLearnCards) { 4910 const learnGrid = root.querySelector('[id^="rtnu-nav-panel-learn-"] .rtnu-header__dropdown-learn .rtnu-grid'); 4911 if (learnGrid) { 4912 const learnLinks = Array.from(learnGrid.querySelectorAll('a.rtnu-grid__item')); 4913 mobileLearnCards.innerHTML = ''; 4914 learnLinks.forEach((link) => { 4915 mobileLearnCards.appendChild(link.cloneNode(true)); 4916 }); 4917 } 4918 } 4919 }; 4920 4921 const closeMobileSubmenus = ({ immediate = false } = {}) => { 4922 const exitingPanel = activeMobileSubpanel; 4923 4924 mobileSubpanels.forEach((panel) => { 4925 if (panel === exitingPanel) return; 4926 panel.classList.remove('is-active'); 4927 panel.hidden = true; 4928 }); 4929 4930 if (exitingPanel) { 4931 hideMobileSubpanel(exitingPanel, { immediate }); 4932 } 4933 4934 mobileSubmenuTriggers.forEach((trigger) => { 4935 trigger.setAttribute('aria-expanded', 'false'); 4936 }); 4937 4938 if (!exitingPanel) { 4939 syncMobileSubmenuOpenState(); 4940 } 4941 }; 4942 4943 const openMobileSubmenu = (submenuId) => { 4944 if (!submenuId) return; 4945 const targetPanel = root.querySelector(`[id="${submenuId}"]`); 4946 if (!targetPanel) return; 4947 if (activeMobileSubpanel === targetPanel && targetPanel.classList.contains('is-active')) return; 4948 4949 if (activeMobileSubpanel && activeMobileSubpanel !== targetPanel) { 4950 hideMobileSubpanel(activeMobileSubpanel, { immediate: true }); 4951 } 4952 showMobileSubpanel(targetPanel); 4953 4954 mobileSubmenuTriggers.forEach((trigger) => { 4955 trigger.setAttribute('aria-expanded', trigger.getAttribute('aria-controls') === submenuId ? 'true' : 'false'); 4956 }); 4957 }; 4958 4959 const closeMobilePanel = () => { 4960 if (!mobileToggle || !mobilePanel) return; 4961 mobileToggle.setAttribute('aria-expanded', 'false'); 4962 mobileToggle.setAttribute('aria-label', 'Open mobile menu'); 4963 mobilePanel.hidden = true; 4964 closeMobileSubmenus({ immediate: true }); 4965 document.body.style.overflow = ''; 4966 document.body.classList.remove('rtnu-nav-mobile-open'); 4967 isMobileMenuOpen = false;
4968 syncMenuOpenClass(); 4969 requestSync(); 4970 }; 4971 4972 if (mobileToggle && mobilePanel) { 4973 hydrateMobileSubmenuContent(); 4974 closeMobileSubmenus({ immediate: true }); 4975 4976 mobileToggle.addEventListener('click', () => { 4977 const isOpen = mobileToggle.getAttribute('aria-expanded') === 'true'; 4978 if (isOpen) { 4979 closeMobilePanel(); 4980 return; 4981 } 4982 4983 mobileToggle.setAttribute('aria-expanded', 'true'); 4984 mobileToggle.setAttribute('aria-label', 'Close mobile menu'); 4985 mobilePanel.hidden = false; 4986 closeMobileSubmenus(); 4987 document.body.style.overflow = 'hidden'; 4988 document.body.classList.add('rtnu-nav-mobile-open'); 4989 isMobileMenuOpen = true; 4990 syncMenuOpenClass(); 4991 setHeaderVisible(true); 4992 requestSync(); 4993 }); 4994 4995 mobileSubmenuTriggers.forEach((trigger) => { 4996 trigger.addEventListener('click', () => { 4997 openMobileSubmenu(trigger.getAttribute('aria-controls')); 4998 }); 4999 }); 5000 5001 mobileBackButtons.forEach((button) => { 5002 button.addEventListener('click', () => { 5003 closeMobileSubmenus(); 5004 }); 5005 }); 5006 5007 document.addEventListener('keydown', (event) => { 5008 if (event.key === 'Escape') { 5009 closeDesktopMenus(); 5010 closeMobilePanel(); 5011 } 5012 }); 5013 5014 window.addEventListener('resize', () => { 5015 if (window.innerWidth >= 1025) { 5016 closeMobilePanel(); 5017 } 5018 requestSync(); 5019 }); 5020 } 5021 } 5022 5023 setHeaderVisible(true); 5024 syncMenuOpenClass(); 5025 applyScrollState(); 5026 5027 window.addEventListener('load', requestSync); 5028 window.addEventListener('resize', requestSync); 5029 window.addEventListener('orientationchange', requestSync, { passive: true }); 5030 window.addEventListener('scroll', requestSync, { passive: true }); 5031 })(); 5032</script>
5032 5033 5034<main id="primary" class="wayfx-store-locator"> 5035 <section class="wayfx-store-locator__hero"> 5036 <div class="wayfx-wrapper"> 5037 <div class="wayfx-store-locator__hero-content"> 5038 <h1>Now Available at</h1> 5039 <img src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-sprouts-logo.png" alt="Sprouts Farmers Market" width="429" height="110" loading="eager" class="wayfx-store-locator__logo"> 5040 </div> 5041 <img src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-store-locator-BO.png" alt="Beef Organs" width="229" height="320" loading="eager" class="wayfx-store-locator__bo"> 5042 <img src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-store-locator-GD.png" alt="Gut and Digestion" width="118" height="205" loading="eager" class="wayfx-store-locator__bl"> 5043 </div> 5044 </section> 5045 <section class="wayfx-store-locator__info"> 5046 <div class="wayfx-wrapper"> 5047 <p>Heart & Soil is now available on the shelves of your local Sprouts Farmers Market!</p> 5048 </div> 5049 </section> 5050 <section class="wayfx-store-locator__map"> 5051 <div class="wayfx-wrapper"> 5052 <div class="wayfx-store-locator__map-info"> 5053 <div class="wayfx-store-locator__map-info-item"> 5054 <img src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/
5054hs-icon-cart.png" alt="" aria-hidden="true" width="55" height="47" loading="lazy"> 5055 <p>Buy Online <br>or Shop In Store</p> 5056 </div> 5057 <div class="wayfx-store-locator__map-info-divider"></div> 5058 <div class="wayfx-store-locator__map-info-item"> 5059 <img src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-icon-sprouts.png" alt="" aria-hidden="true" width="55" height="55" loading="lazy"> 5060 <p>Enjoy Your <br>Sprouts Rewards</p> 5061 </div> 5062 </div> 5063 5064 <div class="wayfx-store-locator__map-viewer"> 5065 <h2>Find Your Store</h2> 5066
5066<script src="//cdn.storelocators.com/locator/js/locator-stable.js" defer></script>
5066 5067 <link rel="stylesheet" href="//cdn.storelocators.com/locator/css/locator-stable.css"> 5068 5069
5069<script> 5070 window.storeLocatorsConfig = window.storeLocatorsConfig || {}; 5071 window.storeLocatorsConfig = { 5072 ...window.storeLocatorsConfig, 5073 customerId: '99860ea4-3561-4e99-a0d7-642811542d19', 5074 style: { 5075 // Uncomment and modify the following lines to customize the appearance of the store locator 5076 color: "#271F19", 5077 borderRadius: "4px", 5078 border: "1px", 5079 borderColor: "#271F19", 5080 textColor: "#271F19", 5081 textColorSecondary: "#aaa", 5082 contrastColor: "#FCF2E5", 5083 maxDesktopHeight: "690px", 5084 } 5085 } 5086 </script>
5086 5087 5088 <div id="storelocators_root"></div> 5089 </div> 5090 </div> 5091 </section> 5092 5093 5094<style> 5095 /* Embla variables and layout for shop online */ 5096 .wayfx-shop-online { 5097 background: var(--wayfx-dark-brown); 5098 color: var(--wayfx-cream); 5099 position: relative; 5100 --slide-spacing: 24px; 5101 --slide-size: clamp(20.563rem, 14.563rem + 12.5vw, 23.938rem); 5102 padding: clamp(3.5rem, 0.833rem + 5.556vw, 5rem) 0 clamp(3rem, 0.333rem + 5.556vw, 4.5rem); 5103 overflow: hidden; 5104 } 5105 5106 .wayfx-shop-online h2{ 5107 font-size: clamp(3rem,.556rem + 5.093vw,4.375rem); 5108 line-height: .8; 5109 letter-spacing: -6px; 5110 color: var(--wayfx-cream); 5111 margin-bottom: 78px; 5112 text-align: center; 5113 } 5114 5115 .wayfx-shop-online .rtnu-shop-online-embla { 5116 position: relative; 5117 max-width: 1240px; 5118 margin-inline: auto; 5119 padding-inline: 16px; 5120 } 5121 5122 .wayfx-shop-online .rtnu-shop-online-embla .embla__viewport { 5123 overflow: visible; 5124 } 5125 5126 .wayfx-shop-online .rtnu-shop-online-embla .embla__container { 5127 display: flex; 5128 gap: var(--slide-spacing); 5129 } 5130 5131 .wayfx-shop-online .rtnu-shop-online-embla .embla__slide { 5132 flex: 0 0 var(--slide-size); 5133 min-width: 0; 5134 } 5135 5136 /* Pagination dots - shown only when scrolling needed via JS */ 5137 .wayfx-shop-online .rtnu-shop-online-embla .embla__dots { 5138 display: flex; 5139 justify-content: center; 5140 gap: 12px; 5141 margin-top: clamp(1.5rem, 0.5rem + 2.083vw, 2.5rem); 5142 } 5143 5144 .wayfx-shop-online .rtnu-shop-online-embla .embla__dot { 5145 width: 12px; 5146 height: 12px; 5147 border-radius: 100vmax; 5148 background: var(--wayfx-cream); 5149 opacity: 1; 5150 border: none; 5151 cursor: pointer; 5152 transition: all 0.3s ease; 5153 margin: 0; 5154 padding: 0; 5155 } 5156 5157 .wayfx-shop-online .rtnu-shop-online-embla .embla__dot.is-selected { 5158 background: var(--wayfx-primary); 5159 } 5160 5161 .wayfx-shop-online .rtnu-shop-online-embla .embla__dot:hover { 5162 transform: scale(1.1); 5163 } 5164 5165 /* Shop Online Item Styles */ 5166 .rtnu-shop-online-item { 5167 width: 100%; 5168 height: 100%; 5169 border-radius: 12px; 5170 background: #3c2c20; 5171 display: flex; 5172 flex-direction: column; 5173 align-items: center; 5174 text-align: center; 5175 padding: 166px clamp(1.25rem, 0.583rem + 1.389vw, 1.625rem) 5176 clamp(2rem, 0.222rem + 3.704vw, 3rem); 5177 position: relative; 5178 } 5179 5180 .rtnu-shop-online-item a { 5181 display: block; 5182 color: inherit; 5183 } 5184 5185 .rtnu-shop-online-item .rtnu-shop-online-item-image { 5186 position: absolute; 5187 top: -68px; 5188 } 5189 5190 .rtnu-shop-online-item h3 { 5191 font-size: clamp(1.25rem, 0.806rem + 0.926vw, 1.5rem); 5192 line-height: 1; 5193 font-family: var(--wayfx-body-font); 5194 color: var(--wayfx-cream); 5195 font-weight: 700; 5196 margin-bottom: 16px; 5197 } 5198 5199 .rtnu-shop-online-item p { 5200 font-size: clamp(1.063rem, 0.729rem + 0.694vw, 1.25rem); 5201 line-height: 1.4; 5202 } 5203 5204 .rtnu-shop-online-item .wayfx-btn { 5205 max-width: 210px; 5206 width: 100%; 5207 background: var(--wayfx-cream); 5208 color: #3c2c20; 5209 font-size: clamp(1.25rem, 1.028rem + 0.463vw, 1.375rem); 5210 padding-inline: 16px; 5211 display: inline-flex; 5212 margin-top: 30px; 5213 } 5214 5215 .rtnu-shop-online-item .wayfx-btn:hover { 5216 background: var(--wayfx-primary); 5217 color: var(--wayfx-cream); 5218 } 5219 5220 @media (max-width: 768px) { 5221 .wayfx-shop-online .rtnu-shop-online-embla .embla__container{ 5222 gap: 12px; 5223 } 5224 5225 .wayfx-shop-online h2{ 5226 margin-bottom: 155px; 5227 } 5228 5229 .rtnu-shop-online-item { 5230 padding-top: 51px; 5231 } 5232 5233 .rtnu-shop-online-item .rtnu-shop-online-item-image { 5234 top: -138px; 5235 } 5236 5237 .rtnu-shop-online-item .rtnu-shop-online-item-image img { 5238 width: 140px; 5239 height: auto; 5240 object-fit: contain; 5241 } 5242 } 5243</style> 5244
5245<script> 5246/** 5247 * Initialize Embla Carousel for Shop Online 5248 * Extracted from product-recommendations.js #initializeEmblaCarousel method 5249 */ 5250document.addEventListener('DOMContentLoaded', function() { 5251 const initializeEmblaCarousel = () => { 5252 // Find the carousel element - adapting from original that looked for sectionId 5253 const carouselNode = document.querySelector('.wayfx-shop-online .rtnu-shop-online-embla'); 5254 5255 if (!carouselNode) return; 5256 5257 // Wait for Embla to be available if it's not loaded yet 5258 if (typeof EmblaCarousel === 'undefined') { 5259 // Retry after a short delay 5260 setTimeout(() => initializeEmblaCarousel(), 100); 5261 return; 5262 } 5263 5264 // Check if already initialized 5265 if (carouselNode._emblaInitialized) return; 5266 carouselNode._emblaInitialized = true; 5267 5268 const viewport = carouselNode.querySelector('.embla__viewport'); 5269 const dotsContainer = carouselNode.querySelector('.embla__dots'); 5270 5271 if (!viewport) return; 5272 5273 const options = { 5274 align: 'start', 5275 containScroll: 'trimSnaps', 5276 slidesToScroll: 1, 5277 }; 5278 5279 // Initialize Embla 5280 const embla = EmblaCarousel(viewport, options); 5281 5282 // Create pagination dots function 5283 const createDots = () => { 5284 if (!dotsContainer) return; 5285 5286 const scrollSnaps = embla.scrollSnapList(); 5287 const snapCount = scrollSnaps.length; 5288 dotsContainer.innerHTML = ''; 5289 5290 // Only show dots if there are multiple slides 5291 if (snapCount <= 1) { 5292 dotsContainer.style.display = 'none'; 5293 return; 5294 } 5295 5296 dotsContainer.style.display = 'flex'; 5297 5298 for (let i = 0; i < snapCount; i++) { 5299 const dot = document.createElement('button'); 5300 dot.className = 'embla__dot'; 5301 dot.type = 'button'; 5302 dot.setAttribute('aria-label', `Go to item ${i + 1}`); 5303 dot.addEventListener('click', () => embla.scrollTo(i)); 5304 dotsContainer.appendChild(dot); 5305 } 5306 }; 5307 5308 // Update dots function 5309 const updateDots = () => { 5310 if (!dotsContainer) return; 5311 5312 const dots = dotsContainer.querySelectorAll('.embla__dot'); 5313 const selectedIndex = embla.selectedScrollSnap(); 5314 5315 dots.forEach((dot, index) => { 5316 dot.classList.toggle('is-selected', index === selectedIndex); 5317 }); 5318 }; 5319 5320 // Event listeners 5321 embla.on('select', updateDots); 5322 embla.on('init', () => { 5323 createDots(); 5324 updateDots(); 5325 }); 5326 5327 // Handle resize with debounce 5328 let resizeTimer; 5329 const handleResize = () => { 5330 clearTimeout(resizeTimer); 5331 resizeTimer = setTimeout(() => { 5332 embla.reInit(); 5333 createDots(); 5334 updateDots(); 5335 }, 150); 5336 }; 5337 5338 window.addEventListener('resize', handleResize); 5339 5340 // Store cleanup function 5341 carouselNode._emblaCleanup = () => { 5342 window.removeEventListener('resize', handleResize); 5343 if (embla) embla.destroy(); 5344 }; 5345 5346 // Store embla API for potential external access 5347 carouselNode._emblaApi = embla; 5348 }; 5349 5350 // Initialize the carousel 5351 initializeEmblaCarousel(); 5352}); 5353</script>
5353 5354 5355<div class="wayfx-shop-online"> 5356 <h2>SHOP ONLINE</h2> 5357 <div class="embla rtnu-shop-online-embla" aria-label="Shop Online products carousel"> 5358 <div class="embla__viewport"> 5359 <div class="embla__container"> 5360 <div class="rtnu-shop-online-item embla__slide"> 5361 <a href="https://shop.heartandsoil.co/products/pure-american-liver" target="_blank" class="rtnu-shop-online-item-image"> 5362 <img 5363 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/HS-Shop-PAL.png" 5364 alt="Pure American Liver" 5365 width="174" 5366 height="246" 5367 loading="lazy" 5368 > 5369 </a> 5370 <h3> 5371 <a href="https://shop.heartandsoil.co/products/pure-american-liver" target="_blank">Pure American Liver</a> 5372 </h3> 5373 <p>Celebrated as nature's most nutrient-dense superfood, & embodying the spirit of America.</p> 5374 <a href="https://shop.heartandsoil.co/products/pure-american-liver" target="_blank" class="wayfx-btn">Shop Now</a> 5375 </div> 5376 <div class="rtnu-shop-online-item embla__slide"> 5377 <a href="https://shop.heartandsoil.co/products/warrior" target="_blank" class="rtnu-shop-online-item-image"> 5378 <img 5379 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/HS-Shop-WARRIOR.png" 5380 alt="WARRIOR" 5381 width="174" 5382 height="246" 5383 loading="lazy" 5384 > 5385 </a> 5386 <h3> 5387 <a href="https://shop.heartandsoil.co/products/warrior" target="_blank">WARRIOR</a> 5388 </h3> 5389 <p>Feed your inner warrior. Foundational support for strength, recovery, and exercise performance.</p> 5390 <a href="https://shop.heartandsoil.co/products/warrior" target="_blank" class="wayfx-btn">Shop Now</a> 5391 </div> 5392 <div class="rtnu-shop-online-item embla__slide"> 5393 <a href="https://shop.heartandsoil.co/products/lifeblood" target="_blank" class="rtnu-shop-online-item-image"> 5394 <img 5395 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/HS-Shop-LIFEBLOOD.png" 5396 alt="LIFEBLOOD" 5397 width="174" 5398 height="246" 5399 loading="lazy" 5400 > 5401 </a> 5402 <h3> 5403 <a href="https://shop.heartandsoil.co/products/lifeblood" target="_blank">LIFEBLOOD</a> 5404 </h3> 5405 <p>Improve your cardiovascular health. Support to improve iron stores, oxygen delivery, and endurance.</p> 5406 <a href="https://shop.heartandsoil.co/products/lifeblood" target="_blank" class="wayfx-btn">Shop Now</a> 5407 </div> 5408 <div class="rtnu-shop-online-item embla__slide"> 5409 <a href="https://shop.heartandsoil.co/products/whole-package" target="_blank" class="rtnu-shop-online-item-image"> 5410 <img 5411 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/HS-Shop-Wholepackage.png" 5412 alt="Whole Package" 5413 width="174" 5414 height="246" 5415 loading="lazy" 5416 > 5417 </a> 5418 <h3> 5419 <a href="https://shop.heartandsoil.co/products/whole-package" target="_blank">Whole Package</a> 5420 </h3> 5421 <p>Reinforce your manhood. Supports exercise performance, hormone production, and sexual health.</p> 5422 <a href="https://shop.heartandsoil.co/products/whole-package" target="_blank" class="wayfx-btn">Shop Now</a> 5423 </div> 5424 </div> 5425 </div> 5426 5427 <div class="embla__dots"></div> 5428 </div> 5429</div> 5430 <section class="rtnu-newsletter-subscribe"> 5431 <div class="rtnu-wrapper"> 5432 <div class="wayfx-grid"> 5433 <div class="wayfx-grid__item"> 5434 <p class="lead">
5434Get weekly health insights delivered to your inbox so you can radically improve your health</p> 5435 <p>Join 155,000+ Subscribers</p> 5436 <div class="klaviyo-form-S7DCge"></div> 5437 <div class="klaviyo-form-U64gsN"></div> 5438 </div> 5439 5440 <div class="wayfx-grid__item"> 5441 <img src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-footer-subscribe.min.png" alt="" aria-hidden="true" width="448" height="288" loading="lazy"> 5442 </div> 5443 </div> 5444 </div> 5445 </section> 5446</main> 5447 5448 5449 5450<footer class="rtnu-footer"> 5451 <div class="rtnu-wrapper"> 5452 <div class="rtnu-grid"> 5453 <div class="rtnu-grid__item" role="navigation" aria-label="Social"> 5454 <div class="rtnu-footer__social"> 5455 <ul> 5456 <li><a href="https://www.instagram.com/heartandsoilsupplements/" target="_blank"><span class="sr-only">Instagram</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#E3C39F" fill-rule="nonzero" d="M9.45454545 0C4.24 0 0 4.24 0 9.45454545V22.5454545C0 27.76 4.24 32 9.45454545 32H22.5454545C27.76 32 32 27.76 32 22.5454545V9.45454545C32 4.24 27.76 0 22.5454545 0H9.45454545zM24.7272727 5.81818182c.8 0 1.4545455.65454545 1.4545455 1.45454545 0 .8-.6545455 1.45454546-1.4545455 1.45454546s-1.4545454-.65454546-1.4545454-1.45454546.6545454-1.45454545 1.4545454-1.45454545zM16 8c4.4145455 0 8 3.5854545 8 8s-3.5854545 8-8 8-8-3.5854545-8-8 3.5854545-8 8-8zm0 1.45454545c-3.6072727 0-6.54545455 2.93818185-6.54545455 6.54545455 0 3.6072727 2.93818185 6.5454545 6.54545455 6.5454545 3.6072727 0 6.5454545-2.9381818 6.5454545-6.5454545 0-3.6072727-2.9381818-6.54545455-6.5454545-6.54545455z"/></svg></a></li> 5457 <li><a href="https://www.facebook.com/heartandsoilsupplements/" target="_blank"><span class="sr-only">Facebook</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#E3C39F" fill-rule="nonzero" d="M28.1904762 0H3.80952381C1.70666667 0 0 1.70666667 0 3.80952381V28.1904762C0 30.2933333 1.70666667 32 3.80952381 32H28.1904762C30.2933333 32 32 30.2933333 32 28.1904762V3.80952381C32 1.70666667 30.2933333 0 28.1904762 0zm-3.0476191 11.4285714h-1.5238095c-1.6304762 0-2.2857143.3809524-2.2857143 1.5238096v2.2857142h3.8095238l-.7619047 3.8095238h-3.0476191v11.4285715h-3.8095238V19.047619h-3.047619v-3.8095238h3.047619V12.952381c0-3.0476191 1.5238095-5.33333338 4.5714286-5.33333338 2.2095238 0 3.047619.76190476 3.047619.76190476v3.04761902z"/></svg></a></li> 5458 <li><a href="https://www.youtube.com/channel/UCyf4v0HhGiHc8_ZIiSfd3Ug" target="_blank"><span class="sr-only">Youtube</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35 32"><path fill="#E3C39F" fill-rule="evenodd" d="M7.38461538 0l2.46153847 7.38461538v4.92307692h1.64102565V7.38461538L13.9487179 0h-1.6410256l-1.6410256 4.92307692L9.02564103 0H7.38461538zm9.02564102 3.28205128c-.8749998 0-1.3044874.13782072-1.8397432.57692308-.5128205.43269251-.6538461.76602585-.6217953 1.88461538v4.10256411c0 .81730785.1346158 1.35576945.6282052 1.83333335.5128205.4775639.9967951.6282051 1.8333333.6282051.8749998 0 1.3525645-.1506412 1.8461539-.6282051.5128205-.4583336.6153846-1.0160255.6153846-1.83333335V5.74358974c0-.72435856-.1282052-1.41025641-.6250002-1.86858995-.5128205-.47115323-1.0416665-.59294851-1.8365383-.59294851zm4.1025641 0v7.38461542c0 .7980767.8044874 1.6410256 1.6410257 1.6410256.8365382 0 1.2788463-.419872 1.6410256-.8205128v.8205128h1.6410256V3.28205128h-1.6410256v6.56410257c-.0096156.56089765-.6698716.82051285-.8205128.82051285-.1698716 0-.8205128-.0352566-.8205128-.82051285V3.28205128h-1.6410257zm-4.1025641 1.64102545c.2467947 0 .8205128-.00320473.8205128.82051301v4.10256411c0 .79487175-.5544869.82051285-.8205128.82051285-.2467947 0-.8205128-.0096156-.8205128-.82051285V5.74358974c0-.66987159.3557694-.82051301.8205128-.82051301zM4.92307692 13.9487179C1.97435897 13.9487179 0 15.9038466 0 18.8717949v7.7948718C0 29.6346158 1.97435897 32 4.92307692 32H29.5384615c2.948718 0 4.923077-1.9551278 4.923077-4.9230769v-8.2051282c0-2.9679483-1.974359-4.923077-4.923077-4.923077H4.92307692zm1.64102564 3.2820513h4.92307694v1.6410257H9.84615385v9.8461538H8.20512821v-9.8461538H6.56410256v-1.6410257zm11.48717954 0h1.6410256v3.2820513c.1891028-.2948718.471154-.5288459.7403848-.660256.2628201-.1346158.528846-.2115389.7980767-.2115389.5320517 0 .948718.1923077 1.2339742.5512821.285257.362
54581793.5096156.8429489.5096156 1.551282v4.923077c0 .6089747-.2051282.9871795-.474359 1.3108972-.2628201.3237186-.6570511.733975-1.1666667.7403848-.8621792.0096156-1.3237177-.4519229-1.6410256-.8205128v.8205128h-1.6410256V17.2307692zm-6.5641026 2.4615385h1.6410256v6.5641026c0 .1891027.2211537.8269234.8205128.8205128.6666667-.0064099.6730774-.6282052.8205129-.8205128v-6.5641026h1.6410256v9.025641h-1.6410256v-.8205128c-.3044874.3589744-.4615385.471154-.8044874.6410256-.3397432.1923077-.685897.1794872-1.0064099.1794872-.3974359 0-.8493587-.3589743-1.0608976-.6282051-.1891028-.2467947-.4102564-.5-.4102564-1.0128205v-7.3846154zm14.9326925 0c.7788464 0 1.3269227.1666667 1.7403848.6025641.4230769.4358974.5576919.945513.5576919 1.7660258v2.554487h-3.2820513v1.2692308c0 .4583335.0608977.7500004.1794872.9230769.1121797.1891028.339744.2724357.6410257.2692308.3333333-.0032049.5448722-.0705124.657051-.2211537.1153846-.1346158.1634618-.5160254.1634618-1.0096156v-.4102564h1.6410256v.4871795c0 .894231-.0705124 1.5608977-.5128205 1.9967951-.4166663.4583335-1.0673075.6698716-1.919872.6698716-.7788455 0-1.3878203-.2307692-1.8237177-.7051282-.4358975-.474359-.6634618-1.1250002-.6634618-1.9615385v-3.8621793c0-.7435897.259616-1.2948718.7371799-1.7852562.3846154-.3942309 1.105769-.5833337 1.8846154-.5833337zm-5.9070515 1.2307692c-.4519229 0-.8141021.4070515-.8205128.8205128v4.923077c.0064107.2371799.3685899.4102564.8205128.4102564s.8205128-.3493588.8205128-.8012817v-4.1217952c0-.8205129-.3685899-1.2307693-.8205128-1.2307693zm5.7435898.4102564c-.4519229 0-.8141022.3814105-.8205129.8205129v.8205128h1.6410257v-.8205128c0-.503205-.36859-.8205129-.8205128-.8205129z"/></svg></a></li> 5459 <li><a href="https://twitter.com/heartandsoilhq" target="_blank"><span class="sr-only">Twitter</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1200 1227"><path fill="#E3C39F" d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894L144.011 79.6944h162.604L611.412 515.685l47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"/></svg></a></li> 5460 <li><a href="https://www.tiktok.com/@heartandsoil" target="_blank"><span class="sr-only">Tiktok</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#E3C39F" d="M412.19 118.66a109.27 109.27 0 0 1-9.45-5.5 132.87 132.87 0 0 1-24.27-20.62c-18.1-20.71-24.86-41.72-27.35-56.43h.1C349.14 23.9 350 16 350.13 16h-82.44v318.78c0 4.28 0 8.51-.18 12.69 0 .52-.05 1-.08 1.56 0 .23 0 .47-.05.71v.18a70 70 0 0 1-35.22 55.56 68.8 68.8 0 0 1-34.11 9c-38.41 0-69.54-31.32-69.54-70s31.13-70 69.54-70a68.9 68.9 0 0 1 21.41 3.39l.1-83.94a153.14 153.14 0 0 0-118 34.52 161.79 161.79 0 0 0-35.3 43.53c-3.48 6-16.61 30.11-18.2 69.24-1 22.21 5.67 45.22 8.85 54.73v.2c2 5.6 9.75 24.71 22.38 40.82A167.53 167.53 0 0 0 115 470.66v-.2l.2.2c39.91 27.12 84.16 25.34 84.16 25.34 7.66-.31 33.32 0 62.46-13.81 32.32-15.31 50.72-38.12 50.72-38.12a158.46 158.46 0 0 0 27.64-45.93c7.46-19.61 9.95-43.13 9.95-52.53V176.49c1 .6 14.32 9.41 14.32 9.41s19.19 12.3 49.13 20.31c21.48 5.7 50.42 6.9 50.42 6.9v-81.84c-10.14 1.1-30.73-2.1-51.81-12.61Z"/></svg></a></li> 5461 </ul> 5462 <a href="https://www.instagram.com/explore/tags/heartandsoil/" target="_blank"><span class="sr-only">Explore Heart & Soil on Instagram</span><span class="sr-only">New Window</span>#heartandsoil</a> 5463 </div> 5464 </div> 5465 <div class="rtnu-grid__item" role="navigation" aria-label="Shop"> 5466 <h2>Shop</h2> 5467 <ul> 5468 <li class="b2bshow" style="display: none;"><a href="https://shop.heartandsoil.co/collections/b2b-collection">Shop All</a></li> 5469 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products">Shop All</a></li> 5470 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true">Subscribe & Save</a></li> 5471 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=best+sellers">
5471Shop Best Sellers</a></li> 5472 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=stacks">Shop by Health Goals</a></li> 5473 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=merch">Shop Merch</a></li> 5474 <li class="b2bhide"><a href="https://heartandsoil.co/store-locator/">Store Locator</a></li> 5475 <li class="b2bhide"><a href="https://heartandsoil.co/wholesale-partnership-application/">Wholesale Accounts</a></li> 5476 </ul> 5477 </div> 5478 <div class="rtnu-grid__item" role="navigation" aria-label="Learn"> 5479 <h2>Learn</h2> 5480 <ul> 5481 <li><a href="https://heartandsoil.co/our-story/">Our Story</a></li> 5482 <li><a href="https://heartandsoil.co/newsletter/">Newsletter</a></li> 5483 <li><a href="https://heartandsoil.co/blog/">Our Blog</a></li> 5484 <li><a href="https://heartandsoil.co/animalbased30/" target="_blank"><span class="sr-only">New Window</span>Animal-Based 30</a></li> 5485 <li><a href="https://radicalhealthradio.com/" target="_blank"><span class="sr-only">New Window</span>Radical Health Radio</a></li> 5486 <li><a href="https://heartandsoil.co/why-regenerative-agriculture/">Regenerative Farming</a></li> 5487 </ul> 5488 </div> 5489 <div class="rtnu-grid__item" role="navigation" aria-label="More"> 5490 <h2>More</h2> 5491 <ul> 5492 <li><a href="https://faq.heartandsoil.co/en-US">FAQ</a></li> 5493 <li><a href="https://heartandsoil.co/contact-us/">Send us a message</a></li> 5494 <li><a href="https://app.corso.com/heart-and-soil" target="_blank"><span class="sr-only">New Window</span>Start a Return</a></li> 5495 <li><a href="https://shop.heartandsoil.co/a/account/login">Account</a></li> 5496 <li><a href="https://heartandsoil.co/careers/">Careers</a></li> 5497 <li><a href="https://heartandsoil.superfiliate.com/portal/sign-up" target="_blank"><span class="sr-only">New Window</span>Influencer Program</a></li> 5498 </ul> 5499 </div> 5500 5501 <div class="rtnu-grid__item" role="navigation" aria-label="Social"> 5502 <div class="rtnu-footer__social"> 5503 <ul> 5504 <li><a href="https://www.instagram.com/heartandsoilsupplements/" target="_blank"><span class="sr-only">Instagram</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#E3C39F" fill-rule="nonzero" d="M9.45454545 0C4.24 0 0 4.24 0 9.45454545V22.5454545C0 27.76 4.24 32 9.45454545 32H22.5454545C27.76 32 32 27.76 32 22.5454545V9.45454545C32 4.24 27.76 0 22.5454545 0H9.45454545zM24.7272727 5.81818182c.8 0 1.4545455.65454545 1.4545455 1.45454545 0 .8-.6545455 1.45454546-1.4545455 1.45454546s-1.4545454-.65454546-1.4545454-1.45454546.6545454-1.45454545 1.4545454-1.45454545zM16 8c4.4145455 0 8 3.5854545 8 8s-3.5854545 8-8 8-8-3.5854545-8-8 3.5854545-8 8-8zm0 1.45454545c-3.6072727 0-6.54545455 2.93818185-6.54545455 6.54545455 0 3.6072727 2.93818185 6.5454545 6.54545455 6.5454545 3.6072727 0 6.5454545-2.9381818 6.5454545-6.5454545 0-3.6072727-2.9381818-6.54545455-6.5454545-6.54545455z"/></svg></a></li> 5505 <li><a href="https://www.facebook.com/heartandsoilsupplements/" target="_blank"><span class="sr-only">Facebook</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#E3C39F" fill-rule="nonzero" d="M28.1904762 0H3.80952381C1.70666667 0 0 1.70666667 0 3.80952381V28.1904762C0 30.2933333 1.70666667 32 3.80952381 32H28.1904762C30.2933333 32 32 30.2933333 32 28.1904762V3.80952381C32 1.70666667 30.2933333 0 28.1904762 0zm-3.0476191 11.4285714h-1.5238095c-1.6304762 0-2.2857143.3809524-2.2857143 1.5238096v2.2857142h3.8095238l-.7619047 3.8095238h-3.0476191v11.4285715h-3.8095238V19.047619h-3.047619v-3.8095238h3.047619V12.952381c0-3.0476191 1.5238095-5.33333338 4.5714286-5.33333338 2.2095238 0 3.047619.76190476 3.047619.76190476v3.04761902z"/></svg></a></li> 5506 <li><a href="https://www.youtube.com/channel/UCyf4v0HhGiHc8_ZIiSfd3Ug" target="_blank"><span class="sr-only">Youtube</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35 32"><path fill="#E3C39F" fill-rule="evenodd" d="M7.38461538 0l2.46153847 7.38461538v4.92307692h1.64102565V7.38461538L13.9487179 0h-1.6410256l-1.6410256 4.92307692L9.02564103 0H7.38461538zm9.02564102 3.28205128c-.8749998 0-1.3044874.13782072-1.8397432.57692308-.5128205.43269251-.6538461.76602585-.6217953 1.88461538v4.10256411c0 .81730785.1346158 1.35576945.6282052 1.83333335.5128205.4775639.9967951.6282051 1.8333333.6282051.8749998 0 1.3525645-.1506412 1.8461539-.6282051.5128205-.4583336.6153846-1.0160255.6153846-1.83333335V5.74358974c0-.72435856-.1282052-1.41025641-.6250002-1.86858995-.5128205-.47115323-1.0416665-.59294851-1.8365383-.59294851zm4.1025641 0v7.38461542c0 .7980767.8044874 1.6410256 1.6410257 1.6410256.8365382 0 1.2788463-.419872 1.6410256-.8205128v.8205128h1.6410256V3.28205128h-1.6410256v6.56410257c-.0096156.56089765-.6698716.82051285-.8205128.82051285-.1698716 0-.8205128-.0352566-.8205128-.82051285V3.28205128h-1.6410257zm-4.1025641 1.64102545c.2467947 0 .8205128-.00320473.8205128.82051301v4.10256411c0 .79487175-.5544869.82051285-.8205128.82051285-.2467947 0-.8205128-.0096156-.8205128-.82051285V5.74358974c0-.669871
550659.3557694-.82051301.8205128-.82051301zM4.92307692 13.9487179C1.97435897 13.9487179 0 15.9038466 0 18.8717949v7.7948718C0 29.6346158 1.97435897 32 4.92307692 32H29.5384615c2.948718 0 4.923077-1.9551278 4.923077-4.9230769v-8.2051282c0-2.9679483-1.974359-4.923077-4.923077-4.923077H4.92307692zm1.64102564 3.2820513h4.92307694v1.6410257H9.84615385v9.8461538H8.20512821v-9.8461538H6.56410256v-1.6410257zm11.48717954 0h1.6410256v3.2820513c.1891028-.2948718.471154-.5288459.7403848-.660256.2628201-.1346158.528846-.2115389.7980767-.2115389.5320517 0 .948718.1923077 1.2339742.5512821.285257.3621793.5096156.8429489.5096156 1.551282v4.923077c0 .6089747-.2051282.9871795-.474359 1.3108972-.2628201.3237186-.6570511.733975-1.1666667.7403848-.8621792.0096156-1.3237177-.4519229-1.6410256-.8205128v.8205128h-1.6410256V17.2307692zm-6.5641026 2.4615385h1.6410256v6.5641026c0 .1891027.2211537.8269234.8205128.8205128.6666667-.0064099.6730774-.6282052.8205129-.8205128v-6.5641026h1.6410256v9.025641h-1.6410256v-.8205128c-.3044874.3589744-.4615385.471154-.8044874.6410256-.3397432.1923077-.685897.1794872-1.0064099.1794872-.3974359 0-.8493587-.3589743-1.0608976-.6282051-.1891028-.2467947-.4102564-.5-.4102564-1.0128205v-7.3846154zm14.9326925 0c.7788464 0 1.3269227.1666667 1.7403848.6025641.4230769.4358974.5576919.945513.5576919 1.7660258v2.554487h-3.2820513v1.2692308c0 .4583335.0608977.7500004.1794872.9230769.1121797.1891028.339744.2724357.6410257.2692308.3333333-.0032049.5448722-.0705124.657051-.2211537.1153846-.1346158.1634618-.5160254.1634618-1.0096156v-.4102564h1.6410256v.4871795c0 .894231-.0705124 1.5608977-.5128205 1.9967951-.4166663.4583335-1.0673075.6698716-1.919872.6698716-.7788455 0-1.3878203-.2307692-1.8237177-.7051282-.4358975-.474359-.6634618-1.1250002-.6634618-1.9615385v-3.8621793c0-.7435897.259616-1.2948718.7371799-1.7852562.3846154-.3942309 1.105769-.5833337 1.8846154-.5833337zm-5.9070515 1.2307692c-.4519229 0-.8141021.4070515-.8205128.8205128v4.923077c.0064107.2371799.3685899.4102564.8205128.4102564s.8205128-.3493588.8205128-.8012817v-4.1217952c0-.8205129-.3685899-1.2307693-.8205128-1.2307693zm5.7435898.4102564c-.4519229 0-.8141022.3814105-.8205129.8205129v.8205128h1.6410257v-.8205128c0-.503205-.36859-.8205129-.8205128-.8205129z"/></svg></a></li> 5507 <li><a href="https://twitter.com/heartandsoilhq" target="_blank"><span class="sr-only">Twitter</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1200 1227"><path fill="#E3C39F" d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894L144.011 79.6944h162.604L611.412 515.685l47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"/></svg></a></li> 5508 <li><a href="https://www.tiktok.com/@heartandsoil" target="_blank"><span class="sr-only">Tiktok</span><span class="sr-only">New Window</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#E3C39F" d="M412.19 118.66a109.27 109.27 0 0 1-9.45-5.5 132.87 132.87 0 0 1-24.27-20.62c-18.1-20.71-24.86-41.72-27.35-56.43h.1C349.14 23.9 350 16 350.13 16h-82.44v318.78c0 4.28 0 8.51-.18 12.69 0 .52-.05 1-.08 1.56 0 .23 0 .47-.05.71v.18a70 70 0 0 1-35.22 55.56 68.8 68.8 0 0 1-34.11 9c-38.41 0-69.54-31.32-69.54-70s31.13-70 69.54-70a68.9 68.9 0 0 1 21.41 3.39l.1-83.94a153.14 153.14 0 0 0-118 34.52 161.79 161.79 0 0 0-35.3 43.53c-3.48 6-16.61 30.11-18.2 69.24-1 22.21 5.67 45.22 8.85 54.73v.2c2 5.6 9.75 24.71 22.38 40.82A167.53 167.53 0 0 0 115 470.66v-.2l.2.2c39.91 27.12 84.16 25.34 84.16 25.34 7.66-.31 33.32 0 62.46-13.81 32.32-15.31 50.72-38.12 50.72-38.12a158.46 158.46 0 0 0 27.64-45.93c7.46-19.61 9.95-43.13 9.95-52.53V176.49c1 .6 14.32 9.41 14.32 9.41s19.19 12.3 49.13 20.31c21.48 5.7 50.42 6.9 50.42 6.9v-81.84c-10.14 1.1-30.73-2.1-51.81-12.61Z"/></svg></a></li> 5509 </ul> 5510 <a href="https://www.instagram.com/explore/tags/heartandsoil/" target="_blank"><span class="sr-only">Explore Heart & Soil on Instagram</span><span class="sr-only">New Window</span>#heartandsoil</a> 5511 </div> 5512 5513 <div class="rtnu-footer__other"> 5514 <p>© 2026 Heart & Soil. All rights reserved.</p> 5515 <div class="rtnu-footer__legal"> 5516 <div class="rtnu-footer__legal-links"> 5517 <a href="https://heartandsoil.co/privacy-policy/">Privacy Policy</a> 5518 <a href="https://heartandsoil.co/terms-of-service/">Terms of Service</a> 5519 <button 5520 type="button"
5521 class="cookie-settings" 5522 onclick="if (window.Cookiebot && typeof window.Cookiebot.renew === 'function') { 5523 window.Cookiebot.renew(); 5524 } 5525 return false;"> 5526 Cookie Settings 5527 </button> 5528 </div> 5529 <div class="rtnu-footer__accessibility"> 5530 <img src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/accessibe-compliant.png" alt="accessiBe Accessibility Compliant" width="150" height="40" loading="lazy"> 5531 <button class="rtnu-footer__accessibility-trigger" data-acsb-custom-trigger="true" aria-label="Open Accessibility Options">Accessibility Options</button> 5532 </div> 5533 </div> 5534 </div> 5535 </div> 5536 </div> 5537 </div> 5538 5539 <div class="rtnu-footer-end"> 5540 <div class="rtnu-wrapper"> 5541 <p class="rtnu-footer__statement">†These statements have not been evaluated by the Food and Drug Administration. These products are not intended to diagnose, treat, cure or prevent any disease.</p> 5542 <div class="rtnu-footer__rtnu"> 5543 <div class="rtnu-footer__rtnu-logos"> 5544 <span>Site by</span> 5545 <a href="https://runthenumbersup.com/?ref=HeartandSoil" target="_blank"><span class="sr-only">New Window, Run The Numbers Up agency</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="73" height="27" fill="none" viewBox="0 0 73 27"><path fill="#847266" fill-rule="evenodd" d="M22.5252 7.35195c.4842-2.85853-.0885-4.65416-1.1452-5.39245-1.0567-.7383-2.9397-.65845-5.4573.77944-1.9302 1.10239-4.0156 2.89582-5.94213 5.22946.90803-.15241 1.85443-.26657 2.82883-.33704 3.6396-.26326 6.9815.13277 9.4457.98626.1106-.43376.2007-.8564.2701-1.26567Zm-.5176-6.29064c-3.0527-2.13283-9.0277 1.08683-13.68411 7.23682C3.30353 9.46028-.171658 11.8212.00655055 14.2851.110191 15.7179 1.43162 16.9386 3.52937 17.7933c-.91927 3.5851-.54517 6.5582 1.30346 7.8497 3.08133 2.1529 9.14017-1.1477 13.81487-7.4108 4.7337-1.2016 7.9607-3.4823 7.7888-5.8588-.0975-1.3471-1.2712-2.50659-3.1544-3.35083.9558-3.63489.5932-6.65629-1.2745-7.96126ZM1.93025 15.6061c.45483.4012 1.09189.7864 1.9031 1.1272.70896-2.241 1.88749-4.669 3.49515-7.04539-1.22522.35399-2.3178.78249-3.23752 1.26039-1.07956.5611-1.87251 1.1653-2.37086 1.7526-.49392.5822-.65107 1.0856-.62073 1.5051.03034.4195.2583.8951.83086 1.4001Zm6.57132-5.69045C6.79268 12.3615 5.57066 14.8554 4.86323 17.1108c1.30612.4167 2.87565.7076 4.61614.8326-.06171-.2103-.01603-.4388.12446-.6097l4.51497-6.0067-2.2581.2219c-.178.0218-.3572-.0292-.497-.1413-.1399-.1122-.2285-.2761-.2458-.4545-.0173-.1784.0381-.3563.1538-.4933.1156-.137.2816-.2215.4605-.2343l3.8233-.37291c.1755-.01699.3508.0364.487.14841.0046.0032.0088.0067.0128.0104.0023.0017.0046.0034.0068.0052.002.0017.004.0035.006.0053.1366.1117.2229.2734.2395.4491l.3729 3.8234c.017.233-.0896.4579-.2807.5923-.1911.1344-.4387.1586-.6523.0639-.2136-.0948-.3618-.2947-.3903-.5266l-.2204-2.2407-4.3745 5.8208c.8981.0212 1.8326-.0004 2.7923-.0699 1.5843-.1145 3.0819-.348 4.4464-.6715.1135-.1561.2261-.3141.3378-.474 1.689-2.4174 2.9024-4.8817 3.6134-7.11628l-.0378-.01324c-2.2943-.79839-5.4892-1.1908-9.026-.93498-1.3867.1003-2.7072.29167-3.92998.55479-.15382.20873-.30616.42098-.45685.63666ZM4.31521 19.3524c.06511-.3844.14854-.7805.25011-1.1866 2.42281.7666 5.61128 1.1113 9.06828.8613 1.1579-.0838 2.2764-.2292 3.3379-.4272-1.9574 2.4-4.0863 4.2418-6.0538 5.3655-2.51758 1.4379-4.40063 1.5178-5.45733.7795-1.0567-.7383-1.6294-2.534-1.14516-5.3925ZM22.352 15.7101c-.783.407-1.6914.778-2.7002 1.0978 1.5095-2.2694 2.6274-4.5794 3.3188-6.7229.6414.2995 1.1571.6277 1.5422.9674.5725.505.8005.9805.8308 1.4.0304.4195-.1268.9229-.6207 1.5051-.4983.5874-1.2913 1.1916-2.3709 1.7526Z" clip-rule="evenodd"/><path fill="#847266" d="m40.8016 19.1173-2.4912-4.785c1.2152-.3342 2.157-1.3216 2.157-2.871 0-1.83809-1.3064-3.15966-3.3571-3.15966h-4.1926V19.1173h1.6406v-4.5572h2.0507l2.2786 4.5572h1.914Zm-1.9748-7.6408c0 1.0633-.7443 1.6861-1.838 1.6861h-2.4305V9.77512h2.4305c1.0937 0 1.838.63798 1.838 1.70138Zm11.5946-1.70138V8.30164h-7.5953v1.47348h2.9773v9.34218h1.6406V9.77512h2.9774Zm10.9154 9.34218V8.30164h-1.6406v7.59526l-4.9976-7.59526h-1.5039V19.1173h1.6406v-7.6105l4.9977 7.6105h1.5038Zm11.3273-3.6457V8.30164h-1.6406v7.09396c0 1.4431-.8962 2.3393-2.2482 2.3393-1.352 0-2.233-.89
554562-2.233-2.3393V8.30164h-1.6406v7.16996c0 2.233 1.671 3.7368 3.8736 3.7368 2.2026 0 3.8888-1.5038 3.8888-3.7368Z"/></svg></a> 5546 </div> 5547 </div> 5548 </div> 5549 </div> 5550</footer> 5551</div><!-- #page --> 5552 5553<div id="klaviyo-form" style="display: none; max-width: 600px; width: 100%; padding: 16px 12px; background: #F6E6D4; border-radius: 12px;"> 5554 <div class="klaviyo-form-XEaNZC"></div> 5555</div> 5556
5557<script> 5558 let productTitle = "Store Locator"; 5559 5560 function isDesktop() { 5561 return window.innerWidth > 768; 5562 } 5563 5564 window.addEventListener('klaviyoForms', function (e) { 5565 if (e.detail.type == 'submit' && e.detail.formId == 'XEaNZC') { 5566 console.log('Klaviyo form submitted:', e.detail.formId, e.detail); 5567 5568 let _learnq = window._learnq || []; 5569 5570 // Check if a phone number was submitted in this specific form submission 5571 const phoneSubmitted = !!(e.detail.metaData && e.detail.metaData['$phone_number']); 5572 console.log('Phone number submitted:', phoneSubmitted); 5573 5574 // Determine if it's a desktop submission with a phone number 5575 const desktopPhoneSubmitted = isDesktop() && phoneSubmitted; 5576 console.log('Desktop phone submitted:', desktopPhoneSubmitted); 5577 5578 // Enhanced identify call with new desktop phone tracking 5579 _learnq.push(['identify', { 5580 'recent_product_submitted': productTitle, 5581 'desktop_phone_submitted': desktopPhoneSubmitted, 5582 // Include email and phone if available for better identification 5583 ...(e.detail.metaData && e.detail.metaData['$email'] && {'$email': e.detail.metaData['$email']}), 5584 ...(phoneSubmitted && {'$phone_number': e.detail.metaData['$phone_number']}) 5585 }]); 5586 5587 console.log('Updated profile properties sent to Klaviyo:', { 5588 'recent_product_submitted': productTitle, 5589 'desktop_phone_submitted': desktopPhoneSubmitted, 5590 ...(e.detail.metaData && e.detail.metaData['$email'] && {'$email': e.detail.metaData['$email']}), 5591 ...(phoneSubmitted && {'$phone_number': e.detail.metaData['$phone_number']}) 5592 }); 5593 5594 // Mobile SMS Logic - only trigger when phone is submitted 5595 function triggerSMS() { 5596 const firstName = e.detail.metaData['$first_name']; 5597 const lastName = e.detail.metaData['$last_name']; 5598 const email = e.detail.metaData['$email']; 5599 const phone = e.detail.metaData['$phone_number']; 5600 const sex = e.detail.metaData['Sex']; 5601 const helpWith = e.detail.metaData['How can we help?']; 5602 const ageRange = e.detail.metaData['Age range']; 5603 const moreInfo = e.detail.metaData['Tell us a little more']; 5604 5605 // Improved array handling for 'How can we help?' field 5606 const formattedHelpWith = 5607 Array.isArray(helpWith) && helpWith.length > 0 5608 ? helpWith.length === 1 5609 ? helpWith[0] 5610 : helpWith.length === 2 5611 ? `${helpWith[0]} and ${helpWith[1]}` 5612 : helpWith.slice(0, -1).join(', ') + 5613 ', and ' + 5614 helpWith[helpWith.length - 1] 5615 : (typeof helpWith === 'string' ? helpWith : ''); // Handle if it's already a string or undefined 5616 5617 const smsMsg = `Hi, this is ${firstName}! I'm a ${ageRange} year old ${sex} looking at ${productTitle}. I need help with ${formattedHelpWith}. ${moreInfo}`; 5618 5619 const encodedMsg = encodeURIComponent(smsMsg); 5620 const phoneNumber = `+15126414103`; 5621 const smsLink = `sms:${phoneNumber}?body=${encodedMsg}`; 5622 5623 console.log('Triggering SMS link for mobile:', smsLink); 5624 window.location.href = smsLink; 5625 } 5626 5627 // Check for mobile user agent to trigger SMS 5628 const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( 5629 navigator.userAgent 5630 ); 5631 5632 if (isMobile) { 5633 // Ensure phone number was submitted before triggering SMS on mobile 5634 if (phoneSubmitted) { 5635 console.log('Device is mobile and phone submitted, triggering SMS.'); 5636 triggerSMS(); 5637 } else { 5638 console.log('Device is mobile but no phone submitted, skipping SMS trigger.'); 5639 } 5640 } else { 5641 console.log('Device is not mobile, skipping SMS trigger.'); 5642 } 5643 } else if (e.detail.type == 'submit') { 5644 // Log if a different Klaviyo form was submitted 5645 console.log('Ignoring submission from other Klaviyo form:', e.detail.formId); 5646 } 5647 }); 5648</script>
vendor: 1 bytes, line 5648
5648
5649<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
vendor: 1 bytes, line 5649
5649
5650<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js" integrity="sha512-uURl+ZXMBrF4AwGaWmEetzrd+J5/8NRkWAvJx5sbPSSuOb0bZLqf+tOzniObO00BjHa/dD7gub9oCGMLPQHtQA==" crossorigin="anonymous"></script>
5650 5651 5652<!-- Load script only on home page. Add additional locations if needed --> 5653 5654 5655
5656<script> 5657$(function() { 5658 $.ajax({ 5659 dataType:'jsonp', 5660 url: 'https://shop.heartandsoil.co/cart.json', 5661 success: function(d){ 5662 var cartCount = d.item_count; 5663 if (cartCount > 0) { 5664 $('.rtnu-header__cart-count').html(cartCount); 5665 $('.rtnu-header__cart-count').attr('aria-label', 'Go to cart page (' + cartCount + ' items)'); 5666 } 5667 } 5668 }); 5669 5670 // Check for query parameter to show personalized support form 5671 const urlParams = new URLSearchParams(window.location.search); 5672 if (urlParams.get('support') === 'true' || urlParams.get('connect') === 'true') { 5673 setTimeout(function() { 5674 if (typeof $.fancybox !== 'undefined') { 5675 $.fancybox.open({ 5676 src: '#klaviyo-form', 5677 type: 'inline', 5678 opts: { 5679 smallBtn: true, 5680 toolbar: false, 5681 animationEffect: 'fade', 5682 transitionEffect: 'fade' 5683 } 5684 }); 5685 } 5686 else { 5687 const klaviyoForm = document.getElementById('klaviyo-form'); 5688 if (klaviyoForm) { 5689 const overlay = document.createElement('div'); 5690 overlay.style.cssText = ` 5691 position: fixed; 5692 top: 0; 5693 left: 0; 5694 width: 100%; 5695 height: 100%; 5696 background: rgba(0, 0, 0, 0.8); 5697 z-index: 9999; 5698 display: flex; 5699 align-items: center; 5700 justify-content: center; 5701 padding: 20px; 5702 box-sizing: border-box; 5703 `; 5704 5705 const closeBtn = document.createElement('button'); 5706 closeBtn.innerHTML = '×'; 5707 closeBtn.style.cssText = ` 5708 position: absolute; 5709 top: 10px; 5710 right: 15px; 5711 background: none; 5712 border: none; 5713 font-size: 28px; 5714 color: #333; 5715 cursor: pointer; 5716 z-index: 10001; 5717 `; 5718 5719 const formClone = klaviyoForm.cloneNode(true); 5720 formClone.style.display = 'block'; 5721 formClone.style.position = 'relative'; 5722 formClone.style.zIndex = '10000'; 5723 5724 overlay.appendChild(formClone); 5725 overlay.appendChild(closeBtn); 5726 document.body.appendChild(overlay); 5727 5728 // Close functionality 5729 const closeModal = function() { 5730 document.body.removeChild(overlay); 5731 }; 5732 5733 closeBtn.addEventListener('click', closeModal); 5734 overlay.addEventListener('click', function(e) { 5735 if (e.target === overlay) { 5736 closeModal(); 5737 } 5738 }); 5739 5740 // Close on escape key 5741 document.addEventListener('keydown', function(e) { 5742 if (e.key === 'Escape') { 5743 closeModal(); 5744 } 5745 }); 5746 } 5747 } 5748 }, 1000); // Wait 1 second for page to load 5749 } 5750}); 5751</script>
5751 5752 5753<!-- Digital Genius Chat Widget - Contact Page Only --> 5754 5755<!-- Accessibility -->
5756<script> (function(){ var s = document.createElement('script'); var h = document.querySelector('head') || document.body; s.src = 'https://acsbapp.com/apps/app/dist/js/app.js'; s.async = true; s.onload = function(){ acsbJS.init({ statementLink : '', footerHtml : '', hideMobile : false, hideTrigger : true, disableBgProcess : false, language : 'en', position : 'right', leadColor : '#9a5726', triggerColor : '#905a2f', triggerRadius : '50%', triggerPositionX : 'right', triggerPositionY : 'bottom', triggerIcon : 'people', triggerSize : 'medium', triggerOffsetX : 20, triggerOffsetY : 20, mobile : { triggerSize : 'small', triggerPositionX : 'right', triggerPositionY : 'bottom', triggerOffsetX : 10, triggerOffsetY : 10, triggerRadius : '50%' } }); }; h.appendChild(s); })(); </script>
5756 5757
5758<script type="speculationrules"> 5759{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/wayfx-heartandsoil/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 5760</script>
vendor: 1 bytes, line 5760
5760
5761<script type="text/javascript">var algolia = {"debug":false,"application_id":"2QOV81L80P","search_api_key":"942289e56f4b51b0f98488602bdd43bc","powered_by_enabled":true,"query":"","autocomplete":{"sources":[{"index_id":"posts_post","index_name":"hs_posts_post","label":"Posts","admin_name":"Posts","position":10,"max_suggestions":5,"tmpl_suggestion":"autocomplete-post-suggestion","enabled":true}],"input_selector":"input[name='s']:not(.no-autocomplete):not(#adminbar-search)"},"indices":{"posts_post":{"name":"hs_posts_post","id":"posts_post","enabled":true,"replicas":[]}}};</script>
5761<script type="text/html" id="tmpl-autocomplete-header"> 5762 <div class="autocomplete-header"> 5763 <div class="autocomplete-header-title">{{{ data.label }}}</div> 5764 <div class="clear"></div> 5765 </div> 5766</script>
5766 5767
5768<script type="text/html" id="tmpl-autocomplete-post-suggestion"> 5769 <a class="suggestion-link" href="{{ data.permalink }}" title="{{ data.post_title }}"> 5770 <div class="suggestion-post-attributes"> 5771 <span class="suggestion-article-title">{{{ data._highlightResult.post_title.value }}}</span> 5772 </div> 5773 </a> 5774</script>
5774 5775
5776<script type="text/html" id="tmpl-autocomplete-product-suggestion"> 5777 <a class="suggestion-link" href="https://heartandsoil.co/products/{{ data.handle }}" title="{{ data.title }}"> 5778 <div class="suggestion-post-attributes"> 5779 <span class="suggestion-post-title">{{{ data._highlightResult.title.value }}}</span> 5780 </div> 5781 </a> 5782</script>
5782 5783
5784<script type="text/html" id="tmpl-autocomplete-term-suggestion"> 5785 <a class="suggestion-link" href="{{ data.permalink }}" title="{{ data.name }}"> 5786 <svg viewBox="0 0 21 21" width="21" height="21"> 5787 <svg width="21" height="21" viewBox="0 0 21 21"> 5788 <path 5789 d="M4.662 8.72l-1.23 1.23c-.682.682-.68 1.792.004 2.477l5.135 5.135c.7.693 1.8.688 2.48.005l1.23-1.23 5.35-5.346c.31-.31.54-.92.51-1.36l-.32-4.29c-.09-1.09-1.05-2.06-2.15-2.14l-4.3-.33c-.43-.03-1.05.2-1.36.51l-.79.8-2.27 2.28-2.28 2.27zm9.826-.98c.69 0 1.25-.56 1.25-1.25s-.56-1.25-1.25-1.25-1.25.56-1.25 1.25.56 1.25 1.25 1.25z" 5790 fill-rule="evenodd"></path> 5791 </svg> 5792 </svg> 5793 <span class="suggestion-post-title">{{{ data._highlightResult.name.value }}}</span> 5794 </a> 5795</script>
5795 5796
5797<script type="text/html" id="tmpl-autocomplete-footer"> 5798 <div class="autocomplete-footer"> 5799 <div class="autocomplete-footer-branding"> 5800 <a href="#" class="algolia-powered-by-link" title="Algolia"> 5801 <svg width="150px" height="25px" viewBox="0 0 572 64"><path fill="#36395A" d="M16 48.3c-3.4 0-6.3-.6-8.7-1.7A12.4 12.4 0 0 1 1.9 42C.6 40 0 38 0 35.4h6.5a6.7 6.7 0 0 0 3.9 6c1.4.7 3.3 1.1 5.6 1.1 2.2 0 4-.3 5.4-1a7 7 0 0 0 3-2.4 6 6 0 0 0 1-3.4c0-1.5-.6-2.8-1.9-3.7-1.3-1-3.3-1.6-5.9-1.8l-4-.4c-3.7-.3-6.6-1.4-8.8-3.4a10 10 0 0 1-3.3-7.9c0-2.4.6-4.6 1.8-6.4a12 12 0 0 1 5-4.3c2.2-1 4.7-1.6 7.5-1.6s5.5.5 7.6 1.6a12 12 0 0 1 5 4.4c1.2 1.8 1.8 4 1.8 6.7h-6.5a6.4 6.4 0 0 0-3.5-5.9c-1-.6-2.6-1-4.4-1s-3.2.3-4.4 1c-1.1.6-2 1.4-2.6 2.4-.5 1-.8 2-.8 3.1a5 5 0 0 0 1.5 3.6c1 1 2.6 1.7 4.7 1.9l4 .3c2.8.2 5.2.8 7.2 1.8 2.1 1 3.7 2.2 4.9 3.8a9.7 9.7 0 0 1 1.7 5.8c0 2.5-.7 4.7-2 6.6a13 13 0 0 1-5.6 4.4c-2.4 1-5.2 1.6-8.4 1.6Zm35.6 0c-2.6 0-4.8-.4-6.7-1.3a13 13 0 0 1-4.7-3.5 17.1 17.1 0 0 1-3.6-10.4v-1c0-2 .3-3.8 1-5.6a13 13 0 0 1 7.3-8.3 15 15 0 0 1 6.3-1.4A13.2 13.2 0 0 1 64 24.3c1 2.2 1.6 4.6 1.6 7.2V34H39.4v-4.3h21.8l-1.8 2.2c0-2-.3-3.7-.9-5.1a7.3 7.3 0 0 0-2.7-3.4c-1.2-.7-2.7-1.1-4.6-1.1s-3.4.4-4.7 1.3a8 8 0 0 0-2.9 3.6c-.6 1.5-.9 3.3-.9 5.4 0 2 .3 3.7 1 5.3a7.9 7.9 0 0 0 2.8 3.7c1.3.8 3 1.3 5 1.3s3.8-.5 5.1-1.3c1.3-1 2.1-2 2.4-3.2h6a11.8 11.8 0 0 1-7 8.7 16 16 0 0 1-6.4 1.2ZM80 48c-2.2 0-4-.3-5.7-1a8.4 8.4 0 0 1-3.7-3.3 9.7 9.7 0 0 1-1.3-5.2c0-2 .5-3.8 1.5-5.2a9 9 0 0 1 4.3-3.1c1.8-.7 4-1 6.7-1H89v4.1h-7.5c-2 0-3.4.5-4.4 1.4-1 1-1.6 2.1-1.6 3.6s.5 2.7 1.6 3.6c1 1 2.5 1.4 4.4 1.4 1.1 0 2.2-.2 3.2-.7 1-.4 1.9-1 2.6-2 .6-1 1-2.4 1-4.2l1.7 2.1c-.2 2-.7 3.8-1.5 5.2a9 9 0 0 1-3.4 3.3 12 12 0 0 1-5.3 1Zm9.5-.7v-8.8h-1v-10c0-1.8-.5-3.2-1.4-4.1-1-1-2.4-1.4-4.2-1.4a142.9 142.9 0 0 0-10.2.4v-5.6a74.8 74.8 0 0 1 8.6-.4c3 0 5.5.4 7.5 1.2s3.4 2 4.4 3.6c1 1.7 1.4 4 1.4 6.7v18.4h-5Zm12.9 0V17.8h5v12.3h-.2c0-4.2 1-7.4 2.8-9.5a11 11 0 0 1 8.3-3.1h1v5.6h-2a9 9 0 0 0-6.3 2.2c-1.5 1.5-2.2 3.6-2.2 6.4v15.6h-6.4Zm34.4 1a15 15 0 0 1-6.6-1.3c-1.9-.9-3.4-2-4.7-3.5a15.5 15.5 0 0 1-2.7-5c-.6-1.7-1-3.6-1-5.4v-1c0-2 .4-3.8 1-5.6a15 15 0 0 1 2.8-4.9c1.3-1.5 2.8-2.6 4.6-3.5a16.4 16.4 0 0 1 13.3.2c2 1 3.5 2.3 4.8 4a12 12 0 0 1 2 6H144c-.2-1.6-1-3-2.2-4.1a7.5 7.5 0 0 0-5.2-1.7 8 8 0 0 0-4.7 1.3 8 8 0 0 0-2.8 3.6 13.8 13.8 0 0 0 0 10.3c.6 1.5 1.5 2.7 2.8 3.6s2.8 1.3 4.8 1.3c1.5 0 2.7-.2 3.8-.8a7 7 0 0 0 2.6-2c.7-1 1-2 1.2-3.2h6.2a11 11 0 0 1-2 6.2 15.1 15.1 0 0 1-11.8 5.5Zm19.7-1v-40h6.4V31h-1.3c0-3 .4-5.5 1.1-7.6a9.7 9.7 0 0 1 3.5-4.8A9.9 9.9 0 0 1 172 17h.3c3.5 0 6 1.1 7.9 3.5 1.7 2.3 2.6 5.7 2.6 10v16.8h-6.4V29.6c0-2.1-.6-3.8-1.8-5a6.4 6.4 0 0 0-4.8-1.8c-2 0-3.7.7-5 2a7.8 7.8 0 0 0-1.9 5.5v17h-6.4Zm63.8 1a12.2 12.2 0 0 1-10.9-6.2 19 19 0 0 1-1.8-7.3h1.4v12.5h-5.1v-40h6.4v19.8l-2 3.5c.2-3.1.8-5.7 1.9-7.7a11 11 0 0 1 4.4-4.5c1.8-1 3.9-1.5 6.1-1.5a13.4 13.4 0 0 1 12.8 9.1c.7 1.9 1 3.8 1 6v1c0 2.2-.3 4.1-1 6a13.6 13.6 0 0 1-13.2 9.4Zm-1.2-5.5a8.4 8.4 0 0 0 7.9-5c.7-1.5 1.1-3.3 1.1-5.3s-.4-3.8-1.1-5.3a8.7 8.7 0 0 0-3.2-3.6 9.6 9.6 0 0 0-9.2-.2 8.5 8.5 0 0 0-3.3 3.2c-.8 1.4-1.3 3-1.3 5v2.3a9 9 0 0 0 1.3 4.8 9 9 0 0 0 3.4 3c1.4.7 2.8 1 4.4 1Zm27.3 3.9-10-28.9h6.5l9.5 28.9h-6Zm-7.5 12.2v-5.7h4.9c1 0 2-.1 2.9-.4a4 4 0 0 0 2-1.4c.4-.7.9-1.6 1.2-2.7l8.6-30.9h6.2l-9.3 32.4a14 14 0 0 1-2.5 5 8.9 8.9 0 0 1-4 2.8c-1.5.6-3.4.9-5.6.9h-4.4Zm9-12.2v-5.2h6.4v5.2H248Z"></path><path fill="#003DFF" d="M534.4 9.1H528a.8.8 0 0 1-.7-.7V1.8c0-.4.2-.7.6-.8l6.5-1c.4 0 .8.2.9.6v7.8c0 .4-.4.7-.8.7zM428 35.2V.8c0-.5-.3-.8-.7-.8h-.2l-6.4 1c-.4 0-.7.4-.7.8v35c0 1.6 0 11.8 12.3 12.2.5 0 .8-.4.8-.8V43c0-.4-.3-.7-.6-.8-4.5-.5-4.5-6-4.5-7zm106.5-21.8H528c-.4 0-.7.4-.7.8v34c0 .4.3.8.7.8h6.5c.4 0 .8-.4.8-.8v-34c0-.5-.4-.8-.8-.8zm-17.7 21.8V.8c0-.5-.3-.8-.8-.8l-6.5 1c-.4 0-.7.4-.7.8v35c0 1.6 0 11.8 12.3 12.2.4 0 .8-.4.8-.8V43c0-.4-.3-.7-.7-.8-4.4-.5-4.4-6-4.4-7zm-22.2-20.6a16.5 16.5 0 0 1 8.6 9.3c.8 2.2 1.3 4.8 1.3 7.5a19.4 19.4 0 0 1-4.6 12.6 14.8 14.8 0 0 1-5.2 3.6c-2 .9-5.2 1.4-6.8 1.4a21 21 0 0 1-6.7-1.4 15.4 15.4 0 0 1-8.6-9.3 21.3 21.3 0 0 1 0-14.4 15.2 15.2 0 0 1 8.6-9.3c2-.8 4.3-1.2 6.7-1.2s4.6.4
58016.7 1.2zm-6.7 27.6c2.7 0 4.7-1 6.2-3s2.2-4.3 2.2-7.8-.7-6.3-2.2-8.3-3.5-3-6.2-3-4.7 1-6.1 3c-1.5 2-2.2 4.8-2.2 8.3s.7 5.8 2.2 7.8 3.5 3 6.2 3zm-88.8-28.8c-6.2 0-11.7 3.3-14.8 8.2a18.6 18.6 0 0 0 4.8 25.2c1.8 1.2 4 1.8 6.2 1.7s.1 0 .1 0h.9c4.2-.7 8-4 9.1-8.1v7.4c0 .4.3.7.8.7h6.4a.7.7 0 0 0 .7-.7V14.2c0-.5-.3-.8-.7-.8h-13.5zm6.3 26.5a9.8 9.8 0 0 1-5.7 2h-.5a10 10 0 0 1-9.2-14c1.4-3.7 5-6.3 9-6.3h6.4v18.3zm152.3-26.5h13.5c.5 0 .8.3.8.7v33.7c0 .4-.3.7-.8.7h-6.4a.7.7 0 0 1-.8-.7v-7.4c-1.2 4-4.8 7.4-9 8h-.1a4.2 4.2 0 0 1-.5.1h-.9a10.3 10.3 0 0 1-7-2.6c-4-3.3-6.5-8.4-6.5-14.2 0-3.7 1-7.2 3-10 3-5 8.5-8.3 14.7-8.3zm.6 28.4c2.2-.1 4.2-.6 5.7-2V21.7h-6.3a9.8 9.8 0 0 0-9 6.4 10.2 10.2 0 0 0 9.1 13.9h.5zM452.8 13.4c-6.2 0-11.7 3.3-14.8 8.2a18.5 18.5 0 0 0 3.6 24.3 10.4 10.4 0 0 0 13 .6c2.2-1.5 3.8-3.7 4.5-6.1v7.8c0 2.8-.8 5-2.2 6.3-1.5 1.5-4 2.2-7.5 2.2l-6-.3c-.3 0-.7.2-.8.5l-1.6 5.5c-.1.4.1.8.5 1h.1c2.8.4 5.5.6 7 .6 6.3 0 11-1.4 14-4.1 2.7-2.5 4.2-6.3 4.5-11.4V14.2c0-.5-.4-.8-.8-.8h-13.5zm6.3 8.2v18.3a9.6 9.6 0 0 1-5.6 2h-1a10.3 10.3 0 0 1-8.8-14c1.4-3.7 5-6.3 9-6.3h6.4zM291 31.5A32 32 0 0 1 322.8 0h30.8c.6 0 1.2.5 1.2 1.2v61.5c0 1.1-1.3 1.7-2.2 1l-19.2-17a18 18 0 0 1-11 3.4 18.1 18.1 0 1 1 18.2-14.8c-.1.4-.5.7-.9.6-.1 0-.3 0-.4-.2l-3.8-3.4c-.4-.3-.6-.8-.7-1.4a12 12 0 1 0-2.4 8.3c.4-.4 1-.5 1.6-.2l14.7 13.1v-46H323a26 26 0 1 0 10 49.7c.8-.4 1.6-.2 2.3.3l3 2.7c.3.2.3.7 0 1l-.2.2a32 32 0 0 1-47.2-28.6z"></path></svg> 5802 </a> 5803 </div> 5804 </div> 5805</script>
5805 5806
5807<script type="text/html" id="tmpl-autocomplete-empty"> 5808 <div class="autocomplete-empty"> 5809 No results matched your query <span class="empty-query">"{{ data.query }}"</span> 5810 </div> 5811</script>
5811 5812
5813<script type="text/javascript"> 5814 window.addEventListener('load', function () { 5815 5816 /* Initialize Algolia client */ 5817 var client = algoliasearch( algolia.application_id, algolia.search_api_key ); 5818 5819 /** 5820 * Algolia hits source method. 5821 * 5822 * This method defines a custom source to use with autocomplete.js. 5823 * 5824 * @param object $index Algolia index object. 5825 * @param object $params Options object to use in search. 5826 */ 5827 var algoliaHitsSource = function( index, params ) { 5828 return function( query, callback ) { 5829 index 5830 .search( query, params ) 5831 .then( function( response ) { 5832 callback( response.hits, response ); 5833 }) 5834 .catch( function( error ) { 5835 callback( [] ); 5836 }); 5837 } 5838 } 5839 5840 /* setup default sources */ 5841 var sources = []; 5842 algolia.autocomplete.sources.forEach( function( config, i ) { 5843 var suggestion_template = wp.template(config['tmpl_suggestion']); 5844 sources.push({ 5845 source: algoliaHitsSource( client.initIndex( config[ 'index_name' ] ), { 5846 hitsPerPage: config[ 'max_suggestions' ], 5847 attributesToSnippet: [ 5848 'content:10' 5849 ], 5850 highlightPreTag: '__ais-highlight__', 5851 highlightPostTag: '__/ais-highlight__' 5852 } ), 5853 templates: { 5854 header: function () { 5855 return wp.template( 'autocomplete-header' )( { 5856 label: 'Articles' 5857 } ); 5858 }, 5859 suggestion: function ( hit ) { 5860 if ( hit.escaped === true ) { 5861 return suggestion_template( hit ); 5862 } 5863 hit.escaped = true; 5864 5865 for ( var key in hit._highlightResult ) { 5866 /* We do not deal with arrays. */ 5867 if ( typeof hit._highlightResult[ key ].value !== 'string' ) { 5868 continue; 5869 } 5870 hit._highlightResult[ key ].value = _.escape( hit._highlightResult[ key ].value ); 5871 hit._highlightResult[ key ].value = hit._highlightResult[ key ].value.replace( /__ais-highlight__/g, '<em>' ).replace( /__\/ais-highlight__/g, '</em>' ); 5872 } 5873 5874 for ( var key in hit._snippetResult ) { 5875 /* We do not deal with arrays. */ 5876 if ( typeof hit._snippetResult[ key ].value !== 'string' ) { 5877 continue; 5878 } 5879 5880 hit._snippetResult[ key ].value = _.escape( hit._snippetResult[ key ].value ); 5881 hit._snippetResult[ key ].value = hit._snippetResult[ key ].value.replace( /__ais-highlight__/g, '<em>' ).replace( /__\/ais-highlight__/g, '</em>' ); 5882 } 5883 5884 return suggestion_template( hit ); 5885 } 5886 } 5887 } ); 5888 } ); 5889 5890 /* Setup dropdown menus */ 5891 document.querySelectorAll(algolia.autocomplete.input_selector).forEach(function (el) { 5892 if (!el.matches('#searchbox')) { 5893 var searchInput = el; 5894 var resultsAppendTarget = searchInput.closest('form') || document.body; 5895 5896 var config = { 5897 debug: false, 5898 hint: false, 5899 openOnFocus: false, 5900 appendTo: resultsAppendTarget, 5901 templates: { 5902 empty: wp.template('autocomplete-empty') 5903 } 5904 }; 5905 5906 if (algolia.powered_by_enabled) { 5907 config.templates.footer = wp.template('autocomplete-footer'); 5908 } 5909 5910 var autocomplete = algoliaAutocomplete(searchInput, config, sources) 5911 .on('autocomplete:selected', function (e, suggestion) { 5912 // window.location.href = suggestion.permalink; 5913 }); 5914 5915 window.addEventListener('scroll', function() { 5916 if (autocomplete.autocomplete.getWrapper().style.display === "block") { 5917 autocomplete.autocomplete.close(); 5918 autocomplete.autocomplete.open(); 5919 } 5920 }); 5921 } 5922 }); 5923 5924 var algoliaPoweredLink = document.querySelector( '.algolia-powered-by-link' ); 5925 if ( algoliaPoweredLink ) { 5926 algoliaPoweredLink.addEventListener( 'click', function( e ) { 5927 e.preventDefault(); 5928 window.location = "https://www.algolia.com/?utm_source=WordPress&utm_medium=extension&utm_content=" + window.location.hostname + "&utm_campaign=poweredby"; 5929 } ); 5930 } 5931 }); 5932</script>
5932<script id="wayfx-app-js" src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/js/wayfx-app.js?ver=2.2.27"></script>
vendor: 1 bytes, line 5932
5932
5933<script id="underscore-js" src="https://heartandsoil.co/wp-includes/js/underscore.min.js?ver=1.13.8"></script>
vendor: 1 bytes, line 5933
5933
5934<script id="wp-util-js-extra"> 5935var _wpUtilSettings = {"ajax":{"url":"/wp-admin/admin-ajax.php"}}; 5936//# sourceURL=wp-util-js-extra 5937</script>
vendor: 1 bytes, line 5937
5937
5938<script id="wp-util-js" src="https://heartandsoil.co/wp-includes/js/wp-util.min.js?ver=7.1.1"></script>
vendor: 1 bytes, line 5938
5938
5939<script id="algolia-search-js" src="https://heartandsoil.co/wp-content/plugins/wp-search-with-algolia/js/algoliasearch/dist/algoliasearch-lite.umd.js?ver=2.8.3"></script>
vendor: 1 bytes, line 5939
5939
5940<script id="algolia-autocomplete-js" src="https://heartandsoil.co/wp-content/plugins/wp-search-with-algolia/js/autocomplete.js/dist/autocomplete.min.js?ver=2.8.3"></script>
vendor: 1 bytes, line 5940
5940
5941<script id="algolia-autocomplete-noconflict-js" src="https://heartandsoil.co/wp-content/plugins/wp-search-with-algolia/js/autocomplete-noconflict.js?ver=2.8.3"></script>
vendor: 1 bytes, line 5941
5941
5942<script id="wp-emoji-settings" type="application/json"> 5943{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://heartandsoil.co/wp-includes/js/wp-emoji-release.min.js?ver=7.1.1"}} 5944</script>
vendor: 1 bytes, line 5944
5944
5945<script type="module"> 5946/*! This file is auto-generated */ 5947var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 5948//# sourceURL=https://heartandsoil.co/wp-includes/js/wp-emoji-loader.min.js 5949</script>
5949 5950 <!-- UK Redirect Popup Component v1.0.0 --> 5951 <template id="hs-uk-popup-template"> 5952 <div id="hs-uk-popup" class="hs-uk-popup" role="dialog" aria-modal="true" aria-labelledby="hs-uk-popup-title" aria-hidden="true" inert> 5953 <div class="hs-uk-popup__backdrop" data-action="dismiss"></div> 5954 <div class="hs-uk-popup__dialog"> 5955 <button class="hs-uk-popup__close" data-action="dismiss" type="button" aria-label="Close"> 5956 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"> 5957 <path d="M18 6L6 18M6 6l12 12"/> 5958 </svg> 5959 </button> 5960 <h2 id="hs-uk-popup-title" class="hs-uk-popup__title">We're available in the UK with healf!</h2> 5961 <p class="hs-uk-popup__text">Visit healf.com to purchase our products and receive fast and free shipping, right to your door.</p> 5962 <a href="https://healf.com/collections/heart-soil" class="hs-uk-popup__cta"> 5963 Shop Heart & Soil on healf.com 5964 </a> 5965 </div> 5966 </div> 5967 </template> 5968 5969 <style> 5970 .hs-uk-popup { 5971 --popup-backdrop: rgba(0, 0, 0, 0.7); 5972 --popup-bg: #fff; 5973 --popup-radius: 6px; 5974 --popup-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35); 5975 --popup-title-color: #35291f; 5976 --popup-text-color: #555; 5977 --popup-btn-bg: #a4520d; 5978 --popup-btn-bg-hover: #8a4409; 5979 --popup-btn-text: #fff; 5980 --popup-close-color: #999; 5981 --popup-close-hover: #35291f; 5982 --popup-focus-ring: #a4520d; 5983 --popup-transition: 200ms ease; 5984 --popup-max-width: 420px; 5985 position: fixed; 5986 inset: 0; 5987 z-index: 999999; 5988 display: grid; 5989 place-items: center; 5990 padding: 1rem; 5991 opacity: 0; 5992 visibility: hidden; 5993 transition: opacity var(--popup-transition), visibility var(--popup-transition); 5994 } 5995 .hs-uk-popup[aria-hidden="false"] { opacity: 1; visibility: visible; } 5996 .hs-uk-popup__backdrop { 5997 position: absolute; 5998 inset: 0; 5999 background: var(--popup-backdrop); 6000 cursor: pointer; 6001 -webkit-tap-highlight-color: transparent; 6002 } 6003 .hs-uk-popup__dialog { 6004 position: relative; 6005 background: var(--popup-bg); 6006 border-radius: var(--popup-radius); 6007 padding: 2.5rem 2.5rem 2rem; 6008 width: min(var(--popup-max-width), 100%); 6009 text-align: center; 6010 box-shadow: var(--popup-shadow); 6011 translate: 0 1rem; 6012 transition: translate var(--popup-transition); 6013 } 6014 .hs-uk-popup[aria-hidden="false"] .hs-uk-popup__dialog { translate: 0 0; } 6015 .hs-uk-popup__close { 6016 position: absolute; 6017 inset-block-start: 0.75rem; 6018 inset-inline-end: 0.75rem; 6019 display: grid; 6020 place-items: center; 6021 inline-size: 2rem; 6022 block-size: 2rem; 6023 padding: 0; 6024 border: none; 6025 border-radius: 4px; 6026 background: transparent; 6027 color: var(--popup-close-color); 6028 cursor: pointer; 6029 transition: color var(--popup-transition), background-color var(--popup-transition); 6030 -webkit-tap-highlight-color: transparent; 6031 } 6032 .hs-uk-popup__close:where(:hover, :focus-visible) { 6033 color: var(--popup-close-hover); 6034 background: rgba(0, 0, 0, 0.05); 6035 } 6036 .hs-uk-popup__close:focus-visible { outline: 2px solid var(--popup-focus-ring); outline-offset: 2px; } 6037 .hs-uk-popup__close svg { inline-size: 1.25rem; block-size: 1.25rem; } 6038 .hs-uk-popup__title { 6039 margin: 0 0 1rem; 6040 font-family: "Burford Base", "Source Sans Pro", sans-serif; 6041 font-size: clamp(1.75rem, 5vw, 2.25rem); 6042 font-weight: 400; 6043 line-height: 0.8; 6044 letter-spacing: -4px; 6045 color: #35291f; 6046 text-wrap: balance; 6047 } 6048 .hs-uk-popup__text { 6049 margin: 0 0 1.5rem; 6050 font-family: "Source Sans Pro", sans-serif; 6051 font-size: 1rem; 6052 line-height: 1.5; 6053 color: #2d231a; 6054 text-wrap: pretty; 6055 } 6056 .hs-uk-popup__cta { 6057 display: inline-flex; 6058 align-items: center; 6059 justify-content: center; 6060 gap: 0.5rem; 6061 min-height: 50px; 6062 padding: 0.75rem 2.5rem; 6063 border: none; 6064 border-radius: 6px; 6065 background: #a4520d; 6066 color: #f5e7d4; 6067 font-family: "Source Sans Pro", sans-serif; 6068 font-size: 1rem; 6069 font-weight: 600; 6070 letter-spacing: 0.5px; 6071 text-decoration: none; 6072 text-transform: uppercase; 6073 cursor: pointer; 6074 transition: background-color 200ms ease; 6075 -webkit-tap-highlight-color: transparent; 6076 } 6077 .hs-uk-popup__cta:where(:hover, :focus-visible) { background: #8a4409; } 6078 .hs-uk-popup__cta:focus-visible { outline: 2px solid #a4520d; outline-offset: 2px; } 6079 .hs-uk-popup__cta:active { background: #7a3b08; } 6080 @media (width < 30rem) { 6081 .hs-uk-popup { padding: 0.75rem; } 6082 .hs-uk-popup__dialog { padding: 2rem 1.5rem 1.5rem; } 6083 .hs-uk-popup__title { letter-spacing: -3px; } 6084 .hs-uk-popup__cta { inline-size: 100%; } 6085 } 6086 @media (prefers-reduced-motion: reduce) { 6087 .hs-uk-popup, .hs-uk-popup__dialog, .hs-uk-popup__close, .hs-uk-popup__cta { transition: none; } 6088 } 6089 @media (forced-colors: active) { 6090 .hs-uk-popup__dialog { border: 2px solid CanvasText; } 6091 .hs-uk-popup__cta { border: 2px solid ButtonText; } 6092 } 6093 </style> 6094 6095
6095<script> 6096 (function(){ 6097 'use strict'; 6098 const CONFIG=Object.freeze({geoApi:'https://api.country.is/',targetCountry:'GB',dismissHours:4,delayMs:3000,storagePrefix:'hs_uk_'}); 6099 const STORAGE=Object.freeze({country:`${CONFIG.storagePrefix}country`,dismissed:`${CONFIG.storagePrefix}popup_dismissed`}); 6100 const MS_PER_HOUR=3600000; 6101 const isWithinHours=(t,h)=>t?(Date.now()-Number(t))/MS_PER_HOUR<h:false; 6102 const shouldShow=()=>{try{if(isWithinHours(localStorage.getItem(STORAGE.dismissed),CONFIG.dismissHours))return false;return true}catch{return true}}; 6103 const getCountry=async()=>{try{const c=sessionStorage.getItem(STORAGE.country);if(c)return c}catch{}let country='';try{const r=await fetch(CONFIG.geoApi);if(r.ok){const d=await r.json();country=d?.country||''}}catch{}if(country)try{sessionStorage.setItem(STORAGE.country,country)}catch{}return country}; 6104 const createPopup=()=>{const t=document.getElementById('hs-uk-popup-template');if(!t)return null;document.body.appendChild(t.content.cloneNode(true));const p=document.getElementById('hs-uk-popup'),d=p?.querySelector('.hs-uk-popup__dialog');if(!p||!d)return null;let prev=null;const show=()=>{prev=document.activeElement;p.removeAttribute('inert');p.setAttribute('aria-hidden','false');document.body.style.overflow='hidden';d.querySelector('button,a')?.focus()};const hide=()=>{p.setAttribute('aria-hidden','true');p.setAttribute('inert','');document.body.style.overflow='';prev?.focus?.()};const dismiss=()=>{try{localStorage.setItem(STORAGE.dismissed,Date.now().toString())}catch{}hide()};p.addEventListener('click',e=>{const a=e.target.closest('[data-action]')?.dataset.action;if(a==='dismiss')dismiss()});p.addEventListener('keydown',e=>{if(e.key==='Escape'){e.preventDefault();dismiss()}if(e.key==='Tab'){const f=[...d.querySelectorAll('button,a,[tabindex]:not([tabindex="-1"])')],first=f[0],last=f[f.length-1];if(e.shiftKey&&document.activeElement===first){e.preventDefault();last?.focus()}else if(!e.shiftKey&&document.activeElement===last){e.preventDefault();first?.focus()}}});return{show,hide,dismiss}}; 6105 const init=async()=>{if(!shouldShow())return;const c=await getCountry();if(c!==CONFIG.targetCountry)return;const p=createPopup();if(p)setTimeout(p.show,CONFIG.delayMs)}; 6106 if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init,{once:true});else init(); 6107 })(); 6108 </script>
6108 6109 </body> 6110</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.