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/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/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/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: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/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: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/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: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/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-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/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/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:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic-ext/700/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: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:700;src:url(/cf-fonts/s/source-sans-pro/5.2.4/cyrillic/700/normal.woff2);
350unicode-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-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: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/greek-ext/900/normal.woff2);unicode-range:U+1F00-1FFF;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/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/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/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: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/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);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: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:400;src:url(/cf-fonts/s/source-sans-pro/5.2.4/greek/400/italic.woff2);
350unicode-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/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/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: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/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/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;}@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/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;}</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="og:image" content="https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]" /> 506<meta property="og:image:secure_url" content="https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]" /> 507<meta property="og:image:width" content="1200" /> 508<meta property="og:image:height" content="630" /> 509<meta property="og:image:alt" content="Store locator" /> 510<meta property="og:image:type" content="image/jpeg" /> 511<meta property="article:published_time" content="2025-09-24T13:10:18+00:00" /> 512<meta name="twitter:card" content="summary_large_image" /> 513<meta name="twitter:title" content="Store Locator | Heart & Soil Supplements" /> 514<meta name="twitter:description" content="Heart & Soil is now available on the shelves of your local Sprouts Farmers Market!" /> 515<meta name="twitter:image" content="https://heartandsoil.co/wp-content/uploads/2021/05/[email protected]" /> 516<meta name="twitter:label1" content="Time to read" /> 517<meta name="twitter:data1" content="Less than a minute" />
518<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","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>
518 519<!-- /Rank Math WordPress SEO plugin --> 520 521<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" /> 522<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" /> 523<style id="wp-img-auto-sizes-contain-inline-css"> 524img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 525/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 526</style> 527<style id="wp-emoji-styles-inline-css"> 528 529 img.wp-smiley, img.emoji { 530 display: inline !important; 531 border: none !important; 532 box-shadow: none !important; 533 height: 1em !important; 534 width: 1em !important; 535 margin: 0 0.07em !important; 536 vertical-align: -0.1em !important; 537 background: none !important; 538 padding: 0 !important; 539 } 540/*# sourceURL=wp-emoji-styles-inline-css */ 541</style> 542<style id="wp-block-library-inline-css"> 543: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;
543--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}} 544 545/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 546</style> 547<style id="classic-theme-styles-inline-css"> 548/*! This file is auto-generated */ 549.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} 550/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 551</style> 552 553<style id="global-styles-inline-css"> 554: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,
5540) 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;}
554.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;} 555/*# sourceURL=global-styles-inline-css */ 556</style> 557 558<link rel='stylesheet' id='wayfx-style-css' href='https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/style.css?ver=2.2.27' media='all' /> 559<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' />
560<script id="jquery-core-js" src="https://heartandsoil.co/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
560 561<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' />
562<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>
562 563
563<script> 564 function updateCartX() { 565 setTimeout(function() { 566 jQuery.ajax({ 567 url: "/?pagename=justuno-sync-job&type=cart", 568 type: "GET", 569 beforeSend: function(xhr){xhr.setRequestHeader('Authorization', 'Bearer q3q6rvbvjueuzh4wtyzqr9');}, 570 success: function(data) { 571 console.log(data); 572 juapp("cart", { 573 total: data.total, 574 subtotal: data.subtotal, 575 tax: data.total_tax, 576 shipping: data.shipping_total, 577 currency:"USD", 578 }); 579 juapp("cartItems", data.items); 580 } 581 }); 582 }, 3000); 583 } 584 jQuery(document).ready(function() { 585 jQuery(".ajax_add_to_cart, .single_add_to_cart_button, .product-remove .remove").on("click", function(){ 586 updateCartX(); 587 }); 588 jQuery(".woocommerce-cart-form").submit(function() { 589 updateCartX(); 590 }); 591 }); 592 </script>
592<link rel="icon" href="https://heartandsoil.co/wp-content/uploads/2021/04/favicon-150x150.png" sizes="32x32" /> 593<link rel="icon" href="https://heartandsoil.co/wp-content/uploads/2021/04/favicon.png" sizes="192x192" /> 594<link rel="apple-touch-icon" href="https://heartandsoil.co/wp-content/uploads/2021/04/favicon.png" /> 595<meta name="msapplication-TileImage" content="https://heartandsoil.co/wp-content/uploads/2021/04/favicon.png" /> 596<style id="wp-custom-css"> 597/* rank math questions padding */ 598 599h3.rank-math-question { 600 padding-top: 20px; 601} 602</style> 603 604
604<script type="text/javascript"> 605 (function() { 606 var SHOPIFY_STATUS_URL = 'https://shop.heartandsoil.co/cart?view=b2b-status'; 607 var SHOPIFY_ORIGIN = 'https://shop.heartandsoil.co'; 608 var COOKIE_ATTRIBUTES = 'path=/; domain=.heartandsoil.co; secure; SameSite=None'; 609 610 function getCookie(name) { 611 var cookie = document.cookie.split('; ').find(function(row) { 612 return row.indexOf(name + '=') === 0; 613 }); 614 615 return cookie ? decodeURIComponent(cookie.split('=').slice(1).join('=')) : null; 616 } 617 618 function setB2BCookie(isB2B) { 619 if (isB2B) { 620 var expires = new Date(Date.now() + (24 * 60 * 60 * 1000)).toUTCString(); 621 document.cookie = 'isB2B=true; expires=' + expires + '; ' + COOKIE_ATTRIBUTES; 622 return; 623 } 624 625 document.cookie = 'isB2B=; Max-Age=0; ' + COOKIE_ATTRIBUTES; 626 } 627 628 function applyB2BState(isB2B) { 629 document.querySelectorAll('.b2bhide').forEach(function(el) { 630 el.style.display = isB2B ? 'none' : ''; 631 }); 632 633 document.querySelectorAll('.b2bshow').forEach(function(el) { 634 el.style.display = isB2B ? 'flex' : 'none'; 635 }); 636 } 637 638 function verifyShopifySession() { 639 var iframe = document.createElement('iframe'); 640 var settled = false; 641 var timeoutId; 642 643 function cleanup() { 644 window.removeEventListener('message', handleMessage); 645 window.clearTimeout(timeoutId); 646 647 if (iframe.parentNode) { 648 iframe.parentNode.removeChild(iframe); 649 } 650 } 651 652 function finish(isB2B) { 653 if (settled) return; 654 settled = true; 655 setB2BCookie(isB2B); 656 applyB2BState(isB2B); 657 cleanup(); 658 } 659 660 function handleMessage(event) { 661 if (event.origin !== SHOPIFY_ORIGIN || !event.data || event.data.type !== 'hs:b2b-status') { 662 return; 663 } 664 665 finish(event.data.isB2B === true); 666 } 667 668 window.addEventListener('message', handleMessage); 669 timeoutId = window.setTimeout(function() { 670 cleanup(); 671 }, 2500); 672 673 iframe.src = SHOPIFY_STATUS_URL + '&_=' + Date.now(); 674 iframe.setAttribute('aria-hidden', 'true'); 675 iframe.tabIndex = -1; 676 iframe.style.display = 'none'; 677 document.body.appendChild(iframe); 678 } 679 680 document.addEventListener('DOMContentLoaded', function() { 681 applyB2BState(getCookie('isB2B') === 'true'); 682 verifyShopifySession(); 683 }); 684 })(); 685</script>
685 686</head> 687 688<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"> 689 <!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 689-690
689 690 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
690GTM-PQH75NC
vendor: 85 bytes, lines 690-692
690" 691 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 692
692<!-- End Google Tag Manager (noscript) --> 693 694
694<script type="text/plain" data-cookieconsent="marketing"> 695 ire('identify', {customerId: '', customerEmail: '', customProfileId: ''}); 696 </script>
696 697 698 699 <div id="page" class="wayfx-site"> 700 701 702 703<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/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:'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:'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: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/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-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: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;}@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;}</style> 704 705<!-- Embla Carousel CDN Scripts - Deferred to improve page load performance -->
706<script defer src="https://unpkg.com/embla-carousel/embla-carousel.umd.js"></script>
vendor: 1 bytes, line 706
706
707<script defer src="https://unpkg.com/embla-carousel-fade/embla-carousel-fade.umd.js"></script>
vendor: 1 bytes, line 707
707
708<script defer src="https://unpkg.com/embla-carousel-autoplay/embla-carousel-autoplay.umd.js"></script>
708 709 710<style> 711 /* CSS Custom Properties for better maintainability */ 712 :root { 713 --topbar-height-desktop: 56px; 714 --topbar-height-mobile-base: 56px; 715 --topbar-height-mobile: 56px; 716 --topbar-transition-duration: 6000ms; 717 --topbar-content-padding: 16px; 718 --topbar-content-padding-mobile: 4px; 719 } 720 721 .rtnu-topbar { 722 overflow: hidden; 723 text-align: center; 724 position: relative; 725 width: 100%; 726 height: var(--topbar-height-desktop); 727 min-height: var(--topbar-height-desktop); 728 } 729 730 .rtnu-topbar .embla { 731 overflow: hidden; 732 width: 100%; 733 height: var(--topbar-height-desktop); 734 } 735 736 .rtnu-topbar .embla__container { 737 display: flex; 738 width: 100%; 739 height: var(--topbar-height-desktop); 740 } 741 742 .rtnu-topbar .embla__slide { 743 flex: 0 0 100%; 744 position: relative; 745 width: 100%; 746 height: var(--topbar-height-desktop); 747 min-height: var(--topbar-height-desktop); 748 } 749 750 .rtnu-topbar .rtnu-topbar-slide { 751 position: relative; 752 width: 100%; 753 height: var(--topbar-height-desktop); 754 min-height: var(--topbar-height-desktop); 755 display: flex; 756 justify-content: center; 757 align-items: center; 758 padding: 0; 759 } 760 761 .rtnu-topbar .rtnu-topbar-slide::before { 762 content: ''; 763 position: absolute; 764 top: 0; 765 left: 0; 766 right: 0; 767 bottom: 0; 768 width: 100%; 769 height: 100%; 770 z-index: 0; 771 } 772 773 .rtnu-topbar .topbar-slide-cta { 774 color: inherit; 775 text-decoration: none; 776 font-family: 'Source Sans Pro', sans-serif; 777 font-size: 16px; 778 font-weight: 600; 779 letter-spacing: 0; 780 line-height: 1.1; 781 text-wrap: balance; 782 position: relative; 783 z-index: 1; 784 display: flex; 785 align-items: center; 786 justify-content: center; 787 gap: 6px; 788 width: 100%; 789 height: 100%; 790 box-sizing: border-box; 791 padding-inline: var(--topbar-content-padding); 792 outline: none; 793 transition: opacity 0.2s ease; 794 } 795 796 .rtnu-topbar .topbar-slide-cta:hover span{ 797 text-decoration: none; 798 } 799 800 .rtnu-topbar .topbar-slide-cta--inline-links a { 801 color: inherit; 802 display: inline; 803 width: auto; 804 height: auto; 805 padding: 0; 806 font: inherit; 807 line-height: inherit; 808 text-decoration: underline; 809 text-underline-offset: 2px; 810 } 811 812 .rtnu-topbar .topbar-slide-cta--inline-links a:hover, 813 .rtnu-topbar .topbar-slide-cta--inline-links a:focus { 814 text-decoration: none; 815 } 816 817 .rtnu-topbar .rtnu-topbar-content .rtnu-topbar-arrow-icon{ 818 transition: transform 0.2s ease-out; 819 width: 18px; 820 height: 18px; 821 margin-right: 0; 822 transform: translateY(3px); 823 } 824 825 .rtnu-topbar .topbar-slide-cta:hover .rtnu-topbar-arrow-icon{ 826 transform: translateY(3px) translateX(4px); 827 } 828 829 .rtnu-topbar .topbar-slide-cta:focus { 830 outline: 2px solid currentColor; 831 outline-offset: -2px; 832 } 833 834 /* Scoped rtnu-wrapper styles only for topbar */ 835 .rtnu-topbar .rtnu-wrapper { 836 width: 100%; 837 max-width: none; 838 margin: 0; 839 padding: 0; 840 height: 100%; 841 display: flex; 842 align-items: center; 843 justify-content: center; 844 } 845 846 .rtnu-topbar .rtnu-topbar-content { 847 position: relative; 848 z-index: 1; 849 display: flex; 850 flex-direction: column; 851 justify-content: center; 852 align-items: center; 853 gap: 1px; 854 width: 100%; 855 height: 100%; 856 padding: 0; 857 } 858 859 .rtnu-topbar .rtnu-topbar-content--has-disclaimer .topbar-slide-cta { 860 height: auto; 861 flex: 1 1 auto; 862 } 863 864 .rtnu-topbar svg { 865 width: var(--icon-width); 866 height: auto; 867 display: inline!important; 868 /* margin-right: 4px; */ 869 margin-inline: 4px; 870 vertical-align: bottom; 871 flex-shrink: 0; 872 } 873 874 .rtnu-topbar .rtnu-topbar-content span { 875 display: inline-block; 876 } 877 878 .rtnu-topbar .topbar-content__text { 879 display: flex; 880 align-items: center; 881 justify-content: center; 882 gap: 4px; 883 font-family: 'Source Sans Pro', sans-serif; 884 font-size: 16px; 885 letter-spacing: 0; 886 line-height: 1.1; 887 } 888 889 .rtnu-topbar .topbar-content__text p, 890 .rtnu-topbar .topbar-content__text strong, 891 .rtnu-topbar .topbar-content__text em,
892 .rtnu-topbar .topbar-content__text span { 893 font-size: inherit; 894 font-weight: inherit; 895 letter-spacing: inherit; 896 line-height: inherit; 897 margin: 0; 898 } 899 900 .rtnu-topbar .topbar-content__text p { 901 display: inline; 902 } 903 904 .rtnu-topbar .topbar-content__text p + p { 905 margin-top: 0; 906 } 907 908 .rtnu-topbar 909 .rtnu-topbar-slide[data-slide="eos"] 910 .topbar-content__text br { 911 display: none; 912 } 913 914 /* Dynamic slide styles generated from PHP data */ 915 .rtnu-topbar .rtnu-topbar-slide[data-slide="mdw-sale"] { 916 color: #2d231a; 917 } 918 .rtnu-topbar .rtnu-topbar-slide[data-slide="mdw-sale"]::before { 919 background: #ffc52a; 920 } 921 .rtnu-topbar .rtnu-topbar-slide[data-slide="shipping"] { 922 color: #f5e7d4; 923 } 924 .rtnu-topbar .rtnu-topbar-slide[data-slide="shipping"]::before { 925 background: #88450d; 926 } 927 928 /* Reduced motion support */ 929 @media (prefers-reduced-motion: reduce) { 930 .rtnu-topbar .embla { 931 --topbar-transition-duration: 0ms; 932 } 933 934 .rtnu-topbar a { 935 transition: none; 936 } 937 } 938 939 /* High contrast mode support */ 940 @media (prefers-contrast: high) { 941 .rtnu-topbar a:focus { 942 outline: 3px solid; 943 outline-offset: -3px; 944 } 945 } 946 947 @media (max-width: 768px) { 948 .rtnu-topbar { 949 height: var(--topbar-height-mobile); 950 min-height: var(--topbar-height-mobile); 951 } 952 953 .rtnu-topbar .embla { 954 height: var(--topbar-height-mobile); 955 } 956 957 .rtnu-topbar .embla__container { 958 height: var(--topbar-height-mobile); 959 } 960 961 .rtnu-topbar .embla__slide { 962 height: var(--topbar-height-mobile); 963 min-height: var(--topbar-height-mobile); 964 } 965 966 .rtnu-topbar .rtnu-topbar-slide { 967 height: var(--topbar-height-mobile); 968 min-height: var(--topbar-height-mobile); 969 } 970 971 .rtnu-topbar svg { 972 width: var(--icon-width-mobile); 973 display: inline!important; 974 vertical-align: bottom; 975 margin-right: 4px; 976 } 977 978 .rtnu-topbar a{ 979 padding-bottom: 0; 980 } 981 982 .rtnu-topbar .topbar-slide-cta { 983 font-size: 14px; 984 letter-spacing: -0.1px; 985 line-height: 1.1; 986 padding-inline: 10px; 987 } 988 989 .rtnu-topbar .topbar-slide-cta--has-countdown { 990 flex-wrap: wrap; 991 align-content: center; 992 row-gap: 6px; 993 column-gap: 0; 994 padding-block: 4px; 995 } 996 997 .rtnu-topbar .topbar-slide-cta--has-countdown .topbar-content__text { 998 flex: 0 0 100%; 999 } 1000 1001 .rtnu-topbar .rtnu-topbar-content { 1002 padding: 0; 1003 } 1004 1005 .rtnu-topbar .topbar-content__text { 1006 font-size: 14px; 1007 gap: 3px; 1008 line-height: 1.1; 1009 letter-spacing: -0.1px; 1010 width: 100%; 1011 max-width: 380px; 1012 text-wrap: balance; 1013 } 1014 1015 .rtnu-topbar .rtnu-topbar-content .rtnu-topbar-arrow-icon{ 1016 width: 14px; 1017 height: 14px; 1018 } 1019 1020 .rtnu-topbar 1021 .rtnu-topbar-slide[data-slide="eos"] 1022 .topbar-content__text 1023 svg { 1024 width: 28px; 1025 height: 24px; 1026 margin: 0 2px; 1027 vertical-align: middle; 1028 } 1029 1030 .rtnu-topbar 1031 .rtnu-topbar-slide[data-slide="eos"] 1032 .topbar-content__text 1033 p > svg:nth-of-type(2) { 1034 display: none !important; 1035 } 1036 1037 .rtnu-topbar 1038 .rtnu-topbar-slide[data-slide="eos"] 1039 .announcement-icon--desktop-only { 1040 display: none !important; 1041 } 1042 1043 .rtnu-topbar 1044 .rtnu-topbar-slide[data-slide="eos"] 1045 .announcement-mobile-line { 1046 display: block; 1047 width: 100%; 1048 } 1049 1050 .rtnu-topbar 1051 .rtnu-topbar-slide[data-slide="eos"] 1052 .topbar-content__text 1053 p > strong:first-child::before { 1054 content: ''; 1055 display: inline-block; 1056 width: 24px; 1057 height: 24px; 1058 margin-right: 4px; 1059 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; 1060 vertical-align: middle; 1061 } 1062 1063 /* Break underline on mobile when break_underline is enabled */
1064 .rtnu-topbar .rtnu-topbar-slide[data-slide="mdw-sale"] .topbar-content__text span { 1065 display: block; 1066 } 1067 } 1068 1069 /* Topbar Disclaimer Text */ 1070 .topbar-content__disclaimer { 1071 font-size: 14px; 1072 font-weight: 400; 1073 line-height: 1.3; 1074 } 1075 1076 .topbar-content__disclaimer p, 1077 .topbar-content__disclaimer em { 1078 margin: 0; 1079 display: inline; 1080 font-size: inherit; 1081 font-weight: inherit; 1082 line-height: inherit; 1083 } 1084 1085 .topbar-content__disclaimer a { 1086 color: inherit; 1087 text-decoration: underline; 1088 text-underline-offset: 1px; 1089 white-space: nowrap; 1090 display: inline; 1091 padding: 0; 1092 margin: 0; 1093 font-size: inherit; 1094 font-weight: inherit; 1095 } 1096 1097 .topbar-content__disclaimer a:hover { 1098 text-decoration: none; 1099 } 1100 1101 @media (max-width: 768px) { 1102 .topbar-content__disclaimer { 1103 font-size: 12px; 1104 line-height: 1.2; 1105 margin-top: 3px; 1106 } 1107 } 1108 1109 /* Countdown Timer Styles */ 1110 .topbar-countdown-row { 1111 display: inline-flex; 1112 align-items: center; 1113 gap: 6px; 1114 margin-left: 0; 1115 } 1116 1117 .topbar-countdown-row[hidden] { 1118 display: none; 1119 } 1120 1121 .topbar-countdown-label { 1122 font-size: 16px; 1123 font-weight: 700; 1124 letter-spacing: 0.02em; 1125 white-space: nowrap; 1126 } 1127 1128 .topbar-countdown { 1129 display: inline-flex; 1130 align-items: center; 1131 background: rgba(255, 255, 255, 0.15); 1132 border-radius: 8px; 1133 padding: 4px 8px 6px; 1134 margin-left: 0; 1135 font-variant-numeric: tabular-nums; 1136 backdrop-filter: blur(4px); 1137 -webkit-backdrop-filter: blur(4px); 1138 } 1139 1140 .topbar-countdown[hidden] { 1141 display: none; 1142 } 1143 1144 .topbar-countdown__time { 1145 display: flex; 1146 align-items: center; 1147 gap: 2px; 1148 font-weight: 600; 1149 font-size: 16px; 1150 letter-spacing: 0.02em; 1151 } 1152 1153 .topbar-countdown__days-unit { 1154 display: contents; 1155 } 1156 1157 .rtnu-topbar .topbar-countdown__days-unit[hidden] { 1158 display: none; 1159 } 1160 1161 .topbar-countdown__segment { 1162 display: flex; 1163 align-items: baseline; 1164 gap: 2px; 1165 } 1166 1167 .topbar-countdown__value { 1168 min-width: 24px; 1169 text-align: center; 1170 } 1171 1172 .topbar-countdown__label { 1173 font-size: 12px; 1174 font-weight: 600; 1175 text-transform: uppercase; 1176 letter-spacing: 0.03em; 1177 opacity: 0.7; 1178 } 1179 1180 .topbar-countdown__separator { 1181 opacity: 0.7; 1182 margin: 0 4px; 1183 } 1184 1185 @media (max-width: 768px) { 1186 .rtnu-topbar.topbar--countdown-inactive { 1187 --topbar-height-mobile: var(--topbar-height-mobile-base); 1188 } 1189 1190 .rtnu-topbar.topbar--countdown-inactive .topbar-slide-cta--has-countdown { 1191 flex-wrap: nowrap; 1192 row-gap: 0; 1193 padding-block: 0; 1194 } 1195 1196 .rtnu-topbar.topbar--countdown-inactive .topbar-slide-cta--has-countdown .topbar-content__text { 1197 flex: initial; 1198 } 1199 1200 .topbar-countdown-row { 1201 flex: 0 0 100%; 1202 justify-content: center; 1203 gap: 6px; 1204 margin-left: 0; 1205 } 1206 1207 .topbar-countdown-label { 1208 font-size: 14px; 1209 } 1210 1211 .topbar-countdown { 1212 padding: 2px 8px 4px; 1213 margin-left: 0; 1214 border-radius: 6px; 1215 } 1216 1217 .topbar-countdown__time { 1218 font-size: 14px; 1219 flex-wrap: nowrap; 1220 } 1221 1222 .topbar-countdown__segment { 1223 flex-direction: row; 1224 align-items: baseline; 1225 flex-wrap: nowrap; 1226 } 1227 1228 .topbar-countdown__value { 1229 min-width: 20px; 1230 } 1231 1232 .topbar-countdown__label { 1233 font-size: 10px; 1234 } 1235 } 1236</style> 1237 1238<!-- Dynamic Fancybox modals - Generated from ACF --> 1239 1240<div id="rtnu-topbar" 1241 class="rtnu-topbar topbar-slider-container" 1242 role="banner" 1243 aria-label="Promotional announcements carousel" 1244 aria-live="polite" 1245 aria-atomic="false"> 1246 <div class="embla" 1247 aria-roledescription="carousel" 1248 aria-label="Promotional offers"> 1249 <div class="embla__container"> 1250 <div class="embla__slide" 1251 role="group" 1252 aria-roledescription="slide" 1253 aria-label="Slide 1 of 2: Subscribe and Save Up to 30% Off Your First Auto-Ship"> 1254 <div class="rtnu-topbar-slide topbar-slide-item" 1255 data-slide="mdw-sale" 1256 data-announcement="mdw-sale" 1257 data-announcement-text="Subscribe and Save Up to 30% Off Your First Auto-Ship. SHOP NOW 1258"> 1259 <div class="rtnu-wrapper"> 1260 <div class="rtnu-topbar-content" style="--icon-width:18px; --icon-width-mobile:18px;"> 1261 <a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true" 1262 class="topbar-slide-cta" 1263 data-product-target="Collections" 1264 aria-label="Subscribe and Save Up to 30% Off Your First Auto-Ship" 1265 tabindex="0"> 1266 <div class="topbar-content__text"> 1267 <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.
1267623-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> 1268 </div> 1269 </a> 1270 </div> 1271 </div> 1272 </div> 1273 </div> 1274 <div class="embla__slide" 1275 role="group" 1276 aria-roledescription="slide" 1277 aria-label="Slide 2 of 2: Free shipping promotion on orders over $100"> 1278 <div class="rtnu-topbar-slide topbar-slide-item" 1279 data-slide="shipping" 1280 data-announcement="shipping" 1281 data-announcement-text="Free Shipping on US orders $100+. Shop Best Sellers 1282"> 1283 <div class="rtnu-wrapper"> 1284 <div class="rtnu-topbar-content" style="--icon-width:18px; --icon-width-mobile:18px;"> 1285 <a href="https://shop.heartandsoil.co/a/collections/products?filters=best-sellers" 1286 class="topbar-slide-cta" 1287 data-product-target="collections" 1288 aria-label="Free shipping promotion on orders over $100" 1289 tabindex="-1"> 1290 <div class="topbar-content__text"> 1291 <p>Free Shipping on US orders $100+. <span style="text-decoration: underline;">Shop Best Sellers</span></p> 1292 </div> 1293 </a> 1294 </div> 1295 </div> 1296 </div> 1297 </div> 1298 </div> 1299 </div> 1300</div> 1301
1302<script> 1303// Wait for both DOM and Embla scripts to be ready 1304document.addEventListener('DOMContentLoaded', function() { 1305 // Check if Embla Carousel is loaded 1306 function waitForEmbla(callback) { 1307 if (typeof EmblaCarousel !== 'undefined' && 1308 typeof EmblaCarouselFade !== 'undefined' && 1309 typeof EmblaCarouselAutoplay !== 'undefined') { 1310 callback(); 1311 } else { 1312 setTimeout(() => waitForEmbla(callback), 50); 1313 } 1314 } 1315 1316 // Initialize carousel once Embla is loaded 1317 waitForEmbla(function() { 1318 initializeTopbarCarousel(); 1319 }); 1320}); 1321 1322function initializeTopbarCarousel() { 1323 // Check for reduced motion preference 1324 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 1325 1326 // Get the embla node 1327 const emblaNode = document.querySelector('#rtnu-topbar .embla'); 1328 const slides = document.querySelectorAll('#rtnu-topbar .embla__slide'); 1329 1330 if (!emblaNode) { 1331 console.warn('Embla carousel node not found'); 1332 return; 1333 } 1334 1335 // Configuration options 1336 const options = { 1337 loop: true, 1338 align: 'center', 1339 containScroll: false, 1340 skipSnaps: false, 1341 dragFree: false 1342 }; 1343 1344 // Initialize plugins with accessibility considerations 1345 const autoplayPlugin = EmblaCarouselAutoplay({ 1346 delay: prefersReducedMotion ? 10000 : 6000, // Longer delay for reduced motion 1347 stopOnInteraction: false, 1348 stopOnMouseEnter: true, 1349 stopOnFocusIn: true, 1350 playOnInit: !prefersReducedMotion // Don't auto-start if reduced motion preferred 1351 }); 1352 1353 const fadePlugin = EmblaCarouselFade(); 1354 1355 // Initialize Embla Carousel with plugins 1356 const emblaApi = EmblaCarousel(emblaNode, options, [fadePlugin, autoplayPlugin]); 1357 1358 // Accessibility: Update tabindex and aria-hidden for slides 1359 function updateSlideAccessibility() { 1360 const selectedIndex = emblaApi.selectedScrollSnap(); 1361 1362 slides.forEach((slide, index) => { 1363 const link = slide.querySelector('a'); 1364 const isSelected = index === selectedIndex; 1365 1366 if (link) { 1367 link.tabIndex = isSelected ? 0 : -1; 1368 } 1369 1370 slide.setAttribute('aria-hidden', isSelected ? 'false' : 'true'); 1371 }); 1372 } 1373 1374 // Accessibility: Keyboard navigation 1375 function handleKeyboard(event) { 1376 switch (event.key) { 1377 case 'ArrowLeft': 1378 event.preventDefault(); 1379 emblaApi.scrollPrev(); 1380 break; 1381 case 'ArrowRight': 1382 event.preventDefault(); 1383 emblaApi.scrollNext(); 1384 break; 1385 case ' ': 1386 case 'Enter': 1387 const activeElement = document.activeElement; 1388 if (activeElement && activeElement.closest('#rtnu-topbar')) { 1389 if (activeElement.tagName === 'A') { 1390 // Check if it's a Fancybox trigger 1391 if (activeElement.hasAttribute('data-fancybox')) { 1392 event.preventDefault(); 1393 // Fancybox will handle the modal opening 1394 activeElement.click(); 1395 } else { 1396 event.preventDefault(); 1397 activeElement.click(); 1398 } 1399 } 1400 } 1401 break; 1402 } 1403 } 1404 1405 // Event listeners 1406 emblaApi.on('select', updateSlideAccessibility); 1407 emblaApi.on('reInit', updateSlideAccessibility); 1408 1409 // Keyboard support 1410 emblaNode.addEventListener('keydown', handleKeyboard); 1411 1412 // Make carousel focusable for keyboard navigation 1413 emblaNode.setAttribute('tabindex', '0'); 1414 1415 // Initial accessibility setup 1416 updateSlideAccessibility(); 1417 1418 // Announce slide changes to screen readers (debounced) 1419 let announceTimeout; 1420 emblaApi.on('select', function() { 1421 clearTimeout(announceTimeout); 1422 announceTimeout = setTimeout(() => { 1423 const selectedIndex = emblaApi.selectedScrollSnap(); 1424 const currentSlide = slides[selectedIndex]; 1425 const ariaLabel = currentSlide?.getAttribute('aria-label'); 1426 1427 if (ariaLabel) { 1428 // Create a temporary announcement element 1429 const announcement = document.createElement('div'); 1430 announcement.setAttribute('aria-live', 'polite'); 1431 announcement.setAttribute('aria-atomic', 'true'); 1432 announcement.className = 'sr-only'; 1433 announcement.style.cssText = 'position:absolute;
1433left:-10000px;width:1px;height:1px;overflow:hidden;'; 1434 announcement.textContent = ariaLabel; 1435 1436 document.body.appendChild(announcement); 1437 setTimeout(() => document.body.removeChild(announcement), 1000); 1438 } 1439 }, 100); 1440 }); 1441 1442 // Debug logging (only with debug parameter) 1443 if (window.location.search.includes('debug')) { 1444 emblaApi.on('autoplay:play', () => console.log('Autoplay started')); 1445 emblaApi.on('autoplay:stop', () => console.log('Autoplay stopped')); 1446 emblaApi.on('select', () => console.log('Slide changed to:', emblaApi.selectedScrollSnap())); 1447 } 1448} 1449 1450/** 1451 * Countdown Timer (America/Chicago) 1452 * Uses the Central timezone's CST/CDT rules for the configured wall time. 1453 */ 1454(function() { 1455 'use strict'; 1456 1457 const CENTRAL_TIME_ZONE = 'America/Chicago'; 1458 const SECONDS_PER_MINUTE = 60; 1459 const MINUTES_PER_HOUR = 60; 1460 const HOURS_PER_DAY = 24; 1461 const MILLISECONDS_PER_SECOND = 1000; 1462 const centralDateFormatter = new Intl.DateTimeFormat('en-US', { 1463 timeZone: CENTRAL_TIME_ZONE, 1464 year: 'numeric', 1465 month: '2-digit', 1466 day: '2-digit', 1467 hour: '2-digit', 1468 minute: '2-digit', 1469 second: '2-digit', 1470 hourCycle: 'h23' 1471 }); 1472 1473 const pad = (value) => String(Math.max(0, value)).padStart(2, '0'); 1474 1475 const getCentralOffset = (timestamp) => { 1476 const parts = Object.fromEntries( 1477 centralDateFormatter 1478 .formatToParts(new Date(timestamp)) 1479 .filter((part) => part.type !== 'literal') 1480 .map((part) => [part.type, Number(part.value)]) 1481 ); 1482 1483 return Date.UTC( 1484 parts.year, 1485 parts.month - 1, 1486 parts.day, 1487 parts.hour, 1488 parts.minute, 1489 parts.second 1490 ) - timestamp; 1491 }; 1492 1493 const parseEndDate = (dateString) => { 1494 if (!dateString) return null; 1495 1496 const parts = dateString.split(',').map((part) => parseInt(part.trim(), 10)); 1497 if (parts.length < 3 || parts.some((part) => Number.isNaN(part))) return null; 1498 1499 const [year, month, day, hour = 0, minute = 0, second = 0] = parts; 1500 1501 const centralWallTime = Date.UTC(year, month - 1, day, hour, minute, second); 1502 const initialOffset = getCentralOffset(centralWallTime); 1503 let targetUTC = centralWallTime - initialOffset; 1504 const correctedOffset = getCentralOffset(targetUTC); 1505 1506 if (correctedOffset !== initialOffset) { 1507 targetUTC = centralWallTime - correctedOffset; 1508 } 1509 1510 return targetUTC; 1511 }; 1512 1513 const topbarElement = document.querySelector('#rtnu-topbar'); 1514 1515 const updateTopbarCountdownState = () => { 1516 const timers = Array.from(document.querySelectorAll('#rtnu-topbar [data-countdown-timer]')); 1517 const hasActiveCountdown = timers.some((timer) => !timer.hidden); 1518 1519 if (topbarElement) { 1520 topbarElement.classList.toggle('topbar--countdown-inactive', !hasActiveCountdown); 1521 } 1522 }; 1523 1524 const setTimerVisibility = (timerElement, isVisible) => { 1525 const countdownRow = timerElement.closest('.topbar-countdown-row'); 1526 timerElement.hidden = !isVisible; 1527 1528 if (countdownRow) { 1529 countdownRow.hidden = !isVisible; 1530 } 1531 1532 updateTopbarCountdownState(); 1533 }; 1534 1535 const initTimer = (timerElement) => { 1536 const endDateString = timerElement.dataset.countdownEndDate; 1537 const targetUTC = parseEndDate(endDateString); 1538 1539 if (!targetUTC) { 1540 setTimerVisibility(timerElement, false); 1541 return; 1542 } 1543 1544 const daysEl = timerElement.querySelector('[data-days]'); 1545 const daysUnit = timerElement.querySelector('[data-days-unit]'); 1546 const hoursEl = timerElement.querySelector('[data-hours]'); 1547 const minutesEl = timerElement.querySelector('[data-minutes]'); 1548 const secondsEl = timerElement.querySelector('[data-seconds]'); 1549 const daysLabelEl = timerElement.querySelector('[data-days-label]'); 1550 const hoursLabelEl = timerElement.querySelector('[data-hours-label]'); 1551 const minutesLabelEl = timerElement.querySelector('[data-minutes-label]'); 1552 const secondsLabelEl = timerElement.querySelector('[data-seconds-label]'); 1553 1554 let timerId = null; 1555 1556 const updateTimer = () => { 1557 const nowUTC = Date.now(); 1558 const remaining = targetUTC - nowUTC; 1559 1560 // Countdown expired 1561 if (remaining <= 0) { 1562 setTimerVisibility(timerElement, false); 1563 if (timerId) { 1564 window.clearInterval(timerId); 1565 timerId = null; 1566 } 1567 return false;
1568 } 1569 1570 // Show the timer 1571 setTimerVisibility(timerElement, true); 1572 1573 // Calculate time units 1574 const totalSeconds = Math.floor(remaining / MILLISECONDS_PER_SECOND); 1575 const days = Math.floor(totalSeconds / (HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE)); 1576 const hours = Math.floor( 1577 (totalSeconds % (HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE)) / 1578 (MINUTES_PER_HOUR * SECONDS_PER_MINUTE) 1579 ); 1580 const minutes = Math.floor((totalSeconds % (MINUTES_PER_HOUR * SECONDS_PER_MINUTE)) / SECONDS_PER_MINUTE); 1581 const seconds = totalSeconds % SECONDS_PER_MINUTE; 1582 1583 if (daysUnit) daysUnit.hidden = days === 0; 1584 1585 // Update DOM values 1586 if (daysEl) daysEl.textContent = pad(days); 1587 if (hoursEl) hoursEl.textContent = pad(hours); 1588 if (minutesEl) minutesEl.textContent = pad(minutes); 1589 if (secondsEl) secondsEl.textContent = pad(seconds); 1590 1591 // Update labels (singular/plural) 1592 if (daysLabelEl) daysLabelEl.textContent = days === 1 ? 'Day' : 'Days'; 1593 if (hoursLabelEl) hoursLabelEl.textContent = hours === 1 ? 'Hr' : 'Hrs'; 1594 if (minutesLabelEl) minutesLabelEl.textContent = minutes === 1 ? 'Min' : 'Mins'; 1595 if (secondsLabelEl) secondsLabelEl.textContent = seconds === 1 ? 'Sec' : 'Secs'; 1596 1597 return true; 1598 }; 1599 1600 // Initial render 1601 if (updateTimer()) { 1602 timerId = window.setInterval(updateTimer, 1000); 1603 } 1604 }; 1605 1606 const initAllTimers = () => { 1607 const timers = document.querySelectorAll('[data-countdown-timer]'); 1608 timers.forEach(initTimer); 1609 }; 1610 1611 // Initialize when DOM is ready 1612 if (document.readyState === 'loading') { 1613 document.addEventListener('DOMContentLoaded', initAllTimers, { once: true }); 1614 } else { 1615 initAllTimers(); 1616 } 1617})(); 1618</script>
1618 1619
1619<script> 1620 document.documentElement.classList.add('rtnu-nav-header-present'); 1621</script>
1621 1622 1623<header class="rtnu-nav-header rtnu-nav-header--default rtnu-nav--scrolling-up" data-nav-variant="default" data-hide-on-scroll="1"> 1624 <div class="rtnu-nav-desktop"> 1625 <div class="rtnu-nav-desktop__bar"> 1626 <a href="https://heartandsoil.co/" class="rtnu-nav-logo" aria-label="Heart & Soil - Go home"> 1627 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 239 48" width="239" height="48"> 1628 <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.
162811l-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
162812H226.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"/> 1629 </svg> 1630 </a> 1631 1632 <nav class="rtnu-nav-menu" aria-label="Primary navigation"> 1633 <ul> 1634 <li class="b2bshow" style="display: none;"><a href="https://shop.heartandsoil.co/collections/b2b-collection" data-menu-section="shop_all">
1634Shop All</a></li> 1635 <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> 1636 <li class="rtnu-nav-menu__has-dropdown b2bhide"> 1637 <button 1638 type="button" 1639 class="rtnu-nav-menu__trigger" 1640 aria-expanded="false" 1641 aria-controls="rtnu-nav-panel-shop-all-rtnu-nav-1" 1642 > 1643 Shop All 1644 <svg 1645 xmlns="http://www.w3.org/2000/svg" 1646 width="13" 1647 height="8" 1648 fill="none" 1649 viewBox="0 0 13 8" 1650 aria-hidden="true" 1651 focusable="false" 1652 > 1653 <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"/> 1654 </svg> 1655 </button> 1656 </li> 1657 <li class="rtnu-nav-menu__has-dropdown b2bhide"> 1658 <button 1659 type="button" 1660 class="rtnu-nav-menu__trigger" 1661 aria-expanded="false" 1662 aria-controls="rtnu-nav-panel-health-goals-rtnu-nav-1" 1663 > 1664 Health Goals 1665 <svg 1666 xmlns="http://www.w3.org/2000/svg" 1667 width="13" 1668 height="8" 1669 fill="none"
1670 viewBox="0 0 13 8" 1671 aria-hidden="true" 1672 focusable="false" 1673 > 1674 <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"/> 1675 </svg> 1676 </button> 1677 </li> 1678 </ul> 1679 </nav> 1680 1681 <nav class="rtnu-nav-menu rtnu-nav-menu--secondary" aria-label="Secondary navigation" data-menu-section="secondary"> 1682 <ul> 1683 <li class="rtnu-nav-menu__has-dropdown"> 1684 <button 1685 type="button" 1686 class="rtnu-nav-menu__trigger" 1687 aria-expanded="false" 1688 aria-controls="rtnu-nav-panel-learn-rtnu-nav-1" 1689 > 1690 Learn 1691 <svg 1692 xmlns="http://www.w3.org/2000/svg" 1693 width="13" 1694 height="8" 1695 fill="none" 1696 viewBox="0 0 13 8" 1697 aria-hidden="true" 1698 focusable="false" 1699 > 1700 <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"/> 1701 </svg> 1702 </button> 1703 </li> 1704 <li class="rtnu-nav-menu__item-account"> 1705 <a href="https://shop.heartandsoil.co/a/account/login" class="rtnu-nav-icon-link" aria-label="Go to your account"> 1706 <svg 1707 xmlns="http://www.w3.org/2000/svg" 1708 width="28" 1709 height="28" 1710 fill="none"
1711 viewBox="0 0 28 28" 1712 aria-hidden="true" 1713 focusable="false" 1714 > 1715 <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"/> 1716 </svg> 1717 </a> 1718 </li> 1719 <li class="rtnu-nav-menu__item-cart"> 1720 <a 1721 href="https://shop.heartandsoil.co/cart" 1722 class="rtnu-nav-icon-link" 1723 aria-label="Open cart" 1724 > 1725 <svg 1726 xmlns="http://www.w3.org/2000/svg" 1727 width="34" 1728 height="30" 1729 fill="none" 1730 viewBox="0 0 34 30" 1731 aria-hidden="true" 1732 focusable="false" 1733 > 1734 <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"/> 1735 </svg> 1736 <span class="rtnu-nav-cart-count"> 1737 <span class="visually-hidden">Open cart, cart items:</span> 1738 <span class="Boost_CartCount rtnu-header__cart-count" aria-label="Go to cart page">0</span> 1739 </span> 1740 </a> 1741 </li> 1742 </ul> 1743 </nav> 1744 </div> 1745 1746 <section id="rtnu-nav-panel-shop-all-rtnu-nav-1" class="rtnu-nav-panel rtnu-nav-panel--mega" data-menu-section="shop_all" hidden> 1747 <div class="rtnu-nav-panel__inner rtnu-nav-shop-all"> 1748 <div class="rtnu-nav-shop-all__col rtnu-nav-shop-all__col--primary"> 1749 <p class="rtnu-nav-panel__heading">Shop</p> 1750 <ul class="rtnu-nav-list"> 1751 <li> 1752 <a href="https://shop.heartandsoil.co/a/collections/products?filters=best-sellers&subscriptions=true"> 1753 <span class="rtnu-nav-link-label">Best Sellers</span> 1754 </a> 1755 </li> 1756 <li> 1757 <a 1758 href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true" 1759 class="rtnu-nav-subscribe-link" 1760 > 1761 <span class="rtnu-nav-subscribe-prefix">Subscribe &</span> 1762 <span class="rtnu-nav-pill rtnu-nav-pill--save">Save Up to 30%</span> 1763 </a> 1764 </li> 1765 <li> 1766 <a href="https://shop.heartandsoil.co/a/collections/products?filters=stacks&subscriptions=true"> 1767 <span class="rtnu-nav-link-label">Stacks</span> 1768 </a> 1769 </li> 1770 <li> 1771 <a href="https://shop.heartandsoil.co/a/collections/products?filters=merch"> 1772 <span class="rtnu-nav-link-label">Merch</span> 1773 </a> 1774 </li> 1775 </ul> 1776 <a class="rtnu-nav-btn" href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true">Shop All Products</a> 1777 </div> 1778 1779 <div class="rtnu-nav-shop-all__col rtnu-nav-shop-all__col--categories"> 1780 <p class="rtnu-nav-panel__heading">Categories</p> 1781 <ul class="rtnu-nav-categories"> 1782 <li> 1783 <a href="https://shop.heartandsoil.co/products/free-form-grass-fed-colostrum"> 1784 <img 1785 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/
1785hs-categories-colostrum.webp" 1786 alt="" 1787 aria-hidden="true" 1788 loading="lazy" 1789 width="40" 1790 height="52" 1791 > 1792 <span class="rtnu-nav-category-meta"> 1793 <span class="rtnu-nav-category-label">Colostrum</span> 1794 <span class="rtnu-nav-pill">New</span> 1795 </span> 1796 </a> 1797 </li> 1798 <li> 1799 <a href="https://shop.heartandsoil.co/a/collections/products?filters=protein&subscriptions=true"> 1800 <img 1801 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-categories-protein.webp" 1802 alt="" 1803 aria-hidden="true" 1804 loading="lazy" 1805 width="40" 1806 height="52" 1807 > 1808 <span class="rtnu-nav-category-meta"> 1809 <span class="rtnu-nav-category-label">Protein Powder</span> 1810 </span> 1811 </a> 1812 </li> 1813 <li> 1814 <a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true"> 1815 <img 1816 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/
1816hs-categories-supplements.webp" 1817 alt="" 1818 aria-hidden="true" 1819 loading="lazy" 1820 width="40" 1821 height="52" 1822 > 1823 <span class="rtnu-nav-category-meta"> 1824 <span class="rtnu-nav-category-label">Supplements</span> 1825 </span> 1826 </a> 1827 </li> 1828 </ul> 1829 </div> 1830 1831 <div class="rtnu-nav-shop-all__col rtnu-nav-shop-all__col--support rtnu-nav-support-card"> 1832 <button 1833 type="button" 1834 class="rtnu-nav-support-card__image-hit" 1835 data-fancybox 1836 data-src="#klaviyo-form" 1837 aria-label="Connect with us" 1838 > 1839 <img 1840 class="rtnu-nav-support-card__image" 1841 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-expert-support.webp" 1842 alt="" 1843 aria-hidden="true" 1844 loading="lazy" 1845 width="218" 1846 height="104" 1847 > 1848 </button> 1849 <p class="rtnu-nav-panel__heading">Get Expert Support</p> 1850 <p>Personalized product guidance and support.</p> 1851 <button 1852 type="button" 1853 class="rtnu-nav-support-action rtnu-nav-support-card__link" 1854 data-fancybox 1855 data-src="#klaviyo-form" 1856 > 1857 Connect with us 1858 <svg 1859 xmlns="http://www.w3.org/2000/svg" 1860 width="8" 1861 height="13" 1862 fill="none"
1863 viewBox="0 0 8 13" 1864 aria-hidden="true" 1865 focusable="false" 1866 > 1867 <path fill="currentColor" d="M8 6.35889 1.58514-.0559692 0 1.52917l4.82972 4.82972L0 11.1886l1.58514 1.5852L8 6.35889Z"/> 1868 </svg> 1869 </button> 1870 </div> 1871 </div> 1872 </section> 1873 1874 <section id="rtnu-nav-panel-health-goals-rtnu-nav-1" class="rtnu-nav-panel rtnu-nav-panel--legacy" data-menu-section="health_goals" hidden> 1875 <div class="rtnu-header__dropdown rtnu-header__dropdown-health"> 1876 <div class="rtnu-wrapper"> 1877 <div class="rtnu-grid"> 1878 <div class="rtnu-grid__item"> 1879 <p> 1880 <strong>Most Popular</strong> 1881 </p> 1882 <ul> 1883 <li> 1884 <a href="https://shop.heartandsoil.co/products/beef-organs"> 1885 <div class="icon"> 1886 <svg 1887 xmlns="http://www.w3.org/2000/svg" 1888 width="16" 1889 height="16" 1890 fill="none" 1891 stroke="#FDEEDA" 1892 stroke-linecap="round" 1893 stroke-linejoin="round" 1894 stroke-width="2"
1895 viewBox="0 0 24 24" 1896 > 1897 <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" /> 1898 </svg> 1899 </div> 1900 Daily Nutrient Support</a 1901 > 1902 </li> 1903 <li> 1904 <a href="https://shop.heartandsoil.co/products/fat-loss-stack"> 1905 <div class="icon"> 1906 <svg 1907 xmlns="http://www.w3.org/2000/svg" 1908 width="16" 1909 height="16" 1910 fill="none" 1911 viewBox="0 0 16 16" 1912 > 1913 <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" /> 1914 </svg> 1915 </div> 1916 Fat Loss</a 1917 > 1918 </li> 1919 <li> 1920 <a href="https://shop.heartandsoil.co/products/energy-stack"> 1921 <div class="icon"> 1922 <svg 1923 xmlns="http://www.w3.org/2000/svg" 1924 width="18" 1925 height="18" 1926 fill="none"
1927 viewBox="0 0 18 18" 1928 > 1929 <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" /> 1930 </svg> 1931 </div> 1932 Energy</a 1933 > 1934 </li> 1935 <li> 1936 <a href="https://shop.heartandsoil.co/products/digestive-stack"> 1937 <div class="icon"> 1938 <svg 1939 xmlns="http://www.w3.org/2000/svg" 1940 width="18" 1941 height="18" 1942 fill="none"
1943 viewBox="0 0 18 18" 1944 > 1945 <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" /> 1946 </svg> 1947 </div> 1948 Digestive Health</a 1949 > 1950 </li> 1951 <li> 1952 <a href="https://shop.heartandsoil.co/products/exercise-performance-stack"> 1953 <div class="icon"> 1954 <svg 1955 xmlns="http://www.w3.org/2000/svg" 1956 width="18" 1957 height="18" 1958 fill="none"
1959 viewBox="0 0 18 18" 1960 > 1961 <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" /> 1962 </svg> 1963 </div> 1964 Exercise Performance</a 1965 > 1966 </li> 1967 </ul> 1968 </div> 1969 1970 <div class="rtnu-grid__item"> 1971 <ul> 1972 <li> 1973 <a href="https://shop.heartandsoil.co/products/allergies-stack"> 1974 <div class="icon"> 1975 <svg 1976 xmlns="http://www.w3.org/2000/svg" 1977 width="20" 1978 height="20" 1979 fill="none"
1980 viewBox="0 0 20 20" 1981 > 1982 <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" /> 1983 </svg> 1984 </div> 1985 Allergies 1986 </a> 1987 </li> 1988 <li> 1989 <a href="https://shop.heartandsoil.co/products/anemia-stack"> 1990 <div class="icon"> 1991 <svg 1992 xmlns="http://www.w3.org/2000/svg" 1993 width="12" 1994 height="16" 1995 fill="none"
1996 viewBox="0 0 12 16" 1997 > 1998 <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" /> 1999 </svg> 2000 </div> 2001 Anemia 2002 </a> 2003 </li> 2004 <li> 2005 <a href="https://shop.heartandsoil.co/products/autoimmune-issues-stack"> 2006 <div class="icon"> 2007 <svg 2008 xmlns="http://www.w3.org/2000/svg" 2009 width="20" 2010 height="20" 2011 fill="none"
2012 viewBox="0 0 20 20" 2013 > 2014 <path fill="#FDEEDA" d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path 2015 stroke="#FDEEDA" 2016 stroke-linejoin="round" 2017 stroke-miterlimit="10" 2018 stroke-width="2.38889" 2019 d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path 2020 stroke="#FDEEDA" 2021 stroke-miterlimit="10" 2022 stroke-width="2.38889" 2023 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 2024 stroke="#FDEEDA" 2025 stroke-miterlimit="10" 2026 stroke-width="2.38889" 2027 d="m4.99976 12.4998 2.5-5.8333m5.00004 0 2.5 5.8333" /> 2028 </svg> 2029 </div> 2030 Autoimmune Issues 2031 </a> 2032 </li> 2033 <li> 2034 <a href="https://shop.heartandsoil.co/products/joint-mobility-stack"> 2035 <div class="icon"> 2036 <svg 2037 xmlns="http://www.w3.org/2000/svg" 2038 width="18" 2039 height="18" 2040 fill="none"
2041 viewBox="0 0 18 18" 2042 > 2043 <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> 2044 <defs> 2045 <clipPath id="bone-health"><path fill="#fff" d="M0 0h18v18H0z" /></clipPath></defs> 2046 </svg> 2047 </div> 2048 Bone & Joint Health</a 2049 > 2050 </li> 2051 <li> 2052 <a href="https://shop.heartandsoil.co/products/exercise-recovery-stack"> 2053 <div class="icon"> 2054 <svg 2055 xmlns="http://www.w3.org/2000/svg" 2056 width="20" 2057 height="20" 2058 fill="none"
2059 viewBox="0 0 20 20" 2060 > 2061 <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" /> 2062 </svg> 2063 </div> 2064 Exercise Recovery</a 2065 > 2066 </li> 2067 <li> 2068 <a href="https://shop.heartandsoil.co/products/female-vitality-stack"> 2069 <div class="icon"> 2070 <svg 2071 xmlns="http://www.w3.org/2000/svg" 2072 width="20" 2073 height="20" 2074 fill="none"
2075 viewBox="0 0 20 20" 2076 > 2077 <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" /> 2078 </svg> 2079 </div> 2080 Female Fertility</a 2081 > 2082 </li> 2083 </ul> 2084 </div> 2085 2086 <div class="rtnu-grid__item"> 2087 <ul> 2088 <li> 2089 <a href="https://shop.heartandsoil.co/products/heart-health-stack"> 2090 <div class="icon"> 2091 <svg 2092 xmlns="http://www.w3.org/2000/svg" 2093 width="18" 2094 height="18" 2095 fill="none"
2096 viewBox="0 0 18 18" 2097 > 2098 <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" /> 2099 </svg> 2100 </div> 2101 Heart Health</a 2102 > 2103 </li> 2104 <li> 2105 <a href="https://shop.heartandsoil.co/products/histamine-intolerance-stack"> 2106 <div class="icon"> 2107 <svg 2108 xmlns="http://www.w3.org/2000/svg" 2109 width="20" 2110 height="20" 2111 fill="none"
2112 viewBox="0 0 20 20" 2113 > 2114 <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" /> 2115 </svg> 2116 </div> 2117 Histamine Intolerance</a 2118 > 2119 </li> 2120 <li> 2121 <a href="https://shop.heartandsoil.co/products/male-fertility-stack"> 2122 <div class="icon"> 2123 <svg 2124 xmlns="http://www.w3.org/2000/svg" 2125 width="18" 2126 height="18" 2127 fill="none"
2128 viewBox="0 0 18 18" 2129 > 2130 <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" /> 2131 </svg> 2132 </div> 2133 Male Fertility</a 2134 > 2135 </li> 2136 <li> 2137 <a href="https://shop.heartandsoil.co/products/mood-stack"> 2138 <div class="icon"> 2139 <svg 2140 xmlns="http://www.w3.org/2000/svg" 2141 width="20" 2142 height="20" 2143 fill="none" 2144 viewB
2144ox="0 0 20 20" 2145 > 2146 <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" /> 2147 </svg> 2148 </div> 2149 Mood</a 2150 > 2151 </li> 2152 <li> 2153 <a href="https://shop.heartandsoil.co/products/immune-support-stack"> 2154 <div class="icon"> 2155 <svg 2156 xmlns="http://www.w3.org/2000/svg" 2157 width="18" 2158 height="18" 2159 fill="none"
2160 viewBox="0 0 18 18" 2161 > 2162 <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" /> 2163 </svg> 2164 </div> 2165 Immune Support</a 2166 > 2167 </li> 2168 <li> 2169 <a href="https://shop.heartandsoil.co/products/prenatal-health-stack"> 2170 <div class="icon"> 2171 <svg 2172 xmlns="http://www.w3.org/2000/svg" 2173 width="20" 2174 height="20" 2175 fill="none"
2176 viewBox="0 0 20 20" 2177 > 2178 <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" /> 2179 </svg> 2180 </div> 2181 Prenatal Health</a 2182 > 2183 </li> 2184 </ul> 2185 </div> 2186 2187 <div class="rtnu-grid__item"> 2188 <ul> 2189 <li> 2190 <a href="https://shop.heartandsoil.co/products/skin-hair-nails-stack"> 2191 <div class="icon"> 2192 <svg 2193 xmlns="http://www.w3.org/2000/svg" 2194 width="18" 2195 height="18" 2196 fill="none"
2197 viewBox="0 0 18 18" 2198 > 2199 <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> 2200 <defs> 2201 <clipPath id="skin-hair-nails"><path fill="#fff" d="M0 0h18v18H0z" /></clipPath> 2202 </defs> 2203 </svg> 2204 </div> 2205 Skin, Hair, & Nails 2206 </a> 2207 </li> 2208 <li> 2209 <a href="https://shop.heartandsoil.co/products/sleep-stack"> 2210 <div class="icon"> 2211 <svg 2212 xmlns="http://www.w3.org/2000/svg" 2213 width="20" 2214 height="20" 2215 fill="none"
2216 viewBox="0 0 20 20" 2217 > 2218 <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" /> 2219 </svg> 2220 </div> 2221 Sleep 2222 </a> 2223 </li> 2224 <li> 2225 <a href="https://shop.heartandsoil.co/products/stress-support-stack"> 2226 <div class="icon"> 2227 <svg 2228 xmlns="http://www.w3.org/2000/svg" 2229 width="19" 2230 height="20" 2231 fill="none" 2232 viewBox="0 0 19 20" 2233 > 2234 <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" /> 2235 </svg> 2236 </div> 2237 Stress Support 2238 </a> 2239 </li> 2240 <li> 2241 <a href="https://shop.heartandsoil.co/products/thyroid-health-stack"> 2242 <div class="icon"> 2243 <svg 2244 xmlns="http://www.w3.org/2000/svg" 2245 width="20" 2246 height="20" 2247 fill="none"
2248 viewBox="0 0 20 20" 2249 > 2250 <path fill="#FDEEDA" d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path 2251 stroke="#FDEEDA" 2252 stroke-linejoin="round" 2253 stroke-miterlimit="10" 2254 stroke-width="2.38889" 2255 d="M7.49976 6.6665h5.00004l-.8333 5.8333H8.33304l-.83328-5.8333Z" /><path 2256 stroke="#FDEEDA" 2257 stroke-miterlimit="10" 2258 stroke-width="2.38889" 2259 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 2260 stroke="#FDEEDA" 2261 stroke-miterlimit="10" 2262 stroke-width="2.38889" 2263 d="m4.99976 12.4998 2.5-5.8333m5.00004 0 2.5 5.8333" /> 2264 </svg> 2265 </div> 2266 Thyroid Health 2267 </a> 2268 </li> 2269 <li> 2270 <a href="https://shop.heartandsoil.co/products/warrior-stack"> 2271 <div class="icon"> 2272 <svg 2273 xmlns="http://www.w3.org/2000/svg" 2274 width="17" 2275 height="18" 2276 fill="none"
2277 viewBox="0 0 17 18" 2278 > 2279 <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" /> 2280 </svg> 2281 </div> 2282 Warrior 2283 </a> 2284 </li> 2285 </ul> 2286 </div> 2287 </div> 2288 </div> 2289 <div class="rtnu-header__dropdown-health-connect"> 2290 <p>GET EXPERT SUPPORT</p> 2291 <button type="button" data-fancybox data-src="#klaviyo-form"> 2292 Connect with our Health Success Team 2293 <span> 2294 <svg 2295 xmlns="http://www.w3.org/2000/svg" 2296 width="23" 2297 height="9" 2298 fill="none"
2299 viewBox="0 0 23 9" 2300 > 2301 <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" /> 2302 </svg> 2303 </span> 2304 </button> 2305 </div> 2306 </div> 2307 </section> 2308 2309 <section id="rtnu-nav-panel-learn-rtnu-nav-1" class="rtnu-nav-panel rtnu-nav-panel--legacy" data-menu-section="learn" hidden> 2310 <div class="rtnu-header__dropdown rtnu-header__dropdown-learn"> 2311 <div class="rtnu-wrapper"> 2312 <div class="rtnu-grid"> 2313 <a href="https://heartandsoil.co/our-story/" class="rtnu-grid__item"> 2314 <div class="icon"> 2315 <svg xmlns="http://www.w3.org/2000/svg" width="40" height="35" fill="none" viewBox="0 0 40 35"> 2316 <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"/> 2317 </svg> 2318 </div> 2319 <div class="text"> 2320 <h2>Our Story</h2> 2321 <p>Learn about how we're helping people reclaim their health and vitality.</p> 2322 </div> 2323 </a> 2324 <a href="https://heartandsoil.co/blog/" class="rtnu-grid__item"> 2325 <div class="icon"> 2326 <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none" viewBox="0 0 231 204">
2327 <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"/> 2328 </svg> 2329 </div> 2330 <div class="text"> 2331 <h2>Animal-based Blog</h2> 2332 <p>Learn the science behind why animal foods can improve your health!</p> 2333 </div> 2334 </a> 2335 <a href="https://heartandsoil.co/newsletter/" class="rtnu-grid__item"> 2336 <div class="icon"> 2337 <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none" viewBox="0 0 40 40"> 2338 <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"/> 2339 </svg> 2340 </div> 2341 <div class="text"> 2342 <h2>Radical Health Newsletter</h2> 2343 <p>Get weekly health tips sent straight to your inbox!</p> 2344 </div> 2345 </a> 2346 <a 2347 href="https://radicalhealthradio.com/" 2348 class="rtnu-grid__item" 2349 target="_blank" 2350 rel="nofollow" 2351 > 2352 <div class="icon"> 2353 <svg xmlns="http://www.w3.org/2000/svg" width="48" height="28" fill="none" viewBox="0 0 48 28"> 2354 <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
2354-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"/> 2355 </svg> 2356 </div> 2357 <div class="text"> 2358 <h2>Radical Health Radio</h2> 2359 <p>A weekly podcast hosted by Ste Lane, with expert health guests and live callers.</p> 2360 </div> 2361 </a> 2362 <a href="https://heartandsoil.co/animalbased30/" class="rtnu-grid__item"> 2363 <div class="icon"> 2364 <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none" viewBox="0 0 231 204"> 2365 <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> 2366 </svg> 2367 </div> 2368 <div class="text"> 2369 <h2>AB30 Challenge</h2> 2370 <p> 2371 Start a free 30-day journey to eat animal-based, live like your ancestors, and reclaim your health! 2372 </p> 2373 </div> 2374 </a> 2375 <a href="https://heartandsoil.co/refer/" class="rtnu-grid__item"> 2376 <div class="icon"> 2377 <svg xmlns="http://www.w3.org/2000/svg" width="44" height="43" fill="none" viewBox="0 0 44 43"> 2378 <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"/> 2379 </svg> 2380 </div> 2381 <div class="text"> 2382 <h2>Refer & Save</h2> 2383 <p>Save money every time you Refer-A-Friend!</p> 2384 </div> 2385 </a> 2386 </div> 2387 </div> 2388 </div> 2389 </section> 2390 </div> 2391 2392 <div class="rtnu-nav-mobile"> 2393 <div class="rtnu-nav-mobile__bar"> 2394 <button 2395 type="button" 2396 class="rtnu-nav-mobile__toggle" 2397 aria-controls="rtnu-nav-mobile-panel-rtnu-nav-1" 2398 aria-expanded="false" 2399 aria-label="Open mobile menu" 2400 >
2401 <span></span> 2402 <span></span> 2403 <span></span> 2404 </button> 2405 2406 <a 2407 href="https://heartandsoil.co/" 2408 class="rtnu-nav-logo rtnu-nav-logo--mobile" 2409 aria-label="Heart & Soil - Go home" 2410 > 2411 <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 239 48" width="135" height="28"> 2412 <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.
241211l-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
241212H226.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"/> 2413 </svg> 2414 </a> 2415 2416 <div class="rtnu-nav-mobile__icons" data-menu-section="secondary"> 2417 <a href="https://shop.heartandsoil.co/a/account/login" class="rtnu-nav-icon-link" aria-label="Go to your account"> 2418 <svg 2419 xmlns="http://www.w3.org/2000/svg" 2420 width="22" 2421 height="22" 2422 fill="none"
2423 viewBox="0 0 28 28" 2424 aria-hidden="true" 2425 focusable="false" 2426 > 2427 <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"/> 2428 </svg> 2429 </a> 2430 <a href="https://shop.heartandsoil.co/cart" class="rtnu-nav-icon-link" aria-label="Open cart"> 2431 <svg 2432 xmlns="http://www.w3.org/2000/svg" 2433 width="26" 2434 height="22" 2435 fill="none" 2436 viewBox="0 0 34 30" 2437 aria-hidden="true" 2438 focusable="false" 2439 > 2440 <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"/> 2441 </svg> 2442 <span class="rtnu-nav-cart-count"> 2443 <span class="visually-hidden">Open cart, cart items:</span> 2444 <span class="Boost_CartCount rtnu-header__cart-count" aria-label="Go to cart page">0</span> 2445 </span> 2446 </a> 2447 </div> 2448 </div> 2449 2450 <div id="rtnu-nav-mobile-panel-rtnu-nav-1" class="rtnu-nav-mobile__panel" hidden> 2451 <div class="rtnu-nav-mobile__content"> 2452 <section class="rtnu-nav-mobile__group" data-menu-section="shop_all"> 2453 <p class="rtnu-nav-panel__heading">Shop</p> 2454 <ul class="rtnu-nav-mobile__links"> 2455 <li class="b2bshow" style="display: none;"><a href="https://shop.heartandsoil.co/collections/b2b-collection" data-menu-section="shop_all">
2455Shop All</a></li> 2456 <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> 2457 <li class="b2bhide"> 2458 <a 2459 href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true" 2460 class="rtnu-nav-mobile__subscription-link rtnu-nav-subscribe-link" 2461 > 2462 <span class="rtnu-nav-subscribe-prefix">Subscribe &</span> 2463 <span class="rtnu-nav-pill rtnu-nav-pill--save">Save Up to 30%</span> 2464 </a> 2465 </li> 2466 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=stacks&subscriptions=true">Stacks</a></li> 2467 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=merch">Merch</a></li> 2468 <li class="b2bhide"> 2469 <button 2470 type="button" 2471 class="rtnu-nav-mobile__jump rtnu-nav-mobile__jump--submenu" 2472 aria-controls="rtnu-nav-mobile-subpanel-health-goals-rtnu-nav-1" 2473 > 2474 <span>Health Goals</span> 2475 <svg 2476 xmlns="http://www.w3.org/2000/svg" 2477 width="11" 2478 height="18" 2479 fill="none"
2480 viewBox="0 0 11 18" 2481 aria-hidden="true" 2482 focusable="false" 2483 > 2484 <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" /> 2485 </svg> 2486 </button> 2487 </li> 2488 </ul> 2489 </section> 2490 2491 <section class="rtnu-nav-mobile__group" data-menu-section="shop_all"> 2492 <p class="rtnu-nav-panel__heading">Categories</p> 2493 <ul class="rtnu-nav-categories rtnu-nav-categories--mobile"> 2494 <li> 2495 <a href="https://shop.heartandsoil.co/products/free-form-grass-fed-colostrum"> 2496 <img 2497 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-categories-colostrum.webp" 2498 alt="" 2499 aria-hidden="true" 2500 loading="lazy" 2501 width="40" 2502 height="52" 2503 > 2504 <span class="rtnu-nav-category-meta"> 2505 <span class="rtnu-nav-category-label">Colostrum</span> 2506 <span class="rtnu-nav-pill">New</span> 2507 </span> 2508 </a> 2509 </li> 2510 <li> 2511 <a href="https://shop.heartandsoil.co/a/collections/products?filters=protein&subscriptions=true"> 2512 <img 2513 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/
2513hs-categories-protein.webp" 2514 alt="" 2515 aria-hidden="true" 2516 loading="lazy" 2517 width="40" 2518 height="52" 2519 > 2520 <span class="rtnu-nav-category-meta"> 2521 <span class="rtnu-nav-category-label">Protein Powder</span> 2522 </span> 2523 </a> 2524 </li> 2525 <li> 2526 <a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true"> 2527 <img 2528 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-categories-supplements.webp" 2529 alt="" 2530 aria-hidden="true" 2531 loading="lazy" 2532 width="40" 2533 height="52" 2534 > 2535 <span class="rtnu-nav-category-meta"> 2536 <span class="rtnu-nav-category-label">Supplements</span> 2537 </span> 2538 </a> 2539 </li> 2540 </ul> 2541 </section> 2542 2543 <section class="rtnu-nav-mobile__group rtnu-nav-support-card rtnu-nav-support-card--mobile"> 2544 <div class="rtnu-nav-mobile__support-copy"> 2545 <p class="rtnu-nav-panel__heading">Get Expert Support</p> 2546 <p>Personalized product guidance and support.</p> 2547 <button type="button" class="rtnu-nav-support-action" data-fancybox data-src="#klaviyo-form"> 2548 Connect with us 2549 <svg 2550 xmlns="http://www.w3.org/2000/svg" 2551 width="8" 2552 height="13" 2553 fill="none"
2554 viewBox="0 0 8 13" 2555 aria-hidden="true" 2556 focusable="false" 2557 > 2558 <path fill="currentColor" d="M8 6.35889 1.58514-.0559692 0 1.52917l4.82972 4.82972L0 11.1886l1.58514 1.5852L8 6.35889Z"/> 2559 </svg> 2560 </button> 2561 </div> 2562 <button 2563 type="button" 2564 class="rtnu-nav-mobile__support-team-btn" 2565 data-fancybox 2566 data-src="#klaviyo-form" 2567 aria-label="Connect with us" 2568 > 2569 <img 2570 class="rtnu-nav-mobile__support-team" 2571 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/hs-expert-support.webp" 2572 alt="" 2573 aria-hidden="true" 2574 loading="lazy" 2575 width="167" 2576 height="80" 2577 > 2578 </button> 2579 </section> 2580 2581 <section class="rtnu-nav-mobile__group rtnu-nav-mobile__footer-links" data-menu-section="secondary"> 2582 <button 2583 type="button" 2584 class="rtnu-nav-mobile__jump rtnu-nav-mobile__jump--submenu" 2585 aria-controls="rtnu-nav-mobile-subpanel-learn-rtnu-nav-1" 2586 > 2587 <span>Learn</span> 2588 <svg 2589 xmlns="http://www.w3.org/2000/svg" 2590 width="11" 2591 height="18" 2592 fill="none"
2593 viewBox="0 0 11 18" 2594 aria-hidden="true" 2595 focusable="false" 2596 > 2597 <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" /> 2598 </svg> 2599 </button> 2600 <a href="https://heartandsoil.co/contact-us">Get Help</a> 2601 <a href="https://shop.heartandsoil.co/a/account/login">Account</a> 2602 <a href="https://faq.heartandsoil.co/en-US">FAQ</a> 2603 </section> 2604 </div> 2605 2606 <div id="rtnu-nav-mobile-subpanel-health-goals-rtnu-nav-1" class="rtnu-nav-mobile__subpanel" data-menu-section="health_goals" hidden> 2607 <button type="button" class="rtnu-nav-mobile__back"> 2608 <svg 2609 xmlns="http://www.w3.org/2000/svg" 2610 width="11" 2611 height="18" 2612 fill="none" 2613 viewBox="0 0 11 18" 2614 aria-hidden="true" 2615 focusable="false" 2616 > 2617 <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" /> 2618 </svg> 2619 <span>Go back</span> 2620 </button> 2621 <h2 class="rtnu-nav-mobile__subpanel-title">Health Goals</h2> 2622 <div class="rtnu-nav-mobile__uses-group rtnu-nav-mobile__uses-group--popular"> 2623 <p class="rtnu-nav-mobile__uses-title">Most Popular</p> 2624 <ul 2625 class="rtnu-nav-mobile__subpanel-links rtnu-nav-mobile__subpanel-links--icon" 2626 data-rtnu-mobile-health-popular 2627 ></ul> 2628 </div> 2629 <div class="rtnu-nav-mobile__uses-group rtnu-nav-mobile__uses-group--all"> 2630 <p class="rtnu-nav-mobile__uses-title">All Uses <span>(A-Z)</span></p> 2631 <ul 2632 class="rtnu-nav-mobile__subpanel-links rtnu-nav-mobile__subpanel-links--icon" 2633 data-rtnu-mobile-health-all 2634 ></ul> 2635 </div> 2636 <div class="rtnu-nav-mobile__health-connect"> 2637 <p class="rtnu-nav-panel__heading">Get Expert Support</p> 2638 <button type="button" class="rtnu-nav-support-action" data-fancybox data-src="#klaviyo-form"> 2639 Connect with our Health Success Team 2640 <svg 2641 xmlns="http://www.w3.org/2000/svg" 2642 width="8" 2643 height="13" 2644 fill="none"
2645 viewBox="0 0 8 13" 2646 aria-hidden="true" 2647 focusable="false" 2648 > 2649 <path fill="currentColor" d="M8 6.35889 1.58514-.0559692 0 1.52917l4.82972 4.82972L0 11.1886l1.58514 1.5852L8 6.35889Z"/> 2650 </svg> 2651 </button> 2652 </div> 2653 </div> 2654 2655 <div id="rtnu-nav-mobile-subpanel-learn-rtnu-nav-1" class="rtnu-nav-mobile__subpanel" data-menu-section="learn" hidden> 2656 <button type="button" class="rtnu-nav-mobile__back"> 2657 <svg 2658 xmlns="http://www.w3.org/2000/svg" 2659 width="11" 2660 height="18" 2661 fill="none" 2662 viewBox="0 0 11 18" 2663 aria-hidden="true" 2664 focusable="false" 2665 > 2666 <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" /> 2667 </svg> 2668 <span>Go back</span> 2669 </button> 2670 <h2 class="rtnu-nav-mobile__subpanel-title">Learn</h2> 2671 <div class="rtnu-nav-mobile__learn-cards" data-rtnu-mobile-learn-cards></div> 2672 </div> 2673 2674 <div class="rtnu-nav-mobile__sticky-cta" data-menu-section="shop_all"> 2675 <a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true" class="rtnu-nav-btn rtnu-nav-btn--mobile" 2676 >Shop All Products</a 2677 > 2678 <div class="rtnu-nav-mobile__trust-row"> 2679 <span class="rtnu-nav-mobile__trust-item"> 2680 <svg 2681 xmlns="http://www.w3.org/2000/svg" 2682 width="20" 2683 height="20" 2684 fill="none"
2685 viewBox="0 0 20 20" 2686 aria-hidden="true" 2687 focusable="false" 2688 > 2689 <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" /> 2690 </svg> 2691 <span>Free & easy returns</span> 2692 </span> 2693 <span class="rtnu-nav-mobile__trust-item"> 2694 <svg 2695 xmlns="http://www.w3.org/2000/svg" 2696 width="20" 2697 height="16" 2698 fill="none"
2699 viewBox="0 0 20 16" 2700 aria-hidden="true" 2701 focusable="false" 2702 > 2703 <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
27035.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"/> 2704 </svg> 2705 <span>Free U.S. shipping on $100+</span> 2706 </span> 2707 </div> 2708 </div> 2709 </div> 2710 </div> 2711</header> 2712 2713<style> 2714 :root { 2715 --rtnu-nav-cream: #f5e7d4; 2716 --rtnu-nav-dark-brown: #2d231a; 2717 --rtnu-nav-divider-light: rgba(245, 231, 212, 0.35); 2718 --rtnu-nav-divider-dark: rgba(45, 35, 26, 0.16); 2719 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2720 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2721 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2722 --rtnu-nav-bg-color: transparent; 2723 --rtnu-nav-bg-active: var(--rtnu-nav-dark-brown); 2724 --rtnu-nav-accent: #a65316; 2725 --rtnu-nav-accent-hover: #773b08; 2726 --rtnu-nav-accent-light: #f49e52; 2727 --rtnu-nav-accent-bright: #e57f34; 2728 --rtnu-nav-accent-desktop-hover: #bf6517; 2729 --rtnu-nav-cream-soft: #ffc59b; 2730 --rtnu-nav-cream-muted: #e2c1a3; 2731 --rtnu-nav-mobile-panel-grad-start: #2a1f16; 2732 --rtnu-nav-mobile-panel-grad-end: #302318; 2733 --rtnu-nav-dark-brown-border: #4b3e33; 2734 --rtnu-nav-divider: var(--rtnu-nav-divider-light); 2735 --rtnu-nav-highlight: #ffba00; 2736 --rtnu-nav-offset: 0px; 2737 --rtnu-nav-font: 'Source Sans Pro', sans-serif; 2738 --rtnu-nav-heading-font: var(--wayfx-heading-font, var(--wayfx-heading-torque, var(--rtnu-nav-font))); 2739 --rtnu-nav-focus: var(--rtnu-nav-accent); 2740 --rtnu-nav-header-height: 77px; 2741 --rtnu-nav-header-mobile-height: 68px; 2742 } 2743 2744 html.rtnu-nav-header-present .wayfx-main:not(.rtnu-main--alt) { 2745 padding-top: calc(var(--rtnu-nav-header-height, 77px) + var(--topbar-height, 0px)) !important; 2746 } 2747 2748 @media (max-width: 768px) { 2749 html.rtnu-nav-header-present .wayfx-main:not(.rtnu-main--alt) { 2750 padding-top: calc(var(--rtnu-nav-header-mobile-height, 68px) + var(--topbar-height, 0px)) !important; 2751 } 2752 } 2753 2754 .rtnu-nav-header { 2755 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2756 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2757 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2758 --rtnu-nav-bg-color: transparent; 2759 --rtnu-nav-divider: var(--rtnu-nav-divider-light); 2760 color: var(--rtnu-nav-text-color); 2761 font-family: var(--rtnu-nav-font); 2762 left: 0; 2763 margin-left: calc(50% - 50vw); 2764 margin-right: calc(50% - 50vw); 2765 position: fixed; 2766 top: var(--rtnu-nav-offset); 2767 transform: translate3d(0, 0, 0); 2768 transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1), top 220ms ease; 2769 width: 100%; 2770 will-change: transform, top; 2771 z-index: 75; 2772 overflow: visible; 2773 } 2774 2775 .rtnu-nav-header.rtnu-nav--active-scroll { 2776 --rtnu-nav-bg-color: var(--rtnu-nav-dark-brown); 2777 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2778 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2779 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2780 --rtnu-nav-divider: rgba(255, 255, 255, 0.08); 2781 } 2782 2783 .rtnu-nav-header.rtnu-nav-header--alt2, 2784 .rtnu-nav-header.rtnu-nav-header--alt2.rtnu-nav--active-scroll { 2785 --rtnu-nav-bg-color: var(--rtnu-nav-dark-brown); 2786 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2787 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2788 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2789 --rtnu-nav-divider: rgba(255, 255, 255, 0.18); 2790 } 2791 2792 .rtnu-nav-header.rtnu-nav-header--blog, 2793 .rtnu-nav-header.rtnu-nav-header--blog.rtnu-nav--active-scroll { 2794 --rtnu-nav-bg-color: var(--rtnu-nav-dark-brown); 2795 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2796 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2797 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2798 --rtnu-nav-divider: rgba(255, 255, 255, 0.18); 2799 } 2800 2801 .rtnu-nav-header.rtnu-nav--menu-open { 2802 --rtnu-nav-bg-color: var(--rtnu-nav-bg-active); 2803 --rtnu-nav-text-color: var(--rtnu-nav-cream); 2804 --rtnu-nav-icon-color: var(--rtnu-nav-cream); 2805 --rtnu-nav-logo-color: var(--rtnu-nav-cream); 2806 --rtnu-nav-divider: rgba(255, 255, 255, 0.08); 2807 } 2808 2809 .rtnu-nav-header.rtnu-nav--scrolling-down { 2810 transform: translate3d(0, -100%, 0); 2811 } 2812 2813 .rtnu-nav-header.rtnu-nav--scrolling-up { 2814 transform: translate3d(0, 0, 0); 2815 } 2816 2817 .rtnu-nav-header.rtnu-header--blog ~ .wayfx-header__subnav { 2818 transition: none !important; 2819 } 2820 2821 .rtnu-nav-header.rtnu-header--blog ~ .wayfx-header__subnav.rtnu-blog-subnav-animating { 2822 transition: top 500ms cubic-bezier(0.22, 1, 0.36, 1) !important; 2823 } 2824 2825 .rtnu-nav-header.rtnu-nav--no-transition { 2826 transition: none !important; 2827 } 2828 2829 .rtnu-nav-desktop { 2830 background: var(--rtnu-nav-bg-color); 2831 border-top: 0; 2832 position: relative; 2833 transition: background-color 180ms ease; 2834 } 2835 2836 .rtnu-nav-header.rtnu-header--blog ~ main { 2837 padding-top: var(--rtnu-nav-header-height, 77px); 2838 } 2839 2840 .rtnu-nav-desktop.is-menu-open { 2841 background: var(--rtnu-nav-bg-active); 2842 } 2843 2844 .rtnu-nav-desktop__bar {
2845 align-items: stretch; 2846 display: grid; 2847 gap: 24px; 2848 grid-template-columns: minmax(180px, 1fr) auto minmax(220px, 1fr); 2849 height: 76px; 2850 margin: 0 auto; 2851 max-width: 1280px; 2852 padding: 0 24px; 2853 } 2854 2855 .rtnu-nav-logo { 2856 display: inline-flex; 2857 line-height: 0; 2858 color: var(--rtnu-nav-logo-color); 2859 width: 179px; 2860 } 2861 2862 .rtnu-nav-logo svg { 2863 display: block; 2864 height: auto; 2865 width: 100%; 2866 } 2867 2868 .rtnu-nav-menu ul { 2869 align-items: stretch; 2870 display: flex; 2871 gap: 40px; 2872 height: 100%; 2873 list-style: none; 2874 margin: 0; 2875 padding: 0; 2876 } 2877 2878 .rtnu-nav-menu { 2879 align-items: stretch; 2880 display: flex; 2881 height: 100%; 2882 } 2883 2884 .rtnu-nav-menu ul > li { 2885 align-items: stretch; 2886 display: flex; 2887 height: 100%; 2888 } 2889 2890 .rtnu-nav-menu__has-dropdown { 2891 align-items: stretch; 2892 display: flex; 2893 position: relative; 2894 } 2895 2896 .rtnu-nav-menu--secondary { 2897 justify-self: end; 2898 } 2899 2900 .rtnu-nav-menu__item-cart { 2901 margin-left: -16px; 2902 } 2903 2904 .rtnu-nav-menu a, 2905 .rtnu-nav-menu__trigger {
2906 align-items: center; 2907 color: var(--rtnu-nav-text-color); 2908 display: inline-flex; 2909 font-size: 18px; 2910 font-weight: 700; 2911 height: 100%; 2912 letter-spacing: 0.5px; 2913 line-height: 1; 2914 padding: 0; 2915 text-decoration: none; 2916 text-transform: uppercase; 2917 } 2918 2919 .rtnu-nav-menu__trigger { 2920 background: transparent; 2921 border: 0; 2922 cursor: pointer; 2923 gap: 6px; 2924 margin: 0; 2925 } 2926 2927 .rtnu-nav-menu__trigger svg { 2928 flex-shrink: 0; 2929 opacity: 0.5 !important; 2930 transform: rotate(0deg) !important; 2931 transition: opacity 180ms ease, transform 180ms ease; 2932 } 2933 2934 .rtnu-nav-menu__trigger[aria-expanded='true'] svg { 2935 opacity: 1 !important; 2936 transform: rotate(180deg) !important; 2937 } 2938 2939 .rtnu-nav-menu__trigger[aria-expanded='true'], 2940 .rtnu-nav-menu__trigger[aria-expanded='true'] span { 2941 color: var(--rtnu-nav-cream); 2942 } 2943 2944 .rtnu-nav-icon-link { 2945 align-items: center; 2946 color: var(--rtnu-nav-icon-color); 2947 display: inline-flex; 2948 height: 100%; 2949 justify-content: center; 2950 line-height: 0; 2951 padding: 0; 2952 position: relative; 2953 } 2954 2955 .rtnu-nav-menu--secondary a.rtnu-nav-icon-link:hover, 2956 .rtnu-nav-menu--secondary a.rtnu-nav-icon-link:focus-visible { 2957 color: var(--rtnu-nav-accent-desktop-hover); 2958 transition: color 0.2s ease; 2959 } 2960 2961 .rtnu-nav-cart-count { 2962 align-items: center; 2963 background: var(--rtnu-nav-accent); 2964 border-radius: 999px; 2965 color: var(--rtnu-nav-cream); 2966 display: inline-flex; 2967 font-size: 11px; 2968 font-weight: 700; 2969 height: 18px; 2970 justify-content: center; 2971 line-height: 1; 2972 min-width: 18px; 2973 padding: 0 4px; 2974 pointer-events: none; 2975 position: absolute; 2976 right: 0; 2977 top: 50%; 2978 transform: translate(50%, -100%); 2979 } 2980 2981 .rtnu-nav-panel { 2982 background: var(--rtnu-nav-bg-active); 2983 border-top: 1px solid rgba(255, 255, 255, 0.12); 2984 box-shadow: 0 12px 22px rgba(0, 0, 0, 0.25); 2985 left: 0; 2986 position: absolute; 2987 right: 0; 2988 top: 100%; 2989 transform: none; 2990 width: 100vw; 2991 max-width: 100vw; 2992 z-index: 11; 2993 } 2994 2995 .rtnu-nav-panel__inner { 2996 margin: 0 auto; 2997 max-width: 1280px; 2998 padding: 32px 24px 40px; 2999 } 3000 3001 .rtnu-nav-panel--mega .rtnu-nav-panel__inner { 3002 max-width: min(860px, calc(100vw - 48px)); 3003 padding: 0; 3004 } 3005 3006 .rtnu-nav-panel__heading { 3007 color: var(--rtnu-nav-cream-soft); 3008 font-size: 16px; 3009 font-weight: 700; 3010 letter-spacing: 0.8px; 3011 line-height: 1; 3012 margin: 0 0 20px; 3013 text-transform: uppercase; 3014 } 3015 3016 .rtnu-nav-shop-all { 3017 display: grid; 3018 grid-template-columns: 1fr 1fr 0.95fr; 3019 } 3020 3021 .rtnu-nav-panel--mega .rtnu-nav-shop-all { 3022 align-items: stretch; 3023 grid-template-columns: 269px 332px 258px; 3024 justify-content: center; 3025 } 3026 3027 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col { 3028 min-height: 100%; 3029 padding-bottom: 32px; 3030 padding-top: 40px; 3031 } 3032 3033 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--primary { 3034 border-right: 1px solid var(--rtnu-nav-divider); 3035 padding-right: 40px; 3036 } 3037 3038 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--categories { 3039 border-right: 1px solid var(--rtnu-nav-divider); 3040 padding-left: 40px; 3041 padding-right: 40px; 3042 } 3043 3044 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--support { 3045 padding-left: 40px; 3046 } 3047 3048 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--primary > .rtnu-nav-panel__heading, 3049 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--categories > .rtnu-nav-panel__heading { 3050 margin-bottom: 22px; 3051 } 3052 3053 .rtnu-nav-list { 3054 display: flex; 3055 flex-direction: column; 3056 list-style: none; 3057 margin: 0; 3058 padding: 0; 3059 } 3060 3061 .rtnu-nav-list a { 3062 align-items: center; 3063 color: var(--rtnu-nav-cream); 3064 display: flex; 3065 font-size: 20px; 3066 font-weight: 600; 3067 gap: 8px; 3068 line-height: 1; 3069 min-height: 44px; 3070 text-decoration: none; 3071 width: 100%; 3072 } 3073 3074 .rtnu-nav-link-label { 3075 display: inline-block; 3076 } 3077 3078 .rtnu-nav-panel--mega .rtnu-nav-subscribe-link { 3079 gap: 4px; 3080 } 3081 3082 .rtnu-nav-panel--mega .rtnu-nav-shop-all__col--primary .rtnu-nav-list a { 3083 align-items: flex-start; 3084 } 3085 3086 .rtnu-nav-subscribe-prefix { 3087 white-space: nowrap; 3088 } 3089 3090 .rtnu-nav-pill { 3091 background: var(--rtnu-nav-highlight); 3092 border-radius: 4px; 3093 color: var(--rtnu-nav-dark-brown); 3094 display: inline-flex; 3095 font-size: 13px; 3096 font-weight: 700; 3097 line-height: 1; 3098 padding: 3px 6px 2px; 3099 text-transform: none; 3100 white-space: nowrap; 3101 } 3102 3103 .rtnu-nav-pill--save { 3104 border-radius: 6px; 3105 font-size: 16px; 3106 font-weight: 600; 3107 letter-spacing: -0.1px; 3108 line-height: 1; 3109 padding: 2px 6px 4px; 3110 margin-left: 4px; 3111 } 3112 3113 .rtnu-nav-panel--mega .rtnu-nav-list a .rtnu-nav-pill { 3114 margin-left: 0; 3115 transform: none; 3116 } 3117 3118 .rtnu-nav-panel--mega .rtnu-nav-categories a .rtnu-nav-pill { 3119 margin-left: 0; 3120 } 3121 3122 .rtnu-nav-panel--mega .rtnu-nav-categories > li > a { 3123 justify-content: flex-start !important; 3124 } 3125 3126 .rtnu-nav-panel--mega .rtnu-nav-category-meta { 3127 display: inline-flex; 3128 flex: 0 1 auto; 3129 justify-content: flex-start !important; 3130 width: auto !important; 3131 } 3132 3133 .rtnu-nav-btn {
3134 align-items: center; 3135 background: var(--rtnu-nav-accent); 3136 border-radius: 8px; 3137 color: var(--rtnu-nav-cream); 3138 display: inline-flex; 3139 font-size: 16px; 3140 font-weight: 600; 3141 letter-spacing: 1px; 3142 line-height: 1; 3143 margin-top: 0; 3144 min-height: 46px; 3145 padding: 0 24px; 3146 text-decoration: none; 3147 text-transform: uppercase; 3148 transition: background-color 180ms ease; 3149 } 3150 3151 .rtnu-nav-btn:hover, 3152 .rtnu-nav-btn:focus-visible { 3153 background: var(--rtnu-nav-accent-hover); 3154 color: var(--rtnu-nav-cream); 3155 } 3156 3157 .rtnu-nav-categories { 3158 display: flex; 3159 flex-direction: column; 3160 list-style: none; 3161 margin: 0; 3162 padding: 0; 3163 } 3164 3165 .rtnu-nav-categories li + li { 3166 border-top: 1px solid var(--rtnu-nav-divider); 3167 } 3168 3169 .rtnu-nav-categories a { 3170 align-items: center; 3171 color: var(--rtnu-nav-cream); 3172 display: flex; 3173 font-size: 20px; 3174 font-weight: 600; 3175 gap: 10px; 3176 line-height: 1.2; 3177 min-height: 56px; 3178 text-decoration: none; 3179 width: 100%; 3180 } 3181 3182 .rtnu-nav-category-meta { 3183 align-items: center; 3184 display: inline-flex; 3185 gap: 8px; 3186 min-width: 0; 3187 } 3188 3189 .rtnu-nav-category-label { 3190 line-height: 1; 3191 } 3192 3193 .rtnu-nav-categories .rtnu-nav-pill { 3194 border-radius: 6px; 3195 font-size: 14px; 3196 font-weight: 600; 3197 letter-spacing: -0.1px; 3198 line-height: 0.9; 3199 padding: 2px 6px 4px; 3200 } 3201 3202 .rtnu-nav-categories img { 3203 display: block; 3204 flex: 0 0 40px; 3205 height: 52px; 3206 object-fit: contain; 3207 width: 40px; 3208 } 3209 3210 .rtnu-nav-support-card { 3211 align-self: center; 3212 border-left: 1px solid var(--rtnu-nav-divider); 3213 min-height: 190px; 3214 padding-left: 28px; 3215 } 3216 3217 .rtnu-nav-support-card p { 3218 color: var(--rtnu-nav-cream); 3219 font-size: 16px; 3220 font-weight: 400; 3221 line-height: 1.3; 3222 margin: 0 0 14px; 3223 max-width: 260px; 3224 } 3225 3226 .rtnu-nav-support-card .rtnu-nav-panel__heading { 3227 color: var(--rtnu-nav-cream-soft); 3228 font-size: 16px; 3229 font-weight: 700; 3230 letter-spacing: 0.8px; 3231 line-height: 1; 3232 margin: 0 0 20px; 3233 text-transform: uppercase; 3234 } 3235 3236 .rtnu-nav-support-action { 3237 align-items: center; 3238 background: none; 3239 border: 0; 3240 color: var(--rtnu-nav-accent-bright); 3241 cursor: pointer; 3242 display: inline-flex; 3243 font-size: 17px; 3244 font-weight: 600; 3245 gap: 6px; 3246 justify-content: center; 3247 line-height: 1; 3248 outline: none; 3249 padding: 0; 3250 text-decoration: underline; 3251 text-underline-offset: 4px; 3252 } 3253 3254 .rtnu-nav-support-action:hover, 3255 .rtnu-nav-support-action:focus-visible { 3256 text-decoration: none; 3257 } 3258 3259 .rtnu-nav-support-card__image-hit { 3260 background: none; 3261 border: 0; 3262 cursor: pointer; 3263 display: block; 3264 margin: 0 0 12px; 3265 padding: 0; 3266 } 3267 3268 .rtnu-nav-panel--mega .rtnu-nav-support-card { 3269 align-items: center; 3270 align-self: stretch; 3271 border-left: 0; 3272 display: flex; 3273 flex-direction: column; 3274 justify-content: flex-start; 3275 min-height: 0; 3276 padding-left: 0; 3277 text-align: center; 3278 } 3279 3280 .rtnu-nav-panel--mega .rtnu-nav-support-card__image { 3281 display: block; 3282 height: 104px; 3283 margin: 0; 3284 object-fit: cover; 3285 width: 217.853px; 3286 } 3287 3288 .rtnu-nav-panel--mega .rtnu-nav-support-card .rtnu-nav-panel__heading { 3289 margin: 0 0 10px; 3290 } 3291 3292 .rtnu-nav-panel--mega .rtnu-nav-categories > li > a { 3293 min-height: 0; 3294 padding: 10px 0; 3295 } 3296 3297 .rtnu-nav-panel--mega .rtnu-nav-categories > li:first-child > a { 3298 padding-top: 0; 3299 } 3300 3301 .rtnu-nav-panel--mega .rtnu-nav-btn { 3302 justify-content: center; 3303 min-height: 46px; 3304 margin-top: 4px; 3305 padding: 0 12px; 3306 width: 100%; 3307 } 3308 3309 .rtnu-nav-panel--mega .rtnu-nav-support-card__image-hit { 3310 width: 217.853px; 3311 } 3312 3313 .rtnu-nav-panel--mega .rtnu-nav-support-card__link { 3314 justify-content: center; 3315 min-height: 0; 3316 width: 100%; 3317 } 3318 3319 .rtnu-nav-panel--mega .rtnu-nav-support-card__link svg { 3320 transition: transform 180ms ease; 3321 } 3322 3323 .rtnu-nav-panel--mega .rtnu-nav-support-card__link:hover svg, 3324 .rtnu-nav-panel--mega .rtnu-nav-support-card__link:focus-visible svg { 3325 transform: translateX(4px); 3326 } 3327 3328 .rtnu-nav-panel--mega .rtnu-nav-support-card p:not(.rtnu-nav-panel__heading) { 3329 margin: 0 0 16px; 3330 max-width: 191px; 3331 } 3332
3333 .rtnu-nav-panel--legacy .rtnu-header__dropdown { 3334 background: transparent; 3335 border-top: 0; 3336 box-shadow: none; 3337 color: var(--rtnu-nav-cream); 3338 opacity: 1; 3339 pointer-events: auto; 3340 position: static; 3341 transform: none; 3342 visibility: visible; 3343 width: 100%; 3344 } 3345 3346 .rtnu-nav-panel--legacy .rtnu-wrapper { 3347 margin-inline: auto; 3348 max-width: 1336px; 3349 padding: 0 24px; 3350 } 3351 3352 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid { 3353 align-items: flex-start; 3354 display: grid; 3355 gap: clamp(1.5rem, -1.2042rem + 5.6338vw, 3.5rem); 3356 grid-template-columns: repeat(auto-fit, minmax(200px, auto)); 3357 margin-inline: auto; 3358 padding: 21px 0 28px; 3359 } 3360 3361 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item { 3362 display: flex; 3363 flex-direction: column; 3364 padding-top: 35px; 3365 } 3366 3367 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item p { 3368 color: var(--rtnu-nav-cream); 3369 font-size: 15px; 3370 font-weight: 600; 3371 letter-spacing: 1.5px; 3372 line-height: 1; 3373 margin: 0 0 1.5rem; 3374 text-transform: uppercase; 3375 } 3376
3377 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li + li { 3378 margin-top: 20px; 3379 } 3380 3381 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul, 3382 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li { 3383 list-style: none !important; 3384 margin: 0; 3385 padding: 0; 3386 } 3387 3388 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li::marker, 3389 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li::before { 3390 content: none !important; 3391 } 3392 3393 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li a { 3394 align-items: center; 3395 color: var(--rtnu-nav-accent-light); 3396 display: flex; 3397 font-size: 18px; 3398 gap: 10px; 3399 letter-spacing: 0.13px; 3400 line-height: 1; 3401 transition: color 180ms ease; 3402 } 3403 3404 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li a .icon { 3405 align-items: center; 3406 display: flex; 3407 height: 20px; 3408 justify-content: center; 3409 width: 20px; 3410 } 3411
3412 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item ul li a:hover { 3413 color: var(--rtnu-nav-cream); 3414 text-decoration: underline; 3415 } 3416 3417 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item:first-of-type { 3418 background: rgba(255, 255, 255, 0.03); 3419 border-radius: 12px; 3420 padding: 35px 32px 32px; 3421 } 3422 3423 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-grid__item:first-of-type ul li a { 3424 font-weight: 600; 3425 } 3426 3427 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect { 3428 align-items: center; 3429 border-top: 1px solid var(--rtnu-nav-divider); 3430 display: flex; 3431 flex-direction: column; 3432 padding: 20px; 3433 text-align: center; 3434 } 3435 3436 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect p { 3437 color: var(--rtnu-nav-cream); 3438 font-size: 14px; 3439 font-weight: 600; 3440 letter-spacing: 1.5px; 3441 line-height: 1.2; 3442 margin: 0; 3443 text-transform: uppercase; 3444 } 3445 3446 .rtnu-nav-panel--legacy .rt
3446nu-header__dropdown-health .rtnu-header__dropdown-health-connect a, 3447 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect button { 3448 align-items: center; 3449 background: none; 3450 border: 0; 3451 color: var(--rtnu-nav-accent-light); 3452 cursor: pointer; 3453 display: flex; 3454 font-size: 15px; 3455 gap: 6px; 3456 justify-content: center; 3457 letter-spacing: 0.13px; 3458 line-height: 1; 3459 margin-top: 5px; 3460 outline: none; 3461 padding: 0; 3462 } 3463 3464 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect a svg, 3465 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect button svg { 3466 transition: transform 180ms ease; 3467 } 3468 3469 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect a:hover svg, 3470 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect button:hover svg { 3471 transform: translateX(5px); 3472 } 3473 3474 .rtnu-nav-support-action:focus-visible,
3475 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect a:focus-visible, 3476 .rtnu-nav-panel--legacy .rtnu-header__dropdown-health .rtnu-header__dropdown-health-connect button:focus-visible { 3477 outline: 2px solid var(--rtnu-nav-focus); 3478 outline-offset: 3px; 3479 border-radius: 2px; 3480 } 3481 3482 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-wrapper { 3483 max-width: 1336px; 3484 } 3485 3486 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid { 3487 display: grid; 3488 grid-template-columns: repeat(3, 1fr); 3489 } 3490 3491 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item { 3492 align-items: flex-start; 3493 border-bottom: 1px solid var(--rtnu-nav-divider); 3494 border-right: 1px solid var(--rtnu-nav-divider); 3495 color: var(--rtnu-nav-accent-light); 3496 display: flex; 3497 gap: 12px; 3498 padding: 42px 20px 40px; 3499 transition: background-color 240ms ease, color 240ms ease; 3500 } 3501 3502 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:last-child,
3503 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:nth-child(3) { 3504 border-right: none; 3505 } 3506 3507 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item .icon { 3508 height: auto; 3509 width: 44px; 3510 } 3511 3512 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item svg path { 3513 fill: var(--rtnu-nav-accent-light); 3514 transition: fill 240ms ease; 3515 } 3516 3517 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item h2 { 3518 color: inherit; 3519 font-family: var(--rtnu-nav-font); 3520 font-size: 20px; 3521 font-weight: 700; 3522 line-height: 20px; 3523 margin: 0 0 12px; 3524 text-transform: uppercase; 3525 transition: color 240ms ease; 3526 } 3527 3528 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item p { 3529 color: var(--rtnu-nav-cream-muted); 3530 font-size: 16px; 3531 line-height: 22px; 3532 max-width: 280px; 3533 transition: color 240ms ease; 3534 } 3535 3536 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:nth-child(6) svg path { 3537 fill: transparent; 3538 stroke: var(--rtnu-nav-accent-light); 3539 } 3540
3541 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:nth-child(6) p { 3542 max-width: 100%; 3543 } 3544 3545 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:nth-child(6):hover svg path { 3546 fill: transparent; 3547 stroke: var(--rtnu-nav-cream); 3548 } 3549 3550 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:hover { 3551 background: rgba(255, 255, 255, 0.02); 3552 } 3553 3554 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:hover h2 { 3555 color: var(--rtnu-nav-cream); 3556 text-decoration: underline; 3557 text-decoration-thickness: 2px; 3558 } 3559 3560 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:hover p { 3561 color: var(--rtnu-nav-cream); 3562 } 3563 3564 .rtnu-nav-panel--legacy .rtnu-header__dropdown-learn .rtnu-grid__item:hover svg path { 3565 fill: var(--rtnu-nav-cream); 3566 } 3567 3568 .rtnu-nav-mobile { 3569 display: none; 3570 } 3571 3572 .rtnu-nav-desktop .rtnu-nav-menu a:hover { 3573 text-decoration: underline; 3574 text-underline-offset: 4px; 3575 text-decoration-thickness: 2px; 3576 } 3577 3578 .rtnu-nav-menu a:hover, 3579 .rtnu-nav-panel a:hover, 3580 .rtnu-nav-mobile a:hover, 3581 .rtnu-nav-mobile__jump:hover { 3582 color: inherit; 3583 } 3584 3585 .rtnu-nav-panel--mega .rtnu-nav-list a:hover, 3586 .rtnu-nav-panel--mega .rtnu-nav-list a:focus-visible, 3587 .rtnu-nav-panel--mega .rtnu-nav-categories a:hover, 3588 .rtnu-nav-panel--mega .rtnu-nav-categories a:focus-visible { 3589 color: var(--rtnu-nav-cream); 3590 text-decoration: none; 3591 } 3592 3593 .rtnu-nav-panel--mega .rtnu-nav-list a:hover .rtnu-nav-link-label, 3594 .rtnu-nav-panel--mega .rtnu-nav-list a:focus-visible .rtnu-nav-link-label, 3595 .rtnu-nav-panel--mega .rtnu-nav-list a:hover .rtnu-nav-subscribe-prefix, 3596 .rtnu-nav-panel--mega .rtnu-nav-list a:focus-visible .rtnu-nav-subscribe-prefix, 3597 .rtnu-nav-panel--mega .rtnu-nav-categories a:hover .rtnu-nav-category-label, 3598 .rtnu-nav-panel--mega .rtnu-nav-categories a:focus-visible .rtnu-nav-category-label { 3599 text-decoration: underline; 3600 text-decoration-thickness: 1px; 3601 text-underline-offset: 3px; 3602 } 3603 3604 .rtnu-nav-menu a:focus-visible, 3605 .rtnu-nav-panel a:focus-visible, 3606 .rtnu-nav-mobile a:focus-visible, 3607 .rtnu-nav-menu__trigger:focus-visible, 3608 .rtnu-nav-mobile__jump:focus-visible, 3609 .rtnu-nav-mobile__back:focus-visible, 3610 .rtnu-nav-mobile__toggle:focus-visible, 3611 .rtnu-nav-mobile summary:focus-visible { 3612 outline: 2px solid var(--rtnu-nav-focus); 3613 outline-offset: 3px; 3614 } 3615 3616 @media (max-width: 1024px) { 3617 .rtnu-nav-desktop { 3618 display: none; 3619 } 3620 3621 .rtnu-nav-mobile { 3622 background: var(--rtnu-nav-bg-color); 3623 border-top: 0; 3624 display: block; 3625 position: relative; 3626 } 3627 3628 .rtnu-nav-header.rtnu-header--blog ~ main { 3629 padding-top: var(--rtnu-nav-header-mobile-height, 68px); 3630 } 3631 3632 .rtnu-nav-mobile__bar { 3633 align-items: center; 3634 display: grid; 3635 grid-template-columns: 40px 1fr auto; 3636 height: 68px; 3637 padding: 0 20px; 3638 } 3639 3640 .rtnu-nav-logo--mobile { 3641 justify-self: center; 3642 width: 135px; 3643 } 3644 3645 .rtnu-nav-mobile__icons { 3646 align-items: center; 3647 display: flex; 3648 gap: 20px; 3649 justify-self: end; 3650 } 3651 3652 .rtnu-nav-mobile__toggle { 3653 background: transparent; 3654 border: 0; 3655 cursor: pointer; 3656 display: inline-block; 3657 height: 24px; 3658 padding: 0; 3659 position: relative; 3660 width: 24px; 3661 } 3662 3663 .rtnu-nav-mobile__toggle span { 3664 background: var(--rtnu-nav-icon-color); 3665 border-radius: 0; 3666 display: inline-block; 3667 height: 2px; 3668 left: 0; 3669 position: absolute; 3670 transition: transform 180ms ease, opacity 180ms ease, top 180ms ease; 3671 width: 24px; 3672 } 3673 3674 .rtnu-nav-mobile__toggle span:nth-child(1) { 3675 top: 3px; 3676 } 3677 3678 .rtnu-nav-mobile__toggle span:nth-child(2) { 3679 top: 11px; 3680 } 3681 3682 .rtnu-nav-mobile__toggle span:nth-child(3) { 3683 top: 19px; 3684 } 3685 3686 .rtnu-nav-mobile__toggle[aria-expanded='true'] span:nth-child(1) { 3687 top: 11px; 3688 transform: rotate(45deg); 3689 } 3690 3691 .rtnu-nav-mobile__toggle[aria-expanded='true'] span:nth-child(2) { 3692 opacity: 0; 3693 transform: scaleX(0); 3694 } 3695 3696 .rtnu-nav-mobile__toggle[aria-expanded='true'] span:nth-child(3) { 3697 top: 11px; 3698 transform: rotate(-45deg); 3699 } 3700 3701 .rtnu-nav-mobile__panel { 3702 background: var(--rtnu-nav-bg-active); 3703 border-top: 1px solid var(--rtnu-nav-divider); 3704 height: calc(100dvh - var(--rtnu-nav-offset) - var(--rtnu-nav-header-mobile-height, 68px)); 3705 left: 0; 3706 overflow: hidden; 3707 position: fixed; 3708 right: 0; 3709 top: var(--rtnu-nav-header-mobile-height, 68px); 3710 z-index: 90; 3711 } 3712 3713 .rtnu-nav-mobile__content { 3714 height: 100%; 3715 overflow-y: auto; 3716 padding: 20px 0 calc(114px + env(safe-area-inset-bottom, 0px)) 0; 3717 transform: translateX(0); 3718 opacity: 1; 3719 transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease; 3720 will-change: transform, opacity; 3721 } 3722 3723 .rtnu-nav-mobile__panel.is-subpanel-open .rtnu-nav-mobile__content { 3724 opacity: 0.22; 3725 pointer-events: none; 3726 transform: translateX(-16px); 3727 } 3728 3729 .rtnu-nav-mobile__group { 3730 border-bottom: 1px solid var(--rtnu-nav-divider); 3731 padding: 24px 20px; 3732 } 3733 3734 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:first-child { 3735 padding-top: 0; 3736 } 3737 3738 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:nth-child(-n + 2) { 3739 padding-bottom: 12px; 3740 } 3741 3742 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:nth-child(-n + 2) .rtnu-nav-mobile__links a, 3743 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:nth-child(-n + 2) .rtnu-nav-mobile__jump { 3744 font-size: 23px; 3745 } 3746 3747 .rtnu-nav-mobile__content > .rtnu-nav-mobile__group:nth-child(-n + 2) > .rtnu-nav-panel__heading { 3748 margin-bottom: 4px; 3749 } 3750 3751 .rtnu-nav-mobile__links, 3752 .rtnu-nav-mobile__footer-links { 3753 display: flex; 3754 flex-direction: column; 3755 list-style: none; 3756 margin: 0; 3757 padding: 0; 3758 } 3759 3760 .rtnu-nav-mobile__links a, 3761 .rtnu-nav-mobile__jump { 3762 color: var(--rtnu-nav-cream); 3763 font-size: 23px; 3764 font-weight: 600; 3765 line-height: 1; 3766 text-decoration: none; 3767 } 3768 3769 .rtnu-nav-mobile__jump { 3770 align-items: center; 3771 background: transparent; 3772 border: 0; 3773 cursor: pointer; 3774 display: inline-flex; 3775 gap: 10px; 3776 padding: 0; 3777 width: max-content; 3778 } 3779 3780 .rtnu-nav-mobile__subscription-link { 3781 align-items: flex-end; 3782 display: inline-flex; 3783 gap: 6px; 3784 } 3785 3786 .rtnu-nav-mobile__links > li > a, 3787 .rtnu-nav-mobile__links > li > .rtnu-nav-mobile__jump { 3788 align-items: center; 3789 display: inline-flex; 3790 min-height: 44px; 3791 width: 100%; 3792 } 3793 3794 .rtnu-nav-mobile__links > li > .rtnu-nav-mobile__jump { 3795 justify-content: flex-start; 3796 } 3797
3798 .rtnu-nav-mobile__subscription-link .rtnu-nav-subscribe-prefix { 3799 line-height: 1; 3800 } 3801 3802 .rtnu-nav-mobile__subscription-link .rtnu-nav-pill--save { 3803 font-size: 19px; 3804 line-height: 1; 3805 padding: 2px 6px; 3806 transform: translateY(-1px); 3807 margin-left: 0; 3808 } 3809 3810 .rtnu-nav-mobile__footer-links > a, 3811 .rtnu-nav-mobile__footer-links .rtnu-nav-mobile__jump { 3812 color: var(--rtnu-nav-cream); 3813 font-size: 16px; 3814 font-weight: 600; 3815 letter-spacing: 0.5px; 3816 line-height: 20px; 3817 text-decoration: none; 3818 text-transform: uppercase; 3819 } 3820 3821 .rtnu-nav-mobile__footer-links > a:visited, 3822 .rtnu-nav-mobile__footer-links > a:hover, 3823 .rtnu-nav-mobile__footer-links > a:focus-visible, 3824 .rtnu-nav-mobile__footer-links .rtnu-nav-mobile__jump:hover, 3825 .rtnu-nav-mobile__footer-links .rtnu-nav-mobile__jump:focus-visible { 3826 color: var(--rtnu-nav-cream); 3827 } 3828 3829 .rtnu-nav-mobile__footer-links { 3830 align-items: center; 3831 column-gap: 24px; 3832 flex-direction: row; 3833 flex-wrap: wrap; 3834 row-gap: 10px; 3835 } 3836 3837 .rtnu-nav-mobile__group.rtnu-nav-mobile__footer-links { 3838 border-bottom: 0; 3839 padding: 24px 20px; 3840 } 3841 3842 .rtnu-nav-mobile__jump svg { 3843 flex-shrink: 0; 3844 height: 18px; 3845 transition: transform 180ms ease; 3846 width: 11px; 3847 } 3848 3849 .rtnu-nav-mobile__jump[aria-expanded='true'] svg { 3850 transform: rotate(90deg); 3851 } 3852 3853 .rtnu-nav-mobile__subpanel { 3854 background: var(--rtnu-nav-bg-color); 3855 height: calc(100% - 114px); 3856 inset: 0; 3857 opacity: 0; 3858 overflow-y: auto; 3859 padding: 0 0 16px; 3860 pointer-events: none; 3861 position: absolute; 3862 transform: translateX(100%); 3863 transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1), opacity 500ms cubic-bezier(0.22, 1, 0.36, 1); 3864 will-change: transform, opacity; 3865 z-index: 2; 3866 } 3867 3868 .rtnu-nav-mobile__subpanel.is-active { 3869 opacity: 1; 3870 pointer-events: auto; 3871 transform: translateX(0); 3872 } 3873 3874 .rtnu-nav-mobile__back { 3875 align-items: center; 3876 background: transparent; 3877 border: 0; 3878 color: rgba(248, 230, 211, 0.6); 3879 cursor: pointer; 3880 display: inline-flex; 3881 gap: 12px; 3882 margin: 0 0 0 20px; 3883 padding: 32px 0 24px; 3884 touch-action: manipulation; 3885 text-transform: uppercase; 3886 } 3887 3888 .rtnu-nav-mobile__back span { 3889 color: inherit; 3890 font-size: 16px; 3891 font-weight: 600; 3892 letter-spacing: 1.5px; 3893 line-height: 1; 3894 } 3895 3896 .rtnu-nav-mobile__subpanel-title { 3897 color: var(--rtnu-nav-cream); 3898 font-family: var(--rtnu-nav-heading-font); 3899 font-size: 48px; 3900 font-weight: 400; 3901 letter-spacing: -4px; 3902 line-height: 36px; 3903 margin: 0 0 24px; 3904 padding: 0 20px; 3905 text-transform: uppercase; 3906 } 3907 3908 .rtnu-nav-mobile__subpanel-links { 3909 display: flex; 3910 flex-direction: column; 3911 list-style: none; 3912 margin: 0; 3913 padding: 0; 3914 } 3915 3916 .rtnu-nav-mobile__subpanel-links a { 3917 color: var(--rtnu-nav-accent-light); 3918 text-decoration: none; 3919 text-transform: none; 3920 } 3921 3922 .rtnu-nav-mobile__subpanel-links a:hover, 3923 .rtnu-nav-mobile__subpanel-links a:focus-visible { 3924 color: var(--rtnu-nav-cream); 3925 text-decoration: underline; 3926 text-decoration-thickness: 1px; 3927 text-underline-offset: 2px; 3928 } 3929 3930 .rtnu-nav-mobile__uses-group { 3931 padding: 0 20px; 3932 } 3933 3934 .rtnu-nav-mobile__uses-group:first-of-type { 3935 background: rgba(255, 255, 255, 0.05); 3936 border-radius: 12px; 3937 margin: 0 20px; 3938 padding: 24px 24px 32px; 3939 } 3940 3941 .rtnu-nav-mobile__uses-group + .rtnu-nav-mobile__uses-group { 3942 margin-top: 40px; 3943 padding: 0 20px; 3944 } 3945 3946 .rtnu-nav-mobile__uses-title { 3947 color: var(--rtnu-nav-cream); 3948 font-size: 16px; 3949 font-weight: 600; 3950 letter-spacing: 1.5px; 3951 line-height: 1; 3952 margin: 0 0 20px; 3953 text-transform: uppercase; 3954 } 3955 3956 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__uses-title { 3957 font-size: 19px; 3958 line-height: 1; 3959 margin-bottom: 14px; 3960 } 3961 3962 .rtnu-nav-mobile__uses-title span { 3963 color: rgba(248, 230, 211, 0.4); 3964 font-size: inherit; 3965 letter-spacing: inherit; 3966 text-transform: none; 3967 } 3968 3969 .rtnu-nav-mobile__uses-group--popular .rtnu-nav-mobile__subpanel-links--icon li + li { 3970 margin-top: 20px; 3971 } 3972 3973 .rtnu-nav-mobile__subpanel-links--icon li { 3974 display: block; 3975 } 3976 3977 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__subpanel-links--icon li + li { 3978 border-top: 1px solid var(--rtnu-nav-divider); 3979 } 3980 3981 .rtnu-nav-mobile__subpanel-links--icon a { 3982 align-items: center; 3983 display: flex; 3984 gap: 10px; 3985 letter-spacing: 0.13px; 3986 line-height: 1; 3987 } 3988 3989 .rtnu-nav-mobile__uses-group--popular .rtnu-nav-mobile__subpanel-links--icon a { 3990 font-size: 24px; 3991 font-weight: 600; 3992 } 3993 3994 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__subpanel-links--icon a { 3995 font-size: 20px; 3996 padding: 18px 0; 3997 width: 100%; 3998 } 3999 4000 .rtnu-nav-mobile__subpanel-links--icon a .icon { 4001 align-items: center; 4002 display: inline-flex; 4003 flex-shrink: 0; 4004 height: 24px; 4005 justify-content: center; 4006 width: 24px; 4007 } 4008 4009 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__subpanel-links--icon a .icon { 4010 height: 20px;
4011 width: 20px; 4012 } 4013 4014 .rtnu-nav-mobile__uses-group--popular .rtnu-nav-mobile__subpanel-links--icon a .icon svg { 4015 height: auto; 4016 width: 100%; 4017 } 4018 4019 .rtnu-nav-mobile__uses-group--all .rtnu-nav-mobile__subpanel-links--icon a .icon svg { 4020 height: 100%; 4021 width: auto; 4022 } 4023 4024 .rtnu-nav-mobile__health-connect { 4025 border-top: 1px solid var(--rtnu-nav-divider); 4026 display: flex; 4027 flex-direction: column; 4028 align-items: center; 4029 padding: 32px 20px 24px; 4030 text-align: center; 4031 } 4032 4033 .rtnu-nav-mobile__health-connect p { 4034 margin: 0; 4035 } 4036 4037 .rtnu-nav-mobile__health-connect .rtnu-nav-panel__heading { 4038 color: var(--rtnu-nav-cream); 4039 font-size: 16px; 4040 font-weight: 600; 4041 letter-spacing: 1.5px; 4042 line-height: 1.2; 4043 margin: 0; 4044 text-transform: uppercase; 4045 } 4046 4047 .rtnu-nav-mobile__health-connect p + p { 4048 color: var(--rtnu-nav-cream); 4049 font-size: 16px; 4050 font-weight: 600; 4051 letter-spacing: 1.5px; 4052 line-height: 1.2; 4053 margin-top: 4px; 4054 text-transform: uppercase; 4055 } 4056 4057 .rtnu-nav-mobile__learn-cards { 4058 display: grid; 4059 margin-top: -20px; 4060 } 4061 4062 .rtnu-nav-mobile__learn-cards .rtnu-grid__item { 4063 align-items: flex-start; 4064 border-bottom: 1px solid var(--rtnu-nav-divider); 4065 color: var(--rtnu-nav-accent-light); 4066 display: flex; 4067 gap: 12px; 4068 padding: 28px 20px; 4069 text-decoration: none; 4070 transition: background-color 500ms cubic-bezier(0.22, 1, 0.36, 1), color 500ms cubic-bezier(0.22, 1, 0.36, 1); 4071 } 4072 4073 .rtnu-nav-mobile__learn-cards .rtnu-grid__item .icon { 4074 align-items: center; 4075 display: flex; 4076 flex-shrink: 0; 4077 height: auto; 4078 width: 44px; 4079 } 4080 4081 .rtnu-nav-mobile__learn-cards .rtnu-grid__item .icon svg path { 4082 transition: fill 500ms cubic-bezier(0.22, 1, 0.36, 1); 4083 } 4084 4085 .rtnu-nav-mobile__learn-cards .rtnu-grid__item h2 { 4086 color: inherit; 4087 font-family: var(--rtnu-nav-font); 4088 font-size: 20px; 4089 font-weight: 700; 4090 line-height: 20px; 4091 margin: 0 0 12px; 4092 text-transform: uppercase; 4093 transition: color 500ms cubic-bezier(0.22, 1, 0.36, 1); 4094 } 4095 4096 .rtnu-nav-mobile__learn-cards .rtnu-grid__item p { 4097 color: var(--rtnu-nav-cream-muted); 4098 font-size: 17px; 4099 letter-spacing: 0.13px; 4100 line-height: 22px; 4101 margin: 0; 4102 transition: color 500ms cubic-bezier(0.22, 1, 0.36, 1); 4103 } 4104 4105 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:hover, 4106 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:focus-visible { 4107 background: rgba(255, 255, 255, 0.02); 4108 color: var(--rtnu-nav-cream); 4109 text-decoration: none; 4110 } 4111 4112 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:hover p, 4113 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:focus-visible p { 4114 color: var(--rtnu-nav-cream); 4115 } 4116 4117 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:hover .icon svg path, 4118 .rtnu-nav-mobile__learn-cards .rtnu-grid__item:focus-visible .icon svg path { 4119 fill: var(--rtnu-nav-cream); 4120 } 4121 4122 .rtnu-nav-categories--mobile a { 4123 font-size: 23px; 4124 min-height: 74px; 4125 padding: 10px 0; 4126 } 4127 4128 .rtnu-nav-categories--mobile img { 4129 flex-basis: 40px; 4130 height: 52px; 4131 width: 40px; 4132 } 4133 4134 .rtnu-nav-support-card--mobile { 4135 align-items: center; 4136 border-left: 0; 4137 display: flex; 4138 justify-content: space-between; 4139 min-height: 0; 4140 position: relative; 4141 } 4142 4143 .rtnu-nav-support-card--mobile .rtnu-nav-mobile__support-copy { 4144 max-width: 185px; 4145 position: relative; 4146 z-index: 2; 4147 } 4148 4149 .rtnu-nav-support-card--mobile p { 4150 margin: 0; 4151 font-size: 15px; 4152 max-width: 200px; 4153 } 4154 4155 .rtnu-nav-support-card--mobile .rtnu-nav-panel__heading { 4156 color: var(--rtnu-nav-cream-soft); 4157 font-size: 15px; 4158 font-weight: 700; 4159 letter-spacing: 0.8px; 4160 line-height: 1; 4161 margin: 0 0 12px; 4162 text-transform: uppercase; 4163 max-width: none; 4164 } 4165 4166 .rtnu-nav-support-card--mobile p + p { 4167 margin-top: 0; 4168 max-width: 185px; 4169 } 4170 4171 .rtnu-nav-mobile__health-connect .rtnu-nav-support-action { 4172 color: var(--rtnu-nav-accent-light); 4173 font-size: 17px; 4174 font-weight: 600; 4175 letter-spacing: 0.13px; 4176 line-height: 1; 4177 margin-top: 5px; 4178 text-decoration-thickness: 1px; 4179 text-underline-offset: 2px; 4180 } 4181 4182 .rtnu-nav-support-card--mobile .rtnu-nav-support-action { 4183 margin-top: 12px; 4184 text-decoration-thickness: 1px; 4185 text-underline-offset: 2px; 4186 } 4187 4188 .rtnu-nav-mobile__support-team-btn { 4189 align-self: center; 4190 background: none; 4191 border: 0; 4192 cursor: pointer; 4193 flex: 0 0 166.667px; 4194 margin-left: 0; 4195 margin-right: -8px; 4196 padding: 0; 4197 } 4198 4199 .rtnu-nav-mobile__support-team { 4200 display: block; 4201 height: 80px; 4202 max-width: none; 4203 object-fit: cover; 4204 width: 100%; 4205 } 4206 4207 .rtnu-nav-mobile__sticky-cta { 4208 background: var(--rtnu-nav-dark-brown); 4209 border: 1px solid var(--rtnu-nav-dark-brown-border); 4210 border-bottom: 0; 4211 border-top-left-radius: 16px; 4212 border-top-right-radius: 16px; 4213 box-shadow: 0 -4px 20px 0 #463425; 4214 left: 0; 4215 padding: 12px 20px calc(14px + env(safe-area-inset-bottom, 0px)); 4216 position: absolute; 4217 right: 0; 4218 top: auto; 4219 bottom: 0; 4220 z-index: 3; 4221 } 4222 4223 .rtnu-nav-btn--mobile { 4224 border-radius: 8px; 4225 font-size: 16px; 4226 letter-spacing: 1px; 4227 line-height: 0.9; 4228 justify-content: center; 4229 margin-top: 0; 4230 min-height: 48px; 4231 width: 100%; 4232 } 4233 4234 .rtnu-nav-mobile__trust-row { 4235 align-items: center; 4236 color: var(--rtnu-nav-cream); 4237 display: flex; 4238 font-size: 13px; 4239 font-weight: 600; 4240 gap: 12px; 4241 justify-content: center; 4242 margin-top: 8px; 4243 opacity: 1; 4244 } 4245 4246 .rtnu-nav-mobile__trust-item { 4247 align-items: center; 4248 display: inline-flex; 4249 gap: 4px; 4250 line-height: 1; 4251 white-space: nowrap; 4252 } 4253 4254 .rtnu-nav-mobile__trust-item svg { 4255 color: var(--rtnu-nav-accent); 4256 flex-shrink: 0; 4257 } 4258 4259 .rtnu-nav-mobile__icons .rtnu-nav-icon-link { 4260 color: var(--rtnu-nav-icon-color); 4261 } 4262 4263 .rtnu-nav-mobile__icons .rtnu-nav-icon-link svg path { 4264 fill: currentColor; 4265 } 4266 4267 body.rtnu-nav-mobile-open .personalized-support-btn { 4268 display: none !important; 4269 } 4270 4271 body.rtnu-nav-mobile-open .rtnu-nav-header, 4272 body.rtnu-nav-mobile-open .rtnu-nav-mobile__panel { 4273 z-index: 2147483646; 4274 } 4275 4276 body.rtnu-nav-mobile-open .fancybox-container { 4277 z-index: 2147483647 !important; 4278 } 4279 4280 body.rtnu-nav-mobile-open #ps__widget_container { 4281 display: none !important; 4282 opacity: 0 !important; 4283 pointer-events: none !important; 4284 visibility: hidden !important; 4285 } 4286 } 4287 4288 @media (prefers-reduced-motion: reduce) { 4289 .rtnu-nav-header { 4290 transition: none; 4291 } 4292 } 4293 4294 /* Revert mobile nav bar to default brown when menu is open */ 4295 .rtnu-nav-mobile-open .rtnu-nav-header .rtnu-nav-mobile { 4296 background: var(--rtnu-nav-bg-active); 4297 } 4298</style> 4299
4300<script> 4301 (() => { 4302 const root = document.querySelector('.rtnu-nav-header'); 4303 if (!root) return; 4304 4305 const canHover = window.matchMedia('(hover: hover) and (pointer: fine)'); 4306 const hideOnScroll = root.dataset.hideOnScroll !== '0'; 4307 const isBlogVariant = root.dataset.navVariant === 'blog'; 4308 const adminBar = document.getElementById('wpadminbar'); 4309 const topbarSelectors = ['.rtnu-topbar', '.wayfx-topbar', '.hp-top-bar', '.ab30stack__topbar']; 4310 const HIDE_SCROLL_DISTANCE = 18; 4311 const SHOW_SCROLL_DISTANCE = 10; 4312 const MIN_SCROLL_DELTA = 1; 4313 const BLOG_SUBNAV_ANIMATION_MS = 500; 4314 4315 let lastScrollY = window.scrollY || window.pageYOffset || 0; 4316 let isHeaderVisible = true; 4317 let isDesktopMenuOpen = false; 4318 let isMobileMenuOpen = false; 4319 let rafPending = false; 4320 let downScrollDistance = 0; 4321 let upScrollDistance = 0; 4322 let blogSubnavVisibility = true; 4323 let blogSubnavAnimationTimer = null; 4324 let blogSubnav = null; 4325 4326 const getBlogSubnav = () => { 4327 if (blogSubnav && document.body.contains(blogSubnav)) return blogSubnav; 4328 blogSubnav = document.querySelector('.wayfx-header__subnav'); 4329 return blogSubnav; 4330 }; 4331 4332 const getAdminOffset = () => { 4333 if (!adminBar) return 0; 4334 const styles = window.getComputedStyle(adminBar); 4335 if (styles.display === 'none' || styles.visibility === 'hidden') return 0; 4336 return Math.max(0, adminBar.getBoundingClientRect().height || 0); 4337 }; 4338 4339 const getVisibleTopbarHeight = () => { 4340 let visibleHeight = 0; 4341 4342 topbarSelectors.forEach((selector) => { 4343 const element = document.querySelector(selector); 4344 if (!element || element === root) return; 4345 4346 const styles = window.getComputedStyle(element); 4347 if (styles.display === 'none' || styles.visibility === 'hidden') return; 4348 4349 const rect = element.getBoundingClientRect(); 4350 visibleHeight += Math.max(0, Math.min(rect.height, rect.bottom)); 4351 }); 4352 4353 return visibleHeight; 4354 }; 4355 4356 const getDesktopHeight = () => root.querySelector('.rtnu-nav-desktop')?.offsetHeight || 76; 4357 const getMobileHeight = () => root.querySelector('.rtnu-nav-mobile')?.offsetHeight || 68; 4358 const getCurrentNavHeight = () => (window.innerWidth <= 1024 ? getMobileHeight() : getDesktopHeight()); 4359 4360 const normalizeText = (value) => (value || '').replace(/\s+/g, ' ').trim(); 4361 4362 const getLinkText = (link) => { 4363 const dataLabel = normalizeText(link.getAttribute('data-nav-label')); 4364 if (dataLabel) return dataLabel; 4365 4366 if (link.classList.contains('rtnu-nav-logo')) { 4367 return 'Heart & Soil'; 4368 } 4369 4370 if (link.classList.contains('rtnu-nav-icon-link')) { 4371 const iconAriaLabel = normalizeText(link.getAttribute('aria-label')); 4372 if (/account/i.test(iconAriaLabel)) return 'Account'; 4373 if (/cart/i.test(iconAriaLabel)) return 'Cart'; 4374 } 4375 4376 const preferredLabelSelectors = ['.rtnu-nav-link-label', '.rtnu-nav-category-label', '.text h2', 'h2']; 4377 for (const selector of preferredLabelSelectors) { 4378 const labelElement = link.querySelector(selector); 4379 const labelText = normalizeText(labelElement?.textContent); 4380 if (labelText) return labelText; 4381 } 4382 4383 const ownText = normalizeText( 4384 Array.from(link.childNodes) 4385 .filter((node) => node.nodeType === Node.TEXT_NODE) 4386 .map((node) => node.textContent || '') 4387 .join(' ') 4388 ); 4389 if (ownText) return ownText; 4390 4391 const textContent = normalizeText(link.textContent); 4392 if (textContent) return textContent; 4393 4394 const ariaLabel = normalizeText(link.getAttribute('aria-label')).replace(/\s*-\s*go home$/i, ''); 4395 if (ariaLabel) return ariaLabel; 4396 4397 const title = normalizeText(link.getAttribute('title')); 4398 if (title) return title; 4399 4400 return 'unlabeled_link'; 4401 }; 4402 4403 const emitNavClick = (payload) => { 4404 if (!Array.isArray(window.dataLayer)) { 4405 window.dataLayer = []; 4406 } 4407 4408 window.dataLayer.push({ event: 'nav_click', ...payload }); 4409 }; 4410 4411 root.addEventListener('click', (event) => { 4412 if (!(event.target instanceof Element)) return; 4413 4414 const link = event.target.closest('a[href]'); 4415 if (!link || !root.contains(link)) return; 4416 4417 const payload = { 4418 menu_section: link.closest('[data-menu-section]')?.dataset.menuSection || 'primary', 4419 link_text: getLinkText(link), 4420 link_url: link.getAttribute('href') || link.href, 4421 source_platform: 'wordpress', 4422 }; 4423 4424 emitNavClick(payload); 4425 }); 4426 4427 const setHeaderVisible = (visible) => { 4428 isHeaderVisible = visible; 4429 root.classList.toggle('rtnu-nav--scrolling-down', !visible); 4430 root.classList.toggle('rtnu-nav--scrolling-up', visible); 4431 }; 4432 4433 const syncMenuOpenClass = () => { 4434 root.classList.toggle('rtnu-nav--menu-open', isDesktopMenuOpen || isMobileMenuOpen); 4435 }; 4436 4437 const updateOffsets = () => { 4438 const adminOffset = getAdminOffset(); 4439 const topbarVisible = getVisibleTopbarHeight(); 4440 const totalOffset = Math.max(0, Math.round(adminOffset + topbarVisible)); 4441 4442 document.documentElement.style.setProperty('--rtnu-nav-offset', `${totalOffset}px`); 4443 document.documentElement.style.setProperty('--topbar-height', `${totalOffset}px`); 4444 document.documentElement.style.setProperty('--rtnu-nav-header-height', `${getDesktopHeight()}px`); 4445 document.documentElement.style.setProperty('--rtnu-nav-header-mobile-height', `${getMobileHeight()}px`); 4446 4447 const activeBlogSubnav = getBlogSubnav(); 4448 if (isBlogVariant || activeBlogSubnav) { 4449 const subnavTop = totalOffset + (isHeaderVisible ? getCurrentNavHeight() : 0); 4450 if (activeBlogSubnav) { 4451 const shouldAnimate = 4452 blogSubnavVisibility !== null && 4453 blogSubnavVisibility !== isHeaderVisible; 4454 4455 if (shouldAnimate) { 4456 activeBlogSubnav.classList.add('rtnu-blog-subnav-animating'); 4457 if (blogSubnavAnimationTimer) { 4458 window.clearTimeout(blogSubnavAnimationTimer); 4459 } 4460 blogSubnavAnimationTimer = window.setTimeout(() => { 4461 activeBlogSubnav.classList.remove('rtnu-blog-subnav-animating'); 4462 blogSubnavAnimationTimer = null; 4463 }, BLOG_SUBNAV_ANIMATION_MS); 4464 } 4465 4466 activeBlogSubnav.style.setProperty('top', `${Math.max(0, Math.round(subnavTop))}px`); 4467 blogSubnavVisibility = isHeaderVisible; 4468 } 4469 } 4470 }; 4471 4472 const applyScrollState = () => { 4473 const currentScrollY = window.scrollY || window.pageYOffset || 0; 4474 const delta = currentScrollY - lastScrollY; 4475 const absDelta = Math.abs(delta); 4476 const isAtTop = currentScrollY <= 2; 4477 const topbarVisible = getVisibleTopbarHeight(); 4478 4479 root.classList.toggle('rtnu-nav--active-scroll', !isAtTop || topbarVisible < 1); 4480 4481 if (isAtTop) { 4482 downScrollDistance = 0; 4483 upScrollDistance = 0; 4484 } 4485 4486 if (!hideOnScroll || isDesktopMenuOpen || isMobileMenuOpen || isAtTop) { 4487 downScrollDistance = 0; 4488 upScrollDistance = 0; 4489 setHeaderVisible(true); 4490 } else if (absDelta >= MIN_SCROLL_DELTA) { 4491 if (delta > 0) { 4492 downScrollDistance += delta; 4493 upScrollDistance = 0; 4494 4495 if (downScrollDistance >= HIDE_SCROLL_DISTANCE) { 4496 setHeaderVisible(false); 4497 } 4498 } else { 4499 upScrollDistance += Math.abs(delta); 4500 downScrollDistance = 0; 4501 4502 if (upScrollDistance >= SHOW_SCROLL_DISTANCE) { 4503 setHeaderVisible(true); 4504 } 4505 } 4506 } 4507 4508 updateOffsets(); 4509 lastScrollY = currentScrollY; 4510 }; 4511 4512 const requestSync = () => { 4513 if (rafPending) return; 4514 rafPending = true; 4515 4516 window.requestAnimationFrame(() => { 4517 rafPending = false;
4518 applyScrollState(); 4519 }); 4520 }; 4521 4522 { 4523 const desktop = root.querySelector('.rtnu-nav-desktop'); 4524 const triggers = Array.from(root.querySelectorAll('.rtnu-nav-menu__trigger[aria-controls]')); 4525 const panels = Array.from(root.querySelectorAll('.rtnu-nav-panel[id]')); 4526 const panelById = new Map(panels.map((panel) => [panel.id, panel])); 4527 const dropdownItems = Array.from(root.querySelectorAll('.rtnu-nav-menu__has-dropdown')); 4528 const focusableSelector = 'a[href],button:not([disabled]),[tabindex]:not([tabindex="-1"])'; 4529 4530 let activePanelId = null; 4531 let closeTimer = null; 4532 let safetyCleanup = null; 4533 4534 const isElementVisible = (element) => { 4535 if (!element || element.closest('[hidden]')) return false; 4536 const styles = window.getComputedStyle(element); 4537 return styles.display !== 'none' && styles.visibility !== 'hidden'; 4538 }; 4539 4540 const getFocusableElements = (container) => { 4541 if (!container) return []; 4542 return Array.from(container.querySelectorAll(focusableSelector)).filter((element) => { 4543 if (!(element instanceof HTMLElement)) return false; 4544 if (element.tabIndex < 0) return false; 4545 return isElementVisible(element); 4546 }); 4547 }; 4548 4549 const getTriggerByPanelId = (panelId) => 4550 triggers.find((trigger) => trigger.getAttribute('aria-controls') === panelId) || null; 4551 4552 const clearCloseTimer = () => { 4553 if (closeTimer) { 4554 window.clearTimeout(closeTimer); 4555 closeTimer = null; 4556 } 4557 }; 4558 4559 const isPointInTriangle = (px, py, ax, ay, bx, by, cx, cy) => { 4560 const d1 = (px - bx) * (ay - by) - (ax - bx) * (py - by); 4561 const d2 = (px - cx) * (by - cy) - (bx - cx) * (py - cy); 4562 const d3 = (px - ax) * (cy - ay) - (cx - ax) * (py - ay); 4563 const hasNeg = d1 < 0 || d2 < 0 || d3 < 0; 4564 const hasPos = d1 > 0 || d2 > 0 || d3 > 0; 4565 return !(hasNeg && hasPos); 4566 }; 4567 4568 const cleanupSafetyZone = () => { 4569 if (safetyCleanup) { 4570 safetyCleanup(); 4571 safetyCleanup = null; 4572 } 4573 }; 4574 4575 const startSafetyTracking = (exitEvent) => { 4576 cleanupSafetyZone(); 4577 4578 if (!activePanelId) { 4579 scheduleDesktopClose(); 4580 return; 4581 } 4582 4583 const panel = panelById.get(activePanelId); 4584 if (!panel) { 4585 scheduleDesktopClose(); 4586 return; 4587 } 4588 4589 const exitX = exitEvent.clientX; 4590 const exitY = exitEvent.clientY; 4591 const rect = panel.getBoundingClientRect(); 4592 4593 const onMove = (event) => { 4594 const mx = event.clientX; 4595 const my = event.clientY; 4596 4597 if (my < exitY) { 4598 cleanup(); 4599 scheduleDesktopClose(); 4600 return; 4601 } 4602 4603 if (!isPointInTriangle(mx, my, exitX, exitY, rect.left, rect.top, rect.right, rect.top)) { 4604 cleanup(); 4605 scheduleDesktopClose(); 4606 } 4607 }; 4608 4609 const fallbackTimer = window.setTimeout(() => { 4610 cleanup(); 4611 scheduleDesktopClose(); 4612 }, 700); 4613 4614 const cleanup = () => { 4615 document.removeEventListener('pointermove', onMove); 4616 window.clearTimeout(fallbackTimer); 4617 safetyCleanup = null; 4618 }; 4619 4620 document.addEventListener('pointermove', onMove); 4621 safetyCleanup = cleanup; 4622 }; 4623 4624 const setDesktopOpenState = (isOpen) => { 4625 isDesktopMenuOpen = isOpen; 4626 if (desktop) { 4627 desktop.classList.toggle('is-menu-open', isOpen); 4628 } 4629 syncMenuOpenClass(); 4630 if (isOpen) { 4631 setHeaderVisible(true); 4632 } 4633 requestSync(); 4634 }; 4635 4636 const closeDesktopMenus = () => { 4637 clearCloseTimer(); 4638 cleanupSafetyZone(); 4639 4640 panels.forEach((panel) => { 4641 panel.hidden = true; 4642 }); 4643 4644 triggers.forEach((trigger) => { 4645 trigger.setAttribute('aria-expanded', 'false'); 4646 }); 4647 4648 activePanelId = null; 4649 setDesktopOpenState(false); 4650 }; 4651 4652 const openDesktopMenu = (panelId) => { 4653 if (!panelById.has(panelId)) return; 4654 clearCloseTimer(); 4655 cleanupSafetyZone(); 4656 activePanelId = panelId; 4657
4658 panels.forEach((panel) => { 4659 panel.hidden = panel.id !== panelId; 4660 }); 4661 4662 triggers.forEach((trigger) => { 4663 trigger.setAttribute('aria-expanded', trigger.getAttribute('aria-controls') === panelId ? 'true' : 'false'); 4664 }); 4665 4666 setDesktopOpenState(true); 4667 }; 4668 4669 const toggleDesktopMenu = (panelId) => { 4670 if (!panelId) return; 4671 if (panelId === activePanelId) { 4672 closeDesktopMenus(); 4673 return; 4674 } 4675 openDesktopMenu(panelId); 4676 }; 4677 4678 const scheduleDesktopClose = () => { 4679 if (!canHover.matches) return; 4680 clearCloseTimer(); 4681 closeTimer = window.setTimeout(() => { 4682 closeDesktopMenus(); 4683 }, 150); 4684 }; 4685 4686 triggers.forEach((trigger) => { 4687 trigger.addEventListener('click', () => { 4688 toggleDesktopMenu(trigger.getAttribute('aria-controls')); 4689 }); 4690 4691 trigger.addEventListener('keydown', (event) => { 4692 if (event.key === 'Enter' || event.key === ' ') { 4693 event.preventDefault(); 4694 toggleDesktopMenu(trigger.getAttribute('aria-controls')); 4695 return; 4696 } 4697 4698 if (event.key === 'Tab' && !event.shiftKey) { 4699 const panelId = trigger.getAttribute('aria-controls'); 4700 if (!panelId || panelId !== activePanelId) return; 4701 4702 const panel = panelById.get(panelId); 4703 if (!panel || panel.hidden) return; 4704 4705 const panelFocusables = getFocusableElements(panel); 4706 if (!panelFocusables.length) return; 4707 4708 event.preventDefault(); 4709 panelFocusables[0].focus(); 4710 } 4711 }); 4712 }); 4713 4714 dropdownItems.forEach((item) => { 4715 const trigger = item.querySelector('.rtnu-nav-menu__trigger[aria-controls]'); 4716 const panelId = trigger ? trigger.getAttribute('aria-controls') : null; 4717 if (!panelId) return; 4718 4719 item.addEventListener('pointerenter', () => { 4720 if (!canHover.matches) return; 4721 openDesktopMenu(panelId); 4722 }); 4723 4724 item.addEventListener('pointerleave', (event) => { 4725 if (!canHover.matches) return; 4726 startSafetyTracking(event); 4727 }); 4728 }); 4729 4730 panels.forEach((panel) => { 4731 panel.addEventListener('pointerenter', () => { 4732 clearCloseTimer(); 4733 cleanupSafetyZone(); 4734 }); 4735 panel.addEventListener('pointerleave', () => { 4736 scheduleDesktopClose(); 4737 }); 4738 }); 4739 4740 if (desktop) { 4741 desktop.addEventListener('keydown', (event) => { 4742 if (event.key === 'Escape') { 4743 closeDesktopMenus(); 4744 return; 4745 } 4746 4747 if (event.key !== 'Tab' || !activePanelId) return; 4748 4749 const panel = panelById.get(activePanelId); 4750 if (!panel || panel.hidden) return; 4751 4752 const trigger = getTriggerByPanelId(activePanelId); 4753 if (!trigger) return; 4754 4755 const panelFocusables = getFocusableElements(panel); 4756 if (!panelFocusables.length) return; 4757 4758 const trapTargets = [trigger, ...panelFocusables]; 4759 const firstTarget = trapTargets[0]; 4760 const lastTarget = trapTargets[trapTargets.length - 1]; 4761 const activeElement = document.activeElement; 4762 4763 if (!trapTargets.includes(activeElement)) return; 4764 4765 if (!event.shiftKey && activeElement === lastTarget) { 4766 event.preventDefault(); 4767 firstTarget.focus(); 4768 return; 4769 } 4770 4771 if (event.shiftKey && activeElement === firstTarget) { 4772 event.preventDefault(); 4773 lastTarget.focus(); 4774 } 4775 }); 4776 } 4777 4778 document.addEventListener('click', (event) => { 4779 if (!desktop || !desktop.contains(event.target)) { 4780 closeDesktopMenus(); 4781 } 4782 }); 4783 4784 closeDesktopMenus(); 4785 4786 const mobileToggle = root.querySelector('.rtnu-nav-mobile__toggle'); 4787 const mobilePanel = root.querySelector('.rtnu-nav-mobile__panel'); 4788 const mobileSubpanels = Array.from(root.querySelectorAll('.rtnu-nav-mobile__subpanel[id]')); 4789 const mobileSubmenuTriggers = Array.from(root.querySelectorAll('.rtnu-nav-mobile__jump--submenu[aria-controls]')); 4790 const mobileBackButtons = Array.from(root.querySelectorAll('.rtnu-nav-mobile__back')); 4791 const mobileHealthPopular = root.querySelector('[data-rtnu-mobile-health-popular]'); 4792 const mobileHealthAll = root.querySelector('[data-rtnu-mobile-health-all]'); 4793 const mobileLearnCards = root.querySelector('[data-rtnu-mobile-learn-cards]'); 4794 const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)'); 4795 const mobileSubpanelTransitionMs = 500; 4796 let activeMobileSubpanel = null; 4797 let mobileSubpanelTimer = null; 4798 4799 const syncMobileSubmenuOpenState = () => { 4800 if (!mobilePanel) return; 4801 mobilePanel.classList.toggle('is-subpanel-open', Boolean(activeMobileSubpanel)); 4802 }; 4803 4804 const clearMobileSubpanelTimer = () => { 4805 if (mobileSubpanelTimer) { 4806 window.clearTimeout(mobileSubpanelTimer); 4807 mobileSubpanelTimer = null; 4808 } 4809 }; 4810 4811 const hideMobileSubpanel = (panel, { immediate = false } = {}) => { 4812 if (!panel) return; 4813 clearMobileSubpanelTimer(); 4814 4815 if (immediate || prefersReducedMotion.matches) { 4816 panel.classList.remove('is-active'); 4817 panel.hidden = true; 4818 if (activeMobileSubpanel === panel) { 4819 activeMobileSubpanel = null; 4820 syncMobileSubmenuOpenState(); 4821 } 4822 return; 4823 } 4824 4825 const wasActivePanel = activeMobileSubpanel === panel; 4826 panel.classList.remove('is-active'); 4827 if (wasActivePanel) { 4828 activeMobileSubpanel = null; 4829 syncMobileSubmenuOpenState(); 4830 } 4831 4832 mobileSubpanelTimer = window.setTimeout(() => { 4833 panel.hidden = true; 4834 mobileSubpanelTimer = null; 4835 }, mobileSubpanelTransitionMs); 4836 }; 4837 4838 const showMobileSubpanel = (panel) => { 4839 if (!panel) return; 4840 clearMobileSubpanelTimer(); 4841 panel.hidden = false;
4842 4843 if (prefersReducedMotion.matches) { 4844 panel.classList.add('is-active'); 4845 activeMobileSubpanel = panel; 4846 syncMobileSubmenuOpenState(); 4847 return; 4848 } 4849 4850 panel.classList.remove('is-active'); 4851 window.requestAnimationFrame(() => { 4852 window.requestAnimationFrame(() => { 4853 panel.classList.add('is-active'); 4854 }); 4855 }); 4856 activeMobileSubpanel = panel; 4857 syncMobileSubmenuOpenState(); 4858 }; 4859 4860 const hydrateMobileSubmenuContent = () => { 4861 const renderLinkList = (target, links) => { 4862 if (!target) return; 4863 target.innerHTML = ''; 4864 links.forEach((link) => { 4865 const item = document.createElement('li'); 4866 item.appendChild(link.cloneNode(true)); 4867 target.appendChild(item); 4868 }); 4869 }; 4870 4871 if (mobileHealthPopular || mobileHealthAll) { 4872 const healthGrid = root.querySelector( 4873 '[id^="rtnu-nav-panel-health-goals-"] .rtnu-header__dropdown-health .rtnu-grid' 4874 ); 4875 if (healthGrid) { 4876 const firstColumn = healthGrid.querySelector('.rtnu-grid__item ul'); 4877 const popularLinks = firstColumn ? Array.from(firstColumn.querySelectorAll('li > a')).slice(0, 5) : []; 4878 const popularHrefs = new Set(popularLinks.map((link) => link.getAttribute('href')).filter(Boolean)); 4879 4880 const allHealthLinks = Array.from(healthGrid.querySelectorAll('.rtnu-grid__item ul li > a')); 4881 const allUseLinks = allHealthLinks 4882 .filter((link) => !popularHrefs.has(link.getAttribute('href'))) 4883 .sort((a, b) => a.textContent.trim().localeCompare(b.textContent.trim())); 4884 4885 renderLinkList(mobileHealthPopular, popularLinks); 4886 renderLinkList(mobileHealthAll, allUseLinks); 4887 } 4888 } 4889 4890 if (mobileLearnCards) { 4891 const learnGrid = root.querySelector('[id^="rtnu-nav-panel-learn-"] .rtnu-header__dropdown-learn .rtnu-grid'); 4892 if (learnGrid) { 4893 const learnLinks = Array.from(learnGrid.querySelectorAll('a.rtnu-grid__item')); 4894 mobileLearnCards.innerHTML = ''; 4895 learnLinks.forEach((link) => { 4896 mobileLearnCards.appendChild(link.cloneNode(true)); 4897 }); 4898 } 4899 } 4900 }; 4901 4902 const closeMobileSubmenus = ({ immediate = false } = {}) => { 4903 const exitingPanel = activeMobileSubpanel; 4904 4905 mobileSubpanels.forEach((panel) => { 4906 if (panel === exitingPanel) return; 4907 panel.classList.remove('is-active'); 4908 panel.hidden = true; 4909 }); 4910 4911 if (exitingPanel) { 4912 hideMobileSubpanel(exitingPanel, { immediate }); 4913 } 4914 4915 mobileSubmenuTriggers.forEach((trigger) => { 4916 trigger.setAttribute('aria-expanded', 'false'); 4917 }); 4918 4919 if (!exitingPanel) { 4920 syncMobileSubmenuOpenState(); 4921 } 4922 }; 4923 4924 const openMobileSubmenu = (submenuId) => { 4925 if (!submenuId) return; 4926 const targetPanel = root.querySelector(`[id="${submenuId}"]`); 4927 if (!targetPanel) return; 4928 if (activeMobileSubpanel === targetPanel && targetPanel.classList.contains('is-active')) return; 4929 4930 if (activeMobileSubpanel && activeMobileSubpanel !== targetPanel) { 4931 hideMobileSubpanel(activeMobileSubpanel, { immediate: true }); 4932 } 4933 showMobileSubpanel(targetPanel); 4934 4935 mobileSubmenuTriggers.forEach((trigger) => { 4936 trigger.setAttribute('aria-expanded', trigger.getAttribute('aria-controls') === submenuId ? 'true' : 'false'); 4937 }); 4938 }; 4939 4940 const closeMobilePanel = () => { 4941 if (!mobileToggle || !mobilePanel) return; 4942 mobileToggle.setAttribute('aria-expanded', 'false'); 4943 mobileToggle.setAttribute('aria-label', 'Open mobile menu'); 4944 mobilePanel.hidden = true; 4945 closeMobileSubmenus({ immediate: true }); 4946 document.body.style.overflow = ''; 4947 document.body.classList.remove('rtnu-nav-mobile-open'); 4948 isMobileMenuOpen = false;
4949 syncMenuOpenClass(); 4950 requestSync(); 4951 }; 4952 4953 if (mobileToggle && mobilePanel) { 4954 hydrateMobileSubmenuContent(); 4955 closeMobileSubmenus({ immediate: true }); 4956 4957 mobileToggle.addEventListener('click', () => { 4958 const isOpen = mobileToggle.getAttribute('aria-expanded') === 'true'; 4959 if (isOpen) { 4960 closeMobilePanel(); 4961 return; 4962 } 4963 4964 mobileToggle.setAttribute('aria-expanded', 'true'); 4965 mobileToggle.setAttribute('aria-label', 'Close mobile menu'); 4966 mobilePanel.hidden = false; 4967 closeMobileSubmenus(); 4968 document.body.style.overflow = 'hidden'; 4969 document.body.classList.add('rtnu-nav-mobile-open'); 4970 isMobileMenuOpen = true; 4971 syncMenuOpenClass(); 4972 setHeaderVisible(true); 4973 requestSync(); 4974 }); 4975 4976 mobileSubmenuTriggers.forEach((trigger) => { 4977 trigger.addEventListener('click', () => { 4978 openMobileSubmenu(trigger.getAttribute('aria-controls')); 4979 }); 4980 }); 4981 4982 mobileBackButtons.forEach((button) => { 4983 button.addEventListener('click', () => { 4984 closeMobileSubmenus(); 4985 }); 4986 }); 4987 4988 document.addEventListener('keydown', (event) => { 4989 if (event.key === 'Escape') { 4990 closeDesktopMenus(); 4991 closeMobilePanel(); 4992 } 4993 }); 4994 4995 window.addEventListener('resize', () => { 4996 if (window.innerWidth >= 1025) { 4997 closeMobilePanel(); 4998 } 4999 requestSync(); 5000 }); 5001 } 5002 } 5003 5004 setHeaderVisible(true); 5005 syncMenuOpenClass(); 5006 applyScrollState(); 5007 5008 window.addEventListener('load', requestSync); 5009 window.addEventListener('resize', requestSync); 5010 window.addEventListener('orientationchange', requestSync, { passive: true }); 5011 window.addEventListener('scroll', requestSync, { passive: true }); 5012 })(); 5013</script>
5013 5014 5015<main id="primary" class="wayfx-store-locator"> 5016 <section class="wayfx-store-locator__hero"> 5017 <div class="wayfx-wrapper"> 5018 <div class="wayfx-store-locator__hero-content"> 5019 <h1>Now Available at</h1> 5020 <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"> 5021 </div> 5022 <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"> 5023 <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"> 5024 </div> 5025 </section> 5026 <section class="wayfx-store-locator__info"> 5027 <div class="wayfx-wrapper"> 5028 <p>Heart & Soil is now available on the shelves of your local Sprouts Farmers Market!</p> 5029 </div> 5030 </section> 5031 <section class="wayfx-store-locator__map"> 5032 <div class="wayfx-wrapper"> 5033 <div class="wayfx-store-locator__map-info"> 5034 <div class="wayfx-store-locator__map-info-item"> 5035 <img src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/
5035hs-icon-cart.png" alt="" aria-hidden="true" width="55" height="47" loading="lazy"> 5036 <p>Buy Online <br>or Shop In Store</p> 5037 </div> 5038 <div class="wayfx-store-locator__map-info-divider"></div> 5039 <div class="wayfx-store-locator__map-info-item"> 5040 <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"> 5041 <p>Enjoy Your <br>Sprouts Rewards</p> 5042 </div> 5043 </div> 5044 5045 <div class="wayfx-store-locator__map-viewer"> 5046 <h2>Find Your Store</h2> 5047
5047<script src="//cdn.storelocators.com/locator/js/locator-stable.js" defer></script>
5047 5048 <link rel="stylesheet" href="//cdn.storelocators.com/locator/css/locator-stable.css"> 5049 5050
5050<script> 5051 window.storeLocatorsConfig = window.storeLocatorsConfig || {}; 5052 window.storeLocatorsConfig = { 5053 ...window.storeLocatorsConfig, 5054 customerId: '99860ea4-3561-4e99-a0d7-642811542d19', 5055 style: { 5056 // Uncomment and modify the following lines to customize the appearance of the store locator 5057 color: "#271F19", 5058 borderRadius: "4px", 5059 border: "1px", 5060 borderColor: "#271F19", 5061 textColor: "#271F19", 5062 textColorSecondary: "#aaa", 5063 contrastColor: "#FCF2E5", 5064 maxDesktopHeight: "690px", 5065 } 5066 } 5067 </script>
5067 5068 5069 <div id="storelocators_root"></div> 5070 </div> 5071 </div> 5072 </section> 5073 5074 5075<style> 5076 /* Embla variables and layout for shop online */ 5077 .wayfx-shop-online { 5078 background: var(--wayfx-dark-brown); 5079 color: var(--wayfx-cream); 5080 position: relative; 5081 --slide-spacing: 24px; 5082 --slide-size: clamp(20.563rem, 14.563rem + 12.5vw, 23.938rem); 5083 padding: clamp(3.5rem, 0.833rem + 5.556vw, 5rem) 0 clamp(3rem, 0.333rem + 5.556vw, 4.5rem); 5084 overflow: hidden; 5085 } 5086 5087 .wayfx-shop-online h2{ 5088 font-size: clamp(3rem,.556rem + 5.093vw,4.375rem); 5089 line-height: .8; 5090 letter-spacing: -6px; 5091 color: var(--wayfx-cream); 5092 margin-bottom: 78px; 5093 text-align: center; 5094 } 5095 5096 .wayfx-shop-online .rtnu-shop-online-embla { 5097 position: relative; 5098 max-width: 1240px; 5099 margin-inline: auto; 5100 padding-inline: 16px; 5101 } 5102 5103 .wayfx-shop-online .rtnu-shop-online-embla .embla__viewport { 5104 overflow: visible; 5105 } 5106 5107 .wayfx-shop-online .rtnu-shop-online-embla .embla__container { 5108 display: flex; 5109 gap: var(--slide-spacing); 5110 } 5111 5112 .wayfx-shop-online .rtnu-shop-online-embla .embla__slide { 5113 flex: 0 0 var(--slide-size); 5114 min-width: 0; 5115 } 5116 5117 /* Pagination dots - shown only when scrolling needed via JS */ 5118 .wayfx-shop-online .rtnu-shop-online-embla .embla__dots { 5119 display: flex; 5120 justify-content: center; 5121 gap: 12px; 5122 margin-top: clamp(1.5rem, 0.5rem + 2.083vw, 2.5rem); 5123 } 5124 5125 .wayfx-shop-online .rtnu-shop-online-embla .embla__dot { 5126 width: 12px; 5127 height: 12px; 5128 border-radius: 100vmax; 5129 background: var(--wayfx-cream); 5130 opacity: 1; 5131 border: none; 5132 cursor: pointer; 5133 transition: all 0.3s ease; 5134 margin: 0; 5135 padding: 0; 5136 } 5137 5138 .wayfx-shop-online .rtnu-shop-online-embla .embla__dot.is-selected { 5139 background: var(--wayfx-primary); 5140 } 5141 5142 .wayfx-shop-online .rtnu-shop-online-embla .embla__dot:hover { 5143 transform: scale(1.1); 5144 } 5145 5146 /* Shop Online Item Styles */ 5147 .rtnu-shop-online-item { 5148 width: 100%; 5149 height: 100%; 5150 border-radius: 12px; 5151 background: #3c2c20; 5152 display: flex; 5153 flex-direction: column; 5154 align-items: center; 5155 text-align: center; 5156 padding: 166px clamp(1.25rem, 0.583rem + 1.389vw, 1.625rem) 5157 clamp(2rem, 0.222rem + 3.704vw, 3rem); 5158 position: relative; 5159 } 5160 5161 .rtnu-shop-online-item a { 5162 display: block; 5163 color: inherit; 5164 } 5165 5166 .rtnu-shop-online-item .rtnu-shop-online-item-image { 5167 position: absolute; 5168 top: -68px; 5169 } 5170 5171 .rtnu-shop-online-item h3 { 5172 font-size: clamp(1.25rem, 0.806rem + 0.926vw, 1.5rem); 5173 line-height: 1; 5174 font-family: var(--wayfx-body-font); 5175 color: var(--wayfx-cream); 5176 font-weight: 700; 5177 margin-bottom: 16px; 5178 } 5179 5180 .rtnu-shop-online-item p { 5181 font-size: clamp(1.063rem, 0.729rem + 0.694vw, 1.25rem); 5182 line-height: 1.4; 5183 } 5184 5185 .rtnu-shop-online-item .wayfx-btn { 5186 max-width: 210px; 5187 width: 100%; 5188 background: var(--wayfx-cream); 5189 color: #3c2c20; 5190 font-size: clamp(1.25rem, 1.028rem + 0.463vw, 1.375rem); 5191 padding-inline: 16px; 5192 display: inline-flex; 5193 margin-top: 30px; 5194 } 5195 5196 .rtnu-shop-online-item .wayfx-btn:hover { 5197 background: var(--wayfx-primary); 5198 color: var(--wayfx-cream); 5199 } 5200 5201 @media (max-width: 768px) { 5202 .wayfx-shop-online .rtnu-shop-online-embla .embla__container{ 5203 gap: 12px; 5204 } 5205 5206 .wayfx-shop-online h2{ 5207 margin-bottom: 155px; 5208 } 5209 5210 .rtnu-shop-online-item { 5211 padding-top: 51px; 5212 } 5213 5214 .rtnu-shop-online-item .rtnu-shop-online-item-image { 5215 top: -138px; 5216 } 5217 5218 .rtnu-shop-online-item .rtnu-shop-online-item-image img { 5219 width: 140px; 5220 height: auto; 5221 object-fit: contain; 5222 } 5223 } 5224</style> 5225
5226<script> 5227/** 5228 * Initialize Embla Carousel for Shop Online 5229 * Extracted from product-recommendations.js #initializeEmblaCarousel method 5230 */ 5231document.addEventListener('DOMContentLoaded', function() { 5232 const initializeEmblaCarousel = () => { 5233 // Find the carousel element - adapting from original that looked for sectionId 5234 const carouselNode = document.querySelector('.wayfx-shop-online .rtnu-shop-online-embla'); 5235 5236 if (!carouselNode) return; 5237 5238 // Wait for Embla to be available if it's not loaded yet 5239 if (typeof EmblaCarousel === 'undefined') { 5240 // Retry after a short delay 5241 setTimeout(() => initializeEmblaCarousel(), 100); 5242 return; 5243 } 5244 5245 // Check if already initialized 5246 if (carouselNode._emblaInitialized) return; 5247 carouselNode._emblaInitialized = true; 5248 5249 const viewport = carouselNode.querySelector('.embla__viewport'); 5250 const dotsContainer = carouselNode.querySelector('.embla__dots'); 5251 5252 if (!viewport) return; 5253 5254 const options = { 5255 align: 'start', 5256 containScroll: 'trimSnaps', 5257 slidesToScroll: 1, 5258 }; 5259 5260 // Initialize Embla 5261 const embla = EmblaCarousel(viewport, options); 5262 5263 // Create pagination dots function 5264 const createDots = () => { 5265 if (!dotsContainer) return; 5266 5267 const scrollSnaps = embla.scrollSnapList(); 5268 const snapCount = scrollSnaps.length; 5269 dotsContainer.innerHTML = ''; 5270 5271 // Only show dots if there are multiple slides 5272 if (snapCount <= 1) { 5273 dotsContainer.style.display = 'none'; 5274 return; 5275 } 5276 5277 dotsContainer.style.display = 'flex'; 5278 5279 for (let i = 0; i < snapCount; i++) { 5280 const dot = document.createElement('button'); 5281 dot.className = 'embla__dot'; 5282 dot.type = 'button'; 5283 dot.setAttribute('aria-label', `Go to item ${i + 1}`); 5284 dot.addEventListener('click', () => embla.scrollTo(i)); 5285 dotsContainer.appendChild(dot); 5286 } 5287 }; 5288 5289 // Update dots function 5290 const updateDots = () => { 5291 if (!dotsContainer) return; 5292 5293 const dots = dotsContainer.querySelectorAll('.embla__dot'); 5294 const selectedIndex = embla.selectedScrollSnap(); 5295 5296 dots.forEach((dot, index) => { 5297 dot.classList.toggle('is-selected', index === selectedIndex); 5298 }); 5299 }; 5300 5301 // Event listeners 5302 embla.on('select', updateDots); 5303 embla.on('init', () => { 5304 createDots(); 5305 updateDots(); 5306 }); 5307 5308 // Handle resize with debounce 5309 let resizeTimer; 5310 const handleResize = () => { 5311 clearTimeout(resizeTimer); 5312 resizeTimer = setTimeout(() => { 5313 embla.reInit(); 5314 createDots(); 5315 updateDots(); 5316 }, 150); 5317 }; 5318 5319 window.addEventListener('resize', handleResize); 5320 5321 // Store cleanup function 5322 carouselNode._emblaCleanup = () => { 5323 window.removeEventListener('resize', handleResize); 5324 if (embla) embla.destroy(); 5325 }; 5326 5327 // Store embla API for potential external access 5328 carouselNode._emblaApi = embla; 5329 }; 5330 5331 // Initialize the carousel 5332 initializeEmblaCarousel(); 5333}); 5334</script>
5334 5335 5336<div class="wayfx-shop-online"> 5337 <h2>SHOP ONLINE</h2> 5338 <div class="embla rtnu-shop-online-embla" aria-label="Shop Online products carousel"> 5339 <div class="embla__viewport"> 5340 <div class="embla__container"> 5341 <div class="rtnu-shop-online-item embla__slide"> 5342 <a href="https://shop.heartandsoil.co/products/pure-american-liver" target="_blank" class="rtnu-shop-online-item-image"> 5343 <img 5344 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/HS-Shop-PAL.png" 5345 alt="Pure American Liver" 5346 width="174" 5347 height="246" 5348 loading="lazy" 5349 > 5350 </a> 5351 <h3> 5352 <a href="https://shop.heartandsoil.co/products/pure-american-liver" target="_blank">Pure American Liver</a> 5353 </h3> 5354 <p>Celebrated as nature's most nutrient-dense superfood, & embodying the spirit of America.</p> 5355 <a href="https://shop.heartandsoil.co/products/pure-american-liver" target="_blank" class="wayfx-btn">Shop Now</a> 5356 </div> 5357 <div class="rtnu-shop-online-item embla__slide"> 5358 <a href="https://shop.heartandsoil.co/products/warrior" target="_blank" class="rtnu-shop-online-item-image"> 5359 <img 5360 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/HS-Shop-WARRIOR.png" 5361 alt="WARRIOR" 5362 width="174" 5363 height="246" 5364 loading="lazy" 5365 > 5366 </a> 5367 <h3> 5368 <a href="https://shop.heartandsoil.co/products/warrior" target="_blank">WARRIOR</a> 5369 </h3> 5370 <p>Feed your inner warrior. Foundational support for strength, recovery, and exercise performance.</p> 5371 <a href="https://shop.heartandsoil.co/products/warrior" target="_blank" class="wayfx-btn">Shop Now</a> 5372 </div> 5373 <div class="rtnu-shop-online-item embla__slide"> 5374 <a href="https://shop.heartandsoil.co/products/lifeblood" target="_blank" class="rtnu-shop-online-item-image"> 5375 <img 5376 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/HS-Shop-LIFEBLOOD.png" 5377 alt="LIFEBLOOD" 5378 width="174" 5379 height="246" 5380 loading="lazy" 5381 > 5382 </a> 5383 <h3> 5384 <a href="https://shop.heartandsoil.co/products/lifeblood" target="_blank">LIFEBLOOD</a> 5385 </h3> 5386 <p>Improve your cardiovascular health. Support to improve iron stores, oxygen delivery, and endurance.</p> 5387 <a href="https://shop.heartandsoil.co/products/lifeblood" target="_blank" class="wayfx-btn">Shop Now</a> 5388 </div> 5389 <div class="rtnu-shop-online-item embla__slide"> 5390 <a href="https://shop.heartandsoil.co/products/whole-package" target="_blank" class="rtnu-shop-online-item-image"> 5391 <img 5392 src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/HS-Shop-Wholepackage.png" 5393 alt="Whole Package" 5394 width="174" 5395 height="246" 5396 loading="lazy" 5397 > 5398 </a> 5399 <h3> 5400 <a href="https://shop.heartandsoil.co/products/whole-package" target="_blank">Whole Package</a> 5401 </h3> 5402 <p>Reinforce your manhood. Supports exercise performance, hormone production, and sexual health.</p> 5403 <a href="https://shop.heartandsoil.co/products/whole-package" target="_blank" class="wayfx-btn">Shop Now</a> 5404 </div> 5405 </div> 5406 </div> 5407 5408 <div class="embla__dots"></div> 5409 </div> 5410</div> 5411 <section class="rtnu-newsletter-subscribe"> 5412 <div class="rtnu-wrapper"> 5413 <div class="wayfx-grid"> 5414 <div class="wayfx-grid__item"> 5415 <p class="lead">
5415Get weekly health insights delivered to your inbox so you can radically improve your health</p> 5416 <p>Join 155,000+ Subscribers</p> 5417 <div class="klaviyo-form-S7DCge"></div> 5418 <div class="klaviyo-form-U64gsN"></div> 5419 </div> 5420 5421 <div class="wayfx-grid__item"> 5422 <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"> 5423 </div> 5424 </div> 5425 </div> 5426 </section> 5427</main> 5428 5429 5430 5431<footer class="rtnu-footer"> 5432 <div class="rtnu-wrapper"> 5433 <div class="rtnu-grid"> 5434 <div class="rtnu-grid__item" role="navigation" aria-label="Social"> 5435 <div class="rtnu-footer__social"> 5436 <ul> 5437 <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> 5438 <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> 5439 <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
54391793.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> 5440 <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> 5441 <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> 5442 </ul> 5443 <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> 5444 </div> 5445 </div> 5446 <div class="rtnu-grid__item" role="navigation" aria-label="Shop"> 5447 <h2>Shop</h2> 5448 <ul> 5449 <li class="b2bshow" style="display: none;"><a href="https://shop.heartandsoil.co/collections/b2b-collection">Shop All</a></li> 5450 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products">Shop All</a></li> 5451 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?subscriptions=true">Subscribe & Save</a></li> 5452 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=best+sellers">
5452Shop Best Sellers</a></li> 5453 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=stacks">Shop by Health Goals</a></li> 5454 <li class="b2bhide"><a href="https://shop.heartandsoil.co/a/collections/products?filters=merch">Shop Merch</a></li> 5455 <li class="b2bhide"><a href="https://heartandsoil.co/store-locator/">Store Locator</a></li> 5456 <li class="b2bhide"><a href="https://heartandsoil.co/wholesale-partnership-application/">Wholesale Accounts</a></li> 5457 </ul> 5458 </div> 5459 <div class="rtnu-grid__item" role="navigation" aria-label="Learn"> 5460 <h2>Learn</h2> 5461 <ul> 5462 <li><a href="https://heartandsoil.co/our-story/">Our Story</a></li> 5463 <li><a href="https://heartandsoil.co/newsletter/">Newsletter</a></li> 5464 <li><a href="https://heartandsoil.co/blog/">Our Blog</a></li> 5465 <li><a href="https://heartandsoil.co/animalbased30/" target="_blank"><span class="sr-only">New Window</span>Animal-Based 30</a></li> 5466 <li><a href="https://radicalhealthradio.com/" target="_blank"><span class="sr-only">New Window</span>Radical Health Radio</a></li> 5467 <li><a href="https://heartandsoil.co/why-regenerative-agriculture/">Regenerative Farming</a></li> 5468 </ul> 5469 </div> 5470 <div class="rtnu-grid__item" role="navigation" aria-label="More"> 5471 <h2>More</h2> 5472 <ul> 5473 <li><a href="https://faq.heartandsoil.co/en-US">FAQ</a></li> 5474 <li><a href="https://heartandsoil.co/contact-us/">Send us a message</a></li> 5475 <li><a href="https://app.corso.com/heart-and-soil" target="_blank"><span class="sr-only">New Window</span>Start a Return</a></li> 5476 <li><a href="https://shop.heartandsoil.co/a/account/login">Account</a></li> 5477 <li><a href="https://heartandsoil.co/careers/">Careers</a></li> 5478 <li><a href="https://heartandsoil.superfiliate.com/portal/sign-up" target="_blank"><span class="sr-only">New Window</span>Influencer Program</a></li> 5479 </ul> 5480 </div> 5481 5482 <div class="rtnu-grid__item" role="navigation" aria-label="Social"> 5483 <div class="rtnu-footer__social"> 5484 <ul> 5485 <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> 5486 <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> 5487 <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
548759.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> 5488 <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> 5489 <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> 5490 </ul> 5491 <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> 5492 </div> 5493 5494 <div class="rtnu-footer__other"> 5495 <p>© 2026 Heart & Soil. All rights reserved.</p> 5496 <div class="rtnu-footer__legal"> 5497 <div class="rtnu-footer__legal-links"> 5498 <a href="https://heartandsoil.co/privacy-policy/">Privacy Policy</a> 5499 <a href="https://heartandsoil.co/terms-of-service/">Terms of Service</a> 5500 <button 5501 type="button"
5502 class="cookie-settings" 5503 onclick="if (window.Cookiebot && typeof window.Cookiebot.renew === 'function') { 5504 window.Cookiebot.renew(); 5505 } 5506 return false;"> 5507 Cookie Settings 5508 </button> 5509 </div> 5510 <div class="rtnu-footer__accessibility"> 5511 <img src="https://heartandsoil.co/wp-content/themes/wayfx-heartandsoil/img/accessibe-compliant.png" alt="accessiBe Accessibility Compliant" width="150" height="40" loading="lazy"> 5512 <button class="rtnu-footer__accessibility-trigger" data-acsb-custom-trigger="true" aria-label="Open Accessibility Options">Accessibility Options</button> 5513 </div> 5514 </div> 5515 </div> 5516 </div> 5517 </div> 5518 </div> 5519 5520 <div class="rtnu-footer-end"> 5521 <div class="rtnu-wrapper"> 5522 <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> 5523 <div class="rtnu-footer__rtnu"> 5524 <div class="rtnu-footer__rtnu-logos"> 5525 <span>Site by</span> 5526 <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
552662-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> 5527 <a href="https://boost.shop/?ref=HeartandSoil" target="_blank" aria-label="Boost"><span class="sr-only">New Window, Boost</span><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="90" height="15" fill="none" viewBox="0 0 428 80"><path fill="#F9F2DE" d="m241.579 79.9595 7.083-18.2732h39.775l-21.626-40.231C261.727 11.6301 274.157 0 286.212 0h53.4l-8.224 21.2506h-33.905l20.635 37.6816c4.523 8.9506-9.626 21.0273-21.308 21.0273h-55.231Z"></path><path fill="#F9F2DE" d="M169.376 79.9967c-3.065.1303-5.42-3.6844-4.131-6.3826l25.27-65.44509C192.571 3.1634 197.711 0 203.917 0h53.287c3.664.0372164 4.579 4.39154 3.551 7.4619l-24.858 64.3658c-2.15 4.038-7.981 7.7224-12.86 8.1504h-53.642l-.019.0186Zm23.251-19.7991h25.569l15.533-40.4357h-25.476l-15.607 40.4357h-.019Z"></path><path fill="#F9F2DE" d="M90.7627 79.9967c-3.0653.1303-5.4203-3.6844-4.1307-6.3826l25.27-65.44509C113.883 3.31226 119.285 0 125.285 0h53.287c3.57.0558247 4.561 4.48458 3.551 7.4619l-24.858 64.3658c-2.15 4.038-7.981 7.7224-12.86 8.1504H90.7627v.0186Zm23.2513-19.7991h25.569l15.532-40.4357H129.64l-15.607 40.4357h-.019Z"></path><path fill="#F9F2DE" d="m344.346 79.9595 22.691-58.7089h-27.849L347.411 0h80.577l-8.187 21.2506h-27.176l-22.71 58.7089h-25.569Z"></path><path fill="#F9F2DE" d="M102.426 7.59215C101.342 2.9401 99.9212 0 96.3512 0h-65.474l15.1583 19.7619h28.7278L55.4744 36.9187l7.252 23.2789h-32.279l15.5881-40.4357H23.2514L0 79.9595h60.3901c13.8873 0 24.2233-12.7838 24.5784-21.2506.0374-5.936-4.5419-16.0775-5.4764-20.3015 9.7192-8.0946 25.7559-18.6455 22.9149-30.81525h.019Z"></path></svg></a> 5528 </div> 5529 </div> 5530 </div> 5531 </div> 5532</footer> 5533</div><!-- #page --> 5534 5535<div id="klaviyo-form" style="display: none; max-width: 600px; width: 100%; padding: 16px 12px; background: #F6E6D4; border-radius: 12px;"> 5536 <div class="klaviyo-form-XEaNZC"></div> 5537</div> 5538
5539<script> 5540 let productTitle = "Store Locator"; 5541 5542 function isDesktop() { 5543 return window.innerWidth > 768; 5544 } 5545 5546 window.addEventListener('klaviyoForms', function (e) { 5547 if (e.detail.type == 'submit' && e.detail.formId == 'XEaNZC') { 5548 console.log('Klaviyo form submitted:', e.detail.formId, e.detail); 5549 5550 let _learnq = window._learnq || []; 5551 5552 // Check if a phone number was submitted in this specific form submission 5553 const phoneSubmitted = !!(e.detail.metaData && e.detail.metaData['$phone_number']); 5554 console.log('Phone number submitted:', phoneSubmitted); 5555 5556 // Determine if it's a desktop submission with a phone number 5557 const desktopPhoneSubmitted = isDesktop() && phoneSubmitted; 5558 console.log('Desktop phone submitted:', desktopPhoneSubmitted); 5559 5560 // Enhanced identify call with new desktop phone tracking 5561 _learnq.push(['identify', { 5562 'recent_product_submitted': productTitle, 5563 'desktop_phone_submitted': desktopPhoneSubmitted, 5564 // Include email and phone if available for better identification 5565 ...(e.detail.metaData && e.detail.metaData['$email'] && {'$email': e.detail.metaData['$email']}), 5566 ...(phoneSubmitted && {'$phone_number': e.detail.metaData['$phone_number']}) 5567 }]); 5568 5569 console.log('Updated profile properties sent to Klaviyo:', { 5570 'recent_product_submitted': productTitle, 5571 'desktop_phone_submitted': desktopPhoneSubmitted, 5572 ...(e.detail.metaData && e.detail.metaData['$email'] && {'$email': e.detail.metaData['$email']}), 5573 ...(phoneSubmitted && {'$phone_number': e.detail.metaData['$phone_number']}) 5574 }); 5575 5576 // Mobile SMS Logic - only trigger when phone is submitted 5577 function triggerSMS() { 5578 const firstName = e.detail.metaData['$first_name']; 5579 const lastName = e.detail.metaData['$last_name']; 5580 const email = e.detail.metaData['$email']; 5581 const phone = e.detail.metaData['$phone_number']; 5582 const sex = e.detail.metaData['Sex']; 5583 const helpWith = e.detail.metaData['How can we help?']; 5584 const ageRange = e.detail.metaData['Age range']; 5585 const moreInfo = e.detail.metaData['Tell us a little more']; 5586 5587 // Improved array handling for 'How can we help?' field 5588 const formattedHelpWith = 5589 Array.isArray(helpWith) && helpWith.length > 0 5590 ? helpWith.length === 1 5591 ? helpWith[0] 5592 : helpWith.length === 2 5593 ? `${helpWith[0]} and ${helpWith[1]}` 5594 : helpWith.slice(0, -1).join(', ') + 5595 ', and ' + 5596 helpWith[helpWith.length - 1] 5597 : (typeof helpWith === 'string' ? helpWith : ''); // Handle if it's already a string or undefined 5598 5599 const smsMsg = `Hi, this is ${firstName}! I'm a ${ageRange} year old ${sex} looking at ${productTitle}. I need help with ${formattedHelpWith}. ${moreInfo}`; 5600 5601 const encodedMsg = encodeURIComponent(smsMsg); 5602 const phoneNumber = `+15126414103`; 5603 const smsLink = `sms:${phoneNumber}?body=${encodedMsg}`; 5604 5605 console.log('Triggering SMS link for mobile:', smsLink); 5606 window.location.href = smsLink; 5607 } 5608 5609 // Check for mobile user agent to trigger SMS 5610 const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( 5611 navigator.userAgent 5612 ); 5613 5614 if (isMobile) { 5615 // Ensure phone number was submitted before triggering SMS on mobile 5616 if (phoneSubmitted) { 5617 console.log('Device is mobile and phone submitted, triggering SMS.'); 5618 triggerSMS(); 5619 } else { 5620 console.log('Device is mobile but no phone submitted, skipping SMS trigger.'); 5621 } 5622 } else { 5623 console.log('Device is not mobile, skipping SMS trigger.'); 5624 } 5625 } else if (e.detail.type == 'submit') { 5626 // Log if a different Klaviyo form was submitted 5627 console.log('Ignoring submission from other Klaviyo form:', e.detail.formId); 5628 } 5629 }); 5630</script>
vendor: 1 bytes, line 5630
5630
5631<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 5631
5631
5632<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>
5632 5633 5634<!-- Load script only on home page. Add additional locations if needed --> 5635 5636 5637
5638<script> 5639$(function() { 5640 $.ajax({ 5641 dataType:'jsonp', 5642 url: 'https://shop.heartandsoil.co/cart.json', 5643 success: function(d){ 5644 var cartCount = d.item_count; 5645 if (cartCount > 0) { 5646 $('.rtnu-header__cart-count').html(cartCount); 5647 $('.rtnu-header__cart-count').attr('aria-label', 'Go to cart page (' + cartCount + ' items)'); 5648 } 5649 } 5650 }); 5651 5652 // Check for query parameter to show personalized support form 5653 const urlParams = new URLSearchParams(window.location.search); 5654 if (urlParams.get('support') === 'true' || urlParams.get('connect') === 'true') { 5655 setTimeout(function() { 5656 if (typeof $.fancybox !== 'undefined') { 5657 $.fancybox.open({ 5658 src: '#klaviyo-form', 5659 type: 'inline', 5660 opts: { 5661 smallBtn: true, 5662 toolbar: false, 5663 animationEffect: 'fade', 5664 transitionEffect: 'fade' 5665 } 5666 }); 5667 } 5668 else { 5669 const klaviyoForm = document.getElementById('klaviyo-form'); 5670 if (klaviyoForm) { 5671 const overlay = document.createElement('div'); 5672 overlay.style.cssText = ` 5673 position: fixed; 5674 top: 0; 5675 left: 0; 5676 width: 100%; 5677 height: 100%; 5678 background: rgba(0, 0, 0, 0.8); 5679 z-index: 9999; 5680 display: flex; 5681 align-items: center; 5682 justify-content: center; 5683 padding: 20px; 5684 box-sizing: border-box; 5685 `; 5686 5687 const closeBtn = document.createElement('button'); 5688 closeBtn.innerHTML = '×'; 5689 closeBtn.style.cssText = ` 5690 position: absolute; 5691 top: 10px; 5692 right: 15px; 5693 background: none; 5694 border: none; 5695 font-size: 28px; 5696 color: #333; 5697 cursor: pointer; 5698 z-index: 10001; 5699 `; 5700 5701 const formClone = klaviyoForm.cloneNode(true); 5702 formClone.style.display = 'block'; 5703 formClone.style.position = 'relative'; 5704 formClone.style.zIndex = '10000'; 5705 5706 overlay.appendChild(formClone); 5707 overlay.appendChild(closeBtn); 5708 document.body.appendChild(overlay); 5709 5710 // Close functionality 5711 const closeModal = function() { 5712 document.body.removeChild(overlay); 5713 }; 5714 5715 closeBtn.addEventListener('click', closeModal); 5716 overlay.addEventListener('click', function(e) { 5717 if (e.target === overlay) { 5718 closeModal(); 5719 } 5720 }); 5721 5722 // Close on escape key 5723 document.addEventListener('keydown', function(e) { 5724 if (e.key === 'Escape') { 5725 closeModal(); 5726 } 5727 }); 5728 } 5729 } 5730 }, 1000); // Wait 1 second for page to load 5731 } 5732}); 5733</script>
5733 5734 5735<!-- Digital Genius Chat Widget - Contact Page Only --> 5736 5737<!-- Accessibility -->
5738<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>
5738 5739
5740<script type="speculationrules"> 5741{"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"}]} 5742</script>
vendor: 1 bytes, line 5742
5742
5743<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>
5743<script type="text/html" id="tmpl-autocomplete-header"> 5744 <div class="autocomplete-header"> 5745 <div class="autocomplete-header-title">{{{ data.label }}}</div> 5746 <div class="clear"></div> 5747 </div> 5748</script>
5748 5749
5750<script type="text/html" id="tmpl-autocomplete-post-suggestion"> 5751 <a class="suggestion-link" href="{{ data.permalink }}" title="{{ data.post_title }}"> 5752 <div class="suggestion-post-attributes"> 5753 <span class="suggestion-article-title">{{{ data._highlightResult.post_title.value }}}</span> 5754 </div> 5755 </a> 5756</script>
5756 5757
5758<script type="text/html" id="tmpl-autocomplete-product-suggestion"> 5759 <a class="suggestion-link" href="https://heartandsoil.co/products/{{ data.handle }}" title="{{ data.title }}"> 5760 <div class="suggestion-post-attributes"> 5761 <span class="suggestion-post-title">{{{ data._highlightResult.title.value }}}</span> 5762 </div> 5763 </a> 5764</script>
5764 5765
5766<script type="text/html" id="tmpl-autocomplete-term-suggestion"> 5767 <a class="suggestion-link" href="{{ data.permalink }}" title="{{ data.name }}"> 5768 <svg viewBox="0 0 21 21" width="21" height="21"> 5769 <svg width="21" height="21" viewBox="0 0 21 21"> 5770 <path 5771 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" 5772 fill-rule="evenodd"></path> 5773 </svg> 5774 </svg> 5775 <span class="suggestion-post-title">{{{ data._highlightResult.name.value }}}</span> 5776 </a> 5777</script>
5777 5778
5779<script type="text/html" id="tmpl-autocomplete-footer"> 5780 <div class="autocomplete-footer"> 5781 <div class="autocomplete-footer-branding"> 5782 <a href="#" class="algolia-powered-by-link" title="Algolia"> 5783 <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
57836.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> 5784 </a> 5785 </div> 5786 </div> 5787</script>
5787 5788
5789<script type="text/html" id="tmpl-autocomplete-empty"> 5790 <div class="autocomplete-empty"> 5791 No results matched your query <span class="empty-query">"{{ data.query }}"</span> 5792 </div> 5793</script>
5793 5794
5795<script type="text/javascript"> 5796 window.addEventListener('load', function () { 5797 5798 /* Initialize Algolia client */ 5799 var client = algoliasearch( algolia.application_id, algolia.search_api_key ); 5800 5801 /** 5802 * Algolia hits source method. 5803 * 5804 * This method defines a custom source to use with autocomplete.js. 5805 * 5806 * @param object $index Algolia index object. 5807 * @param object $params Options object to use in search. 5808 */ 5809 var algoliaHitsSource = function( index, params ) { 5810 return function( query, callback ) { 5811 index 5812 .search( query, params ) 5813 .then( function( response ) { 5814 callback( response.hits, response ); 5815 }) 5816 .catch( function( error ) { 5817 callback( [] ); 5818 }); 5819 } 5820 } 5821 5822 /* setup default sources */ 5823 var sources = []; 5824 algolia.autocomplete.sources.forEach( function( config, i ) { 5825 var suggestion_template = wp.template(config['tmpl_suggestion']); 5826 sources.push({ 5827 source: algoliaHitsSource( client.initIndex( config[ 'index_name' ] ), { 5828 hitsPerPage: config[ 'max_suggestions' ], 5829 attributesToSnippet: [ 5830 'content:10' 5831 ], 5832 highlightPreTag: '__ais-highlight__', 5833 highlightPostTag: '__/ais-highlight__' 5834 } ), 5835 templates: { 5836 header: function () { 5837 return wp.template( 'autocomplete-header' )( { 5838 label: 'Articles' 5839 } ); 5840 }, 5841 suggestion: function ( hit ) { 5842 if ( hit.escaped === true ) { 5843 return suggestion_template( hit ); 5844 } 5845 hit.escaped = true; 5846 5847 for ( var key in hit._highlightResult ) { 5848 /* We do not deal with arrays. */ 5849 if ( typeof hit._highlightResult[ key ].value !== 'string' ) { 5850 continue; 5851 } 5852 hit._highlightResult[ key ].value = _.escape( hit._highlightResult[ key ].value ); 5853 hit._highlightResult[ key ].value = hit._highlightResult[ key ].value.replace( /__ais-highlight__/g, '<em>' ).replace( /__\/ais-highlight__/g, '</em>' ); 5854 } 5855 5856 for ( var key in hit._snippetResult ) { 5857 /* We do not deal with arrays. */ 5858 if ( typeof hit._snippetResult[ key ].value !== 'string' ) { 5859 continue; 5860 } 5861 5862 hit._snippetResult[ key ].value = _.escape( hit._snippetResult[ key ].value ); 5863 hit._snippetResult[ key ].value = hit._snippetResult[ key ].value.replace( /__ais-highlight__/g, '<em>' ).replace( /__\/ais-highlight__/g, '</em>' ); 5864 } 5865 5866 return suggestion_template( hit ); 5867 } 5868 } 5869 } ); 5870 } ); 5871 5872 /* Setup dropdown menus */ 5873 document.querySelectorAll(algolia.autocomplete.input_selector).forEach(function (el) { 5874 if (!el.matches('#searchbox')) { 5875 var searchInput = el; 5876 var resultsAppendTarget = searchInput.closest('form') || document.body; 5877 5878 var config = { 5879 debug: false, 5880 hint: false, 5881 openOnFocus: false, 5882 appendTo: resultsAppendTarget, 5883 templates: { 5884 empty: wp.template('autocomplete-empty') 5885 } 5886 }; 5887 5888 if (algolia.powered_by_enabled) { 5889 config.templates.footer = wp.template('autocomplete-footer'); 5890 } 5891 5892 var autocomplete = algoliaAutocomplete(searchInput, config, sources) 5893 .on('autocomplete:selected', function (e, suggestion) { 5894 // window.location.href = suggestion.permalink; 5895 }); 5896 5897 window.addEventListener('scroll', function() { 5898 if (autocomplete.autocomplete.getWrapper().style.display === "block") { 5899 autocomplete.autocomplete.close(); 5900 autocomplete.autocomplete.open(); 5901 } 5902 }); 5903 } 5904 }); 5905 5906 var algoliaPoweredLink = document.querySelector( '.algolia-powered-by-link' ); 5907 if ( algoliaPoweredLink ) { 5908 algoliaPoweredLink.addEventListener( 'click', function( e ) { 5909 e.preventDefault(); 5910 window.location = "https://www.algolia.com/?utm_source=WordPress&utm_medium=extension&utm_content=" + window.location.hostname + "&utm_campaign=poweredby"; 5911 } ); 5912 } 5913 }); 5914</script>
5914<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 5914
5914
5915<script id="underscore-js" src="https://heartandsoil.co/wp-includes/js/underscore.min.js?ver=1.13.8"></script>
vendor: 1 bytes, line 5915
5915
5916<script id="wp-util-js-extra"> 5917var _wpUtilSettings = {"ajax":{"url":"/wp-admin/admin-ajax.php"}}; 5918//# sourceURL=wp-util-js-extra 5919</script>
vendor: 1 bytes, line 5919
5919
5920<script id="wp-util-js" src="https://heartandsoil.co/wp-includes/js/wp-util.min.js?ver=7.1"></script>
vendor: 1 bytes, line 5920
5920
5921<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 5921
5921
5922<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 5922
5922
5923<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 5923
5923
5924<script id="wp-emoji-settings" type="application/json"> 5925{"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"}} 5926</script>
vendor: 1 bytes, line 5926
5926
5927<script type="module"> 5928/*! This file is auto-generated */ 5929var 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)))}); 5930//# sourceURL=https://heartandsoil.co/wp-includes/js/wp-emoji-loader.min.js 5931</script>
5931 5932 <!-- UK Redirect Popup Component v1.0.0 --> 5933 <template id="hs-uk-popup-template"> 5934 <div id="hs-uk-popup" class="hs-uk-popup" role="dialog" aria-modal="true" aria-labelledby="hs-uk-popup-title" aria-hidden="true" inert> 5935 <div class="hs-uk-popup__backdrop" data-action="dismiss"></div> 5936 <div class="hs-uk-popup__dialog"> 5937 <button class="hs-uk-popup__close" data-action="dismiss" type="button" aria-label="Close"> 5938 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"> 5939 <path d="M18 6L6 18M6 6l12 12"/> 5940 </svg> 5941 </button> 5942 <h2 id="hs-uk-popup-title" class="hs-uk-popup__title">We're available in the UK with healf!</h2> 5943 <p class="hs-uk-popup__text">Visit healf.com to purchase our products and receive fast and free shipping, right to your door.</p> 5944 <a href="https://healf.com/collections/heart-soil" class="hs-uk-popup__cta"> 5945 Shop Heart & Soil on healf.com 5946 </a> 5947 </div> 5948 </div> 5949 </template> 5950 5951 <style> 5952 .hs-uk-popup { 5953 --popup-backdrop: rgba(0, 0, 0, 0.7); 5954 --popup-bg: #fff; 5955 --popup-radius: 6px; 5956 --popup-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35); 5957 --popup-title-color: #35291f; 5958 --popup-text-color: #555; 5959 --popup-btn-bg: #a4520d; 5960 --popup-btn-bg-hover: #8a4409; 5961 --popup-btn-text: #fff; 5962 --popup-close-color: #999; 5963 --popup-close-hover: #35291f; 5964 --popup-focus-ring: #a4520d; 5965 --popup-transition: 200ms ease; 5966 --popup-max-width: 420px; 5967 position: fixed; 5968 inset: 0; 5969 z-index: 999999; 5970 display: grid; 5971 place-items: center; 5972 padding: 1rem; 5973 opacity: 0; 5974 visibility: hidden; 5975 transition: opacity var(--popup-transition), visibility var(--popup-transition); 5976 } 5977 .hs-uk-popup[aria-hidden="false"] { opacity: 1; visibility: visible; } 5978 .hs-uk-popup__backdrop { 5979 position: absolute; 5980 inset: 0; 5981 background: var(--popup-backdrop); 5982 cursor: pointer; 5983 -webkit-tap-highlight-color: transparent; 5984 } 5985 .hs-uk-popup__dialog { 5986 position: relative; 5987 background: var(--popup-bg); 5988 border-radius: var(--popup-radius); 5989 padding: 2.5rem 2.5rem 2rem; 5990 width: min(var(--popup-max-width), 100%); 5991 text-align: center; 5992 box-shadow: var(--popup-shadow); 5993 translate: 0 1rem; 5994 transition: translate var(--popup-transition); 5995 } 5996 .hs-uk-popup[aria-hidden="false"] .hs-uk-popup__dialog { translate: 0 0; } 5997 .hs-uk-popup__close { 5998 position: absolute; 5999 inset-block-start: 0.75rem; 6000 inset-inline-end: 0.75rem; 6001 display: grid; 6002 place-items: center; 6003 inline-size: 2rem; 6004 block-size: 2rem; 6005 padding: 0; 6006 border: none; 6007 border-radius: 4px; 6008 background: transparent; 6009 color: var(--popup-close-color); 6010 cursor: pointer; 6011 transition: color var(--popup-transition), background-color var(--popup-transition); 6012 -webkit-tap-highlight-color: transparent; 6013 } 6014 .hs-uk-popup__close:where(:hover, :focus-visible) { 6015 color: var(--popup-close-hover); 6016 background: rgba(0, 0, 0, 0.05); 6017 } 6018 .hs-uk-popup__close:focus-visible { outline: 2px solid var(--popup-focus-ring); outline-offset: 2px; } 6019 .hs-uk-popup__close svg { inline-size: 1.25rem; block-size: 1.25rem; } 6020 .hs-uk-popup__title { 6021 margin: 0 0 1rem; 6022 font-family: "Burford Base", "Source Sans Pro", sans-serif; 6023 font-size: clamp(1.75rem, 5vw, 2.25rem); 6024 font-weight: 400; 6025 line-height: 0.8; 6026 letter-spacing: -4px; 6027 color: #35291f; 6028 text-wrap: balance; 6029 } 6030 .hs-uk-popup__text { 6031 margin: 0 0 1.5rem; 6032 font-family: "Source Sans Pro", sans-serif; 6033 font-size: 1rem; 6034 line-height: 1.5; 6035 color: #2d231a; 6036 text-wrap: pretty; 6037 } 6038 .hs-uk-popup__cta { 6039 display: inline-flex; 6040 align-items: center; 6041 justify-content: center; 6042 gap: 0.5rem; 6043 min-height: 50px; 6044 padding: 0.75rem 2.5rem; 6045 border: none; 6046 border-radius: 6px; 6047 background: #a4520d; 6048 color: #f5e7d4; 6049 font-family: "Source Sans Pro", sans-serif; 6050 font-size: 1rem; 6051 font-weight: 600; 6052 letter-spacing: 0.5px; 6053 text-decoration: none; 6054 text-transform: uppercase; 6055 cursor: pointer; 6056 transition: background-color 200ms ease; 6057 -webkit-tap-highlight-color: transparent; 6058 } 6059 .hs-uk-popup__cta:where(:hover, :focus-visible) { background: #8a4409; } 6060 .hs-uk-popup__cta:focus-visible { outline: 2px solid #a4520d; outline-offset: 2px; } 6061 .hs-uk-popup__cta:active { background: #7a3b08; } 6062 @media (width < 30rem) { 6063 .hs-uk-popup { padding: 0.75rem; } 6064 .hs-uk-popup__dialog { padding: 2rem 1.5rem 1.5rem; } 6065 .hs-uk-popup__title { letter-spacing: -3px; } 6066 .hs-uk-popup__cta { inline-size: 100%; } 6067 } 6068 @media (prefers-reduced-motion: reduce) { 6069 .hs-uk-popup, .hs-uk-popup__dialog, .hs-uk-popup__close, .hs-uk-popup__cta { transition: none; } 6070 } 6071 @media (forced-colors: active) { 6072 .hs-uk-popup__dialog { border: 2px solid CanvasText; } 6073 .hs-uk-popup__cta { border: 2px solid ButtonText; } 6074 } 6075 </style> 6076 6077
6077<script> 6078 (function(){ 6079 'use strict'; 6080 const CONFIG=Object.freeze({geoApi:'https://api.country.is/',targetCountry:'GB',dismissHours:4,delayMs:3000,storagePrefix:'hs_uk_'}); 6081 const STORAGE=Object.freeze({country:`${CONFIG.storagePrefix}country`,dismissed:`${CONFIG.storagePrefix}popup_dismissed`}); 6082 const MS_PER_HOUR=3600000; 6083 const isWithinHours=(t,h)=>t?(Date.now()-Number(t))/MS_PER_HOUR<h:false; 6084 const shouldShow=()=>{try{if(isWithinHours(localStorage.getItem(STORAGE.dismissed),CONFIG.dismissHours))return false;return true}catch{return true}}; 6085 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}; 6086 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}}; 6087 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)}; 6088 if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init,{once:true});else init(); 6089 })(); 6090 </script>
6090 6091 </body> 6092</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.