PageSourceSearch

https://rubyshappyfarm.com/products/mothers-day-gift-box

html rubyshappyfarm.com collected 2026-10-07 03:51:13 UTC 260,556 bytes, 5,718 lines download raw bytes

1<!doctype html>
2  <html
3    class="no-js max-w-full overflow-x-hidden !h-auto"
4    lang="en"
5    data-headings-size="large"
6    data-headings-case="uppercase"
7    data-headings-line-height="tight"
8  >
9  <head>
10    <meta charset="utf-8">
11    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
12    <meta name="viewport" content="width=device-width,initial-scale=1">
13
14    <link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
15    <link rel="preconnect" href="https://ajax.googleapis.com" crossorigin><link rel="preload" as="font" href="//rubyshappyfarm.com/cdn/fonts/outfit/outfit_n3.8c97ae4c4fac7c2ea467a6dc784857f4de7e0e37.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//rubyshappyfarm.com/cdn/fonts/tenor_sans/tenorsans_n4.966071a72c28462a9256039d3e3dc5b0cf314f65.woff2" type="font/woff2" crossorigin><link rel="preload" href="//rubyshappyfarm.com/cdn/shop/t/11/assets/theme.css?v=67245511668098347111710880012" as="style">
16
17    <link rel="modulepreload" href="//rubyshappyfarm.com/cdn/shop/t/11/assets/theme.min.js?v=126014031971537727391710880011"><link rel="canonical" href="https://rubyshappyfarm.com/products/mothers-day-gift-box"><link rel="icon" type="image/png" href="//rubyshappyfarm.com/cdn/shop/files/dsjhaehju.png?crop=center&height=32&v=1711047690&width=32"><title>Our Crops
18&ndash; Ruby&#39;s Happy Farm</title><meta name="description" content="Enjoy a day in nature and pick from our crops! Available in the Spring and Fall.  Experience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take h"><meta property="og:site_name" content="Ruby&#39;s Happy Farm">
19<meta property="og:url" content="https://rubyshappyfarm.com/products/mothers-day-gift-box">
20<meta property="og:title" content="Our Crops">
21<meta property="og:type" content="product">
22<meta property="og:description" content="Enjoy a day in nature and pick from our crops! Available in the Spring and Fall.  Experience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take h"><meta property="og:image" content="http:files/IMG_5210.jpg">
23  <meta property="og:image:secure_url" content="https:files/IMG_5210.jpg">
24  <meta property="og:image:width" content="3024">
25  <meta property="og:image:height" content="2012">
26  <meta property="og:price:amount" content="15.00">
27  <meta property="og:price:currency" content="USD">
28
29
30
31<meta name="twitter:card" content="summary_large_image">
32<meta name="twitter:title" content="Our Crops">
33<meta name="twitter:description" content="Enjoy a day in nature and pick from our crops! Available in the Spring and Fall.  Experience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take h">
34
35<link rel="canonical" href="https://rubyshappyfarm.com/products/mothers-day-gift-box" />
36<style>
37  @font-face {
38  font-family: "Tenor Sans";
39  font-weight: 400;
40  font-style: normal;
41  font-display: swap;
42  src: url("//rubyshappyfarm.com/cdn/fonts/tenor_sans/tenorsans_n4.966071a72c28462a9256039d3e3dc5b0cf314f65.woff2") format("woff2"),
43       url("//rubyshappyfarm.com/cdn/fonts/tenor_sans/tenorsans_n4.2282841d948f9649ba5c3cad6ea46df268141820.woff") format("woff");
44}
45
46  @font-face {
47  font-family: Outfit;
48  font-weight: 300;
49  font-style: normal;
50  font-display: swap;
51  src: url("//rubyshappyfarm.com/cdn/fonts/outfit/outfit_n3.8c97ae4c4fac7c2ea467a6dc784857f4de7e0e37.woff2") format("woff2"),
52       url("//rubyshappyfarm.com/cdn/fonts/outfit/outfit_n3.b50a189ccde91f9bceee88f207c18c09f0b62a7b.woff") format("woff");
53}
54
55  @font-face {
56  font-family: Outfit;
57  font-weight: 700;
58  font-style: normal;
59  font-display: swap;
60  src: url("//rubyshappyfarm.com/cdn/fonts/outfit/outfit_n7.bfc2ca767cd7c6962e82c320123933a7812146d6.woff2") format("woff2"),
61       url("//rubyshappyfarm.com/cdn/fonts/outfit/outfit_n7.f0b22ea9a32b6f1f6f493dd3a7113aae3464d8b2.woff") format("woff");
62}
63
64  
65</style><style>
66/* This file is automatically compiled, do not edit directly. See src/setup/css-variables.js */
67:root {
68--colors-background: rgba(0,0,0,0);
69--colors-body-text: #000000;
70--colors-body-text-opacity-10: rgba(0, 0, 0, 0.7);
71--colors-body-text-opacity-20: rgba(0, 0, 0, 0.7);
72--colors-body-text-opacity-55: rgba(0, 0, 0, 0.7);
73--colors-border-opacity-10: rgba(0, 0, 0, 0.2);
74--colors-headings: #000000;
75--general-colors-background: rgba(0,0,0,0);
76--general-colors-body: #000000;
77--general-colors-body-opacity-10: rgba(0, 0, 0, 0.7);
78--general-colors-body-opacity-20: rgba(0, 0, 0, 0.7);
79--general-colors-body-opacity-55: rgba(0, 0, 0, 0.7);
80--general-colors-border-opacity-10: rgba(0, 0, 0, 0.2);
81--general-colors-headings: #000000;
82--accent-1-colors-background: rgba(0,0,0,0);
83--accent-1-colors-body: #000000;
84--accent-1-colors-body-opacity-10: rgba(0, 0, 0, 0.7);
85--accent-1-colors-body-opacity-20: rgba(0, 0, 0, 0.7);
86--accent-1-colors-body-opacity-55: rgba(0, 0, 0, 0.7);
87--accent-1-colors-border-opacity-10: rgba(0, 0, 0, 0.2);
88--accent-1-colors-headings: #000000;
89--accent-2-colors-background: #000000;
90--accent-2-colors-body: #fff;
91--accent-2-colors-body-opacity-10: rgba(255, 255, 255, 0.7);
92--accent-2-colors-body-opacity-20: rgba(255, 255, 255, 0.7);
93--accent-2-colors-body-opacity-55: rgba(255, 255, 255, 0.7);
94--accent-2-colors-border-opacity-10: rgba(255, 255, 255, 0.2);
95--accent-2-colors-headings: #FFFFFF;
96--accent-3-colors-background: #ffffff;
97--accent-3-colors-body: #000000;
98--accent-3-colors-body-opacity-10: rgba(0, 0, 0, 0.1);
99--accent-3-colors-body-opacity-20: rgba(0, 0, 0, 0.2);
100--accent-3-colors-body-opacity-55: rgba(0, 0, 0, 0.55);
101--accent-3-colors-border-opacity-10: rgba(0, 0, 0, 0.1);
102--accent-3-colors-headings: #000000;
103--invert-colors-background: #000000;
104--invert-colors-body: rgba(0,0,0,0);
105--font-body: Outfit, sans-serif;
106--font-headings: "Tenor Sans", sans-serif;
107--font-size-base: 0.96rem;
108--font-body-weight: 300;
109--font-body-style: normal;
110--heading-case: uppercase;
111--slider-animation-duration: 900ms;
112
113}</style><style data-shopify>
114
115  @font-face {
116  font-family: Outfit;
117  font-weight: 300;
118  font-style: normal;
119  font-display: swap;
120  src: url("//rubyshappyfarm.com/cdn/fonts/outfit/outfit_n3.8c97ae4c4fac7c2ea467a6dc784857f4de7e0e37.woff2") format("woff2"),
121       url("//rubyshappyfarm.com/cdn/fonts/outfit/outfit_n3.b50a189ccde91f9bceee88f207c18c09f0b62a7b.woff") format("woff");
122}
123
124  @font-face {
125  font-family: "Tenor Sans";
126  font-weight: 400;
127  font-style: normal;
128  font-display: swap;
129  src: url("//rubyshappyfarm.com/cdn/fonts/tenor_sans/tenorsans_n4.966071a72c28462a9256039d3e3dc5b0cf314f65.woff2") format("woff2"),
130       url("//rubyshappyfarm.com/cdn/fonts/tenor_sans/tenorsans_n4.2282841d948f9649ba5c3cad6ea46df268141820.woff") format("woff");
131}
132
133
134  *,
135  *::before,
136  *::after {
137    box-sizing: inherit;
138  }
139
140  html {
141    box-sizing: border-box;
142    height: 100%;
143  }
144
145  body {
146    display: grid;
147    grid-template-rows: auto auto 1fr auto;
148    grid-template-columns: 100%;
149    min-height: 100%;
150    margin: 0;
151  }
152
153  details > summary::-webkit-details-marker {
154    display: none;
155  }
156
157</style>
157<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
157<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/28325052500/digital_wallets/dialog">
158<meta id="in-context-paypal-metadata" data-shop-id="28325052500" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
159<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/39328616972372:1?ucp/version=2026-08-25" payment="com.google.pay dev.shopify.card dev.shopify.shop_pay"><link rel="alternate" type="application/json+oembed" href="https://rubyshappyfarm.com/products/mothers-day-gift-box.oembed">
160<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 160
160
161<script id="shopify-features" type="application/json">{"accessToken":"25b5ac60f2351cc16acee02ff2f00ec1","betas":["rich-media-storefront-analytics"],"domain":"rubyshappyfarm.com","predictiveSearch":true,"shopId":28325052500,"locale":"en"}</script>
vendor: 1 bytes, line 161
161
162<script>var Shopify = Shopify || {};
163Shopify.shop = "rubys-happy-farm.myshopify.com";
164Shopify.locale = "en";
165Shopify.currency = {"active":"USD","rate":"1.0"};
166Shopify.country = "US";
167Shopify.theme = {"name":"Influence","id":125456875604,"schema_name":"Influence","schema_version":"3.1.0","theme_store_id":1536,"role":"main"};
168Shopify.theme.handle = "null";
169Shopify.theme.style = {"id":null,"handle":null};
170Shopify.cdnHost = "rubyshappyfarm.com/cdn";
171Shopify.routes = Shopify.routes || {};
172Shopify.routes.root = "/";
173Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
174Shopify.SignInWithShop = Shopify.SignInWithShop || {};
175Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
176Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 176
176
177<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 177
177
178<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 178
178
179<script>
180  window.Shopify = window.Shopify || {};
181  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
182  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
183  window.Shopify.SignInWithShop.eligible = true;
184</script>
vendor: 1 bytes, line 184
184
185<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 185
185
186<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 186
186
187<script type="module">
188  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
189
190  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
191
192</script>
vendor: 1 bytes, line 192
192
193<script>
194  window.Shopify = window.Shopify || {};
195  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
196  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
197</script>
vendor: 1 bytes, line 197
197
198<script>(function() {
199  var isLoaded = false;
200  function asyncLoad() {
201    if (isLoaded) return;
202    isLoaded = true;
203    var urls = ["https:\/\/av2.hulkapps.com\/hulk_age_verifier.av2.js?shop=rubys-happy-farm.myshopify.com","\/\/staticw2.yotpo.com\/huzfhnsvilMvjtvdpt3jPYtcwtCX66qzcWUFi7pC\/widget.js?shop=rubys-happy-farm.myshopify.com","\/\/cdn.shopify.com\/proxy\/900a2c1a786a42f94d01c3916838410c53417f979d4751d34689e91fb813c4c9\/api.goaffpro.com\/loader.js?shop=rubys-happy-farm.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/apps3.omegatheme.com\/cookies-notification\/cookies-notification.js?v=62eb82b1c5405\u0026shop=rubys-happy-farm.myshopify.com","https:\/\/upsell.conversionbear.com\/script?app=upsell\u0026shop=rubys-happy-farm.myshopify.com","https:\/\/cdn.hextom.com\/js\/quickannouncementbar.js?shop=rubys-happy-farm.myshopify.com","https:\/\/cdn.hextom.com\/js\/freeshippingbar.js?shop=rubys-happy-farm.myshopify.com"];
204    for (var i = 0; i < urls.length; i++) {
205      var s = document.createElement('script');
206      s.type = 'text/javascript';
207      s.async = true;
208      s.src = urls[i];
209      var x = document.getElementsByTagName('script')[0];
210      x.parentNode.insertBefore(s, x);
211    }
212  };
213  if(window.attachEvent) {
214    window.attachEvent('onload', asyncLoad);
215  } else {
216    window.addEventListener('load', asyncLoad, false);
217  }
218})();</script>
vendor: 1 bytes, line 218
218
219<script id="__st">var __st={"a":28325052500,"offset":-18000,"reqid":"50dae2d9-a0aa-4754-8f79-f089058506fd-1791345072","pageurl":"rubyshappyfarm.com\/products\/mothers-day-gift-box","u":"acf1a419f839","p":"product","rtyp":"product","rid":6580320403540};</script>
vendor: 1 bytes, line 219
219
220<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 220
220
221<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 221
221
222<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//rubyshappyfarm.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 222
222
223<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 = "//rubyshappyfarm.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
223<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 223
223
224<script>
225  window.Shopify = window.Shopify || {};
226  window.Shopify.MCP = window.Shopify.MCP || {};
227  window.Shopify.MCP.enabled = true;
228  window.Shopify.MCP.shop = "rubys-happy-farm.myshopify.com";
229  window.Shopify.MCP.mcpEndpoint = "https:\/\/rubyshappyfarm.com\/api\/mcp";
230  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
231</script>
vendor: 1 bytes, line 231
231
232<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("\/\/rubyshappyfarm.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
233</script>
vendor: 1 bytes, line 233
233
234<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://rubyshappyfarm.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
235</script>
vendor: 1 bytes, line 235
235
236<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
237  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);
238</script>
vendor: 1 bytes, line 238
238
239<script>
240  function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule);
241</script>
241
242
243<script type="module" src="https://rubyshappyfarm.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 243
243
244<script nomodule>
245  document.addEventListener("DOMContentLoaded", portableWalletsCleanup);
246</script>
246
247
248<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://rubyshappyfarm.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
249<style id="shopify-accelerated-checkout-cart">
250        #shopify-buyer-consent {
251  margin-top: 1em;
252  display: inline-block;
253  width: 100%;
254}
255
256#shopify-buyer-consent.hidden {
257  display: none;
258}
259
260#shopify-subscription-policy-button {
261  background: none;
262  border: none;
263  padding: 0;
264  text-decoration: underline;
265  font-size: inherit;
266  cursor: pointer;
267}
268
269#shopify-subscription-policy-button::before {
270  box-shadow: none;
271}
272
273      </style>
274
275<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
275
276
277    
277<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
277
278  <!-- BEGIN app block: shopify://apps/consentik-cookie/blocks/omega-cookies-notification/13cba824-a338-452e-9b8e-c83046a79f21 -->
279<!-- BEGIN app snippet: release-shopify-tracking -->
280<script>
281  (function () {
282    try {
283      var storage = window.otBlockedStorage;
284      if (!storage) return;
285
286      var PATTERNS = ['/web-pixel', 'trekkie'];
287      var BLOCKED_SRC = 'data-cst-blocked-src';
288      var setAttribute = Element.prototype.setAttribute;
289
290      function isShopifyTracking(value) {
291        value = String(value || '');
292        for (var i = 0; i < PATTERNS.length; i++) {
293          if (value.indexOf(PATTERNS[i]) >= 0) return true;
294        }
295        return false;
296      }
297
298      function scriptSource(entry) {
299        return entry.getAttribute ? entry.getAttribute('src') : entry.src;
300      }
301
302      // Gen 2 hooks createElement and appendChild but lets through any node already carrying
303      // BLOCKED_SRC; setAttribute on the prototype is left untouched.
304      function releaseScript(entry) {
305        var src = scriptSource(entry);
306        var script = document.createElement('script');
307        setAttribute.call(script, BLOCKED_SRC, src || 'released');
308        if (entry.type) script.type = entry.type;
309        if (src) setAttribute.call(script, 'src', src);
310        else script.text = entry.textContent;
311        document.head.appendChild(script);
312      }
313
314      // Gen 1 reads these on every check, so switching them off stops it blocking either kind.
315      // Gen 2 compiled its patterns on first use and ignores them.
316      var SCOPE_KEYS = ['web_pixel', 'shopify'];
317      for (var k = 0; k < SCOPE_KEYS.length; k++) {
318        if (window.omegaBlockScopes) window.omegaBlockScopes[SCOPE_KEYS[k]] = false;
319        if (window.OMG_BLOCK_URL) window.OMG_BLOCK_URL[SCOPE_KEYS[k]] = [];
320      }
321
322      // The frame stays where it is. BLOCKED_SRC is kept so Gen 2 lets it through if it is
323      // inserted (or moved) after this. Deferred because Gen 1 queues a frame before it has
324      // finished hiding it.
325      function releaseFrame(frame) {
326        Promise.resolve().then(function () {
327          var src = frame.getAttribute(BLOCKED_SRC) || frame.getAttribute('data-src');
328          setAttribute.call(frame, BLOCKED_SRC, src);
329          setAttribute.call(frame, 'src', src);
330          frame.removeAttribute('data-src');
331          frame.style.display = '';
332        });
333      }
334
335      function isShopifyFrame(frame) {
336        return isShopifyTracking(frame.getAttribute(BLOCKED_SRC) || frame.getAttribute('data-src'));
337      }
338
339      function isShopifyScript(entry) {
340        return isShopifyTracking(scriptSource(entry) || entry.textContent);
341      }
342
343      // Whatever was held back before the embed rendered. Filtered in place: the block code and
344      // the consent scripts read these same arrays when the visitor consents.
345      function releaseHeld(list, isShopify, release) {
346        var kept = [];
347        for (var i = 0; i < list.length; i++) {
348          if (isShopify(list[i])) release(list[i]);
349          else kept.push(list[i]);
350        }
351        list.length = 0;
352        Array.prototype.push.apply(list, kept);
353      }
354      releaseHeld(storage.scripts, isShopifyScript, releaseScript);
355      releaseHeld(storage.iframes, isShopifyFrame, releaseFrame);
356
357      // Gen 2 keeps blocking both kinds for the life of the page and queues every node it holds
358      // back through this push, so anything it catches from now on is handed straight back.
359      function handBack(list, isShopify, release) {
360        var push = list.push;
361        list.push = function () {
362          for (var j = 0; j < arguments.length; j++) {
363            if (isShopify(arguments[j])) release(arguments[j]);
364            else push.call(list, arguments[j]);
365          }
366          return list.length;
367        };
368      }
369      handBack(storage.scripts, isShopifyScript, releaseScript);
370      handBack(storage.iframes, isShopifyFrame, releaseFrame);
371    } catch (e) {}
372  })();
373</script>
373
374<!-- END app snippet -->
375<script>
376    window.otCKAppData = {};
377    var otCKRequestDataInfo = {};
378    var otCKRootLink = '';
379    var otCKSettings = {};
380    window.OCBCookies = []
381    window.OCBCategories = []
382    window['otkConsent'] = window['otkConsent'] || {};
383</script>
383
384
385
386
387
388    
388<script>
389        function __remvoveCookie(name) {
390            document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
391        }
392
393        __remvoveCookie('__cross_accepted');
394    </script>
394
395
396
397
398
399
400    
400<script>
401        let otCKEnableDebugger = 0;
402    </script>
402
403
404
405
406
407    
407<script>
408        window.cstCookiesData = {"rootLink":"https://apps.consentik.com/consentik","cookies":[],"category":[]};
409    </script>
409
410
411
412
413    
413<script>
414        window.cstMultipleLanguages = {"rootLink":"https://apps.consentik.com/consentik","config":{},"cookieInformation":[{"trigger":"Cookies detail","name":"Name","provider":"Provider","domain":"Domain","path":"Path","type":"Type","retention":"Retention","purpose":"Purpose","language":"en"}],"bannerText":[],"cookies":[],"categories":[],"privacyPopup":[]};
415    </script>
415
416
417
418
419
420
421    
421<script>
422        window.otCKAppData = {"uId":64819,"lowestId":258194,"terms":["cookie_banner","customize_appearance","custom_text_and_color","built_in_themes","custom_banner_width","show_cookie_icon","show_dismiss_btn","google_policy","customer_privacy","show_close_icon","quick_cookie_selector","show_preference_btn","display_restriction"],"consentMode":{},"consentModeRegions":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","GB"],"settings":{"id":14987,"shop":"rubys-happy-farm.myshopify.com","shop_id":"28325052500","message":"This website uses cookies to ensure you get the best experience on our website. Details can be found in our","submit_text":"Got it!","info_text":"Privacy Policy","privacy_link":"","dismiss_text":"Dismiss","prefrences_text":"Preferences","preferences_title":null,"accept_selected_text":"Allow selection","accept_all_text":"Allow all cookies","title_popup":"This website uses cookies","mess_popup":"This website is using cookies to analyze our traffic, personalize content and/or ads, to provide video content. We also share information about your use of our site with our analytics and advertising partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.","title":null,"google_privacy_text":"Google's Privacy Policy","impressum_title":"Legal Disclosure (Imprint)","permission":"0","show_icon":"0","app_enable":"1","popup_layout":2,"fullwidth_position":2,"corner_position":4,"center_position":1,"show_homepage":"1","show_all":"1","show_all_eu":"1","eu_countries":"[]","cache_time":60,"popup_bgcolor":"#010101","popup_textcolor":"#F6F6F6","more_textcolor":"#ffffff","submit_bgcolor":"#A79D9D","submit_textcolor":"#F5F5F0","custom_css":"","show_dismiss":"0","show_dismiss_popup":"0","show_prefrences":"0","color_text_popup":"#FFFFFF","dismiss_textcolor":"#f8e71c","dismiss_bgcolor":"#000000","text_size":13,"close_dismis":"0","prefrences_bgcolor":"#000000","prefrences_textcolor":"#F8E71C","accept_selected_text_color":"#02909c","accept_selected_bgcolor":"#e4f3f7","accept_all_text_color":"#ffffff","accept_all_bgcolor":"#02909c","show_cookies":"1","title_color_popup":"#000000","bgcolor_popup":"#ffffff","show_specific_region":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","GB"],"style_request_page":"{\"info_bgcolor\":\"#ffffff\",\"show_bgcolor\":\"#2f87e4\",\"edit_bgcolor\":\"#ca2f2f\",\"delete_bgcolor\":\"#770e0e\",\"delete_textcolor\":\"#ffffff\",\"edit_textcolor\":\"#ffffff\",\"show_textcolor\":\"#ffffff\",\"info_textcolor\":\"#000000\",\"info_text_size\":\"13\"}","banner_position":"full","side_position":"left","show_cookies_btn":"0","upgrade_date":null,"theme_name":null,"unit_space":"%","popup_width":100,"position_top":0,"position_left":0,"position_right":0,"position_bottom":0,"enable_debugger":"0","regulation_template":null,"is_updated_cookies":"0","script_tagid":"112726147156","google_privacy_link":"https://business.safety.google/privacy/","enable_google_privacy":"0","enable_impressum":"0","impressum_link":"","decline_behavior":"hide_banner_temporarily","leave_site_url":null,"language_template":"en","text_align":"center","icon_size":25,"button_style":"solid","submit_border_color":"#333333","preferences_border_color":"#333333","dismiss_border_color":"#333333","plan_name":"Basic"},"unpublicCookies":[],"rootLink":"https://apps.consentik.com/consentik","shopId":"28325052500","privacyPopup":{},"advancedSetting":{"admin_mode":false,"setup_mode":false,"reopen_conf":{"displayAs":"icon","btnText":"Manage cookie","position":"bottom-right","horizontalMargin":10,"verticalMargin":10,"btnColor":"#FFFFFF","btnBg":"#EA9F30","footerLinkEnable":false,"behavior":"banner"},"preferences_opts":{"show_table":false,"show_count":false,"type":"necessary","consent":["necessary"]}},"type":"BASIC","planId":37,"fromPlus":false,"fromAdvanced":false,"fromPremium":false,"isUnlimited":false,"isFree":true,"isPaid":false};
423        window.cstUseLiquid = window.otCKAppData.uId >= window.otCKAppData.lowestId;
424        if (typeof otCKAppData === 'object') {
425            otCKRootLink = otCKAppData.rootLink;
426            otCKSettings = otCKAppData.settings;
427        }
428        if (window.cstCookiesData != undefined) {
429            window.otCKAppData.cookies = window.cstCookiesData.cookies
430            window.otCKAppData.category = window.cstCookiesData.category
431        }
432        window.otCKRequestDataInfo = window.otCKRequestDataInfo ? window.otCKRequestDataInfo : {};
433    </script>
433
434
435
436<!-- BEGIN app snippet: consent-mode -->
436<script>
437    window.dataLayer = window.dataLayer || [];
438    const cstConsentMode = window.otCKAppData?.consentMode;
439    const canNextHandle = typeof window['otkConsent'] === 'undefined' || Object.values(window['otkConsent']).length === 0;
440    if (!!cstConsentMode && canNextHandle) {
441        const isEnable = cstConsentMode?.enable_gcm;
442        // gcm_v2 is a paid term. The API already writes enable_gcm=false here for shops without
443        // it; this keeps the default command and the gtag.js loads term-gated on their own too.
444        const hasGcmTerm = Array.isArray(window.otCKAppData?.terms) && window.otCKAppData.terms.includes('gcm_v2');
445        window['otkConsent'] = cstConsentMode;
446        const isUseTemplate = cstConsentMode.use_template && cstConsentMode.have_gtm
447        if (!isUseTemplate && isEnable && hasGcmTerm) {
448            _cst_gcm_initialize(cstConsentMode)
449        }
450    } else {
451        console.log('GCM ALREADY SET CUSTOM CUSTOM...');
452    }
453
454    // The 7 GCM storage types, all set to the same value. Used for the two
455    // Smart Geo defaults (global = Denied for an Opt-in world, region-scoped =
456    // Granted for the Opt-out/Notice exceptions).
457    function _cst_gcm_uniform_storage(value) {
458        return {
459            ad_user_data: value,
460            ad_personalization: value,
461            ad_storage: value,
462            analytics_storage: value,
463            functionality_storage: value,
464            personalization_storage: value,
465            security_storage: value
466        };
467    }
468
469    // Smart Geo owns the GCM default while it is on: the region's law decides,
470    // not the merchant's per-storage toggles (which the admin locks in that
471    // state). Returns null when Smart Geo is off so the merchant config is used.
472    function _cst_gcm_smart_geo_storage() {
473        const smartGeo = window.otCKAppData?.smartGeo;
474        if (smartGeo?.enabled !== true) return null;
475        const isGrantedByDefault = smartGeo.defaultMode === 'opt-out' || smartGeo.defaultMode === 'notice';
476        return _cst_gcm_uniform_storage(isGrantedByDefault ? "granted" : "denied");
477    }
478
479    function _cst_gcm_initialize(consentMode) {
480        const trackingIds = consentMode.gtm?.split(',');
481        window['otkConsent'] = window['otkConsent'] || consentMode;
482
483        /**
484         * @type {string[]}
485         */
486        const regions = window.otCKAppData.consentModeRegions;
487        const isShowAll = window.otCKAppData?.settings?.show_all === '1';
488        const userRegion = isShowAll ? {} : { region: regions };
489        window.cstUserRegion = userRegion;
490
491        const merchantStorage = {
492            // Marketing
493            ad_user_data: !consentMode.ad_user_data ? "granted" : "denied",
494            ad_personalization: !consentMode.ad_personalization ? "granted" : "denied",
495            ad_storage: !consentMode.ad_storage ? "granted" : "denied",
496            // analytics
497            analytics_storage: !consentMode.analytics_storage ? "granted" : "denied",
498            // preferences
499            functionality_storage: !consentMode.functionality_storage ? "granted" : "denied",
500            personalization_storage: !consentMode.personalization_storage ? "granted" : "denied",
501            security_storage: !consentMode.security_storage ? "granted" : "denied"
502        };
503        const defaultStorage = _cst_gcm_smart_geo_storage() ?? merchantStorage;
504
505        window.otCookiesGCM = {
506            url_passthrough: false,
507            ads_data_redaction: false,
508            config: Object.assign({}, defaultStorage, {
509                cst_default: 'granted',
510                wait_for_update: 500
511            }, userRegion),
512        };
513
514        window.dataLayer.push = function (...items) {
515            items.forEach((item) => {
516                const isValidDefault = otValidateDefault(item);
517                if (isValidDefault) {
518                    const firstIndex = item[0] ?? false;
519                    const secondIndex = item[1] ?? false;
520                    const thirdValue = item[2] ?? [];
521                    if (firstIndex &&
522                        firstIndex === "consent" &&
523                        secondIndex &&
524                        secondIndex === "update" && thirdValue && Object.keys(thirdValue).includes("cst_update")) {
525                        const {cst_update, ...dataUpdate} = thirdValue;
526                        item[2] = {...dataUpdate};
527                        Array.prototype.push.call(this, item);
528                    }
529                    if (firstIndex &&
530                        firstIndex === "consent" &&
531                        secondIndex &&
532                        secondIndex === "default" && thirdValue && Object.keys(thirdValue).includes("cst_default")) {
533                        const {cst_default, ...dataDefault} = thirdValue;
534                        item[2] = {...dataDefault};
535                        Array.prototype.push.call(this, item);
536                    } else {
537                        Array.prototype.push.call(this, item);
538                    }
539                }
540            });
541        };
542
543        function gtag() {
544            dataLayer.push(arguments);
545        }
546
547        function otValidateDefault(item) {
548            const firstIndex = item[0] ?? false;
549            const secondIndex = item[1] ?? false;
550            if (firstIndex && firstIndex === "consent" && secondIndex && secondIndex === "default") {
551                const thirdIndex = item[2] ?? {};
552                if (Object.values(thirdIndex).length) {
553                    const listKeys = Object.keys(thirdIndex);
554                    const listValue = Object.values(thirdIndex);
555                    const isOneGranted = listValue.some((item) => item === "granted");
556                    const isFromConsentik = listKeys.includes("cst_default");
557                    return !isOneGranted || (isOneGranted && isFromConsentik);
558                } else {
559                    return true;
560                }
561            } else if (
562                firstIndex &&
563                firstIndex === "consent" &&
564                secondIndex &&
565                secondIndex === "update"
566            ) {
567                const listKeys = Object.keys(item[2]);
568                return listKeys.includes("cst_update");
569            } else {
570                return true;
571            }
572        }
573
574        gtag("consent", "default", window.otCookiesGCM.config);
575        gtag("set", "developer_id.dNjA1Yz", true);
576
577        // ── Smart Geo-targeting: region-scoped GCM default ──────────────────
578        // The global default above is Denied for all 7 storage types whenever
579        // Smart Geo is on (_cst_gcm_smart_geo_storage) — the law of the visitor's
580        // region decides, not the merchant's per-storage toggles. This second
581        // `consent default` grants the exception regions (opt-out ∪ notice) —
582        // GCM applies the most specific matching command per visitor, so this
583        // overrides the global default correctly without ever needing to
584        // list the ~180 opt-in regions. No-op when Smart Geo is off/undefined
585        // or there are no exception regions.
586        const smartGeo = window.otCKAppData?.smartGeo;
587        if (smartGeo?.enabled === true && smartGeo.defaultMode === 'opt-in') {
588            const exceptionRegions = []
589                .concat(smartGeo.regionsByMode?.['opt-out'] || [])
590                .concat(smartGeo.regionsByMode?.['notice'] || []);
591            if (exceptionRegions.length > 0) {
592                gtag("consent", "default", Object.assign(_cst_gcm_uniform_storage("granted"), {
593                    cst_default: "granted",
594                    wait_for_update: 500,
595                    region: exceptionRegions
596                }));
597            }
598        }
599
600        addEventListener("DOMContentLoaded", function () {
601            let savedCookie = _getCookie(window.otCurrentCookieName);
602            let blockedMarketing = true;
603            if (savedCookie) {
604                savedCookie = JSON.parse(savedCookie);
605                const acceptedCat = savedCookie[0].categoriesSelected;
606                blockedMarketing = !acceptedCat.includes("marketing");
607                window.otCookiesGCM.config = {
608                    ad_user_data: acceptedCat.includes("marketing")
609                        ? "granted"
610                        : "denied",
611                    ad_personalization: acceptedCat.includes("marketing")
612                        ? "granted"
613                        : "denied",
614                    ad_storage: acceptedCat.includes("marketing")
615                        ? "granted"
616                        : "denied",
617                    analytics_storage: acceptedCat.includes("analytics")
618                        ? "granted"
619                        : "denied",
620                    functionality_storage: acceptedCat.includes("necessary")
621                        ? "granted"
622                        : "denied",
623                    personalization_storage: acceptedCat.includes("preferences")
624                        ? "granted"
625                        : "denied",
626                    security_storage: acceptedCat.includes("necessary")
627                        ? "granted"
628                        : "denied"
629                };
630                gtag("consent", "update", {...window.otCookiesGCM.config, cst_update: "granted"});
631            }
632            window.otCookiesGCM.ads_data_redaction =
633                window.otkConsent.ads_data_redaction && blockedMarketing;
634            window.otCookiesGCM.url_passthrough = window.otkConsent.url_passthrough;
635            window.otCookiesGCM.ads_data_redaction &&
636            gtag(
637                "set",
638                "ads_data_redaction",
639                window.otCookiesGCM.ads_data_redaction
640            );
641            window.otCookiesGCM.url_passthrough &&
642            gtag("set", "url_passthrough", window.otCookiesGCM.url_passthrough);
643        });
644
645        function _getCookie(prefix) {
646            if (!prefix) return null;
647            const cookies = document.cookie.split(";");
648            for (let i = 0; i < cookies.length; i++) {
649                const cookie = cookies[i].trim();
650                const eqIndex = cookie.indexOf("=");
651                const name = decodeURIComponent(cookie.substring(0, eqIndex));
652                const value = decodeURIComponent(cookie.substring(eqIndex + 1));
653                if (name.startsWith(prefix)) {
654                    return value;
655                }
656            }
657            return null;
658        }
659
660        if (trackingIds?.length > 0) {
661            if (trackingIds.some(id => id.trim().startsWith('G-') || id.trim().startsWith('AW-'))) {
662                window.dataLayer = window.dataLayer || [];
663                window.gtag = window.gtag || function () {
664                    dataLayer.push(arguments);
665                };
666                gtag('js', new Date());
667            }
668            trackingIds.forEach(key => {
669                const ID = key.trim();
670                if (!ID) return;
671                if (ID.startsWith('GTM-')) {
672                    const script = document.createElement('script');
673                    script.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;
673j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','${ID}');`;
674                    document.head.append(script);
675                } else if (ID.startsWith('G-')) {
676                    const script = document.createElement('script');
677                    script.async = true;
678                    script.src = `https://www.googletagmanager.com/gtag/js?id=${ID}`;
679                    document.head.append(script);
680                    gtag('config', ID);
681                } else if (ID.startsWith('ca-pub-')) {
682                    const script = document.createElement("script");
683                    script.async = true;
684                    script.src = `https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${ID}`;
685                    script.setAttribute('crossorigin', 'anonymous');
686                    document.head.append(script);
687                } else if (ID.startsWith('AW-')) {
688                    const script = document.createElement("script");
689                    script.async = true;
690                    script.src = `https://www.googletagmanager.com/gtag/js?id=${ID}`;
691                    document.head.append(script);
692                    gtag('config', ID);
693                }
694            });
695        }
696    }
697</script>
697
698<!-- END app snippet -->
699<!-- BEGIN app snippet: UET -->
699<script>
700    const cstAdvanced = window.otCKAppData?.advancedSetting;
701    const cstUetEnabled = cstAdvanced?.enable_uet === '1';
702    const cstMicrosoftConsent = cstAdvanced?.microsoft_consent;
703
704    if (cstUetEnabled && window.cstUseLiquid && !!cstMicrosoftConsent) {
705        if (cstMicrosoftConsent.hasUET && !!cstMicrosoftConsent.uetId) {
706            !function (e, a, n, t, o) {
707                var c, r, d;
708                e[o] = e[o] || [], c = function () {
709                    var a = {ti: Number(cstMicrosoftConsent.uetId), enableAutoSpaTracking: !0};
710                    a.q = e[o], e[o] = new UET(a), e[o].push("pageLoad")
711                }, (r = a.createElement(n)).src = "//bat.bing.com/bat.js", r.async = 1, r.onload = r.onreadystatechange = function () {
712                    var e = this.readyState;
713                    e && "loaded" !== e && "complete" !== e || (c(), r.onload = r.onreadystatechange = null)
714                }, (d = a.getElementsByTagName(n)[0]).parentNode.insertBefore(r, d)
715            }(window, document, "script", 0, "uetq");
716
717        }
718
719        if (cstMicrosoftConsent.hasClarity && !!cstMicrosoftConsent.clarityId) {
720            (function (c, l, a, r, i, t, y) {
721                c[a] = c[a] || function () {
722                    (c[a].q = c[a].q || []).push(arguments)
723                };
724                t = l.createElement(r);
725                t.async = 1;
726                t.src = "https://www.clarity.ms/tag/" + i;
727                y = l.getElementsByTagName(r)[0];
728                y.parentNode.insertBefore(t, y);
729            })(window, document, "clarity", "script", `${cstMicrosoftConsent.clarityId}`);
730        }
731        /**
732         * UET Function
733         */
734        window.uetq = window.uetq || [];
735
736        function __cstUetHasCookie(name, values) {
737            return document.cookie.split(";").some((cookie) => {
738                cookie = cookie.trim();
739                return (
740                    cookie.startsWith(name) && values.some((v) => cookie.includes(v))
741                );
742            });
743        }
744
745        function __cstUetSetCookie(name, value, days) {
746            let expires = "";
747            if (typeof value !== "string") {
748                value = JSON.stringify(value);
749            }
750            let expiredDate = window.otCookiesExpiredDate;
751            if (days) {
752                expiredDate = days;
753            }
754            let date = new Date();
755            date.setTime(date.getTime() + expiredDate * 24 * 60 * 60 * 1000);
756            expires = "; expires=" + date.toUTCString();
757            document.cookie = name + "=" + value + expires + "; path=/";
758        }
759
760        // Smart Geo: Opt-out/Notice regions may run ads before consent — their
761        // law doesn't require prior permission, so Microsoft consent starts
762        // Granted there and only flips to Denied when the visitor opts out.
763        // Mode is undefined while Smart Geo is off (or before the region
764        // resolves), which keeps the previous denied-by-default behaviour.
765        function __cstUetDefaultGranted() {
766            const cstMode = window.cstConsentMode;
767            return cstMode === 'opt-out' || cstMode === 'notice';
768        }
769
770        // Both handlers run twice: once at DOMContentLoaded (fail-safe, before
771        // the region is known) and again once Smart Geo resolves. The consent
772        // default must only ever be declared once — the second pass upgrades it
773        // with an update instead.
774        let __cstUetDefaultSent = false;
775        let __cstClarityDefaultSent = false;
776
777        function _otkBingConsent() {
778            if (typeof window.uetq !== 'undefined') {
779
780                const isAccepted = __cstUetHasCookie(window.otCurrentCookieName, [
781                    "marketing",
782                    "analytics"
783                ]);
784                const isGranted = isAccepted || __cstUetDefaultGranted();
785                __cstUetSetCookie("_uetmsdns", isGranted ? 0 : 1);
786                if (!__cstUetDefaultSent) {
787                    __cstUetDefaultSent = true;
788                    window.uetq.push("consent", "default", {
789                        ad_storage: __cstUetDefaultGranted() ? "granted" : "denied"
790                    });
791                }
792                if (isGranted) {
793                    window.uetq.push("consent", "update", {
794                        ad_storage: "granted"
795                    });
796                }
797            }
798        }
799
800        function _otkClarityConsent() {
801
802            if (typeof window.clarity !== 'undefined') {
803                const isAccepted = __cstUetHasCookie(window.otCurrentCookieName, [
804                    "marketing",
805                    "analytics"
806                ]);
807                const isGranted = isAccepted || __cstUetDefaultGranted();
808                __cstUetSetCookie("_claritymsdns", isGranted ? 0 : 1);
809                if (!__cstClarityDefaultSent) {
810                    __cstClarityDefaultSent = true;
811                    const cstClarityDefault = __cstUetDefaultGranted() ? "granted" : "denied";
812                    window.clarity("consentv2", {
813                        ad_Storage: cstClarityDefault,
814                        analytics_Storage: cstClarityDefault
815                    });
816                }
817                if (isGranted) {
818                    window.clarity("consentv2", {
819                        ad_Storage: "granted",
820                        analytics_Storage: "granted"
821                    });
822                }
823            }
824        }
825
826        function __cstApplyMicrosoftConsent() {
827            _otkBingConsent()
828            _otkClarityConsent()
829        }
830
831        document.addEventListener("DOMContentLoaded", () => {
832            // Apply the safe default immediately so nothing is measured with no
833            // consent state at all, then re-apply once Smart Geo knows the region.
834            __cstApplyMicrosoftConsent()
835            const cstSmartGeo = window.otCKAppData?.smartGeo;
836            if (cstSmartGeo?.enabled === true && typeof window._cstResolveConsentMode === 'function') {
837                window._cstResolveConsentMode().then(__cstApplyMicrosoftConsent, __cstApplyMicrosoftConsent);
838            }
839        })
840    }
841
842</script>
842<!-- END app snippet -->
843
844
845
846<script>
847  window.otckBannerVersion = "legacy";
848  
849</script>
849
850
851
852  
853  
853<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a10ec0-6edf-7145-a6af-dc56038cd276/consentik-ex-202610060807/assets/jQueryOT.min.js" defer></script>
853
854  
855    <!-- BEGIN app snippet: source -->
856
857<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a10ec0-6edf-7145-a6af-dc56038cd276/consentik-ex-202610060807/assets/cst-styles.js" defer></script>
vendor: 1 bytes, line 857
857
858<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a10ec0-6edf-7145-a6af-dc56038cd276/consentik-ex-202610060807/assets/cst.js" defer></script>
858
859
860<style id="cst-style-main"></style>
861
862<style id="cst-style-layout"></style>
863
864<script>
865  function otLoadSource(fileName) {
866        otLoadScript(otGetResouceFile(fileName))
867    }
868
869    function otLoadScript(url, callback = () => {}) {
870      var script = document.createElement('script');
871      script.type = 'text/javascript';
872      script.src = url;
873      script.defer = true;
874
875      if (script.readyState) {  // IE
876          script.onreadystatechange = function() {
877              if (script.readyState == 'loaded' || script.readyState == 'complete') {
878                  script.onreadystatechange = null;
879                  callback();
880              }
881          };
882      } else {  // Other browsers
883          script.onload = function() {
884              callback();
885          };
886      }
887
888      document.getElementsByTagName('head')[0].appendChild(script);
889    }
890    // Stylesheets ride along inside the JS bundles (window.otStyles) instead of
891    // being fetched as .css assets. Every caller passes a slotId so the rules land
892    // in a fixed spot in the document; appending to <body> is only a fallback for a
893    // stale snippet, and it puts the rules after #ot-custom-css.
894    function otInjectStyle(key, slotId) {
895        const css = (window.otStyles || {})[key];
896        if (!css) return;
897
898        if (slotId) {
899          const slot = document.getElementById(slotId);
900          if (slot) {
901            slot.textContent = css;
902            return;
903          }
904        }
905
906        const style = document.createElement("style");
907        style.textContent = css;
908        document.getElementsByTagName("body")[0].appendChild(style);
909    }
910
911    function otGetResouceFile(fileName) {
912      const listFile = [{
913        key: 'full',
914        url: "https://cdn.shopify.com/extensions/01a10ec0-6edf-7145-a6af-dc56038cd276/consentik-ex-202610060807/assets/full.js",
915      },{
916        key: 'corner',
917        url: "https://cdn.shopify.com/extensions/01a10ec0-6edf-7145-a6af-dc56038cd276/consentik-ex-202610060807/assets/corner.js",
918      },{
919        key: 'sidebar',
920        url: "https://cdn.shopify.com/extensions/01a10ec0-6edf-7145-a6af-dc56038cd276/consentik-ex-202610060807/assets/sidebar.js",
921      },{
922        key: 'center',
923        url: "https://cdn.shopify.com/extensions/01a10ec0-6edf-7145-a6af-dc56038cd276/consentik-ex-202610060807/assets/center.js",
924      },
925      {
926        key: 'custom',
927        url: "https://cdn.shopify.com/extensions/01a10ec0-6edf-7145-a6af-dc56038cd276/consentik-ex-202610060807/assets/custom.js",
928      },
929      {
930        key: 'dataRequest',
931        url: "https://cdn.shopify.com/extensions/01a10ec0-6edf-7145-a6af-dc56038cd276/consentik-ex-202610060807/assets/dataRequest.js",
932      },
933    ]
934    const fileURL = listFile.find(item => item.key === fileName)
935    return fileURL.url
936    }
937</script>
937
938<!-- END app snippet -->
939  
940
941
942
943
944
945
946    
946<script>
947        window.otIsSetupMode = false
948    </script>
948
949
950
951
952
953
954
955
956<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-product-reviews/blocks/settings/eb7dfd7d-db44-4334-bc49-c893b51b36cf -->
957
958
959<script type="text/javascript">
960  (function e(){var e=document.createElement("script");
961  e.type="text/javascript",e.async=true,
962  e.src="//staticw2.yotpo.com//widget.js?lang=en";
963  var t=document.getElementsByTagName("script")[0];
964  t.parentNode.insertBefore(e,t)})();
965</script>
965
966
967
968
969  
970<!-- END app block --><!-- BEGIN app block: shopify://apps/paywhirl-subscriptions/blocks/paywhirl-customer-portal/41e95d60-82cf-46e8-84de-618d7e4c37b7 -->
971
972
973
974<style>
975@keyframes paywhirl-customer-portal-loader {
976  0% { -ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); }
977  100% { -ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg); }
978}
979
980#paywhirl-customer-portal-frame {
981  width: 100%;
982  height: 0;
983  border: none;
984}
985
986#paywhirl-customer-portal-loader {
987  margin-top: 100px;
988  text-align: center;
989}
990
991html.paywhirl-customer-portal main > :not(#paywhirl-customer-portal-wrap) {
992  display: none !important;
993}
994</style>
995
996<script type="text/javascript">
997(function() {
998  const locale = window.Shopify && window.Shopify.locale ? window.Shopify.locale : 'en';
999
1000  const showSubscriptionsLink = false;
1001  const showCustomerLoginNote = false;
1002  const showAddressChangeNote = false;
1003
1004  addEventListener('DOMContentLoaded', () => {
1005    const accountPath = '/account'
1006    if (showSubscriptionsLink && location.pathname === accountPath) {
1007      addSubscriptionsUrl()
1008    }
1009
1010    const addressesPath = '/account/addresses'
1011    if (showAddressChangeNote && location.pathname === addressesPath) {
1012      addAddressChangeNote()
1013    }
1014
1015    const accountLoginPath = 'https://rubyshappyfarm.com/customer_authentication/redirect?locale=en&region_country=US'
1016    if (showCustomerLoginNote && location.pathname === accountLoginPath) {
1017      addCustomerLoginNote()
1018    }
1019  }, { once: true });
1020
1021  const portalPage = (() => {
1022    const match = location.search.match(/[\?&]pw-page=([^&]+)/);
1023    return match ? decodeURIComponent(match[1]) : null;
1024  })()
1025
1026  if (!portalPage) {
1027    return;
1028  }
1029
1030  document.querySelector('html').classList.add('paywhirl-customer-portal');
1031
1032  function addSubscriptionsUrl() {
1033    const addressesLinkElements = document.querySelectorAll('[href="/account/addresses"]');
1034
1035    Array.from(addressesLinkElements).forEach((addressesLinkElement) => {
1036      let targetElement = addressesLinkElement;
1037      let snippet = new DocumentFragment();
1038
1039      const subscriptionLinkElement = document.createElement('A');
1040      const linkClasses = addressesLinkElement.getAttribute('class');
1041      subscriptionLinkElement.innerHTML = t('general:account-subscriptions-link', 'My Subscriptions');
1042      subscriptionLinkElement.setAttribute('href', '/account?pw-page=%2F');
1043      linkClasses && subscriptionLinkElement.setAttribute('class', linkClasses);
1044
1045      if (!targetElement.nextElementSibling && !targetElement.previousElementSibling) {
1046          targetElement = addressesLinkElement.parentElement;
1047
1048          const container = document.createElement(targetElement.tagName);
1049          const containerClasses = targetElement.getAttribute('class');
1050          containerClasses && container.setAttribute('class', containerClasses);
1051
1052          snippet = container;
1053      }
1054
1055      snippet.appendChild(subscriptionLinkElement);
1056
1057      targetElement.after(snippet)
1058
1059      const targetDisplayStyle = window.getComputedStyle(targetElement).display;
1060      if (['inline', 'inline-block'].includes(targetDisplayStyle)) {
1061          targetElement.after(document.createElement('BR'))
1062      }
1063    });
1064  }
1065
1066  function addAddressChangeNote() {
1067    const addressesPath = '/account/addresses'
1068    const forms = document.querySelectorAll('form[action^="' + addressesPath + '"]')
1069
1070    Array.from(forms).forEach((form) => {
1071      const submitButton = form.querySelector('[type="submit"]')
1072      const infoText = document.createElement('P')
1073      const subscriptionsLink = t('general:account-subscriptions-link', 'my subscriptions').toLowerCase()
1074      const text = t('general:default-address-change-note', "Changing your default address does not affect existing subscriptions. If you'd like to change your delivery address for recurring orders, please visit the _SUBSCRIPTIONS_LINK_ page")
1075      infoText.innerHTML = text.replace('_SUBSCRIPTIONS_LINK_', '<a href="/account?pw-page=%2F">' + subscriptionsLink + '</a>')
1076
1077      if (submitButton) {
1078        submitButton.parentElement.insertBefore(infoText, submitButton)
1079        return
1080      }
1081
1082      const defaultAddressInput = form.querySelector('input[name="address[default]"]')
1083      if (defaultAddressInput) {
1084        defaultAddressInput.parentElement.insertBefore(infoText, defaultAddressInput)
1085      }
1086    })
1087  }
1088
1089  function addCustomerLoginNote() {
1090    const accountLoginPath = 'https://rubyshappyfarm.com/customer_authentication/redirect?locale=en&region_country=US'
1091    const forms = document.querySelectorAll('form[action^="' + accountLoginPath + '"]')
1092
1093    Array.from(forms).forEach((form) => {
1094      const textNote = document.createElement('P')
1095      textNote.innerHTML = t('general:customer-login-page-note', 'In order to access your subscriptions, create an account with the same email address')
1096      form.append(textNote)
1097    })
1098  }
1099
1100  function t(key, defaultValue) {
1101    const settings = null;
1102
1103    const defaultKey = `default:${key}`;
1104    const localeKey = `${locale}:${key}`;
1105    const translations = settings && settings.translations ? settings.translations : {};
1106    const defaultTranslation = translations[defaultKey] ? translations[defaultKey] : defaultValue;
1107
1108    return translations[localeKey] ? translations[localeKey] : defaultTranslation;
1109  }
1110
1111  const template = `
1112    <div id="paywhirl-customer-portal-wrap" class="page-width">
1113      <div id="paywhirl-customer-portal-loader">
1114<svg
1115  aria-hidden="true"
1116  focusable="false"
1117  role="presentation"
1118  style="animation: paywhirl-customer-portal-loader 500ms infinite linear;display:inline-block;width:20px;height:20px;vertical-align:middle;fill:currentColor;"
1119  viewBox="0 0 20 20"
1120>
1121  <path d="M7.229 1.173a9.25 9.25 0 1 0 11.655 11.412 1.25 1.25 0 1 0-2.4-.698 6.75 6.75 0 1 1-8.506-8.329 1.25 1.25 0 1 0-.75-2.385z" fill="#919EAB"/>
1122</svg>
1123</div>
1124      <iframe id="paywhirl-customer-portal-frame" src="/a/paywhirl${portalPage}?locale=${locale}&use_built_in_stylesheets=1"></iframe>
1125    </div>
1126  `;
1127
1128  addEventListener('load', () => {
1129    const containerSelector = "main";
1130    const container = document.querySelector(containerSelector);
1131
1132    if (!container) {
1133      return console.log(`The container element '${containerSelector}' for the PayWhirl Customer Portal couldn't be found. Please review the corresponding setting in Theme settings -> App embeds or contact our support.`);
1134    }
1135
1136    container.innerHTML = template;
1137  })
1138})()
1139</script>
1139
1140
1141<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154  
1154<script async src="https://static.klaviyo.com/onsite/js/UD2RpK/klaviyo.js?company_id=UD2RpK"></script>
1154
1155  
1155<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
1155
1156
1157  
1158    
1158<script id="viewed_product">
1159      if (item == null) {
1160        var _learnq = _learnq || [];
1161
1162        var MetafieldReviews = null
1163        var MetafieldYotpoRating = null
1164        var MetafieldYotpoCount = null
1165        var MetafieldLooxRating = null
1166        var MetafieldLooxCount = null
1167        var okendoProduct = null
1168        var okendoProductReviewCount = null
1169        var okendoProductReviewAverageValue = null
1170        try {
1171          // The following fields are used for Customer Hub recently viewed in order to add reviews.
1172          // This information is not part of __kla_viewed. Instead, it is part of __kla_viewed_reviewed_items
1173          MetafieldReviews = {};
1174          MetafieldYotpoRating = null
1175          MetafieldYotpoCount = null
1176          MetafieldLooxRating = null
1177          MetafieldLooxCount = null
1178
1179          okendoProduct = null
1180          // If the okendo metafield is not legacy, it will error, which then requires the new json formatted data
1181          if (okendoProduct && 'error' in okendoProduct) {
1182            okendoProduct = null
1183          }
1184          okendoProductReviewCount = okendoProduct ? okendoProduct.reviewCount : null
1185          okendoProductReviewAverageValue = okendoProduct ? okendoProduct.reviewAverageValue : null
1186        } catch (error) {
1187          console.error('Error in Klaviyo onsite reviews tracking:', error);
1188        }
1189
1190        var item = {
1191          Name: "Our Crops",
1192          ProductID: 6580320403540,
1193          Categories: ["Customer Favorites"],
1194          ImageURL: "https://rubyshappyfarm.com/cdn/shop/files/IMG_5210_grande.jpg?v=1715204565",
1195          URL: "https://rubyshappyfarm.com/products/mothers-day-gift-box",
1196          Brand: "Ruby's Happy Farm",
1197          Price: "$15.00",
1198          Value: "15.00",
1199          CompareAtPrice: "$0.00"
1200        };
1201        _learnq.push(['track', 'Viewed Product', item]);
1202        _learnq.push(['trackViewedItem', {
1203          Title: item.Name,
1204          ItemId: item.ProductID,
1205          Categories: item.Categories,
1206          ImageUrl: item.ImageURL,
1207          Url: item.URL,
1208          Metadata: {
1209            Brand: item.Brand,
1210            Price: item.Price,
1211            Value: item.Value,
1212            CompareAtPrice: item.CompareAtPrice
1213          },
1214          metafields:{
1215            reviews: MetafieldReviews,
1216            yotpo:{
1217              rating: MetafieldYotpoRating,
1218              count: MetafieldYotpoCount,
1219            },
1220            loox:{
1221              rating: MetafieldLooxRating,
1222              count: MetafieldLooxCount,
1223            },
1224            okendo: {
1225              rating: okendoProductReviewAverageValue,
1226              count: okendoProductReviewCount,
1227            }
1228          }
1229        }]);
1230      }
1231    </script>
1231
1232  
1233
1234
1235
1236
1237  
1237<script>
1238    window.klaviyoReviewsProductDesignMode = false
1239  </script>
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249<!-- END app block -->
1249<script src="https://cdn.shopify.com/extensions/01a0f613-dbf9-71ba-a454-02cc29339e7c/TMS-Prod-v-2d81fbf-60-1/assets/tms-translator.min.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1249
1249
1250<script src="https://cdn.shopify.com/extensions/01a0ff95-2ba4-7fd3-a350-d1bdcce7c062/quick-announcement-bar-prod-247/assets/quickannouncementbar.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1250
1250
1251<script src="https://cdn.shopify.com/extensions/01a03210-0801-72b8-8225-399e22b4d893/honeycomb-upsell-funnels-245/assets/honeycomb-widget.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1251
1251
1252<script src="https://cdn.shopify.com/extensions/01a0aa7a-f99f-7ab6-a36e-9673fd70d8d4/omnisend-57/assets/omnisend-in-shop.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1252
1252
1253<script src="https://cdn.shopify.com/extensions/01a0ff94-d802-7e99-a178-ad0e7e734541/free-shipping-bar-272/assets/freeshippingbar.js" type="text/javascript" defer="defer"></script>
1253
1254<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1255<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: 28325052500,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};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 1255
1255
1256<script>
1257  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1258</script>
vendor: 1 bytes, line 1258
1258
1259<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}
1259).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: 28325052500,storefrontBaseUrl: "https://rubyshappyfarm.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://rubyshappyfarm.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"714768468","configuration":"{\"shop\":\"rubys-happy-farm.myshopify.com\",\"cookie_duration\":\"604800\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a2e7513c3708f34b1f617d7ce88f9697","type":"APP","apiClientId":2744533,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"251068500","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-0ZHB5B40F0\\\"],\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-0ZHB5B40F0\\\"}],\\\"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":"51871828","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"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":"Ruby's Happy Farm","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"rubys-happy-farm.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/rubyshappyfarm.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":15.0,"currencyCode":"USD"},"product":{"title":"Our Crops","vendor":"Ruby's Happy Farm","id":"6580320403540","untranslatedTitle":"Our Crops","url":"\/products\/mothers-day-gift-box","type":""},"id":"39328616972372","image":{"src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565"},"sku":"","title":"Default Title","untranslatedTitle":"Default Title"}],"products":[{"id":"6580320403540","handle":"mothers-day-gift-box","isCollective":null,"title":"Our Crops","type":null,"untranslatedTitle":"Our Crops","url":"\/products\/mothers-day-gift-box","vendor":"Ruby's Happy Farm","remoteShopId":null,"variants":[{"id":"39328616972372","image":{"src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565"},"price":{"amount":15.0,"currencyCode":"USD"},"sku":"","title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://rubyshappyfarm.com/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"125456875604","themeStoreId":"1536","themePublished":"true","eventMetadataId":"44ea646e-37ec-4cff-9fde-58bc0afdca18","pageType":"product","resourceId":"6580320403540","shopId":"28325052500","
1259storefrontBaseUrl":"https:\/\/rubyshappyfarm.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":15.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Our Crops\",\"vendor\":\"Ruby's Happy Farm\",\"id\":\"6580320403540\",\"untranslatedTitle\":\"Our Crops\",\"url\":\"\/products\/mothers-day-gift-box\",\"type\":\"\"},\"id\":\"39328616972372\",\"image\":{\"src\":\"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565\"},\"sku\":\"\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});})();</script>
1259<script>
1260  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1261  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1262  window.ShopifyAnalytics.meta.currency = 'USD';
1263  var meta = {"product":{"id":6580320403540,"gid":"gid:\/\/shopify\/Product\/6580320403540","vendor":"Ruby's Happy Farm","type":"","handle":"mothers-day-gift-box","variants":[{"id":39328616972372,"price":1500,"name":"Our Crops","public_title":null,"sku":""}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":6580320403540,"requestId":"50dae2d9-a0aa-4754-8f79-f089058506fd-1791345072"}};
1264  for (var attr in meta) {
1265    window.ShopifyAnalytics.meta[attr] = meta[attr];
1266  }
1267</script>
vendor: 1 bytes, line 1267
1267
1268<script class="analytics">
1269  (function () {
1270    var customDocumentWrite = function(content) {
1271      var jquery = null;
1272
1273      if (window.jQuery) {
1274        jquery = window.jQuery;
1275      } else if (window.Checkout && window.Checkout.$) {
1276        jquery = window.Checkout.$;
1277      }
1278
1279      if (jquery) {
1280        jquery('body').append(content);
1281      }
1282    };
1283
1284    var hasLoggedConversion = function(token) {
1285      if (token) {
1286        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1287      }
1288      return false;
1289    }
1290
1291    var setCookieIfConversion = function(token) {
1292      if (token) {
1293        var twoMonthsFromNow = new Date(Date.now());
1294        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1295
1296        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1297      }
1298    }
1299
1300    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1301    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1302    if (trekkie.integrations) {
1303      return;
1304    }
1305    trekkie.methods = [
1306      'identify',
1307      'page',
1308      'ready',
1309      'track',
1310      'trackForm',
1311      'trackLink'
1312    ];
1313    trekkie.factory = function(method) {
1314      return function() {
1315        var args = Array.prototype.slice.call(arguments);
1316        args.unshift(method);
1317        trekkie.push(args);
1318        if (method == 'track' || method == 'page') {
1319          var pageUrl;
1320          try {
1321            pageUrl = window.location.href;
1322          } catch (e) {}
1323          var pageReferrer;
1324          try {
1325            pageReferrer = document.referrer;
1326          } catch (e) {}
1327          try {
1328            if (window.__TREKKIE_SHIM_QUEUE == null) {
1329              window.__TREKKIE_SHIM_QUEUE = [];
1330            }
1331            window.__TREKKIE_SHIM_QUEUE.push({
1332              from: 'trekkie-stub',
1333              method: method,
1334              args: args.slice(1),
1335              pageContext: {
1336                url: pageUrl,
1337                referrer: pageReferrer
1338              }
1339            });
1340          } catch (e) {
1341            // no-op
1342          }
1343        }
1344        return trekkie;
1345      };
1346    };
1347    for (var i = 0; i < trekkie.methods.length; i++) {
1348      var key = trekkie.methods[i];
1349      trekkie[key] = trekkie.factory(key);
1350    }
1351    trekkie.load = function(config) {
1352      trekkie.config = config || {};
1353      trekkie.config.initialDocumentCookie = document.cookie;
1354      var first = document.getElementsByTagName('script')[0];
1355var script = document.createElement('script');
1356script.type = 'text/javascript';
1357script.onerror = function(e) {
1358  var scriptFallback = document.createElement('script');
1359  scriptFallback.type = 'text/javascript';
1360  scriptFallback.onerror = function(error) {
1361          var Monorail = {
1362      produce: function produce(monorailDomain, schemaId, payload) {
1363        var currentMs = new Date().getTime();
1364        var event = {
1365          schema_id: schemaId,
1366          payload: payload,
1367          metadata: {
1368            event_created_at_ms: currentMs,
1369            event_sent_at_ms: currentMs
1370          }
1371        };
1372        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1373      },
1374      sendRequest: function sendRequest(endpointUrl, payload) {
1375        // Try the sendBeacon API
1376        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1377          var blobData = new window.Blob([payload], {
1378            type: 'text/plain'
1379          });
1380
1381          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1382            return true;
1383          } // sendBeacon was not successful
1384
1385        } // XHR beacon
1386
1387        var xhr = new XMLHttpRequest();
1388
1389        try {
1390          xhr.open('POST', endpointUrl);
1391          xhr.setRequestHeader('Content-Type', 'text/plain');
1392          xhr.send(payload);
1393        } catch (e) {
1394          console.log(e);
1395        }
1396
1397        return false;
1398      },
1399      isIos12: function isIos12() {
1400        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1401      }
1402    };
1403    Monorail.produce('monorail-edge.shopifysvc.com',
1404      'trekkie_storefront_load_errors/1.1',
1405      {shop_id: 28325052500,
1406      theme_id: 125456875604,
1407      app_name: "storefront",
1408      context_url: window.location.href,
1409      source_url: "//rubyshappyfarm.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
1410
1411  };
1412  scriptFallback.async = true;
1413  scriptFallback.src = '//rubyshappyfarm.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1414  first.parentNode.insertBefore(scriptFallback, first);
1415};
1416script.async = true;
1417script.src = '//rubyshappyfarm.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1418first.parentNode.insertBefore(script, first);
1419
1420    };
1421    trekkie.load(
1422      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":28325052500,"isMerchantRequest":null,"themeId":125456875604,"themeCityHash":"275007462820272369","contentLanguage":"en","currency":"USD","eventMetadataId":"44ea646e-37ec-4cff-9fde-58bc0afdca18"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1423    );
1424
1425    var loaded = false;
1426    trekkie.ready(function() {
1427      if (loaded) return;
1428      loaded = true;
1429
1430      window.ShopifyAnalytics.lib = window.trekkie;
1431
1432      var originalDocumentWrite = document.write;
1433      document.write = customDocumentWrite;
1434      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1435      document.write = originalDocumentWrite;
1436
1437      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1438      var token = match? match[1]: undefined;
1439      if (!hasLoggedConversion(token)) {
1440        setCookieIfConversion(token);
1441        window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":39328616972372,"productId":6580320403540,"productGid":"gid:\/\/shopify\/Product\/6580320403540","name":"Our Crops","price":"15.00","sku":"","brand":"Ruby's Happy Farm","variant":null,"category":"","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true});
1442      }
1443    });
1444
1445    window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":6580320403540,"requestId":"50dae2d9-a0aa-4754-8f79-f089058506fd-1791345072","shopifyEmitted":true});
1446
1447    var eventsListenerScript = document.createElement('script');
1448    eventsListenerScript.async = true;
1449    eventsListenerScript.src = "//rubyshappyfarm.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1450    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1451})();</script>
1451
1452  
1452<script>
1453  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
1454    window.ga = function ga() {
1455      (window.ga.q = window.ga.q || []).push(arguments);
1456      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
1457        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
1458      }
1459      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
1460    };
1461    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
1462      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
1463    }
1464  }
1465</script>
vendor: 1 bytes, line 1465
1465
1466<script
1467  defer
1468  src="https://rubyshappyfarm.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js"
1469  data-application="storefront-renderer"
1470  data-shop-id="28325052500"
1471  data-render-region="gcp-us-central1"
1472  data-page-type="product"
1473  data-theme-instance-id="125456875604"
1474  data-theme-name="Influence"
1475  data-theme-version="3.1.0"
1476  data-monorail-region="shop_domain"
1477  data-resource-timing-sampling-rate="10"
1478  data-shs="true"
1479  data-shs-beacon="true"
1480  data-shs-export-with-fetch="true"
1481  data-shs-logs-sample-rate="1"
1482  data-shs-beacon-endpoint="https://rubyshappyfarm.com/api/collect"
1483></script>
1483
1484<meta name="shopify-y" content="e6746d51-b1d2-4360-8a41-b1c2435e4e8f" data-expiration="1822902672000"><meta name="shopify-s" content="4666eef2-863a-44a1-bbc1-26a729938a31" data-expiration="1791346872000"><meta name="new-cookie-storage-activated" content="t">
1485</head>
1486
1487  <body class="template-product bg-page text-base font-body max-w-full overflow-x-hidden !h-auto">
1488    <link href="//rubyshappyfarm.com/cdn/shop/t/11/assets/theme.css?v=67245511668098347111710880012" rel="stylesheet" type="text/css" media="all" />
1489    <link href="//rubyshappyfarm.com/cdn/shop/t/11/assets/custom.css?v=173845950252281203721710880012" rel="stylesheet" type="text/css" media="all" />
1490<!-- BEGIN sections: header-group -->
1491<div id="shopify-section-sections--15217096327252__header" class="shopify-section shopify-section-group-header-group relative">
1492
1493<safe-load-scripts>
1494  
1494<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-header-main.min.js?v=46994719122351374721710880011" defer="defer" type="module"></script>
1494
1495</safe-load-scripts>
1496
1497<header-main data-template-name="product">
1498  <header role="banner" data-section-id="sections--15217096327252__header" data-aid="header-section" style="grid-template-areas:'logo nav cta'; grid-template-columns:auto 1fr auto;" class="grid py-3 px-4 lg:px-5 xl:px-6 lg:py-0 md:gap-[1rem] items-center bg-page text-body relative border-b border-b-border-opacity-10" data-color-scheme="accent-3">
1499
1500    <button type="button" data-armada-selector="navigation-toggle" class="lg:hidden w-44 h-44 navigation-toggle group" aria-label="Open navigation" aria-expanded="false" aria-controls="main-navigation">
1501      
1502
1503
1504    
1505      <svg viewBox="0 0 100 80" width="16" height="16" class="icon-hover-classes" data-aid="hamburger-menu" style="grid-area:nav;" data-armada-selector="mobile-menu-open-icon">
1506        <rect width="100" height="10" class="fill-current"></rect>
1507        <rect y="30" width="100" height="10" class="fill-current"></rect>
1508        <rect y="60" width="100" height="10" class="fill-current"></rect>
1509      </svg>
1510    
1511  
1512      
1513
1514
1515    
1516      <svg data-aid="icon-cancel" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes hidden" data-aid="hamburger-menu" style="grid-area:nav;" data-armada-selector="mobile-menu-close-icon">
1517        <rect width="20.6878" height="1.5" transform="matrix(0.70711 -0.707104 0.70711 0.707104 0.155396 14.7839)" fill="currentColor"/>
1518        <rect width="20.6878" height="1.5" transform="matrix(-0.70711 -0.707104 0.70711 -0.707104 14.7839 15.8445)" fill="currentColor"/>
1519      </svg>
1520    
1521  
1522    </button>
1523    
1524
1525<div data-armada-selector="main-navigation" id="main-navigation" class="invisible lg:visible lg:h-full flex flex-col items-start lg:items-center absolute bottom-0 left-0 right-0 translate-y-full opacity-0 lg:opacity-100 z-[101] pb-4 lg:pb-0 lg:static lg:transform-none bg-page main-navigation">
1526  <ul role="navigation" class="lg:h-full inline-flex flex-col lg:flex-row flex-wrap w-full px-4 lg:px-0" data-aid="navigation-items">
1527    
1528    
1529      
1530          
1531            
1532<safe-load-scripts>
1533  
1533<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-navigation-item.min.js?v=156763205771775572311710880012" defer="defer" type="module"></script>
1533
1534  
1534<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-nav-link.min.js?v=17762162782875181161710880013" defer="defer" type="module"></script>
1534
1535</safe-load-scripts>
1536
1537<li class="lg:flex lg:items-center lg:mr-2" data-aid="navigation-list-item">
1538  
1539    <div class="navigation-item-link-only border-b border-b-border-opacity-10 md:border-b-0 lg:h-full animate-menu-right animate-menu-right-delay-1">
1540      <div class="relative lg:h-full lg:flex lg:items-center lg:after:absolute lg:after:bottom-0 lg:after:left-2 lg:after:right-2 lg:after:h-1 lg:after:bg-body lg:after:scale-x-0 lg:after:transition-transform lg:after:duration-300 lg:after:ease-linear lg:hover:after:scale-x-100">
1541        <nav-link class="list-none flex items-baseline lg:p-2 font-heading text-h5">
1542          <a class="w-full py-3 lg:p-0" href="/">
1543<h5 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none" >Home</h5></a>
1544        </nav-link>
1545      </div>
1546    </div>
1547  
1548</li>
1549
1550            
1551          
1552            
1553<safe-load-scripts>
1554  
1554<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-navigation-item.min.js?v=156763205771775572311710880012" defer="defer" type="module"></script>
1554
1555  
1555<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-nav-link.min.js?v=17762162782875181161710880013" defer="defer" type="module"></script>
1555
1556</safe-load-scripts>
1557
1558<li class="lg:flex lg:items-center lg:mr-2" data-aid="navigation-list-item">
1559  
1560    <div class="navigation-item-link-only border-b border-b-border-opacity-10 md:border-b-0 lg:h-full animate-menu-right animate-menu-right-delay-2">
1561      <div class="relative lg:h-full lg:flex lg:items-center lg:after:absolute lg:after:bottom-0 lg:after:left-2 lg:after:right-2 lg:after:h-1 lg:after:bg-body lg:after:scale-x-0 lg:after:transition-transform lg:after:duration-300 lg:after:ease-linear lg:hover:after:scale-x-100">
1562        <nav-link class="list-none flex items-baseline lg:p-2 font-heading text-h5">
1563          <a class="w-full py-3 lg:p-0" href="https://rubyshappyfarm.com/pages/farm-events">
1564<h5 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none" >Events at our Farm </h5></a>
1565        </nav-link>
1566      </div>
1567    </div>
1568  
1569</li>
1570
1571            
1572          
1573            
1574<safe-load-scripts>
1575  
1575<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-navigation-item.min.js?v=156763205771775572311710880012" defer="defer" type="module"></script>
1575
1576  
1576<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-nav-link.min.js?v=17762162782875181161710880013" defer="defer" type="module"></script>
1576
1577</safe-load-scripts>
1578
1579<li class="lg:flex lg:items-center lg:mr-2" data-aid="navigation-list-item">
1580  
1581    <div class="navigation-item-link-only border-b border-b-border-opacity-10 md:border-b-0 lg:h-full animate-menu-right animate-menu-right-delay-3">
1582      <div class="relative lg:h-full lg:flex lg:items-center lg:after:absolute lg:after:bottom-0 lg:after:left-2 lg:after:right-2 lg:after:h-1 lg:after:bg-body lg:after:scale-x-0 lg:after:transition-transform lg:after:duration-300 lg:after:ease-linear lg:hover:after:scale-x-100">
1583        <nav-link class="list-none flex items-baseline lg:p-2 font-heading text-h5">
1584          <a class="w-full py-3 lg:p-0" href="/pages/our-foundation">
1585<h5 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none" >Our Foundation</h5></a>
1586        </nav-link>
1587      </div>
1588    </div>
1589  
1590</li>
1591
1592            
1593          
1594            
1595<safe-load-scripts>
1596  
1596<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-navigation-item.min.js?v=156763205771775572311710880012" defer="defer" type="module"></script>
1596
1597  
1597<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-nav-link.min.js?v=17762162782875181161710880013" defer="defer" type="module"></script>
1597
1598</safe-load-scripts>
1599
1600<li class="lg:flex lg:items-center lg:mr-2" data-aid="navigation-list-item">
1601  
1602    <div class="navigation-item-link-only border-b border-b-border-opacity-10 md:border-b-0 lg:h-full animate-menu-right animate-menu-right-delay-4">
1603      <div class="relative lg:h-full lg:flex lg:items-center lg:after:absolute lg:after:bottom-0 lg:after:left-2 lg:after:right-2 lg:after:h-1 lg:after:bg-body lg:after:scale-x-0 lg:after:transition-transform lg:after:duration-300 lg:after:ease-linear lg:hover:after:scale-x-100">
1604        <nav-link class="list-none flex items-baseline lg:p-2 font-heading text-h5">
1605          <a class="w-full py-3 lg:p-0" href="/collections/all">
1606<h5 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none" >Shop</h5></a>
1607        </nav-link>
1608      </div>
1609    </div>
1610  
1611</li>
1612
1613            
1614          
1615            
1616<safe-load-scripts>
1617  
1617<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-navigation-item.min.js?v=156763205771775572311710880012" defer="defer" type="module"></script>
1617
1618  
1618<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-nav-link.min.js?v=17762162782875181161710880013" defer="defer" type="module"></script>
1618
1619</safe-load-scripts>
1620
1621<li class="lg:flex lg:items-center lg:mr-2" data-aid="navigation-list-item">
1622  
1623    <div class="navigation-item-link-only border-b border-b-border-opacity-10 md:border-b-0 lg:h-full animate-menu-right animate-menu-right-delay-5">
1624      <div class="relative lg:h-full lg:flex lg:items-center lg:after:absolute lg:after:bottom-0 lg:after:left-2 lg:after:right-2 lg:after:h-1 lg:after:bg-body lg:after:scale-x-0 lg:after:transition-transform lg:after:duration-300 lg:after:ease-linear lg:hover:after:scale-x-100">
1625        <nav-link class="list-none flex items-baseline lg:p-2 font-heading text-h5">
1626          <a class="w-full py-3 lg:p-0" href="/pages/say-hello">
1627<h5 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none" >Say Hello</h5></a>
1628        </nav-link>
1629      </div>
1630    </div>
1631  
1632</li>
1633
1634            
1635          
1636
1637        
1638    
1639  </ul>
1640</div>
1641
1642
1643
1644<a href="/" style="grid-area:logo;" class="lg:py-4 lg:mr-4 header-logo text-center justify-self-center lg:justify-self-start" id="sections--15217096327252__header">
1645    
1646
1647  
1648
1649
1650  <img
1651    is="responsive-image"
1652    src="//rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=1100"
1653    srcset="
1654      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=300 300w, 
1655      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=550 550w, 
1656      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=750 750w, 
1657      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=1100 1100w, 
1658      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=1445 1445w, 
1659      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=1680 1680w, 
1660      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=2048 2048w, 
1661      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=2200 2200w, 
1662      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=2890 2890w, 
1663      //rubyshappyfarm.com/cdn/shop/files/PNG--4K-Resolution-Transparent-Background.png?v=1735494339&width=4000 4000w
1664    
1665"
1666    class=" logo min-w-[50px] max-w-[160px] lg:min-w-[80px] lg:max-w-[270px]"
1667    alt="Ruby&#39;s Happy Farm"
1668    
1669    
1670      style="object-fit:cover;object-position:50.0% 50.0%!important;"
1671    
1672    width="4000"
1673    height="3766"
1674    sizes="(min-width: 1200px) calc(100vw / 3), (min-width: 1000px) calc(100vw / 2), (min-width: 750px) calc(100vw / 1.5), 100vw"
1675    data-aid="image"
1676    data-media-id="26011474165844"
1677  />
1678
1679  <safe-load-scripts class="hidden">
1680    
1680<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
1680
1681  </safe-load-scripts>
1682  </a>
1683
1684<style>
1685  
1686    @media (max-width:768px) {
1687      #sections--15217096327252__header .logo {
1688        width: 100px;
1689      }
1690    }
1691
1692    @media(min-width:769px) {
1693      #sections--15217096327252__header .logo {
1694        width: 170px;
1695      }
1696    }
1697  
1698</style>
1699
1700
1701<noscript>
1702    
1703      
1704
1705
1706    
1707      <a href="/search" aria-label="Search"class="header-mobile-search flex lg:hidden w-44 h-44 items-center lg:justify-center">
1708    
1709      <svg data-aid="icon-search" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="no-touch-hover:group-hover:[transform:scale(1.125)rotate(90deg)] transition-transform duration-200 cursor-pointer">
1710        <path fill-rule="evenodd" clip-rule="evenodd" d="M12.0345 6.39395C12.0345 9.11133 9.83166 11.3142 7.11429 11.3142C4.39691 11.3142 2.19405 9.11133 2.19405 6.39395C2.19405 3.67658 4.39691 1.47371 7.11429 1.47371C9.83166 1.47371 12.0345 3.67658 12.0345 6.39395ZM10.2669 11.9579C9.33651 12.4862 8.26063 12.7879 7.11429 12.7879C3.58301 12.7879 0.720337 9.92523 0.720337 6.39395C0.720337 2.86267 3.58301 0 7.11429 0C10.6456 0 13.5082 2.86267 13.5082 6.39395C13.5082 8.23338 12.7315 9.89139 11.4881 11.0579L15.2796 14.8494L14.219 15.91L10.2669 11.9579Z" fill="currentColor"/>
1711      </svg>
1712    
1713      </a>
1714    
1715  
1716    
1717  </noscript>
1718  <div onclick="loadSearchScripts();loadQuickSearch()" class="header-mobile-search flex lg:hidden w-44 h-44 items-center lg:justify-center group cursor-pointer" data-armada-selector="search_toggle" tabindex="0">
1719    
1720      
1721
1722
1723    
1724      <svg data-aid="icon-search" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="no-touch-hover:group-hover:[transform:scale(1.125)rotate(90deg)] transition-transform duration-200">
1725        <path fill-rule="evenodd" clip-rule="evenodd" d="M12.0345 6.39395C12.0345 9.11133 9.83166 11.3142 7.11429 11.3142C4.39691 11.3142 2.19405 9.11133 2.19405 6.39395C2.19405 3.67658 4.39691 1.47371 7.11429 1.47371C9.83166 1.47371 12.0345 3.67658 12.0345 6.39395ZM10.2669 11.9579C9.33651 12.4862 8.26063 12.7879 7.11429 12.7879C3.58301 12.7879 0.720337 9.92523 0.720337 6.39395C0.720337 2.86267 3.58301 0 7.11429 0C10.6456 0 13.5082 2.86267 13.5082 6.39395C13.5082 8.23338 12.7315 9.89139 11.4881 11.0579L15.2796 14.8494L14.219 15.91L10.2669 11.9579Z" fill="currentColor"/>
1726      </svg>
1727    
1728  
1729    
1730  </div>
1731
1732<div class="flex items-center lg:justify-end" style="grid-area:cta;" data-armada-selector="header-cta-container">
1733  <div data-armada-selector="header-locale-selectors" class="hidden w-full items-end gap-3 lg:mr-3 lg:w-auto justify-end lg:flex pt-3 px-4 lg:p-0 ">
1734    
1735
1736
1737
1738
1739  </div>
1740
1741  
1742    <noscript>
1743      <div class="header-search hidden lg:flex w-44 h-44 items-center lg:justify-center group cursor-pointer" data-armada-selector="search_toggle" tabindex="0" aria-label="Search">
1744        <a href="/search">
1745
1746
1747    
1748      <svg data-aid="icon-search" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="no-touch-hover:group-hover:[transform:scale(1.125)rotate(90deg)] transition-transform duration-200">
1749        <path fill-rule="evenodd" clip-rule="evenodd" d="M12.0345 6.39395C12.0345 9.11133 9.83166 11.3142 7.11429 11.3142C4.39691 11.3142 2.19405 9.11133 2.19405 6.39395C2.19405 3.67658 4.39691 1.47371 7.11429 1.47371C9.83166 1.47371 12.0345 3.67658 12.0345 6.39395ZM10.2669 11.9579C9.33651 12.4862 8.26063 12.7879 7.11429 12.7879C3.58301 12.7879 0.720337 9.92523 0.720337 6.39395C0.720337 2.86267 3.58301 0 7.11429 0C10.6456 0 13.5082 2.86267 13.5082 6.39395C13.5082 8.23338 12.7315 9.89139 11.4881 11.0579L15.2796 14.8494L14.219 15.91L10.2669 11.9579Z" fill="currentColor"/>
1750      </svg>
1751    
1752  </a>
1753      </div>
1754    </noscript>
1755    <div onclick="loadSearchScripts();loadQuickSearch()" class="header-search hidden lg:flex w-44 h-44 items-center lg:justify-center no-js-hidden group cursor-pointer" data-armada-selector="search_toggle" tabindex="0" aria-label="Search">
1756      
1757        
1758
1759
1760    
1761      <svg data-aid="icon-search" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="no-touch-hover:group-hover:[transform:scale(1.125)rotate(90deg)] transition-transform duration-200">
1762        <path fill-rule="evenodd" clip-rule="evenodd" d="M12.0345 6.39395C12.0345 9.11133 9.83166 11.3142 7.11429 11.3142C4.39691 11.3142 2.19405 9.11133 2.19405 6.39395C2.19405 3.67658 4.39691 1.47371 7.11429 1.47371C9.83166 1.47371 12.0345 3.67658 12.0345 6.39395ZM10.2669 11.9579C9.33651 12.4862 8.26063 12.7879 7.11429 12.7879C3.58301 12.7879 0.720337 9.92523 0.720337 6.39395C0.720337 2.86267 3.58301 0 7.11429 0C10.6456 0 13.5082 2.86267 13.5082 6.39395C13.5082 8.23338 12.7315 9.89139 11.4881 11.0579L15.2796 14.8494L14.219 15.91L10.2669 11.9579Z" fill="currentColor"/>
1763      </svg>
1764    
1765  
1766      
1767    </div>
1768  
1769
1770  
1771
1772  
1773  
1774  
1775  
1776
1777  
1778  
1779
1780  <div>
1781    
1782
1783
1784    
1785      <a href="/account" aria-label="My account"class="header-account flex w-44 h-44 items-center justify-center group">
1786    
1787      <svg data-aid="account-login" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes cursor-pointer">
1788        <rect width="16" height="16" fill="none"/>
1789        <path fill-rule="evenodd" clip-rule="evenodd" d="M3.07973 6.39395C3.07973 9.11133 5.2826 11.3142 7.99997 11.3142C10.7173 11.3142 12.9202 9.11133 12.9202 6.39395C12.9202 3.67658 10.7173 1.47371 7.99997 1.47371C5.2826 1.47371 3.07973 3.67658 3.07973 6.39395ZM4.9537 12.017C5.85933 12.5086 6.89704 12.7879 7.99997 12.7879C9.10291 12.7879 10.1406 12.5086 11.0463 12.017L14.9394 15.9101L16 14.8494L12.2878 11.1371C13.5813 9.96713 14.3939 8.27545 14.3939 6.39395C14.3939 2.86267 11.5313 0 7.99997 0C4.46869 0 1.60602 2.86267 1.60602 6.39395C1.60602 8.27546 2.4187 9.96716 3.71219 11.1372L-2.66474e-05 14.8494L1.06063 15.9101L4.9537 12.017Z" fill="currentColor"/>
1790      </svg>
1791    
1792      </a>
1793    
1794  
1795  </div>
1796
1797  
1798  <div class="relative">
1799    
1800
1801
1802    
1803      <a href="/cart" aria-label="Cart"class="header-cart flex w-44 h-44 items-center justify-center group">
1804    
1805      <svg data-aid="icon-bag" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes cursor-pointer">
1806        <path fill-rule="evenodd" clip-rule="evenodd" d="M14.3404 5
1806H15.5V6.5V14.5V16H14H2H0.5V14.5V6.5V5H1.6756C2.35583 2.13287 4.93284 0 8.00801 0C11.0832 0 13.6602 2.13287 14.3404 5ZM3.23103 5C3.87091 2.97109 5.76766 1.5 8.00801 1.5C10.2484 1.5 12.1451 2.97109 12.785 5H3.23103ZM2 6.5H14V14.5H2V6.5Z" fill="currentColor"/>
1807      </svg>
1808    
1809      </a>
1810    
1811  
1812    <div class="block">
1813      <cart-count
1814    class="absolute top-0 right-0 -mr-[2px] pointer-events-none hidden"
1815    count="0"
1816  >
1817    <div
1818      data-armada-selector="cart-count"
1819      class="inline-flex place-items-center place-content-center min-w-[25px] min-h-[25px] border-2 border-page rounded-full text-xs font-semibold leading-[0.9rem] bg-body text-page"
1820    >
1821      0
1822    </div>
1823  </cart-count>
1824
1825  <safe-load-scripts>
1826    
1826<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-cart-count.min.js?v=159058076318611156341710880011" defer="defer" type="module" data-armada-load-key="component-cart-count"></script>
1826
1827  </safe-load-scripts>
1828    </div>
1829  </div>
1830</div>
1831
1832<script defer="defer">
1833  function loadSearchScripts() {
1834    import("//rubyshappyfarm.com/cdn/shop/t/11/assets/component-product-card.min.js?v=182644676658452512881710880011");
1835    import("//rubyshappyfarm.com/cdn/shop/t/11/assets/component-search-bar.min.js?v=64959304911327423301710880012");
1836    import("//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-slider.min.js?v=63411314503641008941710880011");
1837    import("//rubyshappyfarm.com/cdn/shop/t/11/assets/component-armament-scroll-bar.min.js?v=175724733118169380491710880012");
1838  }
1839</script>
1839
1840
1841
1842  
1842<script defer="defer">
1843    function loadQuickSearch() {
1844      import("//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-quick-search.min.js?v=175629093658074117011710880012");
1845    }
1846  </script>
1846
1847
1848
1849  </header>
1850</header-main>
1851
1852<script type="application/ld+json">
1853  {
1854    "@context": "http://schema.org",
1855    "@type": "Organization",
1856    "name": "Ruby&#39;s Happy Farm",
1857    "url": "https://rubyshappyfarm.com"
1858  }
1859  </script>
1859
1860
1861
1862  
1862<script type="application/ld+json">
1863  {
1864    "@context": "http://schema.org",
1865    "@type": "Product",
1866    "offers": [{
1867          "@type": "Offer",
1868          "name": "Default Title",
1869          "availability":"https://schema.org/InStock",
1870          "price": "15.00",
1871          "priceCurrency": "USD",
1872          "priceValidUntil": "2026-10-16","url": "/products/mothers-day-gift-box/products/mothers-day-gift-box?variant=39328616972372"
1873        }
1874],
1875      "productId": 6580320403540,
1876
1877    "brand": {
1878      "@type": "Brand",
1879      "name": "Ruby's Happy Farm"
1880    },
1881    "name": "Our Crops",
1882    "description": "Enjoy a day in nature and pick from our crops! Available in the Spring and Fall. \nExperience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:\n\nFreshness and quality\n\nConnect with Nature \nEducational Fun\n\nCome and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!",
1883    "category": "",
1884    "url": "/products/mothers-day-gift-box/products/mothers-day-gift-box",
1885    "sku": "",
1886    "image": {
1887      "@type": "ImageObject",
1888      "url": "https://rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1024",
1889      "image": "https://rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1024",
1890      "name": "Our Crops",
1891      "width": "1024",
1892      "height": "1024"
1893    }
1894  }
1895  </script>
1895
1896
1897
1898
1899<style> #shopify-section-sections--15217096327252__header {background-color: #ffffff;} </style></div><div id="shopify-section-sections--15217096327252__engine-quick-search" class="shopify-section shopify-section-group-header-group"><section class="relative">
1900  
1901
1902
1903
1904
1905  <search-bar class="absolute grid lg:grid-cols-1 lg:grid-rows-[repeat(2,minmax(0,auto))] top-full z-[1000] w-full h-0 overflow-hidden transition-opacity duration-200 ease-in opacity-0 invisible bg-page text-body">
1906    
1907      <predictive-search data-routes-url="/search/suggest">
1908    
1909        <form action="/search" method="get" role="search" class="grid grid-cols-[minmax(0,auto),1fr,minmax(0,auto),minmax(0,auto)] items-center px-4 lg:px-5 xl:px-6 py-3 lg:py-4 bg-page text-body lg:row-start-1 lg:row-end-2 animate-menu-up animate-menu-up-delay-1">
1910          
1911
1912
1913
1914
1915  
1916
1917
1918
1919
1920  <input
1921    type="hidden"
1922    name="type" 
1923    placeholder="" 
1924    class="bg-page border-body focus:ring-0 focus:ring-offset-0" 
1925     
1926    
1927    value="product"
1928    
1929    
1930    
1931    data-aid="armament-input"
1932    
1933     
1934    
1935  >
1936
1937
1938
1939
1940
1941          
1942
1943
1944
1945
1946  
1947
1948
1949
1950
1951  <input
1952    type="hidden"
1953    name="options[prefix]" 
1954    placeholder="" 
1955    class="bg-page border-body focus:ring-0 focus:ring-offset-0" 
1956     
1957    
1958    value="last"
1959    
1960    
1961    
1962    data-aid="armament-input"
1963    
1964     
1965    
1966  >
1967
1968
1969
1970
1971
1972          
1973
1974
1975
1976
1977  
1978    
1979  
1980  <label class="font-heading heading-case heading-font-styles hidden lg:block mr-3 grid-col-start-1 grid-col-end-2" for="">Search</label>
1981
1982  
1983
1984
1985
1986
1987  <input
1988    type="search"
1989    name="q" 
1990    placeholder="What are you looking for?" 
1991    class="bg-page border-body focus:ring-0 focus:ring-offset-0 w-full col-start-2 col-end-5 row-start-1 row-end-2 py-10" 
1992     
1993    
1994    
1995    autocorrect="off" autocomplete="off"
1996    
1997    
1998    data-aid="search-bar-header"
1999    
2000     
2001    
2002  >
2003
2004
2005
2006
2007
2008          <div tabindex="0" data-armada-selector="clear-search" aria-label="Clear search" class="close-icon cursor-pointer col-start-3 col-end-4 row-start-1 row-end-2 justify-self-end flex items-center justify-center h-44 w-44 group">
2009            
2010
2011
2012    
2013      <svg data-aid="icon-cancel" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
2014        <rect width="20.6878" height="1.5" transform="matrix(0.70711 -0.707104 0.70711 0.707104 0.155396 14.7839)" fill="currentColor"/>
2015        <rect width="20.6878" height="1.5" transform="matrix(-0.70711 -0.707104 0.70711 -0.707104 14.7839 15.8445)" fill="currentColor"/>
2016      </svg>
2017    
2018  
2019          </div>
2020          <button type="submit" class="group flex w-44 h-full items-center justify-center col-start-4 col-end-5 row-start-1 row-end-2 justify-self-end relative group cursor-pointer before:block before:absolute before:left-0 before:right-0 before:scale-x-0 before:h-full before:w-full before:bg-body hover:before:scale-x-100 before:transition-transform before:duration-300 before:ease-out" data-aid="header-search-submit-button">
2021            
2022
2023
2024    
2025      <svg data-aid="icon-search" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="no-touch-hover:group-hover:[transform:scale(1.125)rotate(90deg)] transition-transform duration-200 search-icon z-20 group hover:text-page group-hover:text-page">
2026        <path fill-rule="evenodd" clip-rule="evenodd" d="M12.0345 6.39395C12.0345 9.11133 9.83166 11.3142 7.11429 11.3142C4.39691 11.3142 2.19405 9.11133 2.19405 6.39395C2.19405 3.67658 4.39691 1.47371 7.11429 1.47371C9.83166 1.47371 12.0345 3.67658 12.0345 6.39395ZM10.2669 11.9579C9.33651 12.4862 8.26063 12.7879 7.11429 12.7879C3.58301 12.7879 0.720337 9.92523 0.720337 6.39395C0.720337 2.86267 3.58301 0 7.11429 0C10.6456 0 13.5082 2.86267 13.5082 6.39395C13.5082 8.23338 12.7315 9.89139 11.4881 11.0579L15.2796 14.8494L14.219 15.91L10.2669 11.9579Z" fill="currentColor"/>
2027      </svg>
2028    
2029  
2030          </button>
2031        </form>
2032
2033        
2034          
2035            <div class="grid px-4 lg:px-5 xl:px-6 grid-cols-1 grid-rows-[repeat(2,minmax(0,auto))] lg:grid-cols-[minmax(0,auto),1fr] lg:grid-rows-1 lg:row-start-2 lg:row-end-3" data-armada-selector="predictive-search-blocks">
2036              <div class="col-start-1 col-end-2 lg:col-start-2 lg:col-end-3 row-start-1 row-end-2 justify-self-end py-4 z-20 flex justify-center lg:justify-end items-center mt-[12px] w-44 h-44 close-icon-blocks cursor-pointer group animate-menu-up animate-menu-up-delay-3" tabindex="0" data-armada-selector="close-results" aria-label="Close">
2037                
2038
2039
2040    
2041      <svg data-aid="icon-cancel" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
2042        <rect width="20.6878" height="1.5" transform="matrix(0.70711 -0.707104 0.70711 0.707104 0.155396 14.7839)" fill="currentColor"/>
2043        <rect width="20.6878" height="1.5" transform="matrix(-0.70711 -0.707104 0.70711 -0.707104 14.7839 15.8445)" fill="currentColor"/>
2044      </svg>
2045    
2046  
2047              </div>
2048
2049              
2050                
2051                    <div class="flex flex-col py-4 row-start-2 row-end-3 lg:col-start-1 lg:col-end-2 lg:row-start-1 lg:row-end-2 min-w-[200px] animate-menu-up animate-menu-up-delay-2">
2052                      
2053                        
2054<h3 class="font-heading heading-case text-headings break-anywhere  pb-4 text-h5"  data-aid="search_navigation_heading">Navigation menu</h3>
2055                      
2056
2057                      
2058                        <ul class="flex flex-col" role="navigation">
2059                          
2060                            <a href="/" class="lg:pb-[12px]"><li>Home</li></a>
2061                          
2062                            <a href="https://rubyshappyfarm.com/pages/farm-events" class="lg:pb-[12px]"><li>Events at our Farm </li></a>
2063                          
2064                            <a href="/pages/our-foundation" class="lg:pb-[12px]"><li>Our Foundation</li></a>
2065                          
2066                            <a href="/collections/all" class="lg:pb-[12px]"><li>Shop</li></a>
2067                          
2068                            <a href="/pages/say-hello" class="lg:pb-[12px]"><li>Say Hello</li></a>
2069                          
2070                        </ul>
2071                      
2072                    </div>
2073                  
2074              
2075                
2076                    <div class="flex flex-col py-4 row-start-1 row-end-2 col-start-1 col-end-2 lg:col-start-2 lg:col-end-3 lg:row-start-1 lg:row-end-2 animate-menu-up animate-menu-up-delay-3">
2077                      <div class="grid grid-cols-2 pb-4">
2078                        
2079                          
2080<h3 class="font-heading heading-case text-headings break-anywhere  text-h5 col-start-1 col-end-2"  data-aid="search_navigation_heading">Featured collection</h3>
2081                        
2082                      </div>
2083
2084                      
2085                        <div class="hidden lg:grid grid-cols-6 gap-1">
2086                          
2087                            
2088
2089
2090
2091
2092
2093<product-card
2094  class="max-w-full block no-js-hidden"
2095  block-order="image,title"
2096  data-aid="product-card"
2097>
2098  
2099    
2100      <div
2101        data-name="image"
2102        class="pb-2 last:pb-0 relative"
2103        
2104      >
2105<div class="absolute top-0 left-0 z-50 pointer-events-none">
2106  
2107
2108
2109
2110
2111
2112
2113<product-badges
2114  data-custom-badges='{      }'
2115  data-onsale='false'
2116  data-available='true'
2117>
2118</product-badges>
2119
2120<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-badges.min.js?v=178245941533829655771710880011" defer="defer" type="module"></script>
2120
2121</div>
2122
2123
2124          <a href="/products/mothers-day-gift-box" title="Our Crops" class="block">
2125            <div class="aspect-square relative group">
2126              
2127
2128  
2129
2130
2131  <img
2132    is="responsive-image"
2133    src="//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100"
2134    srcset="
2135      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=300 300w, 
2136      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=550 550w, 
2137      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=750 750w, 
2138      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100 1100w, 
2139      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1445 1445w, 
2140      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1680 1680w, 
2141      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2048 2048w, 
2142      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2200 2200w, 
2143      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2890 2890w, 
2144      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=3024 3024w
2145    
2146"
2147    class=" absolute w-full h-full z-0 object-cover product-card-img object-top"
2148    alt=""
2149    
2150    
2151    width="3024"
2152    height="2012"
2153    sizes="33vw"
2154    data-aid="image"
2155    
2156  />
2157
2158  <safe-load-scripts class="hidden">
2159    
2159<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2159
2160  </safe-load-scripts>
2161              
2162            </div>
2163          </a>
2164        
2165        
2166      </div>
2167    
2168    
2169    
2170    
2171    
2172    
2173  
2174    
2175    
2176      <div
2177        data-name="title"
2178        class="text-left text-body px-2 md:px-3"
2179        
2180      >
2181        <a href="/products/mothers-day-gift-box" title="Our Crops">
2182          
2183<h5 class="font-heading heading-case text-headings break-anywhere "  data-aid="product-card-product-heading">Our Crops</h5>
2184        </a>
2185      </div>
2186    
2187    
2188    
2189    
2190    
2191  
2192</product-card>
2193
2194<safe-load-scripts class="hidden">
2195  
2195<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-product-card.min.js?v=182644676658452512881710880011" defer="defer" type="module" data-armada-load-key="product-card"></script>
2195
2196</safe-load-scripts>
2197                          
2198                        </div>
2199                        <slider-engine
2200                          mode="horizontal"
2201                          arrows="false"
2202                          mobile-indicator="true"
2203                          visible-slides='{ "sm": 2 }'
2204                          class="block lg:hidden group relative overflow-hidden hover:overflow-visible focus-within:overflow-visible"
2205                          tabindex="0"
2206                          data-name="scrollbar-target"
2207                        >
2208                          <div class="block overflow-hidden mb-3" data-name="slider-wrap">
2209                            <ul
2210                              data-name="slider"
2211                              class="flex"
2212                              role="list"
2213                            >
2214                              
2215                                <li  data-name="slide">
2216
2217
2218
2219
2220
2221<product-card
2222  class="max-w-full block no-js-hidden"
2223  block-order="image,title"
2224  data-aid="product-card"
2225>
2226  
2227    
2228      <div
2229        data-name="image"
2230        class="pb-2 last:pb-0 relative"
2231        
2232      >
2233<div class="absolute top-0 left-0 z-50 pointer-events-none">
2234  
2235
2236
2237
2238
2239
2240
2241<product-badges
2242  data-custom-badges='{      }'
2243  data-onsale='false'
2244  data-available='true'
2245>
2246</product-badges>
2247
2248<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-badges.min.js?v=178245941533829655771710880011" defer="defer" type="module"></script>
2248
2249</div>
2250
2251
2252          <a href="/products/mothers-day-gift-box" title="Our Crops" class="block">
2253            <div class="aspect-square relative group">
2254              
2255
2256  
2257
2258
2259  <img
2260    is="responsive-image"
2261    src="//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100"
2262    srcset="
2263      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=300 300w, 
2264      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=550 550w, 
2265      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=750 750w, 
2266      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100 1100w, 
2267      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1445 1445w, 
2268      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1680 1680w, 
2269      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2048 2048w, 
2270      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2200 2200w, 
2271      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2890 2890w, 
2272      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=3024 3024w
2273    
2274"
2275    class=" absolute w-full h-full z-0 object-cover product-card-img object-top"
2276    alt=""
2277    
2278    
2279    width="3024"
2280    height="2012"
2281    sizes="33vw"
2282    data-aid="image"
2283    
2284  />
2285
2286  <safe-load-scripts class="hidden">
2287    
2287<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2287
2288  </safe-load-scripts>
2289              
2290            </div>
2291          </a>
2292        
2293        
2294      </div>
2295    
2296    
2297    
2298    
2299    
2300    
2301  
2302    
2303    
2304      <div
2305        data-name="title"
2306        class="text-left text-body px-2 md:px-3"
2307        
2308      >
2309        <a href="/products/mothers-day-gift-box" title="Our Crops">
2310          
2311<h5 class="font-heading heading-case text-headings break-anywhere "  data-aid="product-card-product-heading">Our Crops</h5>
2312        </a>
2313      </div>
2314    
2315    
2316    
2317    
2318    
2319  
2320</product-card>
2321
2322<safe-load-scripts class="hidden">
2323  
2323<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-product-card.min.js?v=182644676658452512881710880011" defer="defer" type="module" data-armada-load-key="product-card"></script>
2323
2324</safe-load-scripts></li>
2325                              
2326                            </ul>
2327                          </div>
2328
2329                          <template>
2330                            <div data-name="mobile-indicator" class="block">
2331                              
2332<scroll-bar
2333  class="block h-1 pb-4"
2334  
2335  data-item-count="6"
2336  data-parent="slider-engine"
2337  data-target="slider"
2338  data-indicator="progress"
2339  data-loop-forward=""
2340  data-loop-backward=""
2341  
2342  
2343  data-aid="scroll-bar"
2344  
2345  
2346>
2347
2348  <div class="relative h-1">
2349    <div class="scroll-track z-10 absolute inset-0 h-1 bg-body opacity-25 rounded-md w-full" data-aid="scroll-bar-track"></div>
2350    <div class="scroll-range z-20 absolute inset-y-0 h-1 bg-body rounded-md transition-all ease left-0" data-aid="scroll-bar-range"></div>
2351  </div>
2352
2353</scroll-bar>
2354
2355<safe-load-scripts>
2356  
2356<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-armament-scroll-bar.min.js?v=175724733118169380491710880012" defer="defer" type="module" data-armada-load-key="scroll-bar"></script>
2356
2357</safe-load-scripts>
2358                            </div>
2359                          </template>
2360                        </slider-engine>
2361                      
2362                    </div>
2363                
2364              
2365            </div>
2366          
2367
2368          <div class="grid-cols-2 grid-rows-[repeat(2,minmax(0,auto))] mx-3 lg:mx-5 xl:mx-6 lg:grid-cols-[minmax(0,auto),minmax(0,auto),1fr] lg:grid-rows-1 lg:row-start-2 lg:row-end-3 hidden" data-armada-selector="predictive-search-results">
2369            <div class="col-start-1 col-end-3 row-start-1 row-end-3 lg:col-end-4 px-4 lg:px-6 py-4 lg:py-6 justify-center items-center min-h-[300px]" data-armada-selector="results-loading">
2370              <span class="block animate-spin w-4 h-4 rounded-full border-2 border-l-0 mx-auto"></span>
2371            </div>
2372          </div>
2373        
2374    
2375      </predictive-search>
2376    
2377  </search-bar>
2378
2379
2380
2381  <noscript>
2382    <search-bar class="relative z-50 w-full">
2383      <form action="/search" method="get" role="search" class="grid grid-cols-[minmax(0,auto),1fr,minmax(0,auto),minmax(0,auto)] items-center px-4 lg:px-5 xl:px-6 py-3 lg:py-4 bg-page text-body">
2384        
2385
2386
2387
2388
2389  
2390    
2391  
2392  <label class="font-heading heading-case heading-font-styles hidden lg:block mr-3 grid-col-start-1 grid-col-end-2" for="">Search</label>
2393
2394  
2395
2396
2397
2398
2399  <input
2400    type="search"
2401    name="q" 
2402    placeholder="What are you looking for?" 
2403    class="bg-page border-body focus:ring-0 focus:ring-offset-0 w-full col-start-2 col-end-5 row-start-1 row-end-2 py-10" 
2404     
2405    
2406    
2407    autocorrect="off" autocomplete="off"
2408    
2409    
2410    data-aid="search-bar-header"
2411    
2412     
2413    
2414  >
2415
2416
2417
2418
2419
2420        
2421
2422
2423    
2424      <svg data-aid="icon-cancel" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes close-icon mr-2 cursor-pointer col-start-3 col-end-4 row-start-1 row-end-2 justify-self-end hidden" tabindex="0" data-armada-selector="close-results" aria-label="Close">
2425        <rect width="20.6878" height="1.5" transform="matrix(0.70711 -0.707104 0.70711 0.707104 0.155396 14.7839)" fill="currentColor"/>
2426        <rect width="20.6878" height="1.5" transform="matrix(-0.70711 -0.707104 0.70711 -0.707104 14.7839 15.8445)" fill="currentColor"/>
2427      </svg>
2428    
2429  
2430        <button type="submit" class="group flex w-44 h-full items-center justify-center col-start-4 col-end-5 row-start-1 row-end-2 justify-self-end group cursor-pointer relative before:block before:absolute before:left-0 before:right-0 before:scale-x-0 before:h-full before:w-full before:bg-body hover:before:scale-x-100 before:transition-transform before:duration-300 before:ease-out" data-aid="header-search-submit-button">
2431          
2432
2433
2434    
2435      <svg data-aid="icon-search" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="no-touch-hover:group-hover:[transform:scale(1.125)rotate(90deg)] transition-transform duration-200 search-icon z-20 hover:text-page group-hover:text-page">
2436        <path fill-rule="evenodd" clip-rule="evenodd" d="M12.0345 6.39395C12.0345 9.11133 9.83166 11.3142 7.11429 11.3142C4.39691 11.3142 2.19405 9.11133 2.19405 6.39395C2.19405 3.67658 4.39691 1.47371 7.11429 1.47371C9.83166 1.47371 12.0345 3.67658 12.0345 6.39395ZM10.2669 11.9579C9.33651 12.4862 8.26063 12.7879 7.11429 12.7879C3.58301 12.7879 0.720337 9.92523 0.720337 6.39395C0.720337 2.86267 3.58301 0 7.11429 0C10.6456 0 13.5082 2.86267 13.5082 6.39395C13.5082 8.23338 12.7315 9.89139 11.4881 11.0579L15.2796 14.8494L14.219 15.91L10.2669 11.9579Z" fill="currentColor"/>
2437      </svg>
2438    
2439  
2440        </button>
2441      </form>
2442    </search-bar>
2443  </noscript>
2444
2445</section>
2446
2447</div>
2448<!-- END sections: header-group -->
2449<main
2450      class="main-content "
2451      role="main"
2452      tabindex="-1"
2453      data-template-type="product"
2454    >
2455      <div class="product-template-wrapper"><div id="shopify-section-template--15217094721620__gallery" class="shopify-section product-main-gallery grow max-w-full"><div class="w-full bg-page lg:pt-5">
2456  
2457    
2458
2459<product-thumbnail-gallery
2460  class="flex flex-row relative"
2461  data-product-id="6580320403540"
2462  
2463  data-featured-image-id="24137241460820"
2464  data-aid="product-thumbnail-gallery"
2465>
2466  <slider-engine
2467    mode="horizontal"
2468    visible-slides="1"
2469    mobile-indicator="true"
2470    auto-height="true"
2471    arrows="false"
2472    data-name="scrollbar-target"
2473    data-armada-selector="product-thumbnail-slider-container"
2474    class="group relative overflow-hidden hover:overflow-visible focus-within:overflow-visible w-full lg:pr-1 lg:grow-0 lg:overflow-y-auto lg:hover:overflow-y-auto lg:focus-within:overflow-y-auto lg:hover:overflow-x-hidden lg:focus-within:overflow-x-hidden lg:w-1/4 no-scrollbar"
2475    tabindex="0"
2476    product-id="6580320403540"
2477    featured-image-id="24137241460820"
2478  >
2479    <div
2480      data-name="slider-wrap"
2481      data-armada-selector="product-thumbnail-animate-target"
2482      class="relative overflow-hidden lg:overflow-visible lg:max-h-0"
2483    >
2484      <ul
2485        data-name="slider"
2486        data-armada-selector="product-thumbnail-slider"
2487        class="flex lg:flex-col lg:cursor-pointer product-thumbnail-slider"
2488        role="list"
2489      >
2490        
2491          
2492          
2493            
2494          
2495          <li
2496            data-name="slide"
2497            data-media-id=24137241460820
2498            media-id=24137241460820
2499            data-variant="false"
2500            data-thumbnail-selected="true"
2501            slide-num="1"
2502            type="image"
2503            class="relative min-w-full flex items-baseline content-start place-content-center lg:mb-1 lg:last:mb-0 h-auto  lg:after:absolute lg:after:h-2 lg:after:left-0 lg:after:right-0 lg:after:bottom-0 lg:after:bg-body"
2504          >
2505            <div class="w-full grid lg:hidden">
2506              
2507
2508
2509
2510
2511  
2512  
2513  
2514
2515  
2516
2517
2518  <img
2519    is="responsive-image"
2520    src="//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100"
2521    srcset="
2522      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=300 300w, 
2523      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=550 550w, 
2524      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=750 750w, 
2525      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100 1100w, 
2526      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1445 1445w, 
2527      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1680 1680w, 
2528      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2048 2048w, 
2529      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2200 2200w, 
2530      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2890 2890w, 
2531      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=3024 3024w
2532    
2533"
2534    class=" relative object-contain m-auto"
2535    alt="Our Crops"
2536    
2537    
2538      style="object-fit:cover;object-position:50.0% 50.0%!important;"
2539    
2540    width="3024"
2541    height="2012"
2542    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75
2542), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
2543    data-aid="image"
2544    data-media-id="24137241460820"
2545  />
2546
2547  <safe-load-scripts class="hidden">
2548    
2548<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2548
2549  </safe-load-scripts>
2550  
2551
2552
2553
2554
2555            </div>
2556            <div class="hidden lg:block pointer-events-none" tabindex="0">
2557              
2558
2559  
2560
2561
2562  <img
2563    is="responsive-image"
2564    src="//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100"
2565    srcset="
2566      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=300 300w, 
2567      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=550 550w, 
2568      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=750 750w, 
2569      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100 1100w, 
2570      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1445 1445w, 
2571      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1680 1680w, 
2572      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2048 2048w, 
2573      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2200 2200w, 
2574      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2890 2890w, 
2575      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=3024 3024w
2576    
2577"
2578    class=" h-full object-cover"
2579    alt="Our Crops"
2580    
2581    
2582      style="object-fit:cover;object-position:50.0% 50.0%!important;"
2583    
2584    width="3024"
2585    height="2012"
2586    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
2587    data-aid="image"
2588    data-media-id="24137241460820"
2589  />
2590
2591  <safe-load-scripts class="hidden">
2592    
2592<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2592
2593  </safe-load-scripts>
2594            </div>
2595          </li>
2596        
2597          
2598          
2599            
2600          
2601          <li
2602            data-name="slide"
2603            data-media-id=25217544126548
2604            media-id=25217544126548
2605            data-variant="false"
2606            
2607            slide-num="2"
2608            type="image"
2609            class="relative min-w-full flex items-baseline content-start place-content-center lg:mb-1 lg:last:mb-0 h-auto "
2610          >
2611            <div class="w-full grid lg:hidden">
2612              
2613
2614
2615
2616
2617  
2618  
2619  
2620
2621  
2622
2623
2624  <img
2625    is="responsive-image"
2626    src="//rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1100"
2627    srcset="
2628      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=300 300w, 
2629      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=550 550w, 
2630      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=750 750w, 
2631      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1100 1100w, 
2632      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1445 1445w, 
2633      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1680 1680w, 
2634      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2048 2048w, 
2635      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2200 2200w, 
2636      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2890 2890w, 
2637      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=3024 3024w
2638    
2639"
2640    class=" relative object-contain m-auto"
2641    alt="Our Crops"
2642    
2643    
2644      style="object-fit:cover;object-position:50.0% 50.0%!important;"
2645    
2646    width="3024"
2647    height="4032"
2648    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
2649    data-aid="image"
2650    data-media-id="25217544126548"
2651  />
2652
2653  <safe-load-scripts class="hidden">
2654    
2654<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2654
2655  </safe-load-scripts>
2656  
2657
2658
2659
2660
2661            </div>
2662            <div class="hidden lg:block pointer-events-none" tabindex="0">
2663              
2664
2665  
2666
2667
2668  <img
2669    is="responsive-image"
2670    src="//rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1100"
2671    srcset="
2672      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=300 300w, 
2673      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=550 550w, 
2674      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=750 750w, 
2675      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1100 1100w, 
2676      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1445 1445w, 
2677      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1680 1680w, 
2678      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2048 2048w, 
2679      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2200 2200w, 
2680      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2890 2890w, 
2681      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=3024 3024w
2682    
2683"
2684    class=" h-full object-cover"
2685    alt="Our Crops"
2686    
2687    
2688      style="object-fit:cover;object-position:50.0% 50.0%!important;"
2689    
2690    width="3024"
2691    height="4032"
2692    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
2693    data-aid="image"
2694    data-media-id="25217544126548"
2695  />
2696
2697  <safe-load-scripts class="hidden">
2698    
2698<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2698
2699  </safe-load-scripts>
2700            </div>
2701          </li>
2702        
2703          
2704          
2705            
2706          
2707          <li
2708            data-name="slide"
2709            data-media-id=22782930780244
2710            media-id=22782930780244
2711            data-variant="false"
2712            
2713            slide-num="3"
2714            type="image"
2715            class="relative min-w-full flex items-baseline content-start place-content-center lg:mb-1 lg:last:mb-0 h-auto "
2716          >
2717            <div class="w-full grid lg:hidden">
2718              
2719
2720
2721
2722
2723  
2724  
2725  
2726
2727  
2728
2729
2730  <img
2731    is="responsive-image"
2732    src="//rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1100"
2733    srcset="
2734      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=300 300w, 
2735      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=550 550w, 
2736      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=750 750w, 
2737      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1100 1100w, 
2738      
2739      
2740      
2741      
2742      
2743      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1440 1440w
2744    
2745"
2746    class=" relative object-contain m-auto"
2747    alt="Our Crops"
2748    
2749    
2750      style="object-fit:cover;object-position:50.0% 50.0%!important;"
2751    
2752    width="1440"
2753    height="1503"
2754    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
2755    data-aid="image"
2756    data-media-id="22782930780244"
2757  />
2758
2759  <safe-load-scripts class="hidden">
2760    
2760<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2760
2761  </safe-load-scripts>
2762  
2763
2764
2765
2766
2767            </div>
2768            <div class="hidden lg:block pointer-events-none" tabindex="0">
2769              
2770
2771  
2772
2773
2774  <img
2775    is="responsive-image"
2776    src="//rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1100"
2777    srcset="
2778      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=300 300w, 
2779      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=550 550w, 
2780      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=750 750w, 
2781      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1100 1100w, 
2782      
2783      
2784      
2785      
2786      
2787      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1440 1440w
2788    
2789"
2790    class=" h-full object-cover"
2791    alt="Our Crops"
2792    
2793    
2794      style="object-fit:cover;object-position:50.0% 50.0%!important;"
2795    
2796    width="1440"
2797    height="1503"
2798    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
2799    data-aid="image"
2800    data-media-id="22782930780244"
2801  />
2802
2803  <safe-load-scripts class="hidden">
2804    
2804<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2804
2805  </safe-load-scripts>
2806            </div>
2807          </li>
2808        
2809      </ul>
2810      
2811        <div class="absolute top-0 left-0 z-50 pointer-events-none lg:hidden">
2812          
2813
2814
2815
2816
2817
2818
2819<product-badges
2820  data-custom-badges='{      }'
2821  data-onsale='false'
2822  data-available='true'
2823>
2824</product-badges>
2825
2826<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-badges.min.js?v=178245941533829655771710880011" defer="defer" type="module"></script>
2826
2827        </div>
2828      
2829    </div>
2830    <template>
2831      <div data-name="mobile-indicator" class="block lg:hidden pt-3 bg-page">
2832        
2833<scroll-bar
2834  class="block h-1"
2835  
2836  data-item-count="3"
2837  data-parent="slider-engine"
2838  data-target="slider"
2839  data-indicator="progress"
2840  data-loop-forward=""
2841  data-loop-backward=""
2842  
2843  
2844  data-aid="scroll-bar"
2845  
2846  
2847>
2848
2849  <div class="relative h-1">
2850    <div class="scroll-track z-10 absolute inset-0 h-1 bg-body opacity-25 rounded-md w-full" data-aid="scroll-bar-track"></div>
2851    <div class="scroll-range z-20 absolute inset-y-0 h-1 bg-body rounded-md transition-all ease left-0" data-aid="scroll-bar-range"></div>
2852  </div>
2853
2854</scroll-bar>
2855
2856<safe-load-scripts>
2857  
2857<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-armament-scroll-bar.min.js?v=175724733118169380491710880012" defer="defer" type="module" data-armada-load-key="scroll-bar"></script>
2857
2858</safe-load-scripts>
2859      </div>
2860    </template>
2861  </slider-engine>
2862  <div class="w-full hidden lg:block">
2863    <div>
2864      <div data-armada-selector="product-media-container" class="relative">
2865        
2866          <div class="absolute top-0 left-0 z-50 pointer-events-none">
2867            
2868
2869
2870
2871
2872
2873
2874<product-badges
2875  data-custom-badges='{      }'
2876  data-onsale='false'
2877  data-available='true'
2878>
2879</product-badges>
2880
2881<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-badges.min.js?v=178245941533829655771710880011" defer="defer" type="module"></script>
2881
2882          </div>
2883        
2884        
2885          <div data-armada-selector="product-media" data-media-id=24137241460820 data-media-selected="true">
2886            
2887
2888
2889
2890
2891  
2892  <div class="lg:flex lg:items-center lg:justify-center">
2893  <armada-modal-open data-modal-id="24137241460820">
2894    
2895
2896  
2897
2898
2899  <img
2900    is="responsive-image"
2901    src="//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100"
2902    srcset="
2903      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=300 300w, 
2904      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=550 550w, 
2905      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=750 750w, 
2906      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100 1100w, 
2907      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1445 1445w, 
2908      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1680 1680w, 
2909      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2048 2048w, 
2910      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2200 2200w, 
2911      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2890 2890w, 
2912      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=3024 3024w
2913    
2914"
2915    class=" relative object-contain m-auto hover:cursor-crosshair"
2916    alt="Our Crops"
2917    data-armada-selector="modal-open"
2918    
2919      style="object-fit:cover;object-position:50.0% 50.0%!important;"
2920    
2921    width="3024"
2922    height="2012"
2923    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
2924    data-aid="image"
2925    data-media-id="24137241460820"
2926  />
2927
2928  <safe-load-scripts class="hidden">
2929    
2929<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2929
2930  </safe-load-scripts>
2931  </armada-modal-open>
2932  <safe-load-scripts>
2933    
2933<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-modal-open.min.js?v=74482744466543825941710880012" defer="defer" type="module" data-armada-load-key="modal-open"></script>
2933
2934  </safe-load-scripts>
2935  
2936    <armada-modal
2937      data-modal-id="24137241460820"
2938      data-modal-dismissable="true"
2939      data-modal-heading=""
2940      data-modal-underlay-classes="bg-black opacity-60"
2941      class="invisible opacity-0"
2942    >
2943      
2944
2945  
2946
2947
2948  <img
2949    is="responsive-image"
2950    src="//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100"
2951    srcset="
2952      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=300 300w, 
2953      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=550 550w, 
2954      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=750 750w, 
2955      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1100 1100w, 
2956      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1445 1445w, 
2957      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=1680 1680w, 
2958      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2048 2048w, 
2959      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2200 2200w, 
2960      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=2890 2890w, 
2961      //rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?v=1715204565&width=3024 3024w
2962    
2963"
2964    class=" relative object-contain m-auto"
2965    alt="Our Crops"
2966    
2967    
2968      style="object-fit:cover;object-position:50.0% 50.0%!important;"
2969    
2970    width="3024"
2971    height="2012"
2972    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
2973    data-aid="image"
2974    data-media-id="24137241460820"
2975  />
2976
2977  <safe-load-scripts class="hidden">
2978    
2978<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
2978
2979  </safe-load-scripts>
2980    </armada-modal>
2981    <safe-load-scripts>
2982      
2982<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-modal.min.js?v=114181242881682244381710880013" defer="defer" type="module" data-armada-load-key="modal"></script>
2982
2983    </safe-load-scripts>
2984  
2985</div>
2986
2987
2988
2989
2990          </div>
2991        
2992          <div class="hidden" data-armada-selector="product-media" data-media-id=25217544126548 data-media-selected="false">
2993            
2994
2995
2996
2997
2998  
2999  <div class="lg:flex lg:items-center lg:justify-center">
3000  <armada-modal-open data-modal-id="25217544126548">
3001    
3002
3003  
3004
3005
3006  <img
3007    is="responsive-image"
3008    src="//rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1100"
3009    srcset="
3010      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=300 300w, 
3011      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=550 550w, 
3012      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=750 750w, 
3013      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1100 1100w, 
3014      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1445 1445w, 
3015      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1680 1680w, 
3016      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2048 2048w, 
3017      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2200 2200w, 
3018      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2890 2890w, 
3019      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=3024 3024w
3020    
3021"
3022    class=" relative object-contain m-auto hover:cursor-crosshair"
3023    alt="Our Crops"
3024    data-armada-selector="modal-open"
3025    
3026      style="object-fit:cover;object-position:50.0% 50.0%!important;"
3027    
3028    width="3024"
3029    height="4032"
3030    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
3031    data-aid="image"
3032    data-media-id="25217544126548"
3033  />
3034
3035  <safe-load-scripts class="hidden">
3036    
3036<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
3036
3037  </safe-load-scripts>
3038  </armada-modal-open>
3039  <safe-load-scripts>
3040    
3040<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-modal-open.min.js?v=74482744466543825941710880012" defer="defer" type="module" data-armada-load-key="modal-open"></script>
3040
3041  </safe-load-scripts>
3042  
3043    <armada-modal
3044      data-modal-id="25217544126548"
3045      data-modal-dismissable="true"
3046      data-modal-heading=""
3047      data-modal-underlay-classes="bg-black opacity-60"
3048      class="invisible opacity-0"
3049    >
3050      
3051
3052  
3053
3054
3055  <img
3056    is="responsive-image"
3057    src="//rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1100"
3058    srcset="
3059      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=300 300w, 
3060      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=550 550w, 
3061      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=750 750w, 
3062      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1100 1100w, 
3063      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1445 1445w, 
3064      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=1680 1680w, 
3065      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2048 2048w, 
3066      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2200 2200w, 
3067      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=2890 2890w, 
3068      //rubyshappyfarm.com/cdn/shop/files/IMG_6750.heic?v=1727357970&width=3024 3024w
3069    
3070"
3071    class=" relative object-contain m-auto"
3072    alt="Our Crops"
3073    
3074    
3075      style="object-fit:cover;object-position:50.0% 50.0%!important;"
3076    
3077    width="3024"
3078    height="4032"
3079    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
3080    data-aid="image"
3081    data-media-id="25217544126548"
3082  />
3083
3084  <safe-load-scripts class="hidden">
3085    
3085<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
3085
3086  </safe-load-scripts>
3087    </armada-modal>
3088    <safe-load-scripts>
3089      
3089<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-modal.min.js?v=114181242881682244381710880013" defer="defer" type="module" data-armada-load-key="modal"></script>
3089
3090    </safe-load-scripts>
3091  
3092</div>
3093
3094
3095
3096
3097          </div>
3098        
3099          <div class="hidden" data-armada-selector="product-media" data-media-id=22782930780244 data-media-selected="false">
3100            
3101
3102
3103
3104
3105  
3106  <div class="lg:flex lg:items-center lg:justify-center">
3107  <armada-modal-open data-modal-id="22782930780244">
3108    
3109
3110  
3111
3112
3113  <img
3114    is="responsive-image"
3115    src="//rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1100"
3116    srcset="
3117      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=300 300w, 
3118      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=550 550w, 
3119      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=750 750w, 
3120      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1100 1100w, 
3121      
3122      
3123      
3124      
3125      
3126      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1440 1440w
3127    
3128"
3129    class=" relative object-contain m-auto hover:cursor-crosshair"
3130    alt="Our Crops"
3131    data-armada-selector="modal-open"
3132    
3133      style="object-fit:cover;object-position:50.0% 50.0%!important;"
3134    
3135    width="1440"
3136    height="1503"
3137    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
3138    data-aid="image"
3139    data-media-id="22782930780244"
3140  />
3141
3142  <safe-load-scripts class="hidden">
3143    
3143<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
3143
3144  </safe-load-scripts>
3145  </armada-modal-open>
3146  <safe-load-scripts>
3147    
3147<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-modal-open.min.js?v=74482744466543825941710880012" defer="defer" type="module" data-armada-load-key="modal-open"></script>
3147
3148  </safe-load-scripts>
3149  
3150    <armada-modal
3151      data-modal-id="22782930780244"
3152      data-modal-dismissable="true"
3153      data-modal-heading=""
3154      data-modal-underlay-classes="bg-black opacity-60"
3155      class="invisible opacity-0"
3156    >
3157      
3158
3159  
3160
3161
3162  <img
3163    is="responsive-image"
3164    src="//rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1100"
3165    srcset="
3166      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=300 300w, 
3167      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=550 550w, 
3168      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=750 750w, 
3169      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1100 1100w, 
3170      
3171      
3172      
3173      
3174      
3175      //rubyshappyfarm.com/cdn/shop/files/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&width=1440 1440w
3176    
3177"
3178    class=" relative object-contain m-auto"
3179    alt="Our Crops"
3180    
3181    
3182      style="object-fit:cover;object-position:50.0% 50.0%!important;"
3183    
3184    width="1440"
3185    height="1503"
3186    sizes="(min-width: 2000px) 1000px, (min-width: 1445px) calc(100vw / 2), (min-width: 1200px) calc(100vw / 1.75), (min-width: 1000px) calc(100vw / 1.5), (min-width: 750px) calc(100vw / 3), 100vw"
3187    data-aid="image"
3188    data-media-id="22782930780244"
3189  />
3190
3191  <safe-load-scripts class="hidden">
3192    
3192<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-responsive-image.min.js?v=100644733272736150991710880011" defer="defer" type="module" data-armada-load-key="responsive-image"></script>
3192
3193  </safe-load-scripts>
3194    </armada-modal>
3195    <safe-load-scripts>
3196      
3196<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-modal.min.js?v=114181242881682244381710880013" defer="defer" type="module" data-armada-load-key="modal"></script>
3196
3197    </safe-load-scripts>
3198  
3199</div>
3200
3201
3202
3203
3204          </div>
3205        
3206      </div>
3207    </div>
3208  </div>
3209</product-thumbnail-gallery>
3210<safe-load-scripts>
3211  
3211<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-product-thumbnail-gallery.min.js?v=133942188637218355781710880013" defer="defer" type="module" data-armada-load-key="product-thumbnail-gallery"></script>
3211
3212  
3212<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-slider.min.js?v=63411314503641008941710880011" defer="defer" type="module" data-armada-load-key="slider-engine"></script>
3212
3213</safe-load-scripts>
3214
3215  
3216</div>
3217
3218
3219</div><div id="shopify-section-template--15217094721620__main" class="shopify-section product-main-form grow max-w-full">
3220
3221<div class="w-full text-body bg-page py-5 px-4 lg:p-5">
3222  
3223  
3224
3225
3226
3227<product-form
3228  product="{&quot;id&quot;:6580320403540,&quot;title&quot;:&quot;Our Crops&quot;,&quot;handle&quot;:&quot;mothers-day-gift-box&quot;,&quot;description&quot;:&quot;\u003cp\u003eEnjoy a day in nature and pick from our crops! Available in the Spring and Fall. \u003c\/p\u003e\n\u003cp\u003eExperience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFreshness and quality\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eConnect with Nature \u003c\/li\u003e\n\u003cli\u003eEducational Fun\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eCome and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!\u003c\/p\u003e&quot;,&quot;published_at&quot;:&quot;2021-04-28T22:10:23-05:00&quot;,&quot;created_at&quot;:&quot;2021-04-28T21:44:13-05:00&quot;,&quot;vendor&quot;:&quot;Ruby&#39;s Happy Farm&quot;,&quot;type&quot;:&quot;&quot;,&quot;tags&quot;:[],&quot;price&quot;:1500,&quot;price_min&quot;:1500,&quot;price_max&quot;:1500,&quot;available&quot;:true,&quot;price_varies&quot;:false,&quot;compare_at_price&quot;:null,&quot;compare_at_price_min&quot;:0,&quot;compare_at_price_max&quot;:0,&quot;compare_at_price_varies&quot;:false,&quot;variants&quot;:[{&quot;id&quot;:39328616972372,&quot;title&quot;:&quot;Default Title&quot;,&quot;option1&quot;:&quot;Default Title&quot;,&quot;option2&quot;:null,&quot;option3&quot;:null,&quot;sku&quot;:&quot;&quot;,&quot;requires_shipping&quot;:false,&quot;taxable&quot;:true,&quot;featured_image&quot;:null,&quot;available&quot;:true,&quot;name&quot;:&quot;Our Crops&quot;,&quot;public_title&quot;:null,&quot;options&quot;:[&quot;Default Title&quot;],&quot;price&quot;:1500,&quot;weight&quot;:0,&quot;compare_at_price&quot;:null,&quot;inventory_management&quot;:&quot;shopify&quot;,&quot;barcode&quot;:null,&quot;requires_selling_plan&quot;:false,&quot;selling_plan_allocations&quot;:[],&quot;quantity_rule&quot;:{&quot;min&quot;:1,&quot;max&quot;:null,&quot;increment&quot;:1}}],&quot;images&quot;:[&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565&quot;,&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970&quot;,&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&quot;],&quot;featured_image&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565&quot;,&quot;options&quot;:[&quot;Title&quot;],&quot;media&quot;:[{&quot;alt&quot;:null,&quot;id&quot;:24137241460820,&quot;position&quot;:1,&quot;preview_image&quot;:{&quot;aspect_ratio&quot;:1.503,&quot;height&quot;:2012,&quot;width&quot;:3024,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565&quot;},&quot;aspect_ratio&quot;:1.503,&quot;height&quot;:2012,&quot;media_type&quot;:&quot;image&quot;,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565&quot;,&quot;width&quot;:3024},{&quot;alt&quot;:null,&quot;id&quot;:25217544126548,&quot;position&quot;:2,&quot;preview_image&quot;:{&quot;aspect_ratio&quot;:0.75,&quot;height&quot;:4032,&quot;width&quot;:3024,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970&quot;},&quot;aspect_ratio&quot;:0.75,&quot;height&quot;:4032,&quot;media_type&quot;:&quot;image&quot;,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970&quot;,&quot;width&quot;:3024},{&quot;alt&quot;:null,&quot;id&quot;:22782930780244,&quot;position&quot;:3,&quot;preview_image&quot;:{&quot;aspect_ratio&quot;:0.958,&quot;height&quot;:1503,&quot;width&quot;:1440,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&quot;},&quot;aspect_ratio&quot;:0.958,&quot;height&quot;:1503,&quot;media_type&quot;:&quot;image&quot;,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&quot;,&quot;width&quot;:1440}],&quot;requires_selling_plan&quot;:false,&quot;selling_plan_groups&quot;:[],&quot;content&quot;:&quot;\u003cp\u003eEnjoy a day in nature and pick from our crops! Available in the Spring and Fall. \u003c\/p\u003e\n\u003cp\u003eExperience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFreshness and quality\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eConnect with Nature \u003c\/li\u003e\n\u003cli\u003eEducational Fun\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eCome and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!\u003c\/p\u003e&quot;}"
3229  section-id="template--15217094721620__main"
3230  
3231  
3232  block-order="title,@app-AMHZoNjViOTN1elBQT__yotpo_product_reviews_ugc_star_rating_3TB6fB,price,options,quantity,stock-level-indicator,payment-buttons,description,social-sharing"
3233  option-type="buttons"
3234  force-selection="false"
3235  data-aid="main-product-form"
3236  data-name="main-product-form"
3237  
3238  
3239>
3240  
3241  
3242
3243  <div class="no-js-show">
3244    
3245    
3246<div
3247  
3248  data-name="basic-product-form"
3249  data-aid="basic-product-form"
3250>
3251  <form method="post" action="/cart/add" id="add-to-cart-form" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3252    
3253    
3254    
3255    
3256
3257    
3258<h3 class="font-heading heading-case text-headings break-anywhere text-h3 leading-heading no-js-show pb-3 md:pb-4"  data-aid="basic-product-form-title">Our Crops</h3>
3259
3260    
3261
3262
3263
3264<div class="no-js-show">
3265  <div
3266    class="select relative grid grid-cols-1 grid-rows-1 items-center"
3267    data-armada-selector="select-wrap"
3268  >
3269    <select
3270      class="heading-case bg-none bg-transparent col-start-1 col-end-2 row-start-1 row-end-2"
3271      name="id"
3272      id="basic-product-select-template--15217094721620__main-6580320403540"
3273      data-armada-selector="basic-product-select-template--15217094721620__main-6580320403540" data-aid="basic-variant-selector"
3274      data-aid="armament-dropdown"
3275    >
3276      
3277        <option
3278          
3279          value=""
3280          disabled
3281          selected
3282        >
3283          Choose
3284        </option>
3285      
3286
3287      
3288        
3289
3290        <option
3291          
3292          value="39328616972372"
3293          
3294          
3295        >
3296          Default Title
3297        </option>
3298      
3299    </select>
3300    <div class='col-start-1 col-end-2 row-start-1 row-end-2 text-body w-30 h-30 pointer-events-none justify-self-end mr-2'>
3301      <svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'><path stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/></svg>
3302    </div>
3303  </div>
3304</div>
3305
3306
3307    
3308<div class="text-body armament-quantity-selector no-js-show pt-3 md:pt-4">
3309  <div class="mb-2">
3310    <label
3311      for="quantity-no-js-quantity"
3312      class="text-h6 font-heading heading-case leading-none"
3313    >
3314      Quantity
3315    </label>
3316  </div>
3317  <quantity-selector class="inline-flex border" data-section-id=template--15217094721620__main>
3318    <button
3319      type="button"
3320      class="flex items-center justify-center w-44 h-44 group"
3321      name="minus"
3322      aria-label="Decrease quantity for Our Crops"
3323      data-aid="quantity-minus"
3324    >
3325      
3326
3327
3328    
3329      <svg data-aid="icon-minus" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
3330        <g clip-path="url(#clip0_3976_27975)">
3331          <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
3332        </g>
3333        <defs>
3334          <clipPath id="clip0_3976_27975">
3335            <rect width="16" height="16" fill="none"/>
3336          </clipPath>
3337        </defs>
3338      </svg>
3339    
3340  
3341    </button>
3342      
3343
3344
3345
3346
3347  
3348
3349
3350
3351
3352  <input
3353    type="number"
3354    name="quantity" 
3355    placeholder="" 
3356    class="bg-page border-body focus:ring-0 focus:ring-offset-0 border-0 text-center text-h6 font-heading heading-case" 
3357     
3358    id="quantity-no-js-quantity"
3359    value="1"
3360    aria-label="Quantity for Our Crops"
3361    
3362    min="0" max="9999"
3363    data-aid="armament-input"
3364    
3365     
3366    
3367  >
3368
3369
3370
3371
3372
3373    <button
3374      type="button"
3375      class="flex items-center justify-center w-44 h-44 group"
3376      name="plus"
3377      aria-label="Increase quantity for Our Crops"
3378      data-aid="quantity-plus"
3379    >
3380      
3381
3382
3383    
3384      <svg data-aid="icon-plus" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
3385        <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
3386        <rect x="7.25" y="16" width="16" height="1.5" transform="rotate(-90 7.25 16)" fill="currentColor"/>
3387      </svg>
3388    
3389  
3390    </button>
3391  </quantity-selector>
3392</div>
3393<safe-load-scripts>
3394  
3394<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-quantity-selector.min.js?v=4456594888488945771710880012" defer="defer" type="module" data-armada-load-key="quantity-selector"></script>
3394
3395</safe-load-scripts>
3396
3397
3398    
3399      
3400<div
3401  data-name="payment-buttons"
3402  
3403  class=" no-js-show"
3404  
3405>
3406  <form method="post" action="/cart/add" id="add-to-cart-form" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3407<input type="hidden" name="id" value="" disabled class="product-variant-id" data-armada-variant-id>
3408    
3409    <div
3410      data-name="product-submit-wrapper"
3411      
3412      
3413    >
3414      
3415      
3416
3417      
3418
3419      
3420
3421      
3422
3423      
3424<button
3425  
3426  type=submit
3427  data-aid="product-form-submit-button" data-name="product-submit" aria-label="Add Our Crops to cart"
3428  class="text-h6 font-heading heading-case leading-none text-center min-h-[44px] py-[13px] px-4 inline-block border border-body transition-colors duration-500 relative z-10 armament-button after:absolute after:top-0 after:bottom-0 after:-z-[1] after:bg-body after:transition-transform after:duration-300 after:ease-out text-body hover:text-page before:absolute before:top-0 before:bottom-0 before:left-0 before:right-1/2 before:-z-[1] before:bg-body before:origin-[0_50%] before:transition-transform before:duration-300 before:ease-out after:right-0 after:left-1/2 after:origin-[100%_50%] armament-button--outline hover:disabled:text-body focus:disabled:text-body w-full"
3429  data-aid=""
3430  
3431>
3432  <span data-armada-button-text>Add to cart</span>
3433
3434  
3435</button>
3436
3437    </div>
3438
3439    
3440      
3441        <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;paypal&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:28325052500,&quot;countryCode&quot;:&quot;US&quot;,&quot;merchantName&quot;:&quot;Ruby&#39;s Happy Farm&quot;,&quot;phoneRequired&quot;:false,&quot;companyRequired&quot;:false,&quot;shippingType&quot;:&quot;shipping&quot;,&quot;shopifyPaymentsEnabled&quot;:false,&quot;hasManagedSellingPlanState&quot;:false,&quot;requiresBillingAgreement&quot;:false,&quot;gatewayType&quot;:&quot;CONNECTED&quot;,&quot;merchantId&quot;:&quot;6MCGAVTFS46TL&quot;,&quot;sdkUrl&quot;:&quot;https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=6MCGAVTFS46TL\u0026intent=authorize&quot;,&quot;serviceableCountryCodes&quot;:[&quot;US&quot;]}}" fallback="{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:true,&quot;name&quot;:&quot;buy_it_now&quot;,&quot;wallet_params&quot;:{}}" access-token="25b5ac60f2351cc16acee02ff2f00ec1" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{&quot;id&quot;:39328616972372,&quot;requiresShipping&quot;:false}]" shop-id="28325052500" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton">&nbsp;</div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true">&nbsp;</div> </shopify-accelerated-checkout> </div>
3442    
3443  <input type="hidden" name="product-id" value="6580320403540" /><input type="hidden" name="section-id" value="template--15217094721620__main" /></form>
3444</div>
3445    
3446  <input type="hidden" name="product-id" value="6580320403540" /><input type="hidden" name="section-id" value="template--15217094721620__main" /></form>
3447</div>
3448  </div>
3449
3450
3451  
3452    
3453      
3454          <div
3455            data-name="title"
3456            
3457            
3458          >
3459            
3460            
3461<h3 class="font-heading heading-case text-headings break-anywhere text-h3 leading-heading mb-2"  data-aid="main-form-product-title">Our Crops</h3>
3462
3463            
3464              
3465            
3466          </div>
3467
3468        
3469    
3470      
3471          <div
3472            data-name="@app-AMHZoNjViOTN1elBQT__yotpo_product_reviews_ugc_star_rating_3TB6fB"
3473            class="mb-3 md:mb-4"
3474            
3475          >
3476              <style>
3477                .spr-summary-starrating {
3478                  height: 0;
3479                  overflow: hidden;
3480                  margin-bottom: -16px;
3481                }
3482                @media screen and (min-width: 769px) {
3483                  .spr-summary-starrating {
3484                    margin-bottom: -24px;
3485                  }
3486                }
3487              </style>
3488            
3489
3490            <div id="shopify-block-AMHZoNjViOTN1elBQT__yotpo_product_reviews_ugc_star_rating_3TB6fB" class="shopify-block shopify-app-block">
3491
3492
3493<div class="yotpo bottomLine"
3494    data-domain="rubys-happy-farm.myshopify.com"
3495    data-product-id="6580320403540"
3496    data-product-models="6580320403540"
3497    data-name="Our Crops"
3498    data-url="https://rubyshappyfarm.com/products/mothers-day-gift-box"
3499    data-image-url="files/IMG_5210.jpg"
3500    data-description="&lt;p&gt;Enjoy a day in nature and pick from our crops! Available in the Spring and Fall. &lt;/p&gt;
3501&lt;p&gt;Experience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:&lt;/p&gt;
3502&lt;ul&gt;
3503&lt;li&gt;Freshness and quality&lt;br&gt;
3504&lt;/li&gt;
3505&lt;li&gt;Connect with Nature &lt;/li&gt;
3506&lt;li&gt;Educational Fun&lt;/li&gt;
3507&lt;/ul&gt;
3508&lt;p&gt;Come and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!&lt;/p&gt;"
3509    data-bread-crumbs="">
3510</div>
3511
3512
3513
3514</div>
3515          </div>
3516
3517        
3518    
3519      
3520          <div
3521            data-name="price"
3522            class="mb-3 md:mb-4"
3523            
3524          >
3525            
3526<product-price
3527  compare-at="null"
3528  price="1500"
3529  discount="null"
3530  discount-value="percentage"
3531  
3532  money-format="${{amount}}"
3533  section-id="template--15217094721620__main">
3534  <div
3535    class="flex flex-row flex-wrap items-baseline justify-start"
3536  >
3537    <div
3538      class="mr-2"
3539      data-armada-selector="regular-price-container"
3540      id="price-field"
3541    >
3542      
3543        <span class="sr-only">Regular price</span>
3544      
3545      <span
3546        class="money text-h4 font-heading heading-case leading-none"
3547        data-aid="regular-price"
3548        data-armada-selector="price-template--15217094721620__main"
3549      >
3550        $15.00
3551      </span>
3552    </div>
3553
3554    <div class="flex">
3555      <div
3556        class="line-through flex items-center hidden"
3557        data-armada-selector="compare-at-container"
3558      >
3559        <span
3560          class="sr-only"
3561        >
3562          Regular price
3563        </span>
3564        <span
3565          class="opacity-60 text-base font-body"
3566          data-aid="compare-at-price"
3567          data-armada-selector="compare-at-template--15217094721620__main"
3568        >
3569          
3570        </span>
3571      </div>
3572
3573      <div data-armada-selector="discount-amount-container" class="flex items-center hidden">
3574        <span class="ml-2 text-base font-body" data-armada-selector="discount-template--15217094721620__main" data-aid="discount-amount">
3575          -%
3576        </span>
3577      </div>
3578  </div>
3579  </div>
3580
3581  
3582    
3583
3584    <small
3585      class="unit-price-container hidden"
3586      data-armada-selector="unit-price-container-template--15217094721620__main"
3587    >
3588      <span class="sr-only">Unit price</span>
3589      <span
3590        class="price-item"
3591        data-aid="unit-price"
3592      >
3593        <span
3594          data-armada-selector="unit-price-template--15217094721620__main"
3595        ></span>
3596        <span aria-hidden="true">/</span>
3597        <span class="sr-only">&nbsp;per&nbsp;</span>
3598        <span
3599          data-armada-selector="unit-price-ref-template--15217094721620__main"
3600        >
3601        </span>
3602      </span>
3603    </small>
3604
3605    
3606      <div>
3607        
3608        
3609      </div>
3610    
3611  
3612</product-price>
3613<safe-load-scripts>
3614  
3614<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-price.min.js?v=19185330435363142101710880012" defer="defer" type="module" data-armada-load-key="price"></script>
3614
3615</safe-load-scripts>
3616
3617            
3618              <form method="post" action="/cart/add" id="product-form-installment" accept-charset="UTF-8" class="mt-3 md:mt-4" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3619                
3620
3621
3622
3623<div class="hidden">
3624  <div
3625    class="select relative grid grid-cols-1 grid-rows-1 items-center"
3626    data-armada-selector="select-wrap"
3627  >
3628    <select
3629      class="heading-case bg-none bg-transparent col-start-1 col-end-2 row-start-1 row-end-2"
3630      name="id"
3631      
3632      data-armada-selector="installments-select"
3633      data-aid="armament-dropdown"
3634    >
3635      
3636
3637      
3638        
3639
3640        <option
3641          
3642          value="39328616972372"
3643          
3644          
3645        >
3646          Default Title
3647        </option>
3648      
3649    </select>
3650    <div class='col-start-1 col-end-2 row-start-1 row-end-2 text-body w-30 h-30 pointer-events-none justify-self-end mr-2'>
3651      <svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'><path stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/></svg>
3652    </div>
3653  </div>
3654</div>
3655
3656                <input type="hidden" name="id" value="39328616972372">
3657                
3658              <input type="hidden" name="product-id" value="6580320403540" /><input type="hidden" name="section-id" value="template--15217094721620__main" /></form>
3659            
3660          </div>
3661
3662        
3663    
3664      
3665          
3666
3667        
3668    
3669      
3670          <div
3671            data-name="quantity"
3672            class="mb-3 md:mb-4"
3673            
3674          >
3675            
3676<div class="text-body armament-quantity-selector ">
3677  <div class="mb-2">
3678    <label
3679      for="quantity-6580320403540"
3680      class="text-h6 font-heading heading-case leading-none"
3681    >
3682      Quantity
3683    </label>
3684  </div>
3685  <quantity-selector class="inline-flex border" data-section-id=template--15217094721620__main>
3686    <button
3687      type="button"
3688      class="flex items-center justify-center w-44 h-44 group"
3689      name="minus"
3690      aria-label="Decrease quantity for Our Crops"
3691      data-aid="quantity-minus"
3692    >
3693      
3694
3695
3696    
3697      <svg data-aid="icon-minus" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
3698        <g clip-path="url(#clip0_3976_27975)">
3699          <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
3700        </g>
3701        <defs>
3702          <clipPath id="clip0_3976_27975">
3703            <rect width="16" height="16" fill="none"/>
3704          </clipPath>
3705        </defs>
3706      </svg>
3707    
3708  
3709    </button>
3710      
3711
3712
3713
3714
3715  
3716
3717
3718
3719
3720  <input
3721    type="number"
3722    name="quantity" 
3723    placeholder="" 
3724    class="bg-page border-body focus:ring-0 focus:ring-offset-0 border-0 text-center text-h6 font-heading heading-case" 
3725     
3726    id="quantity-6580320403540"
3727    value="1"
3728    aria-label="Quantity for Our Crops"
3729    
3730    min="0" max="9999"
3731    data-aid="armament-input"
3732    
3733     
3734    
3735  >
3736
3737
3738
3739
3740
3741    <button
3742      type="button"
3743      class="flex items-center justify-center w-44 h-44 group"
3744      name="plus"
3745      aria-label="Increase quantity for Our Crops"
3746      data-aid="quantity-plus"
3747    >
3748      
3749
3750
3751    
3752      <svg data-aid="icon-plus" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
3753        <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
3754        <rect x="7.25" y="16" width="16" height="1.5" transform="rotate(-90 7.25 16)" fill="currentColor"/>
3755      </svg>
3756    
3757  
3758    </button>
3759  </quantity-selector>
3760</div>
3761<safe-load-scripts>
3762  
3762<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-quantity-selector.min.js?v=4456594888488945771710880012" defer="defer" type="module" data-armada-load-key="quantity-selector"></script>
3762
3763</safe-load-scripts>
3764
3765          </div>
3766
3767        
3768    
3769      
3770          <div
3771            data-name="stock-level-indicator"
3772            
3773          >
3774            
3775            
3776
3777<stock-level-indicator
3778  section-id="template--15217094721620__main"
3779  variant-id="39328616972372"
3780>
3781  
3782    
3783      <div
3784        data-armada-selector="stock-level-indicator--39328616972372"
3785        
3786      >
3787        
3788          <span class="flex items-center mb-3 md:mb-4">
3789
3790
3791    
3792    <svg data-aid="icon-exclamation" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="mr-1">
3793      <rect x="7.25" width="1.5" height="12.9309" fill="currentColor"/>
3794      <rect x="7.25" y="14.5" width="1.5" height="1.5" fill="currentColor"/>
3795    </svg>
3796    
3797   Low stock
3798            
3799            
3800              <span class="mx-2">-</span> Selling fast
3801            
3802          </span>
3803        
3804      </div>
3805    
3806  
3807</stock-level-indicator>
3808<safe-load-scripts>
3809  
3809<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-stock-level-indicator.min.js?v=82956637841899343171710880011" defer="defer" type="module" data-armada-load-key="stock-level-indicator"></script>
3809
3810</safe-load-scripts>
3811
3812          </div>
3813
3814        
3815    
3816      
3817          
3818          
3819<div
3820  data-name="payment-buttons"
3821  data-product-form-block="true"
3822  
3823  
3824>
3825  <form method="post" action="/cart/add" id="add-to-cart-form" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3826<input type="hidden" name="id" value="39328616972372" disabled class="product-variant-id" data-armada-variant-id>
3827    
3828    <div
3829      data-name="product-submit-wrapper"
3830      data-product-form-block="true"
3831      class="mb-2 md:mb-3"
3832    >
3833      
3834      
3835
3836      
3837
3838      
3839
3840      
3841
3842      
3843<button
3844  
3845  type=submit
3846  data-aid="product-form-submit-button" data-name="product-submit" aria-label="Add Our Crops to cart" data-product-form-block="true"
3847  class="text-h6 font-heading heading-case leading-none text-center min-h-[44px] py-[13px] px-4 inline-block border border-body transition-colors duration-500 relative z-10 armament-button after:absolute after:top-0 after:bottom-0 after:-z-[1] after:bg-body after:transition-transform after:duration-300 after:ease-out text-body hover:text-page before:absolute before:top-0 before:bottom-0 before:left-0 before:right-1/2 before:-z-[1] before:bg-body before:origin-[0_50%] before:transition-transform before:duration-300 before:ease-out after:right-0 after:left-1/2 after:origin-[100%_50%] armament-button--outline hover:disabled:text-body focus:disabled:text-body w-full"
3848  data-aid=""
3849  
3850>
3851  <span data-armada-button-text>Add to cart</span>
3852
3853  
3854</button>
3855
3856    </div>
3857
3858    
3859      
3860        <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;paypal&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:28325052500,&quot;countryCode&quot;:&quot;US&quot;,&quot;merchantName&quot;:&quot;Ruby&#39;s Happy Farm&quot;,&quot;phoneRequired&quot;:false,&quot;companyRequired&quot;:false,&quot;shippingType&quot;:&quot;shipping&quot;,&quot;shopifyPaymentsEnabled&quot;:false,&quot;hasManagedSellingPlanState&quot;:false,&quot;requiresBillingAgreement&quot;:false,&quot;gatewayType&quot;:&quot;CONNECTED&quot;,&quot;merchantId&quot;:&quot;6MCGAVTFS46TL&quot;,&quot;sdkUrl&quot;:&quot;https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=6MCGAVTFS46TL\u0026intent=authorize&quot;,&quot;serviceableCountryCodes&quot;:[&quot;US&quot;]}}" fallback="{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:true,&quot;name&quot;:&quot;buy_it_now&quot;,&quot;wallet_params&quot;:{}}" access-token="25b5ac60f2351cc16acee02ff2f00ec1" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{&quot;id&quot;:39328616972372,&quot;requiresShipping&quot;:false}]" shop-id="28325052500" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton">&nbsp;</div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true">&nbsp;</div> </shopify-accelerated-checkout> </div>
3861    
3862  <input type="hidden" name="product-id" value="6580320403540" /><input type="hidden" name="section-id" value="template--15217094721620__main" /></form>
3863</div>
3864
3865        
3866    
3867      
3868          <div data-name="description"
3869            class="mb-3 md:mb-4 product-form-accordion rte prose prose-strong:text-body prose-figcaption:text-body prose-blockquote:text-body block !max-w-full"
3870            
3871          >
3872            
3873              
3874
3875
3876
3877
3878
3879
3880
3881<details
3882  is="details-accordion"
3883  animate="true"
3884  onmouseover="loadAccordionScript()"
3885  class="bg-page text-body armament-details-element max-w-full animate-details border-y"
3886  data-aid="product-description-accordion"
3887  
3888  
3889  
3890>
3891  
3892    <summary class="list-none heading-font heading-case leading-none font-heading cursor-pointer flex justify-between outline-offset-[-3px] py-3 md:py-4 group " role="button" aria-expanded="false">
3893      
3894        Details
3895      
3896      <span class="pl-[20px]">
3897  
3898
3899
3900    
3901      <svg data-aid="icon-plus" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes plus-icon">
3902        <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
3903        <rect x="7.25" y="16" width="16" height="1.5" transform="rotate(-90 7.25 16)" fill="currentColor"/>
3904      </svg>
3905    
3906  
3907
3908  
3909
3910
3911    
3912      <svg data-aid="icon-minus" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes minus-icon">
3913        <g clip-path="url(#clip0_3976_27975)">
3914          <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
3915        </g>
3916        <defs>
3917          <clipPath id="clip0_3976_27975">
3918            <rect width="16" height="16" fill="none"/>
3919          </clipPath>
3920        </defs>
3921      </svg>
3922    
3923  
3924</span>
3925    </summary>
3926    <div class="animate-details-content">
3927      
3928        <div class="pb-3 md:pb-4"><p>Enjoy a day in nature and pick from our crops! Available in the Spring and Fall. </p>
3929<p>Experience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:</p>
3930<ul>
3931<li>Freshness and quality<br>
3932</li>
3933<li>Connect with Nature </li>
3934<li>Educational Fun</li>
3935</ul>
3936<p>Come and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!</p></div>
3937      
3938    </div>
3939  
3940</details>
3941<hr class="stroke-body text-body hidden">
3942
3943<script>
3944  function loadAccordionScript() {
3945    import("//rubyshappyfarm.com/cdn/shop/t/11/assets/component-accordion-accessibility.min.js?v=80655171333451353951710880013");
3946  }
3947</script>
3947
3948
3949
3950
3951
3952            
3953          </div>
3954
3955        
3956    
3957      
3958          <div
3959            data-name="social-sharing"
3960            class="flex justify-end"
3961            
3962          >
3963            
3964
3965
3966
3967  
3968
3969  
3970<div id="sharing" class="flex flex-col pb-3 md:pb-4 text-right" data-permalink="https://rubyshappyfarm.com/products/mothers-day-gift-box" >
3971    
3972    
3973<h3 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none mb-2"  data-aid="social-share-heading">Share</h3>
3974
3975    <div class="flex flex-row translate-x-3">
3976      
3977      <!-- https://developers.facebook.com/docs/plugins/share-button/ -->
3978      <a target="_blank" rel="nopener noreferrer" href="//www.facebook.com/sharer.php?u=https://rubyshappyfarm.com/products/mothers-day-gift-box" class="group p-3">
3979        
3980
3981
3982    <svg data-aid="icon-facebook" fill="currentColor" width="16" height="16" aria-hidden="true" focusable="false" role="presentation" viewBox="0 0 32 32" class="icon-hover-classes" >
3983      <path d="M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z"></path>
3984    </svg>
3985  
3986        <span class="sr-only">Share on Facebook</span>
3987      </a>
3988      
3989
3990      
3991      <!-- https://dev.twitter.com/docs/intents -->
3992      <a target="_blank" rel="nopener noreferrer" href="//twitter.com/share?url=https://rubyshappyfarm.com/products/mothers-day-gift-box&amp;text=Our Crops" class="group p-3">
3993        
3994
3995
3996    <svg data-aid="icon-twitter" fill="none" width="16" height="16" aria-hidden="true" focusable="false" role="presentation"  viewBox="0 0 31 31" class="icon-hover-classes" >
3997      <path fill-rule="evenodd" clip-rule="evenodd" d="M15.0889 10.932L15.0239 9.84369C14.8288 7.023 16.5412 4.44662 19.2508 3.44717C20.2479 3.09181 21.9387 3.04739 23.0442 3.35833C23.4778 3.49159 24.3015 3.93579 24.8867 4.33557L25.9489 5.06851L27.1194 4.69094C27.7697 4.49104 28.6368 4.15789 29.027 3.93579C29.3955 3.7359 29.7206 3.62485 29.7206 3.69148C29.7206 4.06905 28.9186 5.35724 28.2466 6.06796C27.3362 7.06742 27.5963 7.15626 29.4388 6.48996C30.5444 6.11238 30.566 6.11238 30.3493 6.53438C30.2192 6.75648 29.5472 7.53383 28.8319 8.24456C27.618 9.46611 27.553 9.59938 27.553 10.621C27.553 12.198 26.816 15.4851 26.079 17.2841C24.7133 20.66 21.787 24.147 18.8606 25.9016C14.7421 28.3669 9.25788 28.9888 4.64075 27.5452C3.10171 27.0565 0.457153 25.8128 0.457153 25.5907C0.457153 25.524 1.25919 25.4352 2.23464 25.413C4.27224 25.3686 6.30985 24.7911 8.04398 23.7694L9.21452 23.0587L7.87057 22.5923C5.96302 21.926 4.25057 20.3935 3.81704 18.9498C3.68698 18.4834 3.73033 18.4612 4.94422 18.4612L6.20147 18.439L5.13931 17.9282C3.88206 17.2841 2.7332 16.1958 2.16961 15.0853C1.75775 14.2857 1.23751 12.2646 1.38925 12.1091C1.4326 12.0425 1.88781 12.1758 2.40805 12.3534C3.90374 12.9087 4.09883 12.7754 3.23177 11.8426C1.60602 10.1546 1.10745 7.64488 1.88781 5.2684L2.25632 4.20231L3.68698 5.64597C6.61332 8.5555 10.0599 10.2879 14.0051 10.7987L15.0889 10.932Z" fill="currentColor"/>
3998    </svg>
3999  
4000        <span class="sr-only">Tweet</span>
4001      </a>
4002      
4003
4004      
4005      <!--
4006      https://developers.pinterest.com/pin_it/
4007      Pinterest get data from the same Open Graph meta tags Facebook uses
4008      -->
4009
4010      <a target="_blank" rel="nopener noreferrer" href="//pinterest.com/pin/create/button/?url=https://rubyshappyfarm.com/products/mothers-day-gift-box&amp;media=//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?crop=center&height=2000&v=1715204565&width=2000&amp;description=Our Crops" class="group p-3">
4011        
4012
4013
4014    <svg data-aid="icon-pinterest" fill="currentColor" width="16" height="16" aria-hidden="true" focusable="false" role="presentation" viewBox="0 0 32 32" class="icon-hover-classes" >
4015      <path d="M27.52 9.6c-.64-5.76-6.4-8.32-12.8-7.68-4.48.64-9.6 4.48-9.6 10.24 0 3.2.64 5.76 3.84 6.4 1.28-2.56-.64-3.2-.64-4.48-1.28-7.04 8.32-12.16 13.44-7.04 3.2 3.84 1.28 14.08-4.48 13.44-5.12-1.28 2.56-9.6-1.92-11.52-3.2-1.28-5.12 4.48-3.84 7.04-1.28 4.48-3.2 8.96-1.92 15.36 2.56-1.92 3.84-5.76 4.48-9.6 1.28.64 1.92 1.92 3.84 1.92 6.4-.64 10.24-7.68 9.6-14.08z"></path>
4016    </svg>
4017  
4018        <span class="sr-only">Pin it</span>
4019      </a>
4020      
4021    </div>
4022  </div>
4023
4024
4025
4026          </div>
4027
4028        
4029    
4030  
4031
4032  <template id="product-form-template--15217094721620__main-6580320403540">
4033    
4034    
4035<button
4036  
4037  type=button
4038  data-button-loading disabled aria-label="Adding to cart..."
4039  class="text-h6 font-heading heading-case leading-none text-center min-h-[44px] py-[13px] px-4 inline-block border border-body transition-colors duration-500 relative z-10 armament-button after:absolute after:top-0 after:bottom-0 after:-z-[1] after:bg-body after:transition-transform after:duration-300 after:ease-out text-page hover:text-body after:right-0 after:left-0 armament-button--filled hover:disabled:text-page focus:disabled:text-page min-w-full"
4040  data-aid="button-adding"
4041  
4042>
4043  <span data-armada-button-text>Adding...</span>
4044
4045  
4046    <span data-armada-button-load-icon class="hidden absolute animate-spin w-4 h-4 rounded-full border-2 left-[calc(50%-2px)] top-1/2"></span>
4047  
4048</button>
4049
4050  </template>
4051</product-form>
4052<safe-load-scripts>
4053  
4053<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-product-form.min.js?v=128530044118416936161710880013" defer="defer" type="module" data-armada-load-key="product-form"></script>
4053
4054</safe-load-scripts>
4055
4056</div>
4057
4058
4059  <div
4060    data-armada-selector="sticky-atc-form-wrapper"
4061    class="max-w-full"
4062  >
4063    
4064
4065
4066
4067<product-form-sticky
4068  class="block fixed top-0 left-0 bottom-auto w-full bg-page text-body p-3 lg:px-6 lg:py-4 z-[102] slide-animation"
4069  product-id="6580320403540"
4070  data-armada-selector="sticky-product-form"
4071  data-aid="product-form-sticky-container"
4072  data-section-id="template--15217094721620__main"
4073  hidden
4074>
4075  
4076
4077
4078
4079<product-form
4080  product="{&quot;id&quot;:6580320403540,&quot;title&quot;:&quot;Our Crops&quot;,&quot;handle&quot;:&quot;mothers-day-gift-box&quot;,&quot;description&quot;:&quot;\u003cp\u003eEnjoy a day in nature and pick from our crops! Available in the Spring and Fall. \u003c\/p\u003e\n\u003cp\u003eExperience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFreshness and quality\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eConnect with Nature \u003c\/li\u003e\n\u003cli\u003eEducational Fun\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eCome and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!\u003c\/p\u003e&quot;,&quot;published_at&quot;:&quot;2021-04-28T22:10:23-05:00&quot;,&quot;created_at&quot;:&quot;2021-04-28T21:44:13-05:00&quot;,&quot;vendor&quot;:&quot;Ruby&#39;s Happy Farm&quot;,&quot;type&quot;:&quot;&quot;,&quot;tags&quot;:[],&quot;price&quot;:1500,&quot;price_min&quot;:1500,&quot;price_max&quot;:1500,&quot;available&quot;:true,&quot;price_varies&quot;:false,&quot;compare_at_price&quot;:null,&quot;compare_at_price_min&quot;:0,&quot;compare_at_price_max&quot;:0,&quot;compare_at_price_varies&quot;:false,&quot;variants&quot;:[{&quot;id&quot;:39328616972372,&quot;title&quot;:&quot;Default Title&quot;,&quot;option1&quot;:&quot;Default Title&quot;,&quot;option2&quot;:null,&quot;option3&quot;:null,&quot;sku&quot;:&quot;&quot;,&quot;requires_shipping&quot;:false,&quot;taxable&quot;:true,&quot;featured_image&quot;:null,&quot;available&quot;:true,&quot;name&quot;:&quot;Our Crops&quot;,&quot;public_title&quot;:null,&quot;options&quot;:[&quot;Default Title&quot;],&quot;price&quot;:1500,&quot;weight&quot;:0,&quot;compare_at_price&quot;:null,&quot;inventory_management&quot;:&quot;shopify&quot;,&quot;barcode&quot;:null,&quot;requires_selling_plan&quot;:false,&quot;selling_plan_allocations&quot;:[],&quot;quantity_rule&quot;:{&quot;min&quot;:1,&quot;max&quot;:null,&quot;increment&quot;:1}}],&quot;images&quot;:[&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565&quot;,&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970&quot;,&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&quot;],&quot;featured_image&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565&quot;,&quot;options&quot;:[&quot;Title&quot;],&quot;media&quot;:[{&quot;alt&quot;:null,&quot;id&quot;:24137241460820,&quot;position&quot;:1,&quot;preview_image&quot;:{&quot;aspect_ratio&quot;:1.503,&quot;height&quot;:2012,&quot;width&quot;:3024,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565&quot;},&quot;aspect_ratio&quot;:1.503,&quot;height&quot;:2012,&quot;media_type&quot;:&quot;image&quot;,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565&quot;,&quot;width&quot;:3024},{&quot;alt&quot;:null,&quot;id&quot;:25217544126548,&quot;position&quot;:2,&quot;preview_image&quot;:{&quot;aspect_ratio&quot;:0.75,&quot;height&quot;:4032,&quot;width&quot;:3024,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970&quot;},&quot;aspect_ratio&quot;:0.75,&quot;height&quot;:4032,&quot;media_type&quot;:&quot;image&quot;,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970&quot;,&quot;width&quot;:3024},{&quot;alt&quot;:null,&quot;id&quot;:22782930780244,&quot;position&quot;:3,&quot;preview_image&quot;:{&quot;aspect_ratio&quot;:0.958,&quot;height&quot;:1503,&quot;width&quot;:1440,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&quot;},&quot;aspect_ratio&quot;:0.958,&quot;height&quot;:1503,&quot;media_type&quot;:&quot;image&quot;,&quot;src&quot;:&quot;\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232&quot;,&quot;width&quot;:1440}],&quot;requires_selling_plan&quot;:false,&quot;selling_plan_groups&quot;:[],&quot;content&quot;:&quot;\u003cp\u003eEnjoy a day in nature and pick from our crops! Available in the Spring and Fall. \u003c\/p\u003e\n\u003cp\u003eExperience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFreshness and quality\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eConnect with Nature \u003c\/li\u003e\n\u003cli\u003eEducational Fun\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eCome and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!\u003c\/p\u003e&quot;}"
4081  section-id="sticky-template--15217094721620__main"
4082  
4083  
4084  block-order="title,price,payment-buttons"
4085  option-type="buttons"
4086  force-selection="false"
4087  data-aid="main-product-form"
4088  data-name="main-product-form"
4089  class="flex flex-col lg:grid lg:grid-cols-[repeat(2,minmax(0,auto)),repeat(2,1fr)] gap-[10px] lg:gap-30 items-center justify-start"
4090  data-armada-sticky-form="true"
4091>
4092  
4093  
4094
4095  <div >
4096    
4097    
4098<div
4099  class="hidden"
4100  data-name="basic-product-form"
4101  data-aid="basic-product-form"
4102>
4103  <form method="post" action="/cart/add" id="add-to-cart-form" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4104    
4105    
4106    
4107    
4108
4109    
4110<h3 class="font-heading heading-case text-headings break-anywhere text-h3 leading-heading no-js-show pb-3 md:pb-4"  data-aid="basic-product-form-title">Our Crops</h3>
4111
4112    
4113
4114
4115
4116<div class="no-js-show">
4117  <div
4118    class="select relative grid grid-cols-1 grid-rows-1 items-center"
4119    data-armada-selector="select-wrap"
4120  >
4121    <select
4122      class="heading-case bg-none bg-transparent col-start-1 col-end-2 row-start-1 row-end-2"
4123      name="id"
4124      id="basic-product-select-template--15217094721620__main-6580320403540"
4125      data-armada-selector="basic-product-select-template--15217094721620__main-6580320403540" data-aid="basic-variant-selector"
4126      data-aid="armament-dropdown"
4127    >
4128      
4129        <option
4130          
4131          value=""
4132          disabled
4133          selected
4134        >
4135          Choose
4136        </option>
4137      
4138
4139      
4140        
4141
4142        <option
4143          
4144          value="39328616972372"
4145          
4146          
4147        >
4148          Default Title
4149        </option>
4150      
4151    </select>
4152    <div class='col-start-1 col-end-2 row-start-1 row-end-2 text-body w-30 h-30 pointer-events-none justify-self-end mr-2'>
4153      <svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'><path stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/></svg>
4154    </div>
4155  </div>
4156</div>
4157
4158
4159    
4160<div class="text-body armament-quantity-selector no-js-show pt-3 md:pt-4">
4161  <div class="mb-2">
4162    <label
4163      for="quantity-no-js-quantity"
4164      class="text-h6 font-heading heading-case leading-none"
4165    >
4166      Quantity
4167    </label>
4168  </div>
4169  <quantity-selector class="inline-flex border" data-section-id=template--15217094721620__main>
4170    <button
4171      type="button"
4172      class="flex items-center justify-center w-44 h-44 group"
4173      name="minus"
4174      aria-label="Decrease quantity for Our Crops"
4175      data-aid="quantity-minus"
4176    >
4177      
4178
4179
4180    
4181      <svg data-aid="icon-minus" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
4182        <g clip-path="url(#clip0_3976_27975)">
4183          <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
4184        </g>
4185        <defs>
4186          <clipPath id="clip0_3976_27975">
4187            <rect width="16" height="16" fill="none"/>
4188          </clipPath>
4189        </defs>
4190      </svg>
4191    
4192  
4193    </button>
4194      
4195
4196
4197
4198
4199  
4200
4201
4202
4203
4204  <input
4205    type="number"
4206    name="quantity" 
4207    placeholder="" 
4208    class="bg-page border-body focus:ring-0 focus:ring-offset-0 border-0 text-center text-h6 font-heading heading-case" 
4209     
4210    id="quantity-no-js-quantity"
4211    value="1"
4212    aria-label="Quantity for Our Crops"
4213    
4214    min="0" max="9999"
4215    data-aid="armament-input"
4216    
4217     
4218    
4219  >
4220
4221
4222
4223
4224
4225    <button
4226      type="button"
4227      class="flex items-center justify-center w-44 h-44 group"
4228      name="plus"
4229      aria-label="Increase quantity for Our Crops"
4230      data-aid="quantity-plus"
4231    >
4232      
4233
4234
4235    
4236      <svg data-aid="icon-plus" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
4237        <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
4238        <rect x="7.25" y="16" width="16" height="1.5" transform="rotate(-90 7.25 16)" fill="currentColor"/>
4239      </svg>
4240    
4241  
4242    </button>
4243  </quantity-selector>
4244</div>
4245<safe-load-scripts>
4246  
4246<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-quantity-selector.min.js?v=4456594888488945771710880012" defer="defer" type="module" data-armada-load-key="quantity-selector"></script>
4246
4247</safe-load-scripts>
4248
4249
4250    
4251      
4252<div
4253  data-name="payment-buttons"
4254  
4255  class="ml-auto order-last w-full lg:w-auto lg:max-w-max lg:min-w-[200px] lg:justify-self-end col-start-4 no-js-show"
4256  
4257>
4258  <form method="post" action="/cart/add" id="add-to-cart-form" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4259<input type="hidden" name="id" value="" disabled class="product-variant-id" data-armada-variant-id>
4260    
4261    <div
4262      data-name="product-submit-wrapper"
4263      
4264      
4265    >
4266      
4267      
4268
4269      
4270
4271      
4272
4273      
4274
4275      
4276<button
4277  
4278  type=submit
4279  data-aid="product-form-submit-button" data-name="product-submit" aria-label="Add Our Crops to cart"
4280  class="text-h6 font-heading heading-case leading-none text-center min-h-[44px] py-[13px] px-4 inline-block border border-body transition-colors duration-500 relative z-10 armament-button after:absolute after:top-0 after:bottom-0 after:-z-[1] after:bg-body after:transition-transform after:duration-300 after:ease-out text-body hover:text-page before:absolute before:top-0 before:bottom-0 before:left-0 before:right-1/2 before:-z-[1] before:bg-body before:origin-[0_50%] before:transition-transform before:duration-300 before:ease-out after:right-0 after:left-1/2 after:origin-[100%_50%] armament-button--outline hover:disabled:text-body focus:disabled:text-body w-full"
4281  data-aid=""
4282  
4283>
4284  <span data-armada-button-text>Add to cart</span>
4285
4286  
4287</button>
4288
4289    </div>
4290
4291    
4292  <input type="hidden" name="product-id" value="6580320403540" /><input type="hidden" name="section-id" value="template--15217094721620__main" /></form>
4293</div>
4294    
4295  <input type="hidden" name="product-id" value="6580320403540" /><input type="hidden" name="section-id" value="template--15217094721620__main" /></form>
4296</div>
4297  </div>
4298
4299<template id="product-form-sticky-template--15217094721620__main-6580320403540">
4300  
4301    
4302      
4303          <div
4304            data-name="title"
4305            class="hidden lg:flex order-1 max-w-max"
4306            
4307          >
4308            
4309            
4310<h3 class="font-heading heading-case text-headings break-anywhere text-h4 leading-none"  data-aid="main-form-product-title">Our Crops</h3>
4311
4312            
4313          </div>
4314
4315        
4316    
4317      
4318          <div
4319            data-name="@app-AMHZoNjViOTN1elBQT__yotpo_product_reviews_ugc_star_rating_3TB6fB-1"
4320            class="mb-3 md:mb-4"
4321            
4322          >
4323              <style>
4324                .spr-summary-starrating {
4325                  height: 0;
4326                  overflow: hidden;
4327                  margin-bottom: -16px;
4328                }
4329                @media screen and (min-width: 769px) {
4330                  .spr-summary-starrating {
4331                    margin-bottom: -24px;
4332                  }
4333                }
4334              </style>
4335            
4336
4337            <div id="shopify-block-AMHZoNjViOTN1elBQT__yotpo_product_reviews_ugc_star_rating_3TB6fB-1" class="shopify-block shopify-app-block">
4338
4339
4340<div class="yotpo bottomLine"
4341    data-domain="rubys-happy-farm.myshopify.com"
4342    data-product-id="6580320403540"
4343    data-product-models="6580320403540"
4344    data-name="Our Crops"
4345    data-url="https://rubyshappyfarm.com/products/mothers-day-gift-box"
4346    data-image-url="files/IMG_5210.jpg"
4347    data-description="&lt;p&gt;Enjoy a day in nature and pick from our crops! Available in the Spring and Fall. &lt;/p&gt;
4348&lt;p&gt;Experience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:&lt;/p&gt;
4349&lt;ul&gt;
4350&lt;li&gt;Freshness and quality&lt;br&gt;
4351&lt;/li&gt;
4352&lt;li&gt;Connect with Nature &lt;/li&gt;
4353&lt;li&gt;Educational Fun&lt;/li&gt;
4354&lt;/ul&gt;
4355&lt;p&gt;Come and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!&lt;/p&gt;"
4356    data-bread-crumbs="">
4357</div>
4358
4359
4360
4361</div>
4362          </div>
4363
4364        
4365    
4366      
4367          <div
4368            data-name="price"
4369            class="hidden lg:block order-2 pb-0 text-h5 font-heading heading-case"
4370            
4371          >
4372            
4373<product-price
4374  compare-at="null"
4375  price="1500"
4376  discount="null"
4377  discount-value="percentage"
4378  
4379  money-format="${{amount}}"
4380  section-id="template--15217094721620__main">
4381  <div
4382    class="flex flex-row flex-wrap items-baseline justify-start"
4383  >
4384    <div
4385      class="mr-2"
4386      data-armada-selector="regular-price-container"
4387      id="price-field"
4388    >
4389      
4390        <span class="sr-only">Regular price</span>
4391      
4392      <span
4393        class="money"
4394        data-aid="regular-price"
4395        data-armada-selector="price-template--15217094721620__main"
4396      >
4397        $15.00
4398      </span>
4399    </div>
4400
4401    <div class="flex">
4402      <div
4403        class="line-through flex items-center hidden"
4404        data-armada-selector="compare-at-container"
4405      >
4406        <span
4407          class="sr-only"
4408        >
4409          Regular price
4410        </span>
4411        <span
4412          class="opacity-60 text-base font-body"
4413          data-aid="compare-at-price"
4414          data-armada-selector="compare-at-template--15217094721620__main"
4415        >
4416          
4417        </span>
4418      </div>
4419
4420      <div data-armada-selector="discount-amount-container" class="flex items-center hidden">
4421        <span class="ml-2 text-base font-body" data-armada-selector="discount-template--15217094721620__main" data-aid="discount-amount">
4422          -%
4423        </span>
4424      </div>
4425  </div>
4426  </div>
4427
4428  
4429</product-price>
4430<safe-load-scripts>
4431  
4431<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-price.min.js?v=19185330435363142101710880012" defer="defer" type="module" data-armada-load-key="price"></script>
4431
4432</safe-load-scripts>
4433
4434            
4435          </div>
4436
4437        
4438    
4439      
4440          
4441
4442        
4443    
4444      
4445          <div
4446            data-name="quantity"
4447            class="mb-3 md:mb-4"
4448            
4449          >
4450            
4451<div class="text-body armament-quantity-selector ">
4452  <div class="mb-2">
4453    <label
4454      for="quantity-6580320403540"
4455      class="text-h6 font-heading heading-case leading-none"
4456    >
4457      Quantity
4458    </label>
4459  </div>
4460  <quantity-selector class="inline-flex border" data-section-id=template--15217094721620__main>
4461    <button
4462      type="button"
4463      class="flex items-center justify-center w-44 h-44 group"
4464      name="minus"
4465      aria-label="Decrease quantity for Our Crops"
4466      data-aid="quantity-minus"
4467    >
4468      
4469
4470
4471    
4472      <svg data-aid="icon-minus" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
4473        <g clip-path="url(#clip0_3976_27975)">
4474          <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
4475        </g>
4476        <defs>
4477          <clipPath id="clip0_3976_27975">
4478            <rect width="16" height="16" fill="none"/>
4479          </clipPath>
4480        </defs>
4481      </svg>
4482    
4483  
4484    </button>
4485      
4486
4487
4488
4489
4490  
4491
4492
4493
4494
4495  <input
4496    type="number"
4497    name="quantity" 
4498    placeholder="" 
4499    class="bg-page border-body focus:ring-0 focus:ring-offset-0 border-0 text-center text-h6 font-heading heading-case" 
4500     
4501    id="quantity-6580320403540"
4502    value="1"
4503    aria-label="Quantity for Our Crops"
4504    
4505    min="0" max="9999"
4506    data-aid="armament-input"
4507    
4508     
4509    
4510  >
4511
4512
4513
4514
4515
4516    <button
4517      type="button"
4518      class="flex items-center justify-center w-44 h-44 group"
4519      name="plus"
4520      aria-label="Increase quantity for Our Crops"
4521      data-aid="quantity-plus"
4522    >
4523      
4524
4525
4526    
4527      <svg data-aid="icon-plus" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
4528        <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
4529        <rect x="7.25" y="16" width="16" height="1.5" transform="rotate(-90 7.25 16)" fill="currentColor"/>
4530      </svg>
4531    
4532  
4533    </button>
4534  </quantity-selector>
4535</div>
4536<safe-load-scripts>
4537  
4537<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-quantity-selector.min.js?v=4456594888488945771710880012" defer="defer" type="module" data-armada-load-key="quantity-selector"></script>
4537
4538</safe-load-scripts>
4539
4540          </div>
4541
4542        
4543    
4544      
4545          <div
4546            data-name="stock-level-indicator"
4547            
4548          >
4549            
4550            
4551
4552<stock-level-indicator
4553  section-id="template--15217094721620__main"
4554  variant-id="39328616972372"
4555>
4556  
4557    
4558      <div
4559        data-armada-selector="stock-level-indicator--39328616972372"
4560        
4561      >
4562        
4563          <span class="flex items-center mb-3 md:mb-4">
4564
4565
4566    
4567    <svg data-aid="icon-exclamation" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="mr-1">
4568      <rect x="7.25" width="1.5" height="12.9309" fill="currentColor"/>
4569      <rect x="7.25" y="14.5" width="1.5" height="1.5" fill="currentColor"/>
4570    </svg>
4571    
4572   Low stock
4573            
4574            
4575              <span class="mx-2">-</span> Selling fast
4576            
4577          </span>
4578        
4579      </div>
4580    
4581  
4582</stock-level-indicator>
4583<safe-load-scripts>
4584  
4584<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-stock-level-indicator.min.js?v=82956637841899343171710880011" defer="defer" type="module" data-armada-load-key="stock-level-indicator"></script>
4584
4585</safe-load-scripts>
4586
4587          </div>
4588
4589        
4590    
4591      
4592          
4593          
4594<div
4595  data-name="payment-buttons"
4596  data-product-form-block="true"
4597  class="ml-auto order-last w-full lg:w-auto lg:max-w-max lg:min-w-[200px] lg:justify-self-end col-start-4"
4598  
4599>
4600  <form method="post" action="/cart/add" id="add-to-cart-form" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
4601<input type="hidden" name="id" value="39328616972372" disabled class="product-variant-id" data-armada-variant-id>
4602    
4603    <div
4604      data-name="product-submit-wrapper"
4605      data-product-form-block="true"
4606      
4607    >
4608      
4609      
4610
4611      
4612
4613      
4614
4615      
4616
4617      
4618<button
4619  
4620  type=submit
4621  data-aid="product-form-submit-button" data-name="product-submit" aria-label="Add Our Crops to cart" data-product-form-block="true"
4622  class="text-h6 font-heading heading-case leading-none text-center min-h-[44px] py-[13px] px-4 inline-block border border-body transition-colors duration-500 relative z-10 armament-button after:absolute after:top-0 after:bottom-0 after:-z-[1] after:bg-body after:transition-transform after:duration-300 after:ease-out text-page hover:text-body after:right-0 after:left-0 armament-button--filled hover:disabled:text-page focus:disabled:text-page w-full"
4623  data-aid=""
4624  
4625>
4626  <span data-armada-button-text>Add to cart</span>
4627
4628  
4629</button>
4630
4631    </div>
4632
4633    
4634  <input type="hidden" name="product-id" value="6580320403540" /><input type="hidden" name="section-id" value="template--15217094721620__main" /></form>
4635</div>
4636
4637        
4638    
4639      
4640          <div data-name="description"
4641            class="mb-3 md:mb-4 product-form-accordion rte prose prose-strong:text-body prose-figcaption:text-body prose-blockquote:text-body block !max-w-full"
4642            
4643          >
4644            
4645              
4646
4647
4648
4649
4650
4651
4652
4653<details
4654  is="details-accordion"
4655  animate="true"
4656  onmouseover="loadAccordionScript()"
4657  class="bg-page text-body armament-details-element max-w-full animate-details border-y"
4658  data-aid="product-description-accordion"
4659  
4660  
4661  
4662>
4663  
4664    <summary class="list-none heading-font heading-case leading-none font-heading cursor-pointer flex justify-between outline-offset-[-3px] py-3 md:py-4 group " role="button" aria-expanded="false">
4665      
4666        Details
4667      
4668      <span class="pl-[20px]">
4669  
4670
4671
4672    
4673      <svg data-aid="icon-plus" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes plus-icon">
4674        <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
4675        <rect x="7.25" y="16" width="16" height="1.5" transform="rotate(-90 7.25 16)" fill="currentColor"/>
4676      </svg>
4677    
4678  
4679
4680  
4681
4682
4683    
4684      <svg data-aid="icon-minus" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes minus-icon">
4685        <g clip-path="url(#clip0_3976_27975)">
4686          <rect y="7.25" width="16" height="1.5" fill="currentColor"/>
4687        </g>
4688        <defs>
4689          <clipPath id="clip0_3976_27975">
4690            <rect width="16" height="16" fill="none"/>
4691          </clipPath>
4692        </defs>
4693      </svg>
4694    
4695  
4696</span>
4697    </summary>
4698    <div class="animate-details-content">
4699      
4700        <div class="pb-3 md:pb-4"><p>Enjoy a day in nature and pick from our crops! Available in the Spring and Fall. </p>
4701<p>Experience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:</p>
4702<ul>
4703<li>Freshness and quality<br>
4704</li>
4705<li>Connect with Nature </li>
4706<li>Educational Fun</li>
4707</ul>
4708<p>Come and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!</p></div>
4709      
4710    </div>
4711  
4712</details>
4713<hr class="stroke-body text-body hidden">
4714
4715<script>
4716  function loadAccordionScript() {
4717    import("//rubyshappyfarm.com/cdn/shop/t/11/assets/component-accordion-accessibility.min.js?v=80655171333451353951710880013");
4718  }
4719</script>
4719
4720
4721
4722
4723
4724            
4725          </div>
4726
4727        
4728    
4729      
4730          <div
4731            data-name="social-sharing"
4732            class="flex justify-end"
4733            
4734          >
4735            
4736
4737
4738
4739  
4740
4741  
4742<div id="sharing" class="flex flex-col pb-3 md:pb-4 text-right" data-permalink="https://rubyshappyfarm.com/products/mothers-day-gift-box" >
4743    
4744    
4745<h3 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none mb-2"  data-aid="social-share-heading">Share</h3>
4746
4747    <div class="flex flex-row translate-x-3">
4748      
4749      <!-- https://developers.facebook.com/docs/plugins/share-button/ -->
4750      <a target="_blank" rel="nopener noreferrer" href="//www.facebook.com/sharer.php?u=https://rubyshappyfarm.com/products/mothers-day-gift-box" class="group p-3">
4751        
4752
4753
4754    <svg data-aid="icon-facebook" fill="currentColor" width="16" height="16" aria-hidden="true" focusable="false" role="presentation" viewBox="0 0 32 32" class="icon-hover-classes" >
4755      <path d="M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z"></path>
4756    </svg>
4757  
4758        <span class="sr-only">Share on Facebook</span>
4759      </a>
4760      
4761
4762      
4763      <!-- https://dev.twitter.com/docs/intents -->
4764      <a target="_blank" rel="nopener noreferrer" href="//twitter.com/share?url=https://rubyshappyfarm.com/products/mothers-day-gift-box&amp;text=Our Crops" class="group p-3">
4765        
4766
4767
4768    <svg data-aid="icon-twitter" fill="none" width="16" height="16" aria-hidden="true" focusable="false" role="presentation"  viewBox="0 0 31 31" class="icon-hover-classes" >
4769      <path fill-rule="evenodd" clip-rule="evenodd" d="M15.0889 10.932L15.0239 9.84369C14.8288 7.023 16.5412 4.44662 19.2508 3.44717C20.2479 3.09181 21.9387 3.04739 23.0442 3.35833C23.4778 3.49159 24.3015 3.93579 24.8867 4.33557L25.9489 5.06851L27.1194 4.69094C27.7697 4.49104 28.6368 4.15789 29.027 3.93579C29.3955 3.7359 29.7206 3.62485 29.7206 3.69148C29.7206 4.06905 28.9186 5.35724 28.2466 6.06796C27.3362 7.06742 27.5963 7.15626 29.4388 6.48996C30.5444 6.11238 30.566 6.11238 30.3493 6.53438C30.2192 6.75648 29.5472 7.53383 28.8319 8.24456C27.618 9.46611 27.553 9.59938 27.553 10.621C27.553 12.198 26.816 15.4851 26.079 17.2841C24.7133 20.66 21.787 24.147 18.8606 25.9016C14.7421 28.3669 9.25788 28.9888 4.64075 27.5452C3.10171 27.0565 0.457153 25.8128 0.457153 25.5907C0.457153 25.524 1.25919 25.4352 2.23464 25.413C4.27224 25.3686 6.30985 24.7911 8.04398 23.7694L9.21452 23.0587L7.87057 22.5923C5.96302 21.926 4.25057 20.3935 3.81704 18.9498C3.68698 18.4834 3.73033 18.4612 4.94422 18.4612L6.20147 18.439L5.13931 17.9282C3.88206 17.2841 2.7332 16.1958 2.16961 15.0853C1.75775 14.2857 1.23751 12.2646 1.38925 12.1091C1.4326 12.0425 1.88781 12.1758 2.40805 12.3534C3.90374 12.9087 4.09883 12.7754 3.23177 11.8426C1.60602 10.1546 1.10745 7.64488 1.88781 5.2684L2.25632 4.20231L3.68698 5.64597C6.61332 8.5555 10.0599 10.2879 14.0051 10.7987L15.0889 10.932Z" fill="currentColor"/>
4770    </svg>
4771  
4772        <span class="sr-only">Tweet</span>
4773      </a>
4774      
4775
4776      
4777      <!--
4778      https://developers.pinterest.com/pin_it/
4779      Pinterest get data from the same Open Graph meta tags Facebook uses
4780      -->
4781
4782      <a target="_blank" rel="nopener noreferrer" href="//pinterest.com/pin/create/button/?url=https://rubyshappyfarm.com/products/mothers-day-gift-box&amp;media=//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?crop=center&height=2000&v=1715204565&width=2000&amp;description=Our Crops" class="group p-3">
4783        
4784
4785
4786    <svg data-aid="icon-pinterest" fill="currentColor" width="16" height="16" aria-hidden="true" focusable="false" role="presentation" viewBox="0 0 32 32" class="icon-hover-classes" >
4787      <path d="M27.52 9.6c-.64-5.76-6.4-8.32-12.8-7.68-4.48.64-9.6 4.48-9.6 10.24 0 3.2.64 5.76 3.84 6.4 1.28-2.56-.64-3.2-.64-4.48-1.28-7.04 8.32-12.16 13.44-7.04 3.2 3.84 1.28 14.08-4.48 13.44-5.12-1.28 2.56-9.6-1.92-11.52-3.2-1.28-5.12 4.48-3.84 7.04-1.28 4.48-3.2 8.96-1.92 15.36 2.56-1.92 3.84-5.76 4.48-9.6 1.28.64 1.92 1.92 3.84 1.92 6.4-.64 10.24-7.68 9.6-14.08z"></path>
4788    </svg>
4789  
4790        <span class="sr-only">Pin it</span>
4791      </a>
4792      
4793    </div>
4794  </div>
4795
4796
4797
4798          </div>
4799
4800        
4801    
4802  
4803
4804  
4805    
4806    
4807<button
4808  
4809  type=button
4810  data-button-loading disabled aria-label="Adding to cart..."
4811  class="text-h6 font-heading heading-case leading-none text-center min-h-[44px] py-[13px] px-4 inline-block border border-body transition-colors duration-500 relative z-10 armament-button after:absolute after:top-0 after:bottom-0 after:-z-[1] after:bg-body after:transition-transform after:duration-300 after:ease-out text-page hover:text-body after:right-0 after:left-0 armament-button--filled hover:disabled:text-page focus:disabled:text-page min-w-full"
4812  data-aid="button-adding"
4813  
4814>
4815  <span data-armada-button-text>Adding...</span>
4816
4817  
4818    <span data-armada-button-load-icon class="hidden absolute animate-spin w-4 h-4 rounded-full border-2 left-[calc(50%-2px)] top-1/2"></span>
4819  
4820</button>
4821
4822  </template>
4823</product-form>
4824<safe-load-scripts>
4825  
4825<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-product-form.min.js?v=128530044118416936161710880013" defer="defer" type="module" data-armada-load-key="product-form"></script>
4825
4826</safe-load-scripts>
4827
4828</product-form-sticky>
4829
4830<safe-load-scripts>
4831  
4831<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-product-form-sticky.min.js?v=46624555492298382401710880011" defer="defer" type="module" data-armada-load-key="product-form-sticky"></script>
4831
4832</safe-load-scripts>
4833  </div>
4834
4835
4836
4837<style> #shopify-section-template--15217094721620__main .shopify-payment-button__button--unbranded {color: #6A6C77;} </style></div><section id="shopify-section-template--15217094721620__1711132136289e3749" class="shopify-section w-full"><div class=" md:m-6">
4838  <div id="shopify-block-ANGNrRUdLODdra0hlV__yotpo_product_reviews_ugc_reviews_Lk6GiY" class="shopify-block shopify-app-block">
4839
4840  
4841  
4842
4843
4844
4845
4846<div
4847    class="yotpo yotpo-main-widget"
4848    data-product-id="6580320403540"
4849    data-name="Our Crops"
4850    data-url="https://rubyshappyfarm.com/products/mothers-day-gift-box"
4851    data-price="15.00"
4852    data-currency="USD"
4853    data-image-url="https://rubyshappyfarm.com/cdn/shop/files/IMG_5210_large.jpg%3Fv=1715204565"
4854    data-description="&lt;p&gt;Enjoy a day in nature and pick from our crops! Available in the Spring and Fall. &lt;/p&gt;
4855&lt;p&gt;Experience the joy of handpicking your own fresh flowers or pumpkins straight from our fields! At our farm, we invite you to immerse yourself in the beauty and tranquility of nature while selecting the perfect blooms or pumpkins to take home. Here’s why you’ll love picking at our farm:&lt;/p&gt;
4856&lt;ul&gt;
4857&lt;li&gt;Freshness and quality&lt;br&gt;
4858&lt;/li&gt;
4859&lt;li&gt;Connect with Nature &lt;/li&gt;
4860&lt;li&gt;Educational Fun&lt;/li&gt;
4861&lt;/ul&gt;
4862&lt;p&gt;Come and enjoy the beauty of nature while handpicking your own fresh flowers at our farm. We look forward to welcoming you and sharing the magic of our blooms!&lt;/p&gt;">
4863</div>
4864
4865
4866
4867  
4868  
4869
4870
4871
4872</div>
4873  
4874</div>
4875
4876
4877</section><div id="shopify-section-template--15217094721620__product-recommendations" class="shopify-section w-full"><product-recommendations class="block px-0 py-4 md:p-6 bg-page" data-aid="product-recommendations" data-url="/recommendations/products?section_id=template--15217094721620__product-recommendations&product_id=6580320403540&limit=4" data-color-scheme="general">
4878  
4879</product-recommendations>
4880
4881<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-flotilla-product-recommendations.min.js?v=17683019652349388121710880013" defer="defer" type="module"></script>
4881
4882
4883
4884</div></div>
4885    </main>
4886
4887    <!-- BEGIN sections: footer-group -->
4888<div id="shopify-section-sections--15217096425556__footer" class="shopify-section shopify-section-group-footer-group"><footer data-color-scheme="accent-1" role="contentinfo" class="bg-page text-body border-t border-t-border-opacity-10">
4889  <div class="footer_content_container bg-page text-body">
4890    <div class="px-4 md:px-6 pt-4 md:pt-5 pb-5 md:pb-6 upto-lg:gap-y-4 md:gap-x-5 grid grid-cols-1 md:grid-cols-2 md:justify-between lg:grid-flow-col lg:grid-cols-none">
4891      
4892        
4893
4894          <div class="footer_block md:max-w-[325px] md:odd:justify-end lg:odd:justify-start">
4895            
4896                <div class="footer_social_media_icons" >
4897                  
4898                    
4899<h5 class="font-heading heading-case text-headings break-anywhere  text-h5 font-semibold uppercase pb-3 md:pb-4"  data-aid="footer_social_media_heading">Let's Be Social</h5>
4900                  
4901
4902                    
4903<ul class="flex flex-col  -ml-3" role="list" data-aid="footer-social-media-icons" data-color-scheme="accent-1">
4904
4905	
4906		<a href="https://m.facebook.com/rubyshappyfarmevents" class=" group" target="_blank" aria-labelledby="facebook_label">
4907      <li class="flex items-center min-h-[44px]" data-aid="social-media-facebook">
4908        
4909          
4910
4911
4912
4913
4914        <div class="w-[44px] h-[44px] flex justify-center items-center text-page text-body icon-hover-classes" style="background-color: transparent;">
4915
4916
4917    <svg data-aid="icon-facebook" fill="#3B5998" width="16" height="16" aria-hidden="true" focusable="false" role="presentation" viewBox="0 0 32 32" class="icon-hover-classes" >
4918      <path d="M18.56 31.36V17.28h4.48l.64-5.12h-5.12v-3.2c0-1.28.64-2.56 2.56-2.56h2.56V1.28H19.2c-3.84 0-7.04 2.56-7.04 7.04v3.84H7.68v5.12h4.48v14.08h6.4z"></path>
4919    </svg>
4920  
4921        </div>
4922
4923    
4924
4925        
4926        
4927          <p class="text-body ml-2" id="facebook_label">Facebook</p>
4928        
4929      </li>
4930    </a>
4931	
4932
4933	
4934		<a href="https://www.instagram.com/rubyshappyfarm/" class=" group" target="_blank" aria-labelledby="instagram_label">
4935      <li class="flex items-center min-h-[44px]" data-aid="social-media-instagram">
4936        
4937          
4938
4939
4940
4941
4942        <div class="w-[44px] h-[44px] flex justify-center items-center text-page text-body icon-hover-classes" style="background-color: transparent;">
4943
4944
4945    <svg data-aid="icon-instagram" fill="black" width="16" height="16" viewBox="0 0 31 30" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes" >
4946      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.685 1.052c1.494-.068 1.97-.084 5.772-.084 3.803 0 4.279.017 5.771.084 1.49.068 2.51.306 3.4.65.934.352 1.78.903 2.479 1.615a6.863 6.863 0 0 1 1.615 2.48c.346.89.583 1.909.651 3.4.068 1.492.084 1.968.084 5.77 0 3.803-.016 4.28-.084 5.773-.068 1.49-.305 2.508-.65 3.399a6.867 6.867 0 0 1-1.615 2.479 6.858 6.858 0 0 1-2.48 1.614c-.89.347-1.909.584-3.4.652-1.492.068-1.968.084-5.77.084-3.803 0-4.28-.016-5.773-.084-1.49-.068-2.508-.305-3.399-.65a6.869 6.869 0 0 1-2.479-1.615 6.857 6.857 0 0 1-1.614-2.48c-.347-.89-.584-1.909-.652-3.4-.068-1.493-.084-1.968-.084-5.771s.017-4.279.084-5.771c.068-1.49.306-2.51.65-3.4a6.867 6.867 0 0 1 1.615-2.479 6.857 6.857 0 0 1 2.48-1.615c.89-.346 1.909-.583 3.4-.651Zm11.43 2.52c-1.476-.067-1.92-.081-5.658-.081-3.738 0-4.181.014-5.658.08-1.364.063-2.105.291-2.599.483a4.334 4.334 0 0 0-1.61 1.047c-.49.49-.793.956-1.046 1.61-.194.493-.42 1.234-.483 2.599-.067 1.476-.081 1.92-.081 5.658 0 3.738.014 4.181.081 5.658.063 1.364.29 2.105.483 2.599a4.337 4.337 0 0 0 1.046 1.61 4.337 4.337 0 0 0 1.61 1.046c.494.194 1.235.42 2.6.483 1.476.067 1.918.081 5.657.081 3.74 0 4.181-.014 5.658-.081 1.365-.063 2.106-.29 2.6-.483a4.333 4.333 0 0 0 1.61-1.046 4.336 4.336 0 0 0 1.046-1.61c.193-.494.42-1.235.482-2.6.067-1.476.081-1.92.081-5.657 0-3.738-.014-4.181-.08-5.658-.063-1.365-.291-2.106-.483-2.6a4.324 4.324 0 0 0-1.047-1.61 4.336 4.336 0 0 0-1.61-1.046c-.493-.193-1.234-.42-2.599-.482Zm-5.674 15.906c-.595 0-1.185-.12-1.735-.35a4.53 4.53 0 0 1-1.47-1 4.611 4.611 0 0 1-.983-1.494 4.67 4.67 0 0 1 .982-5.02c.421-.428.921-.768 1.471-1 .55-.23 1.14-.35 1.735-.35 1.203 0 2.356.486 3.206 1.35a4.645 4.645 0 0 1 1.328 3.257 4.644 4.644 0 0 1-1.328 3.258 4.497 4.497 0 0 1-3.206 1.349Zm0-11.704a6.928 6.928 0 0 0-4.938 2.079 7.156 7.156 0 0 0-2.046 5.018c0 1.882.736 3.687 2.046 5.018a6.928 6.928 0 0 0 4.938 2.079 6.928 6.928 0 0 0 4.939-2.079 7.155 7.155 0 0 0 2.045-5.018 7.155 7.155 0 0 0-2.045-5.018 6.928 6.928 0 0 0-4.939-2.079Zm9.016-.129c0 .445-.174.872-.483 1.187a1.638 1.638 0 0 1-2.335 0 1.691 1.691 0 0 1-.484-1.187c0-.445.174-.871.484-1.186.31-.314.73-.491 1.167-.491.438 0 .858.177 1.168.491.31.315.483.741.483 1.186Z"/>
4947    </svg>
4948  
4949        </div>
4950
4951    
4952
4953        
4954        
4955          <p class="text-body ml-2" id="instagram_label">Instagram</p>
4956        
4957      </li>
4958    </a>
4959	
4960
4961	
4962
4963	
4964
4965	
4966
4967	
4968
4969	
4970
4971	
4972
4973</ul>
4974
4975
4976                  
4977
4978                </div>
4979
4980            
4981          </div>
4982        
4983
4984          <div class="footer_block md:max-w-[325px] md:odd:justify-end lg:odd:justify-start">
4985            
4986                <div >
4987                  
4988                    
4989<h5 class="font-heading heading-case text-headings break-anywhere  text-h5 font-semibold uppercase pb-3 md:pb-4"  data-aid="footer_links_heading">Customer Care</h5>
4990                  
4991
4992                  
4993                    <ul role="navigation">
4994                      
4995                        
4996                          <li class="d-block pt-3 md:pt-4 first:pt-0"><a href="/pages/about-us">About Us</a></li>
4997                        
4998                      
4999                        
5000                          <li class="d-block pt-3 md:pt-4 first:pt-0"><a href="/pages/say-hello">Contact Us</a></li>
5001                        
5002                      
5003                    </ul>
5004                  
5005                </div>
5006
5007              
5008          </div>
5009        
5010
5011          <div class="footer_block md:max-w-[325px] md:odd:justify-end lg:odd:justify-start">
5012            
5013                <div class="footer_newsletter " >
5014                  
5015                    
5016<h5 class="font-heading heading-case text-headings break-anywhere  text-h5 font-semibold uppercase pb-3 md:pb-4"  data-aid="footer_newsletter_heading">Newsletter</h5>
5017                  
5018
5019                  
5020                    <div class="pb-3 md:pb-4 rte prose prose-strong:text-body prose-blockquote:text-body prose-figcaption:text-body"><p>Be the first to know about our biggest and best sales. We'll never send more than one email a month.</p></div>
5021                  
5022
5023                  
5024
5025                  <form method="post" action="/contact#newsletter-footer_form" id="newsletter-footer_form" accept-charset="UTF-8" class="md:min-w-[300px]"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
5026                    
5027
5028                    
5029
5030                    <div class="input-group items-center grid grid-cols-2 grid-rows-1">
5031                      <span class="col-start-1 col-end-3 row-start-1 row-end-2">
5032                        
5033
5034
5035
5036
5037  
5038
5039
5040
5041
5042  <input
5043    type="hidden"
5044    name="contact[tags]" 
5045    placeholder="" 
5046    class="bg-page border-body focus:ring-0 focus:ring-offset-0" 
5047     
5048    
5049    value="newsletter"
5050    
5051    
5052    
5053    data-aid="armament-input"
5054    
5055     
5056    
5057  >
5058
5059
5060
5061
5062
5063                        
5064
5065
5066
5067
5068
5069
5070  <div class="relative flex">
5071    
5072
5073
5074  <input
5075    type="email"
5076    name="contact[email]" 
5077    placeholder="[email protected]" 
5078    class="bg-page border-body focus:ring-0 focus:ring-offset-0 w-full border-body border-2 bg-page placeholder-body !pr-[2rem]" 
5079    animate-label 
5080    id="newsletter"
5081    
5082    [email protected]
5083    required="required"
5084    
5085    data-aid="armament-input"
5086    
5087     
5088    
5089  >
5090
5091
5092  
5093  
5094  <label class="font-heading heading-case heading-font-styles" for="newsletter" animate-label data-armada-animation="general" aria-hidden="true">email</label>
5095
5096
5097
5098
5099  </div>
5100
5101
5102                      </span>
5103                      <span class="col-start-2 col-end-3 row-start-1 row-end-2 items-center justify-items-end grid grid-rows-1 grid-cols-1 max-w-max justify-self-end z-[1] group">
5104                        
5105
5106
5107
5108
5109  
5110
5111
5112
5113
5114  <input
5115    type="submit"
5116    name="subscribe" 
5117    placeholder="" 
5118    class="bg-page border-body focus:ring-0 focus:ring-offset-0 w-44 h-44 col-start-1 col-end-1 row-start-1 row-end-1 bg-transparent z-50 cursor-pointer" 
5119     
5120    id="subscribe"
5121    value=""
5122    aria-label=Subscribe
5123    
5124    
5125    data-aid="armament-input"
5126    
5127     
5128    
5129  >
5130
5131
5132
5133
5134
5135                        
5136
5137
5138    
5139        <svg data-aid="icon-arrow-right" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="no-touch-hover:group-hover:translate-x-xs transition-transform duration-200 col-start-1 col-end-1 row-start-1 row-end-1 mr-10 z-100 cursor-pointer">
5140          <path fill-rule="evenodd" clip-rule="evenodd" d="M11.3313 8.00002L4.54746 14.7839L5.60811 15.8446L13.4525 8.00013L13.4476 7.9952L13.4477 7.99509L5.60807 0.155396L4.54741 1.21606L11.3313 8.00002Z" fill="currentColor"/>
5141        </svg>
5142    
5143  
5144                      </span>
5145                    </div>
5146                  </form>
5147                </div>
5148
5149              
5150          </div>
5151        
5152      
5153    </div>
5154
5155    <div class="p-4 md:px-6 md:flex md:justify-between md:items-end">
5156      <div class="mb-3 md:mb-0">
5157        <small>&copy; 2026, <a href="/" title="">Ruby&#39;s Happy Farm</a></small>
5158        <small><a href="https://www.fiverr.com/s/NPe35o">POWERED BY NEUTO</a> 
5159</small>
5160      </div>
5161      
5162        <div>
5163          <span class="sr-only">Payment methods</span>
5164          <ul class="flex flex-wrap -mb-2"><li class="pb-2 pr-2 last:pr-0">
5165                <svg viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 
51650-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg>
5166              </li><li class="pb-2 pr-2 last:pr-0">
5167                <svg viewBox="0 0 38 24" width="38" height="24" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="pi-venmo"><title id="pi-venmo">Venmo</title><g fill="none" fill-rule="evenodd"><rect fill-opacity=".07" fill="#000" width="38" height="24" rx="3"/><path fill="#3D95CE" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M24.675 8.36c0 3.064-2.557 7.045-4.633 9.84h-4.74L13.4 6.57l4.151-.402 1.005 8.275c.94-1.566 2.099-4.025 2.099-5.702 0-.918-.154-1.543-.394-2.058l3.78-.783c.437.738.634 1.499.634 2.46z" fill="#FFF" fill-rule="nonzero"/></g></svg>
5168
5169              </li></ul>
5170        </div>
5171      
5172    </div>
5173  </div>
5174</footer>
5175
5176
5177</div>
5178<!-- END sections: footer-group -->
5179    <!-- BEGIN sections: overlay-group -->
5180<div id="shopify-section-sections--15217096196180__toast" class="shopify-section shopify-section-group-overlay-group"><armada-toast
5181  data-test-mode-success="false"
5182  data-test-mode-error="false"
5183  data-item-added-message="Item added to your cart"
5184  data-items-added-message="Items added to your cart"
5185  data-email-error-message="Please enter a valid email address."
5186  data-email-error-header="Newsletter"
5187  class="fixed bottom-0 md:bottom-auto right-0 pt-3 md:pb-3 md:top-3 md:px-3 md:pt-0 md:pb-[32px] w-full md:w-auto max-h-[100vh] z-[9999] overflow-hidden"
5188  data-color-scheme="general"
5189>
5190  <template>
5191    <toast-item 
5192  data-armada-selector="toast-form-submit"
5193  duration=4000
5194  class="block bg-page text-body w-full md:w-[370px] shadow-lg relative p-3 md:p-4 invisible -z-[1] toast-item"
5195  role="dialog"
5196  aria-modal="true"
5197  data-aid="toast"
5198>
5199  <div class="flex justify-between items-center">
5200    <div class="flex items-center opacity-0" data-armada-selector="toast-animate-heading">
5201      
5202
5203
5204    
5205    <svg data-aid="icon-success" width="16" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="mr-2">
5206      <rect x="0.325317" y="9.64111" width="1.5" height="7.55899" transform="rotate(-50 0.325317 9.64111)" fill="currentColor"/>
5207      <rect x="6.11548" y="14.5" width="1.5" height="15.6794" transform="rotate(-140 6.11548 14.5)" fill="currentColor"/>
5208    </svg>
5209    
5210  
5211      
5212<h2 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none"  data-armada-selector="toast-heading"></h2>
5213    </div>
5214    <button type="button" aria-label="Close toast" class="w-44 h-44 flex justify-center items-center absolute top-0 right-0 md:top-2 md:right-2 group outline-0" data-armada-selector="toast-close">
5215      
5216
5217
5218    
5219      <svg data-aid="icon-cancel" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
5220        <rect width="20.6878" height="1.5" transform="matrix(0.70711 -0.707104 0.70711 0.707104 0.155396 14.7839)" fill="currentColor"/>
5221        <rect width="20.6878" height="1.5" transform="matrix(-0.70711 -0.707104 0.70711 -0.707104 14.7839 15.8445)" fill="currentColor"/>
5222      </svg>
5223    
5224  
5225    </button>
5226  </div>
5227  <div data-armada-selector="toast-animate-content" class="opacity-0">
5228    <div data-armada-selector="toast-info"></div>
5229    <div data-armada-selector="toast-html-container" class="pr-3"></div>
5230    
5231  </div>
5232  <div class="absolute left-0 right-0 bottom-0">
5233    
5234      
5235
5236
5237<safe-load-scripts>
5238  
5238<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-progress-bar.min.js?v=50791003683941211831710880012" defer="defer" type="module" data-armada-load-key="progress-bar"></script>
5238
5239</safe-load-scripts>
5240
5241<progress-bar
5242  class="block relative h-1 w-full"
5243  data-progress-interval="4000"
5244  data-progress-play="false"
5245  
5246  data-current-step="1"
5247  aria-hidden="true"
5248  data-aid="progress-bar"
5249>
5250  
5251  <div
5252    data-name="bar"
5253    class="bg-body opacity-100 h-1 w-0 z-10 absolute inset-0"
5254  ></div>
5255</progress-bar>
5256
5257    
5258  </div>
5259</toast-item>
5260
5261    <toast-item 
5262  data-armada-selector="toast-error"
5263  duration=4000
5264  class="block bg-page text-body w-full md:w-[370px] shadow-lg relative p-3 md:p-4 invisible -z-[1] toast-item"
5265  role="dialog"
5266  aria-modal="true"
5267  data-aid="toast"
5268>
5269  <div class="flex justify-between items-center">
5270    <div class="flex items-center opacity-0" data-armada-selector="toast-animate-heading">
5271      
5272
5273
5274    
5275    <svg data-aid="icon-exclamation" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="mr-2">
5276      <rect x="7.25" width="1.5" height="12.9309" fill="currentColor"/>
5277      <rect x="7.25" y="14.5" width="1.5" height="1.5" fill="currentColor"/>
5278    </svg>
5279    
5280  
5281      
5282<h2 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none"  data-armada-selector="toast-heading"></h2>
5283    </div>
5284    <button type="button" aria-label="Close toast" class="w-44 h-44 flex justify-center items-center absolute top-0 right-0 md:top-2 md:right-2 group" data-armada-selector="toast-close">
5285      
5286
5287
5288    
5289      <svg data-aid="icon-cancel" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
5290        <rect width="20.6878" height="1.5" transform="matrix(0.70711 -0.707104 0.70711 0.707104 0.155396 14.7839)" fill="currentColor"/>
5291        <rect width="20.6878" height="1.5" transform="matrix(-0.70711 -0.707104 0.70711 -0.707104 14.7839 15.8445)" fill="currentColor"/>
5292      </svg>
5293    
5294  
5295    </button>
5296  </div>
5297  <div data-armada-selector="toast-animate-content" class="opacity-0">
5298    <div data-armada-selector="toast-info"></div>
5299    <div data-armada-selector="toast-html-container" class="pr-3"></div>
5300    
5301  </div>
5302  <div class="absolute left-0 right-0 bottom-0">
5303    
5304      <div class="h-1" style="background-color:#FF0000"></div>
5305    
5306  </div>
5307</toast-item>
5308
5309    <toast-item 
5310  data-armada-selector="toast-email"
5311  duration=4000
5312  class="block bg-page text-body w-full md:w-[370px] shadow-lg relative p-3 md:p-4 invisible -z-[1] toast-item"
5313  role="dialog"
5314  aria-modal="true"
5315  data-aid="toast"
5316>
5317  <div class="flex justify-between items-center">
5318    <div class="flex items-center opacity-0" data-armada-selector="toast-animate-heading">
5319      
5320
5321
5322      
5323<h2 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none"  data-armada-selector="toast-heading"></h2>
5324    </div>
5325    <button type="button" aria-label="Close toast" class="w-44 h-44 flex justify-center items-center absolute top-0 right-0 md:top-2 md:right-2 group" data-armada-selector="toast-close">
5326      
5327
5328
5329    
5330      <svg data-aid="icon-cancel" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
5331        <rect width="20.6878" height="1.5" transform="matrix(0.70711 -0.707104 0.70711 0.707104 0.155396 14.7839)" fill="currentColor"/>
5332        <rect width="20.6878" height="1.5" transform="matrix(-0.70711 -0.707104 0.70711 -0.707104 14.7839 15.8445)" fill="currentColor"/>
5333      </svg>
5334    
5335  
5336    </button>
5337  </div>
5338  <div data-armada-selector="toast-animate-content" class="opacity-0">
5339    <div data-armada-selector="toast-info"></div>
5340    <div data-armada-selector="toast-html-container" class="pr-3"></div>
5341    
5342  </div>
5343  <div class="absolute left-0 right-0 bottom-0">
5344    
5345      <div class="h-1" style="background-color:#FF0000"></div>
5346    
5347  </div>
5348</toast-item>
5349
5350    <toast-item 
5351  data-armada-selector="toast-atc"
5352  duration=4000
5353  class="block bg-page text-body w-full md:w-[370px] shadow-lg relative p-3 md:p-4 invisible -z-[1] toast-item"
5354  role="dialog"
5355  aria-modal="true"
5356  data-aid="toast"
5357>
5358  <div class="flex justify-between items-center">
5359    <div class="flex items-center opacity-0" data-armada-selector="toast-animate-heading">
5360      
5361
5362
5363    
5364    <svg data-aid="icon-success" width="16" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="mr-2">
5365      <rect x="0.325317" y="9.64111" width="1.5" height="7.55899" transform="rotate(-50 0.325317 9.64111)" fill="currentColor"/>
5366      <rect x="6.11548" y="14.5" width="1.5" height="15.6794" transform="rotate(-140 6.11548 14.5)" fill="currentColor"/>
5367    </svg>
5368    
5369  
5370      
5371<h2 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none"  data-armada-selector="toast-heading"></h2>
5372    </div>
5373    <button type="button" aria-label="Close toast" class="w-44 h-44 flex justify-center items-center absolute top-0 right-0 md:top-2 md:right-2 group" data-armada-selector="toast-close">
5374      
5375
5376
5377    
5378      <svg data-aid="icon-cancel" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
5379        <rect width="20.6878" height="1.5" transform="matrix(0.70711 -0.707104 0.70711 0.707104 0.155396 14.7839)" fill="currentColor"/>
5380        <rect width="20.6878" height="1.5" transform="matrix(-0.70711 -0.707104 0.70711 -0.707104 14.7839 15.8445)" fill="currentColor"/>
5381      </svg>
5382    
5383  
5384    </button>
5385  </div>
5386  <div data-armada-selector="toast-animate-content" class="opacity-0">
5387    <div data-armada-selector="toast-info"></div>
5388    <div data-armada-selector="toast-html-container" class="pr-3"></div>
5389    
5390      <div class="pt-3">
5391        <div data-armada-selector="toast-cart-item"></div>
5392        
5393        
5394<a
5395  href=/cart
5396  
5397  
5398  class="text-h6 font-heading heading-case leading-none text-center min-h-[44px] py-[13px] px-4 inline-block border border-body transition-colors duration-500 relative z-10 armament-button after:absolute after:top-0 after:bottom-0 after:-z-[1] after:bg-body after:transition-transform after:duration-300 after:ease-out text-page hover:text-body after:right-0 after:left-0 armament-button--filled hover:disabled:text-page focus:disabled:text-page w-full"
5399  data-aid=""
5400  
5401>
5402  <span data-armada-button-text>Go to cart</span>
5403
5404  
5405</a>
5406
5407      </div>
5408    
5409  </div>
5410  <div class="absolute left-0 right-0 bottom-0">
5411    
5412      
5413
5414
5415<safe-load-scripts>
5416  
5416<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-progress-bar.min.js?v=50791003683941211831710880012" defer="defer" type="module" data-armada-load-key="progress-bar"></script>
5416
5417</safe-load-scripts>
5418
5419<progress-bar
5420  class="block relative h-1 w-full"
5421  data-progress-interval="4000"
5422  data-progress-play="false"
5423  
5424  data-current-step="1"
5425  aria-hidden="true"
5426  data-aid="progress-bar"
5427>
5428  
5429  <div
5430    data-name="bar"
5431    class="bg-body opacity-100 h-1 w-0 z-10 absolute inset-0"
5432  ></div>
5433</progress-bar>
5434
5435    
5436  </div>
5437</toast-item>
5438
5439    <toast-item 
5440  data-armada-selector="toast-html"
5441  duration=4000
5442  class="block bg-page text-body w-full md:w-[370px] shadow-lg relative p-3 md:p-4 invisible -z-[1] toast-item"
5443  role="dialog"
5444  aria-modal="true"
5445  data-aid="toast"
5446>
5447  <div class="flex justify-between items-center">
5448    <div class="flex items-center opacity-0" data-armada-selector="toast-animate-heading">
5449      
5450
5451
5452      
5453<h2 class="font-heading heading-case text-headings break-anywhere text-h5 leading-none"  data-armada-selector="toast-heading"></h2>
5454    </div>
5455    <button type="button" aria-label="Close toast" class="w-44 h-44 flex justify-center items-center absolute top-0 right-0 md:top-2 md:right-2 group" data-armada-selector="toast-close">
5456      
5457
5458
5459    
5460      <svg data-aid="icon-cancel" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-hover-classes">
5461        <rect width="20.6878" height="1.5" transform="matrix(0.70711 -0.707104 0.70711 0.707104 0.155396 14.7839)" fill="currentColor"/>
5462        <rect width="20.6878" height="1.5" transform="matrix(-0.70711 -0.707104 0.70711 -0.707104 14.7839 15.8445)" fill="currentColor"/>
5463      </svg>
5464    
5465  
5466    </button>
5467  </div>
5468  <div data-armada-selector="toast-animate-content" class="opacity-0">
5469    <div data-armada-selector="toast-info"></div>
5470    <div data-armada-selector="toast-html-container" class="pr-3"></div>
5471    
5472  </div>
5473  <div class="absolute left-0 right-0 bottom-0">
5474    
5475      
5476
5477
5478<safe-load-scripts>
5479  
5479<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-progress-bar.min.js?v=50791003683941211831710880012" defer="defer" type="module" data-armada-load-key="progress-bar"></script>
5479
5480</safe-load-scripts>
5481
5482<progress-bar
5483  class="block relative h-1 w-full"
5484  data-progress-interval="4000"
5485  data-progress-play="false"
5486  
5487  data-current-step="1"
5488  aria-hidden="true"
5489  data-aid="progress-bar"
5490>
5491  
5492  <div
5493    data-name="bar"
5494    class="bg-body opacity-100 h-1 w-0 z-10 absolute inset-0"
5495  ></div>
5496</progress-bar>
5497
5498    
5499  </div>
5500</toast-item>
5501
5502  </template>
5503</armada-toast>
5504
5505<safe-load-scripts>
5506  
5506<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-toast.min.js?v=44567668212840996191710880011" defer="defer" type="module" data-armada-load-key="component-toast"></script>
5506
5507  
5507<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-toast-item.min.js?v=15374271899824350271710880011" defer="defer" type="module" data-armada-load-key="component-toast-item"></script>
5507
5508  
5508<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-form-success.min.js?v=50104597423672141771710880012" defer="defer" type="module"></script>
5508
5509  
5509<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/component-form-errors.min.js?v=30078336106481545101710880012" defer="defer" type="module"></script>
5509
5510</safe-load-scripts>
5511
5512</div><div id="shopify-section-sections--15217096196180__engine-badges-settings" class="shopify-section shopify-section-group-overlay-group">
5513
5514
5515
5516  <safe-load-scripts>
5517    
5517<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-modal.min.js?v=114181242881682244381710880013" defer="defer" type="module" data-armada-load-key="modal"></script>
5517
5518    
5518<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-modal-open.min.js?v=74482744466543825941710880012" defer="defer" type="module" data-armada-load-key="modal-open"></script>
5518
5519  </safe-load-scripts>
5520
5521  
5521<script id="global-block-order" type="application/javascript">
5522      // adds the badge order to the window.eight
5523      const badgeOrder = {
5524          "block_order": [
5525              {
5526                  "type": "badge_sold_out",
5527                  "text": "Sold out",
5528                  "colors": "accent-2"
5529              },
5530              {
5531                  "type": "badge_sale",
5532                  "text": "Sale",
5533                  "colors": "accent-1"
5534              }
5535          ]
5536      };
5537      const badgeLimit = 1;
5538      if(!window.eight) {
5539          window.eight = {}
5540      }
5541      window.eight = Object.assign({}, window.eight, {
5542        badgeEngine: {
5543          order: badgeOrder.block_order,
5544          limit: badgeLimit
5545        }
5546      })
5547  </script>
5547
5548
5549
5550
5551</div>
5552<!-- END sections: overlay-group -->
5553    
5554    
5555<translation-engine>
5556  
5557  <template data-armada-selector="translations-engine-template">
5558    
5558<script
5559      type="application/json"
5560      data-armada-selector="translations-json"
5561    >
5562      {
5563        "addToCart": "Add to cart",
5564        "added": "Added",
5565        "adding": "Adding to cart...",
5566        "soldOut": "Sold out",
5567        "isSoldOut": " is sold out",
5568        "unavailable": "Unavailable",
5569        "isUnavailable": " is unavailable",
5570        "choose": "Choose",
5571        "chooseVariant": "Choose a variant",
5572        "invalidEmail": "Please enter a valid email address."
5573      }
5574    </script>
5574
5575  </template>
5576
5577</translation-engine>
5578
5579<safe-load-scripts>
5580  
5580<script src="//rubyshappyfarm.com/cdn/shop/t/11/assets/engine-translations.min.js?v=74212908999365757991710880013" defer="defer" type="module" data-armada-load-key="translations"></script>
5580
5581</safe-load-scripts>
5582
5583    
5583<script type="module" src="//rubyshappyfarm.com/cdn/shop/t/11/assets/theme.min.js?v=126014031971537727391710880011"></script>
5583
5584
5585  <div id="shopify-block-ARGE2emF2THkrZnJLS__9670189827046205946" class="shopify-block shopify-app-block">
5585<script type="application/javascript">
5586
5587window.TMS_SHOPIFY_EXTENSION_CDN = 'https://cdn.shopify.com/extensions/01a0f613-dbf9-71ba-a454-02cc29339e7c/TMS-Prod-v-2d81fbf-60-1/assets/';
5588var tmsOnPageMoneyFormat = "${{amount}}";
5589var tmsShopBaseCurrencyCode = "USD";
5590</script>
vendor: 1 bytes, line 5590
5590
5591<script type="application/javascript"><!-- BEGIN app snippet: tms_data_mo -->
5592var tmsRegionData = {};<!-- END app snippet -->
5593</script>
vendor: 1 bytes, line 5593
5593
5594<script type="application/javascript"><!-- BEGIN app snippet: tms_data_mf -->
5595var tmsFileTranslationData = [];<!-- END app snippet -->
5596</script>
vendor: 1 bytes, line 5596
5596
5597<script type="application/javascript"><!-- BEGIN app snippet: tms_file -->
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607<!-- END app snippet -->
5608</script>
vendor: 1 bytes, line 5608
5608
5609<script type="application/javascript"><!-- BEGIN app snippet: tms_data_mf -->
5610var tmsVETranslationData = [];<!-- END app snippet -->
5611</script>
vendor: 1 bytes, line 5611
5611
5612<script type="application/javascript"><!-- BEGIN app snippet: tms_ve -->
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622<!-- END app snippet -->
5623</script>
5623
5624
5625<script type="application/javascript">
5626var tmsAbsLinkData = "https:\/\/cdn3.hextom.com\/";
5627var tmsShopBaseLocaleCodeData = "en";
5628var tmsSelectorEnabledData = false;
5629var tmsCartNoteData = {};
5630var tmsBasicTransLanguageData = {};
5631var tmsAutoCoverageLanguageData = {};
5632var tmsRegionGroupMapping = {};
5633var tmsRegionLanguageDefaultsData = {};</script>
5633
5634</div><div id="shopify-block-AK2cvU1YxM2RudVVoa__17368511000352060744" class="shopify-block shopify-app-block">
5634<script type="text/javascript">
5635    window.gfp_customer = {
5636      id: "",
5637      email: "",
5638      first_name: "",
5639      last_name: ""
5640    }
5641    function gfpLoadWidgets() {
5642    if (!document.querySelector('script[src="https://widgets.goaffpro.app/main.js"]')) {
5643      var s = document.createElement('script');
5644      s.type = 'module';
5645      s.src = 'https://widgets.goaffpro.app/main.js';
5646      document.head.appendChild(s);
5647    }
5648  }
5649</script>
5649
5650
5651 
5651<script type="text/javascript" async="true" src="/a/goaffpro/loader.js"></script>
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660</div><div id="shopify-block-ATmdSTUZIVlRLejdna__1027443428159536739" class="shopify-block shopify-app-block">
5660<script type="application/javascript">
5661    window.hextom_qab_meta = {
5662        p1: [
5663            
5664                
5665            
5666        ],
5667        p2: {
5668            
5669        },
5670        p3:6580320403540,
5671        p4:[160727629908],
5672        p5:null,
5673    };
5674    
5675    window.hextom_qab_config = {};
5676    
5677</script>
5677
5678
5679</div><div id="shopify-block-AbkFzenZ5TE5KZC9GR__17622862728305079995" class="shopify-block shopify-app-block">
5680</div><div id="shopify-block-AYkpjcWFINkF3RWlJV__1513253815146976218" class="shopify-block shopify-app-block">
5681</div><div id="shopify-block-AL1NiTER3L3E1RmJoQ__9094328589753815681" class="shopify-block shopify-app-block">
5681<script type="application/javascript">
5682    window.hextom_fsb_meta = {
5683        p1: [
5684            
5685                
5686            
5687        ],
5688        p2: {
5689            
5690        },
5691        p3: [
5692            
5693                
5694                    {
5695                      "v1": "false"
5696                    }
5697                
5698            
5699        ],
5700        p4:6580320403540,
5701        p5:[160727629908],
5702        p6:null,
5703    };
5704
5705    
5706    window.hextom_fsb_config = {"shop_active":"yes","record":false,"bars":[],"theme":{"theme_id":"125456875604","is_xhr":true}};
5707    
5708</script>
5708
5709
5710
5711</div><div id="shopify-block-ASWE5dDVsK3drbEJ6T__13842471718430719476" class="shopify-block shopify-app-block">
5712  
5712<script src="https://pre-ordersales.com/apps/assets/js/preorder.js" defer></script>
5712
5713
5714
5715
5716</div>
5716<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
5716
5717</body>
5718  </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.