1<!doctype html> 2<html class="no-js no-touch" lang="en"> 3 <head>
3<script> 4(function () { 5 function getCookie(name) { 6 var cookies = document.cookie.split(';'); 7 8 for (var i = 0; i < cookies.length; i++) { 9 var parts = cookies[i].trim().split('='); 10 11 if (parts.shift() === name) { 12 try { 13 return decodeURIComponent(parts.join('=')); 14 } catch (error) { 15 return parts.join('='); 16 } 17 } 18 } 19 20 return null; 21 } 22 23 function getParametersToForward() { 24 var params = new URLSearchParams(window.location.search); 25 26 if (!params.has('ref')) { 27 var firstPromoterRef = getCookie('_fprom_ref'); 28 29 if (firstPromoterRef) { 30 params.set('ref', firstPromoterRef); 31 } 32 } 33 34 return params; 35 } 36 37 function isAllowedDomain(hostname) { 38 hostname = hostname.toLowerCase(); 39 40 return ( 41 hostname === 'seedtime.us' || 42 hostname.endsWith('.seedtime.us') || 43 hostname === 'app.paykickstart.com' 44 ); 45 } 46 47 function addParametersToLink(element) { 48 var href = element.getAttribute('href'); 49 50 if (!href || href.startsWith('#')) { 51 return; 52 } 53 54 try { 55 var destinationUrl = new URL(href, window.location.href); 56 57 if (!isAllowedDomain(destinationUrl.hostname)) { 58 return; 59 } 60 61 if (/\.(pdf|doc|docx|xls|xlsx)$/i.test(destinationUrl.pathname)) { 62 return; 63 } 64 65 var params = getParametersToForward(); 66 67 params.forEach(function (value, key) { 68 if (!destinationUrl.searchParams.has(key)) { 69 destinationUrl.searchParams.append(key, value); 70 } 71 }); 72 73 element.href = destinationUrl.toString(); 74 } catch (error) {} 75 } 76 77 function updateAllLinks() { 78 var links = document.querySelectorAll('a[href]'); 79 80 for (var i = 0; i < links.length; i++) { 81 addParametersToLink(links[i]); 82 } 83 } 84 85 if (document.readyState === 'loading') { 86 document.addEventListener('DOMContentLoaded', updateAllLinks); 87 } else { 88 updateAllLinks(); 89 } 90 91 document.addEventListener('click', function (event) { 92 var link = event.target.closest && event.target.closest('a[href]'); 93 94 if (link) { 95 addParametersToLink(link); 96 } 97 }, true); 98 99 var observer = new MutationObserver(function (mutations) { 100 mutations.forEach(function (mutation) { 101 mutation.addedNodes.forEach(function (node) { 102 if (node.nodeType !== 1) { 103 return; 104 } 105 106 if (node.matches && node.matches('a[href]')) { 107 addParametersToLink(node); 108 } 109 110 if (node.querySelectorAll) { 111 var newLinks = node.querySelectorAll('a[href]'); 112 113 for (var i = 0; i < newLinks.length; i++) { 114 addParametersToLink(newLinks[i]); 115 } 116 } 117 }); 118 }); 119 }); 120 121 observer.observe(document.documentElement, { 122 childList: true, 123 subtree: true 124 }); 125 126 if ( 127 !new URLSearchParams(window.location.search).has('ref') && 128 !getCookie('_fprom_ref') 129 ) { 130 var attempts = 0; 131 132 var cookieCheck = setInterval(function () { 133 attempts++; 134 135 if (getCookie('_fprom_ref')) { 136 clearInterval(cookieCheck); 137 updateAllLinks(); 138 } else if (attempts >= 120) { 139 clearInterval(cookieCheck); 140 } 141 }, 250); 142 } 143})(); 144</script>
144 145
146<script> 147 (function () { 148 var GUARDED = ['app.paykickstart.com', 'app.seedtime.us', 'sales.seedtime.us']; 149 document.addEventListener('click', function (ev) { 150 var el = ev.target; 151 while (el && el.nodeType === 1 && !(el.tagName === 'A' && el.getAttribute('href'))) el = el.parentNode; 152 if (!el || el.nodeType !== 1) return; 153 var href = el.getAttribute('href') || ''; 154 if (!/^https?:/i.test(href)) return; 155 var host; 156 try { host = new URL(href, location.href).hostname.toLowerCase(); } catch (e) { return; } 157 if (GUARDED.indexOf(host) === -1) return; 158 ev.stopImmediatePropagation(); 159 }, true); 160 // Belt and braces: never let the redirect's own blocker leave the page blank. 161 function unhide() { 162 try { 163 document.documentElement.classList.remove('sso-pending'); 164 var s = document.getElementById('sso-blocker'); 165 if (s && s.parentNode) s.parentNode.removeChild(s); 166 } catch (e) {} 167 } 168 unhide(); 169 document.addEventListener('DOMContentLoaded', unhide); 170 window.addEventListener('load', unhide); 171 })(); 172 </script>
172<script src="https://sapi.negate.io/script/4rg054ARPMCCLHWKE7mR9w==?shop=seedtimestore.myshopify.com" async></script>
172<script> 173 // A click heading to a paid checkout must never be mistaken for an auth link. 174 // The SSO redirect above fires on page load whenever a discount cookie is set; 175 // this marks the session opted out the moment someone leaves for checkout, so 176 // coming back from - or bouncing off - the payment page cannot land them in the 177 // broker instead. Capture phase, so it still runs if some other script stops the 178 // event later. Uses the same sessionStorage key the redirect reads. 179 document.addEventListener('click', function (ev) { 180 var el = ev.target; 181 while (el && el.nodeType === 1 && !(el.tagName === 'A' && el.getAttribute('href'))) el = el.parentNode; 182 if (!el || el.nodeType !== 1) return; 183 var href = el.getAttribute('href') || ''; 184 if (href.indexOf('app.paykickstart.com/') === -1) return; 185 try { sessionStorage.setItem('sso_opted_out', '1'); } catch (e) {} 186 }, true); 187 </script>
187 188 189 190 191 192 193 <meta charset="utf-8"> 194 <meta http-equiv="x-ua-compatible" content="IE=edge"> 195 196 197 <link rel="preconnect" href="https://cdn.shopify.com"><link rel="preconnect" href="https://v.shopify.com"> 198 <link rel="preconnect" href="https://cdn.shopifycloud.com"><title>Seedtime Garden Planner - Get Your Free Account</title><meta name="description" content="Start planning your garden for free with Seedtime. Choose from Free, Basic, or Unlimited plans â each with a 7-day free trial and a 30-day money-back guarantee. No credit card required."> 199 <link rel="shortcut icon" href="//seedtime.us/cdn/shop/files/Seedtime_Favicon_32x32.png?v=1752439764" type="image/png"> 200 201 202 203 <link rel="canonical" href="https://seedtime.us/pages/pricing"> 204 205 206 <meta name="viewport" content="width=device-width"> 207 208 209 210 211 212 213 214 215<meta property="og:site_name" content="Seedtime Store"> 216<meta property="og:url" content="https://seedtime.us/pages/pricing"> 217<meta property="og:title" content="Seedtime Garden Planner - Get Your Free Account"> 218<meta property="og:type" content="website"> 219<meta property="og:description" content="Choose the Seedtime plan that fits your garden or farm. Start free or upgrade for AI planning, unlimited calendars, garden layouts, inventory, tasks, journals, and more"> 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236<meta name="twitter:title" content="Seedtime Garden Planner - Get Your Free Account"> 237<meta name="twitter:description" content="Choose the Seedtime plan that fits your garden or farm. Start free or upgrade for AI planning, unlimited calendars, garden layouts, inventory, tasks, journals, and more"> 238 239 240 241<link rel="describedby" href="https://seedtime.us/llms.txt" type="text/markdown"> 242 243<link rel="preload" as="font" type="font/woff2" href="//seedtime.us/cdn/shop/t/26/assets/st-inter.woff2?v=53399804603581884051789056483" crossorigin="anonymous"> 244 <link rel="preload" as="font" type="font/woff2" href="//seedtime.us/cdn/shop/t/26/assets/st-raleway.woff2?v=111612976041415249261789056484" crossorigin="anonymous"><style> 245 @font-face { 246 font-family: 'Inter'; 247 font-style: normal; 248 font-weight: 100 900; 249 font-display: swap; 250 src: url(//seedtime.us/cdn/shop/t/26/assets/st-inter.woff2?v=53399804603581884051789056483) format('woff2'); 251 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; 252 } 253 @font-face { 254 font-family: 'Raleway'; 255 font-style: normal; 256 font-weight: 100 900; 257 font-display: swap; 258 src: url(//seedtime.us/cdn/shop/t/26/assets/st-raleway.woff2?v=111612976041415249261789056484) format('woff2'); 259 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; 260 } 261</style> 262 263
264<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
264<meta name="google-site-verification" content="pImiUMOWlIhoXLmRscg8OiUqHbfqhB4-ncQ72tRI7kg"> 265<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/61538566328/digital_wallets/dialog">
266<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 266
266
267<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":61538566328,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/61538566328","merchantName":"Seedtime Store","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Seedtime Store","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 267
267
268<script id="shopify-features" type="application/json">{"accessToken":"fb262b9c151371690acf84fda71beabd","betas":["rich-media-storefront-analytics"],"domain":"seedtime.us","predictiveSearch":true,"shopId":61538566328,"locale":"en"}</script>
vendor: 1 bytes, line 268
268
269<script>var Shopify = Shopify || {}; 270Shopify.shop = "seedtimestore.myshopify.com"; 271Shopify.locale = "en"; 272Shopify.currency = {"active":"USD","rate":"1.0"}; 273Shopify.country = "US"; 274Shopify.theme = {"name":"seedtimestore\/main","id":190639276216,"schema_name":"Empire","schema_version":"12.0.0","theme_store_id":null,"role":"main"}; 275Shopify.theme.handle = "null"; 276Shopify.theme.style = {"id":null,"handle":null}; 277Shopify.cdnHost = "seedtime.us/cdn"; 278Shopify.routes = Shopify.routes || {}; 279Shopify.routes.root = "/"; 280Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 281Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 282Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 283Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 283
283
284<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 284
284
285<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 285
285
286<script> 287 window.Shopify = window.Shopify || {}; 288 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 289 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 290 window.Shopify.SignInWithShop.eligible = false; 291</script>
vendor: 1 bytes, line 291
291
292<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 292
292
293<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 293
293
294<script type="module"> 295 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 296 297 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 298 299</script>
vendor: 1 bytes, line 299
299
300<script>(function() { 301 var isLoaded = false; 302 function asyncLoad() { 303 if (isLoaded) return; 304 isLoaded = true; 305 var urls = ["https:\/\/store.xecurify.com\/moas\/rest\/shopify\/check?shop=seedtimestore.myshopify.com","https:\/\/iis.intercom.io\/widget.js?shop=seedtimestore.myshopify.com","\/\/cdn.shopify.com\/proxy\/2ec752025bab7fd3fea2d8119067170b2f6856719985f61b9d6224c011ce4f9d\/borntogrow.activehosted.com\/js\/site-tracking.php?shop=seedtimestore.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"]; 306 for (var i = 0; i < urls.length; i++) { 307 var s = document.createElement('script'); 308 s.type = 'text/javascript'; 309 s.async = true; 310 s.src = urls[i]; 311 var x = document.getElementsByTagName('script')[0]; 312 x.parentNode.insertBefore(s, x); 313 } 314 }; 315 if(window.attachEvent) { 316 window.attachEvent('onload', asyncLoad); 317 } else { 318 window.addEventListener('load', asyncLoad, false); 319 } 320})();</script>
vendor: 1 bytes, line 320
320
321<script id="__st">var __st={"a":61538566328,"offset":-18000,"reqid":"7b8d9bfb-0cc4-4dfa-b5e6-5706db3ee701-1790248569","pageurl":"seedtime.us\/pages\/pricing","s":"pages-164474192056","u":"ad6824669004","p":"page","rtyp":"page","rid":164474192056};</script>
vendor: 1 bytes, line 321
321
322<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 322
322
323<script id="form-persister">!function(){'use strict';const t='contact',e='new_comment',n=[[t,t],['blogs',e],['comments',e],[t,'customer']],o='password',r='form_key',c=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',o],s=()=>{try{return window.sessionStorage}catch{return}},i='__shopify_v',u=t=>t.elements[r],a=function(){const t=[...n].map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');var e;return e=t,()=>e?[...document.querySelectorAll(e)].map((t=>t.form)):[]}();function m(t){const e=u(t);a().includes(t)&&(!e||!e.value)&&function(t){try{if(!s())return;!function(t){const e=s();if(!e)return;const n=u(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){u(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:r})),t.elements[r].value=e}(t,e),function(t,e){const n=s();if(!n)return;const r=[...t.querySelectorAll(`input[type='${o}']`)].map((({name:t})=>t)),u=[...c,...r],a={};for(const[o,c]of new FormData(t).entries())u.includes(o)||(a[o]=c);n.setItem(e,JSON.stringify({[i]:1,action:t.action,data:a}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(t)}const f=t=>{if('true'===t.dataset.persistBound)return;const e=function(t,e){const n=function(t){return'function'==typeof t.submit?t.submit:HTMLFormElement.prototype.submit}(t).bind(t);return function(){let t;return()=>{t||(t=!0,(()=>{try{e(),n()}catch(t){(t=>{console.error('form submit failed',t)})(t)}})(),setTimeout((()=>t=!1),250))}}()}(t,(()=>{m(t)}));!function(t,e){if('function'==typeof t.submit&&'function'==typeof e)try{t.submit=e}catch{}}(t,e),t.addEventListener('submit',(t=>{t.preventDefault(),e()})),t.dataset.persistBound='true'};!function(){function t(t){const e=(t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form})(t);e&&m(e)}document.addEventListener('submit',t),document.addEventListener('DOMContentLoaded',(()=>{const e=a();for(const t of e)f(t);var n;n=document.body,new window.MutationObserver((t=>{for(const e of t)if('childList'===e.type&&e.addedNodes.length)for(const t of e.addedNodes)1===t.nodeType&&'FORM'===t.tagName&&a().includes(t)&&f(t)})).observe(n,{childList:!0,subtree:!0,attributes:!1}),document.removeEventListener('submit',t)}))}()}();</script>
vendor: 1 bytes, line 323
323
324<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//seedtime.us/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 324
324
325<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//seedtime.us/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
325<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 325
325
326<script> 327 window.Shopify = window.Shopify || {}; 328 window.Shopify.MCP = window.Shopify.MCP || {}; 329 window.Shopify.MCP.enabled = true; 330 window.Shopify.MCP.shop = "seedtimestore.myshopify.com"; 331 window.Shopify.MCP.mcpEndpoint = "https:\/\/seedtime.us\/api\/mcp"; 332 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 333</script>
vendor: 1 bytes, line 333
333
334<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/seedtime.us\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 335</script>
vendor: 1 bytes, line 335
335
336<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://seedtime.us/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 337</script>
vendor: 1 bytes, line 337
337
338<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 339 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 340</script>
vendor: 1 bytes, line 340
340
341<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 342</script>
vendor: 1 bytes, line 342
342
343<script integrity="sha256-/LA1C2Bx6899fYCos0FS9qLj2opaGFm7AXrTUvBEb4s=" data-source-attribution="shopify.remote_product_tracking" data-shopify-remote-tracking="{"publisher_shop_id":61538566328,"theme_id":190639276216,"theme_published":true,"theme_store_id":0,"placement":"collection","event_data":{"handle":"pricing","page_type":"page"},"recommendations_tracking_enabled":true}" defer="defer" src="//seedtime.us/cdn/shopifycloud/storefront/assets/storefront/remote_product_tracking-91d95044.js" crossorigin="anonymous"></script>
343 344<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://seedtime.us/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 345<style id="shopify-accelerated-checkout-cart"> 346 #shopify-buyer-consent { 347 margin-top: 1em; 348 display: inline-block; 349 width: 100%; 350} 351 352#shopify-buyer-consent.hidden { 353 display: none; 354} 355 356#shopify-subscription-policy-button { 357 background: none; 358 border: none; 359 padding: 0; 360 text-decoration: underline; 361 font-size: inherit; 362 cursor: pointer; 363} 364 365#shopify-subscription-policy-button::before { 366 box-shadow: none; 367} 368 369 </style> 370
371<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
371 372<style> 373 html { box-sizing: border-box; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; } 374 *, *::before, *::after { box-sizing: inherit; } 375 * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } 376 html, body { background: #ffffff; } 377 body { margin: 0; } 378 img { border-style: none; } 379 svg:not(:root) { overflow: hidden; } 380 button, input { overflow: visible; } 381 button, select { text-transform: none; } 382 .skip-to-main { position: absolute; left: -9999px; top: 0; } 383 .skip-to-main:focus { left: 8px; top: 8px; z-index: 1000; background: #ffffff; padding: 8px 12px; } 384 </style><style> 385 .product-page-badges { 386 position: absolute; 387 top: 12px; 388 left: 12px; 389 z-index: 10; 390 display: inline-flex; 391 flex-direction: column; 392 align-items: flex-start; 393 gap: 6px; 394 } 395 396 .custom-badge { 397 background-color: #4caf50 !important; 398 color: white !important; 399 font-size: 12px !important; 400 font-weight: 600; 401 padding: 4px 8px; 402 border-radius: 4px; 403 text-transform: uppercase; 404 letter-spacing: 0.5px; 405 line-height: 1.2; 406 display: inline-block; 407 width: auto; 408 white-space: nowrap; 409 } 410 411 .custom-badge.free-shipping { 412 background-color: #f04f4f !important; 413 } 414 415 .custom-badge.organic { 416 background-color: #79c048 !important; 417 } 418 419 .custom-badge.heirloom { 420 background-color: #4f4238 !important; 421 } 422 </style> 423 424 425 426 427
427<script> 428 window.Theme = window.Theme || {}; 429 window.Theme.version = '12.0.0'; 430 window.Theme.name = 'Empire'; 431 window.Theme.routes = { 432 root_url: '/', 433 account_url: '/account', 434 account_login_url: 'https://shopify.com/61538566328/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzZWVkdGltZXN0b3JlLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MDg1MzM2OSwibmJmIjoxNzkwMjQ4NTY5fQ.fdWX1tF-IG-heFPUuFtZyy6BQsfRySmMu0kmwOPvEXI®ion_country=US', 435 account_logout_url: '/account/logout', 436 account_register_url: 'https://shopify.com/61538566328/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzZWVkdGltZXN0b3JlLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MDg1MzM2OSwibmJmIjoxNzkwMjQ4NTY5fQ.fdWX1tF-IG-heFPUuFtZyy6BQsfRySmMu0kmwOPvEXI', 437 account_addresses_url: '/account/addresses', 438 collections_url: '/collections', 439 all_products_collection_url: '/collections/all', 440 search_url: '/search', 441 predictive_search_url: '/search/suggest', 442 cart_url: '/cart', 443 cart_add_url: '/cart/add', 444 cart_change_url: '/cart/change', 445 cart_clear_url: '/cart/clear', 446 product_recommendations_url: '/recommendations/products', 447 }; 448 </script>
448 449 450 451 452 <!-- Deadline Funnel --> 453
453<script type="text/javascript" data-cfasync="false"> 454 function SendUrlToDeadlineFunnel(e) { 455 var r, 456 t, 457 c, 458 a, 459 h, 460 n, 461 o, 462 A, 463 i = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', 464 d = 0, 465 l = 0, 466 s = '', 467 u = []; 468 if (!e) return e; 469 do 470 (r = e.charCodeAt(d++)), 471 (t = e.charCodeAt(d++)), 472 (c = e.charCodeAt(d++)), 473 (A = (r << 16) | (t << 8) | c), 474 (a = (A >> 18) & 63), 475 (h = (A >> 12) & 63), 476 (n = (A >> 6) & 63), 477 (o = 63 & A), 478 (u[l++] = i.charAt(a) + i.charAt(h) + i.charAt(n) + i.charAt(o)); 479 while (d < e.length); 480 s = u.join(''); 481 var C = e.length % 3; 482 var decoded = (C ? s.slice(0, C - 3) : s) + '==='.slice(C || 3); 483 decoded = decoded.replace('+', '-'); 484 decoded = decoded.replace('/', '_'); 485 return decoded; 486 } 487 var dfUrl = SendUrlToDeadlineFunnel(location.href); 488 var dfParentUrlValue; 489 try { 490 dfParentUrlValue = window.parent.location.href; 491 } catch (err) { 492 if (err.name === 'SecurityError') { 493 dfParentUrlValue = document.referrer; 494 } 495 } 496 var dfParentUrl = parent !== window ? '/' + SendUrlToDeadlineFunnel(dfParentUrlValue) : ''; 497 (function () { 498 var s = document.createElement('script'); 499 s.type = 'text/javascript'; 500 s.async = true; 501 s.setAttribute('data-scriptid', 'dfunifiedcode'); 502 s.src = 503 'https://a.deadlinefunnel.com/unified/reactunified.bundle.js?userIdHash=eyJpdiI6IlBQUCtNVFBCd3ZaMjlMTFgrVHNacXc9PSIsInZhbHVlIjoiMFBrYThvMXFjc0JTVHJEMGN0WDBVdz09IiwibWFjIjoiMzU2OGEyZmY3YzJhNTM2YzZmYTc3MzU1MTIwNWM3YWMyMzM5MmZmM2ExMDkzMjI3ZGM0ZmI1YzZhZjNmMjk4NSJ9&pageFromUrl=' + 504 dfUrl + 505 '&parentPageFromUrl=' + 506 dfParentUrl; 507 var s2 = document.getElementsByTagName('script')[0]; 508 s2.parentNode.insertBefore(s, s2); 509 })(); 510 </script>
510 511 <!-- End Deadline Funnel --> 512 513 514 515 <!-- TrustBox script --> 516
516<script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script>
516 517 <!-- End TrustBox script --> 518 519 520 <!-- FirstPromoter affiliate tracking. Must load on every storefront page, so it 521 lives in the layout rather than in any section: the marketing pages, the 522 store, and every product and collection page all render through here. 523 fpr("click") reads the referral parameter off the landing URL, so it has to 524 run on the FIRST page of the visit, not only on the pages that convert. 525 NOTE: it is NOT added to layout/none.liquid or layout/quickshop.liquid - 526 those render AJAX fragments (search-as-you-type, cart and quick-view 527 partials), where this would fire repeatedly inside a single visit. --> 528
528<script>(function(w){w.fpr=w.fpr||function(){w.fpr.q = w.fpr.q||[];w.fpr.q[arguments[0]=='set'?'unshift':'push'](arguments);};})(window); 529 fpr("init", {cid:"gadvzslt"}); 530 fpr("click"); 531 </script>
531 532
532<script src="https://cdn.firstpromoter.com/fpr.js" async></script>
532 533 534 535 <!-- Facebook Pixel. It lives in the layout rather than a section, so every 536 storefront page fires PageView, including any page added in the admin 537 later - nothing has to be edited here for a new page. Its no-script 538 fallback image is at the top of the page body instead of here on 539 purpose: an image element is not permitted inside the document head, 540 and a visitor without JavaScript would have their parser close the head 541 early and push everything after it into the body. --> 542
542<script>
vendor: 453 bytes, lines 542-551
542 543 !function(f,b,e,v,n,t,s) 544 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 545 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 546 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 547 n.queue=[];t=b.createElement(e);t.async=!0; 548 t.src=v;s=b.getElementsByTagName(e)[0]; 549 s.parentNode.insertBefore(t,s)}(window, document,'script', 550 'https://connect.facebook.net/en_US/fbevents.js'); 551 fbq('init', '
551625476300918891
vendor: 40 bytes, lines 551-553
551'); 552 fbq('track', 'PageView'); 553
553</script>
553 554 <!-- End Facebook Pixel --> 555 556 <!-- ChatGPT / OpenAI pixel. In the layout for the same reason as the Facebook 557 pixel above: every storefront page fires, including any page added in the 558 admin later, so nothing has to be edited here for a new page. 559 NOT added to layout/none.liquid or layout/quickshop.liquid - those render 560 AJAX fragments (search-as-you-type, cart and quick-view partials), where 561 oaiq("init") would fire repeatedly inside one visit. 562 WHEN MIGRATING TO grow.seedtime.us/js/main-scripts-head.js: delete this 563 block in the same commit that adds the tag. That file carries the same 564 pixel id, and its snippet guards only the SDK loader (if(w.oaiq)return) - 565 the oaiq("init") call sits outside that guard, so two copies would 566 initialise the pixel twice. --> 567
567<script>!function(w,d,s,u){if(w.oaiq)return;var q=function(){q.q.push(arguments)};q.q=[];w.oaiq=q;var j=d.createElement(s);j.async=1;j.src=u;var f=d.getElementsByTagName(s)[0];f.parentNode.insertBefore(j,f)}(window,document,"script","https://bzrcdn.openai.com/sdk/oaiq.min.js");oaiq("init",{pixelId:"F6vqv7zG7uVUSXvZPbg8k6",debug:false});</script>
567 568 <!-- End ChatGPT / OpenAI pixel --> 569 570 <!-- BEGIN app block: shopify://apps/sitemap-noindex-pro-seo/blocks/app-embed/4d815e2c-5af0-46ba-8301-d0f9cf660031 --> 571<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> 572 573 574 575 576 577 578 579<link rel="dns-prefetch" href="https://cdn.judge.me"> 580<link rel="dns-prefetch" href="https://cdn1.judge.me"> 581<link rel="dns-prefetch" href="https://api.judge.me"> 582
583<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"any_review","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} review/reviews","badge_star_color":"#ffce50","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank y
583ou! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"","widget_rating_filter_color":"#fbcd0a","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#ffce50","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"default","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"â
Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"text","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":true,"featured_carousel_show_header":true,"featured_carousel_title":"What our customers are saying?","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"vintage","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":true,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":false,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","featured_carousel_theme":"card","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":true,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#79C048","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":false,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":false,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
583itle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#108474","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"vertical","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#108474","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":false,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":true,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"review_widget","request_store_review_after_product_review":false,"request_review_other_products_in_order":false,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#108474","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#108474","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_
583youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":false,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":false,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":true,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":true,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":true,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":false,"review_widget_qna_enabled":false,"review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
583:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"Weâll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews/stores/store.seedtime.us","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Seedtime Store","shop_currency":"USD","widget_version":"2.1","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_use_review_site":true,"shop_locale":"en","enable_multi_locales_translations":true,"show_review_title_input":true,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_
583shop_enabled":false,"customer_account_validation_enabled":true,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"can_be_branded":true,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"Seedtime Store"};</script>
583 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:not(.jdgm-prev-badge__stars)>.jdgm-star{color:#ffce50}.jdgm-histogram .jdgm-star.jdgm-star{color:#ffce50}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#ffce50}.jdgm-histogram .jdgm-histogram__bar-content{background:#fbcd0a}.jdgm-histogram .jdgm-histogram__bar:after{background:#fbcd0a}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__replier:before{content:'Seedtime Store'}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_etsy"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_google_business"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_shop_app"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important} 584</style> <style class='jdgm-settings-style'></style> 585 586 587 588 589 <style class='jdgm-miracle-styles'> 590 @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/I
590azfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-prev-badge{display:block !important} 591 592</style> 593 594 595 596 597 598 599 600 601
602<script data-cfasync='false' class='jdgm-script'> 603!function(e){window.jdgm=window.jdgm||{}; 604/* INF-1976 */ 605var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}(); 606if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;} 607jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a0cdf8-b2d2-7ccd-a251-5cf8c66ad2ca/judgeme-762/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/", 608jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? 609setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ 610!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), 611(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", 612a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, 613jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; 614t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))}, 615t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( 616".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? 617parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"): 618jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css") 619)}))}(document); 620</script>
620 621<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a0cdf8-b2d2-7ccd-a251-5cf8c66ad2ca/judgeme-762/assets/shopify_v2.css"></noscript> 622 623<!-- BEGIN app snippet: theme_fix_tags -->
623<script> 624 (function() { 625 var jdgmThemeFixes = null; 626 if (!jdgmThemeFixes) return; 627 628 // "All themes" fix: CSS and JS applied on every theme. CSS is injected 629 // before the per-theme fix so the theme-specific CSS wins the cascade. 630 // HTML is never applied globally (too risky). 631 var allThemesFix = jdgmThemeFixes['all']; 632 if (allThemesFix && allThemesFix.css) { 633 var allStyleTag = document.createElement('style'); 634 allStyleTag.classList.add('jdgm-theme-fix-style-all'); 635 allStyleTag.innerHTML = allThemesFix.css; 636 document.head.append(allStyleTag); 637 }; 638 639 if (allThemesFix && allThemesFix.js) { 640 var allScriptTag = document.createElement('script'); 641 allScriptTag.classList.add('jdgm-theme-fix-script-all'); 642 allScriptTag.innerHTML = allThemesFix.js; 643 document.head.append(allScriptTag); 644 }; 645 646 var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; 647 if (!thisThemeFix) return; 648 649 if (thisThemeFix.html) { 650 document.addEventListener("DOMContentLoaded", function() { 651 var htmlDiv = document.createElement('div'); 652 htmlDiv.classList.add('jdgm-theme-fix-html'); 653 htmlDiv.innerHTML = thisThemeFix.html; 654 document.body.append(htmlDiv); 655 }); 656 }; 657 658 if (thisThemeFix.css) { 659 var styleTag = document.createElement('style'); 660 styleTag.classList.add('jdgm-theme-fix-style'); 661 styleTag.innerHTML = thisThemeFix.css; 662 document.head.append(styleTag); 663 }; 664 665 if (thisThemeFix.js) { 666 var scriptTag = document.createElement('script'); 667 scriptTag.classList.add('jdgm-theme-fix-script'); 668 scriptTag.innerHTML = thisThemeFix.js; 669 document.head.append(scriptTag); 670 }; 671 })(); 672</script>
672 673<!-- END app snippet --> 674<!-- End of Judge.me Core --> 675 676 677 678<!-- END app block --><!-- BEGIN app block: shopify://apps/smart-seo/blocks/smartseo/7b0a6064-ca2e-4392-9a1d-8c43c942357b --><meta name="smart-seo-integrated" content="true" /><!-- metatagsSavedToSEOFields: false --><!-- BEGIN app snippet: smartseo.custom.schemas.jsonld --><!-- END app snippet --><!-- BEGIN app snippet: smartseo.page.metatags --><!-- page_seo_template_metafield: --><title>Seedtime Garden Planner - Get Your Free Account</title> 679<meta name="description" content="Choose the Seedtime plan that fits your garden or farm. Start free or upgrade for AI planning, unlimited calendars, garden layouts, inventory, tasks, journals, and more" /> 680<meta name="smartseo-timestamp" content="0" /><!-- END app snippet --><!-- END app block -->
680<script src="https://cdn.shopify.com/extensions/01a0cdf8-b2d2-7ccd-a251-5cf8c66ad2ca/judgeme-762/assets/loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 680
680
681<script src="https://cdn.shopify.com/extensions/01a0d0fa-898e-7714-8635-0ece0922e4a4/aftersell-1083/assets/aftersell-utm-triggers.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 681
681
682<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/wishlistcollections.js" type="text/javascript" defer="defer"></script>
682 683<link href="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/wishlistcollections.css" rel="stylesheet" type="text/css" media="all"> 684<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
685<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 61538566328,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 685
685
686<script> 687 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 688</script>
vendor: 1 bytes, line 688
688
689<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
689).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 61538566328,storefrontBaseUrl: "https://seedtime.us",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://seedtime.us/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b"],webPixelsConfigList: [{"id":"2832105656","configuration":"{\"hyrosConsentRequired\":\"true\",\"hyrosProductHash\":\"2f8fd4c501ed638767375eccd98d55e5951ceb9e4b7a5f745bb7a11295e45c04\",\"hyrosUrl\":\"https:\\\/\\\/183976.t.hyros.com\\\/v1\\\/lst\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"3e31215e9bbd4eeb471e5805acf5b700","type":"APP","apiClientId":1804565,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
689,"dataSharingState":"unrestricted"},{"id":"1500381368","configuration":"{\"storeIdentity\":\"seedtimestore.myshopify.com\",\"baseURL\":\"https:\\\/\\\/api.printful.com\\\/shopify-pixels\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"74f275712857ab41bea9d998dcb2f9da","type":"APP","apiClientId":156624,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1306198200","configuration":"{\"swymApiEndpoint\":\"https:\/\/swymstore-v3free-01.swymrelay.com\",\"swymTier\":\"v3free-01\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5b6f6917e306bc7f24523662663331c0","type":"APP","apiClientId":1350849,"privacyPurposes":["ANALYTICS","MARKETING","PREFERENCES"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1148780728","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"581599416","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-2CD8JC8YRF\\\",\\\"GT-P82HLQNR\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-2CD8JC8YRF\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-2CD8JC8YRF\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-2CD8JC8YRF\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-2CD8JC8YRF\\\",\\\"MC-QKKFNTHZX6\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-2CD8JC8YRF\\\",\\\"MC-QKKFNTHZX6\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-2CD8JC8YRF\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-2CD8JC8YRF\\\",\\\"MC-QKKFNTHZX6\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-2CD8JC8YRF\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-2CD8JC8YRF\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-2CD8JC8YRF\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-2CD8JC8YRF\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Seedtime Store","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"seedtimestore.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/seedtime.us"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://seedtime.us/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"190639276216","themePublished":"true","eventMetadataId":"40374505-9f2f-435e-af7f-fb4d224c8275","pageType":"page","resourceId":"164474192056","shopId":"61538566328","storefrontBaseUrl":"https:\/\/seedtime.us","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
689<script> 690 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 691 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 692 window.ShopifyAnalytics.meta.currency = 'USD'; 693 var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":164474192056,"requestId":"7b8d9bfb-0cc4-4dfa-b5e6-5706db3ee701-1790248569"}}; 694 for (var attr in meta) { 695 window.ShopifyAnalytics.meta[attr] = meta[attr]; 696 } 697</script>
vendor: 1 bytes, line 697
697
698<script class="analytics"> 699 (function () { 700 var customDocumentWrite = function(content) { 701 var jquery = null; 702 703 if (window.jQuery) { 704 jquery = window.jQuery; 705 } else if (window.Checkout && window.Checkout.$) { 706 jquery = window.Checkout.$; 707 } 708 709 if (jquery) { 710 jquery('body').append(content); 711 } 712 }; 713 714 var hasLoggedConversion = function(token) { 715 if (token) { 716 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 717 } 718 return false; 719 } 720 721 var setCookieIfConversion = function(token) { 722 if (token) { 723 var twoMonthsFromNow = new Date(Date.now()); 724 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 725 726 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 727 } 728 } 729 730 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 731 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 732 if (trekkie.integrations) { 733 return; 734 } 735 trekkie.methods = [ 736 'identify', 737 'page', 738 'ready', 739 'track', 740 'trackForm', 741 'trackLink' 742 ]; 743 trekkie.factory = function(method) { 744 return function() { 745 var args = Array.prototype.slice.call(arguments); 746 args.unshift(method); 747 trekkie.push(args); 748 if (method == 'track' || method == 'page') { 749 try { 750 if (window.__TREKKIE_SHIM_QUEUE == null) { 751 window.__TREKKIE_SHIM_QUEUE = []; 752 } 753 window.__TREKKIE_SHIM_QUEUE.push({ 754 from: 'trekkie-stub', 755 method: method, 756 args: args.slice(1) 757 }); 758 } catch (e) { 759 // no-op 760 } 761 } 762 return trekkie; 763 }; 764 }; 765 for (var i = 0; i < trekkie.methods.length; i++) { 766 var key = trekkie.methods[i]; 767 trekkie[key] = trekkie.factory(key); 768 } 769 trekkie.load = function(config) { 770 trekkie.config = config || {}; 771 trekkie.config.initialDocumentCookie = document.cookie; 772 var first = document.getElementsByTagName('script')[0]; 773var script = document.createElement('script'); 774script.type = 'text/javascript'; 775script.onerror = function(e) { 776 var scriptFallback = document.createElement('script'); 777 scriptFallback.type = 'text/javascript'; 778 scriptFallback.onerror = function(error) { 779 var Monorail = { 780 produce: function produce(monorailDomain, schemaId, payload) { 781 var currentMs = new Date().getTime(); 782 var event = { 783 schema_id: schemaId, 784 payload: payload, 785 metadata: { 786 event_created_at_ms: currentMs, 787 event_sent_at_ms: currentMs 788 } 789 }; 790 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 791 }, 792 sendRequest: function sendRequest(endpointUrl, payload) { 793 // Try the sendBeacon API 794 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 795 var blobData = new window.Blob([payload], { 796 type: 'text/plain' 797 }); 798 799 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 800 return true; 801 } // sendBeacon was not successful 802 803 } // XHR beacon 804 805 var xhr = new XMLHttpRequest(); 806 807 try { 808 xhr.open('POST', endpointUrl); 809 xhr.setRequestHeader('Content-Type', 'text/plain'); 810 xhr.send(payload); 811 } catch (e) { 812 console.log(e); 813 } 814 815 return false; 816 }, 817 isIos12: function isIos12() { 818 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 819 } 820 }; 821 Monorail.produce('monorail-edge.shopifysvc.com', 822 'trekkie_storefront_load_errors/1.1', 823 {shop_id: 61538566328, 824 theme_id: 190639276216, 825 app_name: "storefront", 826 context_url: window.location.href, 827 source_url: "//seedtime.us/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 828 829 }; 830 scriptFallback.async = true; 831 scriptFallback.src = '//seedtime.us/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 832 first.parentNode.insertBefore(scriptFallback, first); 833}; 834script.async = true; 835script.src = '//seedtime.us/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 836first.parentNode.insertBefore(script, first); 837 838 }; 839 trekkie.load( 840 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":61538566328,"isMerchantRequest":null,"themeId":190639276216,"themeCityHash":"14067953017036307659","contentLanguage":"en","currency":"USD","eventMetadataId":"40374505-9f2f-435e-af7f-fb4d224c8275"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 841 ); 842 843 var loaded = false;
844 trekkie.ready(function() { 845 if (loaded) return; 846 loaded = true; 847 848 window.ShopifyAnalytics.lib = window.trekkie; 849 850 var originalDocumentWrite = document.write; 851 document.write = customDocumentWrite; 852 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 853 document.write = originalDocumentWrite; 854 855 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 856 var token = match? match[1]: undefined; 857 if (!hasLoggedConversion(token)) { 858 setCookieIfConversion(token); 859 860 } 861 }); 862 863 window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":164474192056,"requestId":"7b8d9bfb-0cc4-4dfa-b5e6-5706db3ee701-1790248569","shopifyEmitted":true}); 864 865 var eventsListenerScript = document.createElement('script'); 866 eventsListenerScript.async = true; 867 eventsListenerScript.src = "//seedtime.us/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 868 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 869})();</script>
vendor: 1 bytes, line 869
869
870<script 871 defer 872 src="https://seedtime.us/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 873 data-application="storefront-renderer" 874 data-shop-id="61538566328" 875 data-render-region="gcp-us-central1" 876 data-page-type="page" 877 data-theme-instance-id="190639276216" 878 data-theme-name="Empire" 879 data-theme-version="12.0.0" 880 data-monorail-region="shop_domain" 881 data-resource-timing-sampling-rate="10" 882 data-shs="true" 883 data-shs-beacon="true" 884 data-shs-export-with-fetch="true" 885 data-shs-logs-sample-rate="1" 886 data-shs-beacon-endpoint="https://seedtime.us/api/collect" 887></script>
887 888<meta name="shopify-y" content="7a222f04-4b5c-4a15-b68d-fb513b3fd3ba" data-expiration="1821806169000"><meta name="shopify-s" content="024eeeb0-4c34-43c6-8ae9-d3d571c30a5b" data-expiration="1790250369000"><meta name="new-cookie-storage-activated" content="t"> 889</head> 890 891 <body 892 class="template-page" 893 data-instant-allow-query-string 894 895 > 896 897 <noscript><img height="1" width="1" style="display:none" alt="" 898 src="https://www.facebook.com/tr?id=625476300918891&ev=PageView&noscript=1"></noscript> 899 900 <div class="label-cover-fix"></div> 901 <div class="store-content"> 902
902<script> 903 document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/, 'js'); 904 if (window.Shopify && window.Shopify.designMode) document.documentElement.className += ' in-theme-editor'; 905 if ('ontouchstart' in window || (window.DocumentTouch && document instanceof DocumentTouch)) 906 document.documentElement.className = document.documentElement.className.replace(/\bno-touch\b/, 'has-touch'); 907 </script>
907 908 909 <a class="skip-to-main" href="#site-main">Skip to content</a> 910 911 912 913 <div style="--background-color: #FFFFFF"> 914 915 916 917 </div> 918 919 <div class="intersection-target" data-header-intersection-target></div> 920 <div class="site-main-dimmer" data-site-main-dimmer></div> 921 <main id="site-main" class="site-main" aria-label="Main content" tabindex="-1"> 922 <div id="shopify-section-template--28488455651512__st_nav" class="shopify-section"> 923<style> 924 .shopify-section-group-header-group, 925 .shopify-section-group-footer-group { display: none !important; } 926 927 .sb-container, 928 .label-cover-fix { display: none !important; } 929 .store-content { margin-left: 0 !important; } 930 body { padding-left: 0 !important; } 931 932 [data-st-root] h1, [data-st-root] h2, [data-st-root] h3, 933 [data-st-root] h4, [data-st-root] h5, [data-st-root] h6 { 934 text-transform: none; 935 letter-spacing: normal; 936 } 937</style><style> 938 body { margin: 0; background: #ffffff; } 939 a { color: #79C048; text-decoration: none; } 940 a:hover { color: #5E9834; } 941 .st-navlinks { display: flex; } 942 .st-menu { position: relative; display: flex; align-items: center; } 943 .st-trigger:hover { color: #332B25; } 944 .st-chev { transition: transform 0.18s ease; } 945 .st-menu:hover .st-chev, 946 .st-menu:focus-within .st-chev { transform: rotate(180deg); } 947 .st-panel { position: absolute; top: 100%; left: 0; z-index: 10; padding-top: 10px; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.15s ease, visibility 0.15s ease; } 948 .st-panel > .st-card { transform: translateY(-6px); transition: transform 0.18s ease; } 949 .st-menu:hover > .st-panel, 950 .st-menu:focus-within > .st-panel { opacity: 1; visibility: visible; pointer-events: auto; } 951 .st-menu:hover > .st-panel > .st-card, 952 .st-menu:focus-within > .st-panel > .st-card { transform: translateY(0); } 953 .st-mi { transition: background 0.12s ease; border-radius: 10px; } 954 .st-mi:hover { background: #F7F6F3; } 955 .st-foot { transition: background 0.12s ease; } 956 .st-foot:hover { background: #EDF7E2; } 957 .st-burger { display: none; } 958 .st-sheet-row { border-radius: 10px; } 959 .st-sheet-row:hover { background: #F7F6F3; } 960 @media (max-width: 1024px) { 961 .st-navlinks, .st-login { display: none; } 962 .st-burger { display: inline-flex; } 963 } 964 @media (max-width: 560px) { 965 .st-cta { font-size: 14px !important; padding: 8px 15px !important; } 966 } 967 @media (max-width: 900px) { 968 body { overflow-x: hidden; } 969 } 970 971 /* ---------- flash guards and pointer affordance ---------- 972 sc-if / sc-for are the runtime's own template tags. Before st-dc.js boots 973 they are unknown elements, which render as plain inline boxes - so the 974 collapsed mobile sheet and both closed dropdowns painted in full on every 975 page load. The runtime replaces these tags with their resolved children, 976 so hiding them here costs nothing after boot; data-st-failed is the escape 977 hatch st-dc.js sets when a logic script will not compile, which puts the 978 server-rendered fallback back on screen. */ 979 sc-if, sc-for { display: none; } 980 [data-st-failed] sc-if, [data-st-failed] sc-for { display: contents; } 981 /* The one branch a page marks as its default view (the hero screenshot that 982 is the LCP element) is the exception: it paints straight from the server 983 HTML, so the largest image no longer waits for DOMContentLoaded + st-dc.js. 984 The runtime renders the same children, so hydration is a no-op visually. */ 985 sc-if.st-default { display: contents; } 986 987 /* A <button> takes the UA's arrow, an <a href> takes the hand. The nav and 988 the page bodies mix both for things that are all equally clickable, so say 989 it once here rather than per element. */ 990 [data-st-root] a[href], [data-st-root] button { cursor: pointer; } 991 992 /* ---------- the nav has to stick from its SECTION, not from inside it ---------- 993 The bar itself carries position: sticky, which is what makes it stick on 994 the design canvas, where the artboard's root holds the whole page. In the 995 theme the nav is its own section, so the bar's parent is only as tall as
996 the bar - and a sticky box can travel no further than its parent's box, so 997 it scrolled away immediately. Shopify wraps each section in 998 #shopify-section-<id>, a direct child of main.site-main, which IS the full 999 page: sticking THAT works on desktop and mobile alike. Nothing in the 1000 theme sets overflow or a transform on an ancestor, so nothing clips it. */ 1001 #shopify-section-template--28488455651512__st_nav { position: sticky; top: 0; z-index: 50; } 1002 1003 /* The current page's own row in the menus. */ 1004 [data-st-root] .st-mi[aria-current="page"], 1005 [data-st-root] .st-sheet-row[aria-current="page"] { background: #F3F9EB; } 1006 [data-st-root] .st-trigger[aria-current="page"] { color: #332B25; font-weight: 600; } 1007</style>
1008<script src="//seedtime.us/cdn/shop/t/26/assets/st-dc.js?v=116724557403111763891788386818" defer></script>
1008 1009<div data-st-root data-st-props='{}' style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; color: #332B25; font-size: 16px; line-height: 24px; background: #ffffff;"> 1010 1011 1012 <!-- ============ NAV (sticky, with dropdowns + mobile sheet) ============ --> 1013 <div style="position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(51,43,37,0.08);"> 1014 <div style="max-width: 1160px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 32px); min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px;"> 1015 <a href="/" style="display: flex; align-items: center; flex-shrink: 0;"> 1016 <img src="//seedtime.us/cdn/shop/t/26/assets/seedtime-logo_400x.png?v=109025060240820102471788308879" srcset="//seedtime.us/cdn/shop/t/26/assets/seedtime-logo_400x.png?v=109025060240820102471788308879 400w" sizes="(max-width: 900px) 100vw, 620px" width="400" height="94" loading="eager" alt="Seedtime garden planner" style="height: 32px; width: auto; display: block;"> 1017 </a> 1018 1019 <div class="st-navlinks" style="align-items: center; gap: 26px; font-size: 14px; line-height: 24px; font-weight: 500;"> 1020 <div class="st-menu"> 1021 <a class="st-trigger" href="/#toolshed" style="display: inline-flex; align-items: center; gap: 5px; color: #413E3C; padding: 24px 0; text-decoration: none;">
1021Features <svg class="st-chev" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M6 9l6 6 6-6"></path></svg></a> 1022 <div class="st-panel st-panel-wide"> 1023 <div class="st-card" style="width: 670px; max-width: calc(100vw - 40px); background: #ffffff; border: 1px solid #E4E1DC; border-radius: 14px; box-shadow: 0 18px 44px rgba(51,43,37,0.13), 0 3px 10px rgba(51,43,37,0.06); padding: 18px 20px;"> 1024 <div style="display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 10px; align-items: start;"> 1025 <div style="display: flex; flex-direction: column;"> 1026 <span style="font-size: 10.5px; line-height: 14px; font-weight: 700; letter-spacing: 0.9px; color: #A1A1A1; padding: 4px 10px 6px;">PLAN</span> 1027 <a class="st-mi" href="/pages/features-garden-blocks" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none;"> 1028 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><rect x="3" y="4" width="18" height="5" rx="1.5"></rect><rect x="3" y="11" width="11" height="5" rx="1.5"></rect><rect x="3" y="18" width="18" height="3" rx="1.5"></rect></svg></span> 1029 <span style="display: block; padding-top: 1px;"> 1030 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Garden Blocks</span><span style="background: #FFCE50; color: #332B25; font-size: 9px; line-height: 12px; font-weight: 700; padding: 2px 5px; border-radius: 999px; letter-spacing: 0.4px; margin-left: 6px; vertical-align: 1px;">NEW</span> 1031 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Done-for-you crop plans</span> 1032 </span> 1033 </a> 1034 <a class="st-mi" href="/pages/features-calendar" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none; border-radius: 10px;"> 1035 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><rect x="3" y="4" width="18" height="17" rx="2"></rect><path d="M8 2v4"></path><path d="M16 2v4"></path><path d="M3 9h18"></path><path d="M9 15l2 2 4-4"></path></svg></span> 1036 <span style="display: block; padding-top: 1px;"> 1037 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Calendar</span> 1038 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Dates from your frost dates</span> 1039 </span> 1040 </a> 1041 <a class="st-mi" href="/pages/features-layout" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none;"> 1042 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><rect x="3" y="3" width="18" height="18" rx="2"></rect><path d="M3 10h18"></path><path d="M10 10v11"></path></svg></span>
1043 <span style="display: block; padding-top: 1px;"> 1044 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Layout</span> 1045 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Beds, pots and GreenStalks</span> 1046 </span> 1047 </a> 1048 <a class="st-mi" href="/pages/features-tasks" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none;"> 1049 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M9 6h11"></path><path d="M9 12h11"></path><path d="M9 18h11"></path><path d="M4 5l1 1 2-2"></path><path d="M4 11l1 1 2-2"></path><path d="M4 17l1 1 2-2"></path></svg></span> 1050 <span style="display: block; padding-top: 1px;"> 1051 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Task list</span> 1052 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Your week, compiled</span> 1053 </span> 1054 </a> 1055 </div> 1056 <div style="display: flex; flex-direction: column;"> 1057 <span style="font-size: 10.5px; line-height: 14px; font-weight: 700; letter-spacing: 0.9px; color: #A1A1A1; padding: 4px 10px 6px;">TRACK</span> 1058 <a class="st-mi" href="/pages/features-journal" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none;"> 1059 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20V4a2 2 0 0 0-2-2H6.5A2.5 2.5 0 0 0 4 4.5z"></path><path d="M4 19.5A2.5 2.5 0 0 0 6.5 22H20v-5"></path></svg></span> 1060 <span style="display: block; padding-top: 1px;"> 1061 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Journal</span> 1062 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Notes and photos per bed</span> 1063 </span> 1064 </a> 1065 <a class="st-mi" href="/pages/features-weather" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none;"> 1066 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M17.5 19a4.5 4.5 0 1 0 0-9h-1.1A7 7 0 1 0 4 14.9"></path><path d="M8 19h.01"></path><path d="M12 21h.01"></path><path d="M12 17h.01"></path></svg></span> 1067 <span style="display: block; padding-top: 1px;"> 1068 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Weather</span><span style="background: #FFCE50; color: #332B25; font-size: 9px; line-height: 12px; font-weight: 700; padding: 2px 5px; border-radius: 999px; letter-spacing: 0.4px; margin-left: 6px; vertical-align: 1px;">NEW</span>
1069 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Forecast and historical data</span> 1070 </span> 1071 </a> 1072 <a class="st-mi" href="/pages/features-inventory" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none;"> 1073 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M21 8l-9-5-9 5v8l9 5 9-5z"></path><path d="M3 8l9 5 9-5"></path><path d="M12 13v9"></path></svg></span> 1074 <span style="display: block; padding-top: 1px;"> 1075 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Inventory</span> 1076 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Seeds and supplies on hand</span> 1077 </span> 1078 </a> 1079 <a class="st-mi" href="/pages/features-records" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none;"> 1080 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M4 20V10"></path><path d="M10 20V4"></path><path d="M16 20v-7"></path><path d="M22 20H2"></path></svg></span> 1081 <span style="display: block; padding-top: 1px;"> 1082 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Records & Analytics</span><span style="background: #FFCE50; color: #332B25; font-size: 9px; line-height: 12px; font-weight: 700; padding: 2px 5px; border-radius: 999px; letter-spacing: 0.4px; margin-left: 6px; vertical-align: 1px;">NEW</span> 1083 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Harvest logs and numbers</span> 1084 </span> 1085 </a> 1086 </div> 1087 <div style="display: flex; flex-direction: column;"> 1088 <span style="font-size: 10.5px; line-height: 14px; font-weight: 700; letter-spacing: 0.9px; color: #A1A1A1; padding: 4px 10px 6px;">LEARN & SHOP</span> 1089 <a class="st-mi" href="/pages/features-classroom" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none;"> 1090 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><rect x="2" y="4" width="20" height="13" rx="2"></rect><path d="M8 21h8"></path><path d="M12 17v4"></path><path d="M11 8.5l3.5 2-3.5 2z"></path></svg></span> 1091 <span style="display: block; padding-top: 1px;"> 1092 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Classroom</span> 1093 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Masterclass lessons, free</span> 1094 </span> 1095 </a> 1096 <a class="st-mi" href="/pages/store" style="display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; text-decoration: none;">
1097 <span style="width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M5 8h14l1 12H4z"></path><path d="M9 8V6a3 3 0 0 1 6 0v2"></path><path d="M9 12h6"></path></svg></span> 1098 <span style="display: block; padding-top: 1px;"> 1099 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Store</span> 1100 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Organic seeds and supplies</span> 1101 </span> 1102 </a> 1103 </div> 1104 </div> 1105 <a class="st-foot" href="/#toolshed" style="display: flex; align-items: center; justify-content: center; gap: 7px; margin: 6px -20px -18px; padding: 13px 20px; border-top: 1px solid #EDEBE7; background: #FBFAF8; border-radius: 0 0 14px 14px; font-size: 13px; line-height: 18px; font-weight: 600; color: #5E9834; text-decoration: none;">See all 11 tools in the toolshed <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M5 12h13"></path><path d="M12 5l7 7-7 7"></path></svg></a> 1106 </div> 1107 </div> 1108 </div> 1109 1110 <div class="st-menu"> 1111 <a class="st-trigger" href="/#use-cases" style="display: inline-flex; align-items: center; gap: 5px; color: #413E3C; padding: 24px 0; text-decoration: none;">
1111Use cases <svg class="st-chev" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M6 9l6 6 6-6"></path></svg></a> 1112 <div class="st-panel"> 1113 <div class="st-card" style="width: 340px; max-width: calc(100vw - 40px); background: #ffffff; border: 1px solid #E4E1DC; border-radius: 14px; box-shadow: 0 18px 44px rgba(51,43,37,0.13), 0 3px 10px rgba(51,43,37,0.06); padding: 14px 20px;"> 1114 <div style="display: flex; flex-direction: column;"> 1115 <a class="st-mi" href="/pages/for-patio-gardeners" style="display: flex; align-items: flex-start; gap: 11px; padding: 9px 10px; text-decoration: none;"> 1116 <span style="width: 34px; height: 34px; flex-shrink: 0; border-radius: 9px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M6.5 13.5h11l-1.2 7.2a1 1 0 0 1-1 .8H8.7a1 1 0 0 1-1-.8z"></path><path d="M5.5 13.5h13"></path><path d="M12 13.5V8"></path><path d="M12 10.5C9.8 10.5 8 8.9 8 6.7c2.2 0 4 1.6 4 3.8z"></path><path d="M12 9.5c0-2.4 1.7-4.2 4.2-4.2 0 2.3-1.8 4.2-4.2 4.2z"></path></svg></span> 1117 <span style="display: block; padding-top: 2px;"> 1118 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Patio gardeners</span> 1119 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Containers, balconies and GreenStalks</span> 1120 </span> 1121 </a> 1122 <a class="st-mi" href="/pages/for-backyard-gardeners" style="display: flex; align-items: flex-start; gap: 11px; padding: 9px 10px; text-decoration: none;"> 1123 <span style="width: 34px; height: 34px; flex-shrink: 0; border-radius: 9px; background: #FFF6DC; display: flex; align-items: center; justify-content: center;"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#E5B948" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M3 14h18v5.5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z"></path><path d="M3 14l2-2h14l2 2"></path><path d="M8.5 12V9.2"></path><path d="M8.5 10.4c-1.3 0-2.2-.9-2.2-2.2 1.3 0 2.2.9 2.2 2.2z"></path><path d="M8.5 10.4c0-1.3.9-2.2 2.2-2.2 0 1.3-.9 2.2-2.2 2.2z"></path><path d="M15.5 12V8.4"></path><path d="M15.5 9.6c-1.3 0-2.2-.9-2.2-2.2 1.3 0 2.2.9 2.2 2.2z"></path><path d="M15.5 9.6c0-1.3.9-2.2 2.2-2.2 0 1.3-.9 2.2-2.2 2.2z"></path></svg></span> 1124 <span style="display: block; padding-top: 2px;"> 1125 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Backyard gardeners</span> 1126 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Raised beds and kitchen gardens</span> 1127 </span> 1128 </a> 1129 <a class="st-mi" href="/pages/for-homesteaders" style="display: flex; align-items: flex-start; gap: 11px; padding: 9px 10px; text-decoration: none;"> 1130 <span style="width: 34px; height: 34px; flex-shrink: 0; border-radius: 9px; background: #F1EBE4; display: flex; align-items: center; justify-content: center;"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#786658" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M2 11l6.5-4.5L15 11"></path><path d="M3.2 10.6V20h10.6v-9.4"></path><path d="M6.6 20v-4.6h3.8V20"></path><path d="M3.2 14h10.6"></path><path d="M17.4 20v-6.6a2.1 2.1 0 0 1 4.2 0V20"></path><path d="M2 20h20"></path></svg></span> 1131 <span style="display: block; padding-top: 2px;">
1132 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Homesteaders</span> 1133 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Food-scale succession and preserving</span> 1134 </span> 1135 </a> 1136 <a class="st-mi" href="/pages/for-market-farmers" style="display: flex; align-items: flex-start; gap: 11px; padding: 9px 10px; text-decoration: none;"> 1137 <span style="width: 34px; height: 34px; flex-shrink: 0; border-radius: 9px; background: #FBEAE2; display: flex; align-items: center; justify-content: center;"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#C86D4E" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M3 8.6l1.9-4.6h14.2L21 8.6z"></path><path d="M4.7 8.6V20h14.6V8.6"></path><path d="M9 20v-5.6h6V20"></path><path d="M8 11.8h8"></path><path d="M2.4 20h19.2"></path></svg></span> 1138 <span style="display: block; padding-top: 2px;"> 1139 <span style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 18px; font-weight: 600; color: #332B25;">Market farmers</span> 1140 <span style="margin: 0; font-size: 12px; line-height: 16px; color: #786658; display: block; margin-top: 2px;">Harvest windows with no gaps</span> 1141 </span> 1142 </a> 1143 </div> 1144 <a class="st-foot" href="/#use-cases" style="display: flex; align-items: center; justify-content: center; gap: 7px; margin: 6px -20px -18px; padding: 13px 20px; border-top: 1px solid #EDEBE7; background: #FBFAF8; border-radius: 0 0 14px 14px; font-size: 13px; line-height: 18px; font-weight: 600; color: #5E9834; text-decoration: none;">Compare all four ways to grow <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M5 12h13"></path><path d="M12 5l7 7-7 7"></path></svg></a> 1145 </div> 1146 </div> 1147 </div> 1148 1149 <a href="/pages/pricing" aria-current="page" class="st-trigger" style="color: #413E3C; padding: 24px 0; text-decoration: none;">Pricing</a> 1150 <a href="/pages/store" class="st-trigger" style="color: #413E3C; padding: 24px 0; text-decoration: none;">Store</a> 1151 </div> 1152 1153 <div style="display: flex; align-items: center; gap: 14px; flex-shrink: 0;"> 1154 <a class="st-login" href="https://app.seedtime.us/" style="color: #413E3C; font-size: 14px; line-height: 24px; font-weight: 500; margin-right: 6px;">Log in</a> 1155 <a class="st-cta" href="https://app.seedtime.us/users/sign_up?ref_id=grow_onboarding" style="display: inline-block; background: #79C048; color: #ffffff; font-weight: 500; font-size: 15px; line-height: 24px; padding: 9px 22px; border-radius: 10px; box-shadow: 0 1px 2px rgba(94,152,52,0.35); white-space: nowrap;">Sign up free</a> 1156 <button class="st-burger" data-st-on="toggleMob" aria-label="Menu" aria-expanded="[[ mobAria ]]" style="width: 40px; height: 40px; align-items: center; justify-content: center; background: transparent; border: 1px solid #DBDBDB; border-radius: 10px; cursor: pointer; padding: 0; flex-shrink: 0;"> 1157 <sc-if value="[[ mobShut ]]" hint-placeholder-val="[[ true ]]"> 1158 <svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="#332B25" stroke-width="2.2" stroke-linecap="round"><path d="M3 6h18"></path><path d="M3 12h18"></path><path d="M3 18h18"></path></svg> 1159 </sc-if> 1160 <sc-if value="[[ mobOpen ]]" hint-placeholder-val="[[ true ]]"> 1161 <svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="#332B25" stroke-width="2.2" stroke-linecap="round"><path d="M5 5l14 14"></path><path d="M19 5L5 19"></path></svg> 1162 </sc-if> 1163 </button> 1164 </div> 1165 </div> 1166 1167 <sc-if value="[[ mobOpen ]]" hint-placeholder-val="[[ true ]]"> 1168 <div style="border-top: 1px solid rgba(51,43,37,0.08); background: #ffffff; max-height: calc(100vh - 72px); overflow-y: auto;"> 1169 <div style="max-width: 1160px; margin: 0 auto; padding: 10px clamp(16px, 4vw, 32px) 22px; display: flex; flex-direction: column; gap: 2px;"> 1170 <button class="st-sheet-row" data-st-on="toggleFeat" style="display: flex; align-items: center; gap: 11px; padding: 11px 12px; text-decoration: none; font-size: 15px; line-height: 22px; font-weight: 600; color: #332B25; width: 100%; justify-content: space-between; background: transparent; border: none; cursor: pointer; font-family: inherit; text-align: left;">
1171 <span>Features</span> 1172 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#786658" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="[[ featChev ]]"><path d="M6 9l6 6 6-6"></path></svg> 1173 </button> 1174 <sc-if value="[[ featOpen ]]" hint-placeholder-val="[[ true ]]"> 1175 <div style="display: flex; flex-direction: column; gap: 1px; padding: 2px 0 10px 8px; margin-left: 8px; border-left: 2px solid #EDF7E2;"> 1176 <span style="font-size: 10.5px; line-height: 14px; font-weight: 700; letter-spacing: 0.9px; color: #A1A1A1; padding: 8px 12px 4px;">PLAN</span> 1177 <a class="st-sheet-row" href="/pages/features-garden-blocks" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><rect x="3" y="4" width="18" height="5" rx="1.5"></rect><rect x="3" y="11" width="11" height="5" rx="1.5"></rect><rect x="3" y="18" width="18" height="3" rx="1.5"></rect></svg><span>Garden Blocks<span style="background: #FFCE50; color: #332B25; font-size: 9px; line-height: 12px; font-weight: 700; padding: 2px 5px; border-radius: 999px; letter-spacing: 0.4px; margin-left: 6px; vertical-align: 1px;">NEW</span></span></a> 1178 <a class="st-sheet-row" href="/pages/features-calendar" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><rect x="3" y="4" width="18" height="17" rx="2"></rect><path d="M8 2v4"></path><path d="M16 2v4"></path><path d="M3 9h18"></path><path d="M9 15l2 2 4-4"></path></svg><span>Calendar</span></a> 1179 <a class="st-sheet-row" href="/pages/features-layout" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><rect x="3" y="3" width="18" height="18" rx="2"></rect><path d="M3 10h18"></path><path d="M10 10v11"></path></svg><span>Layout</span></a> 1180 <a class="st-sheet-row" href="/pages/features-tasks" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M9 6h11"></path><path d="M9 12h11"></path><path d="M9 18h11"></path><path d="M4 5l1 1 2-2"></path><path d="M4 11l1 1 2-2"></path><path d="M4 17l1 1 2-2"></path></svg><span>Task list</span></a> 1181 <span style="font-size: 10.5px; line-height: 14px; font-weight: 700; letter-spacing: 0.9px; color: #A1A1A1; padding: 8px 12px 4px;">TRACK</span> 1182 <a class="st-sheet-row" href="/pages/features-journal" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20V4a2 2 0 0 0-2-2H6.5A2.5 2.5 0 0 0 4 4.5z"></path><path d="M4 19.5A2.5 2.5 0 0 0 6.5 22H20v-5"></path></svg><span>Journal</span></a> 1183 <a class="st-sheet-row" href="/pages/features-weather" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M17.5 19a4.5 4.5 0 1 0 0-9h-1.1A7 7 0 1 0 4 14.9"></path><path d="M8 19h.01"></path><path d="M12 21h.01"></path><path d="M12 17h.01"></path></svg><span>Weather<span style="background: #FFCE50; color: #332B25; font-size: 9px; line-height: 12px; font-weight: 700; padding: 2px 5px; border-radius: 999px; letter-spacing: 0.4px; margin-left: 6px; vertical-align: 1px;">NEW</span></span></a> 1184 <a class="st-sheet-row" href="/pages/features-inventory" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M21 8l-9-5-9 5v8l9 5 9-5z"></path><path d="M3 8l9 5 9-5"></path><path d="M12 13v9"></path></svg><span>Inventory</span></a> 1185 <a class="st-sheet-row" href="/pages/features-records" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M4 20V10"></path><path d="M10 20V4"></path><path d="M16 20v-7"></path><path d="M22 20H2"></path></svg><span>Records & Analytics<span style="background: #FFCE50; color: #332B25; font-size: 9px; line-height: 12px; font-weight: 700; padding: 2px 5px; border-radius: 999px; letter-spacing: 0.4px; margin-left: 6px; vertical-align: 1px;">NEW</span></span></a>
1186 <span style="font-size: 10.5px; line-height: 14px; font-weight: 700; letter-spacing: 0.9px; color: #A1A1A1; padding: 8px 12px 4px;">LEARN & SHOP</span> 1187 <a class="st-sheet-row" href="/pages/features-classroom" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><rect x="2" y="4" width="20" height="13" rx="2"></rect><path d="M8 21h8"></path><path d="M12 17v4"></path><path d="M11 8.5l3.5 2-3.5 2z"></path></svg><span>Classroom</span></a> 1188 <a class="st-sheet-row" href="/pages/store" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M5 8h14l1 12H4z"></path><path d="M9 8V6a3 3 0 0 1 6 0v2"></path><path d="M9 12h6"></path></svg><span>Store</span></a> 1189 </div> 1190 </sc-if> 1191 <button class="st-sheet-row" data-st-on="toggleUse" style="display: flex; align-items: center; gap: 11px; padding: 11px 12px; text-decoration: none; font-size: 15px; line-height: 22px; font-weight: 600; color: #332B25; width: 100%; justify-content: space-between; background: transparent; border: none; cursor: pointer; font-family: inherit; text-align: left;"> 1192 <span>Use cases</span> 1193 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#786658" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="[[ useChev ]]"><path d="M6 9l6 6 6-6"></path></svg> 1194 </button> 1195 <sc-if value="[[ useOpen ]]" hint-placeholder-val="[[ true ]]"> 1196 <div style="display: flex; flex-direction: column; gap: 1px; padding: 4px 0 10px 8px; margin-left: 8px; border-left: 2px solid #EDF7E2;"> 1197 <a class="st-sheet-row" href="/pages/for-patio-gardeners" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M6.5 13.5h11l-1.2 7.2a1 1 0 0 1-1 .8H8.7a1 1 0 0 1-1-.8z"></path><path d="M5.5 13.5h13"></path><path d="M12 13.5V8"></path><path d="M12 10.5C9.8 10.5 8 8.9 8 6.7c2.2 0 4 1.6 4 3.8z"></path><path d="M12 9.5c0-2.4 1.7-4.2 4.2-4.2 0 2.3-1.8 4.2-4.2 4.2z"></path></svg><span>Patio gardeners</span></a> 1198 <a class="st-sheet-row" href="/pages/for-backyard-gardeners" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#E5B948" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M3 14h18v5.5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z"></path><path d="M3 14l2-2h14l2 2"></path><path d="M8.5 12V9.2"></path><path d="M8.5 10.4c-1.3 0-2.2-.9-2.2-2.2 1.3 0 2.2.9 2.2 2.2z"></path><path d="M8.5 10.4c0-1.3.9-2.2 2.2-2.2 0 1.3-.9 2.2-2.2 2.2z"></path><path d="M15.5 12V8.4"></path><path d="M15.5 9.6c-1.3 0-2.2-.9-2.2-2.2 1.3 0 2.2.9 2.2 2.2z"></path><path d="M15.5 9.6c0-1.3.9-2.2 2.2-2.2 0 1.3-.9 2.2-2.2 2.2z"></path></svg><span>Backyard gardeners</span></a> 1199 <a class="st-sheet-row" href="/pages/for-homesteaders" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#786658" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M2 11l6.5-4.5L15 11"></path><path d="M3.2 10.6V20h10.6v-9.4"></path>
1199<path d="M6.6 20v-4.6h3.8V20"></path><path d="M3.2 14h10.6"></path><path d="M17.4 20v-6.6a2.1 2.1 0 0 1 4.2 0V20"></path><path d="M2 20h20"></path></svg><span>Homesteaders</span></a> 1200 <a class="st-sheet-row" href="/pages/for-market-farmers" style="display: flex; align-items: center; gap: 10px; padding: 9px 12px; text-decoration: none; font-size: 14.5px; line-height: 20px; font-weight: 500; color: #413E3C;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#C86D4E" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0;"><path d="M3 8.6l1.9-4.6h14.2L21 8.6z"></path><path d="M4.7 8.6V20h14.6V8.6"></path><path d="M9 20v-5.6h6V20"></path><path d="M8 11.8h8"></path><path d="M2.4 20h19.2"></path></svg><span>Market farmers</span></a> 1201 </div> 1202 </sc-if> 1203 <a class="st-sheet-row" href="/pages/pricing" aria-current="page" style="display: flex; align-items: center; gap: 11px; padding: 11px 12px; text-decoration: none; font-size: 15px; line-height: 22px; font-weight: 600; color: #332B25;">Pricing</a> 1204 <a class="st-sheet-row" href="/pages/store" style="display: flex; align-items: center; gap: 11px; padding: 11px 12px; text-decoration: none; font-size: 15px; line-height: 22px; font-weight: 600; color: #332B25;">Store</a> 1205 <a class="st-sheet-row" href="https://app.seedtime.us/" style="display: flex; align-items: center; gap: 11px; padding: 11px 12px; text-decoration: none; font-size: 15px; line-height: 22px; font-weight: 600; color: #332B25;">Log in</a> 1206 <a href="https://app.seedtime.us/users/sign_up?ref_id=grow_onboarding" style="margin-top: 12px; display: block; text-align: center; background: #79C048; color: #ffffff; font-weight: 600; font-size: 16px; line-height: 24px; padding: 14px 22px; border-radius: 12px; box-shadow: 0 1px 2px rgba(94,152,52,0.35);">Create your free account</a> 1207 <span style="text-align: center; font-size: 12.5px; line-height: 18px; color: #786658; padding-top: 8px;">Free forever - no credit card needed</span> 1208 </div> 1209 </div> 1210 </sc-if> 1211 </div> 1212
1213<script type="text/st-logic"> 1214class Component extends DCLogic { 1215 renderVals() { 1216 const mob = this.state?.mob ?? false; 1217 const feat = this.state?.mobFeat ?? false; 1218 const uses = this.state?.mobUse ?? false; 1219 const flip = 'transition: transform 0.18s ease; transform: rotate(180deg);'; 1220 const flat = 'transition: transform 0.18s ease;'; 1221 return { 1222 mobOpen: mob, mobShut: !mob, mobAria: mob ? 'true' : 'false', 1223 toggleMob: () => this.setState({ mob: !mob }), 1224 featOpen: feat, featChev: feat ? flip : flat, 1225 toggleFeat: () => this.setState({ mobFeat: !feat }), 1226 useOpen: uses, useChev: uses ? flip : flat, 1227 toggleUse: () => this.setState({ mobUse: !uses }), 1228 }; 1229 } 1230} 1231</script>
1231 1232</div> 1233 1234 1235 1236</div><div id="shopify-section-template--28488455651512__st_body" class="shopify-section"><style> 1237body { margin: 0; background: #ffffff; } 1238 a { color: #79C048; text-decoration: none; } 1239 a:hover { color: #5E9834; } 1240 img, svg { max-width: 100%; } 1241 /* ---------- nav: desktop hover dropdowns ---------- 1242 Open/close lives entirely in this sheet (opacity + visibility) because 1243 the editor writes inline styles, and an inline display/opacity would 1244 outrank any :hover rule. The panels therefore set no inline opacity. */ 1245 .st-navlinks { display: flex; } 1246 .st-menu { position: relative; display: flex; align-items: center; } 1247 .st-trigger:hover { color: #332B25; } 1248 .st-chev { transition: transform 0.18s ease; } 1249 .st-menu:hover .st-chev, 1250 .st-menu:focus-within .st-chev { transform: rotate(180deg); } 1251 .st-panel { 1252 position: absolute; top: 100%; left: 0; z-index: 10; 1253 /* Transparent bridge so the pointer can cross the gap without closing. */ 1254 padding-top: 10px; 1255 opacity: 0; visibility: hidden; pointer-events: none; 1256 transition: opacity 0.15s ease, visibility 0.15s ease; 1257 } 1258 .st-panel > .st-card { transform: translateY(-6px); transition: transform 0.18s ease; } 1259 .st-menu:hover > .st-panel, 1260 .st-menu:focus-within > .st-panel { opacity: 1; visibility: visible; pointer-events: auto; } 1261 .st-menu:hover > .st-panel > .st-card, 1262 .st-menu:focus-within > .st-panel > .st-card { transform: translateY(0); } 1263 .st-mi { transition: background 0.12s ease; border-radius: 10px; } 1264 .st-mi:hover { background: #F7F6F3; } 1265 .st-foot { transition: background 0.12s ease; } 1266 .st-foot:hover { background: #EDF7E2; } 1267 /* The wide Features panel is left-anchored under its trigger, so it can 1268 never run off either edge of the 1160px shell. */ 1269 .st-burger { display: none; } 1270 .st-sheet-row { border-radius: 10px; } 1271 .st-sheet-row:hover { background: #F7F6F3; } 1272 1273 /* Tablets and phones: the two dropdowns and the log-in link fold into the 1274 burger sheet, since :hover is not a gesture a touch device has. */ 1275 @media (max-width: 1024px) { 1276 .st-navlinks, .st-login { display: none; } 1277 .st-burger { display: inline-flex; } 1278 } 1279 @media (max-width: 560px) { 1280 .st-cta { font-size: 14px !important; padding: 8px 15px !important; } 1281 } 1282 @media (max-width: 760px) { 1283 .st-tabs > button { font-size: 12px !important; padding: 6px 10px !important; } 1284 } 1285 @media (max-width: 900px) { 1286 body { overflow-x: hidden; } 1287 } 1288 /* ---------- FAQ accordion ---------- 1289 One open at a time. The bar is a real <button> so it is reachable by 1290 keyboard; open/close is DCLogic state, and the hover wash lives here 1291 rather than inline so the editor's inline styles cannot outrank it. */ 1292 .st-faq { transition: background 0.14s ease; } 1293 .st-faq:hover { background: #EFEDE8; } 1294</style> 1295<div data-st-root data-st-props='{"billing":{"editor":"enum","options":["yearly","monthly"],"default":"yearly","section":"Pricing"},"mobileMenu":{"editor":"enum","options":["closed","open"],"default":"closed","section":"Mobile nav"},"upsell":{"editor":"enum","options":["closed","basic","unlimited"],"default":"closed","section":"Pricing"}}' style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; color: #332B25; font-size: 16px; line-height: 24px; background: #ffffff;"> 1296 1297 <!-- ============ PRICING HEADER ============ --> 1298 <div style="background: radial-gradient(ellipse 85% 70% at 50% 18%, #FAF6F0 0%, #FAF6F0 26%, #f6f5f3 78%);"> 1299 <div style="max-width: 1160px; margin: 0 auto; padding: clamp(48px, 7vw, 80px) clamp(20px, 4vw, 32px) clamp(40px, 6vw, 64px); display: flex; flex-direction: column; align-items: center; gap: 22px;"> 1300 <h1 style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: clamp(31px, 5vw, 48px); line-height: 1.16; letter-spacing: -1px; margin: 0; text-align: center; max-width: 820px; color: #332B25;">Simple pricing that grows with your garden</h1> 1301 <p style="margin: 0; text-align: center; max-width: 640px; font-size: clamp(15px, 1.8vw, 17px); line-height: 1.6; color: #413E3C;">Start with the free garden planner - free forever, no credit card. Upgrade any time for unlimited calendars, layouts, and AI planning. Every paid plan has a 7-day free trial and a 30 day money back guarantee.</p> 1302 <div style="display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px;"> 1303 <div class="st-tabs" style="display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px; background: #ffffff; border: 1px solid #DBDBDB; border-radius: 999px; padding: 4px;"> 1304 <button data-st-on="showYearly" style="[[ yearlyStyle ]]">Yearly</button> 1305 <button data-st-on="showMonthly" style="[[ monthlyStyle ]]">Monthly</button> 1306 </div>
1307 <span style="background: #EDF7E2; color: #5E9834; font-size: 13px; line-height: 16px; font-weight: 600; padding: 3px 10px; border-radius: 999px; white-space: nowrap;">Save 30% yearly</span> 1308 </div> 1309 <div class="trustpilot-widget" data-locale="en-US" data-template-id="5419b6ffb0d04a076446a9af" data-businessunit-id="619692b49cb21c68d61222cc" data-style-height="20px" data-style-width="100%" data-token="3bb14984-8cd9-4a90-a2f8-b389afc2f9af" data-font-family="Raleway" data-text-color="#332B25" data-style-alignment="center" style="width: 100%; display: flex; align-items: center; justify-content: center;"><a href="https://www.trustpilot.com/review/seedtime.us" target="_blank" rel="noopener">Trustpilot</a></div> 1310 </div> 1311 </div> 1312 1313 <!-- ============ PLAN CARDS ============ --> 1314 <div style="background: #f6f5f3; border-bottom: 1px solid rgba(51,43,37,0.06);"> 1315 <div style="max-width: 1160px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px) clamp(56px, 8vw, 80px);"> 1316 <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; align-items: start;"> 1317 <div style="background: #ffffff; border: 1px solid #DBDBDB; border-radius: 18px; padding: 30px 28px; display: flex; flex-direction: column; gap: 14px;"> 1318 <div style="display: flex; align-items: center; justify-content: space-between; gap: 8px;"> 1319 <span style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 22px; line-height: 26px; color: #332B25;">Free</span> 1320 <span style="background: #EDF7E2; color: #5E9834; font-size: 13px; line-height: 16px; font-weight: 600; padding: 3px 10px; border-radius: 999px; white-space: nowrap;">Start here</span> 1321 </div> 1322 <div style="display: flex; flex-direction: column; gap: 2px;"> 1323 <div style="display: flex; align-items: baseline; gap: 6px;"> 1324 <span style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: clamp(32px, 4vw, 42px); line-height: 1.1; color: #332B25;">$0</span> 1325 <span style="font-size: 14px; line-height: 24px; color: #A1A1A1;">/forever</span> 1326 </div> 1327 <span style="font-size: 13px; line-height: 18px; color: #A1A1A1;">Free forever. No trial period.</span> 1328 </div> 1329 <a href="https://app.seedtime.us/users/sign_up?ref_id=grow_onboarding" style="display: block; text-align: center; background: #79C048; color: #ffffff; font-weight: 500; font-size: 16px; line-height: 24px; padding: 13px 24px; border-radius: 12px;">Get My Free Account</a> 1330 <span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #332B25; letter-spacing: 1.5px; border-top: 1px solid #f6f5f3; padding-top: 14px;">WHAT'S INCLUDED:</span> 1331 <div style="display: flex; flex-direction: column; gap: 8px;"> 1332 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Garden Blocks</span> <span style="background: #FFCE50; color: #332B25; font-size: 11px; line-height: 14px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: 0.5px; white-space: nowrap;">NEW</span></div> 1333 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1334 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1335 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Done-for-you garden plans to grow a continual harvest all year/season with just a couple clicks</span> 1336 </div> 1337 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">AI Planning Features</span></div> 1338 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1339 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg>
1340 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">10 monthly credits to find the next best seeding date for crops - all year round</span> 1341 </div> 1342 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1343 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1344 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Companion planting suggestions based on your growing zone</span> 1345 </div> 1346 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1347 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1348 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Worldwide calendar settings & support</span> 1349 </div> 1350 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Calendar</span></div> 1351 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1352 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1353 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">1 calendar</span> 1354 </div> 1355 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1356 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1357 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Built-in crop categories and varieties</span> 1358 </div> 1359 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1360 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1361 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited planting schedules</span> 1362 </div> 1363 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Layout</span> <span style="background: #FFCE50; color: #332B25; font-size: 11px; line-height: 14px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: 0.5px; white-space: nowrap;">NEW</span></div> 1364 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1365 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1366 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">1 visual layout of your garden with up to 8 rectangular beds</span> 1367 </div> 1368 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Tasks</span></div> 1369 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1370 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg>
1371 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited tasks</span> 1372 </div> 1373 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Journal</span></div> 1374 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1375 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1376 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited journal entries</span> 1377 </div> 1378 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Classroom</span></div> 1379 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1380 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1381 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Masterclass video lesson series</span> 1382 </div> 1383 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Community</span></div> 1384 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1385 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1386 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Private Facebook group</span> 1387 </div> 1388 </div> 1389 </div> 1390 <div style="background: #ffffff; border: 2px solid #79C048; border-radius: 18px; padding: 30px 28px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 4px 24px rgba(121,192,72,0.14);"> 1391 <div style="display: flex; align-items: center; justify-content: space-between; gap: 8px;"> 1392 <span style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 22px; line-height: 26px; color: #332B25;">Unlimited</span> 1393 <span style="background: #EDF7E2; color: #5E9834; font-size: 13px; line-height: 16px; font-weight: 600; padding: 3px 10px; border-radius: 999px; white-space: nowrap;">Recommended</span> 1394 </div> 1395 <span style="font-size: 13px; line-height: 18px; font-weight: 600; color: #5E9834;">7 day FREE trial and then:</span> 1396 <sc-if value="[[ isYearly ]]" hint-placeholder-val="[[ true ]]"> 1397 <div style="display: flex; flex-direction: column; gap: 2px;"> 1398 <div style="display: flex; align-items: baseline; gap: 6px;"> 1399 <span style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: clamp(32px, 4vw, 42px); line-height: 1.1; color: #332B25;">$14</span> 1400 <span style="font-size: 14px; line-height: 24px; color: #A1A1A1;">/mo</span> 1401 </div> 1402 <span style="font-size: 13px; line-height: 18px; color: #A1A1A1;">Billed annually at $168/yr</span> 1403 </div> 1404 </sc-if> 1405 <sc-if value="[[ isMonthly ]]" hint-placeholder-val="[[ true ]]"> 1406 <div style="display: flex; flex-direction: column; gap: 2px;"> 1407 <div style="display: flex; align-items: baseline; gap: 6px;"> 1408 <span style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: clamp(32px, 4vw, 42px); line-height: 1.1; color: #332B25;">$20</span>
1409 <span style="font-size: 14px; line-height: 24px; color: #A1A1A1;">/mo</span> 1410 </div> 1411 <span style="font-size: 13px; line-height: 18px; color: #A1A1A1;">Billed monthly</span> 1412 </div> 1413 </sc-if> 1414 <button data-st-on="openUnlimited" style="display: block; width: 100%; text-align: center; background: #79C048; color: #ffffff; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 500; font-size: 16px; line-height: 24px; padding: 13px 24px; border-radius: 12px; border: none; cursor: pointer;">Try for Free</button> 1415 <span style="font-size: 13px; line-height: 18px; color: #A1A1A1; text-align: center;">Already have an account? <button data-st-on="openUnlimited" style="background: none; border: none; padding: 0; cursor: pointer; font-family: inherit; font-size: inherit; line-height: inherit; font-weight: 500; color: #79C048;">Upgrade here</button></span> 1416 <span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #332B25; letter-spacing: 1.5px; border-top: 1px solid #f6f5f3; padding-top: 14px;">WHAT'S INCLUDED:</span> 1417 <div style="display: flex; flex-direction: column; gap: 8px;"> 1418 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Garden Blocks</span> <span style="background: #FFCE50; color: #332B25; font-size: 11px; line-height: 14px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: 0.5px; white-space: nowrap;">NEW</span></div> 1419 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1420 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1421 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Done-for-you garden plans to grow a continual harvest all year/season with just a couple clicks</span> 1422 </div> 1423 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">AI Planning Features</span></div> 1424 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1425 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1426 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited credits to find the next best seeding date for crops - all year round</span> 1427 </div> 1428 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1429 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1430 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Companion planting suggestions based on your growing zone</span> 1431 </div> 1432 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1433 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1434 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Worldwide calendar settings & support</span> 1435 </div> 1436 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Calendar</span></div> 1437 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1438 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg>
1439 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited calendars</span> 1440 </div> 1441 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1442 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1443 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Built-in crop categories and varieties</span> 1444 </div> 1445 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1446 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1447 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited planting schedules</span> 1448 </div> 1449 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1450 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1451 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited custom crop categories</span> 1452 </div> 1453 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1454 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1455 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited custom varieties</span> 1456 </div> 1457 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1458 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1459 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited custom tasks/task series</span> 1460 </div> 1461 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1462 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1463 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited custom perennial crops</span> 1464 </div> 1465 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Layout</span></div> 1466 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1467 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1468 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited visual layouts of your garden that seamlessly connect with your gardening calendars</span> 1469 </div> 1470 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1471 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1472 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Full access to bed shapes - no restrictions</span> 1473 </div> 1474 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Tasks</span></div> 1475 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1476 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg>
1477 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited tasks</span> 1478 </div> 1479 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Journal</span></div> 1480 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1481 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1482 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited journal entries</span> 1483 </div> 1484 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Inventory</span></div> 1485 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1486 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1487 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited access to inventory management</span> 1488 </div> 1489 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Records & Analytics</span> <span style="background: #FFCE50; color: #332B25; font-size: 11px; line-height: 14px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: 0.5px; white-space: nowrap;">NEW</span></div> 1490 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1491 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1492 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited access to harvest tracking</span> 1493 </div> 1494 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Weather</span> <span style="background: #FFCE50; color: #332B25; font-size: 11px; line-height: 14px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: 0.5px; white-space: nowrap;">NEW</span></div> 1495 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1496 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1497 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited access to weather forecast and historical data</span> 1498 </div> 1499 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Classroom</span></div> 1500 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1501 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1502 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Masterclass video lesson series</span> 1503 </div> 1504 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Community</span></div> 1505 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1506 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg>
1507 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Private Facebook group</span> 1508 </div> 1509 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Store</span></div> 1510 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1511 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1512 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Get up to 20% off seeds, fertilizers, and more</span> 1513 </div> 1514 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">30 Day Money Back Guarantee</span></div> 1515 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1516 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1517 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Try Seedtime risk-free for 30 days</span> 1518 </div> 1519 </div> 1520 </div> 1521 <div style="background: #ffffff; border: 1px solid #DBDBDB; border-radius: 18px; padding: 30px 28px; display: flex; flex-direction: column; gap: 14px;"> 1522 <div style="display: flex; align-items: center; justify-content: space-between; gap: 8px;"> 1523 <span style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 22px; line-height: 26px; color: #332B25;">Basic</span> 1524 </div> 1525 <span style="font-size: 13px; line-height: 18px; font-weight: 600; color: #5E9834;">7 day FREE trial and then:</span> 1526 <sc-if value="[[ isYearly ]]" hint-placeholder-val="[[ true ]]"> 1527 <div style="display: flex; flex-direction: column; gap: 2px;"> 1528 <div style="display: flex; align-items: baseline; gap: 6px;"> 1529 <span style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: clamp(32px, 4vw, 42px); line-height: 1.1; color: #332B25;">$7</span> 1530 <span style="font-size: 14px; line-height: 24px; color: #A1A1A1;">/mo</span> 1531 </div> 1532 <span style="font-size: 13px; line-height: 18px; color: #A1A1A1;">Billed annually at $84/yr</span> 1533 </div> 1534 </sc-if> 1535 <sc-if value="[[ isMonthly ]]" hint-placeholder-val="[[ true ]]"> 1536 <div style="display: flex; flex-direction: column; gap: 2px;"> 1537 <div style="display: flex; align-items: baseline; gap: 6px;"> 1538 <span style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: clamp(32px, 4vw, 42px); line-height: 1.1; color: #332B25;">$10</span> 1539 <span style="font-size: 14px; line-height: 24px; color: #A1A1A1;">/mo</span> 1540 </div> 1541 <span style="font-size: 13px; line-height: 18px; color: #A1A1A1;">Billed monthly</span> 1542 </div> 1543 </sc-if> 1544 <button data-st-on="openBasic" style="display: block; width: 100%; text-align: center; background: #79C048; color: #ffffff; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 500; font-size: 16px; line-height: 24px; padding: 13px 24px; border-radius: 12px; border: none; cursor: pointer;">Try for Free</button> 1545 <span style="font-size: 13px; line-height: 18px; color: #A1A1A1; text-align: center;">Already have an account? <button data-st-on="openBasic" style="background: none; border: none; padding: 0; cursor: pointer; font-family: inherit; font-size: inherit; line-height: inherit; font-weight: 500; color: #79C048;">Upgrade here</button></span>
1546 <span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #332B25; letter-spacing: 1.5px; border-top: 1px solid #f6f5f3; padding-top: 14px;">WHAT'S INCLUDED:</span> 1547 <div style="display: flex; flex-direction: column; gap: 8px;"> 1548 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Garden Blocks</span> <span style="background: #FFCE50; color: #332B25; font-size: 11px; line-height: 14px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: 0.5px; white-space: nowrap;">NEW</span></div> 1549 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1550 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1551 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Done-for-you garden plans to grow a continual harvest all year/season with just a couple clicks</span> 1552 </div> 1553 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">AI Planning Features</span></div> 1554 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1555 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1556 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">1,200 yearly credits to find the next best seeding date for crops - all year round</span> 1557 </div> 1558 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1559 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1560 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Companion planting suggestions based on your growing zone</span> 1561 </div> 1562 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1563 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1564 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Worldwide calendar settings & support</span> 1565 </div> 1566 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Calendar</span></div> 1567 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1568 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1569 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">1 calendar</span> 1570 </div> 1571 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1572 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1573 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Built-in crop categories and varieties</span> 1574 </div> 1575 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1576 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg>
1577 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited planting schedules</span> 1578 </div> 1579 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1580 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1581 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited custom crop categories</span> 1582 </div> 1583 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1584 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1585 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited custom varieties</span> 1586 </div> 1587 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1588 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1589 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited custom tasks/task series</span> 1590 </div> 1591 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1592 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1593 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited custom perennial crops</span> 1594 </div> 1595 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Layout</span></div> 1596 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1597 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1598 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">1 visual layout of your garden that seamlessly connects with your gardening calendar</span> 1599 </div> 1600 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1601 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1602 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Full access to bed shapes - no restrictions</span> 1603 </div> 1604 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Tasks</span></div> 1605 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1606 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1607 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited tasks</span> 1608 </div> 1609 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">
1609Seedtime Journal</span></div> 1610 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1611 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1612 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited journal entries</span> 1613 </div> 1614 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Weather</span> <span style="background: #FFCE50; color: #332B25; font-size: 11px; line-height: 14px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: 0.5px; white-space: nowrap;">NEW</span></div> 1615 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1616 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1617 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Unlimited access to weather forecast and historical data</span> 1618 </div> 1619 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Classroom</span></div> 1620 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1621 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1622 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Masterclass video lesson series</span> 1623 </div> 1624 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Community</span></div> 1625 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1626 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1627 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Private Facebook group</span> 1628 </div> 1629 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">Seedtime Store</span></div> 1630 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1631 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg> 1632 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Get up to 20% off seeds, fertilizers, and more</span> 1633 </div> 1634 <div style="display: flex; align-items: center; gap: 8px; margin-top: 8px;"><span style="font-size: 12px; line-height: 16px; font-weight: 700; color: #786658; text-transform: uppercase; letter-spacing: 1px;">30 Day Money Back Guarantee</span></div> 1635 <div style="display: flex; align-items: flex-start; gap: 9px;"> 1636 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink: 0; margin-top: 3px;"><path d="M5 13l4 4L19 7"></path></svg>
1637 <span style="font-size: 14px; line-height: 21px; color: #413E3C;">Try Seedtime risk-free for 30 days</span> 1638 </div> 1639 </div> 1640 </div> 1641 </div> 1642 </div> 1643 </div> 1644 1645 <!-- ============ GUARANTEE BAND ============ --> 1646 <div style="background: #ffffff;"> 1647 <div style="max-width: 1160px; margin: 0 auto; padding: clamp(40px, 6vw, 64px) clamp(20px, 4vw, 32px); display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px 28px;"> 1648 <span style="width: 64px; height: 64px; flex-shrink: 0; border-radius: 999px; background: #EDF7E2; display: flex; align-items: center; justify-content: center;"> 1649 <svg width="30" height="30" viewBox="0 0 24 24" fill="none" stroke="#5E9834" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l8 3.5v5.2c0 5-3.4 9.3-8 10.8-4.6-1.5-8-5.8-8-10.8V5.5z"></path><path d="M8.5 12.2l2.4 2.4 4.6-4.8"></path></svg> 1650 </span> 1651 <div style="display: flex; flex-direction: column; gap: 4px; max-width: 620px;"> 1652 <span style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 20px; line-height: 26px; color: #332B25;">30 day money back guarantee</span> 1653 <span style="font-size: 15px; line-height: 24px; color: #413E3C;">Try Seedtime risk-free for 30 days on any paid plan. If it does not make your garden easier to plan, get your money back.</span> 1654 </div> 1655 </div> 1656 </div> 1657 1658 <!-- ============ PRICING TESTIMONIALS ============ --> 1659 <div style="background: #f6f5f3;"> 1660 <div style="max-width: 1160px; margin: 0 auto; padding: clamp(56px, 8vw, 80px) clamp(20px, 4vw, 32px); display: flex; flex-direction: column; gap: 40px;"> 1661 <h2 style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: clamp(26px, 4vw, 38px); line-height: 1.26; margin: 0; color: #332B25; text-align: center;">Worth every penny, in their words</h2> 1662 <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px;"> 1663 <div style="background: #ffffff; border: 1px solid #DBDBDB; border-radius: 18px; padding: 30px 28px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 2px 14px rgba(51,43,37,0.05);"> 1664 <div style="display: flex; gap: 2px;"><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg></div> 1665 <p style="margin: 0; font-size: 15px; line-height: 26px; color: #332B25; flex-grow: 1;">"Seedtime is the best money I have ever spent on securing my food growing garden"</p> 1666 <div style="display: flex; align-items: center; gap: 12px; border-top: 1px solid #f6f5f3; padding-top: 16px;"> 1667 <span style="width: 36px; height: 36px; flex-shrink: 0; border-radius: 999px; background: #EDF7E2; display: flex; align-items: center; justify-content: center; font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 15px; color: #5E9834;">A</span> 1668 <div style="display: flex; flex-direction: column;"> 1669 <span style="font-size: 14px; line-height: 20px; font-weight: 600; color: #332B25;">aje</span> 1670 <span style="font-size: 12px; line-height: 16px; color: #A1A1A1;">relocated gardener, 16 raised beds · Aug 2024 · <a href="https://www.trustpilot.com/reviews/66ac37fa3e59914c70c9c6ed" target="_blank" rel="noopener nofollow" aria-label="Read ajeâs review on Trustpilot" style="color: inherit; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #C9C9C9;">Trustpilot</a></span> 1671 </div>
1672 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="margin-left: auto; flex-shrink: 0;"><circle cx="12" cy="12" r="9" stroke-width="1.6"></circle><path d="M8.5 12.5l2.5 2.5 4.5-5"></path></svg> 1673 </div> 1674 </div> 1675 <div style="background: #ffffff; border: 1px solid #DBDBDB; border-radius: 18px; padding: 30px 28px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 2px 14px rgba(51,43,37,0.05);"> 1676 <div style="display: flex; gap: 2px;"><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg></div> 1677 <p style="margin: 0; font-size: 15px; line-height: 26px; color: #332B25; flex-grow: 1;">"I signed up for a free Seedtime account and was blown away at the ease of use! Especially for someone who is tech savvy challenged!"</p> 1678 <div style="display: flex; align-items: center; gap: 12px; border-top: 1px solid #f6f5f3; padding-top: 16px;"> 1679 <span style="width: 36px; height: 36px; flex-shrink: 0; border-radius: 999px; background: #FBF0D0; display: flex; align-items: center; justify-content: center; font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 15px; color: #8a6a12;">M</span> 1680 <div style="display: flex; flex-direction: column;"> 1681 <span style="font-size: 14px; line-height: 20px; font-weight: 600; color: #332B25;">Michelle</span> 1682 <span style="font-size: 12px; line-height: 16px; color: #A1A1A1;">started on the free plan · Nov 2023 · <a href="https://www.trustpilot.com/reviews/654e2d69537622f42319d901" target="_blank" rel="noopener nofollow" aria-label="Read Michelleâs review on Trustpilot" style="color: inherit; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #C9C9C9;">Trustpilot</a></span> 1683 </div> 1684 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="margin-left: auto; flex-shrink: 0;"><circle cx="12" cy="12" r="9" stroke-width="1.6"></circle><path d="M8.5 12.5l2.5 2.5 4.5-5"></path></svg> 1685 </div> 1686 </div> 1687 <div style="background: #ffffff; border: 1px solid #DBDBDB; border-radius: 18px; padding: 30px 28px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 2px 14px rgba(51,43,37,0.05);"> 1688 <div style="display: flex; gap: 2px;"><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg><svg width="15" height="15" viewBox="0 0 24 24" fill="#FFCE50"><path d="M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 16.9 5.9 20.4l1.5-6.8L2.2 9l6.9-.7z"></path></svg></div> 1689 <p style="margin: 0; font-size: 15px;
1689 line-height: 26px; color: #332B25; flex-grow: 1;">"...my garden this year is wonderful even if I am behind with seeding / transplanting easy to readjust..."</p> 1690 <div style="display: flex; align-items: center; gap: 12px; border-top: 1px solid #f6f5f3; padding-top: 16px;"> 1691 <span style="width: 36px; height: 36px; flex-shrink: 0; border-radius: 999px; background: rgba(200,109,78,0.16); display: flex; align-items: center; justify-content: center; font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 15px; color: #B25E3F;">N</span> 1692 <div style="display: flex; flex-direction: column;"> 1693 <span style="font-size: 14px; line-height: 20px; font-weight: 600; color: #332B25;">Nora Yachnes</span> 1694 <span style="font-size: 12px; line-height: 16px; color: #A1A1A1;">yearly subscriber · Jun 2024 · <a href="https://www.trustpilot.com/reviews/667e086474b4cccc71043b1d" target="_blank" rel="noopener nofollow" aria-label="Read Nora Yachnesâs review on Trustpilot" style="color: inherit; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #C9C9C9;">Trustpilot</a></span> 1695 </div> 1696 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#79C048" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="margin-left: auto; flex-shrink: 0;"><circle cx="12" cy="12" r="9" stroke-width="1.6"></circle><path d="M8.5 12.5l2.5 2.5 4.5-5"></path></svg> 1697 </div> 1698 </div> 1699 </div> 1700 </div> 1701 </div> 1702 1703 <!-- ============ FAQ ============ --> 1704 <div style="background: #ffffff;"> 1705 <div style="max-width: 1160px; margin: 0 auto; padding: clamp(56px, 8vw, 80px) clamp(20px, 4vw, 32px); display: flex; flex-direction: column; gap: 40px;"> 1706 <h2 style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: clamp(26px, 4vw, 38px); line-height: 1.26; margin: 0; color: #332B25; text-align: center;">Questions, answered</h2> 1707 <div style="display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 860px; margin: 0 auto;"><div style="display: flex; flex-direction: column; width: 100%;"><button class="st-faq" data-st-on="faqTap1" style="box-sizing: border-box; width: 100%; text-align: left; background: #f6f5f3; border: none; border-radius: 12px; padding: 20px 26px; cursor: pointer; font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 16.5px; line-height: 24px; color: #332B25;">Is the free plan really free forever?</button><sc-if value="[[ faqOpen1 ]]" hint-placeholder-val="[[ true ]]"><p style="margin: 0; padding: 18px 26px 8px; font-size: 15px; line-height: 26px; color: #413E3C;">Yes. The free plan is free forever - not a trial, and no credit card is required to start.</p></sc-if></div><div style="display: flex; flex-direction: column; width: 100%;"><button class="st-faq" data-st-on="faqTap2" style="box-sizing: border-box; width: 100%; text-align: left; background: #f6f5f3; border: none; border-radius: 12px; padding: 20px 26px; cursor: pointer; font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 16.5px; line-height: 24px; color: #332B25;">What are AI credits?</button><sc-if value="[[ faqOpen2 ]]" hint-placeholder-val="[[ true ]]"><p style="margin: 0; padding: 18px 26px 8px; font-size: 15px; line-height: 26px; color: #413E3C;">Credits power the AI planning features: finding the next best seeding date for any crop in your exact location, and applying Garden Blocks to your beds. Free includes 10 credits a month, Basic includes 1,200 a year, and Unlimited has no limit.</p></sc-if></div><div style="display: flex; flex-direction: column; width: 100%;"><button class="st-faq" data-st-on="faqTap3" style="box-sizing: border-box; width: 100%; text-align: left; background: #f6f5f3; border: none; border-radius: 12px; padding: 20px 26px; cursor: pointer; font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 16.5px; line-height: 24px; color: #332B25;">What happens after the 7-day free trial?</button><sc-if value="[[ faqOpen3 ]]" hint-placeholder-val="[[ true ]]"><p style="margin: 0; padding: 18px 26px 8px; font-size: 15px;
1707 line-height: 26px; color: #413E3C;">Your paid plan starts when the trial ends. And every paid plan is covered by the 30 day money back guarantee, so you can try Seedtime risk-free for a full 30 days.</p></sc-if></div><div style="display: flex; flex-direction: column; width: 100%;"><button class="st-faq" data-st-on="faqTap4" style="box-sizing: border-box; width: 100%; text-align: left; background: #f6f5f3; border: none; border-radius: 12px; padding: 20px 26px; cursor: pointer; font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 16.5px; line-height: 24px; color: #332B25;">Can I switch plans later?</button><sc-if value="[[ faqOpen4 ]]" hint-placeholder-val="[[ true ]]"><p style="margin: 0; padding: 18px 26px 8px; font-size: 15px; line-height: 26px; color: #413E3C;">Yes. Start free and upgrade whenever your garden outgrows the free plan.</p></sc-if></div><div style="display: flex; flex-direction: column; width: 100%;"><button class="st-faq" data-st-on="faqTap5" style="box-sizing: border-box; width: 100%; text-align: left; background: #f6f5f3; border: none; border-radius: 12px; padding: 20px 26px; cursor: pointer; font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 16.5px; line-height: 24px; color: #332B25;">Does Seedtime work where I live?</button><sc-if value="[[ faqOpen5 ]]" hint-placeholder-val="[[ true ]]"><p style="margin: 0; padding: 18px 26px 8px; font-size: 15px; line-height: 26px; color: #413E3C;">Yes. Every plan includes worldwide calendar settings and support, so your seeding, transplanting, and harvest dates are built for your exact location - in any growing zone.</p></sc-if></div><div style="display: flex; flex-direction: column; width: 100%;"><button class="st-faq" data-st-on="faqTap6" style="box-sizing: border-box; width: 100%; text-align: left; background: #f6f5f3; border: none; border-radius: 12px; padding: 20px 26px; cursor: pointer; font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 16.5px; line-height: 24px; color: #332B25;">
1707How does the 30 day money back guarantee work?</button><sc-if value="[[ faqOpen6 ]]" hint-placeholder-val="[[ true ]]"><p style="margin: 0; padding: 18px 26px 8px; font-size: 15px; line-height: 26px; color: #413E3C;">Try Seedtime risk-free for 30 days on any paid plan. If it is not right for you, get your money back within 30 days of purchase.</p></sc-if></div></div> 1708 </div> 1709 </div> 1710 1711 <!-- ============ FINAL CTA ============ --> 1712 <div style="background: #5E9834;"> 1713 <div style="max-width: 1160px; margin: 0 auto; padding: clamp(56px, 8vw, 80px) clamp(20px, 4vw, 32px); display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center;"> 1714 <h2 style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: clamp(26px, 4vw, 38px); line-height: 1.26; margin: 0; color: #ffffff; max-width: 720px;">Start free. Upgrade when your garden does.</h2> 1715 <p style="margin: 0; max-width: 560px; color: #EDF7E2;">Create your free Seedtime account and get a personalized planting calendar and garden layout for your exact location in minutes.</p> 1716 <a href="https://app.seedtime.us/users/sign_up?ref_id=grow_onboarding" style="display: inline-block; background: #ffffff; color: #5E9834; font-weight: 500; font-size: 16px; line-height: 24px; padding: 15px 38px; border-radius: 12px; margin-top: 8px;">Get My Free Account</a> 1717 <span style="font-size: 13px; line-height: 16px; color: #CDE8AC;">Free forever · No credit card required</span> 1718 </div> 1719 </div> 1720 1721 1722 1723 <sc-if value="[[ upsellOpen ]]" hint-placeholder-val="[[ true ]]"> 1724 <div style="position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 120; background: rgba(51,43,37,0.55); display: flex; align-items: center; justify-content: center; padding: 20px;"> 1725 <div style="position: relative; width: 100%; max-width: 470px; background: #ffffff; border-radius: 18px; padding: 44px clamp(20px, 5vw, 40px) 40px; box-shadow: 0 24px 60px rgba(51,43,37,0.28);"> 1726 <button data-st-on="closeUpsell" aria-label="Close" style="position: absolute; top: 14px; right: 16px; background: none; border: none; padding: 6px; line-height: 0; cursor: pointer;"> 1727 <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#A1A1A1" stroke-width="2.4" stroke-linecap="round"><path d="M5 5l14 14"></path><path d="M19 5L5 19"></path></svg> 1728 </button> 1729 <div style="font-family: Raleway, 'Arial Black', sans-serif; font-weight: 800; font-size: 26px; line-height: 34px; color: #332B25; text-align: center; margin-bottom: 26px;">Do you currently have a Seedtime account?</div> 1730 <sc-if value="[[ upsellUnlimitedYearly ]]" hint-placeholder-val="[[ true ]]"> 1731 <a data-checkout="paykickstart" rel="external noopener" data-no-instant href="https://app.paykickstart.com/checkout/plan/VXQq3DLZY0pNOzp8QQRz9wo7g8Keld5a" style="display: block; text-align: center; background: #79C048; color: #ffffff; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 24px; padding: 15px 24px; border-radius: 12px;">Yes, Upgrade My Account</a> 1732 <a href="https://app.seedtime.us/users/sign_up?ref_id=subscription&seedtime_pks_product_id=3" style="display: block; text-align: center; background: #ffffff; color: #332B25; border: 1px solid #DBDBDB; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 24px; padding: 14px 24px; border-radius: 12px; margin-top: 14px;">No, Set Up My Account</a> 1733 </sc-if> 1734 <sc-if value="[[ upsellUnlimitedMonthly ]]" hint-placeholder-val="[[ true ]]"> 1735 <a data-checkout="paykickstart" rel="external noopener" data-no-instant href="https://app.paykickstart.com/checkout/plan/7DbEdNQKwroYezYE33nzV6Ry490aO38L" style="display: block; text-align: center; background: #79C048; color: #ffffff; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 24px; padding: 15px 24px; border-radius: 12px;">Yes, Upgrade My Account</a> 1736 <a href="https://app.seedtime.us/users/sign_up?ref_id=subscription&seedtime_pks_product_id=4" style="display: block; text-align: center; background: #ffffff; color: #332B25; border: 1px solid #DBDBDB; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 24px; padding: 14px 24px; border-radius: 12px; margin-top: 14px;">No, Set Up My Account</a> 1737 </sc-if> 1738 <sc-if value="[[ upsellBasicYearly ]]" hint-placeholder-val="[[ true ]]"> 1739 <a data-checkout="paykickstart" rel="external noopener" data-no-instant href="https://app.paykickstart.com/checkout/plan/OYv1m53w8BoV4jqaQw7jGDy9Z7lgAJxK" style="display: block; text-align: center; background: #79C048; color: #ffffff; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 24px; padding: 15px 24px; border-radius: 12px;">Yes, Upgrade My Account</a> 1740 <a href="https://app.seedtime.us/users/sign_up?ref_id=subscription&seedtime_pks_product_id=2" style="display: block; text-align: center; background: #ffffff; color: #332B25; border: 1px solid #DBDBDB; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 24px; padding: 14px 24px; border-radius: 12px; margin-top: 14px;">No, Set Up My Account</a> 1741 </sc-if> 1742 <sc-if value="[[ upsellBasicMonthly ]]" hint-placeholder-val="[[ true ]]"> 1743 <a data-checkout="paykickstart" rel="external noopener" data-no-instant href="https://app.paykickstart.com/checkout/plan/6yK2GVrEARPLgzQwPB1kl5Yb4oO38Zwp" style="display: block; text-align: center; background: #79C048; color: #ffffff; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 24px; padding: 15px 24px; border-radius: 12px;">Yes, Upgrade My Account</a> 1744 <a href="https://app.seedtime.us/users/sign_up?ref_id=subscription&seedtime_pks_product_id=1" style="display: block; text-align: center; background: #ffffff; color: #332B25; border: 1px solid #DBDBDB; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 24px; padding: 14px 24px; border-radius: 12px; margin-top: 14px;">No, Set Up My Account</a> 1745 </sc-if> 1746 </div> 1747 </div> 1748 </sc-if> 1749
1750<script type="text/st-logic"> 1751class Component extends DCLogic { 1752 renderVals() { 1753 // FAQ accordion - all closed until tapped; one panel open at a time. 1754 const faq = this.state?.faq ?? 0; 1755 1756 const base = "font-family: Inter, 'Helvetica Neue', Arial, sans-serif; font-size: 13px; line-height: 16px; font-weight: 600; padding: 8px 16px; border-radius: 999px; border: none; cursor: pointer; white-space: nowrap;"; 1757 const on = base + ' background: #332B25; color: #ffffff;'; 1758 const off = base + ' background: transparent; color: #413E3C;'; 1759 const billing = this.state?.billing ?? this.props.billing ?? 'yearly'; 1760 1761 // Paid-plan CTAs ask whether the visitor already has an account before 1762 // sending them on; the answer routes by plan AND by the billing toggle above. 1763 const upsellProp = this.props.upsell ?? 'closed'; 1764 const upsell = this.state?.upsell ?? (upsellProp === 'closed' ? null : upsellProp); 1765 1766 // Mobile nav - same contract as the home page's shared nav. 1767 const mob = this.state?.mob ?? (this.props.mobileMenu === 'open'); 1768 const feat = this.state?.mobFeat ?? false; 1769 const uses = this.state?.mobUse ?? false; 1770 const flip = 'transition: transform 0.18s ease; transform: rotate(180deg);'; 1771 const flat = 'transition: transform 0.18s ease;'; 1772 1773 return { 1774 faqOpen1: faq === 1, 1775 faqTap1: () => this.setState({ faq: faq === 1 ? 0 : 1 }), 1776 faqOpen2: faq === 2, 1777 faqTap2: () => this.setState({ faq: faq === 2 ? 0 : 2 }), 1778 faqOpen3: faq === 3, 1779 faqTap3: () => this.setState({ faq: faq === 3 ? 0 : 3 }), 1780 faqOpen4: faq === 4, 1781 faqTap4: () => this.setState({ faq: faq === 4 ? 0 : 4 }), 1782 faqOpen5: faq === 5, 1783 faqTap5: () => this.setState({ faq: faq === 5 ? 0 : 5 }), 1784 faqOpen6: faq === 6, 1785 faqTap6: () => this.setState({ faq: faq === 6 ? 0 : 6 }), 1786 mobOpen: mob, 1787 mobShut: !mob, 1788 mobAria: mob ? 'true' : 'false', 1789 toggleMob: () => this.setState({ mob: !mob }), 1790 featOpen: feat, 1791 featChev: feat ? flip : flat, 1792 toggleFeat: () => this.setState({ mobFeat: !feat }), 1793 useOpen: uses, 1794 useChev: uses ? flip : flat, 1795 toggleUse: () => this.setState({ mobUse: !uses }), 1796 1797 upsellOpen: upsell !== null, 1798 openUnlimited: () => this.setState({ upsell: 'unlimited' }), 1799 openBasic: () => this.setState({ upsell: 'basic' }), 1800 closeUpsell: () => this.setState({ upsell: null }), 1801 upsellUnlimitedYearly: upsell === 'unlimited' && billing === 'yearly', 1802 upsellUnlimitedMonthly: upsell === 'unlimited' && billing === 'monthly', 1803 upsellBasicYearly: upsell === 'basic' && billing === 'yearly', 1804 upsellBasicMonthly: upsell === 'basic' && billing === 'monthly', 1805 isYearly: billing === 'yearly', 1806 isMonthly: billing === 'monthly', 1807 yearlyStyle: billing === 'yearly' ? on : off, 1808 monthlyStyle: billing === 'monthly' ? on : off, 1809 showYearly: () => this.setState({ billing: 'yearly' }), 1810 showMonthly: () => this.setState({ billing: 'monthly' }), 1811 }; 1812 } 1813} 1814</script>
1814 1815</div> 1816 1817 1818 1819</div><div id="shopify-section-template--28488455651512__st_footer" class="shopify-section"><style> 1820 @font-face { 1821 font-family: 'Inter'; 1822 font-style: normal; 1823 font-weight: 100 900; 1824 font-display: swap; 1825 src: url(//seedtime.us/cdn/shop/t/26/assets/st-inter.woff2?v=53399804603581884051789056483) format('woff2'); 1826 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; 1827 } 1828 @font-face { 1829 font-family: 'Raleway'; 1830 font-style: normal; 1831 font-weight: 100 900; 1832 font-display: swap; 1833 src: url(//seedtime.us/cdn/shop/t/26/assets/st-raleway.woff2?v=111612976041415249261789056484) format('woff2'); 1834 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; 1835 } 1836</style> 1837 1838<style> 1839 .st-footer-root a { text-decoration: none; } 1840 .st-footer-root a:hover { color: #ffffff; } 1841</style> 1842<div class="st-footer-root" style="font-family: Inter, 'Helvetica Neue', Arial, sans-serif; color: #332B25; font-size: 16px; line-height: 24px;"> 1843 <!-- ============ FOOTER ============ --> 1844 <div style="background: #332B25;"> 1845 <div style="max-width: 1160px; margin: 0 auto; padding: clamp(44px, 6vw, 64px) clamp(20px, 4vw, 32px) 40px; display: flex; flex-direction: column; gap: 48px;"> 1846 <div style="display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px clamp(32px, 4vw, 64px);"> 1847 <div style="display: flex; flex-direction: column; gap: 14px; flex: 1 1 260px; max-width: 340px;"> 1848 <img src="//seedtime.us/cdn/shop/t/26/assets/seedtime-logo-white_400x.png?v=139791868126080034371788308879" srcset="//seedtime.us/cdn/shop/t/26/assets/seedtime-logo-white_400x.png?v=139791868126080034371788308879 400w" sizes="(max-width: 900px) 100vw, 620px" width="400" height="94" loading="lazy" decoding="async" alt="Seedtime" style="height: 30px; width: auto; display: block; align-self: flex-start;"> 1849 <p style="margin: 0; font-size: 14px; line-height: 24px; color: #A1A1A1;">Seedtime is the free online garden planner for real gardens - a personalized planting calendar, a garden layout planner with square foot gardening built in, and AI planning tools for vegetable gardens, flower gardens, raised beds, and vertical planters.</p> 1850 </div> 1851 <div style="flex: 2 1 460px; display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 32px clamp(24px, 3vw, 48px);"> 1852 <div style="display: flex; flex-direction: column; gap: 10px;"> 1853 <span style="font-size: 13px; line-height: 16px; font-weight: 600; color: #ffffff; text-transform: uppercase; letter-spacing: 1px;">Product</span> 1854 <a href="/#toolshed" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Features</a> 1855 <a href="/pages/pricing" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Pricing</a> 1856 <a href="/#use-cases" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Use cases</a> 1857 <a href="/pages/store" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Store</a> 1858 </div> 1859 <div style="display: flex; flex-direction: column; gap: 10px;"> 1860 <span style="font-size: 13px; line-height: 16px; font-weight: 600; color: #ffffff; text-transform: uppercase; letter-spacing: 1px;">Features</span> 1861 <a href="/pages/features-garden-blocks" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Garden Blocks</a> 1862 <a href="/pages/features-calendar" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Calendar</a> 1863 <a href="/pages/features-layout" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Layout</a> 1864 <a href="/pages/features-tasks" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Task list</a> 1865 <a href="/pages/features-journal" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Journal</a> 1866 <a href="/pages/features-weather" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Weather</a> 1867 <a href="/pages/features-inventory" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Inventory</a> 1868 <a href="/pages/features-records" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Records & Analytics</a> 1869 </div> 1870 <div style="display: flex; flex-direction: column; gap: 10px;">
1871 <span style="font-size: 13px; line-height: 16px; font-weight: 600; color: #ffffff; text-transform: uppercase; letter-spacing: 1px;">Resources</span> 1872 <a href="/pages/features-classroom" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Classroom</a> 1873 <a href="/pages/store" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Store</a> 1874 <a href="https://help.seedtime.us/en/" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Help docs</a> 1875 </div> 1876 <div style="display: flex; flex-direction: column; gap: 10px;"> 1877 <span style="font-size: 13px; line-height: 16px; font-weight: 600; color: #ffffff; text-transform: uppercase; letter-spacing: 1px;">Company</span> 1878 <a href="/pages/contact-us" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Contact</a> 1879 <a href="/pages/privacy-policy" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Privacy policy</a> 1880 <a href="/pages/terms-of-service" style="font-size: 14px; line-height: 24px; color: #A1A1A1;">Terms of service</a> 1881 </div> 1882 </div> 1883 </div> 1884 <div style="border-top: 1px solid #4F4238; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: center;"> 1885 <span style="font-size: 13px; line-height: 16px; color: #A1A1A1;">© 2026 Seedtime. All rights reserved.</span> 1886 <span style="font-size: 13px; line-height: 16px; color: #A1A1A1;">Grown with care in the USA</span> 1887 </div> 1888 </div> 1889 </div> 1890 1891</div> 1892 1893 1894 1895</div> 1896 </main> 1897 1898 1899 1900 1901
1901<script 1902 src="//seedtime.us/cdn/shop/t/26/assets/instantPage.min.js?v=160082604465361117651787244051" 1903 type="module" 1904 defer 1905 ></script>
1905 1906
1906<script> 1907 (function (n, v) { 1908 /* eslint-disable-next-line max-len */ if ( 1909 window.Shopify && 1910 window.Shopify.theme && 1911 navigator && 1912 navigator.sendBeacon && 1913 window.Shopify.designMode 1914 ) { 1915 if (sessionStorage.getItem('oots_beacon')) return; 1916 navigator.sendBeacon( 1917 'https://app.outofthesandbox.com/beacon', 1918 new URLSearchParams({ 1919 shop_domain: window.Shopify.shop.toLowerCase(), 1920 shop_id: '61538566328', 1921 shop_email: '[email protected]', 1922 theme_name: n.toLowerCase(), 1923 theme_version: v.toLowerCase(), 1924 theme_store_id: window.Shopify.theme.theme_store_id, 1925 theme_id: window.Shopify.theme.id, 1926 theme_role: window.Shopify.theme.role, 1927 }) 1928 ); 1929 sessionStorage.setItem('oots_beacon', ''); 1930 } 1931 })('empire', '12.0.0'); 1932 </script>
1932 1933 </div> 1934 1935 1936 1937 1938 1939 1940 1941 1942 <style> 1943 h2.as-h1 { 1944 font-size: var(--font-size-heading-1); 1945 margin: 0.67em 0; 1946 } 1947 </style> 1948
1948<script> 1949 document.addEventListener('DOMContentLoaded', function () { 1950 var h1s = document.querySelectorAll('h1'); 1951 if (h1s.length < 2) return; 1952 1953 Array.from(h1s).forEach(function (h1, index) { 1954 if (index === 0) return; 1955 1956 var h2 = document.createElement('h2'); 1957 1958 Array.from(h1.attributes).forEach(function (attr) { 1959 h2.setAttribute(attr.name, attr.value); 1960 }); 1961 1962 h2.classList.add('as-h1'); 1963 h2.innerHTML = h1.innerHTML; 1964 h1.parentNode.replaceChild(h2, h1); 1965 }); 1966 }); 1967 </script>
1967 1968 1969 1970 1971 1972 1973 1974 1975 <style> </style> 1976<div id="shopify-block-ASXJCWWEvMUE5L1VWd__5946647744298494267" class="shopify-block shopify-app-block"> 1977 1978 1979<!-- BEGIN app snippet: swymVersion -->
1979<script>var __SWYM__VERSION__ = '7.0.7';</script>
1979<!-- END app snippet --> 1980<!-- BEGIN app snippet: swymCustomCss --> 1981 1982 1983 1984 1985<style id="swym-custom-css"> 1986 1987</style> 1988 1989<!-- END app snippet --> 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001
2002<script> 2003 (function () { 2004 // Get CompanyLocation Metadata for B2B customer scenerios (SFS) 2005 2006 2007 // Put metafields in window variable 2008 const commonCustomizationSettings = '{"global-settings":{"icon":"heart","primaryColor":"#79C048","secondaryColor":"#ffffff","storefrontLayoutType":"as-section","buttonType":{"displayIcon":true,"displayText":true,"style":"outline"},"collectionsButtonPosition":{"position":"top-right","verticalOffset":0,"horizontalOffset":0},"pdpButtonPosition":{"position":"default","verticalOffset":0,"horizontalOffset":0},"storefrontLayoutDrawerWidth":400,"enableStorefrontLayoutNotification":true}}'; 2009 try { 2010 const parsedSettings = JSON.parse(commonCustomizationSettings); 2011 if (parsedSettings) { 2012 window.SwymWishlistCommonCustomizationSettings = parsedSettings[window.Shopify.theme.schema_name] || parsedSettings['global-settings']; 2013 } else { 2014 window.SwymWishlistCommonCustomizationSettings = {}; 2015 } 2016 } catch (e) { 2017 window.SwymWishlistCommonCustomizationSettings = {}; 2018 } 2019 2020 let enabledCommonFeatures = '{"add-to-wishlist-collections-button":true,"add-to-wishlist-pdp-button":true,"auto-add-to-wishlist-from-pdp":{"pdpViewCount":"3","notificationTimeoutDuration":"5","selectedPosition":"TopLeft","enabled":false},"sfl-popup-v2":true,"control-centre":true,"multiple-wishlist":false,"social-count":{"enabledOnCollections":false}}'; 2021 try { 2022 enabledCommonFeatures = JSON.parse(enabledCommonFeatures) || {}; 2023 } catch (e) { 2024 enabledCommonFeatures = {}; 2025 } 2026 // Storing COMMON FEATURES data in the window object for potential use in the storefront JS code. 2027 window.SwymEnabledCommonFeatures = enabledCommonFeatures; 2028 2029 // Ghost-Intent Configuration 2030 // Defaults to disabled (false). Only enabled when metafields explicitly set to "true". 2031 try { 2032 let ghostIntentConfig = { 2033 isExplicitConsentNeeded: false, 2034 isExplicitConsentNeededEvenForLocalStorage: false, 2035 askForPermissionOnFirstClick: true 2036 }; 2037 2038 2039 2040 window.SwymGhostIntentConfig = ghostIntentConfig; 2041 } catch(e) { 2042 window.SwymGhostIntentConfig = { 2043 isExplicitConsentNeeded: false, 2044 isExplicitConsentNeededEvenForLocalStorage: false, 2045 askForPermissionOnFirstClick: true 2046 }; 2047 } 2048 2049 // Education Layer Configuration 2050 // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility. 2051 2052 2053 window.SwymEducationLayerEnabled = enabledCommonFeatures?.["education-layer"] ?? true; 2054 2055 // Login Nudge Configuration 2056 // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility. 2057 2058 2059 window.SwymLoginNudgeEnabled = enabledCommonFeatures?.["login-nudge"] ?? true; 2060 2061 // Initialize or ensure SwymViewProducts exists 2062 if (!window.SwymViewProducts) { 2063 window.SwymViewProducts = {}; 2064 } 2065 2066 })(); 2067</script>
2067 2068 2069<!-- BEGIN app snippet: swymLoadConsentManager -->
2070<script> 2071 (function () { 2072 if (document.querySelector("script[data-swym-consent-manager]")) return; 2073 var swymConsentManagerScript = document.createElement("script"); 2074 swymConsentManagerScript.src = "https:\/\/cdn.shopify.com\/extensions\/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8\/swym-relay-839\/assets\/swym-consent-manager.js"; 2075 swymConsentManagerScript.async = false; // run in insertion order once fetched, instead of whenever fetch resolves 2076 swymConsentManagerScript.setAttribute("data-swym-consent-manager", "true"); 2077 document.head.appendChild(swymConsentManagerScript); 2078 })(); 2079</script>
2079 2080<!-- END app snippet --> 2081
2082<script 2083 2084 id="wishlist-embed-init" 2085 defer 2086 async 2087> 2088 (function () { 2089 window.swymWishlistEmbedLoaded = true; 2090 var fullAssetUrl = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/apps.bundle.js"; 2091 var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1); 2092 var swymJsPath = '//freecdn.swymrelay.com/code/swym-shopify.js'; 2093 var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1); 2094 window.SwymCurrentJSPath = baseJsPath; 2095 window.SwymAssetBaseUrl = assetBaseUrl; 2096 2097 window.SwymCurrentStorePath = "//swymstore-v3free-01.swymrelay.com"; 2098 2099 function loadSwymShopifyScript() { 2100 var element = ""; 2101 var scriptSrc = ""; 2102 2103 2104 element = "swym-ext-shopify-script"; 2105 window.SwymShopifyCdnInUse = true; 2106 scriptSrc = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-ext-shopify.js"; 2107 2108 2109 if (document.getElementById(element)) { 2110 return; 2111 } 2112 2113 var s = document.createElement("script"); 2114 s.id = element; 2115 s.type = "text/javascript"; 2116 s.async = true; 2117 s.defer = true; 2118 s.src = scriptSrc; 2119 2120 s.onerror = function() { 2121 console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default"); 2122 // Fallback logic here 2123 element = `swym-ext-shopify-script-${__SWYM__VERSION__}`; 2124 var fallbackJsPathVal = "\/\/freecdn.swymrelay.com\/code\/swym-shopify.js"; 2125 var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify"); 2126 scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__; 2127 2128 var fallbackScript = document.createElement("script"); 2129 fallbackScript.id = element; 2130 fallbackScript.type = "text/javascript"; 2131 fallbackScript.async = true; 2132 fallbackScript.defer = true; 2133 fallbackScript.src = scriptSrc; 2134 var y = document.getElementsByTagName("script")[0]; 2135 y.parentNode.insertBefore(fallbackScript, y); 2136 }; 2137 2138 var x = document.getElementsByTagName("script")[0]; 2139 x.parentNode.insertBefore(s, x); 2140 } 2141 2142 var consentAPICallbackInvoked = false; 2143 function checkConsentAndLoad() { 2144 // Allow app to load in design mode (theme editor) regardless of consent 2145 if (window.Shopify?.designMode) { 2146 loadSwymShopifyScript(); 2147 return; 2148 } 2149 2150 // Ghost-Intent: If merchant enabled explicit consent, block SDK until 2151 // consent is given through our Ghost-Intent flow (sync nudge accept). 2152 // This works on any store regardless of region (EU or non-EU). 2153 var ghostConfig = window.SwymGhostIntentConfig || {}; 2154 if (ghostConfig.isExplicitConsentNeeded || ghostConfig.isExplicitConsentNeededEvenForLocalStorage) { 2155 try { 2156 var consentKey = 'swym-ghost-consent-' + (window.Shopify && window.Shopify.shop || ''); 2157 if (localStorage.getItem(consentKey) === 'true') { 2158 // Consent was given through our flow â load SDK 2159 loadSwymShopifyScript(); 2160 return; 2161 } 2162 } catch(e) {} 2163 2164 // Check if Shopify native cookie consent was given via the cookie banner. 2165 // If user accepted cookies through Shopify's banner, load SDK normally 2166 // (Ghost-Intent is only needed when NO consent mechanism has been used). 2167 var shopifyConsentGiven = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 2168 if (shopifyConsentGiven) { 2169 loadSwymShopifyScript(); 2170 return; 2171 } 2172 2173 console.warn("[Swym Ghost-Intent] SDK blocked until explicit consent is given"); 2174 return; 2175 } 2176 2177 var isCookieBannerVisible = window.Shopify?.customerPrivacy?.shouldShowBanner?.(); 2178 if(!isCookieBannerVisible) { 2179 loadSwymShopifyScript(); 2180 return; 2181 } 2182 var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 2183 if (shouldLoadSwymScript) { 2184 loadSwymShopifyScript(); 2185 } else { 2186 console.warn("No customer consent to load Swym Wishlist Plus"); 2187 } 2188 } 2189 function initialiseConsentCheck() { 2190 document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); }); 2191 window.Shopify?.loadFeatures?.( 2192 [{name: 'consent-tracking-api', version: '0.1'}], 2193 error => { 2194 consentAPICallbackInvoked = true; 2195 if (error) { 2196 if(!window.Shopify?.customerPrivacy) { 2197 loadSwymShopifyScript(); 2198 return; 2199 } 2200 } 2201 checkConsentAndLoad(); 2202 } 2203 ); 2204 } 2205 function consentCheckFallback(retryCount) { 2206 if(!consentAPICallbackInvoked) { 2207 if (window.Shopify?.customerPrivacy) { 2208 checkConsentAndLoad(); 2209 } else if (retryCount >= 1) { 2210 console.warn("Shopify.loadFeatures unsuccessful on site, refer - https://shopify.dev/docs/api/customer-privacy#loading-the-customer-privacy-api. Proceeding with normal Swym Wishlist Plus load"); 2211 // Ghost-Intent: route through checkConsentAndLoad so SDK block is respected 2212 checkConsentAndLoad(); 2213 } else { 2214 setTimeout(() => consentCheckFallback(retryCount + 1), 1000); 2215 } 2216 } 2217 } 2218 if (document.readyState === "loading") { 2219 document.addEventListener("DOMContentLoaded", initialiseConsentCheck); 2220 window.addEventListener("load", () => consentCheckFallback(0)); 2221 } else { 2222 initialiseConsentCheck(); 2223 } 2224 2225 })(); 2226</script>
2226 2227 2228<!-- BEGIN app snippet: swymSnippet -->
2228<script defer> 2229 (function () { 2230 const currentSwymJSPath = '//freecdn.swymrelay.com/code/swym-shopify.js'; 2231 const currentSwymStorePath = 'https://swymstore-v3free-01.swymrelay.com'; 2232 const dnsPrefetchLink = `<link rel="dns-prefetch" href="${currentSwymStorePath}" crossorigin>`; 2233 const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`; 2234 const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`; 2235 const swymSnippet = document.getElementById('wishlist-embed-init'); 2236 if(dnsPrefetchLink) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink);} 2237 if(dnsPrefetchLink2) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2);} 2238 if(preConnectLink) {swymSnippet.insertAdjacentHTML('afterend', preConnectLink);} 2239 })() 2240</script>
vendor: 1 bytes, line 2240
2240
2241<script id="swym-snippet" type="text"> 2242 window.swymLandingURL = document.URL; 2243 window.swymCart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; 2244 window.swymPageLoad = function() { 2245 window.SwymProductVariants = window.SwymProductVariants || {}; 2246 window.SwymHasCartItems = 0 > 0; 2247 window.SwymPageData = {}, window.SwymProductInfo = {}; 2248 var unknown = {et: 0}; 2249 window.SwymPageData = unknown; 2250 2251 window.SwymPageData.uri = window.swymLandingURL; 2252 }; 2253 if(window.selectCallback){ 2254 (function(){ 2255 var originalSelectCallback = window.selectCallback; 2256 window.selectCallback = function(variant){ 2257 originalSelectCallback.apply(this, arguments); 2258 try{ 2259 if(window.triggerSwymVariantEvent){ 2260 window.triggerSwymVariantEvent(variant.id); 2261 } 2262 }catch(err){ 2263 console.warn("Swym selectCallback", err); 2264 } 2265 };})();} 2266 window.swymCustomerId =null; 2267 window.swymCustomerExtraCheck = 2268 null; 2269 var swappName = ("Wishlist" || "Wishlist"); 2270 var swymJSObject = { 2271 pid: "sx25dU3RNBPgvx4rCRaC6J4c1m4RjK\/qT9rPtFvGRIg=", 2272 interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName 2273 }; 2274 window.swymJSShopifyLoad = function(){ 2275 if(window.swymPageLoad) swymPageLoad(); 2276 if(!window._swat) { 2277 (function (s, w, r, e, l, a, y) { 2278 r['SwymRetailerConfig'] = s; 2279 r[s] = r[s] || function (k, v) { 2280 r[s][k] = v; 2281 }; 2282 })('_swrc', '', window); 2283 _swrc('RetailerId', swymJSObject.pid); 2284 _swrc('Callback', function(){initSwymShopify();}); 2285 }else if(window._swat.postLoader){ 2286 _swrc = window._swat.postLoader; 2287 _swrc('RetailerId', swymJSObject.pid); 2288 _swrc('Callback', function(){initSwymShopify();}); 2289 }else{ 2290 initSwymShopify();} 2291 } 2292 if(!window._SwymPreventAutoLoad) { 2293 swymJSShopifyLoad(); 2294 } 2295</script>
2295 2296 2297<style id="safari-flasher-pre"></style>
2298<script> 2299 if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { 2300 document.getElementById("safari-flasher-pre").innerHTML = '' + '#swym-plugin,#swym-hosted-plugin{display: none;}' + '.swym-button.swym-add-to-wishlist{display: none;}' + '.swym-button.swym-add-to-watchlist{display: none;}' + '#swym-plugin #swym-notepad, #swym-hosted-plugin #swym-notepad{opacity: 0; visibility: hidden;}' + '#swym-plugin #swym-notepad, #swym-plugin #swym-overlay, #swym-plugin #swym-notification,' + '#swym-hosted-plugin #swym-notepad, #swym-hosted-plugin #swym-overlay, #swym-hosted-plugin #swym-notification' + '{-webkit-transition: none; transition: none;}' + ''; 2301 window.SwymCallbacks = window.SwymCallbacks || []; 2302 window.SwymCallbacks.push(function(tracker) { 2303 tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() { 2304 var x = function() { 2305 SwymUtils.onDOMReady(function() { 2306 var d = document.createElement("div"); 2307 d.innerHTML = "<style id='safari-flasher-post'>" + "#swym-plugin:not(.swym-ready),#swym-hosted-plugin:not(.swym-ready){display: none;}" + ".swym-button.swym-add-to-wishlist:not(.swym-loaded){display: none;}" + ".swym-button.swym-add-to-watchlist:not(.swym-loaded){display: none;}" + "#swym-plugin.swym-ready #swym-notepad, #swym-plugin.swym-ready #swym-overlay, #swym-plugin.swym-ready #swym-notification," + "#swym-hosted-plugin.swym-ready #swym-notepad, #swym-hosted-plugin.swym-ready #swym-overlay, #swym-hosted-plugin.swym-ready #swym-notification" + "{-webkit-transition: opacity 0.3s, visibility 0.3ms, -webkit-transform 0.3ms !important;-moz-transition: opacity 0.3s, visibility 0.3ms, -moz-transform 0.3ms !important;-ms-transition: opacity 0.3s, visibility 0.3ms, -ms-transform 0.3ms !important;-o-transition: opacity 0.3s, visibility 0.3ms, -o-transform 0.3ms !important;transition: opacity 0.3s, visibility 0.3ms, transform 0.3ms !important;}" + "</style>"; 2308 document.head.appendChild(d); 2309 });}; 2310 setTimeout(x, 10); 2311 });});} 2312 window.SwymOverrideMoneyFormat = "\u003cspan class=money\u003e${{amount}}\u003c\/span\u003e"; 2313</script>
2313 2314<style id="swym-product-view-defaults"> .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded) { display: none; } </style><!-- END app snippet --> 2315
2316<script 2317 2318 id="swymSnippetCheckAndActivate" 2319> 2320 (function () { 2321 var duplicateProneIds = ['safari-flasher-pre', 'swym-product-view-defaults', 'swym-wrap-login-handler']; 2322 2323 function removeDuplicateIdNodes(id) { 2324 var nodes = document.querySelectorAll('#' + id); 2325 nodes.forEach(function (node, index) { 2326 if (index > 0) { 2327 node.remove(); 2328 } 2329 }); 2330 } 2331 2332 function cleanupDuplicateSnippetNodes(activeScript) { 2333 if (!activeScript) { 2334 return; 2335 } 2336 var allSwymSnippets = document.querySelectorAll('script#swym-snippet'); 2337 allSwymSnippets.forEach(function (scriptNode) { 2338 if (scriptNode !== activeScript) { 2339 scriptNode.remove(); 2340 } 2341 }); 2342 } 2343 2344 function cleanupDuplicateActivationGuards() { 2345 var guardScripts = document.querySelectorAll('script#swymSnippetCheckAndActivate'); 2346 guardScripts.forEach(function (scriptNode, index) { 2347 if (index > 0) { 2348 scriptNode.removeAttribute('id'); 2349 } 2350 }); 2351 } 2352 2353 function postDomLoad() { 2354 var activeScript = document.querySelector('script#swym-snippet:not([type="text"])'); 2355 if (!activeScript) { 2356 var inactiveScript = document.querySelector('script#swym-snippet[type="text"]'); 2357 if (inactiveScript) { 2358 inactiveScript.type = 'text/javascript'; 2359 new Function(inactiveScript.textContent)(); 2360 activeScript = inactiveScript; 2361 } 2362 } 2363 2364 cleanupDuplicateSnippetNodes(activeScript); 2365 cleanupDuplicateActivationGuards(); 2366 duplicateProneIds.forEach(removeDuplicateIdNodes); 2367 } 2368 2369 if (document.readyState === 'loading') { 2370 document.addEventListener('DOMContentLoaded', postDomLoad); 2371 } else { 2372 postDomLoad(); 2373 } 2374 })(); 2375</script>
2375 2376 2377 2378
2379<script> 2380 (function () { 2381 const themeSchemaName = window.Shopify.theme.schema_name; 2382 2383 if (!window.SwymCallbacks) { 2384 window.SwymCallbacks = []; 2385 } 2386 window.SwymCallbacks.push(swat => { 2387 if (!swat) { 2388 return; 2389 } 2390 2391 // Ghost-Intent: Sync local wishlist items to cloud when SDK loads after consent 2392 if (window.SwymLocalWishlist && window.SwymLocalWishlist.getSyncableItems().length > 0) { 2393 window.SwymLocalWishlist.syncToCloud(swat); 2394 } 2395 2396 if (window._SwymSDKOnlyMode) { 2397 return; 2398 } 2399 2400 // ENABLE COMMON FEATURES 2401 let swymEnabledCommonFeatures = window.SwymEnabledCommonFeatures; 2402 Object.keys(swymEnabledCommonFeatures).forEach(key => { 2403 if (!swymEnabledCommonFeatures[key]) return; 2404 2405 switch (key) { 2406 case 'add-to-wishlist-collections-button': 2407 // Check if app block is already handling the collections button 2408 if (window.SwymCollectionsConfig) { 2409 return; 2410 } 2411 2412 // Check if v2 default collections is handling it 2413 if (window.SwymAdvancedCollectionsWishlistConfig) { 2414 return; 2415 } 2416 2417 // Fallback to old v1 behavior if v2 config is not present 2418 swat?.collectionsApi?.setDefaultCustomizationOptions(); 2419 swat?.collectionsApi?.initializeCollections(swat, false, themeSchemaName); 2420 2421 break; 2422 case 'add-to-wishlist-pdp-button': 2423 // Check if app block is already handling the PDP button 2424 if (window.swymATWButtonConfig?.shopifyExtensionType === 'appblock') { 2425 return; 2426 } 2427 2428 if (!(window.SwymPageData && window.SwymPageData.et === 1)) { 2429 // Not initiating pdp button as it is not a product page 2430 return; 2431 } 2432 2433 // Inject addtowishlist.css into the document's <head> 2434 var head = document.head; 2435 var pdpButtonStylesheet = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.css"; 2436 var pdpButtonStylesheetTag = document.createElement('link'); 2437 pdpButtonStylesheetTag.id = `swym-pdp-button-stylesheet`; 2438 pdpButtonStylesheetTag.rel = 'stylesheet'; 2439 pdpButtonStylesheetTag.href = pdpButtonStylesheet; 2440 2441 if (!document.getElementById('swym-pdp-button-stylesheet')) { 2442 head.appendChild(pdpButtonStylesheetTag); 2443 } 2444 2445 var x = document.getElementsByTagName('script')[0]; 2446 function createAndInsertScript(id, src, onLoadCallback) { 2447 var scriptTag = document.createElement('script'); 2448 scriptTag.id = id; 2449 scriptTag.type = 'text/javascript'; 2450 scriptTag.src = src; 2451 scriptTag.onload = onLoadCallback; 2452 x.parentNode.insertBefore(scriptTag, x); 2453 } 2454 2455 var pdpButtonScript = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.js"; 2456 createAndInsertScript(`swym-pdp-button-script`, pdpButtonScript, function () { 2457 const pdpBtnApi = window.WishlistPlusPDPButtonAPI; 2458 if (pdpBtnApi) { 2459 pdpBtnApi.setDefaultCustomizationOptions(swat); 2460 pdpBtnApi.initializePDPButton(swat, true); 2461 } 2462 }); 2463 break; 2464 default: 2465 return; 2466 } 2467 }); 2468 }); 2469 })(); // IIFE to prevent polluting global scope 2470</script>
2470 2471 2472 2473
2474<script> 2475 (function () { 2476 // Get the settings from Shopify's Liquid variables and create the styles 2477 const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"]; 2478 const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 2479 Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0; 2480 const isControlCentreEnabledFromBlockSettings = false; 2481 2482 if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) { 2483 // Don't enable control centre if this is disabled and block settings are not enabled 2484 return; 2485 } 2486 2487 let borderRadius = 6; 2488 let drawerWidth = window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutDrawerWidth || 400; 2489 2490 // Check if block settings exist, use them, otherwise fall back to common settings 2491 let primaryBgColor = isControlCentreEnabledFromBlockSettings ? 2492 "#000000" : 2493 window.SwymWishlistCommonCustomizationSettings.primaryColor; 2494 2495 let primaryTextColor = isControlCentreEnabledFromBlockSettings ? 2496 "#ffffff" : 2497 window.SwymWishlistCommonCustomizationSettings.secondaryColor; 2498 2499 let secondaryBgColor = isControlCentreEnabledFromBlockSettings ? 2500 "#F4F8FE" : null; 2501 let secondaryTextColor = isControlCentreEnabledFromBlockSettings ? 2502 "#333333" : null; 2503 2504 // Only use color adjustment functions if we're using common settings 2505 if (!secondaryBgColor || !secondaryTextColor) { 2506 function adjustOpacity(color, opacity) { 2507 if (color[0] === '#') { 2508 color = color.slice(1); 2509 } 2510 2511 if (color.length === 3) { 2512 color = color.split('').map(char => char + char).join(''); 2513 } 2514 2515 const r = parseInt(color.slice(0, 2), 16); 2516 const g = parseInt(color.slice(2, 4), 16); 2517 const b = parseInt(color.slice(4, 6), 16); 2518 2519 return `rgba(${r}, ${g}, ${b}, ${opacity})`; 2520 } 2521 2522 function hexToRgb(color) { 2523 if (color[0] === '#') { 2524 color = color.slice(1); 2525 } 2526 if (color.length === 3) { 2527 color = color.split('').map(c => c + c).join(''); 2528 } 2529 2530 return { 2531 r: parseInt(color.slice(0, 2), 16), 2532 g: parseInt(color.slice(2, 4), 16), 2533 b: parseInt(color.slice(4, 6), 16) 2534 }; 2535 } 2536 2537 function getLuminance({ r, g, b }) { 2538 return 0.299 * r + 0.587 * g + 0.114 * b; 2539 } 2540 2541 function generateSecondaryColors(primaryBgColor, primaryTextColor) { 2542 const secondaryBgOpacity = 0.2; 2543 const secondaryTextOpacity = 0.8; 2544 2545 const secondaryBgColor = adjustOpacity(primaryBgColor, secondaryBgOpacity); 2546 2547 const bgRgb = hexToRgb(primaryBgColor); 2548 const bgLuminance = getLuminance(bgRgb); 2549 2550 // Determine whether to use dark or light text for contrast 2551 const lightText = adjustOpacity(primaryTextColor, secondaryTextOpacity); 2552 const darkText = adjustOpacity(primaryBgColor, secondaryTextOpacity); 2553 2554 const secondaryTextColor = bgLuminance > 186 ? darkText : lightText; 2555 2556 return { 2557 secondaryBgColor, 2558 secondaryTextColor 2559 }; 2560 } 2561 2562 const generatedColors = generateSecondaryColors(primaryBgColor, primaryTextColor); 2563 secondaryBgColor = secondaryBgColor || generatedColors.secondaryBgColor; 2564 secondaryTextColor = secondaryTextColor || generatedColors.secondaryTextColor; 2565 } 2566 2567 // Create the CSS rule 2568 let styles = ` 2569 .swym-storefront-layout-root-component { 2570 --swym-storefront-layout-ui-border-radius: ${borderRadius}px; 2571 --swym-storefront-layout-button-border-radius: ${borderRadius}px; 2572 --swym-storefront-layout-side-drawer-width: ${drawerWidth}px; 2573 --swym-storefront-layout-button-color-bg-primary: ${primaryBgColor}; 2574 --swym-storefront-layout-button-color-text-primary: ${primaryTextColor}; 2575 --swym-storefront-layout-button-color-bg-secondary: ${secondaryBgColor}; 2576 --swym-storefront-layout-button-color-text-secondary: ${secondaryTextColor}; 2577 } 2578 `; 2579 2580 // Create a <style> element and append the styles 2581 let styleSheet = document.createElement("style"); 2582 styleSheet.type = "text/css"; 2583 styleSheet.innerText = styles; 2584 document.head.appendChild(styleSheet); 2585 2586 if (typeof window.SwymStorefrontLayoutContext === 'undefined') { 2587 window.SwymStorefrontLayoutContext = {}; 2588 } 2589 if (typeof window.SwymStorefrontLayoutExtensions === 'undefined'){ 2590 window.SwymStorefrontLayoutExtensions = {}; 2591 } 2592 2593 // Expose block settings toggle state so ThemeCSSMapping can respect it. 2594 // When true, theme editor color pickers take priority over inherited theme CSS variables. 2595 SwymStorefrontLayoutContext.BlockSettingsEnabled = isControlCentreEnabledFromBlockSettings; 2596 2597 if (isControlCentreEnabledFromBlockSettings) { 2598 // If block settings are enabled, use them 2599 SwymStorefrontLayoutContext.Settings = { 2600 EnableStorefrontLayoutOnLauncher: true, 2601 EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true, 2602 StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer", 2603 StorefrontLayoutDrawerPosition: "left", 2604 StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container", 2605 StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist", 2606 EnableStorefrontLayoutVariantSelector: true, 2607 StorefrontLayoutNotificationPosition: "left", 2608 StorefrontLayoutActionPopupPosition: "left", 2609 StorefrontLayoutNotificationDuration: 5000 2610 }; 2611 } else { 2612 // If only metafield is enabled but no block settings, use common settings 2613 SwymStorefrontLayoutContext.Settings = { 2614 EnableStorefrontLayoutOnLauncher: true, 2615 EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true, 2616 StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer", 2617 StorefrontLayoutDrawerPosition: "left", 2618 StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container", 2619 StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist", 2620 EnableStorefrontLayoutVariantSelector: true, 2621 StorefrontLayoutNotificationPosition: "left", 2622 StorefrontLayoutActionPopupPosition: "left", 2623 StorefrontLayoutNotificationDuration: 5000 2624 }; 2625 } 2626 const storefrontLayoutCallback = (swat) =>{ 2627 SwymStorefrontLayoutContext.swat = swat; 2628 let isStoreOnPaidPlan = swat.getApp('Wishlist')?.['is-paid']; 2629 let isWishlistEnabled = swat.getApp('Wishlist')?.['enabled']; 2630 SwymStorefrontLayoutContext.Settings = { 2631 ...SwymStorefrontLayoutContext?.Settings, 2632 EnableStorefrontLayoutCollection: window?.SwymEnabledCommonFeatures?.["multiple-wishlist"] ?? false, 2633 EnableStorefrontLayout: isWishlistEnabled && (isControlCentreEnabledFromBlockSettings || isControlCentreEnabledFromMetafield), 2634 } 2635 2636 if(SwymStorefrontLayoutContext?.Settings?.EnableStorefrontLayout){ 2637 if(SwymStorefrontLayoutContext?.CustomEvents?.LayoutInitialized){ 2638 var event = new CustomEvent(SwymStorefrontLayoutContext.CustomEvents.LayoutInitialized, { 2639 detail: { settings: SwymStorefrontLayoutContext?.Settings } 2640 }); 2641 document.dispatchEvent(event); 2642 }else{ 2643 swat.utils.warn(`LayoutInitialized event is not defined.`); 2644 } 2645 }else{ 2646 swat.utils.warn(`Storefront Layout is disabled.`); 2647 document.getElementById("swym-storefront-layout-container")?.remove(); 2648 document.getElementById("swym-storefront-extention-render-container")?.remove(); 2649 } 2650 } 2651 2652 if (!window.SwymCallbacks) { 2653 window.SwymCallbacks = []; 2654 } 2655 window.SwymCallbacks.push(storefrontLayoutCallback); 2656 2657 SwymStorefrontLayoutContext.SwymCustomerData = { 2658 2659 name: null, 2660 email: null 2661 2662 };
2663 SwymStorefrontLayoutContext.isShopperLoggedIn = !!SwymStorefrontLayoutContext?.SwymCustomerData?.email; 2664 })(); 2665</script>
2665 2666 2667 2668 2669 2670 2671 <div id="swym-storefront-extention-render-container"> 2672 <!-- BEGIN app snippet: swymStorefrontLayout -->
2672<script> 2673 (function () { 2674 const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"]; 2675 const isControlCentreEnabledFromBlockSettings = false; 2676 const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 2677 Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0; 2678 2679 if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) { 2680 return; 2681 } 2682 if (typeof window.SwymStorefrontLayoutContext === 'undefined') { 2683 window.SwymStorefrontLayoutContext = {}; 2684 } 2685 2686 // Initialize strings with empty values first to prevent string changes after loadStrings() 2687 SwymStorefrontLayoutContext.Strings = { 2688 title: "", 2689 addToCart: "", 2690 addedToCart: "", 2691 addAllToCartCta: "", 2692 addAllToCartSuccessText: "", 2693 addAllToCartEmptyText: "", 2694 addAllToCartErrorText: "", 2695 soldOut: "", 2696 addingToCart: "", 2697 viewCartCta: "", 2698 moveToCartCta: "", 2699 movingToCartCta: "", 2700 removeSflItemCta: "", 2701 2702 loginHeading: "", 2703 loginText: "", 2704 loginButtonText: "", 2705 loggedUserWelcomeMessage: "", 2706 VariantSelectorBtnText: "", 2707 wishlistTitle: "", 2708 wishlistInfo: "", 2709 emptyWishlistTitle: "", 2710 emptyWishlistDescription: "", 2711 2712 collectionTitle: "", 2713 emptyCarouselCollectionText: "", 2714 emptyCollectionText: "", 2715 emptyCollectionDescription: "", 2716 2717 addToCollectionTitle: "", 2718 removeItemCta: "", 2719 addToCollectionCta: "", 2720 createCollectionCta: "", 2721 saveNewCollectionCta: "", 2722 renameCollectionCta: "", 2723 deleteCollectionCta: "", 2724 shareCollectionCta: "", 2725 saveCollectionCta: "", 2726 editCollectionCta: "", 2727 shareCollectionTitle: "", 2728 shareCollectionMessage: "", 2729 sharedCollectionMessage: "", 2730 updateCollectionTitle: "", 2731 2732 errorMessageListNameRequired: "", 2733 errorMessageListNameRequire3Char: "", 2734 errorMessageListNameAlreadyExist: "", 2735 2736 notificationMessageItemSaved: "", 2737 notificationMessageItemRemoved: "", 2738 notificationMessageAddedToCart: "", 2739 notificationMessageAddedToCollection: "", 2740 notificationMessageCollectionSaved: "", 2741 notificationMessageCollectionDeleted: "", 2742 notificationMessageCollectionUpdated: "", 2743 notificationMessageCollectionUnavailable: "", 2744 notificationMessageSFLItemSaved: "", 2745 notificationMessageSFLItemRemoved: "", 2746 notificationMessageMovedToCart: "", 2747 2748 notificationActionAddToCollection: "", 2749 notificationActionView: "", 2750 notificationActionViewCollection: "", 2751 notificationActionGoToCart: "", 2752 2753 item: "", 2754 items: "", 2755 2756 tabWishlist: "", 2757 tabSavedForLater: "", 2758 tabSavedForYou: "", 2759 2760 savedForLaterTitle: "", 2761 emptySavedForLaterTitle: "", 2762 emptySavedForLaterDescription: "", 2763 2764 awNudgeMessage: "", 2765 awNudgeMessageSub: "", 2766 awNudgeLoginCTA: "", 2767 awNudgeDismiss: "", 2768 2769 emptySingleLoggedInTitle: "", 2770 emptySingleLoggedInDescription: "", 2771 emptySingleLoggedInBullet1: "", 2772 emptySingleLoggedInBullet2: "", 2773 emptySingleLoggedInBullet3: "", 2774 emptySingleLoggedInCTA: "", 2775 2776 emptyMultiLoggedInTitle: "", 2777 emptyMultiLoggedInDescription: "", 2778 emptyMultiLoggedInCreateTitle: "", 2779 emptyMultiLoggedInCreateDescription: "", 2780 emptyMultiLoggedInBrowseLabel: "", 2781 emptyMultiLoggedInCTA: "", 2782 emptyMultiLoggedInTag1: "", 2783 emptyMultiLoggedInTag2: "", 2784 emptyMultiLoggedInTag3: "", 2785 emptyMultiLoggedInTag4: "", 2786 emptyMultiLoggedInTag5: "", 2787 2788 emptyGuestTitle: "", 2789 emptyGuestDescription: "", 2790 emptyGuestSingleNotice: "", 2791 emptyGuestMultiNotice: "", 2792 emptyGuestLoginCTA: "", 2793 emptyGuestBrowseCTA: "", 2794 emptyGuestSignupText: "", 2795 emptyGuestSignupCTA: "", 2796 2797 emptySflTitle: "", 2798 emptySflDescription: "", 2799 emptySflStep1Title: "", 2800 emptySflStep1Description: "", 2801 emptySflStep2Title: "", 2802 emptySflStep2Description: "", 2803 emptySflLoggedInNotice: "", 2804 emptySflGuestNotice: "", 2805 emptySflGoToCartCTA: "", 2806 emptySflLoginCTA: "", 2807 emptySflSignupText: "", 2808 emptySflSignupCTA: "" 2809 }; 2810 2811 SwymStorefrontLayoutContext.stringsLoaded = false;
2812 SwymStorefrontLayoutContext.StorefrontLayoutUrls = SwymStorefrontLayoutContext.StorefrontLayoutUrls || {}; 2813 SwymStorefrontLayoutContext.StorefrontLayoutUrls.Login = "\/customer_authentication\/login?return_to=%2Fpages%2Fpricing\u0026locale=en\u0026ui_hint=full\u0026region_country=US"; 2814 2815 /** 2816 * Function to override Swym's default UI behavior. 2817 **/ 2818 const overrideSwymDefaultUI = (swat) => { 2819 try{ 2820 swat.ui.open = function(){ 2821 window.location.hash = SwymStorefrontLayoutContext?.StorefrontLayoutUrls?.List; 2822 } 2823 2824 if (swat.ui?.uiRef?.settings?.UI) { 2825 swat.ui.uiRef.settings.UI.NotificationDisabled = true; 2826 } 2827 }catch(e){ 2828 swat.utils?.warn('Error overriding Swym default UI:', e); 2829 } 2830 } 2831 2832 /** 2833 * Callback function to override Swym's default UI behavior based on Storefront Layout settings. 2834 * 2835 * - Overri
2835des `swat.ui.open` to redirect to a custom Storefront Layout URL if enabled. 2836 * - Overrides Swym's default notifications to log notifications instead of displaying them. 2837 * - Ensures the callback is pushed to `window.SwymCallbacks` for execution when Swym is initialized. 2838 * 2839 * @param {Object} swat - Swym's UI object used for overriding UI behaviors. 2840 */ 2841 const swymStorefrontLayoutCallback = (swat) =>{ 2842 SwymStorefrontLayoutContext.swat = swat; 2843 2844 overrideSwymDefaultUI(swat); 2845 2846 2847 let triggerHeartbeat = swat?.ExtensionHealth?.triggerExtensionHeartbeat; 2848 if (typeof triggerHeartbeat !== "function") return; 2849 2850 let wishlistNewUiHeartbeatData = ''; 2851 try { 2852 wishlistNewUiHeartbeatData = JSON.parse(wishlistNewUiHeartbeatData) || {}; 2853 } catch (e) { 2854 wishlistNewUiHeartbeatData = {}; 2855 } 2856 2857 let themeId = window.Shopify.theme.id; 2858 let isDesignMode = !!window.swymDesignMode; 2859 let lastHeartbeat = isDesignMode ? wishlistNewUiHeartbeatData?.editor : wishlistNewUiHeartbeatData?.[themeId]; 2860 let themeContext = isDesignMode ? 'editor' : themeId; 2861 let extensionData = { 2862 extensionName: "wishlist-new-ui", 2863 extensionType: "app-embed", 2864 metadata: {}, 2865 themeId: themeContext, 2866 extensionSource: "default" 2867 }; 2868 /** Stop heartbeat 2869 triggerHeartbeat(extensionData, lastHeartbeat); 2870 */ 2871 } 2872 2873 if (!window.SwymCallbacks) { 2874 window.SwymCallbacks = []; 2875 } 2876 window.SwymCallbacks.push(swymStorefrontLayoutCallback); 2877 })(); 2878</script>
2878 2879<link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout.css">
2880<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/async-wishlist-apis.js" defer="defer"></script>
vendor: 1 bytes, line 2880
2880
2881<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout.js" defer="defer"></script>
vendor: 1 bytes, line 2881
2881
2882<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout-components.js" defer="defer"></script>
2882 2883 2884<swym-storefront-layout class="swym-storefront-layout-root-component"></swym-storefront-layout> 2885<!-- END app snippet --> 2886 </div> 2887 <!-- BEGIN app snippet: swymEducationTooltip --> 2888 2889 2890 2891 2892 <div id="swym-education-tooltip" aria-hidden="true" 2893 data-toast-desktop-message="Interesting? Click '{{wishlistIcon}}' to save it to your {{wishlistName}}." 2894 data-toast-mobile-message="Interesting? Tap '{{wishlistIcon}}' to add to your {{wishlistName}}." 2895 data-toast-cta="Wishlist Now" 2896 data-tooltip-desktop-message="Interesting? Click '{{wishlistIcon}}' to save it to your {{wishlistName}}." 2897 data-tooltip-mobile-message="Interesting? Tap '{{wishlistIcon}}' to add to your {{wishlistName}}." 2898 data-button-transition-text-1="Price drops? Know first." 2899 data-button-transition-text-2="Almost gone. Just saying." 2900 data-button-transition-text-3="Yours when ready."> 2901 </div> 2902 2903 <div id="swym-education-tooltip-bubble" class="swym-education-tooltip swym-education-tooltip-above" aria-hidden="true" role="tooltip"> 2904 <div class="swym-education-tooltip-content"> 2905 <span class="swym-education-tooltip-message"></span> 2906 <button class="swym-education-tooltip-close" data-swym-education-tooltip-close aria-label="Close consent dialog"> 2907 <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 2908 <path d="M18 6L6 18M6 6l12 12"></path> 2909 </svg> 2910 </button> 2911 </div> 2912 <div class="swym-education-tooltip-arrow"></div> 2913 </div> 2914 2915 <style> 2916 /* Education tooltip â positioned fixed, managed by JS */ 2917 .swym-education-tooltip { 2918 position: fixed; 2919 z-index: 500; 2920 visibility: hidden; 2921 opacity: 0; 2922 transition: opacity 0.2s ease, visibility 0.2s ease; 2923 pointer-events: none; 2924 } 2925 .swym-education-tooltip.swym-education-tooltip-visible { 2926 visibility: visible; 2927 opacity: 1; 2928 pointer-events: auto; 2929 } 2930 .swym-education-tooltip-content { 2931 background: var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF); 2932 color: var(--swym-storefront-layout-notification-neutral-text-color, #383d41); 2933 border: 1px solid var(--swym-storefront-layout-notification-neutral-border-color, #d6d8db); 2934 padding: 10px 14px; 2935 border-radius: var(--swym-storefront-layout-ui-border-radius, 10px); 2936 font-size: 13px; 2937 line-height: 1.4; 2938 display: flex; 2939 align-items: center; 2940 gap: 8px; 2941 max-width: 320px; 2942 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); 2943 } 2944 .swym-education-tooltip-message { 2945 flex: 1; 2946 } 2947 .swym-education-tooltip-close { 2948 background: none; 2949 border: none; 2950 color: inherit; 2951 cursor: pointer; 2952 padding: 2px; 2953 line-height: 1; 2954 flex-shrink: 0; 2955 opacity: 0.7; 2956 } 2957 .swym-education-tooltip-close:hover { 2958 opacity: 1; 2959 } 2960 2961 /* Button text fade transition for education nudge */ 2962 .swym-btn-text-fade-out { 2963 opacity: 0; 2964 transition: opacity 0.2s ease; 2965 } 2966 .swym-btn-text-fade-in { 2967 opacity: 1; 2968 transition: opacity 0.3s ease; 2969 } 2970 2971 /* Arrow â points down when tooltip is above, up when below */ 2972 .swym-education-tooltip-arrow { 2973 width: 0; 2974 height: 0; 2975 position: absolute; 2976 left: 50%; 2977 transform: translateX(-50%); 2978 } 2979 .swym-education-tooltip-above .swym-education-tooltip-arrow { 2980 bottom: -6px; 2981 border-left: 6px solid transparent; 2982 border-right: 6px solid transparent; 2983 border-top: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF); 2984 } 2985 .swym-education-tooltip-below .swym-education-tooltip-arrow { 2986 top: -6px; 2987 border-left: 6px solid transparent; 2988 border-right: 6px solid transparent; 2989 border-bottom: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF); 2990 } 2991 2992 /* Hidden data element */ 2993 #swym-education-tooltip { 2994 display: none; 2995 } 2996 2997 @media (max-width: 480px) { 2998 .swym-education-tooltip-content { 2999 max-width: 90vw; 3000 font-size: 12px; 3001 } 3002 } 3003 </style> 3004 3005
3005<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-education-tooltip.js" defer="defer"></script>
3005 3006
3006<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-education.js" defer="defer"></script>
3006 3007 3008<!-- END app snippet --> 3009 3010 3011</div><div id="shopify-block-AN1ZUVXlRRU91R0xaT__14033927738893891564" class="shopify-block shopify-app-block"> 3012
3013<script> 3014 // === Configuration Variables === 3015 const SHOPIFY_LOGIN_URL = 'https://shopify.com/61538566328/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzZWVkdGltZXN0b3JlLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MDg1MzM2OSwibmJmIjoxNzkwMjQ4NTY5fQ.fdWX1tF-IG-heFPUuFtZyy6BQsfRySmMu0kmwOPvEXI®ion_country=US'; 3016 if (!SHOPIFY_LOGIN_URL.includes('/account/login')) { 3017 const SHOPIFY_SHOP_ID = '61538566328'; 3018 const SHOPIFY_DOMAIN = 'shopify.com'; 3019 const MINIORANGE_SSO_DOMAIN = 'shopify-b2b.miniorange.com'; 3020 const XECURIFY_BROKER_URL = "store.xecurify.com" ; 3021 const moGlobalConfig = '{"ncaLoginStrategyVersion":"v2","shopifyVersion":"Shopify"}'; 3022 const deviceSessionsData = ''; 3023 const sloUrl = '/apps/sso/moas/broker/login/shopify/slo/logout'; 3024 const sessionStatusUrl = '/apps/sso/moas/api/v2/nca/session/status'; 3025 // Current storefront locale. Forwarded to the broker as `request_locale`, which the broker passes 3026 // through onto the IdP authorize URL so the IdP can render its login screen in the shopper's language. 3027 const REQUEST_LOCALE = 'en'; 3028 // How often to ask whether this device session is still live. This is what makes an IdP-initiated 3029 // logout reach the shopper without waiting for their next navigation, and it works even when the 3030 // browser blocks third-party cookies, because the app-proxy call is first-party to the storefront. 3031 const SESSION_STATUS_POLL_MS = 60000; 3032 3033 const parsedmoConfig = (moGlobalConfig && typeof moGlobalConfig === "string" && moGlobalConfig.trim() !== "") ? JSON.parse(moGlobalConfig) : (moGlobalConfig || {}); 3034 3035 const ncaExtensionVersion = parsedmoConfig?.ncaLoginStrategyVersion; 3036 3037 const shopifyPlanName = parsedmoConfig?.shopifyVersion || ""; 3038 3039 function isNcaV1() { 3040 return String(ncaExtensionVersion || '').trim().toLowerCase() === 'v1'; 3041 } 3042 /** 3043 * Clears the mo-device-id cookiex 3044 */ 3045 function clearDeviceIdCookie() { 3046 document.cookie = 'mo-device-id=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Strict; Secure'; 3047 } 3048 3049 /** 3050 * Checks if IDP session cookie exists 3051 * @returns {boolean} True if IDP session cookie exists 3052 */ 3053 function hasIDPSessionCookie() { 3054 const sessionCookie = getCookieValue('mo-device-id'); 3055 return sessionCookie !== ''; 3056 } 3057 3058 // === Cookie Management === 3059 /** 3060 * Retrieves a cookie value by name 3061 * @param {string} cookieName - The name of the cookie to retrieve 3062 * @returns {string} The cookie value or empty string if not found 3063 */ 3064 function getCookieValue(cookieName) { 3065 const cookieNameWithEquals = cookieName + "="; 3066 const decodedCookie = decodeURIComponent(document.cookie); 3067 const allCookies = decodedCookie.split(';'); 3068 3069 for (let i = 0; i < allCookies.length; i++) { 3070 let cookie = allCookies[i]; 3071 3072 // Remove leading whitespace 3073 while (cookie.charAt(0) === ' ') { 3074 cookie = cookie.substring(1); 3075 } 3076 3077 // Check if this cookie matches our target 3078 if (cookie.indexOf(cookieNameWithEquals) === 0) { 3079 return cookie.substring(cookieNameWithEquals.length, cookie.length); 3080 } 3081 } 3082 3083 return ""; 3084 } 3085 3086 /** 3087 * Performs Shopify logout by redirecting to logout URL 3088 */ 3089 function performShopifyLogout() { 3090 const shopifyLogoutUrl = '/account/logout'; 3091 window.location.href = shopifyLogoutUrl; 3092 } 3093 3094 /** 3095 * Polls the app proxy to find out whether this device session has been revoked server-side â which is 3096 * what happens when the shopper signs out at their external IdP and the broker tears the session down. 3097 * 3098 * Deliberately fail-open: only an explicit {"active": false} logs the shopper out. A network error, a 3099 * non-200, or an unparseable body must leave them signed in â a blip must never sign people out. 3100 * 3101 * V2 only. V1 has no mo-device-id cookie on the storefront (its device_id travels in the nca_token JWT 3102 * and is polled by the reverse proxy instead), and Plus has no device session at all. 3103 */ 3104 function startSessionStatusPolling() { 3105 const deviceId = getCookieValue('mo-device-id'); 3106 if (!deviceId) { 3107 return; 3108 } 3109
3110 let checking = false; 3111 async function checkOnce() { 3112 // Skip hidden tabs so a shopper with several tabs open does not multiply the load. 3113 if (checking || document.visibilityState !== 'visible') { 3114 return; 3115 } 3116 checking = true; 3117 try { 3118 const response = await fetch(sessionStatusUrl + '?device-id=' + encodeURIComponent(deviceId), { 3119 credentials: 'same-origin', 3120 headers: { 'Accept': 'application/json' } 3121 }); 3122 if (!response.ok) { 3123 return; 3124 } 3125 const body = await response.json(); 3126 if (body && body.active === false) { 3127 clearDeviceIdCookie(); 3128 performShopifyLogout(); 3129 } 3130 } catch (error) { 3131 // Intentionally ignored â see fail-open note above. 3132 } finally { 3133 checking = false; 3134 } 3135 } 3136 3137 setInterval(checkOnce, SESSION_STATUS_POLL_MS); 3138 document.addEventListener('visibilitychange', function () { 3139 if (document.visibilityState === 'visible') { 3140 checkOnce(); 3141 } 3142 }); 3143 } 3144 3145 /** 3146 * Validates mo-device-id cookie against device sessions in metafields 3147 * @returns {Object} Validation result with status and action needed 3148 */ 3149 function validateDeviceSession() { 3150 try { 3151 // Parse device sessions from metafields first 3152 let deviceSessions = []; 3153 if (typeof deviceSessionsData === "string" && deviceSessionsData.trim() !== "" && deviceSessionsData !== "null") { 3154 try { 3155 deviceSessions = JSON.parse(deviceSessionsData); 3156 if (!Array.isArray(deviceSessions)) { 3157 return { isValid: false, action: 'logout', reason: 'Device sessions data is not an array' }; 3158 } 3159 } catch (parseError) { 3160 return { isValid: false, action: 'logout', reason: 'Failed to parse device sessions data' }; 3161 } 3162 } else if (Array.isArray(deviceSessionsData)) { 3163 deviceSessions = deviceSessionsData; 3164 } else { 3165 return { isValid: false, action: 'logout', reason: 'No device sessions data found' }; 3166 } 3167 3168 // Get mo-device-id from cookie 3169 const deviceId = getCookieValue('mo-device-id'); 3170 3171 // If customer has device sessions but no device-id cookie, redirect to SSO 3172 if (!deviceId || deviceId.trim() === '') { 3173 return { isValid: false, action: 'sso_redirect', reason: 'Customer has device sessions but no device-id cookie found' }; 3174 } 3175 3176 // Find matching device in the array 3177 const matchingDevice = deviceSessions.find(device => device.deviceId === deviceId); 3178 3179 if (!matchingDevice) { 3180 return { isValid: false, action: 'logout', reason: 'Device ID not found in authorized devices' }; 3181 } 3182 3183 // Check expiry time 3184 try { 3185 const reverifyTime = new Date(matchingDevice.reverifyAt); 3186 const currentTime = new Date(); 3187 3188 if (currentTime >= reverifyTime) { 3189 return { isValid: false, action: 'sso_redirect', reason: 'Device session has expired, re-authentication required' }; 3190 } 3191 3192 return { isValid: true, action: 'allow', reason: 'Device validation successful' }; 3193 3194 } catch (dateError) { 3195 return { isValid: false, action: 'sso_redirect', reason: 'Invalid reverifyAt date format' }; 3196 } 3197 3198 } catch (error) { 3199 console.error('Device validation error:', error); 3200 return { isValid: false, action: 'logout', reason: 'Unexpected error during device validation' }; 3201 } 3202 } 3203 3204 3205 // === Post-Login Redirect URL Configuration === 3206 let postLoginRedirectUrl = '/index'; 3207 3208 // Get the default return URL from metafields configuration 3209 3210 3211 3212 3213 postLoginRedirectUrl = '/store'; 3214 3215 3216 3217 3218 3219 // === URL Redirection Logic === 3220 3221 // === Non-Logged-in Customer Handling === 3222 3223 // Check if this is a Shopify Plus store - different handling needed 3224 if(shopifyPlanName.toLowerCase().includes('plus')) { 3225 // For Shopify Plus stores, set up login links but no immediate redirect 3226 // SSO redirect will happen when account buttons are clicked 3227 setupLoginLinks(); 3228 } else { 3229 // === For non-Plus plans, continue with normal flow === 3230 3231 /** 3232 * Checks for mo-device-id cookie on page load and redirects to SLO if needed 3233 */ 3234 function checkAndPerformSLO() { 3235 // SLO check is only for V2 customers 3236 if (ncaExtensionVersion === 'v2') { 3237 // Check if mo-device-id cookie exists (for logged out customers) 3238 const deviceId = getCookieValue('mo-device-id'); 3239 3240 if (deviceId && deviceId.trim() !== '') { 3241 3242 // Clear the mo-device-id cookie first 3243 clearDeviceIdCookie(); 3244 3245 // Construct SLO URL with mo-device-id as query parameter 3246 const sloUrlWithDeviceId = `${sloUrl}?device-id=${deviceId}`; 3247 3248 // Redirect to SLO endpoint with mo-device-id 3249 window.location.href = sloUrlWithDeviceId; 3250 return; // Exit early since we're redirecting 3251 } 3252 3253 // Also check for legacy IDP session cookie for backward compatibility 3254 if (hasIDPSessionCookie()) { 3255 // Clear the IDP session cookie first 3256 clearDeviceIdCookie(); 3257 } 3258 } 3259 } 3260 3261 // Use shared browser extension utils (sso-browser-extension-utils.js) 3262 const isChromeBrowser = () => window.MoSsoExtensionUtils?.isChromeBrowser?.() ?? false; 3263 const detectExtension = (timeoutMs) => window.MoSsoExtensionUtils?.detectExtension?.(timeoutMs) ?? Promise.resolve({ installed: false }); 3264 const showInstallationSteps = () => window.MoSsoExtensionUtils?.showExtensionInstallationPopup?.(); 3265 3266 // Initialize when DOM is ready 3267 if (document.readyState === 'loading') { 3268 document.addEventListener('DOMContentLoaded', initializeSSO); 3269 } else { 3270 initializeSSO(); 3271 } 3272 3273 } 3274 3275 3276 // === SSO Redirect Function === 3277 function redirectToSSO(redirect_endpoint) {
3278 let ssoLoginUrl = `https://${XECURIFY_BROKER_URL}/moas/broker/login/shopify/${window.location.host}/account?redirect_endpoint=${redirect_endpoint}`; 3279 if (REQUEST_LOCALE && REQUEST_LOCALE.trim() !== '') { 3280 ssoLoginUrl += `&request_locale=${encodeURIComponent(REQUEST_LOCALE)}`; 3281 } 3282 window.location.href = ssoLoginUrl; 3283 } 3284 3285 // === Initialization with Multiple Attempts === 3286 function initializeSSO() { 3287 // Version-specific initialization 3288 if (ncaExtensionVersion === 'v2') { 3289 checkAndPerformSLO(); 3290 } 3291 setupLoginLinks(); 3292 // Also set up a periodic check in case links are loaded dynamically 3293 setTimeout(() => { 3294 setupLoginLinks(); 3295 }, 2000); 3296 } 3297 3298 // === Helper function to get redirect endpoint === 3299 function getRedirectEndpoint() { 3300 // Check if postLoginRedirectUrl has a valid value 3301 if (postLoginRedirectUrl && postLoginRedirectUrl.trim() !== '' && postLoginRedirectUrl !== '/index') { 3302 return encodeURIComponent(postLoginRedirectUrl); 3303 } 3304 // Fallback to current page URL 3305 return encodeURIComponent(window.location.pathname + window.location.search + window.location.hash); 3306 } 3307 3308 // === Login Link Click Handler === 3309 async function handleLoginClick(event, originalHref) { 3310 event.preventDefault(); 3311 3312 if (shopifyPlanName.toLowerCase().includes('plus')) { 3313 redirectToSSO(getRedirectEndpoint()); 3314 return; 3315 } 3316 3317 try { 3318 const utils = window.MoSsoExtensionUtils; 3319 if (utils && typeof utils.shouldShowExtensionPopupForV3 === 'function') { 3320 const popupShown = await utils.shouldShowExtensionPopupForV3(ncaExtensionVersion, function () { 3321 redirectToSSO(getRedirectEndpoint()); 3322 }); 3323 if (popupShown) return; 3324 } 3325 } catch (error) { 3326 console.error('[mo-sso] Extension check failed:', error); 3327 } 3328 redirectToSSO(getRedirectEndpoint()); 3329 } 3330 3331 // === Setup Login Links === 3332 function setupLoginLinks() { 3333 3334 // Define comprehensive selectors for various account button patterns 3335 const accountSelectors = [ 3336 // === Direct URL-based selectors === 3337 'a[href*="/account/login"]', 3338 'a[href*="/account/register"]', 3339 'a[href="/account"]', 3340 'a[href*="/account/"]', 3341 'a[href*="account"]', 3342 'a[href*="login"]', 3343 'a[href*="sign-in"]', 3344 'a[href*="signin"]', 3345 3346 // === Class-based selectors for modern themes === 3347 '.account-link', 3348 '.account-button', 3349 '.customer-account', 3350 '.customer-link', 3351 '.login-link', 3352 '.login-button', 3353 '.sign-in-link', 3354 '.signin-link', 3355 '.account-trigger', 3356 '.account-modal-trigger', 3357 '.customer-login', 3358 '.user-account', 3359 '.my-account', 3360 3361 // === Common Horizon/modern theme patterns === 3362 '[data-account-link]', 3363 '[data-login-link]', 3364 '[data-customer-account]', 3365 '[data-modal-trigger*="account"]', 3366 '[data-modal-trigger*="login"]', 3367 '[aria-controls*="account"]', 3368 '[aria-controls*="login"]', 3369 3370 // === Header/navigation specific === 3371 'header a[href*="account"]', 3372 'nav a[href*="account"]', 3373 '.header-account', 3374 '.nav-account', 3375 '.header-customer', 3376 '.navigation-account', 3377 3378 // === Icon-based buttons (common in modern themes) === 3379 'button[data-account]', 3380 'button[data-login]', 3381 'button[aria-label*="account" i]', 3382 'button[aria-label*="login" i]', 3383 'button[aria-label*="sign in" i]', 3384 'button[title*="account" i]', 3385 'button[title*="login" i]', 3386 'button[title*="sign in" i]', 3387 3388 // === Dropdown triggers === 3389 '.account-dropdown-trigger', 3390 '.customer-dropdown-trigger', 3391 '[data-dropdown*="account"]', 3392 '[data-toggle*="account"]' 3393 ]; 3394 3395 // Custom text-based search for elements 3396 const elementsWithAccountText = []; 3397 const allInteractiveElements = document.querySelectorAll('a, button, [role="button"], [tabindex="0"]'); 3398
3399 allInteractiveElements.forEach(element => { 3400 const text = element.textContent.toLowerCase().trim(); 3401 const title = (element.title || '').toLowerCase(); 3402 const ariaLabel = (element.getAttribute('aria-label') || '').toLowerCase(); 3403 3404 if ( 3405 text.includes('sign in') || 3406 text.includes('login') || 3407 text.includes('log in') || 3408 text.includes('my account') || 3409 text === 'account' || 3410 title.includes('account') || 3411 title.includes('login') || 3412 ariaLabel.includes('account') || 3413 ariaLabel.includes('login') 3414 ) { 3415 elementsWithAccountText.push(element); 3416 } 3417 }); 3418 3419 // Combine all selectors and find elements 3420 const selectorString = accountSelectors.join(', '); 3421 const loginLinksBySelector = Array.from(document.querySelectorAll(selectorString)); 3422 const allLoginElements = [...new Set([...loginLinksBySelector, ...elementsWithAccountText])]; 3423 3424 // Setup click handlers for all found elements 3425 allLoginElements.forEach((element, index) => { 3426 const originalHref = element.href || '#'; 3427 3428 // Remove any existing click handlers to avoid conflicts 3429 element.removeEventListener('click', handleLoginClick); 3430 3431 // Add click event listener with high priority 3432 element.addEventListener('click', (event) => { 3433 3434 handleLoginClick(event, originalHref); 3435 }, true); // Use capture phase to ensure we catch it first 3436 3437 // Add visual indicator that this is an SSO-enabled element 3438 element.setAttribute('title', 'Login with Single Sign-On (SSO)'); 3439 element.setAttribute('data-sso-enabled', 'true'); 3440 3441 3442 }); 3443 3444 3445 } 3446 } 3447 3448</script>
vendor: 1 bytes, line 3448
3448
3449<script src="https://cdn.shopify.com/extensions/01a0c81c-151d-7ab3-8cb4-002a33b67a74/single-sign-onss-87/assets/sso-extension-detect.js" defer="defer"></script>
vendor: 1 bytes, line 3449
3449
3450<script src="https://cdn.shopify.com/extensions/01a0c81c-151d-7ab3-8cb4-002a33b67a74/single-sign-onss-87/assets/sso-browser-extension-utils.js" defer="defer"></script>
vendor: 1 bytes, line 3450
3450
3451<script src="https://cdn.shopify.com/extensions/01a0c81c-151d-7ab3-8cb4-002a33b67a74/single-sign-onss-87/assets/complete-store.js" defer="defer"></script>
3451 3452 3453 3454</div><div id="shopify-block-ATzdJWHhyNmRuTEpFd__10312807297210203588" class="shopify-block shopify-app-block"> 3455 3456 3457</div><div id="shopify-block-AbEpqaklGb2U2U255a__10274264662263595587" class="shopify-block shopify-app-block">
3458<script> 3459 window.SwymCollectionsConfig = { 3460 'CollectionsSelectors': [], 3461 'CollectionsPosition': "top-right", 3462 'CollectionsIcon': "heart", 3463 'CollectionsButtonSize': 25, 3464 'CollectionsVerticalOffset': 0, 3465 'CollectionsHorizontalOffset': 0, 3466 'CollectionsProductLinkSelector': "-", 3467 'CollectionsProductTileSelector': "-", 3468 'CollectionsVariantSelector': "false", 3469 'CollectionsVariantSelectorChooseActionText': "Choose or Create new Wishlist", 3470 'CollectionsCreateListTitle': "Name Your Wishlist", 3471 'CollectionsCreateListPlaceholder': "Enter wishlist name", 3472 'CollectionsCustomIconAdd': "", 3473 'CollectionsCustomIconAdded': "", 3474 'CollectionsIconColor': "#79C048", 3475 'CollectionsIconThickness': "1.7", 3476} 3477</script>
3477 3478<style> 3479 .swym-wishlist-collections-v2, .swym-wishlist-collections-v2 svg {border:unset; background:unset; min-width: 25px; height: 25px!important;} 3480 .swym-wishlist-collections-icon-heart-filled, .swym-wishlist-collections-icon-heart-unfilled, .swym-wishlist-collections-icon-star-filled, .swym-wishlist-collections-icon-star-unfilled, .swym-wishlist-collections-icon-bookmark-unfilled, .swym-wishlist-collections-icon-bookmark-filled {fill: #79C048;} 3481 .swym-wishlist-collections-v2 .swym-collections-social-count {color: #79C048;} 3482</style> 3483 3484 3485
3486<script> 3487 // Send heartbeat for collections button 3488 (function() { 3489 let collectionsButtonHeartbeatData = ''; 3490 try { 3491 collectionsButtonHeartbeatData = JSON.parse(collectionsButtonHeartbeatData) || {}; 3492 } catch (e) { 3493 collectionsButtonHeartbeatData = {}; 3494 } 3495 const ShopifyTheme = window.Shopify.theme; 3496 const themeId = ShopifyTheme.id; 3497 let heartbeatMetadata = { 3498 schema_name: ShopifyTheme?.schema_name, 3499 schema_version: ShopifyTheme?.schema_version, 3500 theme_store_id: ShopifyTheme?.theme_store_id, 3501 role: ShopifyTheme?.role 3502 }; 3503 3504 const isDesignMode = !!window.swymDesignMode; 3505 3506 if (!window.SwymCallbacks) { 3507 window.SwymCallbacks = []; 3508 } 3509 window.SwymCallbacks.push((swat) => { 3510 if (!swat || !themeId) { 3511 return; 3512 } 3513 const triggerHeartbeat = swat?.ExtensionHealth?.triggerExtensionHeartbeat; 3514 if (typeof triggerHeartbeat !== "function") return; 3515 3516 const lastHeartbeat = isDesignMode ? collectionsButtonHeartbeatData?.editor : collectionsButtonHeartbeatData?.[themeId]; 3517 const themeContext = isDesignMode ? 'editor' : themeId; 3518 3519 const extensionData = { 3520 extensionName: "add-to-wishlist-collections-button", 3521 extensionType: "app-embed", 3522 metadata: heartbeatMetadata, 3523 themeId: themeContext, 3524 extensionSource: "default" 3525 }; 3526 3527 /** Stop heartbeat 3528 triggerHeartbeat(extensionData, lastHeartbeat); 3529 */ 3530 }); 3531 })(); // IIFE to prevent polluting global scope 3532</script>
3532 3533 3534 3535<style> 3536 .swym-advanced-wishlist-collections-container { 3537 display: none; 3538 } 3539</style> 3540</div><div id="shopify-block-AeXdFL3NiTloxRjRUY__14952540001915115444" class="shopify-block shopify-app-block"> 3541 3542 3543 3544 3545<link id="upcart-stylesheet" rel="preload" href="https://cdn.shopify.com/extensions/01a0cf85-c8e7-77b1-beac-ac0a95f5b97f/upcart-2-412/assets/upcart-stylesheet.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 3546 3547 3548 3549 3550
3550<script defer type="text/javascript" src="https://cdn.shopify.com/extensions/01a0cf85-c8e7-77b1-beac-ac0a95f5b97f/upcart-2-412/assets/upcart-bundle.js"></script>
3550 3551 3552 3553
3554<script> 3555 3556 function b64DecodeUnicode(str) { 3557 try { 3558 return decodeURIComponent( 3559 atob(str) 3560 .split('') 3561 .map(function (c) { 3562 return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); 3563 }) 3564 .join(''), 3565 ); 3566 } catch { 3567 return str; 3568 } 3569 } 3570</script>
3570 3571 3572
3573<script> 3574(function() { 3575 window.upcartSettings = {}; 3576 window.upcartSettings.upcartSettings = {}; 3577 window.upcartSettings.upcartEditorSettings = {}; 3578 window.upcartSettings.stickyCartButtonEditorSettings = {}; 3579 3580 3581 3582 3583 let val; 3584 3585 val = b64DecodeUnicode("cmlnaHQ="); 3586 if (val === '') { 3587 val = b64DecodeUnicode("cmlnaHQ="); 3588 } 3589 window.upcartSettings.upcartSettings.cartPosition = val; 3590 3591 val = b64DecodeUnicode("ZmFsc2U="); 3592 if (val === '') { 3593 val = b64DecodeUnicode("ZmFsc2U="); 3594 } 3595 val = JSON.parse(val); 3596 window.upcartSettings.upcartSettings.disableSticky = val; 3597 3598 val = b64DecodeUnicode("dHJ1ZQ=="); 3599 if (val === '') { 3600 val = b64DecodeUnicode("dHJ1ZQ=="); 3601 } 3602 val = JSON.parse(val); 3603 window.upcartSettings.upcartSettings.openOnAddToCart = val; 3604 3605 val = b64DecodeUnicode("ZmFsc2U="); 3606 if (val === '') { 3607 val = b64DecodeUnicode("ZmFsc2U="); 3608 } 3609 val = JSON.parse(val); 3610 window.upcartSettings.upcartSettings.redirectToCart = val; 3611 3612 val = b64DecodeUnicode("dHJ1ZQ=="); 3613 if (val === '') { 3614 val = b64DecodeUnicode("ZmFsc2U="); 3615 } 3616 val = JSON.parse(val); 3617 window.upcartSettings.upcartSettings.enableCartSkeletons = val; 3618 3619 val = b64DecodeUnicode("eyJjYXJ0VGl0bGUiOiJDYXJ0IOKAoiB7e2NhcnRfcXVhbnRpdHl9fSIsImNoZWNrb3V0IjoiQ2hlY2tvdXQg4oCiIHt7dG90YWxfcHJpY2V9fSIsImFkZFRleHQiOiJBZGQiLCJlbXB0eUNhcnQiOiJZb3VyIGNhcnQgaXMgZW1wdHkiLCJkaXNjb3VudFNhdmluZ3MiOiJTYXZlIiwiY29udGludWVTaG9wcGluZyI6Ik9yIGNvbnRpbnVlIHNob3BwaW5nIiwidG90YWxTYXZpbmdzIjoiRGlzY291bnRzIiwic3VidG90YWwiOiJTdWJ0b3RhbCIsImJ1bmRsZUhpZGVTaW5ndWxhckl0ZW1UZXh0IjoiSGlkZSAxIGl0ZW0iLCJidW5kbGVTaG93U2luZ3VsYXJJdGVtVGV4dCI6IlNob3cgMSBpdGVtIiwiYnVuZGxlSGlkZU11bHRpcGxlSXRlbXNUZXh0IjoiSGlkZSB7TlVNQkVSX09GX0lURU1TfSBpdGVtcyIsImJ1bmRsZVNob3dNdWx0aXBsZUl0ZW1zVGV4dCI6IlNob3cge05VTUJFUl9PRl9JVEVNU30gaXRlbXMifQ=="); 3620 if (val === '') { 3621 val = b64DecodeUnicode("eyJjYXJ0VGl0bGUiOiJDYXJ0IOKAoiB7e2NhcnRfcXVhbnRpdHl9fSIsImNoZWNrb3V0IjoiQ2hlY2tvdXQg4oCiIHt7dG90YWxfcHJpY2V9fSIsImFkZFRleHQiOiJBZGQiLCJlbXB0eUNhcnQiOiJZb3VyIGNhcnQgaXMgZW1wdHkiLCJkaXNjb3VudFNhdmluZ3MiOiJTYXZlIiwiY29udGludWVTaG9wcGluZyI6Ik9yIGNvbnRpbnVlIHNob3BwaW5nIiwidG90YWxTYXZpbmdzIjoiRGlzY291bnRzIiwic3VidG90YWwiOiJTdWJ0b3RhbCIsImJ1bmRsZUhpZGVTaW5ndWxhckl0ZW1UZXh0IjoiSGlkZSAxIGl0ZW0iLCJidW5kbGVTaG93U2luZ3VsYXJJdGVtVGV4dCI6IlNob3cgMSBpdGVtIiwiYnVuZGxlSGlkZU11bHRpcGxlSXRlbXNUZXh0IjoiSGlkZSB7TlVNQkVSX09GX0lURU1TfSBpdGVtcyIsImJ1bmRsZVNob3dNdWx0aXBsZUl0ZW1zVGV4dCI6IlNob3cge05VTUJFUl9PRl9JVEVNU30gaXRlbXMifQ=="); 3622 } 3623 val = JSON.parse(val); 3624 window.upcartSettings.upcartSettings.translations = val; 3625 3626 val = b64DecodeUnicode("eyJhYm92ZUZvb3RlciI6IiIsImFib3ZlSGVhZGVyIjoiIiwiYmVsb3dIZWFkZXIiOiIiLCJiZXR3ZWVuTGluZUl0ZW1zIjoiIiwiYmVsb3dDYXJ0SXRlbXMiOiIiLCJhYm92ZUNoZWNrb3V0QnV0dG9uIjoiIiwiYmVsb3dDaGVja291dEJ1dHRvbiI6IjxkaXYgaWQ9XCJzYWJiYXRoLW1lc3NhZ2VcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTsgcGFkZGluZzogMDtcIj5cbiAgPGEgaHJlZj1cImh0dHBzOi8vc2VlZHRpbWUudXMvcGFnZXMvc2FiYmF0aFwiIHRhcmdldD1cIl9ibGFua1wiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjA0RjRGOyBib3JkZXItcmFkaXVzOiAxNnB4OyBwYWRkaW5nOiAxNHB4IDIwcHg7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE1cHg7IGNvbG9yOiAjZmZmOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRleHQtYWxpZ246IGNlbnRlcjtcIj5cbiAgICBDaGVja291dCBpcyBjdXJyZW50bHkgZGlzYWJsZWQuIDxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+Q2xpY2sgaGVyZSB0byBsZWFybiBtb3JlLjwvc3Bhbj5cbiAgPC9hPlxuPC9kaXY+XG5cbjxzY3JpcHQ+XG4gIGZ1bmN0aW9uIGlzU2FiYmF0aE5vdygpIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdlbi1VUycsIHtcbiAgICAgIHRpbWVab25lOiAnQW1lcmljYS9DaGljYWdvJyxcbiAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgIGhvdXIxMjogZmFsc2UsXG4gICAgICB3ZWVrZGF5OiAnc2hvcnQnXG4gICAgfSk7XG4gICAgY29uc3QgcGFydHMgPSBmb3JtYXR0ZXIuZm9ybWF0VG9QYXJ0cyhub3cpO1xuICAgIGNvbnN0IGRheSA9IHBhcnRzLmZpbmQocCA9PiBwLnR5cGUgPT09ICd3ZWVrZGF5JykudmFsdWU7XG4gICAgY29uc3QgaG91ciA9IHBhcnNlSW50KHBhcnRzLmZpbmQocCA9PiBwLnR5cGUgPT09ICdob3VyJykudmFsdWUpO1xuICAgIHJldHVybiAoZGF5ID09PSAnRnJpJyAmJiBob3VyID49IDE5KSB8fCAoZGF5ID09PSAnU2F0JyAmJiBob3VyIDwgMTkpO1xuICB9XG5cbiAgZnVuY3Rpb24gYXBwbHlTYWJiYXRoKCkge1xuICAgIGNvbnN0IHJvb3QgPSB3aW5kb3cudXBjYXJ0RG9jdW1lbnRPclNoYWRvd1Jvb3QgfHwgZG9jdW1lbnQ7XG4gICAgY29uc3QgY2hlY2tvdXRCdG4gPSByb290LnF1ZXJ5U2VsZWN0b3IoJy51cGNhcnQtY2hlY2tvdXQtYnV0dG9uJyk7XG4gICAgY29uc3QgbXNnID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcjc2FiYmF0aC1tZXNzYWdlJyk7XG4gICAgaWYgKCFjaGVja291dEJ0bikgcmV0dXJuO1xuXG4gICAgaWYgKGlzU2FiYmF0aE5vdygpKSB7XG4gICAgICBjaGVja291dEJ0bi5zdHlsZS5zZXRQcm9wZXJ0eSgnZGlzcGxheScsICdub25lJywgJ2ltcG9ydGFudCcpO1xuICAgICAgaWYgKG1zZykgbXNnLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGVja291dEJ0bi5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnZGlzcGxheScpO1xuICAgICAgaWYgKG1zZykgbXNnLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihhcHBseVNhYmJhdGgpO1xuICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuXG4gIHNldFRpbWVvdXQoYXBwbHlTYWJiYXRoLCAzMDApO1xuPC9zY3JpcHQ+IiwiYm90dG9tT2ZDYXJ0IjoiIiwib25FbXB0eUNhcnQiOiIiLCJzY3JpcHRzQmVmb3JlTG9hZCI6IiJ9"); 3627 if (val === '') { 3628 val = b64DecodeUnicode("eyJhYm92ZUZvb3RlciI6IiIsImFib3ZlSGVhZGVyIjoiIiwiYmVsb3dIZWFkZXIiOiIiLCJiZXR3ZWVuTGluZUl0ZW1zIjoiIiwiYmVsb3dDYXJ0SXRlbXMiOiIiLCJhYm92ZUNoZWNrb3V0QnV0dG9uIjoiIiwiYmVsb3dDaGVja291dEJ1dHRvbiI6IiIsImJvdHRvbU9mQ2FydCI6IiIsIm9uRW1wdHlDYXJ0IjoiIiwic2NyaXB0c0JlZm9yZUxvYWQiOiIifQ=="); 3629 } 3630 val = JSON.parse(val); 3631 window.upcartSettings.upcartSettings.htmlFields = val; 3632 3633 val = b64DecodeUnicode("dHJ1ZQ=="); 3634 if (val === '') { 3635 val = b64DecodeUnicode("dHJ1ZQ=="); 3636 } 3637 val = JSON.parse(val); 3638 window.upcartSettings.upcartSettings.automaticDiscount = val; 3639 3640 val = b64DecodeUnicode("ZmFsc2U="); 3641 if (val === '') { 3642 val = b64DecodeUnicode("ZmFsc2U="); 3643 } 3644 val = JSON.parse(val); 3645 window.upcartSettings.upcartSettings.basePriceForDiscount = val; 3646 3647 val = b64DecodeUnicode("dHJ1ZQ=="); 3648 if (val === '') { 3649 val = b64DecodeUnicode("ZmFsc2U="); 3650 } 3651 val = JSON.parse(val); 3652 window.upcartSettings.upcartSettings.hideSingleUnderscoredProperties = val; 3653 3654 val = b64DecodeUnicode("dHJ1ZQ=="); 3655 if (val === '') { 3656 val = b64DecodeUnicode("ZmFsc2U="); 3657 } 3658 val = JSON.parse(val); 3659 window.upcartSettings.upcartSettings.showContinueShoppingButton = val; 3660 3661 val = b64DecodeUnicode("ZmFsc2U="); 3662 if (val === '') { 3663 val = b64DecodeUnicode("ZmFsc2U="); 3664 } 3665 val = JSON.parse(val); 3666 window.upcartSettings.upcartSettings.ajaxRaceConditionPrevention = val; 3667 3668 val = b64DecodeUnicode("ZmFsc2U="); 3669 if (val === '') { 3670 val = b64DecodeUnicode("ZmFsc2U="); 3671 } 3672 val = JSON.parse(val); 3673 window.upcartSettings.upcartSettings.htmlFieldForceReRender = val; 3674 3675 val = b64DecodeUnicode("ZmFsc2U="); 3676 if (val === '') { 3677 val = b64DecodeUnicode("ZmFsc2U="); 3678 } 3679 val = JSON.parse(val); 3680 window.upcartSettings.upcartSettings.skipGoogleFonts = val; 3681 3682 val = b64DecodeUnicode("ZmFsc2U="); 3683 if (val === '') { 3684 val = b64DecodeUnicode("ZmFsc2U="); 3685 } 3686 val = JSON.parse(val); 3687 window.upcartSettings.upcartSettings.overrideScrollLocking = val; 3688 3689 val = b64DecodeUnicode("MTAw"); 3690 if (val === '') { 3691 val = b64DecodeUnicode("MTAw"); 3692 } 3693 window.upcartSettings.upcartSettings.trafficAllocationPercent = val; 3694 3695 val = b64DecodeUnicode("ZmFsc2U="); 3696 if (val === '') { 3697 val = b64DecodeUnicode("ZmFsc2U="); 3698 } 3699 val = JSON.parse(val); 3700 window.upcartSettings.upcartSettings.renderCartInShadowDom = val; 3701 3702 val = b64DecodeUnicode("dHJ1ZQ=="); 3703 if (val === '') { 3704 val = b64DecodeUnicode("ZmFsc2U="); 3705 } 3706 val = JSON.parse(val); 3707 window.upcartSettings.upcartSettings.cartEventTracking = val; 3708 3709 val = b64DecodeUnicode("eyJvcHRpb24iOiJkZWZhdWx0LXNlbGVjdG9yIiwiY3VzdG9tU2VsZWN0b3IiOiIifQ=="); 3710 if (val === '') { 3711 val = b64DecodeUnicode("eyJvcHRpb24iOiJkZWZhdWx0LXNlbGVjdG9yIiwiY3VzdG9tU2VsZWN0b3IiOiIifQ=="); 3712 } 3713 val = JSON.parse(val); 3714 window.upcartSettings.upcartSettings.openCartButtonSelection = val; 3715 3716 val = b64DecodeUnicode("eyJvcHRpb24iOiJkZWZhdWx0LXNlbGVjdG9yIiwiY3VzdG9tU2VsZWN0b3IiOiIifQ=="); 3717 if (val === '') { 3718 val = b64DecodeUnicode("eyJvcHRpb24iOiJkZWZhdWx0LXNlbGVjdG9yIiwiY3VzdG9tU2VsZWN0b3IiOiIifQ=="); 3719 } 3720 val = JSON.parse(val); 3721 window.upcartSettings.upcartSettings.addToCartButtonSelection = val; 3722 3723 val = b64DecodeUnicode("bGluZQ=="); 3724 if (val === '') { 3725 val = b64DecodeUnicode("bGluZQ=="); 3726 } 3727 window.upcartSettings.upcartSettings.updateItemIdentifier = val; 3728 3729 val = b64DecodeUnicode("I3NhYmJhdGgtbWVzc2FnZSBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjM2ZTZlICFpbXBvcnRhbnQ7CiAgY3Vyc29yOiBwb2ludGVyOwp9"); 3730 if (val === '') { 3731 val = b64DecodeUnicode("Knt9"); 3732 }
3733 window.upcartSettings.upcartSettings.customCSS = val; 3734 3735 val = b64DecodeUnicode("Knt9"); 3736 if (val === '') { 3737 val = b64DecodeUnicode("Knt9"); 3738 } 3739 window.upcartSettings.upcartSettings.customStickyCartCSS = val; 3740 3741 val = b64DecodeUnicode("ZmFsc2U="); 3742 if (val === '') { 3743 val = b64DecodeUnicode("ZmFsc2U="); 3744 } 3745 val = JSON.parse(val); 3746 window.upcartSettings.upcartSettings.integrationZapietEnabled = val; 3747 3748 val = b64DecodeUnicode("ZmFsc2U="); 3749 if (val === '') { 3750 val = b64DecodeUnicode("ZmFsc2U="); 3751 } 3752 val = JSON.parse(val); 3753 window.upcartSettings.upcartSettings.integrationYmqEnabled = val; 3754 3755 val = b64DecodeUnicode("eyJzdGF0dXMiOiJESVNBQkxFRCJ9"); 3756 if (val === '') { 3757 val = b64DecodeUnicode("eyJzdGF0dXMiOiJESVNBQkxFRCJ9"); 3758 } 3759 val = JSON.parse(val); 3760 window.upcartSettings.upcartSettings.customCartBundleInfo = val; 3761 3762 val = b64DecodeUnicode(""); 3763 if (val === '') { 3764 val = b64DecodeUnicode("ZGlzY291bnRfb25seQ=="); 3765 } 3766 window.upcartSettings.upcartSettings.savingsRowBehaviour = val; 3767 3768 val = b64DecodeUnicode(""); 3769 if (val === '') { 3770 val = b64DecodeUnicode("W10="); 3771 } 3772 val = JSON.parse(val); 3773 window.upcartSettings.upcartSettings.activeCartIds = val; 3774 3775 val = b64DecodeUnicode("dHJ1ZQ=="); 3776 if (val === '') { 3777 val = b64DecodeUnicode("dHJ1ZQ=="); 3778 } 3779 val = JSON.parse(val); 3780 window.upcartSettings.upcartEditorSettings.cartIsEnabled = val; 3781 3782 val = b64DecodeUnicode("MmU4ZjdjOWQtMGQ2NC00NmE5LWE3MmItMjk0YmQ2Njk0ZTBk"); 3783 if (val === '') { 3784 val = b64DecodeUnicode(""); 3785 } 3786 window.upcartSettings.upcartEditorSettings.cartId = val; 3787 3788 val = b64DecodeUnicode("eyJmaWVsZHMiOnsiY29tcGFyZUF0UHJpY2UiOnRydWUsImluaGVyaXRGb250cyI6dHJ1ZSwiYmFja2dyb3VuZENvbG9yIjoiI2ZmZmZmZiIsImNhcnRBY2NlbnRDb2xvciI6IiNmNmY2ZjciLCJidXR0b25Db2xvciI6IiM3OUMwNDgiLCJidXR0b25UZXh0Q29sb3IiOiIjRkZGRkZGIiwiYnV0dG9uVGV4dEhvdmVyQ29sb3IiOiIjZmZmZmZmIiwiY2FydFRleHRDb2xvciI6IiMwMDAwMDAiLCJidXR0b25Sb3VuZGVkQ29ybmVyc1NpemUiOjE1LCJlbmFibGVTdWJ0b3RhbExpbmUiOnRydWUsInN1YnRvdGFsVGV4dENvbG9yIjoiIzAwMDAwMCIsImNhcnRXaWR0aCI6eyJkZXNrdG9wIjoid2lkZSIsIm1vYmlsZSI6ImZ1bGwifX19"); 3789 if (val === '') { 3790 val = b64DecodeUnicode("eyJmaWVsZHMiOnsiY29tcGFyZUF0UHJpY2UiOnRydWUsImluaGVyaXRGb250cyI6dHJ1ZSwiYmFja2dyb3VuZENvbG9yIjoiI0ZGRkZGRiIsImNhcnRBY2NlbnRDb2xvciI6IiNmNmY2ZjciLCJidXR0b25Db2xvciI6IiMwMDAwMDAiLCJidXR0b25UZXh0Q29sb3IiOiIjRkZGRkZGIiwiYnV0dG9uVGV4dEhvdmVyQ29sb3IiOiIjZTllOWU5IiwiY2FydFRleHRDb2xvciI6IiMwMDAwMDAiLCJidXR0b25Sb3VuZGVkQ29ybmVyc1NpemUiOjAsImVuYWJsZVN1YnRvdGFsTGluZSI6ZmFsc2UsInN1YnRvdGFsVGV4dENvbG9yIjoiIzAwMDAwMCIsImNhcnRXaWR0aCI6eyJkZXNrdG9wIjoiYmFzZSIsIm1vYmlsZSI6ImZ1bGwifX19"); 3791 } 3792 val = JSON.parse(val); 3793 window.upcartSettings.upcartEditorSettings.settingsModule = val; 3794 3795 val = b64DecodeUnicode("I0YwNEY0Rg=="); 3796 if (val === '') { 3797 val = b64DecodeUnicode("IzJlYTgxOA=="); 3798 } 3799 window.upcartSettings.upcartEditorSettings.designSettingsCartSavingsTextColor = val; 3800 3801 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3802 if (val === '') { 3803 val = b64DecodeUnicode("MS4wLjA="); 3804 } 3805 window.upcartSettings.upcartEditorSettings.headerModuleVersion = val; 3806 3807 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3808 if (val === '') { 3809 val = b64DecodeUnicode("MS4wLjA="); 3810 } 3811 window.upcartSettings.upcartEditorSettings.announcementModuleVersion = val; 3812 3813 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3814 if (val === '') { 3815 val = b64DecodeUnicode("MS4wLjA="); 3816 } 3817 window.upcartSettings.upcartEditorSettings.upsellsModuleVersion = val; 3818 3819 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3820 if (val === '') { 3821 val = b64DecodeUnicode("MS4wLjA="); 3822 } 3823 window.upcartSettings.upcartEditorSettings.recommendationsModuleVersion = val; 3824 3825 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3826 if (val === '') { 3827 val = b64DecodeUnicode("MS4wLjA="); 3828 } 3829 window.upcartSettings.upcartEditorSettings.notesModuleVersion = val; 3830 3831 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3832 if (val === '') { 3833 val = b64DecodeUnicode("MS4wLjA="); 3834 } 3835 window.upcartSettings.upcartEditorSettings.discountCodeModuleVersion = val; 3836 3837 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3838 if (val === '') { 3839 val = b64DecodeUnicode("MS4wLjA="); 3840 } 3841 window.upcartSettings.upcartEditorSettings.trustBadgesModuleVersion = val; 3842 3843 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3844 if (val === '') { 3845 val = b64DecodeUnicode("MS4wLjA="); 3846 } 3847 window.upcartSettings.upcartEditorSettings.rewardsModuleVersion = val; 3848 3849 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3850 if (val === '') { 3851 val = b64DecodeUnicode("MS4wLjA="); 3852 } 3853 window.upcartSettings.upcartEditorSettings.cartItemsModuleVersion = val; 3854 3855 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3856 if (val === '') { 3857 val = b64DecodeUnicode("MS4wLjA="); 3858 } 3859 window.upcartSettings.upcartEditorSettings.addonsModuleVersion = val; 3860 3861 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3862 if (val === '') { 3863 val = b64DecodeUnicode("MS4wLjA="); 3864 }
3865 window.upcartSettings.upcartEditorSettings.cartSummaryModuleVersion = val; 3866 3867 val = b64DecodeUnicode("Mi4wLjAtY29udHJvbGxlcl90ZW1wbGF0ZV9zZXBhcmF0aW9u"); 3868 if (val === '') { 3869 val = b64DecodeUnicode("MS4wLjA="); 3870 } 3871 window.upcartSettings.upcartEditorSettings.expressPayModuleVersion = val; 3872 3873 val = b64DecodeUnicode("ZmFsc2U="); 3874 if (val === '') { 3875 val = b64DecodeUnicode("ZmFsc2U="); 3876 } 3877 val = JSON.parse(val); 3878 window.upcartSettings.upcartEditorSettings.customJsxTemplatesEnabled = val; 3879 3880 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3881 if (val === '') { 3882 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3883 } 3884 val = JSON.parse(val); 3885 window.upcartSettings.upcartEditorSettings.headerModuleCustomJsxTemplates = val; 3886 3887 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3888 if (val === '') { 3889 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3890 } 3891 val = JSON.parse(val); 3892 window.upcartSettings.upcartEditorSettings.announcementModuleCustomJsxTemplates = val; 3893 3894 val = b64DecodeUnicode("eyJ1cHNlbGxUaWxlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3895 if (val === '') { 3896 val = b64DecodeUnicode("eyJ1cHNlbGxUaWxlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3897 } 3898 val = JSON.parse(val); 3899 window.upcartSettings.upcartEditorSettings.upsellsModuleCustomJsxTemplates = val; 3900 3901 val = b64DecodeUnicode("eyJyZWNvbW1lbmRhdGlvblRpbGUiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfSwic2tlbGV0b24iOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfX0="); 3902 if (val === '') { 3903 val = b64DecodeUnicode("eyJyZWNvbW1lbmRhdGlvblRpbGUiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfSwic2tlbGV0b24iOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfX0="); 3904 } 3905 val = JSON.parse(val); 3906 window.upcartSettings.upcartEditorSettings.recommendationsModuleCustomJsxTemplates = val; 3907 3908 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3909 if (val === '') { 3910 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3911 } 3912 val = JSON.parse(val); 3913 window.upcartSettings.upcartEditorSettings.notesModuleCustomJsxTemplates = val; 3914 3915 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3916 if (val === '') { 3917 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3918 } 3919 val = JSON.parse(val); 3920 window.upcartSettings.upcartEditorSettings.discountModuleCustomJsxTemplates = val; 3921 3922 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3923 if (val === '') { 3924 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3925 } 3926 val = JSON.parse(val); 3927 window.upcartSettings.upcartEditorSettings.trustBadgesModuleCustomJsxTemplates = val; 3928 3929 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3930 if (val === '') { 3931 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3932 } 3933 val = JSON.parse(val); 3934 window.upcartSettings.upcartEditorSettings.rewardsModuleCustomJsxTemplates = val; 3935 3936 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3937 if (val === '') { 3938 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3939 } 3940 val = JSON.parse(val); 3941 window.upcartSettings.upcartEditorSettings.triggeredRewardsModuleCustomJsxTemplates = val; 3942 3943 val = b64DecodeUnicode("eyJza2VsZXRvbiI6eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9LCJwcm9k
3943dWN0VGlsZSI6eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9LCJ2YXJpYW50Ijp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInByb3BlcnRpZXMiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfSwiYnVuZGxlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInByaWNlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3944 if (val === '') { 3945 val = b64DecodeUnicode("eyJza2VsZXRvbiI6eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9LCJwcm9kdWN0VGlsZSI6eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9LCJ2YXJpYW50Ijp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInByb3BlcnRpZXMiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfSwiYnVuZGxlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInByaWNlIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3946 } 3947 val = JSON.parse(val); 3948 window.upcartSettings.upcartEditorSettings.cartItemsModuleCustomJsxTemplates = val; 3949 3950 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3951 if (val === '') { 3952 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3953 } 3954 val = JSON.parse(val); 3955 window.upcartSettings.upcartEditorSettings.cartSummaryModuleCustomJsxTemplates = val; 3956 3957 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3958 if (val === '') { 3959 val = b64DecodeUnicode("eyJtYWluIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX0sInNrZWxldG9uIjp7InNyYyI6bnVsbCwiY29tcGlsZWQiOm51bGwsImlzQWN0aXZlIjpmYWxzZX19"); 3960 } 3961 val = JSON.parse(val); 3962 window.upcartSettings.upcartEditorSettings.addonsModuleCustomJsxTemplates = val; 3963 3964 val = b64DecodeUnicode("eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9"); 3965 if (val === '') { 3966 val = b64DecodeUnicode("eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9"); 3967 } 3968 val = JSON.parse(val); 3969 window.upcartSettings.upcartEditorSettings.betweenAnnouncementsAndTieredRewardsCustomTemplate = val; 3970 3971 val = b64DecodeUnicode("eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9"); 3972 if (val === '') { 3973 val = b64DecodeUnicode("eyJzcmMiOm51bGwsImNvbXBpbGVkIjpudWxsLCJpc0FjdGl2ZSI6ZmFsc2V9"); 3974 } 3975 val = JSON.parse(val); 3976 window.upcartSettings.upcartEditorSettings.betweenTieredRewardsAndTriggeredRewardsCustomTemplate = val; 3977 3978 val = b64DecodeUnicode("eyJhYm92ZUNoZWNrb3V0Q3VzdG9tSnN4VGVtcGxhdGUiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfX0="); 3979 if (val === '') { 3980 val = b64DecodeUnicode("eyJhYm92ZUNoZWNrb3V0Q3VzdG9tSnN4VGVtcGxhdGUiOnsic3JjIjpudWxsLCJjb21waWxlZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlfX0="); 3981 } 3982 val = JSON.parse(val); 3983 window.upcartSettings.upcartEditorSettings.checkoutModuleCustomJsxTemplates = val; 3984 3985 val = b64DecodeUnicode("YmFzZQ=="); 3986 if (val === '') { 3987 val = b64DecodeUnicode("YmFzZQ=="); 3988 } 3989 window.upcartSettings.upcartEditorSettings.headerBorderBottom = val; 3990 3991 val = b64DecodeUnicode("c21hbGw="); 3992 if (val === '') { 3993 val = b64DecodeUnicode("YmFzZQ=="); 3994 } 3995 window.upcartSettings.upcartEditorSettings.headerHeight = val; 3996 3997 val = b64DecodeUnicode("I2ZmZmZmZjAw"); 3998 if (val === '') { 3999 val = b64DecodeUnicode("I2ZmZmZmZjAw"); 4000 } 4001 window.upcartSettings.upcartEditorSettings.headerBackgroundColor = val; 4002 4003 val = b64DecodeUnicode("eyJ0eXBlIjoiaW5oZXJpdEhlYWRpbmdTdHlsZXMiLCJoZWFkaW5nTGV2ZWwiOiJoMyJ9"); 4004 if (val === '') { 4005 val = b64DecodeUnicode("eyJ0eXBlIjoiaW5oZXJpdEhlYWRpbmdTdHlsZXMiLCJoZWFkaW5nTGV2ZWwiOiJoMiJ9"); 4006 } 4007 val = JSON.parse(val); 4008 window.upcartSettings.upcartEditorSettings.headerTitleContent = val; 4009 4010 val = b64DecodeUnicode("c2lkZQ=="); 4011 if (val === '') { 4012 val = b64DecodeUnicode("c2lkZQ=="); 4013 } 4014 window.upcartSettings.upcartEditorSettings.headerTitleAlignment = val; 4015 4016 val = b64DecodeUnicode("dGl0bGVfX2Nsb3NlQnV0dG9u"); 4017 if (val === '') { 4018 val = b64DecodeUnicode("dGl0bGVfX2Nsb3NlQnV0dG9u"); 4019 } 4020 window.upcartSettings.upcartEditorSettings.headerElementArrangement = val; 4021 4022 val = b64DecodeUnicode("eyJiYXNlIjoiIzc5YzA0ODc1Iiwib25Ib3ZlciI6IiMwMDAwMDAxNCJ9"); 4023 if (val === '') { 4024 val = b64DecodeUnicode("eyJiYXNlIjoiIzAwMDAwMDBjIiwib25Ib3ZlciI6IiMwMDAwMDAxNCJ9"); 4025 } 4026 val = JSON.parse(val); 4027 window.upcartSettings.upcartEditorSettings.headerCloseButtonBackgroun
4027dColor = val; 4028 4029 val = b64DecodeUnicode("eyJiYXNlIjoiIzVFOTgzNCIsIm9uSG92ZXIiOm51bGx9"); 4030 if (val === '') { 4031 val = b64DecodeUnicode("eyJiYXNlIjoiIzYzNzM4MSIsIm9uSG92ZXIiOm51bGx9"); 4032 } 4033 val = JSON.parse(val); 4034 window.upcartSettings.upcartEditorSettings.headerCloseButtonIconColor = val; 4035 4036 val = b64DecodeUnicode("YmFzZQ=="); 4037 if (val === '') { 4038 val = b64DecodeUnicode("c21hbGw="); 4039 } 4040 window.upcartSettings.upcartEditorSettings.headerCloseButtonIconSize = val; 4041 4042 val = b64DecodeUnicode("YmFzZQ=="); 4043 if (val === '') { 4044 val = b64DecodeUnicode("YmFzZQ=="); 4045 } 4046 window.upcartSettings.upcartEditorSettings.headerCloseButtonIconStrokeWidth = val; 4047 4048 val = b64DecodeUnicode("bm9uZQ=="); 4049 if (val === '') { 4050 val = b64DecodeUnicode("bm9uZQ=="); 4051 } 4052 window.upcartSettings.upcartEditorSettings.headerCloseButtonBorderWidth = val; 4053 4054 val = b64DecodeUnicode("eyJiYXNlIjoiIzAwMDAwMCIsIm9uSG92ZXIiOm51bGx9"); 4055 if (val === '') { 4056 val = b64DecodeUnicode("eyJiYXNlIjoiIzAwMDAwMCIsIm9uSG92ZXIiOm51bGx9"); 4057 } 4058 val = JSON.parse(val); 4059 window.upcartSettings.upcartEditorSettings.headerCloseButtonBorderColor = val; 4060 4061 val = b64DecodeUnicode("ZmFsc2U="); 4062 if (val === '') { 4063 val = b64DecodeUnicode("ZmFsc2U="); 4064 } 4065 val = JSON.parse(val); 4066 window.upcartSettings.upcartEditorSettings.announcementModule = val; 4067 4068 val = b64DecodeUnicode("PHA+WW91ciBwcm9kdWN0cyBhcmUgcmVzZXJ2ZWQgZm9yIDxiPntUSU1FUn08L2I+ITwvcD4="); 4069 if (val === '') { 4070 val = b64DecodeUnicode("PHA+WW91ciBwcm9kdWN0cyBhcmUgcmVzZXJ2ZWQgZm9yIDxiPntUSU1FUn08L2I+ITwvcD4="); 4071 } 4072 window.upcartSettings.upcartEditorSettings.announcementEditor = val; 4073 4074 val = b64DecodeUnicode("I0NERTBFMA=="); 4075 if (val === '') { 4076 val = b64DecodeUnicode("I0NERTBFMA=="); 4077 } 4078 window.upcartSettings.upcartEditorSettings.announcementBackgroundColor = val; 4079 4080 val = b64DecodeUnicode("dG9w"); 4081 if (val === '') { 4082 val = b64DecodeUnicode("dG9w"); 4083 } 4084 window.upcartSettings.upcartEditorSettings.announcementModulePosition = val; 4085 4086 val = b64DecodeUnicode("I0M1RTZGRA=="); 4087 if (val === '') { 4088 val = b64DecodeUnicode("I0M1RTZGRA=="); 4089 } 4090 window.upcartSettings.upcartEditorSettings.announcementBorderColor = val; 4091 4092 val = b64DecodeUnicode("MA=="); 4093 if (val === '') { 4094 val = b64DecodeUnicode("MDA6MDA="); 4095 } 4096 window.upcartSettings.upcartEditorSettings.announcementTimer = val; 4097 4098 val = b64DecodeUnicode("c21hbGw="); 4099 if (val === '') { 4100 val = b64DecodeUnicode("YmFzZQ=="); 4101 } 4102 window.upcartSettings.upcartEditorSettings.announcementHeight = val; 4103 4104 val = b64DecodeUnicode("MTU="); 4105 if (val === '') { 4106 val = b64DecodeUnicode("MTU="); 4107 } 4108 window.upcartSettings.upcartEditorSettings.announcementTextFontSizePx = val; 4109 4110 val = b64DecodeUnicode("ZmFsc2U="); 4111 if (val === '') { 4112 val = b64DecodeUnicode("ZmFsc2U="); 4113 } 4114 val = JSON.parse(val); 4115 window.upcartSettings.upcartEditorSettings.rewardsModule = val; 4116 4117 val = b64DecodeUnicode("I0UyRTJFMg=="); 4118 if (val === '') { 4119 val = b64DecodeUnicode("I0UyRTJFMg=="); 4120 } 4121 window.upcartSettings.upcartEditorSettings.rewardsBarBackgroun
4121dColor = val; 4122 4123 val = b64DecodeUnicode("Izc5QzA0OA=="); 4124 if (val === '') { 4125 val = b64DecodeUnicode("IzkzRDNGRg=="); 4126 } 4127 window.upcartSettings.upcartEditorSettings.rewardsBarForegroundColor = val; 4128 4129 val = b64DecodeUnicode("Izc5QzA0OA=="); 4130 if (val === '') { 4131 val = b64DecodeUnicode("IzRENDk0OQ=="); 4132 } 4133 window.upcartSettings.upcartEditorSettings.rewardsTierIconColorComplete = val; 4134 4135 val = b64DecodeUnicode("IzRENDk0OQ=="); 4136 if (val === '') { 4137 val = b64DecodeUnicode("IzRENDk0OQ=="); 4138 } 4139 window.upcartSettings.upcartEditorSettings.rewardsTierIconColorIncomplete = val; 4140 4141 val = b64DecodeUnicode("Y2FydFRvdGFs"); 4142 if (val === '') { 4143 val = b64DecodeUnicode("Y2FydFRvdGFs"); 4144 } 4145 window.upcartSettings.upcartEditorSettings.rewardsBasis = val; 4146 4147 val = b64DecodeUnicode("ZmFsc2U="); 4148 if (val === '') { 4149 val = b64DecodeUnicode("ZmFsc2U="); 4150 } 4151 val = JSON.parse(val); 4152 window.upcartSettings.upcartEditorSettings.rewardsProductLinkVisible = val; 4153 4154 val = b64DecodeUnicode("cHJvZHVjdHNPck9yZGVy"); 4155 if (val === '') { 4156 val = b64DecodeUnicode("cHJvZHVjdHNPck9yZGVy"); 4157 } 4158 window.upcartSettings.upcartEditorSettings.rewardsTargetType = val; 4159 4160 val = b64DecodeUnicode("MTI1"); 4161 if (val === '') { 4162 val = b64DecodeUnicode("MTI1"); 4163 } 4164 window.upcartSettings.upcartEditorSettings.rewardsMinAmount = val; 4165 4166 val = b64DecodeUnicode("PHA+WW914oCZcmUgPGI+e0FNT1VOVH08L2I+IGF3YXkgZnJvbSBmcmVlIHNoaXBwaW5nITwvcD4="); 4167 if (val === '') { 4168 val = b64DecodeUnicode("PHA+WW914oCZcmUgPGI+e0FNT1VOVH08L2I+IGF3YXkgZnJvbSBmcmVlIHNoaXBwaW5nITwvcD4="); 4169 } 4170 window.upcartSettings.upcartEditorSettings.rewardsEditor = val; 4171 4172 val = b64DecodeUnicode("PHA+RnJlZSBzaGlwcGluZyBmb3Igc2VlZCBwYWNrZXRzIHVubG9ja2VkITwvcD4K"); 4173 if (val === '') { 4174 val = b64DecodeUnicode("RnJlZSBzaGlwcGluZyB1bmxvY2tlZCE="); 4175 } 4176 window.upcartSettings.upcartEditorSettings.rewardsEditorAfterText = val; 4177 4178 val = b64DecodeUnicode("PHA+WW914oCZcmUgPGI+e0NPVU5UfTwvYj4gcHJvZHVjdHMgYXdheSBmcm9tIGZyZWUgc2hpcHBpbmchPC9wPg=="); 4179 if (val === '') { 4180 val = b64DecodeUnicode("PHA+WW914oCZcmUgPGI+e0NPVU5UfTwvYj4gcHJvZHVjdHMgYXdheSBmcm9tIGZyZWUgc2hpcHBpbmchPC9wPg=="); 4181 } 4182 window.upcartSettings.upcartEditorSettings.rewardsEditorForItemCount = val; 4183 4184 val = b64DecodeUnicode("NQ=="); 4185 if (val === '') { 4186 val = b64DecodeUnicode("NQ=="); 4187 } 4188 window.upcartSettings.upcartEditorSettings.rewardsItemCount = val; 4189 4190 val = b64DecodeUnicode("eyJ0aWVycyI6W3sidGFyZ2V0VHlwZSI6InNoaXBwaW5nIiwibWluQW1vdW50Ijo1MCwiaXRlbUNvdW50IjoiNSIsInRleHRCZWZvcmVSZWFjaGluZ0ZvckNhcnRUb3RhbCI6IjxwPkdldCBGcmVlIFNoaXBwaW5nIG9uIHNlZWRzIHBhY2tldHMgd2hlbiB5b3Ugc3BlbnQge0FNT1VOVH08L3A+XG4iLCJ0ZXh0QmVmb3JlUmVhY2hpbmdGb3JJdGVtQ291bnQiOiI8cD5Zb3XigJlyZSA8Yj57Q09VTlR9PC9iPiBwcm9kdWN0cyBhd2F5IGZyb20gZnJlZSBzaGlwcGluZyE8L3A+IiwicmV3YXJkRGVzY3JpcHRpb24iOiJGcmVlIFNoaXBwaW5nIiwicHJvZHVjdHMiOltdLCJtYW51YWxEaXNjb3VudENvZGUiOiIifV0sImdlb0xvY2F0aW9uUHJpY2luZyI6W10sInJld2FyZHNBdXRvQ29udmVydEN1cnJlbmN5IjpmYWxzZSwicmV3YXJkc0dlb0xvY2F0aW9uRW5hYmxlZCI6ZmFsc2UsInVzZVByZURpc2NvdW50ZWRUb3RhbCI6dHJ1ZX0="); 4191 if (val === '') { 4192 val = b64DecodeUnicode("eyJ0aWVycyI6W10sImdlb0xvY2F0aW9uUHJpY2luZyI6W10sInJld2FyZHNBdXRvQ29udmVydEN1cnJlbmN5IjpmYWxzZSwicmV3YXJkc0dlb0xvY2F0aW9uRW5hYmxlZCI6ZmFsc2UsInVzZVByZURpc2NvdW50ZWRUb3RhbCI6ZmFsc2V9"); 4193 } 4194 val = JSON.parse(val); 4195 window.upcartSettings.upcartEditorSettings.rewardsTiers = val; 4196 4197 val = b64DecodeUnicode("W10="); 4198 if (val === '') { 4199 val = b64DecodeUnicode("W10="); 4200 } 4201 val = JSON.parse(val); 4202 window.upcartSettings.upcartEditorSettings.rewardsTierProducts = val; 4203 4204 val = b64DecodeUnicode("dHJ1ZQ=="); 4205 if (val === '') { 4206 val = b64DecodeUnicode("ZmFsc2U="); 4207 } 4208 val = JSON.parse(val); 4209 window.upcartSettings.upcartEditorSettings.rewardsShowIconWithSingleTier = val; 4210 4211 val = b64DecodeUnicode("ZmFsc2U="); 4212 if (val === '') { 4213 val = b64DecodeUnicode("ZmFsc2U="); 4214 } 4215 val = JSON.parse(val); 4216 window.upcartSettings.upcartEditorSettings.rewardsShowOnEmptyCart = val; 4217 4218 val = b64DecodeUnicode("ZmFsc2U="); 4219 if (val === '') { 4220 val = b64DecodeUnicode("ZmFsc2U="); 4221 } 4222 val = JSON.parse(val); 4223 window.upcartSettings.upcartEditorSettings.rewardsRemovePreviousProducts = val; 4224
4225 val = b64DecodeUnicode("W3siaWQiOiJkNGM3MzkzNS02YTI1LTQ0MWYtOWIxOC1kNTRmMDc1YTYwYzgiLCJtZXRob2QiOiJpbmNsdWRlIiwiZmlsdGVyIjpbeyJ0eXBlIjoiY29sbGVjdGlvbklkIiwidmFsdWUiOlsiZ2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzI4OTYyMzUwNzEyOCJdfV19XQ=="); 4226 if (val === '') { 4227 val = b64DecodeUnicode("W10="); 4228 } 4229 val = JSON.parse(val); 4230 window.upcartSettings.upcartEditorSettings.rewardsFiltering = val; 4231 4232 val = b64DecodeUnicode("W10="); 4233 if (val === '') { 4234 val = b64DecodeUnicode("W10="); 4235 } 4236 val = JSON.parse(val); 4237 window.upcartSettings.upcartEditorSettings.rewardsTriggeredRules = val; 4238 4239 val = b64DecodeUnicode("eyJwcm9kdWN0RGlzY291bnRzIjpmYWxzZSwib3JkZXJEaXNjb3VudHMiOmZhbHNlLCJzaGlwcGluZ0Rpc2NvdW50cyI6ZmFsc2V9"); 4240 if (val === '') { 4241 val = b64DecodeUnicode("eyJwcm9kdWN0RGlzY291bnRzIjpmYWxzZSwib3JkZXJEaXNjb3VudHMiOmZhbHNlLCJzaGlwcGluZ0Rpc2NvdW50cyI6ZmFsc2V9"); 4242 } 4243 val = JSON.parse(val); 4244 window.upcartSettings.upcartEditorSettings.rewardsTriggeredCombinations = val; 4245 4246 val = b64DecodeUnicode("ZmFsc2U="); 4247 if (val === '') { 4248 val = b64DecodeUnicode("ZmFsc2U="); 4249 } 4250 val = JSON.parse(val); 4251 window.upcartSettings.upcartEditorSettings.recommendationsModule = val; 4252 4253 val = b64DecodeUnicode("PHA+QWRkIHlvdXIgZmF2b3VyaXRlIGl0ZW1zIHRvIHlvdXIgY2FydC48L3A+Cg=="); 4254 if (val === '') { 4255 val = b64DecodeUnicode("QWRkIHlvdXIgZmF2b3VyaXRlIGl0ZW1zIHRvIHlvdXIgY2FydC4="); 4256 } 4257 window.upcartSettings.upcartEditorSettings.recommendationsHeaderText = val; 4258 4259 val = b64DecodeUnicode("dHJ1ZQ=="); 4260 if (val === '') { 4261 val = b64DecodeUnicode("ZmFsc2U="); 4262 } 4263 val = JSON.parse(val); 4264 window.upcartSettings.upcartEditorSettings.recommendationsEnableShopNowButton = val; 4265 4266 val = b64DecodeUnicode("U2hvcCBOb3c="); 4267 if (val === '') { 4268 val = b64DecodeUnicode("U2hvcCBOb3c="); 4269 } 4270 window.upcartSettings.upcartEditorSettings.recommendationsShopNowButtonText = val; 4271 4272 val = b64DecodeUnicode("L2NvbGxlY3Rpb25z"); 4273 if (val === '') { 4274 val = b64DecodeUnicode("L2NvbGxlY3Rpb25z"); 4275 } 4276 window.upcartSettings.upcartEditorSettings.recommendationsShopNowButtonURL = val; 4277 4278 val = b64DecodeUnicode("W3siaWQiOiIiLCJyZWNvbW1lbmRhdGlvbiI6bnVsbCwidiI6MX1d"); 4279 if (val === '') { 4280 val = b64DecodeUnicode("W3siaWQiOiIiLCJyZWNvbW1lbmRhdGlvbiI6bnVsbCwidiI6MX1d"); 4281 } 4282 val = JSON.parse(val); 4283 window.upcartSettings.upcartEditorSettings.recommendationItems = val; 4284 4285 val = b64DecodeUnicode("WW91IG1heSBhbHNvIGxpa2U="); 4286 if (val === '') { 4287 val = b64DecodeUnicode("WW91IG1heSBhbHNvIGxpa2U="); 4288 } 4289 window.upcartSettings.upcartEditorSettings.recommendationsProductRecommendationsHeaderText = val; 4290 4291 val = b64DecodeUnicode("Mw=="); 4292 if (val === '') { 4293 val = b64DecodeUnicode("Mw=="); 4294 } 4295 window.upcartSettings.upcartEditorSettings.recommendationsMaxRecommendationsToShow = val; 4296 4297 val = b64DecodeUnicode("dmVydGljYWw="); 4298 if (val === '') { 4299 val = b64DecodeUnicode("dmVydGljYWw="); 4300 } 4301 window.upcartSettings.upcartEditorSettings.recommendationsDirection = val; 4302 4303 val = b64DecodeUnicode("dHJ1ZQ=="); 4304 if (val === '') { 4305 val = b64DecodeUnicode("ZmFsc2U="); 4306 } 4307 val = JSON.parse(val); 4308 window.upcartSettings.upcartEditorSettings.upsellsModule = val; 4309 4310 val = b64DecodeUnicode("aG9yaXpvbnRhbA=="); 4311 if (val === '') { 4312 val = b64DecodeUnicode("aG9yaXpvbnRhbA=="); 4313 } 4314 window.upcartSettings.upcartEditorSettings.upsellsDirection = val; 4315 4316 val = b64DecodeUnicode("PHA+RXNzZW50aWFsIGFkZCBvbnM8L3A+Cg=="); 4317 if (val === '') { 4318 val = b64DecodeUnicode("WW91J2xsIGxvdmUgdGhlc2U="); 4319 } 4320 window.upcartSettings.upcartEditorSettings.upsellsTitle = val; 4321 4322 val = b64DecodeUnicode("MTA="); 4323 if (val === '') { 4324 val = b64DecodeUnicode("MTA="); 4325 } 4326 window.upcartSettings.upcartEditorSettings.maximumUpsellsToShow = val; 4327 4328 val = b64DecodeUnicode("ZmFsc2U="); 4329 if (val === '') { 4330 val = b64DecodeUnicode("ZmFsc2U="); 4331 } 4332 val = JSON.parse(val); 4333 window.upcartSettings.upcartEditorSettings.upsellsShouldLimit = val; 4334 4335 val = b64DecodeUnicode("ZmFsc2U="); 4336 if (val === '') { 4337 val = b64DecodeUnicode("ZmFsc2U="); 4338 } 4339 val = JSON.parse(val); 4340 window.upcartSettings.upcartEditorSettings.upsellsTrigger = val; 4341 4342 val = b64DecodeUnicode("ZmFsc2U="); 4343 if (val === '') { 4344 val = b64DecodeUnicode("ZmFsc2U="); 4345 } 4346 val = JSON.parse(val); 4347 window.upcartSettings.upcartEditorSettings.showUpsellItemsAlreadyInCart = val; 4348 4349 val = b64DecodeUnicode("W3siaWQiOiI0NzEwOCIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xM
4349DQ0NTgyOTc2NzM1MiIsInNob3J0SWQiOiIxMDQ0NTgyOTc2NzM1MiIsInZhcmlhbnRzIjpbIjUzNTk1MTQxNDM5NjcyIiwiNTM1OTUxNDE0NzI0NDAiXSwiaGFuZGxlIjoiaW4tdGhlLWdhcmRlbi13b3JrYm9vayIsInRpdGxlIjoiSW4gdGhlIEdhcmRlbiAtIFdvcmtib29rIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDYxNS8zODU2LzYzMjgvZmlsZXMvREFLVGV4dGJvb2tfRWRpdGVkX0VTQS05My5qcGc/dj0xNzgxNTY5NDI4In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDQ0NTgyOTczNDU4NCIsInNob3J0SWQiOiIxMDQ0NTgyOTczNDU4NCIsInZhcmlhbnRzIjpbIjUzNTk1MTQxNDA2OTA0Il0sImhhbmRsZSI6ImluLXRoZS1nYXJkZW4tdGV4dGJvb2siLCJ0aXRsZSI6IkluIFRoZSBHYXJkZW4gVGV4dGJvb2siLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy81LmpwZz92PTE3ODE1Njk0MjgifV19fSwidXBzZWxsIjp7InR5cGUiOiJQcm9kdWN0IiwicHJvZHVjdHMiOlt7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwNDQ1ODI5NzAxODE2Iiwic2hvcnRJZCI6IjEwNDQ1ODI5NzAxODE2IiwidmFyaWFudHMiOlsiNTM1OTUxNDEzNDEzNjgiLCI1MzU5NTE0MTM3NDEzNiJdLCJoYW5kbGUiOiJpbi10aGUtZ2FyZGVuLWZ1bGwtY3VycmljdWx1bS1idW5kbGUiLCJ0aXRsZSI6IkluIHRoZSBHYXJkZW4gRnVsbCBDdXJyaWN1bHVtIEJ1bmRsZSIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA2MTUvMzg1Ni82MzI4L2ZpbGVzL0J1bmRsZV9Db3ZlcnMtMl8zZTQ1ZjIxOS0zZmEzLTRhMGMtODdhNi05ODlhNzBmMGVkYjEucG5nP3Y9MTc4MTU2OTQyMyJ9XX19LHsiaWQiOiI0NDcwNSIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDQ0NTgyOTcwMTgxNiIsInNob3J0SWQiOiIxMDQ0NTgyOTcwMTgxNiIsInZhcmlhbnRzIjpbIjUzNTk1MTQxMzQxMzY4IiwiNTM1OTUxNDEzNzQxMzYiXSwiaGFuZGxlIjoiaW4tdGhlLWdhcmRlbi1mdWxsLWN1cnJpY3VsdW0tYnVuZGxlIiwidGl0bGUiOiJJbiB0aGUgR2FyZGVuIEZ1bGwgQ3VycmljdWx1bSBCdW5kbGUiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9CdW5kbGVfQ292ZXJzLTJfM2U0NWYyMTktM2ZhMy00YTBjLTg3YTYtOTg5YTcwZjBlZGIxLnBuZz92PTE3ODE1Njk0MjMifV19fSwidXBzZWxsIjp7InR5cGUiOiJQcm9kdWN0IiwicHJvZHVjdHMiOlt7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwNDQ1ODI5NzM0NTg0Iiwic2hvcnRJZCI6IjEwNDQ1ODI5NzM0NTg0IiwidmFyaWFudHMiOlsiNTM1OTUxNDE0MDY5MDQiXSwiaGFuZGxlIjoiaW4tdGhlLWdhcmRlbi10ZXh0Ym9vayIsInRpdGxlIjoiSW4gVGhlIEdhcmRlbiBUZXh0Ym9vayIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA2MTUvMzg1Ni82MzI4L2ZpbGVzLzUuanBnP3Y9MTc4MTU2OTQyOCJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTA0NDU4Mjk3NjczNTIiLCJzaG9ydElkIjoiMTA0NDU4Mjk3NjczNTIiLCJ2YXJpYW50cyI6WyI1MzU5NTE0MTQzOTY3MiIsIjUzNTk1MTQxNDcyNDQwIl0sImhhbmRsZSI6ImluLXRoZS1nYXJkZW4td29ya2Jvb2siLCJ0aXRsZSI6IkluIHRoZSBHYXJkZW4gLSBXb3JrYm9vayIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA2MTUvMzg1Ni82MzI4L2ZpbGVzL0RBS1RleHRib29rX0VkaXRlZF9FU0EtOTMuanBnP3Y9MTc4MTU2OTQyOCJ9XX19LHsiaWQiOiIzODg4OCIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiQ29sbGVjdGlvbiIsImNvbGxlY3Rpb24iOnsiaWQiOiJnaWQ6Ly9zaG9waWZ5L0NvbGxlY3Rpb24vMjg3MjQ3NDk5NDQ4IiwidGl0bGUiOiJIZXJicyIsImltYWdlIjp7InVybCI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9jb2xsZWN0aW9ucy9wZXhlbHMtbW9uaWNvcmUtMTM5MTUwNS5qcGc/dj0xNjQ2NzY2NjQwIiwiYWx0VGV4dCI6bnVsbCwiX190eXBlbmFtZSI6IkltYWdlIn0sImhhbmRsZSI6ImhlcmJzIiwidXBkYXRlZEF0IjoiMjAyNi0wNC0zMFQxMToxMDo0MVoiLCJwcm9kdWN0c0NvdW50Ijp7ImNvdW50Ijo0MywiX190eXBlbmFtZSI6IkNvdW50In0sInNvcnRPcmRlciI6IkJFU1RfU0VMTElORyIsIl9fdHlwZW5hbWUiOiJDb2xsZWN0aW9uIn19fSwidXBzZWxsIjp7InR5cGUiOiJDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiI6eyJpZCI6ImdpZDovL3Nob3BpZnkvQ29sbGVjdGlvbi82NTI5OTA2MTE2NDAiLCJ0aXRsZSI6IkdyZWVuIFN0YWxrIFZlcnRpY2FsIFBsYW50ZXIiLCJpbWFnZSI6eyJ1cmwiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDYxNS8zODU2LzYzMjgvY29sbGVjdGlvbnMvS0hQQ28tMjAyNC03LTMtR3JlZW5TdGFsay1HYXJkZW4tVG9tYXRvLUhhcnZlc3QtMjIxXzBlZTlmMjAwLTI4ZjQtNDhkZC1iNTFhLTM1ZjE1NGMxNmM4OC5qcGc/dj0xNzc0OTc0MDM3IiwiYWx0VGV4dCI6bnVsbCwiX190eXBlbmFtZSI6IkltYWdlIn0sImhhbmRsZSI6ImdyZWVuLXN0YWxrLXZlcnRpY2FsLXBsYW50ZXIiLCJ1cGRhdGVkQXQiOiIyMDI2LTA0LTI1VDExOjExOjE2WiIsInByb2R1Y3RzQ291bnQiOnsiY291bnQiOjYsIl9fdHlwZW5hbWUiOiJDb3VudCJ9LCJzb3J0T3JkZXIiOiJCRVNUX1NFTExJTkciLCJfX3R5cGVuYW1lIjoiQ29sbGVjdGlvbiJ9fX0seyJpZCI6IjM1NjI5IiwidiI6MiwidHJpZ2dlciI6eyJvbiI6InNwZWNpZmljIiwic2VsZWN0aW9uIjp7InR5cGUiOiJDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiI6eyJpZCI6ImdpZDovL3Nob3BpZnkvQ29sbGVjdGlvbi82MzkwNjI5OTkyMjQiLCJ0aXRsZSI6IlNlZWQgU3RhcnRpbmcgVG9vbHMiLCJpbWFnZSI6eyJ1cmwiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDYxNS8zODU2LzYzMjgvY29sbGVjdGlvbnMvU2VlZGluZ09yYW5nZVNoYWxsb3dUcmF5LmpwZz92PTE3NDk4NDYzNjQiLCJhbHRUZXh0IjpudWxsLCJfX3R5cGVuYW1lIjoiSW1hZ2UifSwiaGFuZGxlIjoic2VlZC1zdGFydGluZy10b29scyIsInVwZGF0ZWRBdCI6IjIwMjYtMDQtMjlUMTU6NDQ6NDJaIiwicHJvZHVjdHNDb3VudCI6eyJjb3VudCI6NTIsIl9fdHlwZW5hbWUiOiJDb3VudCJ9LCJzb3J0T3JkZXIiOiJCRVNUX1NFTExJTkciLCJfX3R5cGVuYW1lIjoiQ29sbGVjdGlvbiJ9fX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xM
4349DEyODgyMDg5NTkyOCIsInNob3J0SWQiOiIxMDEyODgyMDg5NTkyOCIsInZhcmlhbnRzIjpbIjUyMjI2NzAxMDAwODg4IiwiNTI4ODY0NjM0Nzk5OTIiLCI1Mjg4NjQ2MzUxMjc2MCIsIjUyMjI2NzAxMDMzNjU2IiwiNTI4ODY0NjM1NDU1MjgiLCI1Mjg4NjQ2MzU3ODI5NiIsIjUyMjI2NzAxMDY2NDI0IiwiNTI4ODY0NjM2MTEwNjQiLCI1Mjg4NjQ2MzY0MzgzMiJdLCJoYW5kbGUiOiIxNy10YWxsLTYtaW4tMS1uby10b29scy1uZWVkZWQtbWV0YWwtcmFpc2VkLWdhcmRlbi1iZWQta2l0IiwidGl0bGUiOiJHcm8tUml0ZSBcIk5vIFRvb2xzIE5lZWRlZFwiIFByZW1pdW0gTWV0YWwgUmFpc2VkIEdhcmRlbiBCZWQgS2l0IiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDYxNS8zODU2LzYzMjgvZmlsZXMvM19jODkwOWI2Zi0wOGQ3LTQyOWItOTAxNi05NTcxNzJhZDNjMjMucG5nP3Y9MTc3NTA3MDgzOSJ9XX19LHsiaWQiOiI1NDA4NiIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiQ29sbGVjdGlvbiIsImNvbGxlY3Rpb24iOnsiaWQiOiJnaWQ6Ly9zaG9waWZ5L0NvbGxlY3Rpb24vNjM5MDY0MDE1MDMyIiwidGl0bGUiOiJSYWlzZWQgQmVkcyIsImltYWdlIjp7InVybCI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9jb2xsZWN0aW9ucy8yOV9UYWxsX0JpcmRpZXNfTWVkaXVtX01vZHVsYXJfUmFpc2VkX0dhcmRlbl9CZWQucG5nP3Y9MTc0OTg1MDE5NiIsImFsdFRleHQiOm51bGwsIl9fdHlwZW5hbWUiOiJJbWFnZSJ9LCJoYW5kbGUiOiJyYWlzZWQtYmVkcyIsInVwZGF0ZWRBdCI6IjIwMjYtMDQtMzBUMDM6MDI6MDJaIiwicHJvZHVjdHNDb3VudCI6eyJjb3VudCI6NzYsIl9fdHlwZW5hbWUiOiJDb3VudCJ9LCJzb3J0T3JkZXIiOiJCRVNUX1NFTExJTkciLCJfX3R5cGVuYW1lIjoiQ29sbGVjdGlvbiJ9fX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC85OTk4NjY5MjgzNTEyIiwic2hvcnRJZCI6Ijk5OTg2NjkyODM1MTIiLCJ2YXJpYW50cyI6WyI1MTQzOTUyODc3MTc2OCIsIjUxNDM5NTI4ODA0NTM2IiwiNTE0Mzk1Mjg4MzczMDQiLCI1MTQzOTUyODg3MDA3MiJdLCJoYW5kbGUiOiJzdW1pLXNvYWtlci1tYXgtaXJyaWdhdGlvbi1zeXN0ZW0ta2l0cyIsInRpdGxlIjoiU3VtaSBTb2FrZXIgTWF4IElycmlnYXRpb24gU3lzdGVtIEtpdHMiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy8xMy1TdW1pU29ha2VyTWF4SXJyaWdhdGlvbi5qcGc/dj0xNzQ5ODU0NzYxIn0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC85OTk4NjY5MzE2MjgwIiwic2hvcnRJZCI6Ijk5OTg2NjkzMTYyODAiLCJ2YXJpYW50cyI6WyI1MTQzOTUyODY0MDY5NiIsIjUxNDM5NTI4NjczNDY0IiwiNTE0Mzk1Mjg3MDYyMzIiLCI1MTQzOTUyODczOTAwMCJdLCJoYW5kbGUiOiJzdW1pLXNvYWtlci1tYXgtaXJyaWdhdGlvbi10dWJpbmciLCJ0aXRsZSI6IlN1bWkgU29ha2VyIE1heCBJcnJpZ2F0aW9uIFR1YmluZyIsImltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA2MTUvMzg1Ni82MzI4L2ZpbGVzL3N1bWktc29ha2VyLW1heC1pcnJpZ2F0aW9uLXR1YmluZy0xNzIzNzYuanBnP3Y9MTc0OTg1NDc2MSJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTAzODE1ODIzNjg5NTIiLCJzaG9ydElkIjoiMTAzODE1ODIzNjg5NTIiLCJ2YXJpYW50cyI6WyI1MzQwMjA5NTk0Mzg2NCIsIjUzNDAyMDk1OTc2NjMyIl0sImhhbmRsZSI6InZlZ28taXJyaWdhdGlvbi1raXQiLCJ0aXRsZSI6IlZlZ28gSXJyaWdhdGlvbiBLaXQiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9WZWdvX2dhcmRlbl9iZWRfaXJyaWdhdGlvbl9zeXN0ZW0tbGlmZXN0eWxlLTAxLmpwZz92PTE3NzcwNjk3OTIifV19fSx7ImlkIjoiNDQ3NjciLCJ2IjoyLCJ0cmlnZ2VyIjp7Im9uIjoic3BlY2lmaWMiLCJzZWxlY3Rpb24iOnsidHlwZSI6IkNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uIjp7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzYyMzQzMTI1NDIwMCIsInRpdGxlIjoiTWljcm9ncmVlbiBTZWVkcyIsImltYWdlIjp7InVybCI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9jb2xsZWN0aW9ucy9yZWQtcmFtYm8tcmFkaXNoLW1pY3JvZ3JlZW4taGlnaC1tb3dpbmctb3JnYW5pYy1zZWVkcy5qcGc/dj0xNzQ3OTMyMDcxIiwiYWx0VGV4dCI6bnVsbCwiX190eXBlbmFtZSI6IkltYWdlIn0sImhhbmRsZSI6Im1pY3JvZ3JlZW5zIiwidXBkYXRlZEF0IjoiMjAyNi0wNC0zMFQxMToxMDo0MVoiLCJwcm9kdWN0c0NvdW50Ijp7ImNvdW50IjoxNCwiX190eXBlbmFtZSI6IkNvdW50In0sInNvcnRPcmRlciI6IkJFU1RfU0VMTElORyIsIl9fdHlwZW5hbWUiOiJDb2xsZWN0aW9uIn19fSwidXBzZWxsIjp7InR5cGUiOiJQcm9kdWN0IiwicHJvZHVjdHMiOlt7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzkyNDc5MDE1NDg3MjgiLCJzaG9ydElkIjoiOTI0NzkwMTU0ODcyOCIsInZhcmlhbnRzIjpbIjQ4NzA3ODQ1NTIxNTkyIiwiNDg3MDc4NDU1NTQzNjAiXSwiaGFuZGxlIjoic3Byb3V0bGV0LWluZG9vci1taWNyb2dyZWVuLWdyb3cta2l0LTMtcGFjayIsInRpdGxlIjoiU3Byb3V0bGV0IEluZG9vciBNaWNyb2dyZWVuIEdyb3cgS2l0OiAzLVBhY2siLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9Nb2Rlcm5Hcm93ZXJTcHJvdXRsZXQuanBnP3Y9MTc0NDY1Njc3MiJ9XX19LHsiaWQiOiIzNzIwNyIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDM4Nzc1ODk0MDM0NCIsInNob3J0SWQiOiIxMDM4Nzc1ODk0MDM0NCIsInZhcmlhbnRzIjpbIjUzNDIxMTk2NTQyMTM2IiwiNTM0MjExOTY1NzQ5MDQiXSwiaGFuZGxlIjoibGl2aW5nLXBvdHRpbmctbWl4IiwidGl0bGUiOiJMaXZpbmcgUG90dGluZyBNaXgiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9saXZpbmctcG90dGluZy1taXgtMTUtcXVhcnRzLTYzMDYzMi5qcGc/dj0xNzc3NDk3NjE4In1dfX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC85MjQ1NDM0OTcwMjk2Iiwic2hvcnRJZCI6IjkyNDU0MzQ5NzAyOTYiLCJ2YXJpYW50cyI6WyI1Mjg2MDQxMjAzNTI1NiIsIjUyODYwNDEyMDY4MDI0Il0sImhhbmRsZSI6InNvaWwtYmxvY2tpbmctc3RhcnRlci1raXQiLCJ0aXRsZSI6IlNvaWwgQmxvY2tpbmcgU3RhcnRlciBLaXQiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9Tb2lsQmxvY2tpbmdTdGFydGVyS2l0XzEuanBnP3Y9MTczMDE0NTYzNSJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvOTI0NTQzMjU3ODIzMiIsInNob3J0SWQiOiI5MjQ1NDMyNTc4MjMyIiwidmFyaWFudHMiOlsiNDg2OTY4ODU5MDM1NDQiXSwiaGFuZGxlIjoibGFkYnJvb2tlLXNvaWwtYmxvY2tlcnMtMi1ibG9ja2VyLTQtYmxvY2tzLWJvb3RzdHJhcC1mYXJtZXIiLCJ0aXRsZSI6IkxhZGJyb29rZSBTb2lsIEJsb2NrZXJzIC0gMlwiIEJsb2NrZXIgKDQgQmxvY2tzKSAtIEJvb3RzdHJhcCBGYXJtZXIiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9Tb2lsQmxvY2tNaW5pNExhZGJyb29rZVRvcFZpZXcuanBnP3Y9MTczMDE0NTYyMiJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvOTI0NTQzNTIzMjQ0MCIsInNob3J0SWQiOiI5MjQ1NDM1MjMyNDQwIiwidmFyaWFudHMiOlsiNDg2OTY5MTU2ODk2NTYiXSwiaGFuZGxlIjoibGFkYnJvb2tlLXNvaWwtYmxvY2tlcnMtMy00LW1pY3JvLWJsb2NrZXItMjAtYmxvY2tzLWJvb3RzdHJhcC1mYXJtZXIiLCJ0aXRsZSI6IkxhZGJyb29rZSBTb2lsIEJsb2NrZXJzIC0gMy80XCIgTWljcm8gQmxvY2tlciAoMjAgQmxvY2tzKSAtIEJvb3RzdHJhcCBGYXJtZXIiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9Tb2lsQmxvY2tMYWRicm9va2VNaW5pMjAuanBnP3Y9MTczMDE0NTYzOCJ9XX19LHsiaWQiOiIxOTIzOSIsInYiOjIsInRyaWdnZXIiOnsib24iOiJzcGVjaWZpYyIsInNlbGVjdGlvbiI6eyJ0eXBlIjoiQ29sbGVjdGlvbiIsImNvbGxlY3Rpb24iOnsiaWQiOiJnaWQ6Ly9zaG9waWZ5L0NvbGxlY3Rpb24vMjg5NjIzNTA3MTI4IiwidGl0bGUiOiJTZWVkIFBhY2tldHMiLCJpbWFnZSI6bnVsbCwiaGFuZGxlIjoic2VlZHMiLCJ1cGRhdGVkQXQiOiIyMDI2LTA0LTAxVDExOjExOjA4WiIsInByb2R1Y3RzQ291bnQiOnsiY291bnQiOjE2ODIsIl9fdHlwZW5hbWUiOiJDb3VudCJ9LCJzb3J0T3JkZXIiOiJCRVNUX1NFTExJTkciLCJfX3R5cGVuYW1lIjoiQ29sbGVjdGlvbiJ9fX0sInVwc2VsbCI6eyJ0eXBlIjoiUHJvZHVjdCIsInByb2R1Y3RzIjpbeyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC85ODkxNTg5MTI4Mzc2Iiwic2hvcnRJZCI6Ijk4OTE1ODkxMjgzNzYiLCJ2YXJpYW50cyI6WyI1MDg3MDU2Mjk0NzI1NiJdLCJoYW5kbGUiOiI3bGItYmFnLW9yZ2FuaWMtbWljcm9iaWFsLWZlcnRpbGl6ZXIiLCJ0aXRsZSI6IkVhcnRoIE1lZGljaW5lIDdsYiBCYWcgT3JnYW5pYyBNaWNyb2JpYWwgRmVydGlsaXplciJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvMTAzNTg
4349wODcwMjQ4MjQiLCJzaG9ydElkIjoiMTAzNTgwODcwMjQ4MjQiLCJ2YXJpYW50cyI6WyI1MzI3MjQ0NzI1NDcxMiIsIjUzMjcyNDQ3Mjg3NDgwIiwiNTMyNzI0NDczMjAyNDgiXSwiaGFuZGxlIjoic29pbC1yZXNjdWUiLCJ0aXRsZSI6IlNvaWwgUmVzY3VlIiwiaW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDYxNS8zODU2LzYzMjgvZmlsZXMvU1ItMS1CYWctU2hvcGlmeS5wbmc/dj0xNzc1NTA5ODk4In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC8xMDM4Nzc1ODk0MDM0NCIsInNob3J0SWQiOiIxMDM4Nzc1ODk0MDM0NCIsInZhcmlhbnRzIjpbIjUzNDIxMTk2NTQyMTM2IiwiNTM0MjExOTY1NzQ5MDQiXSwiaGFuZGxlIjoibGl2aW5nLXBvdHRpbmctbWl4IiwidGl0bGUiOiJMaXZpbmcgUG90dGluZyBNaXgiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9saXZpbmctcG90dGluZy1taXgtMTUtcXVhcnRzLTYzMDYzMi5qcGc/dj0xNzc3NDk3NjE4In0seyJpZCI6ImdpZDovL3Nob3BpZnkvUHJvZHVjdC85MjQ1NDM0OTcwMjk2Iiwic2hvcnRJZCI6IjkyNDU0MzQ5NzAyOTYiLCJ2YXJpYW50cyI6WyI1Mjg2MDQxMjAzNTI1NiIsIjUyODYwNDEyMDY4MDI0Il0sImhhbmRsZSI6InNvaWwtYmxvY2tpbmctc3RhcnRlci1raXQiLCJ0aXRsZSI6IlNvaWwgQmxvY2tpbmcgU3RhcnRlciBLaXQiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9Tb2lsQmxvY2tpbmdTdGFydGVyS2l0XzEuanBnP3Y9MTczMDE0NTYzNSJ9LHsiaWQiOiJnaWQ6Ly9zaG9waWZ5L1Byb2R1Y3QvOTI0NTQzNDkzNzUyOCIsInNob3J0SWQiOiI5MjQ1NDM0OTM3NTI4IiwidmFyaWFudHMiOlsiNDg2OTY5MTEwMzY2MDAiLCI0ODY5NjkxMTEwMjEzNiIsIjQ4Njk2OTExMDY5MzY4IiwiNDg2OTY5MTExMzQ5MDQiXSwiaGFuZGxlIjoidWx0aW1hdGUtYmFja3lhcmQtZ2FyZGVuZXItYnVuZGxlIiwidGl0bGUiOiJVbHRpbWF0ZSBCYWNreWFyZCBHYXJkZW5lciBCdW5kbGUiLCJpbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9maWxlcy9VbHRpbWF0ZUJhY2t5YXJkQnVuZGxlLmpwZz92PTE3MzAxNDU2MzUifV19fSx7ImlkIjoiMzI4NjQiLCJ2IjoyLCJ0cmlnZ2VyIjp7Im9uIjoic3BlY2lmaWMiLCJzZWxlY3Rpb24iOnsidHlwZSI6IkNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uIjp7ImlkIjoiZ2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzY1Mjk5MDYxMTY0MCIsInRpdGxlIjoiR3JlZW4gU3RhbGsgVmVydGljYWwgUGxhbnRlciIsImltYWdlIjp7InVybCI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNjE1LzM4NTYvNjMyOC9jb2xsZWN0aW9ucy9LSFBDby0yMDI0LTctMy1HcmVlblN0YWxrLUdhcmRlbi1Ub21hdG8tSGFydmVzdC0yMjFfMGVlOWYyMDAtMjhmNC00OGRkLWI1MWEtMzVmMTU0YzE2Yzg4LmpwZz92PTE3NzQ5NzQwMzciLCJhbHRUZXh0IjpudWxsLCJfX3R5cGVuYW1lIjoiSW1hZ2UifSwiaGFuZGxlIjoiZ3JlZW4tc3RhbGstdmVydGljYWwtcGxhbnRlciIsInVwZGF0ZWRBdCI6IjIwMjYtMDMtMzFUMTY6MjA6MzdaIiwicHJvZHVjdHNDb3VudCI6eyJjb3VudCI6NiwiX190eXBlbmFtZSI6IkNvdW50In0sInNvcnRPcmRlciI6IkJFU1RfU0VMTElORyIsIl9fdHlwZW5hbWUiOiJDb2xsZWN0aW9uIn19fSwidXBzZWxsIjp7InR5cGUiOiJDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiI6eyJpZCI6ImdpZDovL3Nob3BpZnkvQ29sbGVjdGlvbi82NTI5OTA3MDk5NDQiLCJ0aXRsZSI6IkdyZWVuIFN0YWxrIFVwc2VsbCBPbmx5IFByb2R1Y3RzIiwiaW1hZ2UiOnsidXJsIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA2MTUvMzg1Ni82MzI4L2NvbGxlY3Rpb25zL2dyZWVuc3RhbGstMl8xXzVjMGEyNmIxLWNiMzQtNDFlNS04ODQ1LTE2NTYxM2YyOGU1MS5qcGc/dj0xNzc0OTc0MzMzIiwiYWx0VGV4dCI6bnVsbCwiX190eXBlbmFtZSI6IkltYWdlIn0sImhhbmRsZSI6ImdyZWVuLXN0YWxrLXVwc2VsbC1vbmx5LXByb2R1Y3RzIiwidXBkYXRlZEF0IjoiMjAyNi0wMy0zMVQxNjoyNTozM1oiLCJwcm9kdWN0c0NvdW50Ijp7ImNvdW50Ijo0LCJfX3R5cGVuYW1lIjoiQ291bnQifSwic29ydE9yZGVyIjoiQkVTVF9TRUxMSU5HIiwiX190eXBlbmFtZSI6IkNvbGxlY3Rpb24ifX19XQ=="); 4350 if (val === '') { 4351 val = b64DecodeUnicode("W3siX2lkIjoiIiwidHJpZ2dlciI6bnVsbCwidXBzZWxsIjpudWxsfV0="); 4352 } 4353 val = JSON.parse(val); 4354 window.upcartSettings.upcartEditorSettings.upsellsItems = val; 4355 4356 val = b64DecodeUnicode("Ym90dG9t"); 4357 if (val === '') { 4358 val = b64DecodeUnicode("Ym90dG9t"); 4359 } 4360 window.upcartSettings.upcartEditorSettings.upsellsModulePosition = val; 4361 4362 val = b64DecodeUnicode("ZmFsc2U="); 4363 if (val === '') { 4364 val = b64DecodeUnicode("ZmFsc2U="); 4365 } 4366 val = JSON.parse(val); 4367 window.upcartSettings.upcartEditorSettings.recommendedUpsells = val; 4368 4369 val = b64DecodeUnicode("ZmFsc2U="); 4370 if (val === '') { 4371 val = b64DecodeUnicode("ZmFsc2U="); 4372 } 4373 val = JSON.parse(val); 4374 window.upcartSettings.upcartEditorSettings.smartVariantMatching = val; 4375 4376 val = b64DecodeUnicode("Y29tcGxlbWVudGFyeQ=="); 4377 if (val === '') { 4378 val = b64DecodeUnicode("cmVsYXRlZA=="); 4379 } 4380 window.upcartSettings.upcartEditorSettings.upsellRecommendationIntent = val; 4381 4382 val = b64DecodeUnicode("YWxsLXByb2R1Y3Rz"); 4383 if (val === '') { 4384 val = b64DecodeUnicode("bm8tcHJvZHVjdHM="); 4385 } 4386 window.upcartSettings.upcartEditorSettings.upsellProductReviews = val; 4387 4388 val = b64DecodeUnicode("KHt7UkVWSUVXX0NPVU5UfX0gcmV2aWV3cyk="); 4389 if (val === '') { 4390 val = b64DecodeUnicode("KHt7UkVWSUVXX0NPVU5UfX0gcmV2aWV3cyk="); 4391 } 4392 window.upcartSettings.upcartEditorSettings.upsellProductReviewsTextTemplate = val; 4393 4394 val = b64DecodeUnicode(""); 4395 if (val === '') { 4396 val = b64DecodeUnicode(""); 4397 } 4398 window.upcartSettings.upcartEditorSettings.upsellStrategyId = val; 4399 4400 val = b64DecodeUnicode("ZmFsc2U="); 4401 if (val === '') { 4402 val = b64DecodeUnicode("ZmFsc2U="); 4403 } 4404 val = JSON.parse(val); 4405 window.upcartSettings.upcartEditorSettings.upsellStrategyEnabled = val; 4406 4407 val = b64DecodeUnicode("ZmFsc2U="); 4408 if (val === '') { 4409 val = b64DecodeUnicode("ZmFsc2U="); 4410 } 4411 val = JSON.parse(val); 4412 window.upcartSettings.upcartEditorSettings.addonsModule = val; 4413 4414 val = b64DecodeUnicode("eyJzaGlwcGluZ1Byb3RlY3Rpb24iOnsiYWN0aXZlIjp0cnVlLCJwcm9k
4414dWN0SGFuZGxlIjoic2hpcHBpbmctcHJvdGVjdGlvbiIsInRpZXJzIjpbXSwidXNlUHJlRGlzY291bnRlZFRvdGFsIjpmYWxzZX0sInByb2R1Y3RBZGRvbiI6eyJhY3RpdmUiOmZhbHNlLCJwcm9kdWN0SGFuZGxlIjpudWxsLCJwcm9kdWN0IjpudWxsfX0="); 4415 if (val === '') { 4416 val = b64DecodeUnicode("eyJzaGlwcGluZ1Byb3RlY3Rpb24iOnsiYWN0aXZlIjpmYWxzZSwicHJvZHVjdEhhbmRsZSI6bnVsbCwidGllcnMiOltdLCJ1c2VQcmVEaXNjb3VudGVkVG90YWwiOmZhbHNlfSwicHJvZHVjdEFkZG9uIjp7ImFjdGl2ZSI6ZmFsc2UsInByb2R1Y3RIYW5kbGUiOm51bGwsInByb2R1Y3QiOm51bGx9fQ=="); 4417 } 4418 val = JSON.parse(val); 4419 window.upcartSettings.upcartEditorSettings.addonsField = val; 4420 4421 val = b64DecodeUnicode("ZmFsc2U="); 4422 if (val === '') { 4423 val = b64DecodeUnicode("ZmFsc2U="); 4424 } 4425 val = JSON.parse(val); 4426 window.upcartSettings.upcartEditorSettings.addonsShouldBeCounted = val; 4427 4428 val = b64DecodeUnicode("dHJ1ZQ=="); 4429 if (val === '') { 4430 val = b64DecodeUnicode("dHJ1ZQ=="); 4431 } 4432 val = JSON.parse(val); 4433 window.upcartSettings.upcartEditorSettings.enableAddonAttributeKey = val; 4434 4435 val = b64DecodeUnicode("ZmFsc2U="); 4436 if (val === '') { 4437 val = b64DecodeUnicode("ZmFsc2U="); 4438 } 4439 val = JSON.parse(val); 4440 window.upcartSettings.upcartEditorSettings.notesModule = val; 4441 4442 val = b64DecodeUnicode("PHA+QWRkIHNwZWNpYWwgaW5zdHJ1Y3Rpb25zPC9wPg=="); 4443 if (val === '') { 4444 val = b64DecodeUnicode("PHA+QWRkIHNwZWNpYWwgaW5zdHJ1Y3Rpb25zPC9wPg=="); 4445 } 4446 window.upcartSettings.upcartEditorSettings.notesTitle = val; 4447 4448 val = b64DecodeUnicode("U3BlY2lhbCBpbnN0cnVjdGlvbnMgZm9yIHlvdXIgb3JkZXI="); 4449 if (val === '') { 4450 val = b64DecodeUnicode("U3BlY2lhbCBpbnN0cnVjdGlvbnMgZm9yIHlvdXIgb3JkZXI="); 4451 } 4452 window.upcartSettings.upcartEditorSettings.notesPlaceholder = val; 4453 4454 val = b64DecodeUnicode("Ym90dG9tT2ZDYXJ0"); 4455 if (val === '') { 4456 val = b64DecodeUnicode("Ym90dG9tT2ZDYXJ0"); 4457 } 4458 window.upcartSettings.upcartEditorSettings.notesPlacement = val; 4459 4460 val = b64DecodeUnicode("ZmFsc2U="); 4461 if (val === '') { 4462 val = b64DecodeUnicode("ZmFsc2U="); 4463 } 4464 val = JSON.parse(val); 4465 window.upcartSettings.upcartEditorSettings.trustBadgesModule = val; 4466 4467 val = b64DecodeUnicode("eyJ1cmwiOiIiLCJwb3NpdGlvbiI6ImJvdHRvbSJ9"); 4468 if (val === '') { 4469 val = b64DecodeUnicode("eyJ1cmwiOiIiLCJwb3NpdGlvbiI6ImJvdHRvbSJ9"); 4470 } 4471 val = JSON.parse(val); 4472 window.upcartSettings.upcartEditorSettings.trustBadges = val; 4473 4474 val = b64DecodeUnicode("dHJ1ZQ=="); 4475 if (val === '') { 4476 val = b64DecodeUnicode("ZmFsc2U="); 4477 } 4478 val = JSON.parse(val); 4479 window.upcartSettings.upcartEditorSettings.discountCodeModule = val; 4480 4481 val = b64DecodeUnicode("RGlzY291bnQgY29kZQ=="); 4482 if (val === '') { 4483 val = b64DecodeUnicode("RGlzY291bnQgY29kZQ=="); 4484 } 4485 window.upcartSettings.upcartEditorSettings.discountCodePlaceholder = val; 4486 4487 val = b64DecodeUnicode("QXBwbHk="); 4488 if (val === '') { 4489 val = b64DecodeUnicode("QXBwbHk="); 4490 } 4491 window.upcartSettings.upcartEditorSettings.discountCodeButtonText = val; 4492 4493 val = b64DecodeUnicode("ZmFsc2U="); 4494 if (val === '') { 4495 val = b64DecodeUnicode("ZmFsc2U="); 4496 } 4497 val = JSON.parse(val); 4498 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesModule = val; 4499 4500 val = b64DecodeUnicode("ZmFsc2U="); 4501 if (val === '') { 4502 val = b64DecodeUnicode("ZmFsc2U="); 4503 } 4504 val = JSON.parse(val); 4505 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesPreventDowngrades = val; 4506 4507 val = b64DecodeUnicode("VXBncmFkZSB0byB7e3NlbGxpbmdfcGxhbl9ncm91cF9uYW1lfX0="); 4508 if (val === '') { 4509 val = b64DecodeUnicode("VXBncmFkZSB0byB7e3NlbGxpbmdfcGxhbl9ncm91cF9uYW1lfX0="); 4510 } 4511 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesButtonText = val; 4512 4513 val = b64DecodeUnicode("ZmFsc2U="); 4514 if (val === '') { 4515 val = b64DecodeUnicode("ZmFsc2U="); 4516 } 4517 val = JSON.parse(val); 4518 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesOptionsTextOverride = val; 4519 4520 val = b64DecodeUnicode("e3tzZWxsaW5nX3BsYW5fZ3JvdXBfbmFtZX19IC8ge3tzZWxsaW5nX3BsYW5fbmFtZX19"); 4521 if (val === '') { 4522 val = b64DecodeUnicode("e3tzZWxsaW5nX3BsYW5fZ3JvdXBfbmFtZX19IC8ge3tzZWxsaW5nX3BsYW5fbmFtZX19"); 4523 } 4524 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesOptionsText = val; 4525 4526 val = b64DecodeUnicode("T25lLXRpbWUgcHVyY2hhc2U="); 4527 if (val === '') { 4528 val = b64DecodeUnicode("T25lLXRpbWUgcHVyY2hhc2U="); 4529 } 4530 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesOneTimePurchaseText = val; 4531 4532 val = b64DecodeUnicode("RnVsbCBwcmljZQ=="); 4533 if (val === '') { 4534 val = b64DecodeUnicode("RnVsbCBwcmljZQ=="); 4535 } 4536 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesFullPriceText = val; 4537 4538 val = b64DecodeUnicode("U3Vic2NyaXB0aW9uIHBsYW5z"); 4539 if (val === '') { 4540 val = b64DecodeUnicode("U3Vic2NyaXB0aW9uIHBsYW5z"); 4541 } 4542 window.upcartSettings.upcartEditorSettings.subscriptionUpgradesSubscriptionPlansText = val; 4543 4544 val = b64DecodeUnicode("ZmFsc2U="); 4545 if (val === '') { 4546 val = b64DecodeUnicode("ZmFsc2U="); 4547 } 4548 val = JSON.parse(val); 4549 window.upcartSettings.upcartEditorSettings.expressPayModule = val; 4550 4551 val = b64DecodeUnicode("W10="); 4552 if (val === '') { 4553 val = b64DecodeUnicode("W10="); 4554 } 4555 val = JSON.parse(val); 4556 window.upcartSettings.upcartEditorSettings.expressPayEnabledGateways = val; 4557 4558 val = b64DecodeUnicode("MQ=="); 4559 if (val === '') { 4560 val = b64DecodeUnicode("MQ=="); 4561 } 4562 window.upcartSettings.upcartEditorSettings.expressPayVersion = val; 4563 4564 val = b64DecodeUnicode("eyJmaWVsZHMiOnsic2hvcGlmeUFjY2VsZXJhdGVkQ2hlY2tvdXRCdXR0b25CbG9ja1NpemUiOjQyLCJzaG9waWZ5QWNjZWxlcmF0ZWRDaGVja291dEJ1dHRvbklubGluZVNpemUiOjQyLCJzaG9waWZ5QWNjZWxlcmF0ZWRDaGVja291dElubGluZUFsaWdubWVudCI6ImNlbnRlciIsInNob3BpZnlBY2NlbGVyYXRlZENoZWNrb3V0Um93R2FwIjo4fX0="); 4565 if (val === '') { 4566 val = b64DecodeUnicode("eyJmaWVsZHMiOnsic2hvcGlmeUFjY2VsZXJhdGVkQ2hlY2tvdXRCdXR0b25CbG9ja1NpemUiOjQyLCJzaG9waWZ5QWNjZWxlcmF0ZWRDaGVja291dEJ1dHRvbklubGluZVNpemUiOjQyLCJzaG9waWZ5QWNjZWxlcmF0ZWRDaGVja291dElubGluZUFsaWdubWVudCI6ImNlbnRlciIsInNob3BpZnlBY2NlbGVyYXRlZENoZWNrb3V0Um93R2FwIjo4fX0="); 4567 } 4568 val = JSON.parse(val); 4569 window.upcartSettings.upcartEditorSettings.expressPayAcceleratedCheckoutStyles = val; 4570 4571 val = b64DecodeUnicode("dHJ1ZQ=="); 4572 if (val === '') { 4573 val = b64DecodeUnicode("dHJ1ZQ=="); 4574 } 4575 val = JSON.parse(val); 4576 window.upcartSettings.upcartEditorSettings.expressPayHideBuyerConsent = val; 4577 4578 val = b64DecodeUnicode("ZmFsc2U="); 4579 if (val === '') { 4580 val = b64DecodeUnicode("ZmFsc2U="); 4581 } 4582 val = JSON.parse(val); 4583 window.upcartSettings.stickyCartButtonEditorSettings.stickyCartButtonIsEnabled = val; 4584 4585 val = b64DecodeUnicode("Izc5QzA0OA=="); 4586 if (val === '') { 4587 val = b64DecodeUnicode("IzAwMDAwMA=="); 4588 } 4589 window.upcartSettings.stickyCartButtonEditorSettings.backgroundColor = val; 4590 4591 val = b64DecodeUnicode("YWxsRGV2aWNlcw=="); 4592 if (val === '') { 4593 val = b64DecodeUnicode("YWxsRGV2aWNlcw=="); 4594 } 4595 window.upcartSettings.stickyCartButtonEditorSettings.deviceSettings = val; 4596 4597 val = b64DecodeUnicode("I2ZmZmZmZg=="); 4598 if (val === '') { 4599 val = b64DecodeUnicode("I2ZmZmZmZg=="); 4600 } 4601 window.upcartSettings.stickyCartButtonEditorSettings.iconColor = val; 4602 4603 val = b64DecodeUnicode("cm91bmRlZEJhZw=="); 4604 if (val === '') { 4605 val = b64DecodeUnicode("c3F1YXJlQmFn"); 4606 } 4607 window.upcartSettings.stickyCartButtonEditorSettings.iconStyle = val; 4608 4609 val = b64DecodeUnicode("I0YwNEY0Rg=="); 4610 if (val === '') { 4611 val = b64DecodeUnicode("I2U0MjYyNg=="); 4612 } 4613 window.upcartSettings.stickyCartButtonEditorSettings.quantityBackgroun
4613dColor = val; 4614 4615 val = b64DecodeUnicode("I2ZmZmZmZg=="); 4616 if (val === '') { 4617 val = b64DecodeUnicode("I2ZmZmZmZg=="); 4618 } 4619 window.upcartSettings.stickyCartButtonEditorSettings.quantityTextColor = val; 4620 4621 val = b64DecodeUnicode("Ym90dG9tTGVmdA=="); 4622 if (val === '') { 4623 val = b64DecodeUnicode("Ym90dG9tUmlnaHQ="); 4624 } 4625 window.upcartSettings.stickyCartButtonEditorSettings.stickyCartPosition = val; 4626 4627 4628})(); 4629</script>
4629 4630 4631 4632 4633 4634 4635
4636<script> 4637 window.upcartPreloadedCart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; 4638 window.upcartMoneyFormat = "\u003cspan class=money\u003e${{amount}}\u003c\/span\u003e"; 4639 window.upcartStorefrontPublicAccessToken = '19b37650fd1c791137fbb434d387b16e' || undefined; 4640 window.upcartClientLocalizationCountry = { 4641 isoCode: 'US', 4642 currency: 'CurrencyDrop', 4643 name: 'United States' 4644 }; 4645 window.upcartMyShopifyDomain = 'seedtimestore.myshopify.com'; 4646</script>
4646 4647 4648
4649<script> 4650 window.upcart = window.upcart || {}; 4651 window.upcart.customer = { isLoggedIn: false }; 4652 </script>
4652<script> 4653 window.upcartPreloadedCart.items = window.upcartPreloadedCart.items.map((line) => { 4654 4655 4656 return line; 4657 }); 4658</script>
4658 4659 4660<div id="upCart"></div> 4661<div id="upCartStickyButton"></div> 4662 4663<style id="upCart-customCSS"> 4664 4665 #sabbath-message a:hover { 4666 background-color: #f36e6e !important; 4667 cursor: pointer; 4668} 4669 4670</style> 4671 4672 4673</div>
4673<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
4673 4674</body> 4675</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.