1<!doctype html> 2<!--[if IE 9]> <html class="ie9 no-js supports-no-cookies" lang="en"> <![endif]--> 3<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js supports-no-cookies" lang="en"> <!--<![endif]--> 4 5<head> 6 <meta charset="utf-8"> 7 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 8 <meta name="viewport" content="width=device-width,initial-scale=1"> 9 <meta name="theme-color" content="#038d32"> 10 <link rel="canonical" href="https://juniperfarm.ca/pages/our-real-world-store"> 11 12 <!-- ======================= Story Theme V1.3.0 ========================= --> 13 14 15 <link rel="shortcut icon" href="//juniperfarm.ca/cdn/shop/files/Black_White_Circle_Bee_Icon_Food_Logo_-_2_32x32.png?v=1745008808" type="image/png"> 16 17 18 19 <title> 20 Visit Us 21 22 23 24 – Juniper Farm Store 25 26 </title> 27 28 29 <meta name="description" content="FARM STORE AND FARM CAFÃ HOURS: Thursday and Friday: 11AM-6PM Saturday and Sunday: 10AM-5PM ONLINE STORE OPEN YEAR ROUND Â Â Welcome to Juniper Farm â A 200-Acre Organic Sanctuary in the Gatineau Hills Nestled just minutes from Wakefield, Quebec, Juniper Farm is a diverse, organic haven. Spread across 200 acres, our far"> 30 31 32 <!-- /snippets/social-sharing.liquid --><meta property="og:site_name" content="Juniper Farm Store"> 33<meta property="og:url" content="https://juniperfarm.ca/pages/our-real-world-store"> 34<meta property="og:title" content="Visit Us"> 35<meta property="og:type" content="website"> 36<meta property="og:description" content="FARM STORE AND FARM CAFÃ HOURS: Thursday and Friday: 11AM-6PM Saturday and Sunday: 10AM-5PM ONLINE STORE OPEN YEAR ROUND Â Â Welcome to Juniper Farm â A 200-Acre Organic Sanctuary in the Gatineau Hills Nestled just minutes from Wakefield, Quebec, Juniper Farm is a diverse, organic haven. Spread across 200 acres, our far"> 37 38 39<meta name="twitter:site" content="@"> 40<meta name="twitter:card" content="summary_large_image"> 41<meta name="twitter:title" content="Visit Us"> 42<meta name="twitter:description" content="FARM STORE AND FARM CAFÃ HOURS: Thursday and Friday: 11AM-6PM Saturday and Sunday: 10AM-5PM ONLINE STORE OPEN YEAR ROUND Â Â Welcome to Juniper Farm â A 200-Acre Organic Sanctuary in the Gatineau Hills Nestled just minutes from Wakefield, Quebec, Juniper Farm is a diverse, organic haven. Spread across 200 acres, our far"> 43 44 45 46 47 48 <!-- COMPILED CSS --> 49 <link href="//juniperfarm.ca/cdn/shop/t/31/assets/theme_compiled.css?v=73576404012562992321745522065" rel="stylesheet" type="text/css" media="all" /> 50 51
51<script> 52 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 53 54 window.theme = { 55 routes: { 56 product_recommendations_url: '/recommendations/products', 57 }, 58 strings: { 59 addToCart: "Add to Cart", 60 soldOut: "Coming Soon", 61 unavailable: "Unavailable" 62 }, 63 moneyFormat: "${{amount}}", 64 version: '1.3.0' 65 }; 66 </script>
66 67 68 69 70 <!--[if (gt IE 9)|!(IE)]><!-->
70<script src="//juniperfarm.ca/cdn/shop/t/31/assets/theme.js?v=5741522770624858411745522065" defer="defer"></script>
70<!--<![endif]--> 71 <!--[if lt IE 9]>
71<script src="//juniperfarm.ca/cdn/shop/t/31/assets/theme.js?v=5741522770624858411745522065"></script>
71<![endif]--> 72 73 74
74<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
74<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/4337205377/digital_wallets/dialog"> 75<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://juniperfarm.ca/pages/our-real-world-store"> 76<link rel="alternate" hreflang="en" href="https://juniperfarm.ca/pages/our-real-world-store"> 77<link rel="alternate" hreflang="fr" href="https://juniperfarm.ca/fr/pages/notre-boutique-physique">
78<script async="async" src="/checkouts/internal/preloads.js?locale=en-CA"></script>
78 79<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
80<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-CA&shop_id=4337205377" crossorigin="anonymous"></script>
vendor: 1 bytes, line 80
80
81<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":4337205377,"countryCode":"CA","currencyCode":"CAD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/4337205377","merchantName":"Juniper Farm Store","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","interac"],"total":{"type":"pending","label":"Juniper Farm Store","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 81
81
82<script id="shopify-features" type="application/json">{"accessToken":"fd3e1902941d65cc2ba7e40216239c4d","betas":["rich-media-storefront-analytics"],"domain":"juniperfarm.ca","predictiveSearch":true,"shopId":4337205377,"locale":"en"}</script>
vendor: 1 bytes, line 82
82
83<script>var Shopify = Shopify || {}; 84Shopify.shop = "juniper-farm-online-farm.myshopify.com"; 85Shopify.locale = "en"; 86Shopify.currency = {"active":"CAD","rate":"1.0"}; 87Shopify.country = "CA"; 88Shopify.theme = {"name":"Cart\/giftcard updates (April 24 2025)","id":126375362689,"schema_name":"Story","schema_version":"1.3.0","theme_store_id":864,"role":"main"}; 89Shopify.theme.handle = "null"; 90Shopify.theme.style = {"id":null,"handle":null}; 91Shopify.cdnHost = "juniperfarm.ca/cdn"; 92Shopify.routes = Shopify.routes || {}; 93Shopify.routes.root = "/"; 94Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 95Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 96Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 97Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 97
97
98<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 98
98
99<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 99
99
100<script> 101 window.ShopifyPay = window.ShopifyPay || {}; 102 window.ShopifyPay.apiHost = "shop.app\/pay"; 103 window.ShopifyPay.redirectState = null; 104</script>
vendor: 1 bytes, line 104
104
105<script> 106 window.Shopify = window.Shopify || {}; 107 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 108 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 109 window.Shopify.SignInWithShop.eligible = true; 110</script>
vendor: 1 bytes, line 110
110
111<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 111
111
112<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 112
112
113<script type="module"> 114 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 115 116 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 117 118</script>
vendor: 1 bytes, line 118
118
119<script> 120 window.Shopify = window.Shopify || {}; 121 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 122 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"]}; 123</script>
vendor: 1 bytes, line 123
123
124<script>(function() { 125 var isLoaded = false; 126 function asyncLoad() { 127 if (isLoaded) return; 128 isLoaded = true; 129 var urls = ["https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/035811b70dca2c186f00ef602\/6c73f6915aa76fca695308bc9.js?shop=juniper-farm-online-farm.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-3654a08ec5fadea9dd01c1c3f68f922b.js?shop=juniper-farm-online-farm.myshopify.com"]; 130 for (var i = 0; i < urls.length; i++) { 131 var s = document.createElement('script'); 132 s.type = 'text/javascript'; 133 s.async = true; 134 s.src = urls[i]; 135 var x = document.getElementsByTagName('script')[0]; 136 x.parentNode.insertBefore(s, x); 137 } 138 }; 139 if(window.attachEvent) { 140 window.attachEvent('onload', asyncLoad); 141 } else { 142 window.addEventListener('load', asyncLoad, false); 143 } 144})();</script>
vendor: 1 bytes, line 144
144
145<script id="__st">var __st={"a":4337205377,"offset":-14400,"reqid":"a587bf93-2b50-4b01-b943-c641c9d6b384-1791444076","pageurl":"juniperfarm.ca\/pages\/our-real-world-store","s":"pages-28082143361","u":"ff82d3c3419d","p":"page","rtyp":"page","rid":28082143361};</script>
vendor: 1 bytes, line 145
145
146<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 146
146
147<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 147
147
148<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//juniperfarm.ca/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 148
148
149<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 = "//juniperfarm.ca/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>
149<script crossorigin="anonymous" defer="defer" src="//juniperfarm.ca/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 149
149
150<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 150
150
151<script> 152 window.Shopify = window.Shopify || {}; 153 window.Shopify.MCP = window.Shopify.MCP || {}; 154 window.Shopify.MCP.enabled = true; 155 window.Shopify.MCP.shop = "juniper-farm-online-farm.myshopify.com"; 156 window.Shopify.MCP.mcpEndpoint = "https:\/\/juniperfarm.ca\/api\/mcp"; 157 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"]}}]; 158</script>
vendor: 1 bytes, line 158
158
159<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("\/\/juniperfarm.ca\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 160</script>
vendor: 1 bytes, line 160
160
161<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://juniperfarm.ca/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 162</script>
vendor: 1 bytes, line 162
162
163<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 164 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); 165</script>
vendor: 1 bytes, line 165
165
166<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 167</script>
167 168<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://juniperfarm.ca/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 169<style id="shopify-accelerated-checkout-cart"> 170 #shopify-buyer-consent { 171 margin-top: 1em; 172 display: inline-block; 173 width: 100%; 174} 175 176#shopify-buyer-consent.hidden { 177 display: none; 178} 179 180#shopify-subscription-policy-button { 181 background: none; 182 border: none; 183 padding: 0; 184 text-decoration: underline; 185 font-size: inherit; 186 cursor: pointer; 187} 188 189#shopify-subscription-policy-button::before { 190 box-shadow: none; 191} 192 193 </style> 194
195<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
195 196<!-- Zapiet | Store Pickup + Delivery --> 197 198<!-- Zapiet | Store Pickup + Delivery --> 199 200<meta name="google-site-verification" content="R_lHkHPIFRYM3L5-ob6VrAOVUWq0--kji1mfnrVfJ8E" />
200<script> 201 // empty script tag to work around a platform issue where attributes of first script in file are scrubbed 202</script>
202 203
204<script id="bold-subscriptions-script" type="text/javascript"> 205 window.BOLD = window.BOLD || {}; 206 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 207 window.BOLD.subscriptions.config = window.BOLD.subscriptions.config || {}; 208 window.BOLD.subscriptions.config.legacyAssetsLoaded = true; 209 210 if (!window.BOLD.subscriptions.config.isAppEmbedEnabled) { 211 window.BOLD.subscriptions.classes = window.BOLD.subscriptions.classes || {}; 212 window.BOLD.subscriptions.patches = window.BOLD.subscriptions.patches || {}; 213 window.BOLD.subscriptions.patches.maxCheckoutRetries = window.BOLD.subscriptions.patches.maxCheckoutRetries || 200; 214 window.BOLD.subscriptions.patches.currentCheckoutRetries = window.BOLD.subscriptions.patches.currentCheckoutRetries || 0; 215 window.BOLD.subscriptions.patches.maxCashierPatchAttempts = window.BOLD.subscriptions.patches.maxCashierPatchAttempts || 200; 216 window.BOLD.subscriptions.patches.currentCashierPatchAttempts = window.BOLD.subscriptions.patches.currentCashierPatchAttempts || 0; 217 window.BOLD.subscriptions.config.platform = 'shopify'; 218 window.BOLD.subscriptions.config.shopDomain = 'juniper-farm-online-farm.myshopify.com'; 219 window.BOLD.subscriptions.config.customDomain = 'juniperfarm.ca'; 220 window.BOLD.subscriptions.config.shopIdentifier = '4337205377'; 221 window.BOLD.subscriptions.config.appUrl = 'https://sub.boldapps.net'; 222 window.BOLD.subscriptions.config.currencyCode = 'CAD'; 223 window.BOLD.subscriptions.config.checkoutType = 'shopify'; 224 window.BOLD.subscriptions.config.currencyFormat = "$\u0026#123;\u0026#123;amount}}"; 225 window.BOLD.subscriptions.config.shopCurrencies = [{"id":5855,"currency":"CAD","currency_format":"$\u0026#123;\u0026#123;amount}}","created_at":"2023-08-26 18:42:52","updated_at":"2023-08-26 18:42:52"}]; 226 window.BOLD.subscriptions.config.shopSettings = {"allow_msp_cancellation":true,"allow_msp_prepaid_renewal":true,"customer_can_pause_subscription":false,"customer_can_change_next_order_date":false,"customer_can_change_order_frequency":false,"customer_can_create_an_additional_order":false,"customer_can_use_passwordless_login":false,"customer_passwordless_login_redirect":false,"customer_can_add_products_to_existing_subscriptions":true,"show_currency_code":true,"stored_payment_method_policy":"required","customer_portal_path":null}; 227 window.BOLD.subscriptions.config.customerLoginPath = null; 228 229 // TODO: Remove the isset with BS2-4659_improve_large_group_selection 230 window.BOLD.subscriptions.config.loadSubscriptionGroupFrom = 'default'; 231 window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes = {"DEFAULT":"default","BSUB_API":"bsub_api"}; 232 window.BOLD.subscriptions.config.cashierPluginOnlyMode = window.BOLD.subscriptions.config.cashierPluginOnlyMode || false; 233 if (window.BOLD.subscriptions.config.waitForCheckoutLoader === undefined) { 234 window.BOLD.subscriptions.config.waitForCheckoutLoader = true; 235 } 236 237 window.BOLD.subscriptions.config.addToCartFormSelectors = window.BOLD.subscriptions.config.addToCartFormSelectors || []; 238 window.BOLD.subscriptions.config.addToCartButtonSelectors = window.BOLD.subscriptions.config.addToCartButtonSelectors || []; 239 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors = window.BOLD.subscriptions.config.widgetInsertBeforeSelectors || []; 240 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors = window.BOLD.subscriptions.config.quickAddToCartButtonSelectors || []; 241 window.BOLD.subscriptions.config.cartElementSelectors = window.BOLD.subscriptions.config.cartElementSelectors || []; 242 window.BOLD.subscriptions.config.cartTotalElementSelectors = window.BOLD.subscriptions.config.cartTotalElementSelectors || []; 243 window.BOLD.subscriptions.config.lineItemSelectors = window.BOLD.subscriptions.config.lineItemSelectors || []; 244 window.BOLD.subscriptions.config.lineItemNameSelectors = window.BOLD.subscriptions.config.lineItemNameSelectors || []; 245 window.BOLD.subscriptions.config.checkoutButtonSelectors = window.BOLD.subscriptions.config.checkoutButtonSelectors || []; 246 247 window.BOLD.subscriptions.config.featureFlags = window.BOLD.subscriptions.config.featureFlags || ["BE-1563-direct-checkout-url","BE-1641-throttle-requests-to-bold-platform","BS2-4293-skip-tx-fee-eq-zero","BE-1614-use-seletedDate-for-offset","BE-1642-bold-checkout-line-item-price","BE-1692-do-not-overwrite-ne
247wly-created-addresses"]; 248 window.BOLD.subscriptions.config.subscriptionProcessingFrequency = '60'; 249 window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage = true; 250 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 251 252 // Interval text markup template 253 window.BOLD.subscriptions.config.lineItemPropertyListSelectors = window.BOLD.subscriptions.config.lineItemPropertyListSelectors || []; 254 window.BOLD.subscriptions.config.lineItemPropertyListSelectors.push('dl.definitionList'); 255 window.BOLD.subscriptions.config.lineItemPropertyListTemplate = window.BOLD.subscriptions.config.lineItemPropertyListTemplate || '<dl class="definitionList"></dl>'; 256 window.BOLD.subscriptions.config.lineItemPropertyTemplate = window.BOLD.subscriptions.config.lineItemPropertyTemplate || '<dt class="definitionList-key">\:</dt><dd class="definitionList-value">\</dd>'; 257 258 // Discount text markup template 259 window.BOLD.subscriptions.config.discountItemTemplate = window.BOLD.subscriptions.config.discountItemTemplate || '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">\</div><div class="bold-subscriptions-discount__total">\</div></div>'; 260 261 262 // Constants in XMLHttpRequest are not reliable, so we will create our own 263 // reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState 264 window.BOLD.subscriptions.config.XMLHttpRequest = { 265 UNSENT:0, // Client has been created. open() not called yet. 266 OPENED: 1, // open() has been called. 267 HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available. 268 LOADING: 3, // Downloading; responseText holds partial data. 269 DONE: 4 // The operation is complete. 270 }; 271 272 window.BOLD.subscriptions.config.assetBaseUrl = 'https://sub.boldapps.net'; 273 if (window.localStorage && window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')) { 274 window.BOLD.subscriptions.config.assetBaseUrl = window.localStorage.getItem('boldSubscriptionsAssetBaseUrl') 275 } 276 277 window.BOLD.subscriptions.data.subscriptionGroups = []; 278 if (localStorage && localStorage.getItem('boldSubscriptionsSubscriptionGroups')) { 279 window.BOLD.subscriptions.data.subscriptionGroups = JSON.parse(localStorage.getItem('boldSubscriptionsSubscriptionGroups')); 280 } else { 281 window.BOLD.subscriptions.data.subscriptionGroups = [{"id":35332,"billing_rules":[{"id":81734,"subscription_group_id":35332,"interval_name":"Weekly (every Friday)","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":34936,"subscription_group_id":35332,"total_duration":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":"6634761617537"}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true}]; 282 } 283 284 window.BOLD.subscriptions.isFeatureFlagEnabled = function (featureFlag) { 285 for (var i = 0; i < window.BOLD.subscriptions.config.featureFlags.length; i++) { 286 if (window.BOLD.subscriptions.config.featureFlags[i] === featureFlag){ 287 return true; 288 } 289 } 290 return false; 291 } 292 293 window.BOLD.subscriptions.logger = { 294 tag: "bold_subscriptions", 295 // the bold subscriptions log level 296 // 0 - errors (default) 297 // 1 - warnings + errors 298 // 2 - info + warnings + errors 299 // use window.localStorage.setItem('boldSubscriptionsLogLevel', x) to set the log level 300 levels: { 301 ERROR: 0, 302 WARN: 1, 303 INFO: 2, 304 }, 305 level: parseInt((window.localStorage && window.localStorage.getItem('boldSubscriptionsLogLevel')) || "0", 10), 306 _log: function(callArgs, level) { 307 if (!window.console) { 308 return null; 309 } 310 311 if (window.BOLD.subscriptions.logger.level < level) { 312 return; 313 } 314 315 var params = Array.prototype.slice.call(callArgs); 316 params.unshift(window.BOLD.subscriptions.logger.tag); 317 318 switch (level) { 319 case window.BOLD.subscriptions.logger.levels.INFO: 320 console.info.apply(null, params); 321 return; 322 case window.BOLD.subscriptions.logger.levels.WARN: 323 console.warn.apply(null, params); 324 return; 325 case window.BOLD.subscriptions.logger.levels.ERROR: 326 console.error.apply(null, params); 327 return; 328 default: 329 console.log.apply(null, params); 330 return; 331 } 332 }, 333 info: function() { 334 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.INFO); 335 }, 336 warn: function() { 337 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.WARN); 338 }, 339 error: function() { 340 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.ERROR); 341 } 342 } 343 344 window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI = function() { 345 return window.BOLD.subscriptions.config.loadSubscriptionGroupFrom === window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes['BSUB_API']; 346 } 347 348 window.BOLD.subscriptions.getSubscriptionGroupFromProductId = function (productId) { 349 var data = window.BOLD.subscriptions.data; 350 var foundGroup = null; 351 for (var i = 0; i < data.subscriptionGroups.length; i += 1) { 352 var subscriptionGroup = data.subscriptionGroups[i]; 353 for (var j = 0; j < subscriptionGroup.selection_options.length; j += 1) { 354 var selectionOption = subscriptionGroup.selection_options[j]; 355 if (selectionOption.platform_entity_id === productId.toString()) { 356 foundGroup = subscriptionGroup; 357 break; 358 } 359 } 360 if (foundGroup) { 361 break; 362 } 363 } 364 return foundGroup; 365 }; 366 367 window.BOLD.subscriptions.getSubscriptionGroupById = function(subGroupId) { 368 var subscriptionGroups = window.BOLD.subscriptions.data.subscriptionGroups; 369 370 for (var i = 0; i < subscriptionGroups.length; i += 1) { 371 var subGroup = subscriptionGroups[i]; 372 if (subGroup.id === subGroupId) { 373 return subGroup; 374 } 375 } 376 377 return null; 378 }; 379 380 window.BOLD.subscriptions.addSubscriptionGroup = function (subscriptionGroup) { 381 if(!window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroup.id)) 382 { 383 window.BOLD.subscriptions.data.subscriptionGroups.push(subscriptionGroup); 384 } 385 } 386 387 window.BOLD.subscriptions.getSubscriptionGroupPrepaidDurationById = function(subscriptionGroupId, prepaidDurationId) { 388 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroupId); 389 390 if ( 391 !subscriptionGroup 392 || !subscriptionGroup.prepaid_durations 393 || !subscriptionGroup.prepaid_durations.length 394 ) { 395 return null; 396 } 397 398 for (var i = 0; i < subscriptionGroup.prepaid_durations.length; i++) { 399 var prepaidDuration = subscriptionGroup.prepaid_durations[i]; 400 if (prepaidDuration.id === prepaidDurationId) { 401 return prepaidDuration; 402 } 403 } 404 405 return null; 406 } 407 408 window.BOLD.subscriptions.getSubscriptionGroupBillingRuleById = function(subGroup, billingRuleId) { 409 for (var i = 0; i < subGroup.billing_rules.length; i += 1) { 410 var billingRule = subGroup.billing_rules[i]; 411 if (billingRule.id === billingRuleId) { 412 return billingRule; 413 } 414 } 415 416 return null; 417 }; 418 419 window.BOLD.subscriptions.toggleDisabledAddToCartButtons = function(d) { 420 var addToCartForms = document.querySelectorAll(window.BOLD.subscriptions.config.addToCartFormSelectors.join(',')); 421 var disable = !!d; 422 for (var i = 0; i < addToCartForms.length; i++) { 423 var addToCartForm = addToCartForms[i]; 424 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(
424addToCartForm); 425 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 426 427 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection') ) { 428 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 429 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 430 for (var j = 0; j < addToCartButtons.length; j++) { 431 var addToCartButton = addToCartButtons[j]; 432 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 433 434 addToCartButton.disabled = disable; 435 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 436 } 437 } 438 } else { 439 if (subscriptionGroup) { 440 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 441 for (var j = 0; j < addToCartButtons.length; j++) { 442 var addToCartButton = addToCartButtons[j]; 443 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 444 445 addToCartButton.disabled = disable; 446 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 447 } 448 } 449 } 450 451 } 452 }; 453 454 window.BOLD.subscriptions.disableAddToCartButtons = function () { 455 // only disable the add to cart buttons if the app isn't loaded yet 456 if (!window.BOLD.subscriptions.app) { 457 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(true); 458 } else { 459 window.BOLD.subscriptions.enableAddToCartButtons(); 460 } 461 }; 462 463 window.BOLD.subscriptions.enableAddToCartButtons = function () { 464 document.removeEventListener('click', window.BOLD.subscriptions.preventSubscriptionAddToCart); 465 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(false); 466 }; 467 468 window.BOLD.subscriptions.toggleDisabledCheckoutButtons = function(d) { 469 var checkoutButtons = document.querySelectorAll(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')); 470 var disable = !!d; 471 for (var i = 0; i < checkoutButtons.length; i++) { 472 var checkoutButton = checkoutButtons[i]; 473 var toggleAction = disable ? checkoutButton.setAttribute : checkoutButton.removeAttribute; 474 475 checkoutButton.disabled = disable; 476 toggleAction.call(checkoutButton, 'data-disabled-by-subscriptions', disable); 477 } 478 } 479 480 window.BOLD.subscriptions.disableCheckoutButtons = function() { 481 // only disable the checkout buttons if the app isn't loaded yet 482 if (!window.BOLD.subscriptions.app) { 483 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(true); 484 } else { 485 window.BOLD.subscriptions.enableCheckoutButtons(); 486 } 487 } 488 489 window.BOLD.subscriptions.enableCheckoutButtons = function() { 490 document.removeEventListener('click', window.BOLD.subscriptions.preventCheckout); 491 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(false); 492 } 493 494 window.BOLD.subscriptions.hasSuccessfulAddToCarts = function() { 495 if (typeof(Storage) !== "undefined") { 496 var successfulAddToCarts = JSON.parse( 497 window.localStorage.getItem('boldSubscriptionsSuccessfulAddToCarts') || '[]' 498 ); 499 if (successfulAddToCarts.length > 0) { 500 return true; 501 } 502 } 503 504 return false;
505 } 506 507 window.BOLD.subscriptions.hasPendingAddToCarts = function() { 508 if (typeof(Storage) !== "undefined") { 509 var pendingAddToCarts = JSON.parse( 510 window.localStorage.getItem('boldSubscriptionsPendingAddToCarts') || '[]' 511 ); 512 if (pendingAddToCarts.length > 0) { 513 return true; 514 } 515 } 516 517 return false; 518 } 519 520 window.BOLD.subscriptions.addJSAsset = function(src, deferred) { 521 var scriptTag = document.getElementById('bold-subscriptions-script'); 522 var jsElement = document.createElement('script'); 523 jsElement.type = 'text/javascript'; 524 jsElement.src = src; 525 if (deferred) { 526 jsElement.defer = true; 527 } 528 scriptTag.parentNode.insertBefore(jsElement, scriptTag); 529 }; 530 531 window.BOLD.subscriptions.addCSSAsset = function(href) { 532 var scriptTag = document.getElementById('bold-subscriptions-script'); 533 var cssElement = document.createElement('link'); 534 cssElement.href = href; 535 cssElement.rel = 'stylesheet'; 536 scriptTag.parentNode.insertBefore(cssElement, scriptTag); 537 }; 538 539 window.BOLD.subscriptions.loadStorefrontAssets = function loadStorefrontAssets() { 540 var assets = window.BOLD.subscriptions.config.assets; 541 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.css']); 542 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.js'], false); 543 }; 544 545 window.BOLD.subscriptions.loadCustomerPortalAssets = function loadCustomerPortalAssets() { 546 var assets = window.BOLD.subscriptions.config.assets; 547 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.css']); 548 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.js'], true); 549 }; 550 551 window.BOLD.subscriptions.processManifest = function() { 552 if (!window.BOLD.subscriptions.processedManifest) { 553 window.BOLD.subscriptions.processedManifest = true; 554 window.BOLD.subscriptions.config.assets = JSON.parse(this.responseText); 555 556 window.BOLD.subscriptions.loadCustomerPortalAssets(); 557 } 558 }; 559 560 window.BOLD.subscriptions.addInitialLoadingMessage = function() { 561 var customerPortalNode = document.getElementById('customer-portal-root'); 562 if (customerPortalNode && window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage) { 563 customerPortalNode.innerHTML = '<div class="bold-subscriptions-loader-container"><div class="bold-subscriptions-loader"></div></div>'; 564 } 565 } 566 567 window.BOLD.subscriptions.contentLoaded = function() { 568 window.BOLD.subscriptions.data.contentLoadedEventTriggered = true; 569 window.BOLD.subscriptions.addInitialLoadingMessage(); 570 }; 571 572 window.BOLD.subscriptions.preventSubscriptionAddToCart = function(e) { 573 if (e.target.matches(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')) && e.target.form) { 574 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(e.target.form); 575 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 576 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection')) 577 { 578 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 579 // This code prevents products in subscription groups from being added to the cart before the 580 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 581 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 582 e.preventDefault(); 583 return false;
584 } 585 } else { 586 if (subscriptionGroup) { 587 // This code prevents products in subscription groups from being added to the cart before the 588 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 589 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 590 e.preventDefault(); 591 return false; 592 } 593 } 594 595 } 596 }; 597 598 window.BOLD.subscriptions.preventCheckout = function(e) { 599 if ( 600 e.target.matches(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')) 601 && (window.BOLD.subscriptions.hasSuccessfulAddToCarts() || window.BOLD.subscriptions.hasPendingAddToCarts()) 602 ) { 603 // This code prevents checkouts on the shop until the Subscriptions app fully loads. 604 // When the Subscriptions app is ready it will enable the checkout buttons itself. 605 // Use window.BOLD.subscriptions.enableCheckoutButtons to enable them manually. 606 e.preventDefault(); 607 return false; 608 } 609 } 610 611 document.addEventListener('DOMContentLoaded', window.BOLD.subscriptions.contentLoaded); 612 613 if (!Element.prototype.matches) { 614 Element.prototype.matches = 615 Element.prototype.matchesSelector || 616 Element.prototype.mozMatchesSelector || 617 Element.prototype.msMatchesSelector || 618 Element.prototype.oMatchesSelector || 619 Element.prototype.webkitMatchesSelector || 620 function(s) { 621 var matches = (this.document || this.ownerDocument).querySelectorAll(s), 622 i = matches.length; 623 while (--i >= 0 && matches.item(i) !== this) {} 624 return i > -1; 625 }; 626 } 627 628 if (!Element.prototype.closest) { 629 Element.prototype.closest = function(s) { 630 var el = this; 631 632 do { 633 if (Element.prototype.matches.call(el, s)) return el; 634 el = el.parentElement || el.parentNode; 635 } while (el !== null && el.nodeType === 1); 636 return null; 637 }; 638 } 639 640 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons = function (isVisible) { 641 if (window.BOLD.subscriptions.config.additionalCheckoutSelectors === undefined) { 642 return; 643 } 644 645 var selectors = window.BOLD.subscriptions.config.additionalCheckoutSelectors; 646 647 for (var i = 0; i < selectors.length; i++) { 648 var elements = document.querySelectorAll(selectors[i]); 649 650 for (var j = 0; j < elements.length; j++) { 651 elements[j].style.display = isVisible ? 'block' : 'none'; 652 } 653 } 654 } 655 656 window.BOLD.subscriptions.hideAdditionalCheckoutButtons = function() { 657 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(false); 658 }; 659 660 window.BOLD.subscriptions.showAdditionalCheckoutButtons = function() { 661 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(true); 662 }; 663 664 window.BOLD.subscriptions.enhanceMspUrls = function(data) { 665 var mspUrl = 'https://sub.boldapps.net/shop/17190/customer_portal'; 666 var elements = document.querySelectorAll("a[href='"+mspUrl+"']"); 667 668 if(!elements.length || !data.success) { 669 return; 670 } 671 672 for (var i = 0; i < elements.length; i++) { 673 elements[i].href = elements[i].href + "?jwt="+data.value.jwt+"&customerId="+data.value.customerId; 674 } 675 }; 676 677 window.addEventListener('load', function () { 678 window.BOLD.subscriptions.getJWT(window.BOLD.subscriptions.enhanceMspUrls); 679 }); 680 681 // This will be called immediately 682 // Use this anonymous function to avoid polluting the global namespace 683 (function() { 684 var xhr = new XMLHttpRequest(); 685 xhr.addEventListener('load', window.BOLD.subscriptions.processManifest); 686 xhr.open('GET', window.BOLD.subscriptions.config.assetBaseUrl + '/static/manifest.json?t=' + (new Date()).getTime()); 687 xhr.send(); 688 })() 689 690 window.BOLD.subscriptions.patches.patchCashier = function() { 691 if (window.BOLD && window.BOLD.checkout) { 692 window.BOLD.checkout.disable(); 693 window.BOLD.checkout.listenerFn = window.BOLD.subscriptions.patches.cashierListenerFn; 694 window.BOLD.checkout.enable(); 695 } else if (window.BOLD.subscriptions.patches.currentCashierPatchAttempts < window.BOLD.subscriptions.patches.maxCashierPatchAttempts) { 696 window.BOLD.subscriptions.patches.currentCashierPatchAttempts++; 697 setTimeout(window.BOLD.subscriptions.patches.patchCashier, 100); 698 } 699 }; 700 701 window.BOLD.subscriptions.patches.finishCheckout = function(event, form, cart) { 702 window.BOLD.subscriptions.patches.currentCheckoutRetries++; 703 704 if (!window.BOLD.subscriptions.app 705 && window.BOLD.subscriptions.patches.currentCheckoutRetries < window.BOLD.subscriptions.patches.maxCheckoutRetries 706 ) { 707 setTimeout(function () { window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); }, 100); 708 return; 709 } else if (window.BOLD.subscriptions.app) { 710 window.BOLD.subscriptions.patches.currentCheckoutRetries = 0; 711 window.BOLD.subscriptions.app.addCartParams(form, cart); 712 } 713 714 var noSubscriptions = false;
715 if ((window.BOLD.subscriptions.app && window.BOLD.subscriptions.app.successfulAddToCarts.length === 0) 716 || !window.BOLD.subscriptions.app 717 ) { 718 noSubscriptions = true; 719 event.target.dataset.cashierConfirmedNoPlugins = true; 720 721 if (window.BOLD.subscriptions.setCashierFeatureToken) { 722 window.BOLD.subscriptions.setCashierFeatureToken(false); 723 } 724 } 725 726 if ((noSubscriptions && window.BOLD.subscriptions.config.cashierPluginOnlyMode) 727 || (typeof BOLD.checkout.isFeatureRequired === 'function' && !BOLD.checkout.isFeatureRequired()) 728 ) { 729 // send them to the original checkout when in plugin only mode 730 // and either BSUB is there but there are no subscription products 731 // or BSUB isn't there at all 732 if (form.dataset.old_form_action) { 733 form.action = form.dataset.old_form_action; 734 } 735 event.target.click(); 736 } else { 737 // sends them to Cashier since BSUB got a chance to add it's stuff 738 // and plugin only mode is not enabled 739 form.submit(); 740 } 741 }; 742 } 743</script>
743 744
745<script id="bold-subscriptions-platform-script" type="text/javascript"> 746 window.BOLD.subscriptions.config.shopPlatformId = '4337205377'; 747 window.BOLD.subscriptions.config.appSlug = 'subscriptions'; 748 749 window.BOLD = window.BOLD || {}; 750 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 751 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 752 window.BOLD.subscriptions.data.platform = window.BOLD.subscriptions.data.platform || {}; 753 window.BOLD.subscriptions.data.platform.customer = { id: '' }; 754 window.BOLD.subscriptions.data.platform.product = null; 755 window.BOLD.subscriptions.data.platform.products = []; 756 window.BOLD.subscriptions.data.platform.variantProductMap = {}; 757 758 window.BOLD.subscriptions.addCachedProductData = function(products) { 759 // ignore [], null, and undefined 760 if (!products) { 761 return 762 } 763 764 if (!Array.isArray(products)) { 765 window.BOLD.subscriptions.logger.warn('products must be an array') 766 return 767 } 768 769 window.BOLD.subscriptions.data.platform.products.concat(products) 770 771 for (var i = 0; i < products.length; i++) { 772 var product = products[i]; 773 for (var j = 0; j < product.variants.length; j++) { 774 var variant = product.variants[j]; 775 window.BOLD.subscriptions.data.platform.variantProductMap[variant.id] = product; 776 } 777 } 778 } 779 780 781 782 783 784 window.BOLD.subscriptions.config.addToCartFormSelectors.push( 785 '.product-form.product-form-product-template:not(.bold-subscriptions-no-widget)' 786 ,'.product-form.product-form--payment-button:not(.bold-subscriptions-no-widget)' 787 ); 788 window.BOLD.subscriptions.config.addToCartButtonSelectors.push('[type="submit"]'); 789 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors.push('a[data-event-type="product-click"]'); 790 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors.push('[type="submit"]'); 791 window.BOLD.subscriptions.config.cartElementSelectors.push('form[action="/cart"]'); 792 window.BOLD.subscriptions.config.cartTotalElementSelectors.push('[data-cart-subtotal]', '.text-right .ajaxcart__subtotal'); 793 window.BOLD.subscriptions.config.checkoutButtonSelectors.push( 794 '[name="checkout"]', 795 '[href*="checkout"]:not([href*="tools/checkout"])', 796 '[onclick*="checkout"]:not([onclick*="tools/checkout"])', 797 ); 798 799 // Discount text markup template 800 // NOTE: @ on double curly, so blade doesn't interpret, and `raw` liquid tags so liquid doesn't interpret. 801 802 window.BOLD.subscriptions.config.discountItemTemplate = '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 803 804 805 window.BOLD.subscriptions.getProductIdFromAddToCartForm = function(addToCartForm) { 806 var idInput = addToCartForm.querySelector('[name="id"]'); 807 if (idInput === null) { 808 window.BOLD.subscriptions.logger.error('could not get variant id input from add to cart form â make sure your form has an input with [name="id"]') 809 return null; 810 } 811 812 var variantId = parseInt(idInput.value, 10); 813 if (isNaN(variantId)) { 814 window.BOLD.subscriptions.logger.error('could not parse variant id from [name="id"] input') 815 return null; 816 } 817 818 var product = window.BOLD.subscriptions.data.platform.variantProductMap[variantId]; 819 820 if (product === undefined) { 821 window.BOLD.subscriptions.logger.error('could not map variant id to cached product data â call window.BOLD.subscriptions.addCachedProductData(products) to add the product to the cache') 822 return null; 823 } 824 825 return product.id; 826 }; 827 828 window.BOLD.subscriptions.getAddToCartForms = function() { 829 var forms = []; 830 var idInputs = document.querySelectorAll('[name="id"]'); 831 832 for (var i = 0; i < idInputs.length; i++) { 833 var idInput = idInputs[i]; 834 var form = idInput.closest('form:not(.bold-subscriptions-no-widget)'); 835 if (form) { 836 forms.push(form); 837 } 838 } 839 840 return forms; 841 }; 842 843 window.BOLD.subscriptions.getJWT = function (callback) { 844 if(window.BOLD.subscriptions.data.platform.customer.id !== '') { 845 var shopPlatformId = '4337205377'; 846 var appSlug = 'subscriptions'; 847 var customerPlatformId = window.BOLD.subscriptions.data.platform.customer.id; 848 var proxyPath = '/apps/app-proxy/customers/v1/shops/'+shopPlatformId+'/apps/'+appSlug+'/customers/pid/'+customerPlatformId+'/jwt'; 849 850 var xmlhttp = new XMLHttpRequest(); 851 852 xmlhttp.onreadystatechange = function() { 853 if (xmlhttp.readyState === window.BOLD.subscriptions.config.XMLHttpRequest.DONE) { 854 if (xmlhttp.status === 200) { 855 var data = JSON.parse(xmlhttp.responseText); 856 callback({ 857 success: true, 858 value: { 859 jwt: data.bold_platform_jwt, 860 customerId: window.BOLD.subscriptions.data.platform.customer.id, 861 }, 862 }); 863 } else if (xmlhttp.status === 404) { 864 callback({ 865 success: false, 866 error: 'not_logged_in', 867 }); 868 } else { 869 callback({ 870 success: false, 871 error: 'unknown', 872 }); 873 } 874 } 875 }; 876 877 xmlhttp.open("GET", proxyPath, true); 878 xmlhttp.setRequestHeader('Accept', 'application/liquid'); 879 xmlhttp.send(); 880 } else { 881 callback({ 882 success: false, 883 error: 'not_logged_in', 884 }); 885 } 886 }; 887 888 window.BOLD.subscriptions.setCashierFeatureToken = function(value) { 889 if (window.BOLD.checkout_features_defaults && window.BOLD.subscriptions.config.cashierApplicationUUID) {
890 window.BOLD.checkout_features_defaults.forEach(function(item) { 891 if (item.id === window.BOLD.subscriptions.config.cashierApplicationUUID) { 892 item.require = value; 893 } 894 }); 895 } 896 }; 897 898 // Cashier patches 899 window.BOLD.subscriptions.patches.cashierListenerFn = function(event) { 900 if (window.BOLD.checkout.isCheckoutButton(event.target) && window.BOLD.checkout.isEnabled()) { 901 window.BOLD.subscriptions.patches.pushToCashier(event); 902 } else if(window.BOLD.checkout.isCheckoutButton(event.target) && typeof window.cashier_installed_on_site === 'undefined') { 903 var request = new XMLHttpRequest(); 904 request.open('HEAD', '/apps/checkout/isInstalled', false); 905 request.send(null); 906 907 if(request.status >= 200 && request.status < 400) { 908 window.BOLD.subscriptions.patches.pushToCashier(event); 909 } else { 910 window.cashier_installed_on_site = false; 911 } 912 } 913 }; 914 915 window.BOLD.subscriptions.localTime = function() { 916 var localDate = new Date(); 917 return localDate.getTime(); 918 }; 919 920 921 window.BOLD.subscriptions.patches.pushToCashier = function(event) { 922 event.preventDefault(); 923 var form = window.BOLD.checkout.getForm(event.target); 924 var formData = new FormData(form); 925 var request = new XMLHttpRequest(); 926 request.open('POST', '/cart/update.js?tmp=' + Date.now(), true); 927 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 928 929 request.onload = function() { 930 if (request.status >= 200 && request.status < 400) { 931 // Success! 932 var cart = JSON.parse(request.responseText); 933 934 // If items are empty redirect back to the cart 935 if (cart.items.length === 0) { 936 return window.location.href = '/cart'; 937 } 938 939 cart.items.forEach(function(element) { 940 delete element.product_description; 941 }); 942 943 if (document.getElementById('CartSpecialInstructions')) { 944 // If the cart note exists, grab its value 945 cart.note = document.getElementById('CartSpecialInstructions').value; 946 } 947 948 var cartObj = JSON.stringify(cart); 949 950 var form = window.BOLD.checkout.getForm(event.target); 951 form.dataset.old_form_action = form.action; 952 form.action = '/apps/checkout/begin-checkout' + googleAnalyticsGetParamString({}); 953 var cartCookie = window.BOLD.checkout.getCookie('cart'); 954 var element = document.createElement('INPUT'); 955 element.type = 'HIDDEN'; 956 element.name = 'cart_id'; 957 element.value = cartCookie; 958 form.appendChild(element); 959 960 var dateElement = document.createElement('INPUT'); 961 dateElement.type = 'HIDDEN'; 962 dateElement.name = 'checkout_local_time'; 963 dateElement.value = window.BOLD.subscriptions.localTime(); 964 form.appendChild(dateElement); 965 966 var cartElement = document.createElement('INPUT'); 967 cartElement.type = 'HIDDEN'; 968 cartElement.name = 'cart'; 969 cartElement.value = cartObj; 970 form.appendChild(cartElement); 971 form.method = 'POST'; 972 973 if(window.BOLD && window.BOLD.checkout && typeof window.BOLD.checkout.languageIsoCode === 'string') { 974 var langInput = document.createElement('INPUT'); 975 langInput.type = 'HIDDEN'; 976 langInput.name = 'language_iso'; 977 langInput.value = window.BOLD.checkout.languageIsoCode; 978 form.appendChild(langInput); 979 } 980 981 if (window.BOLD && window.BOLD.common && typeof window.BOLD.common.eventEmitter === 'object' && typeof window.BOLDCURRENCY !== 'undefined') { 982 window.BOLD.common.eventEmitter.emit('BOLD_CASHIER_checkout', {target: form}); 983 } 984 985 window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); 986 } 987 }; 988 989 request.send(formData); 990 }; 991 992 </script>
992 993 994<!-- jQuery --> 995
995<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
995 996 997<!-- BOLD SUBSCRIPTIONS -->
998<script src="//juniperfarm.ca/cdn/shop/t/31/assets/bsub.js?v=63856768326787336821745522065" type="text/javascript"></script>
998 999<link href="//juniperfarm.ca/cdn/shop/t/31/assets/bsub.css?v=84946390033035596191745522065" rel="stylesheet" type="text/css" media="all" /> 1000 1001
1002<script src="https://cdn.shopify.com/extensions/01a114e1-e465-7e37-927e-785e9caa53f5/TMS-Prod-v-1c2e420-61-1/assets/tms-translator.min.js" type="text/javascript" defer="defer"></script>
1002 1003<meta property="og:image" content="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/transparent_white_logo_e8dc7022-6aa7-4367-af4d-aade59cb4816.png?v=1745432554" /> 1004<meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/transparent_white_logo_e8dc7022-6aa7-4367-af4d-aade59cb4816.png?v=1745432554" /> 1005<meta property="og:image:width" content="1563" /> 1006<meta property="og:image:height" content="1563" /> 1007<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1008<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: 4337205377,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1008
1008
1009<script> 1010 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1011</script>
vendor: 1 bytes, line 1011
1011
1012<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}
1012).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: 4337205377,storefrontBaseUrl: "https://juniperfarm.ca",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://juniperfarm.ca/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"643760257","configuration":"{\"mailchimp_store_id\":\"store_xobsmxkm89vm4fspbxho\", \"mailchimp_user_id\":\"14074823\",\"mailchimp_list_id\":\"12e0667bd8\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e357a49eadeb6216a959d63fa3fb8f55","type":"APP","apiClientId":2585307,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
1012,{"id":"113770625","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-0Q9D7NLZFJ\\\"],\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-0Q9D7NLZFJ\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Juniper Farm Store","paymentSettings":{"currencyCode":"CAD"},"myshopifyDomain":"juniper-farm-online-farm.myshopify.com","countryCode":"CA","storefrontUrl":"https:\/\/juniperfarm.ca"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://juniperfarm.ca/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"126375362689","themeStoreId":"864","themePublished":"true","eventMetadataId":"ca867e39-375f-4476-b912-8f062c0b877b","pageType":"page","resourceId":"28082143361","shopId":"4337205377","storefrontBaseUrl":"https:\/\/juniperfarm.ca","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1012<script> 1013 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1014 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1015 window.ShopifyAnalytics.meta.currency = 'CAD'; 1016 var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":28082143361,"requestId":"a587bf93-2b50-4b01-b943-c641c9d6b384-1791444076"}}; 1017 for (var attr in meta) { 1018 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1019 } 1020</script>
vendor: 1 bytes, line 1020
1020
1021<script class="analytics"> 1022 (function () { 1023 var customDocumentWrite = function(content) { 1024 var jquery = null; 1025 1026 if (window.jQuery) { 1027 jquery = window.jQuery; 1028 } else if (window.Checkout && window.Checkout.$) { 1029 jquery = window.Checkout.$; 1030 } 1031 1032 if (jquery) { 1033 jquery('body').append(content); 1034 } 1035 }; 1036 1037 var hasLoggedConversion = function(token) { 1038 if (token) { 1039 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1040 } 1041 return false; 1042 } 1043 1044 var setCookieIfConversion = function(token) { 1045 if (token) { 1046 var twoMonthsFromNow = new Date(Date.now()); 1047 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1048 1049 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1050 } 1051 } 1052 1053 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1054 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1055 if (trekkie.integrations) { 1056 return; 1057 } 1058 trekkie.methods = [ 1059 'identify', 1060 'page', 1061 'ready', 1062 'track', 1063 'trackForm', 1064 'trackLink' 1065 ]; 1066 trekkie.factory = function(method) { 1067 return function() { 1068 var args = Array.prototype.slice.call(arguments); 1069 args.unshift(method); 1070 trekkie.push(args); 1071 if (method == 'track' || method == 'page') { 1072 var pageUrl; 1073 try { 1074 pageUrl = window.location.href; 1075 } catch (e) {} 1076 var pageReferrer; 1077 try { 1078 pageReferrer = document.referrer; 1079 } catch (e) {} 1080 try { 1081 if (window.__TREKKIE_SHIM_QUEUE == null) { 1082 window.__TREKKIE_SHIM_QUEUE = []; 1083 } 1084 window.__TREKKIE_SHIM_QUEUE.push({ 1085 from: 'trekkie-stub', 1086 method: method, 1087 args: args.slice(1), 1088 pageContext: { 1089 url: pageUrl, 1090 referrer: pageReferrer 1091 } 1092 }); 1093 } catch (e) { 1094 // no-op 1095 } 1096 } 1097 return trekkie; 1098 }; 1099 }; 1100 for (var i = 0; i < trekkie.methods.length; i++) { 1101 var key = trekkie.methods[i]; 1102 trekkie[key] = trekkie.factory(key); 1103 } 1104 trekkie.load = function(config) { 1105 trekkie.config = config || {}; 1106 trekkie.config.initialDocumentCookie = document.cookie; 1107 var first = document.getElementsByTagName('script')[0]; 1108var script = document.createElement('script'); 1109script.type = 'text/javascript'; 1110script.onerror = function(e) { 1111 var scriptFallback = document.createElement('script'); 1112 scriptFallback.type = 'text/javascript'; 1113 scriptFallback.onerror = function(error) { 1114 var Monorail = { 1115 produce: function produce(monorailDomain, schemaId, payload) { 1116 var currentMs = new Date().getTime(); 1117 var event = { 1118 schema_id: schemaId, 1119 payload: payload, 1120 metadata: { 1121 event_created_at_ms: currentMs, 1122 event_sent_at_ms: currentMs 1123 } 1124 }; 1125 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1126 }, 1127 sendRequest: function sendRequest(endpointUrl, payload) { 1128 // Try the sendBeacon API 1129 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1130 var blobData = new window.Blob([payload], { 1131 type: 'text/plain' 1132 }); 1133 1134 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1135 return true; 1136 } // sendBeacon was not successful 1137 1138 } // XHR beacon 1139 1140 var xhr = new XMLHttpRequest(); 1141 1142 try { 1143 xhr.open('POST', endpointUrl); 1144 xhr.setRequestHeader('Content-Type', 'text/plain'); 1145 xhr.send(payload); 1146 } catch (e) { 1147 console.log(e); 1148 } 1149 1150 return false; 1151 }, 1152 isIos12: function isIos12() { 1153 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1154 } 1155 }; 1156 Monorail.produce('monorail-edge.shopifysvc.com', 1157 'trekkie_storefront_load_errors/1.1', 1158 {shop_id: 4337205377,
1159 theme_id: 126375362689, 1160 app_name: "storefront", 1161 context_url: window.location.href, 1162 source_url: "//juniperfarm.ca/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 1163 1164 }; 1165 scriptFallback.async = true; 1166 scriptFallback.src = '//juniperfarm.ca/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1167 first.parentNode.insertBefore(scriptFallback, first); 1168}; 1169script.async = true; 1170script.src = '//juniperfarm.ca/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1171first.parentNode.insertBefore(script, first); 1172 1173 }; 1174 trekkie.load( 1175 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":4337205377,"isMerchantRequest":null,"themeId":126375362689,"themeCityHash":"1061621518302605701","contentLanguage":"en","currency":"CAD","eventMetadataId":"ca867e39-375f-4476-b912-8f062c0b877b"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1176 ); 1177 1178 var loaded = false; 1179 trekkie.ready(function() { 1180 if (loaded) return; 1181 loaded = true; 1182 1183 window.ShopifyAnalytics.lib = window.trekkie; 1184 1185 var originalDocumentWrite = document.write; 1186 document.write = customDocumentWrite; 1187 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1188 document.write = originalDocumentWrite; 1189 1190 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1191 var token = match? match[1]: undefined; 1192 if (!hasLoggedConversion(token)) { 1193 setCookieIfConversion(token); 1194 1195 } 1196 }); 1197 1198 window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":28082143361,"requestId":"a587bf93-2b50-4b01-b943-c641c9d6b384-1791444076","shopifyEmitted":true}); 1199 1200 var eventsListenerScript = document.createElement('script'); 1201 eventsListenerScript.async = true; 1202 eventsListenerScript.src = "//juniperfarm.ca/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1203 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1204})();</script>
1204 1205
1205<script> 1206 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 1207 window.ga = function ga() { 1208 (window.ga.q = window.ga.q || []).push(arguments); 1209 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1210 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 1211 } 1212 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."); 1213 }; 1214 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1215 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 1216 } 1217 } 1218</script>
vendor: 1 bytes, line 1218
1218
1219<script 1220 defer 1221 src="https://juniperfarm.ca/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.0.min.js" 1222 data-application="storefront-renderer" 1223 data-shop-id="4337205377" 1224 data-render-region="gcp-us-central1" 1225 data-page-type="page" 1226 data-theme-instance-id="126375362689" 1227 data-theme-name="Story" 1228 data-theme-version="1.3.0" 1229 data-monorail-region="shop_domain" 1230 data-resource-timing-sampling-rate="10" 1231 data-shs="true" 1232 data-shs-beacon="true" 1233 data-shs-export-with-fetch="true" 1234 data-shs-logs-sample-rate="1" 1235 data-shs-beacon-endpoint="https://juniperfarm.ca/api/collect" 1236></script>
1236 1237<meta name="shopify-y" content="ac1d211f-22d0-43a1-b55a-6eff17b210ad" data-expiration="1823001676000"><meta name="shopify-s" content="8515eaa2-9b2b-4aea-a18f-3a6cd8113f95" data-expiration="1791445876000"><meta name="new-cookie-storage-activated" content="t"> 1238</head> 1239<style> 1240a.header__icon.header__icon--account.link.focus-inset.small-hide { 1241 display: none !important; 1242} 1243</style> 1244<body id="visit-us" class="template-page decoration-modern"> 1245 1246 <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a> 1247 1248 <div id="shopify-section-header" class="shopify-section"><div class="header__section header--transparent header--transparent--logo"> 1249 1250 <style> 1251 1252 .header__logo__link{ 1253 max-width: 320px; 1254 } 1255 1256 1257 .template-index .header--transparent:not(:hover) .header--desktop a, 1258 .template-index .header--transparent:not(:hover) .header--touch .header__cart__link, 1259 .template-index .header--transparent:not(:hover) .header--touch .header__hamburger, 1260 .template-index .header--transparent:not(:hover) .header--touch .header__logo a, 1261 .template-index .header--transparent:not(:hover) .announcement__message{ 1262 color: #ffffff; 1263 } 1264 1265 1266 1267 1268 1269 .template-index .header--transparent:not(:hover) .header-wrapper, 1270 .template-index .header--transparent:not(:hover) .announcement, 1271 .template-index .header--transparent:not(:hover) .header--desktop, 1272 .template-index .header--transparent:not(:hover) .header--touch{ 1273 background-color: rgba(250, 250, 250, 0.0); 1274 border-color: rgba(255, 255, 255, 0.0); 1275 } 1276 1277 </style> 1278 1279 1280 1281 <style> 1282 .announcement { 1283 background-color: #fafafa; 1284 } 1285 .announcement--link:hover { 1286 1287 1288 1289 1290 background-color: #e5e5e5; 1291 1292 } 1293 .announcement__message { 1294 color: #99336b; 1295 } 1296 </style> 1297 1298 1299 <div class="announcement"> 1300 1301 1302 <p class="announcement__message">FARM-TO-DOOR DELIVERY YEAR-ROUND TO WAKEFIELD, CHELSEA, AYLMER, OTTAWA/GATINEAU</p> 1303 1304 1305 </div> 1306 1307 1308 1309 1310 1311 <div class="header-wrapper" data-section-id="header" data-section-type="header-section"> 1312 <div class="header--desktop small--hide"> 1313 <header class="header"><ul class="header__social unstyled"> 1314 1315 1316 1317 1318 <li> 1319 <a href="https://www.facebook.com/fermejuniperfarm/" title="Juniper Farm Store on Facebook"> 1320 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 20 20"><path fill="#444" d="M18.05.811q.439 0 .744.305t.305.744v16.637q0 .439-.305.744t-.744.305h-4.732v-7.221h2.415l.342-2.854h-2.757v-1.83q0-.659.293-1t1.073-.342h1.488V3.762q-.976-.098-2.171-.098-1.634 0-2.635.964t-1 2.72V9.47H7.951v2.854h2.415v7.221H1.413q-.439 0-.744-.305t-.305-.744V1.859q0-.439.305-.744T1.413.81H18.05z"/></svg> 1321 <span class="icon-fallback-text">Facebook</span> 1322 </a> 1323 </li> 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 <li> 1344 <a href="https://www.instagram.com/juniper_farm/" title="Juniper Farm Store on Instagram"> 1345 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 512 512"><path d="M256 49.5c67.3 0 75.2.3 101.8 1.5 24.6 1.1 37.9 5.2 46.8 8.7 11.8 4.6 20.2 10 29 18.8s14.3 17.2 18.8 29c3.4 8.9 7.6 22.2 8.7 46.8 1.2 26.6 1.5 34.5 1.5 101.8s-.3 75.2-1.5 101.8c-1.1 24.6-5.2 37.9-8.7 46.8-4.6 11.8-10 20.2-18.8 29s-17.2 14.3-29 18.8c-8.9 3.4-22.2 7.6-46.8 8.7-26.6 1.2-34.5 1.5-101.8 1.5s-75.2-.3-101.8-1.5c-24.6-1.1-37.9-5.2-46.8-8.7-11.8-4.6-20.2-10-29-18.8s-14.3-17.2-18.8-29c-3.4-8.9-7.6-22.2-8.7-46.8-1.2-26.6-1.5-34.5-1.5-101.8s.3-75.2 1.5-101.8c1.1-24.6 5.2-37.9 8.7-46.8 4.6-11.8 10-20.2 18.8-29s17.2-14.3 29-18.8c8.9-3.4 22.2-7.6 46.8-8.7 26.6-1.3 34.5-1.5 101.8-1.5m0-45.4c-68.4 0-77 .3-103.9 1.5C125.3 6.8 107 11.1 91 17.3c-16.6 6.4-30.6 15.1-44.6 29.1-14 14-22.6 28.1-29.1 44.6-6.2 16-10.5 34.3-11.7 61.2C4.4 179 4.1 187.6 4.1 256s.3 77 1.5 103.9c1.2 26.8 5.5 45.1 11.7 61.2 6.4 16.6 15.1 30.6 29.1 44.6 14 14 28.1 22.6 44.6 29.1 16 6.2 34.3 10.5 61.2 11.7 26.9 1.2 35.4 1.5 103.9 1.5s77-.3 103.9-1.5c26.8-1.2 45.1-5.5 61.2-11.7 16.6-6.4 30.6-15.1 44.6-29.1 14-14 22.6-28.1 29.1-44.6 6.2-16 10.5-34.3 11.7-61.2 1.2-26.9 1.5-35.4 1.5-103.9s-.3-77-1.5-103.9c-1.2-26.8-5.5-45.1-11.7-61.2-6.4-16.6-15.1-30.6-29.1-44.6-14-14-28.1-22.6-44.6-29.1-16-6.2-34.3-10.5-61.2-11.7-27-1.1-35.6-1.4-104-1.4z"/>
1345<path d="M256 126.6c-71.4 0-129.4 57.9-129.4 129.4s58 129.4 129.4 129.4 129.4-58 129.4-129.4-58-129.4-129.4-129.4zm0 213.4c-46.4 0-84-37.6-84-84s37.6-84 84-84 84 37.6 84 84-37.6 84-84 84z"/><circle cx="390.5" cy="121.5" r="30.2"/></svg> 1346 <span class="icon-fallback-text">Instagram</span> 1347 </a> 1348 </li> 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 </ul><div class="header__logo"> 1377 1378 <div class="h1"> 1379 1380 <a href="/" class="site-logo header__logo__link"> 1381 1382 1383 <img src="//juniperfarm.ca/cdn/shop/files/Black_White_Circle_Bee_Icon_Food_Logo_-_2_320x.png?v=1745008808" 1384 class="logo--color" 1385 srcset="//juniperfarm.ca/cdn/shop/files/Black_White_Circle_Bee_Icon_Food_Logo_-_2_320x.png?v=1745008808 1x, //juniperfarm.ca/cdn/shop/files/[email protected]?v=1745008808 2x" 1386 alt="Juniper Farm Store"> 1387 1388 1389 </a> 1390 1391 </div> 1392 1393 1394 </div> 1395 1396 <div class="header__actions"> 1397 1398 <a class="header__cart__link" href="/cart"> 1399 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-basket" viewBox="0 0 15 20"><g fill="#2A3443" fill-rule="nonzero"><path d="M4.2 4c0-.994 1.383-2 3.3-2 1.917 0 3.3 1.006 3.3 2H13c0-2.21-2.462-4-5.5-4S2 1.79 2 4h2.2zM2 7v10a1 1 0 001 1h9a1 1 0 001-1V7H2zM0 5h15v12a3 3 0 01-3 3H3a3 3 0 01-3-3V5z"/></g></svg> 1400<span class="visually-hidden">Shopping Cart</span> 1401 </a> 1402 </div> 1403 </header> 1404 <nav role="navigation" class="nav nav--search"> 1405 <div class="site-nav nav__links"> 1406 <ul class="main-menu unstyled" role="navigation" aria-label="primary"><li class="child "> 1407 <a href="/" class="nav-link"> 1408 Home 1409 1410 </a> 1411 1412</li> 1413 1414<li class="child "> 1415 <a href="https://juniperfarm.localfoodmarketplace.com/Index" class="nav-link"> 1416 Online Store/Subscriptions 1417 1418 </a> 1419 1420</li> 1421 1422<li class="child "> 1423 <a href="/pages/kitchen" class="nav-link"> 1424 Farm Cafe 1425 1426 </a> 1427 1428</li> 1429 1430<li class="child main-menu--active"> 1431 <a href="/pages/our-real-world-store" class="nav-link"> 1432 Visit Us 1433 1434 </a> 1435 1436</li> 1437 1438<li class="child "> 1439 <a href="/products/juniper-farm-gift-card-email-delivery" class="nav-link"> 1440 Gift Cards 1441 1442 </a> 1443 1444</li> 1445 1446<li class="child "> 1447 <a href="/pages/jobs" class="nav-link"> 1448 Jobs 1449 1450 </a> 1451 1452</li> 1453 1454<!-- Manually insert Account lnk in /SECTIONS/HEADER.LIQUID --> 1455 1456 <ul> 1457 </div><div class="nav__search"> 1458 <a href="/search" class="nav__search__link search-popup-js" data-show="#popup-search" title="Search our store"> 1459 <span class="icon-search"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 20 20"><path fill="#444" d="M18.64 17.02l-5.31-5.31c.81-1.08 1.26-2.43 1.26-3.87C14.5 4.06 11.44 1 7.75 1S1 4.06 1 7.75s3.06 6.75 6.75 6.75c1.44 0 2.79-.45 3.87-1.26l5.31 5.31c.45.45 1.26.54 1.71.09.45-.36.45-1.17 0-1.62zM3.25 7.75c0-2.52 1.98-4.5 4.5-4.5s4.5 1.98 4.5 4.5-1.98 4.5-4.5 4.5-4.5-1.98-4.5-4.5z"/></svg></span> 1460 <span class="icon-close"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-x" viewBox="0 0 20 20"><path fill="#000" d="M20 2.013L12.013 10 20 17.987 17.987 20 10 12.013 2.013 20 0 17.987 7.987 10 0 2.013 2.013 0 10 7.987 17.987 0z" fill-rule="evenodd"/></svg></span> 1461 <span class="visually-hidden">Search</span> 1462 </a> 1463 <div class="search__popup" id="popup-search" style="display:none;"> 1464 <form action="/search" method="get" role="search"> 1465 <label for="HeaderSearch" class="label-hidden"> 1466 Search our store 1467 </label> 1468 <div class="input-group"> 1469 <input type="search" 1470 class="input-group-field" 1471 name="q" 1472 id="HeaderSearch" 1473 value="" 1474 placeholder="Search our store">
1475 <span class="input-group-btn"> 1476 <button type="submit" class="btn"> 1477 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 20 20"><path fill="#444" d="M18.64 17.02l-5.31-5.31c.81-1.08 1.26-2.43 1.26-3.87C14.5 4.06 11.44 1 7.75 1S1 4.06 1 7.75s3.06 6.75 6.75 6.75c1.44 0 2.79-.45 3.87-1.26l5.31 5.31c.45.45 1.26.54 1.71.09.45-.36.45-1.17 0-1.62zM3.25 7.75c0-2.52 1.98-4.5 4.5-4.5s4.5 1.98 4.5 4.5-1.98 4.5-4.5 4.5-4.5-1.98-4.5-4.5z"/></svg> 1478 <span class="icon-fallback-text">Search</span> 1479 </button> 1480 </span> 1481 </div> 1482 </form> 1483 </div> 1484 </div></nav> 1485 </div> 1486 <div class="header--touch medium-up--hide"> 1487 <header class="header"> 1488 1489 <a href="#" class="ariaToggle header__hamburger" aria-controls="main-menu-mobile" aria-haspopup="true" aria-expanded="false"> 1490 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-nav" viewBox="0 0 20 11"><g fill="#2A3443" fill-rule="evenodd"><path d="M0 0h20v1H0zM0 5h20v1H0zM0 10h20v1H0z"/></g></svg> 1491 <span class="visually-hidden">More</span> 1492 </a> 1493 1494 <div class="touch__nav" role="navigation" aria-label="primary" id="main-menu-mobile"> 1495 <a href="#" class="ariaToggle touch__nav__close" aria-controls="main-menu-mobile" aria-haspopup="true" aria-expanded="false"> 1496 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-x" viewBox="0 0 20 20"><path fill="#000" d="M20 2.013L12.013 10 20 17.987 17.987 20 10 12.013 2.013 20 0 17.987 7.987 10 0 2.013 2.013 0 10 7.987 17.987 0z" fill-rule="evenodd"/></svg> 1497 <span class="visually-hidden">X</span> 1498 </a><form action="/search" method="get" role="search" class="touch__search"> 1499 <label for="Search" class="label-hidden"> 1500 Search our store 1501 </label> 1502 <input type="search" 1503 name="q" 1504 id="Search" 1505 value="" 1506 class="touch__search__input searchInput" 1507 placeholder="Search our store"> 1508 <button type="submit" class="btn--reset touch__search__submit searchSubmit"> 1509 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 20 20"><path fill="#444" d="M18.64 17.02l-5.31-5.31c.81-1.08 1.26-2.43 1.26-3.87C14.5 4.06 11.44 1 7.75 1S1 4.06 1 7.75s3.06 6.75 6.75 6.75c1.44 0 2.79-.45 3.87-1.26l5.31 5.31c.45.45 1.26.54 1.71.09.45-.36.45-1.17 0-1.62zM3.25 7.75c0-2.52 1.98-4.5 4.5-4.5s4.5 1.98 4.5 4.5-1.98 4.5-4.5 4.5-4.5-1.98-4.5-4.5z"/></svg> 1510 <span class="icon-fallback-text">Search</span> 1511 </button> 1512 </form><ul class="touch__nav__links"> 1513 1514 <li class="child "> 1515 <a href="/" class="nav-link"> 1516 Home 1517 1518 </a> 1519 1520</li> 1521 1522 1523 <li class="child "> 1524 <a href="https://juniperfarm.localfoodmarketplace.com/Index" class="nav-link"> 1525 Online Store/Subscriptions 1526 1527 </a> 1528 1529</li> 1530 1531 1532 <li class="child "> 1533 <a href="/pages/kitchen" class="nav-link"> 1534 Farm Cafe 1535 1536 </a> 1537 1538</li> 1539 1540 1541 <li class="child main-menu--active"> 1542 <a href="/pages/our-real-world-store" class="nav-link"> 1543 Visit Us 1544 1545 </a> 1546 1547</li> 1548 1549 1550 <li class="child "> 1551 <a href="/products/juniper-farm-gift-card-email-delivery" class="nav-link"> 1552 Gift Cards 1553 1554 </a> 1555 1556</li> 1557 1558 1559 <li class="child "> 1560 <a href="/pages/jobs" class="nav-link"> 1561 Jobs 1562 1563 </a> 1564 1565</li> 1566 1567 1568 1569 </ul><div class="touch__bottom touch__bottom--2"> 1570 <div class="touch__social"> 1571 1572 1573 1574 1575 <a href="https://www.facebook.com/fermejuniperfarm/" title="Juniper Farm Store on Facebook"> 1576 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewB
1576ox="0 0 20 20"><path fill="#444" d="M18.05.811q.439 0 .744.305t.305.744v16.637q0 .439-.305.744t-.744.305h-4.732v-7.221h2.415l.342-2.854h-2.757v-1.83q0-.659.293-1t1.073-.342h1.488V3.762q-.976-.098-2.171-.098-1.634 0-2.635.964t-1 2.72V9.47H7.951v2.854h2.415v7.221H1.413q-.439 0-.744-.305t-.305-.744V1.859q0-.439.305-.744T1.413.81H18.05z"/></svg> 1577 <span class="icon-fallback-text">Facebook</span> 1578 </a> 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 <a href="https://www.instagram.com/juniper_farm/" title="Juniper Farm Store on Instagram"> 1593 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 512 512"><path d="M256 49.5c67.3 0 75.2.3 101.8 1.5 24.6 1.1 37.9 5.2 46.8 8.7 11.8 4.6 20.2 10 29 18.8s14.3 17.2 18.8 29c3.4 8.9 7.6 22.2 8.7 46.8 1.2 26.6 1.5 34.5 1.5 101.8s-.3 75.2-1.5 101.8c-1.1 24.6-5.2 37.9-8.7 46.8-4.6 11.8-10 20.2-18.8 29s-17.2 14.3-29 18.8c-8.9 3.4-22.2 7.6-46.8 8.7-26.6 1.2-34.5 1.5-101.8 1.5s-75.2-.3-101.8-1.5c-24.6-1.1-37.9-5.2-46.8-8.7-11.8-4.6-20.2-10-29-18.8s-14.3-17.2-18.8-29c-3.4-8.9-7.6-22.2-8.7-46.8-1.2-26.6-1.5-34.5-1.5-101.8s.3-75.2 1.5-101.8c1.1-24.6 5.2-37.9 8.7-46.8 4.6-11.8 10-20.2 18.8-29s17.2-14.3 29-18.8c8.9-3.4 22.2-7.6 46.8-8.7 26.6-1.3 34.5-1.5 101.8-1.5m0-45.4c-68.4 0-77 .3-103.9 1.5C125.3 6.8 107 11.1 91 17.3c-16.6 6.4-30.6 15.1-44.6 29.1-14 14-22.6 28.1-29.1 44.6-6.2 16-10.5 34.3-11.7 61.2C4.4 179 4.1 187.6 4.1 256s.3 77 1.5 103.9c1.2 26.8 5.5 45.1 11.7 61.2 6.4 16.6 15.1 30.6 29.1 44.6 14 14 28.1 22.6 44.6 29.1 16 6.2 34.3 10.5 61.2 11.7 26.9 1.2 35.4 1.5 103.9 1.5s77-.3 103.9-1.5c26.8-1.2 45.1-5.5 61.2-11.7 16.6-6.4 30.6-15.1 44.6-29.1 14-14 22.6-28.1 29.1-44.6 6.2-16 10.5-34.3 11.7-61.2 1.2-26.9 1.5-35.4 1.5-103.9s-.3-77-1.5-103.9c-1.2-26.8-5.5-45.1-11.7-61.2-6.4-16.6-15.1-30.6-29.1-44.6-14-14-28.1-22.6-44.6-29.1-16-6.2-34.3-10.5-61.2-11.7-27-1.1-35.6-1.4-104-1.4z"/><path d="M256 126.6c-71.4 0-129.4 57.9-129.4 129.4s58 129.4 129.4 129.4 129.4-58 129.4-129.4-58-129.4-129.4-129.4zm0 213.4c-46.4 0-84-37.6-84-84s37.6-84 84-84 84 37.6 84 84-37.6 84-84 84z"/><circle cx="390.5" cy="121.5" r="30.2"/></svg> 1594 <span class="icon-fallback-text">Instagram</span> 1595 </a> 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 </div> 1615 1616 <!-- old accounts --> 1617 <a href="/account" class="touch__account"> 1618 1619 My Account 1620 <span class="arrow-right"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-down" viewBox="0 0 17 10"><path d="M8.5 10a.536.536 0 01-.392-.172L.17 1.821a.545.545 0 010-.79l.852-.86A.536.536 0 011.414 0c.147 0 .278.057.392.172L8.5 6.924 15.194.172A.536.536 0 0115.586 0c.148 0 .278.057.392.172l.852.859a.545.545 0 010 .79L8.892 9.828A.536.536 0 018.5 10z" fill="#000" fill-rule="evenodd"/></svg></span> 1621 </a> 1622 </div> 1623 </div> 1624 1625 <div class="header__logo"> 1626 1627 <div class="h1"> 1628 1629 <a href="/" class="site-logo header__logo__link"> 1630 1631 1632 <img src="//juniperfarm.ca/cdn/shop/files/Black_White_Circle_Bee_Icon_Food_Logo_-_2_320x.png?v=1745008808" 1633 class="logo--color" 1634 srcset="//juniperfarm.ca/cdn/shop/files/Black_White_Circle_Bee_Icon_Food_Logo_-_2_320x.png?v=1745008808 1x, //juniperfarm.ca/cdn/shop/files/[email protected]?v=1745008808 2x" 1635 alt="Juniper Farm Store"> 1636 1637 1638 </a> 1639 1640 </div> 1641 1642 1643 </div> 1644 1645 <div class="header__actions"> 1646 <div class="header__cart"> 1647 <a class="header__cart__link" href="/cart"> 1648 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-basket" viewBox="0 0 15 20"><g fill="#2A3443" fill-rule="nonzero"><path d="M4.2 4c0-.994 1.383-2 3.3-2 1.917 0 3.3 1.006 3.3 2H13c0-2.21-2.462-4-5.5-4S2 1.79 2 4h2.2zM2 7v10a1 1 0 001 1h9a1 1 0 001-1V7H2zM0 5h15v12a3 3 0 01-3 3H3a3 3 0 01-3-3V5z"/></g></svg> 1649<span class="visually-hidden">Shopping Cart</span> 1650 </a> 1651 </div> 1652 </div> 1653 </header> 1654 </div> 1655 </div> 1656</div> 1657 1658 1659
1660<script type="application/ld+json"> 1661{ 1662 "@context": "http://schema.org", 1663 "@type": "Organization", 1664 "name": "Juniper Farm Store", 1665 1666 1667 "logo": "https:\/\/juniperfarm.ca\/cdn\/shop\/files\/Black_White_Circle_Bee_Icon_Food_Logo_-_2_500x.png?v=1745008808", 1668 1669 "sameAs": [ 1670 "", 1671 "https:\/\/www.facebook.com\/fermejuniperfarm\/", 1672 "", 1673 "https:\/\/www.instagram.com\/juniper_farm\/", 1674 "", 1675 "", 1676 "", 1677 "" 1678 ], 1679 "url": "https:\/\/juniperfarm.ca\/pages\/our-real-world-store" 1680} 1681</script>
1681 1682 1683 1684 1685 1686</div> 1687 1688 <main role="main" id="MainContent" class="main-content"> 1689 <!-- /templates/page.liquid --> 1690 1691<div id="shopify-section-page-default" class="shopify-section"><!-- /sections/page.liquid--><div class="wrapper page-margin"> 1692 1693 <div class="grid"> 1694 1695 <div class="grid__item one-whole"><div class="dots__wrapper"> 1696 <div class="dots dots--down"><span class="dot dot-1 row-1 column-1"></span><span class="dot dot-2 row-1 column-2"></span><span class="dot dot-3 row-1 column-3"></span><span class="dot dot-4 row-1 column-4"></span><span class="dot dot-5 row-1 column-5"></span><span class="dot dot-6 row-1 column-6"></span><span class="dot dot-7 row-1 column-7"></span><span class="dot dot-8 row-1 column-8"></span><span class="dot dot-9 row-1 column-9"></span><span class="dot dot-10 row-2 column-1"></span><span class="dot dot-11 row-2 column-2"></span><span class="dot dot-12 row-2 column-3"></span><span class="dot dot-13 row-2 column-4"></span><span class="dot dot-14 row-2 column-5"></span><span class="dot dot-15 row-2 column-6"></span><span class="dot dot-16 row-2 column-7"></span><span class="dot dot-17 row-2 column-8"></span><span class="dot dot-18 row-2 column-9"></span><span class="dot dot-19 row-3 column-1"></span><span class="dot dot-20 row-3 column-2"></span><span class="dot dot-21 row-3 column-3"></span><span class="dot dot-22 row-3 column-4"></span><span class="dot dot-23 row-3 column-5"></span><span class="dot dot-24 row-3 column-6"></span><span class="dot dot-25 row-3 column-7"></span><span class="dot dot-26 row-3 column-8"></span><span class="dot dot-27 row-3 column-9"></span><span class="dot dot-28 row-4 column-1"></span><span class="dot dot-29 row-4 column-2"></span><span class="dot dot-30 row-4 column-3"></span><span class="dot dot-31 row-4 column-4"></span><span class="dot dot-32 row-4 column-5"></span><span class="dot dot-33 row-4 column-6"></span><span class="dot dot-34 row-4 column-7"></span><span class="dot dot-35 row-4 column-8"></span><span class="dot dot-36 row-4 column-9"></span></div> 1697 </div> 1698 <div class="title-decoration"></div> 1699 <h1 class="title--decorated">Visit Us</h1></div><div class="grid__item medium-up--hide"> 1700 <ul class="inline-nav"> 1701 1702 <li > 1703 <a href="/">Home</a> 1704 </li> 1705 1706 <li > 1707 <a href="https://juniperfarm.localfoodmarketplace.com/Index">Online Store/Subscriptions</a> 1708 </li> 1709 1710 <li > 1711 <a href="/pages/kitchen">Farm Cafe</a> 1712 </li> 1713 1714 <li class="inline-nav--active"> 1715 <a href="/pages/our-real-world-store">Visit Us</a> 1716 </li> 1717 1718 <li > 1719 <a href="/products/juniper-farm-gift-card-email-delivery">Gift Cards</a> 1720 </li> 1721 1722 <li > 1723 <a href="/pages/jobs">Jobs</a> 1724 </li> 1725 1726 </ul> 1727 </div> 1728 1729 <div class="grid__item medium-up--one-quarter"> 1730 <ul class="vertical-nav small--hide"> 1731 1732 <li > 1733 <a href="/">Home</a> 1734 </li> 1735 1736 <li > 1737 <a href="https://juniperfarm.localfoodmarketplace.com/Index">Online Store/Subscriptions</a> 1738 </li> 1739 1740 <li > 1741 <a href="/pages/kitchen">Farm Cafe</a> 1742 </li> 1743 1744 <li class="vertical-nav--active"> 1745 <a href="/pages/our-real-world-store">Visit Us</a> 1746 </li> 1747 1748 <li > 1749 <a href="/products/juniper-farm-gift-card-email-delivery">Gift Cards</a> 1750 </li> 1751 1752 <li > 1753 <a href="/pages/jobs">Jobs</a> 1754 </li> 1755 1756 </ul> 1757 </div> 1758 1759 1760 1761 <div class="grid__item medium-up--three-quarters"> 1762 <div class="rte page__team__content"> 1763 <p><br></p> 1764<div class="et_pb_blurb et_pb_module et_pb_bg_layout_light et_pb_text_align_center et_pb_blurb_0 et_pb_blurb_position_top"> 1765<div class="et_pb_blurb_content"> 1766<div class="et_pb_blurb_container"> 1767<h4 style="text-align: center;" class="et_pb_module_header">FARM STORE AND FARM CAFÃ HOURS:</h4> 1768<p style="text-align: center;"><strong>Thursday and Friday: 11AM-6PM</strong></p> 1769<p style="text-align: center;"><strong>Saturday and Sunday: 10AM-5PM</strong></p> 1770<p style="text-align: center;"><strong>ONLINE STORE OPEN YEAR ROUND</strong></p> 1771<p style="text-align: center;">Â </p> 1772<p style="text-align: center;"><strong><img src="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/IMG_0562.jpg?v=1758733043" alt=""></strong></p> 1773<p style="text-align: center;">Â <strong>Welcome to Juniper Farm â A 200-Acre Organic Sanctuary in the Gatineau Hills</strong></p> 1774<p>Nestled just minutes from Wakefield, Quebec, Juniper Farm is a diverse, organic haven. Spread across 200 acres, our farm is a tapestry of vegetable gardens, perennial beds, animal pastures, beehives, woodlands, meadows, wetlands, and streams, all working in harmony with the land.</p> 1775<p>
1775The journey of Juniper Farm began in 2005 on a smaller piece of land, before we found our current home in 2010. Founders Juniper Turgeon and Alex Mackay-Smith have cultivated the farm with passion, trust, and a commitment to the earth, creating a legacy of sustainable farming practices that continue to evolve.</p> 1776<p>At Juniper Farm, we approach agriculture with an organic and biodynamic philosophyânurturing the relationship between humans and the earth, revitalizing the land, and ensuring the integrity of our food. Our goal is to promote the health and well-being of our communities while creating a thriving, sustainable ecosystem.</p> 1777<p>We are proud to serve our community by offering fresh vegetables, fruit, meat, and eggs. We grow most of this ourselves but also bring in food from our neighbouring farming community.  Our farm also produces a line of fermented foods and hosts a variety of events, from farm dinners and workshops to festivals and artistic collaborations, offering visitors a deeper connection to the land.</p> 1778<p> </p> 1779<p><img alt="" src="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/IMG_5196.jpg?v=1739387777"></p> 1780<h4 class="et_pb_module_header"> 1781<span style="color: #ff2a00;"></span><br> 1782</h4> 1783<h4 class="et_pb_module_header"><img src="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/IMG_6188.jpg?v=1739385911" alt=""></h4> 1784<p> </p> 1785<p><img src="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/IMG_0404.jpg?v=1758733007" alt=""></p> 1786<p><strong>A Century of History, Now a Hub of Fresh, Local Goodness</strong></p> 1787<p>This charming, century-old log farmhouse was once home to the Ryan family, who ran a dairy farm, provided fresh cream to the community, and tended to a granary, blacksmith workshop, and large garden.</p> 1788<p>Since 2011, weâve had the privilege of being stewards of this beautiful land. Today, the farmhouse is the heart of Juniper Farm, housing our Farm Store and Farm Café, where we proudly offer organic vegetables and a selection of products from local farmers and artisans.</p> 1789<p> </p> 1790<h4 class="et_pb_module_header"> 1791<img src="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/IMG_7455.jpg?v=1739386986" alt=""><br clear="none"> <meta charset="UTF-8"> 1792</h4> 1793<p><strong>Soak in the Beauty of the Farm</strong></p> 1794<p>Take in the stunning farm views and enjoy a peaceful stroll through our fields. Depending on the season, wander through our breathtaking sunflower maze or pick the perfect pumpkin from a misty patch. Explore our thriving vegetable gardens and meet our friendly farm animals.</p> 1795<p>Bring your family, friends, and neighbors (but please, leave the dogs at home!). Stay awhile, breathe in the fresh country air, and treat yourself to a cup of tea or coffee, a delicious sandwich, soup, salad, or a seasonal snack at our Farm Café.</p> 1796<h4 class="et_pb_module_header"> 1797<br clear="none"><img src="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/IMG_6224.jpg?v=1739387045" alt=""><img src="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/DSC_7464.jpg?v=1739387036" alt=""><br> 1798</h4> 1799<strong>Open Year-Round</strong> 1800</div> 1801<div class="et_pb_blurb_container"> 1802<br><span>Our hours change with the seasons, so be sure to check for updates! In the winter we hunker down for a rest.</span><span></span> 1803</div> 1804<div class="et_pb_blurb_container"> 1805<p>  </p> 1806</div> 1807</div> 1808</div> 1809<div class="et_pb_blurb et_pb_module et_pb_bg_layout_light et_pb_text_align_center et_pb_blurb_2 et_pb_blurb_position_top"> 1810<div class="et_pb_blurb_content"> 1811<div class="et_pb_blurb_container"> 1812<div class="et_pb_blurb_description"> 1813<p><img height="480x480" width="480x480" alt="" src="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/DSC00864_480x480.jpg?v=1589306458"></p> 1814<p><span><img src="https://cdn.shopify.com/s/files/1/0043/3720/5377/files/IMG_6466_480x480.JPG?v=1588186102" alt="" width="480x480" height="480x480"></span></p> 1815<p> </p> 1816<p> </p> 1817</div> 1818</div> 1819</div> 1820</div> 1821 </div> 1822 </div> 1823 </div> 1824</div> 1825 1826 1827</div> 1828 1829 </main> 1830 1831 <div id="shopify-section-footer" class="shopify-section"><!-- /sections/footer.liquid --> 1832 1833<style> 1834 1835 .footer__logo{ 1836 max-width: 210px; 1837 } 1838 1839</style> 1840 1841<footer class="footer" data-section-id="footer" data-section-type="footer"> 1842 <div class="wrapper"> 1843 <div class="grid"> 1844 <div class="grid__item medium-up--one-half"> 1845 1846 <div class="dots__wrapper"> 1847 <div class="dots dots--down"><span class="dot dot-1 row-1 column-1"></span><span class="dot dot-2 row-1 column-2"></span><span class="dot dot-3 row-1 column-3"></span><span class="dot dot-4 row-1 column-4"></span><span class="dot dot-5 row-1 column-5"></span><span class="dot dot-6 row-1 column-6"></span><span class="dot dot-7 row-1 column-7"></span><span class="dot dot-8 row-1 column-8"></span><span class="dot dot-9 row-1 column-9"></span><span class="dot dot-10 row-2 column-1"></span><span class="dot dot-11 row-2 column-2"></span><span class="dot dot-12 row-2 column-3"></span><span class="dot dot-13 row-2 column-4"></span><span class="dot dot-14 row-2 column-5"></span><span class="dot dot-15 row-2 column-6"></span><span class="dot dot-16 row-2 column-7"></span><span class="dot dot-17 row-2 column-8"></span><span class="dot dot-18 row-2 column-9"></span><span class="dot dot-19 row-3 column-1"></span><span class="dot dot-20 row-3 column-2"></span><span class="dot dot-21 row-3 column-3"></span><span class="dot dot-22 row-3 column-4"></span><span class="dot dot-23 row-3 column-5"></span><span class="dot dot-24 row-3 column-6"></span><span class="dot dot-25 row-3 column-7"></span><span class="dot dot-26 row-3 column-8"></span><span class="dot dot-27 row-3 column-9"></span><span class="dot dot-28 row-4 column-1"></span><span class="dot dot-29 row-4 column-2"></span><span class="dot dot-30 row-4 column-3"></span><span class="dot dot-31 row-4 column-4"></span><span class="dot dot-32 row-4 column-5"></span><span class="dot dot-33 row-4 column-6"></span><span class="dot dot-34 row-4 column-7"></span><span class="dot dot-35 row-4 column-8"></span><span class="dot dot-36 row-4 column-9"></span></div> 1848 </div> 1849 <div class="title-decoration"></div> 1850 1851 <a href="/" class="site-logo footer__logo"> 1852 <img src="//juniperfarm.ca/cdn/shop/files/2025_pink_logo_315x.png?v=1744142487" 1853 srcset="//juniperfarm.ca/cdn/shop/files/2025_pink_logo_315x.png?v=1744142487 1x, //juniperfarm.ca/cdn/shop/files/[email protected]?v=1744142487 2x" 1854 alt="Juniper Farm Store"> 1855 </a> 1856 1857<div class="rte footer__description"><h4></h4><p></p><p>CONTACT US: </p><p>375 ch Shouldice Rd. Wakefield,QC J0X 3G0</p><p>
1857âï¸ [email protected]</p><p>âï¸ 819-459-1630 <em>(Please note that messages are only checked every few days, for all questions regarding orders please email us)</em></p></div><hr class="hidden-medium-up"> 1858 </div> 1859 <div class="grid__item medium-up--one-half"> 1860 <div class="grid"> 1861 <div class="grid__item one-half"></div> 1862 <div class="grid__item one-half"></div> 1863 </div> 1864 </div> 1865 </div> 1866 <hr > 1867 1868 1869 1870 1871<div class="footer__bottom footer__bottom--3"> 1872 1873 <div class="footer__item footer__item--copyright"> 1874 <small> 1875 Copyright © Juniper Farm Store 2026 1876 1877 <!-- Remove the following two lines to delete Powered by Shopify from your footer --> 1878 <span class="divider-bar">|</span> 1879 <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a> 1880 <!-- Stop deleting here --> 1881 </small> 1882 </div> 1883 1884 <div class="footer__item footer__item--social"> 1885 1886 1887 1888 1889 1890 <a class="footer__icon footer__icon--social" href="https://www.facebook.com/fermejuniperfarm/" title="Juniper Farm Store on Facebook"> 1891 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 20 20"><path fill="#444" d="M18.05.811q.439 0 .744.305t.305.744v16.637q0 .439-.305.744t-.744.305h-4.732v-7.221h2.415l.342-2.854h-2.757v-1.83q0-.659.293-1t1.073-.342h1.488V3.762q-.976-.098-2.171-.098-1.634 0-2.635.964t-1 2.72V9.47H7.951v2.854h2.415v7.221H1.413q-.439 0-.744-.305t-.305-.744V1.859q0-.439.305-.744T1.413.81H18.05z"/></svg> 1892 <span class="icon-fallback-text">Facebook</span> 1893 </a> 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 <a class="footer__icon footer__icon--social" href="https://www.instagram.com/juniper_farm/" title="Juniper Farm Store on Instagram"> 1908 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 512 512"><path d="M256 49.5c67.3 0 75.2.3 101.8 1.5 24.6 1.1 37.9 5.2 46.8 8.7 11.8 4.6 20.2 10 29 18.8s14.3 17.2 18.8 29c3.4 8.9 7.6 22.2 8.7 46.8 1.2 26.6 1.5 34.5 1.5 101.8s-.3 75.2-1.5 101.8c-1.1 24.6-5.2 37.9-8.7 46.8-4.6 11.8-10 20.2-18.8 29s-17.2 14.3-29 18.8c-8.9 3.4-22.2 7.6-46.8 8.7-26.6 1.2-34.5 1.5-101.8 1.5s-75.2-.3-101.8-1.5c-24.6-1.1-37.9-5.2-46.8-8.7-11.8-4.6-20.2-10-29-18.8s-14.3-17.2-18.8-29c-3.4-8.9-7.6-22.2-8.7-46.8-1.2-26.6-1.5-34.5-1.5-101.8s.3-75.2 1.5-101.8c1.1-24.6 5.2-37.9 8.7-46.8 4.6-11.8 10-20.2 18.8-29s17.2-14.3 29-18.8c8.9-3.4 22.2-7.6 46.8-8.7 26.6-1.3 34.5-1.5 101.8-1.5m0-45.4c-68.4 0-77 .3-103.9 1.5C125.3 6.8 107 11.1 91 17.3c-16.6 6.4-30.6 15.1-44.6 29.1-14 14-22.6 28.1-29.1 44.6-6.2 16-10.5 34.3-11.7 61.2C4.4 179 4.1 187.6 4.1 256s.3 77 1.5 103.9c1.2 26.8 5.5 45.1 11.7 61.2 6.4 16.6 15.1 30.6 29.1 44.6 14 14 28.1 22.6 44.6 29.1 16 6.2 34.3 10.5 61.2 11.7 26.9 1.2 35.4 1.5 103.9 1.5s77-.3 103.9-1.5c26.8-1.2 45.1-5.5 61.2-11.7 16.6-6.4 30.6-15.1 44.6-29.1 14-14 22.6-28.1 29.1-44.6 6.2-16 10.5-34.3 11.7-61.2 1.2-26.9 1.5-35.4 1.5-103.9s-.3-77-1.5-103.9c-1.2-26.8-5.5-45.1-11.7-61.2-6.4-16.6-15.1-30.6-29.1-44.6-14-14-28.1-22.6-44.6-29.1-16-6.2-34.3-10.5-61.2-11.7-27-1.1-35.6-1.4-104-1.4z"/><path d="M256 126.6c-71.4 0-129.4 57.9-129.4 129.4s58 129.4 129.4 129.4 129.4-58 129.4-129.4-58-129.4-129.4-129.4zm0 213.4c-46.4 0-84-37.6-84-84s37.6-84 84-84 84 37.6 84 84-37.6 84-84 84z"/><circle cx="390.5" cy="121.5" r="30.2"/></svg> 1909 <span class="icon-fallback-text">Instagram</span> 1910 </a> 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 </div> 1931 1932 1933 </div> 1934 </div> 1935</footer> 1936 1937 1938</div> 1939 1940 <!-- Paste popup code between comments ===================================== --> 1941 1942 <!-- End popup ================================================== --> 1943 1944 1945<input type="hidden" id="social-widget-shop-domain" value="juniper-farm-online-farm.myshopify.com"> 1946<!-- Latest compiled and minified CSS --> 1947
1948<script async src="https://widget-api.socialhead.io/store-front/social-widget.min.js" defer></script>
1948 1949<link rel="stylesheet" href="https://widget-api.socialhead.io/store-front/social-widget.min.css" /> 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056<div id="shopify-block-ARGE2emF2THkrZnJLS__9670189827046205946" class="shopify-block shopify-app-block">
2056<script type="application/javascript"> 2057 2058window.TMS_SHOPIFY_EXTENSION_CDN = 'https://cdn.shopify.com/extensions/01a114e1-e465-7e37-927e-785e9caa53f5/TMS-Prod-v-1c2e420-61-1/assets/'; 2059var tmsOnPageMoneyFormat = "${{amount}}"; 2060var tmsShopBaseCurrencyCode = "CAD"; 2061</script>
2061<script type="application/javascript"><!-- BEGIN app snippet: tms_data_mo --> 2062var tmsSelectorData = {"selectorInsertType": "float", "selectorType": "market_language", "selectorStyle": "dropdown", "fontColor": "#000000", "backgroundColor": "#FFFFFF", "backgroundOpacity": 1.0, "buttonFontColor": "#FFFFFF", "buttonBackgroundColor": "#000000", "floatingPosition": "bottom_right", "floatingPaddingHorizontal": 15, "floatingPaddingVertical": 15, "mobileFloatingPosition": "bottom_right", "mobileFloatingPaddingHorizontal": 15, "mobileFloatingPaddingVertical": 15, "popupEnable": false, "popupAlwaysOn": false, "popupTextColor": "#000000", "popupBgColor": "#FFFFFF", "popupBtnTextColor": "#FFFFFF", "popupBtnBgColor": "#000000", "defaultRegion": "CA", "regionType": "region_name_currency_symbol", "regionTypeFormat": "region_bracket_currency", "hasFlagRegion": "yes", "defaultLanguage": "shop_base", "displayType": "language_name", "hasFlag": "yes", "selectorFlagMap": {"en": "en-CA", "fr": "fr-CA"}, "defaultCurrency": "CAD", "displayTypeCurrency": "currency_code", "hasFlagCurrency": "yes", "selectorFlagMapCurrency": "", "region_language_selector_dict": {}, "language_only_selector_dict": {"en": {"name": "English", "native_name": "English", "code": "en", "default": true, "market_synced": true, "translation_type": "basic", "full_coverage": false, "regions": ["CA"]}, "fr": {"name": "French", "native_name": "Fran\u00e7ais", "code": "fr", "default": true, "market_synced": true, "translation_type": "advanced", "full_coverage": false, "regions": ["CA"]}}, "common_language_dict": {}, "currency_language_selector_dict": {}, "region_order": ["CA"], "language_order": ["en", "fr"], "currency_order": ["CAD"], "region_group_enabled": false, "region_group_order": [], "customCSSPositionConfig": {}, "rtl": false, "scriptSrc": "https://cdn3.hextom.com/js/themes/floatAllThemes_market.min.js", "shopPrimaryRegion": "CA", "shopPrimaryCurrency": "CAD", "shopPrimaryLanguage": "en", "displayElements": [], "enableAutoRedirection": true, "redirectForReferrerLinks": false, "searchEnabled": {"region": false, "language": false, "currency": false}};<!-- END app snippet --> 2063</script>
vendor: 1 bytes, line 2063
2063
2064<script type="application/javascript"><!-- BEGIN app snippet: tms_data_mo --> 2065var tmsRegionData = {"CA": {"region_name": "Canada", "region_code": "CA", "currency_code": "CAD", "currency_symbol": "$", "shopify_payment": true, "shopify_markets": true, "manual_exchange_rate_base_currency": "CAD", "manual_exchange_rate": 0.0, "rounding_rule": "no", "rounding_decimal": "0", "symbol_placement": "before", "currency_format": "amount", "currency_display_format": "symbol_and_code", "display_trailing_zeros": false, "is_tms_managed": false}};<!-- END app snippet --> 2066</script>
vendor: 1 bytes, line 2066
2066
2067<script type="application/javascript"><!-- BEGIN app snippet: tms_data_mf --> 2068var tmsFileTranslationData = [];<!-- END app snippet --> 2069</script>
vendor: 1 bytes, line 2069
2069
2070<script type="application/javascript"><!-- BEGIN app snippet: tms_file --> 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080<!-- END app snippet --> 2081</script>
vendor: 1 bytes, line 2081
2081
2082<script type="application/javascript"><!-- BEGIN app snippet: tms_data_mf --> 2083var tmsVETranslationData = [];<!-- END app snippet --> 2084</script>
vendor: 1 bytes, line 2084
2084
2085<script type="application/javascript"><!-- BEGIN app snippet: tms_ve --> 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095<!-- END app snippet --> 2096</script>
2096 2097
2098<script type="application/javascript"> 2099var tmsAbsLinkData = "https:\/\/cdn3.hextom.com\/"; 2100var tmsShopBaseLocaleCodeData = "en"; 2101var tmsSelectorEnabledData = true; 2102var tmsCartNoteData = {}; 2103var tmsBasicTransLanguageData = {"fr":false}; 2104var tmsAutoCoverageLanguageData = {"fr":false}; 2105var tmsRegionGroupMapping = {}; 2106var tmsRegionLanguageDefaultsData = {};</script>
2106 2107</div><div id="shopify-block-AdlMwdW41eW0wNHQ2b__18131037017812181619" class="shopify-block shopify-app-block"> 2108
2108<script defer src="https://chimpstatic.com/mcjs-connected/js/users/035811b70dca2c186f00ef602/6c73f6915aa76fca695308bc9.js"></script>
2108 2109
2109<script>window.mc_embedded = true;</script>
2109 2110 2111 2112 2113</div>
2113<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2113 2114</body> 2115</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.