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– Ruby'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'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®ion_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®ion_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'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'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="{"id":6580320403540,"title":"Our Crops","handle":"mothers-day-gift-box","description":"\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","published_at":"2021-04-28T22:10:23-05:00","created_at":"2021-04-28T21:44:13-05:00","vendor":"Ruby's Happy Farm","type":"","tags":[],"price":1500,"price_min":1500,"price_max":1500,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":39328616972372,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"","requires_shipping":false,"taxable":true,"featured_image":null,"available":true,"name":"Our Crops","public_title":null,"options":["Default Title"],"price":1500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565","\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970","\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232"],"featured_image":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565","options":["Title"],"media":[{"alt":null,"id":24137241460820,"position":1,"preview_image":{"aspect_ratio":1.503,"height":2012,"width":3024,"src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565"},"aspect_ratio":1.503,"height":2012,"media_type":"image","src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565","width":3024},{"alt":null,"id":25217544126548,"position":2,"preview_image":{"aspect_ratio":0.75,"height":4032,"width":3024,"src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970"},"aspect_ratio":0.75,"height":4032,"media_type":"image","src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970","width":3024},{"alt":null,"id":22782930780244,"position":3,"preview_image":{"aspect_ratio":0.958,"height":1503,"width":1440,"src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232"},"aspect_ratio":0.958,"height":1503,"media_type":"image","src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232","width":1440}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\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"}" 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="{"supports_subs":true,"supports_def_opts":false,"name":"paypal","wallet_params":{"shopId":28325052500,"countryCode":"US","merchantName":"Ruby's Happy Farm","phoneRequired":false,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":false,"hasManagedSellingPlanState":false,"requiresBillingAgreement":false,"gatewayType":"CONNECTED","merchantId":"6MCGAVTFS46TL","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=6MCGAVTFS46TL\u0026intent=authorize","serviceableCountryCodes":["US"]}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="25b5ac60f2351cc16acee02ff2f00ec1" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{"id":39328616972372,"requiresShipping":false}]" shop-id="28325052500" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </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="<p>Enjoy a day in nature and pick from our crops! Available in the Spring and Fall. </p> 3501<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> 3502<ul> 3503<li>Freshness and quality<br> 3504</li> 3505<li>Connect with Nature </li> 3506<li>Educational Fun</li> 3507</ul> 3508<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>" 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"> per </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="{"supports_subs":true,"supports_def_opts":false,"name":"paypal","wallet_params":{"shopId":28325052500,"countryCode":"US","merchantName":"Ruby's Happy Farm","phoneRequired":false,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":false,"hasManagedSellingPlanState":false,"requiresBillingAgreement":false,"gatewayType":"CONNECTED","merchantId":"6MCGAVTFS46TL","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=6MCGAVTFS46TL\u0026intent=authorize","serviceableCountryCodes":["US"]}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="25b5ac60f2351cc16acee02ff2f00ec1" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{"id":39328616972372,"requiresShipping":false}]" shop-id="28325052500" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </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&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&media=//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?crop=center&height=2000&v=1715204565&width=2000&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="{"id":6580320403540,"title":"Our Crops","handle":"mothers-day-gift-box","description":"\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","published_at":"2021-04-28T22:10:23-05:00","created_at":"2021-04-28T21:44:13-05:00","vendor":"Ruby's Happy Farm","type":"","tags":[],"price":1500,"price_min":1500,"price_max":1500,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":39328616972372,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"","requires_shipping":false,"taxable":true,"featured_image":null,"available":true,"name":"Our Crops","public_title":null,"options":["Default Title"],"price":1500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565","\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970","\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232"],"featured_image":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565","options":["Title"],"media":[{"alt":null,"id":24137241460820,"position":1,"preview_image":{"aspect_ratio":1.503,"height":2012,"width":3024,"src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565"},"aspect_ratio":1.503,"height":2012,"media_type":"image","src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_5210.jpg?v=1715204565","width":3024},{"alt":null,"id":25217544126548,"position":2,"preview_image":{"aspect_ratio":0.75,"height":4032,"width":3024,"src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970"},"aspect_ratio":0.75,"height":4032,"media_type":"image","src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/IMG_6750.heic?v=1727357970","width":3024},{"alt":null,"id":22782930780244,"position":3,"preview_image":{"aspect_ratio":0.958,"height":1503,"width":1440,"src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232"},"aspect_ratio":0.958,"height":1503,"media_type":"image","src":"\/\/rubyshappyfarm.com\/cdn\/shop\/files\/D5DCBE16-4C16-4940-96AB-1FD09E542D0E.jpg?v=1698794232","width":1440}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\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"}" 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="<p>Enjoy a day in nature and pick from our crops! Available in the Spring and Fall. </p> 4348<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> 4349<ul> 4350<li>Freshness and quality<br> 4351</li> 4352<li>Connect with Nature </li> 4353<li>Educational Fun</li> 4354</ul> 4355<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>" 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&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&media=//rubyshappyfarm.com/cdn/shop/files/IMG_5210.jpg?crop=center&height=2000&v=1715204565&width=2000&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="<p>Enjoy a day in nature and pick from our crops! Available in the Spring and Fall. </p> 4855<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> 4856<ul> 4857<li>Freshness and quality<br> 4858</li> 4859<li>Connect with Nature </li> 4860<li>Educational Fun</li> 4861</ul> 4862<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>"> 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>© 2026, <a href="/" title="">Ruby'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.