PageSourceSearch

https://canadagrowsupplies.com/blogs/main

html canadagrowsupplies.com collected 2026-10-02 05:37:37 UTC 384,332 bytes, 5,674 lines download raw bytes

1<!doctype html>
2
3<html class="no-js" lang="en">
4  <head>
5    <meta name="google-site-verification" content="Al40wOd2inuozVUnp9PiAD2Sdl3qhrfdU-JkhV7iupE" /><meta charset="utf-8">
6    <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=5.0">
7    <meta name="theme-color" content="#08c873"><title>Canada Grow Supplies Blog
8</title><meta name="description" content="Get the best tips and tutorials for all your indoor growing needs. From Medical to Recreational use, we help you grow cannabis the right way."><link rel="canonical" href="https://canadagrowsupplies.com/blogs/main"><link rel="shortcut icon" href="//canadagrowsupplies.com/cdn/shop/files/Screen_Shot_2022-06-27_at_10.10.43_AM_96x96.png?v=1656339054" type="image/png"><!--begin-boost-pfs-filter-css-->
9 <link rel="preload stylesheet" href="//canadagrowsupplies.com/cdn/shop/t/43/assets/boost-pfs-instant-search.css?v=146474835330714392691686760904" as="style"><link href="//canadagrowsupplies.com/cdn/shop/t/43/assets/boost-pfs-custom.css?v=60940052044648655461686760910" rel="stylesheet" type="text/css" media="all" />
10
11
12 <!--end-boost-pfs-filter-css-->
13
14 
14<script src="//code.jivosite.com/widget/UgN7Ar8kaY" async></script>
vendor: 1 bytes, line 14
14
15<script>
16  window.onload = function(){
17    let desc = document.getElementsByClassName("collection__description");
18    let desc_link = document.getElementsByClassName("collection_desc_up")[0];
19    let desc_block = document.getElementsByClassName("left-text-box")[0];
20    if(desc.length){
21      let h = desc[0].clientHeight;
22        if(h>340){
23          desc_link.classList.add('active');
24          desc_block.classList.remove('auto');
25        }
26    }
27    let check_ba = setInterval(function() {
28      let currBlock = document.getElementsByClassName("bacurr-cur-blocker");
29      if (currBlock.length) {
30  currBlock = document.getElementsByClassName("bacurr-cur-blocker")[0];
31      let currParent = document.getElementsByClassName("header__action-list")[0];
32      currParent.appendChild(currBlock);
33        setTimeout(function(){
34          let cur_name = document.getElementsByClassName('ba-chosen');
35          let cur_arr = currBlock.getElementsByTagName('li');
36          if(cur_name != 'USD' && cur_name != 'CAD') cur_arr[0].click();
37          for (var i = 0; i < cur_arr.length; i++) {
38            let rel = cur_arr[i].getAttribute('rel');
39            if(rel == cur_name[0].innerHTML) cur_arr[i].click();
40          }
41          
42        }, 100);
43        clearInterval(check_ba);
44      }
45    }, 100);
46  };
47</script>
47
48<link rel="preload" as="style" href="//canadagrowsupplies.com/cdn/shop/t/43/assets/theme.css?v=112707380033230105611705794849">
49    <link rel="preload" as="script" href="//canadagrowsupplies.com/cdn/shop/t/43/assets/theme.js?v=79656976836630833811704722455">
50    <link rel="preconnect" href="https://cdn.shopify.com">
51    <link rel="preconnect" href="https://fonts.shopifycdn.com">
52    <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com">
53    <link rel="dns-prefetch" href="https://ajax.googleapis.com">
54    <link rel="dns-prefetch" href="https://maps.googleapis.com">
55    <link rel="dns-prefetch" href="https://maps.gstatic.com">
56
57    <meta property="og:type" content="website">
58  <meta property="og:title" content="Canada Grow Supplies Blog"><meta property="og:description" content="Get the best tips and tutorials for all your indoor growing needs. From Medical to Recreational use, we help you grow cannabis the right way."><meta property="og:url" content="https://canadagrowsupplies.com/blogs/main">
59<meta property="og:site_name" content="Canada Grow Supplies"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Canada Grow Supplies Blog">
60  <meta name="twitter:description" content="Get the best tips and tutorials for all your indoor growing needs. From Medical to Recreational use, we help you grow cannabis the right way.">
61    <link rel="preload" href="//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2" as="font" type="font/woff2" crossorigin><style>
62  @font-face {
63  font-family: Roboto;
64  font-weight: 400;
65  font-style: normal;
66  font-display: swap;
67  src: url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2") format("woff2"),
68       url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n4.238690e0007583582327135619c5f7971652fa9d.woff") format("woff");
69}
70
71  @font-face {
72  font-family: Roboto;
73  font-weight: 400;
74  font-style: normal;
75  font-display: swap;
76  src: url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2") format("woff2"),
77       url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n4.238690e0007583582327135619c5f7971652fa9d.woff") format("woff");
78}
79
80@font-face {
81  font-family: Roboto;
82  font-weight: 600;
83  font-style: normal;
84  font-display: swap;
85  src: url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n6.3d305d5382545b48404c304160aadee38c90ef9d.woff2") format("woff2"),
86       url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n6.bb37be020157f87e181e5489d5e9137ad60c47a2.woff") format("woff");
87}
88
89@font-face {
90  font-family: Roboto;
91  font-weight: 400;
92  font-style: italic;
93  font-display: swap;
94  src: url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_i4.57ce898ccda22ee84f49e6b57ae302250655e2d4.woff2") format("woff2"),
95       url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_i4.b21f3bd061cbcb83b824ae8c7671a82587b264bf.woff") format("woff");
96}
97
98
99  @font-face {
100  font-family: Roboto;
101  font-weight: 700;
102  font-style: normal;
103  font-display: swap;
104  src: url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n7.f38007a10afbbde8976c4056bfe890710d51dec2.woff2") format("woff2"),
105       url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_n7.94bfdd3e80c7be00e128703d245c207769d763f9.woff") format("woff");
106}
107
108  @font-face {
109  font-family: Roboto;
110  font-weight: 400;
111  font-style: italic;
112  font-display: swap;
113  src: url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_i4.57ce898ccda22ee84f49e6b57ae302250655e2d4.woff2") format("woff2"),
114       url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_i4.b21f3bd061cbcb83b824ae8c7671a82587b264bf.woff") format("woff");
115}
116
117  @font-face {
118  font-family: Roboto;
119  font-weight: 700;
120  font-style: italic;
121  font-display: swap;
122  src: url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_i7.7ccaf9410746f2c53340607c42c43f90a9005937.woff2") format("woff2"),
123       url("//canadagrowsupplies.com/cdn/fonts/roboto/roboto_i7.49ec21cdd7148292bffea74c62c0df6e93551516.woff") format("woff");
124}
125
126
127  :root {
128    --default-text-font-size : 15px;
129    --base-text-font-size    : 16px;
130    --heading-font-family    : Roboto, sans-serif;
131    --heading-font-weight    : 400;
132    --heading-font-style     : normal;
133    --text-font-family       : Roboto, sans-serif;
134    --text-font-weight       : 400;
135    --text-font-style        : normal;
136    --text-font-bolder-weight: 600;
137    --text-link-decoration   : underline;
138
139    --text-color               : #677279;
140    --text-color-rgb           : 103, 114, 121;
141    --heading-color            : #000000;
142    --border-color             : #e1e3e4;
143    --border-color-rgb         : 225, 227, 228;
144    --form-border-color        : #d4d6d8;
145    --accent-color             : #08c873;
146    --accent-color-rgb         : 8, 200, 115;
147    --link-color               : #08c873;
148    --link-color-hover         : #057e49;
149    --background               : #e5e5e5;
150    --secondary-background     : #ffffff;
151    --secondary-background-rgb : 255, 255, 255;
152    --accent-background        : rgba(8, 200, 115, 0.08);
153
154    --input-background: #ffffff;
155
156    --error-color       : #ff0000;
157    --error-background  : rgba(255, 0, 0, 0.07);
158    --success-color     : #00aa00;
159    --success-background: rgba(0, 170, 0, 0.11);
160
161    --primary-button-background      : #08c873;
162    --primary-button-background-rgb  : 8, 200, 115;
163    --primary-button-text-color      : #ffffff;
164    --secondary-button-background    : #065a33;
165    --secondary-button-background-rgb: 6, 90, 51;
166    --secondary-button-text-color    : #ffffff;
167
168    --header-background      : #f4f4f4;
169    --header-text-color      : #08c873;
170    --header-light-text-color: #065a33;
171    --header-border-color    : rgba(6, 90, 51, 0.3);
172    --header-accent-color    : #08c873;
173
174    --footer-background-color:    #1c1c1c;
175    --footer-heading-text-color:  #ffffff;
176    --footer-body-text-color:     #ffffff;
177    --footer-body-text-color-rgb: 255, 255, 255;
178    --footer-accent-color:        #08c873;
179    --footer-accent-color-rgb:    8, 200, 115;
180    --footer-border:              none;
181    
182    --flickity-arrow-color: #abb1b4;--product-on-sale-accent           : #ee0000;
183    --product-on-sale-accent-rgb       : 238, 0, 0;
184    --product-on-sale-color            : #ffffff;
185    --product-in-stock-color           : #008a00;
186    --product-low-stock-color          : #ee0000;
187    --product-sold-out-color           : #8a9297;
188    --product-custom-label-1-background: #008a00;
189    --product-custom-label-1-color     : #ffffff;
190    --product-custom-label-2-background: #00a500;
191    --product-custom-label-2-color     : #ffffff;
192    --product-review-star-color        : #ffbd00;
193
194    --mobile-container-gutter : 20px;
195    --desktop-container-gutter: 40px;
196
197    /* Shopify related variables */
198    --payment-terms-background-color: #e5e5e5;
199  }
200</style>
201
202<script>
203  // IE11 does not have support for CSS variables, so we have to polyfill them
204  if (!(((window || {}).CSS || {}).supports && window.CSS.supports('(--a: 0)'))) {
205    const script = document.createElement('script');
206    script.type = 'text/javascript';
207    script.src = 'https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2';
208    script.onload = function() {
209      cssVars({});
210    };
211
212    document.getElementsByTagName('head')[0].appendChild(script);
213  }
214</script>
214
215
216
217    
217<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
217<meta name="facebook-domain-verification" content="0jnkjqleu7sy5jxofsj9jlkgbrb1ry">
218<meta name="google-site-verification" content="jxyj7-uPnvdC5Za4o25CHmFv3Z37hDpMhg5J2bticgc">
219<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/56650104875/digital_wallets/dialog">
220<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" type="application/atom+xml" title="Feed" href="/blogs/main.atom" />
221<link rel="next" href="/blogs/main?page=2">
222<link rel="alternate" hreflang="x-default" href="https://canadagrowsupplies.com/blogs/main">
223<link rel="alternate" hreflang="en" href="https://canadagrowsupplies.com/blogs/main">
224<link rel="alternate" hreflang="fr" href="https://canadagrowsupplies.com/fr/blogs/main">
225<script async="async" src="/checkouts/internal/preloads.js?locale=en-CA"></script>
225
226<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
227<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-CA&shop_id=56650104875" crossorigin="anonymous"></script>
vendor: 1 bytes, line 227
227
228<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":56650104875,"countryCode":"CA","currencyCode":"CAD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/56650104875","merchantName":"Canada Grow Supplies","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","interac","jcb"],"total":{"type":"pending","label":"Canada Grow Supplies","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 228
228
229<script id="shopify-features" type="application/json">{"accessToken":"4810041e74a4da688762b54729ad2958","betas":["rich-media-storefront-analytics"],"domain":"canadagrowsupplies.com","predictiveSearch":true,"shopId":56650104875,"locale":"en"}</script>
vendor: 1 bytes, line 229
229
230<script>var Shopify = Shopify || {};
231Shopify.shop = "canada-grow-supplies-main.myshopify.com";
232Shopify.locale = "en";
233Shopify.currency = {"active":"CAD","rate":"1.0"};
234Shopify.country = "CA";
235Shopify.theme = {"name":"Warehouse - 2023-06-14","id":126057250859,"schema_name":"Warehouse","schema_version":"4.2.2","theme_store_id":null,"role":"main"};
236Shopify.theme.handle = "null";
237Shopify.theme.style = {"id":null,"handle":null};
238Shopify.cdnHost = "canadagrowsupplies.com/cdn";
239Shopify.routes = Shopify.routes || {};
240Shopify.routes.root = "/";
241Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
242Shopify.SignInWithShop = Shopify.SignInWithShop || {};
243Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
244Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 244
244
245<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 245
245
246<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 246
246
247<script>
248  window.ShopifyPay = window.ShopifyPay || {};
249  window.ShopifyPay.apiHost = "shop.app\/pay";
250  window.ShopifyPay.redirectState = null;
251</script>
vendor: 1 bytes, line 251
251
252<script>
253  window.Shopify = window.Shopify || {};
254  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
255  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
256  window.Shopify.SignInWithShop.eligible = true;
257</script>
vendor: 1 bytes, line 257
257
258<script id="shop-js-analytics" type="application/json">{"pageType":"blog"}</script>
vendor: 1 bytes, line 258
258
259<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 259
259
260<script type="module">
261  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
262
263  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
264
265</script>
vendor: 1 bytes, line 265
265
266<script>
267  window.Shopify = window.Shopify || {};
268  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
269  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"]};
270</script>
vendor: 1 bytes, line 270
270
271<script>(function() {
272  var isLoaded = false;
273  function asyncLoad() {
274    if (isLoaded) return;
275    isLoaded = true;
276    var urls = ["https:\/\/loox.io\/widget\/NJZBUTbYHn\/loox.1651514932607.js?shop=canada-grow-supplies-main.myshopify.com","https:\/\/dr4qe3ddw9y32.cloudfront.net\/awin-shopify-integration-code.js?aid=26833\u0026s2s=\u0026v=shopifyApp_2.0.9\u0026ts=1654540403232\u0026shop=canada-grow-supplies-main.myshopify.com","https:\/\/shopify.rakutenadvertising.io\/rakuten_advertising.js?shop=canada-grow-supplies-main.myshopify.com","https:\/\/tag.rmp.rakuten.com\/124899.ct.js?shop=canada-grow-supplies-main.myshopify.com","\/\/swymv3free-01.azureedge.net\/code\/swym-shopify.js?shop=canada-grow-supplies-main.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0449\/2568\/1820\/t\/4\/assets\/booster_currency.js?v=1624978055\u0026shop=canada-grow-supplies-main.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0449\/2568\/1820\/t\/4\/assets\/booster_currency.js?v=1624978055\u0026shop=canada-grow-supplies-main.myshopify.com","https:\/\/po.kaktusapp.com\/storage\/js\/kaktus_preorder-canada-grow-supplies-main.myshopify.com.js?ver=94\u0026shop=canada-grow-supplies-main.myshopify.com","https:\/\/s1.staq-cdn.com\/grow\/api\/js\/56650104875\/main.js?sId=56650104875\u0026v=BYI4QITYUL3KGTKIYA2II4I2\u0026shop=canada-grow-supplies-main.myshopify.com"];
277    for (var i = 0; i < urls.length; i++) {
278      var s = document.createElement('script');
279      s.type = 'text/javascript';
280      s.async = true;
281      s.src = urls[i];
282      var x = document.getElementsByTagName('script')[0];
283      x.parentNode.insertBefore(s, x);
284    }
285  };
286  if(window.attachEvent) {
287    window.attachEvent('onload', asyncLoad);
288  } else {
289    window.addEventListener('load', asyncLoad, false);
290  }
291})();</script>
vendor: 1 bytes, line 291
291
292<script id="__st">var __st={"a":56650104875,"offset":-14400,"reqid":"e74bc749-2f0d-49e9-93a3-25ce8a4bb71e-1790919456","pageurl":"canadagrowsupplies.com\/blogs\/main","s":"blogs-79655862315","u":"7fb2012d58e0","p":"blog","rtyp":"blog","rid":79655862315};</script>
vendor: 1 bytes, line 292
292
293<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 293
293
294<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 294
294
295<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//canadagrowsupplies.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 295
295
296<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 = "//canadagrowsupplies.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
296<script crossorigin="anonymous" defer="defer" src="//canadagrowsupplies.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 296
296
297<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 297
297
298<script>
299  window.Shopify = window.Shopify || {};
300  window.Shopify.MCP = window.Shopify.MCP || {};
301  window.Shopify.MCP.enabled = true;
302  window.Shopify.MCP.shop = "canada-grow-supplies-main.myshopify.com";
303  window.Shopify.MCP.mcpEndpoint = "https:\/\/canadagrowsupplies.com\/api\/mcp";
304  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
305</script>
vendor: 1 bytes, line 305
305
306<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("\/\/canadagrowsupplies.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
307</script>
vendor: 1 bytes, line 307
307
308<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://canadagrowsupplies.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
309</script>
vendor: 1 bytes, line 309
309
310<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
311  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);
312</script>
vendor: 1 bytes, line 312
312
313<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})}}));
314</script>
314
315<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://canadagrowsupplies.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
316<style id="shopify-accelerated-checkout-cart">
317        #shopify-buyer-consent {
318  margin-top: 1em;
319  display: inline-block;
320  width: 100%;
321}
322
323#shopify-buyer-consent.hidden {
324  display: none;
325}
326
327#shopify-subscription-policy-button {
328  background: none;
329  border: none;
330  padding: 0;
331  text-decoration: underline;
332  font-size: inherit;
333  cursor: pointer;
334}
335
336#shopify-subscription-policy-button::before {
337  box-shadow: none;
338}
339
340      </style>
341
342<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
342
343
344    <link rel="stylesheet" href="//canadagrowsupplies.com/cdn/shop/t/43/assets/custom.css?v=84305893715940813471704727837">
345    <link rel="stylesheet" href="//canadagrowsupplies.com/cdn/shop/t/43/assets/theme.css?v=112707380033230105611705794849">
346
347    
348
349
350  
350<script type="application/ld+json">
351  {
352    "@context": "https://schema.org",
353    "@type": "BreadcrumbList",
354  "itemListElement": [{
355      "@type": "ListItem",
356      "position": 1,
357      "name": "Home",
358      "item": "https://canadagrowsupplies.com"
359    },{
360          "@type": "ListItem",
361          "position": 2,
362          "name": "Blog",
363          "item": "https://canadagrowsupplies.com/blogs/main"
364        }]
365  }
366  </script>
366
367
368
369
370    
370<script>
371      // This allows to expose several variables to the global scope, to be used in scripts
372      window.theme = {
373        pageType: "blog",
374        cartCount: 0,
375        moneyFormat: "\u003cspan class=money\u003e$ {{amount}}\u003c\/span\u003e",
376        moneyWithCurrencyFormat: "\u003cspan class=money\u003e$ {{amount}} CAD\u003c\/span\u003e",
377        currencyCodeEnabled: false,
378        showDiscount: true,
379        discountMode: "percentage",
380        cartType: "drawer"
381      };
382
383      window.routes = {
384        rootUrl: "\/",
385        rootUrlWithoutSlash: '',
386        cartUrl: "\/cart",
387        cartAddUrl: "\/cart\/add",
388        cartChangeUrl: "\/cart\/change",
389        searchUrl: "\/search",
390        productRecommendationsUrl: "\/recommendations\/products"
391      };
392
393      window.languages = {
394        productRegularPrice: "Regular price",
395        productSalePrice: "Sale price",
396        collectionOnSaleLabel: "Save {{savings}}",
397        productFormUnavailable: "Unavailable",
398        productFormAddToCart: "Add to cart",
399        productFormPreOrder: "Pre-order",
400        productFormSoldOut: "Sold out",
401        productAdded: "Product has been added to your cart",
402        productAddedShort: "Added!",
403        shippingEstimatorNoResults: "No shipping could be found for your address.",
404        shippingEstimatorOneResult: "There is one shipping rate for your address:",
405        shippingEstimatorMultipleResults: "There are {{count}} shipping rates for your address:",
406        shippingEstimatorErrors: "There are some errors:"
407      };
408
409      document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
410    </script>
410<script src="//canadagrowsupplies.com/cdn/shop/t/43/assets/theme.js?v=79656976836630833811704722455" defer></script>
410
411    
411<script src="//canadagrowsupplies.com/cdn/shop/t/43/assets/custom.js?v=37052716901015019221704722454" defer></script>
411<script>
412        (function () {
413          window.onpageshow = function() {
414            // We force re-freshing the cart content onpageshow, as most browsers will serve a cache copy when hitting the
415            // back button, which cause staled data
416            document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', {
417              bubbles: true,
418              detail: {scrollToTop: false}
419            }));
420          };
421        })();
422      </script>
422<!-- __LXV: 1790885146483;__LXR: https://loox.io;__LXC: NJZBUTbYHn; -->
422<script>var loox_global_hash = '1790885146483';
423var loox_bundle_reviews_enabled = false;</script>
423<script>var visitor_level_referral = {"active":true,"rtl":false,"position":"right","button_text":"Get 10$","button_bg_color":"08C873","button_text_color":"000000","display_on_home_page":true,"display_on_product_page":true,"display_on_cart_page":true,"display_on_other_pages":true,"hide_on_mobile":false,"sidebar_visible":true,"orientation":"default","border_radius":{"key":"extraRounded","value":"16px","label":"Extra Rounded"}};
424</script>
424<style>.loox-reviews-default { max-width: 1200px; margin: 0 auto; }.loox-rating .loox-icon { color:#FFCB45; }
425:root { --lxs-rating-icon-color: #FFCB45; }</style>
426  
427<!-- BEGIN app block: shopify://apps/seowill-redirects/blocks/brokenlink-404/cc7b1996-e567-42d0-8862-356092041863 -->
428<script type="text/javascript">
429    !function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=11)}([function(t,e,r){"use strict";var n=r(2),o=Object.prototype.toString;function i(t){return"[object Array]"===o.call(t)}function a(t){return"undefined"===typeof t}function u(t){return null!==t&&"object"===typeof t}function s(t){return"[object Function]"===o.call(t)}function c(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),i(t))for(var r=0,n=t.length;r<n;r++)e.call(null,t[r],r,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.call(null,t[o],o,t)}t.exports={isArray:i,isArrayBuffer:function(t){return"[object ArrayBuffer]"===o.call(t)},isBuffer:function(t){return null!==t&&!a(t)&&null!==t.constructor&&!a(t.constructor)&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)},isFormData:function(t){return"undefined"!==typeof FormData&&t instanceof FormData},isArrayBufferView:function(t){return"undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer},isString:function(t){return"string"===typeof t},isNumber:function(t){return"number"===typeof t},isObject:u,isUndefined:a,isDate:function(t){return"[object Date]"===o.call(t)},isFile:function(t){return"[object File]"===o.call(t)},isBlob:function(t){return"[object Blob]"===o.call(t)},isFunction:s,isStream:function(t){return u(t)&&s(t.pipe)},isURLSearchParams:function(t){return"undefined"!==typeof URLSearchParams&&t instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)},forEach:c,merge:function t(){var e={};function r(r,n){"object"===typeof e[n]&&"object"===typeof r?e[n]=t(e[n],r):e[n]=r}for(var n=0,o=arguments.length;n<o;n++)c(arguments[n],r);return e},deepMerge:function t(){var e={};function r(r,n){"object"===typeof e[n]&&"object"===typeof r?e[n]=t(e[n],r):e[n]="object"===typeof r?t({},r):r}for(var n=0,o=arguments.length;n<o;n++)c(arguments[n],r);return e},extend:function(t,e,r){return c(e,(function(e,o){t[o]=r&&"function"===typeof e?n(e,r):e})),t},trim:function(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}}},function(t,e,r){t.exports=r(12)},function(t,e,r){"use strict";t.exports=function(t,e){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return t.apply(e,r)}}},function(t,e,r){"use strict";var n=r(0);function o(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,r){if(!e)return t;var i;if(r)i=r(e);else if(n.isURLSearchParams(e))i=e.toString();else{var a=[];n.forEach(e,(function(t,e){null!==t&&"undefined"!==typeof t&&(n.isArray(t)?e+="[]":t=[t],n.forEach(t,(function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),a.push(o(e)+"="+o(t))})))})),i=a.join("&")}if(i){var u=t.indexOf("#");-1!==u&&(t=t.slice(0,u)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}},function(t,e,r){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},function(t,e,r){"use strict";(function(e){var n=r(0),o=r(19),i={"Content-Type":"application/x-www-form-urlencoded"};function a(t,e){!n.isUndefined(t)&&n.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var u={adapter:function(){var t;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof e&&"[object process]"===Object.prototype.toString.call(e))&&(t=r(6)),t}(),transformRequest:[function(t,e){return o(e,"Accept"),o(e,"Content-Type"),n.isFormData(t)||n.isArrayBuffer(t)||n.isBuffer(t)||n.isStream(t)||n.isFile(t)||n.isBlob(t)?t:n.isArrayBufferView(t)?t.buffer:n.isURLSearchParams(t)?(a(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):n.isObject(t)?(a(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"===typeof t)try{t=JSON.parse(t)}catch(e){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};
vendor: 1,549 bytes, line 429
429n.forEach(["delete","get","head"],(function(t){u.headers[t]={}})),n.forEach(["post","put","patch"],(function(t){u.headers[t]=n.merge(i)})),t.exports=u}).call(this,r(18))},function(t,e,r){"use strict";var n=r(0),o=r(20),i=r(3),a=r(22),u=r(25),s=r(26),c=r(7);t.exports=function(t){return new Promise((function(e,f){var l=t.data,p=t.headers;n.isFormData(l)&&delete p["Content-Type"];var h=new XMLHttpRequest;if(t.auth){var d=t.auth.username||"",m=t.auth.password||"";p.Authorization="Basic "+btoa(d+":"+m)}var y=a(t.baseURL,t.url);if(h.open(t.method.toUpperCase(),i(y,t.params,t.paramsSerializer),!0),h.timeout=t.timeout,h.onreadystatechange=function(){if(h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in h?u(h.getAllResponseHeaders()):null,n={data:t.responseType&&"text"!==t.responseType?h.response:h.responseText,status:h.status,statusText:h.statusText,headers:r,config:t,request:h};o(e,f,n),h=null}},h.onabort=function(){h&&(f(c("Request aborted",t,"ECONNABORTED",h)),h=null)},h.onerror=function(){f(c("Network Error",t,null,h)),h=null},h.ontimeout=function(){var e="timeout of "+t.timeout+"ms exceeded";t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),f(c(e,t,"ECONNABORTED",h)),h=null},n.isStandardBrowserEnv()){var v=r(27),g=(t.withCredentials||s(y))&&t.xsrfCookieName?v.read(t.xsrfCookieName):void 0;g&&(p[t.xsrfHeaderName]=g)}if("setRequestHeader"in h&&n.forEach(p,(function(t,e){"undefined"===typeof l&&"content-type"===e.toLowerCase()?delete p[e]:h.setRequestHeader(e,t)}
429)),n.isUndefined(t.withCredentials)||(h.withCredentials=!!t.withCredentials),t.responseType)try{h.responseType=t.responseType}catch(w){if("json"!==t.responseType)throw w}"function"===typeof t.onDownloadProgress&&h.addEventListener("progress",t.onDownloadProgress),"function"===typeof t.onUploadProgress&&h.upload&&h.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then((function(t){h&&(h.abort(),f(t),h=null)})),void 0===l&&(l=null),h.send(l)}))}},function(t,e,r){"use strict";var n=r(21);t.exports=function(t,e,r,o,i){var a=new Error(t);return n(a,e,r,o,i)}},function(t,e,r){"use strict";var n=r(0);t.exports=function(t,e){e=e||{};var r={},o=["url","method","params","data"],i=["headers","auth","proxy"],a=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];n.forEach(o,(function(t){"undefined"!==typeof e[t]&&(r[t]=e[t])})),n.forEach(i,(function(o){n.isObject(e[o])?r[o]=n.deepMerge(t[o],e[o]):"undefined"!==typeof e[o]?r[o]=e[o]:n.isObject(t[o])?r[o]=n.deepMerge(t[o]):"undefined"!==typeof t[o]&&(r[o]=t[o])})),n.forEach(a,(function(n){"undefined"!==typeof e[n]?r[n]=e[n]:"undefined"!==typeof t[n]&&(r[n]=t[n])}));var u=o.concat(i).concat(a),s=Object.keys(e).filter((function(t){return-1===u.indexOf(t)}));return n.forEach(s,(function(n){"undefined"!==typeof e[n]?r[n]=e[n]:"undefined"!==typeof t[n]&&(r[n]=t[n])})),r}},function(t,e,r){"use strict";function n(t){this.message=t}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,t.exports=n},function(t,e,r){t.exports=r(13)},function(t,e,r){t.exports=r(30)},function(t,e,r){var n=function(t){"use strict";var e=Object.prototype,r=e.hasOwnProperty,n="function"===typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(S){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=e&&e.prototype instanceof l?e:l,i=Object.create(o.prototype),a=new L(n||[]);return i._invoke=function(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return j()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=x(a,r);if(u){if(u===f)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=c(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}(t,r,a),i}function c(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(S){return{type:"throw",arg:S}}}t.wrap=s;var f={};function l(){}function p(){}function h(){}var d={};d[o]=function(){return this};var m=Object.getPrototypeOf,y=m&&m(m(T([])));y&&y!==e&&r.call(y,o)&&(d=y);var v=h.prototype=l.prototype=Object.create(d);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){var n;this._invoke=function(o,i){function a(){return new e((function(n,a){!function n(o,i,a,u){var s=c(t[o],t,i);if("throw"!==s.type){var f=s.arg,l=f.value;return l&&"object"===typeof l&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,a,u)}),(function(t){n("throw",t,a,u)})):e.resolve(l).then((function(t){f.value=t,a(f)}),(function(t){return n("throw",t,a,u)}))}u(s.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function x(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method))return f;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var n=c(r,t.iterator,e.arg);
vendor: 4,150 bytes, line 429
429if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,f;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function b(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(b,this),this.reset(!0)}function T(t){if(t){var e=t[o];if(e)return e.call(t);if("function"===typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:j}}function j(){return{value:void 0,done:!0}}return p.prototype=v.constructor=h,h.constructor=p,p.displayName=u(h,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"===typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,u(t,a,"GeneratorFunction")),t.prototype=Object.create(v),t},t.awrap=function(t){return{__await:t}},g(w.prototype),w.prototype[i]=function(){return this},t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(v),u(v,a,"Generator"),v[o]=function(){return this},v.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=T,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:T(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}(t.exports);try{regeneratorRuntime=n}catch(o){Function("r","regeneratorRuntime = r")(n)}},function(t,e,r){"use strict";
vendor: 5,678 bytes, line 429
429var n=r(0),o=r(2),i=r(14),a=r(8);function u(t){var e=new i(t),r=o(i.prototype.request,e);return n.extend(r,i.prototype,e),n.extend(r,e),r}var s=u(r(5));s.Axios=i,s.create=function(t){return u(a(s.defaults,t))},s.Cancel=r(9),s.CancelToken=r(28),s.isCancel=r(4),s.all=function(t){return Promise.all(t)},s.spread=r(29),t.exports=s,t.exports.default=s},function(t,e,r){"use strict";var n=r(0),o=r(3),i=r(15),a=r(16),u=r(8);function s(t){this.defaults=t,this.interceptors={request:new i,response:new i}}s.prototype.request=function(t){"string"===typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=u(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=[a,void 0],r=Promise.resolve(t);for(this.interceptors.request.forEach((function(t){e.unshift(t.fulfilled,t.rejected)})),this.interceptors.response.forEach((function(t){e.push(t.fulfilled,t.rejected)}));e.length;)r=r.then(e.shift(),e.shift());return r},s.prototype.getUri=function(t){return t=u(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(t){s.prototype[t]=function(e,r){return this.request(n.merge(r||{},{method:t,url:e}))}})),n.forEach(["post","put","patch"],(function(t){s.prototype[t]=function(e,r,o){return this.request(n.merge(o||{},{method:t,url:e,data:r}))}})),t.exports=s},function(t,e,r){"use strict";var n=r(0);function o(){this.handlers=[]}o.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){n.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},function(t,e,r){"use strict";var n=r(0),o=r(17),i=r(4),a=r(5);function u(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return u(t),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||a.adapter)(t).then((function(e){return u(t),e.data=o(e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(u(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},function(t,e,r){"use strict";var n=r(0);t.exports=function(t,e,r){return n.forEach(r,(function(r){t=r(t,e)})),t}},function(t,e){var r,n,o=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(t){if(r===setTimeout)return setTimeout(t,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"===typeof setTimeout?setTimeout:i}catch(t){r=i}try{n="function"===typeof clearTimeout?clearTimeout:a}catch(t){n=a}}();var s,c=[],f=!1,l=-1;function p(){f&&s&&(f=!1,s.length?c=s.concat(c):l=-1,c.length&&h())}function h(){if(!f){var t=u(p);f=!0;for(var e=c.length;e;){for(s=c,c=[];++l<e;)s&&s[l].run();l=-1,e=c.length}s=null,f=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function m(){}o.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new d(t,e)),1!==c.length||f||u(h)},d.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(t){return[]},o.binding=function(t){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(t){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(t,e,r){"use strict";var n=r(0);t.exports=function(t,e){n.forEach(t,(function(r,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[n])}))}},function(t,e,r){"use strict";var n=r(7);t.exports=function(t,e,r){var o=r.config.validateStatus;!o||o(r.status)?t(r):e(n("Request failed with status code "+r.status,r.config,null,r.request,r))}},function(t,e,r){"use strict";t.exports=function(t,e,r,n,o){return t.config=e,r&&(t.code=r),t.request=n,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},function(t,e,r){"use strict";var n=r(23),o=r(24);t.exports=function(t,e){return t&&!n(e)?o(t,e):e}},function(t,e,r){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},function(t,e,r){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},function(t,e,r){"use strict";var n=r(0),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,r,i,a={};return t?(n.forEach(t.split("\n"),(function(t){if(i=t.indexOf(":"),e=n.trim(t.substr(0,i)).toLowerCase(),r=n.trim(t.
429substr(i+1)),e){if(a[e]&&o.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([r]):a[e]?a[e]+", "+r:r}})),a):a}},function(t,e,r){"use strict";var n=r(0);t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(t){var n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=o(window.location.href),function(e){var r=n.isString(e)?o(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0}},function(t,e,r){"use strict";var n=r(0);t.exports=n.isStandardBrowserEnv()?{write:function(t,e,r,o,i,a){var u=[];u.push(t+"="+encodeURIComponent(e)),n.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),n.isString(o)&&u.push("path="+o),n.isString(i)&&u.push("domain="+i),!0===a&&u.push("secure"),document.cookie=u.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(t,e,r){"use strict";var n=r(9);function o(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var r=this;t((function(t){r.reason||(r.reason=new n(t),e(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var t;return{token:new o((function(e){t=e})),cancel:t}},t.exports=o},function(t,e,r){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},function(t,e,r){"use strict";r.r(e);var n=r(1),o=r.n(n);function i(t,e,r,n,o,i,a){try{var u=t[i](a),s=u.value}catch(c){return void r(c)}u.done?e(s):Promise.resolve(s).then(n,o)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function u(t){i(a,n,o,u,s,"next",t)}function s(t){i(a,n,o,u,s,"throw",t)}u(void 0)}))}}var u=r(10),s=r.n(u);var c=function(t){return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"GET";return r=r.toUpperCase(),new Promise((function(n){var o;"GET"===r&&(o=s.a.get(t,{params:e})),o.then((function(t){n(t.data)}))}))}("/apps/broken-link-manager/receive_id",t,"GET")};function f(){return(f=a(o.a.mark((function t(e,r,n){var i;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i={shop:e,code:r,gbaid:n},t.next=3,c(i);case 3:t.sent;case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var l=window.location.href;if(-1!=l.indexOf("gbaid")){var p=l.split("gbaid");if(void 0!=p[1]){var h=window.location.pathname+window.location.search;window.history.pushState({},0,h),function(t,e,r){f.apply(this,arguments)}("canada-grow-supplies-main.myshopify.com","",p[1])}}}]);
430</script>
430<!-- END app block --><!-- BEGIN app block: shopify://apps/frequently-bought/blocks/app-embed-block/b1a8cbea-c844-4842-9529-7c62dbab1b1f -->
430<script>
431    window.codeblackbelt = window.codeblackbelt || {};
432    window.codeblackbelt.shop = window.codeblackbelt.shop || 'canada-grow-supplies-main.myshopify.com';
433    </script>
433<script src="//cdn.codeblackbelt.com/widgets/frequently-bought-together/bootstrap.min.js?version=2026100201-0400" async></script>
433
434 <!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
435
436
437
438
439
440
441
442
443
444
445
446
447  
447<script async src="https://static.klaviyo.com/onsite/js/VWvL5Y/klaviyo.js?company_id=VWvL5Y"></script>
447
448  
448<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
448
449
450  
451
452
453
454
455  
455<script>
456    window.klaviyoReviewsProductDesignMode = false
457  </script>
457
458
459
460
461
462
463
464
465
466
467<!-- END app block -->
467<script src="https://cdn.shopify.com/extensions/01a0f2db-0836-7636-86a1-66d0eb10c673/2026-09-30-15-05-45-UTC--15387e4/assets/smile-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 467
467
468<script src="https://cdn.shopify.com/extensions/01a0f6ed-716e-7bcb-9b26-cd9173669680/countdown-timer-30-98/assets/countdown_timer_essential_apps.min.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 468
468
469<script src="https://cdn.shopify.com/extensions/a9a32278-85fd-435d-a2e4-15afbc801656/nova-multi-currency-converter-1/assets/nova-cur-app-embed.js" type="text/javascript" defer="defer"></script>
469
470<link href="https://cdn.shopify.com/extensions/a9a32278-85fd-435d-a2e4-15afbc801656/nova-multi-currency-converter-1/assets/nova-cur.css" rel="stylesheet" type="text/css" media="all">
471<meta property="og:image" content="https://cdn.shopify.com/s/files/1/0566/5010/4875/files/cgs-checkout_6cde7cf7-c36f-4591-b2d7-f432ccd55d18.png?height=628&pad_color=fff&v=1664207997&width=1200" />
472<meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0566/5010/4875/files/cgs-checkout_6cde7cf7-c36f-4591-b2d7-f432ccd55d18.png?height=628&pad_color=fff&v=1664207997&width=1200" />
473<meta property="og:image:width" content="1200" />
474<meta property="og:image:height" content="628" />
475<meta property="og:image:alt" content="Canada Grow Supplies" />
476<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
477<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: 56650104875,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "blog"};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 477
477
478<script>
479  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
480</script>
vendor: 1 bytes, line 480
480
481<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}
481).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: 56650104875,storefrontBaseUrl: "https://canadagrowsupplies.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://canadagrowsupplies.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1416069163","configuration":"{\"accountID\":\"VWvL5Y\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"275284011","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-XMWVF6G0E6\\\",\\\"AW-360886711\\\",\\\"GT-P3M3ZXR\\\"],\\\"target_country\\\":\\\"CA\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-XMWVF6G0E6\\\",\\\"AW-360886711\\\/amrPCKXH9ZUYELfjiqwB\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-XMWVF6G0E6\\\",\\\"AW-360886711\\\/9PxMCJ_H9ZUYELfjiqwB\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-XMWVF6G0E6\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-XMWVF6G0E6\\\",\\\"AW-360886711\\\/6Yl1CJzH9ZUYELfjiqwB\\\",\\\"MC-909YLTTTZZ\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-XMWVF6G0E6\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-XMWVF6G0E6\\\",\\\"AW-360886711\\\/mtsiCJbH9ZUYELfjiqwB\\\",\\\"MC-909YLTTTZZ\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-XMWVF6G0E6\\\",\\\"AW-360886711\\\/8u9cCJnH9ZUYELfjiqwB\\\",\\\"MC-909YLTTTZZ\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-XMWVF6G0E6\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-XMWVF6G0E6\\\",\\\"AW-360886711\\\/bgeTCKjH9ZUYELfjiqwB\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-XMWVF6G0E6\\\",\\\"AW-360886711\\\/bRCMCKLH9ZUYELfjiqwB\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-XMWVF6G0E6\\\"}],\\\"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"]}
481,{"id":"111050795","configuration":"{\"pixel_id\":\"769312354479708\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"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"]},{"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":"Canada Grow Supplies","paymentSettings":{"currencyCode":"CAD"},"myshopifyDomain":"canada-grow-supplies-main.myshopify.com","countryCode":"CA","storefrontUrl":"https:\/\/canadagrowsupplies.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"6807904256043","handle":"photontek-x-465w-pro-led-grow-light","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"39965015736363","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6811159986219","handle":"sunblaster-led-high-output-6400k-watt-strip-lights","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"41058646163499","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6808323981355","handle":"spider-farmer-upgraded-se5000-480w-full-spectrum-led-grow-light","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"39966031314987","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6811176239147","handle":"fish-head-farms-fish-shit-organic-soil-conditioner","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"39973791629355","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6855718469675","handle":"advanced-nutrients-ph-perfect-bundle-grow-micro-and-bloom-trio","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"40094094950443","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6855610171435","handle":"general-hydroponics-flora-series-quart-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"40093709402155","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6807991058475","handle":"remo-nutrients-supercharged-kit-1l","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"39965217783851","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://canadagrowsupplies.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"126057250859","themePublished":"true","eventMetadataId":"78116163-c68b-4a1d-9ac9-ae95cac935e3","pageType":"blog","resourceId":"79655862315","shopId":"56650104875","storefrontBaseUrl":"https:\/\/canadagrowsupplies.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
481<script>
482  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
483  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
484  window.ShopifyAnalytics.meta.currency = 'CAD';
485  var meta = {"page":{"pageType":"blog","resourceType":"blog","resourceId":79655862315,"requestId":"e74bc749-2f0d-49e9-93a3-25ce8a4bb71e-1790919456"}};
486  for (var attr in meta) {
487    window.ShopifyAnalytics.meta[attr] = meta[attr];
488  }
489</script>
vendor: 1 bytes, line 489
489
490<script class="analytics">
491  (function () {
492    var customDocumentWrite = function(content) {
493      var jquery = null;
494
495      if (window.jQuery) {
496        jquery = window.jQuery;
497      } else if (window.Checkout && window.Checkout.$) {
498        jquery = window.Checkout.$;
499      }
500
501      if (jquery) {
502        jquery('body').append(content);
503      }
504    };
505
506    var hasLoggedConversion = function(token) {
507      if (token) {
508        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
509      }
510      return false;
511    }
512
513    var setCookieIfConversion = function(token) {
514      if (token) {
515        var twoMonthsFromNow = new Date(Date.now());
516        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
517
518        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
519      }
520    }
521
522    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
523    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
524    if (trekkie.integrations) {
525      return;
526    }
527    trekkie.methods = [
528      'identify',
529      'page',
530      'ready',
531      'track',
532      'trackForm',
533      'trackLink'
534    ];
535    trekkie.factory = function(method) {
536      return function() {
537        var args = Array.prototype.slice.call(arguments);
538        args.unshift(method);
539        trekkie.push(args);
540        if (method == 'track' || method == 'page') {
541          var pageUrl;
542          try {
543            pageUrl = window.location.href;
544          } catch (e) {}
545          var pageReferrer;
546          try {
547            pageReferrer = document.referrer;
548          } catch (e) {}
549          try {
550            if (window.__TREKKIE_SHIM_QUEUE == null) {
551              window.__TREKKIE_SHIM_QUEUE = [];
552            }
553            window.__TREKKIE_SHIM_QUEUE.push({
554              from: 'trekkie-stub',
555              method: method,
556              args: args.slice(1),
557              pageContext: {
558                url: pageUrl,
559                referrer: pageReferrer
560              }
561            });
562          } catch (e) {
563            // no-op
564          }
565        }
566        return trekkie;
567      };
568    };
569    for (var i = 0; i < trekkie.methods.length; i++) {
570      var key = trekkie.methods[i];
571      trekkie[key] = trekkie.factory(key);
572    }
573    trekkie.load = function(config) {
574      trekkie.config = config || {};
575      trekkie.config.initialDocumentCookie = document.cookie;
576      var first = document.getElementsByTagName('script')[0];
577var script = document.createElement('script');
578script.type = 'text/javascript';
579script.onerror = function(e) {
580  var scriptFallback = document.createElement('script');
581  scriptFallback.type = 'text/javascript';
582  scriptFallback.onerror = function(error) {
583          var Monorail = {
584      produce: function produce(monorailDomain, schemaId, payload) {
585        var currentMs = new Date().getTime();
586        var event = {
587          schema_id: schemaId,
588          payload: payload,
589          metadata: {
590            event_created_at_ms: currentMs,
591            event_sent_at_ms: currentMs
592          }
593        };
594        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
595      },
596      sendRequest: function sendRequest(endpointUrl, payload) {
597        // Try the sendBeacon API
598        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
599          var blobData = new window.Blob([payload], {
600            type: 'text/plain'
601          });
602
603          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
604            return true;
605          } // sendBeacon was not successful
606
607        } // XHR beacon
608
609        var xhr = new XMLHttpRequest();
610
611        try {
612          xhr.open('POST', endpointUrl);
613          xhr.setRequestHeader('Content-Type', 'text/plain');
614          xhr.send(payload);
615        } catch (e) {
616          console.log(e);
617        }
618
619        return false;
620      },
621      isIos12: function isIos12() {
622        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
623      }
624    };
625    Monorail.produce('monorail-edge.shopifysvc.com',
626      'trekkie_storefront_load_errors/1.1',
627      {shop_id: 56650104875,
628      theme_id: 126057250859,
629      app_name: "storefront",
630      context_url: window.location.href,
631      source_url: "//canadagrowsupplies.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
632
633  };
634  scriptFallback.async = true;
635  scriptFallback.src = '//canadagrowsupplies.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
636  first.parentNode.insertBefore(scriptFallback, first);
637};
638script.async = true;
639script.src = '//canadagrowsupplies.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
640first.parentNode.insertBefore(script, first);
641
642    };
643    trekkie.load(
644      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":56650104875,"isMerchantRequest":null,"themeId":126057250859,"themeCityHash":"10806180602243072149","contentLanguage":"en","currency":"CAD","eventMetadataId":"78116163-c68b-4a1d-9ac9-ae95cac935e3"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
645    );
646
647    var loaded = false;
648    trekkie.ready(function() {
649      if (loaded) return;
650      loaded = true;
651
652      window.ShopifyAnalytics.lib = window.trekkie;
653
654      var originalDocumentWrite = document.write;
655      document.write = customDocumentWrite;
656      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
657      document.write = originalDocumentWrite;
658
659      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
660      var token = match? match[1]: undefined;
661      if (!hasLoggedConversion(token)) {
662        setCookieIfConversion(token);
663        
664      }
665    });
666
667    window.ShopifyAnalytics.lib.page(null,{"pageType":"blog","resourceType":"blog","resourceId":79655862315,"requestId":"e74bc749-2f0d-49e9-93a3-25ce8a4bb71e-1790919456","shopifyEmitted":true});
668
669    var eventsListenerScript = document.createElement('script');
670    eventsListenerScript.async = true;
671    eventsListenerScript.src = "//canadagrowsupplies.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
672    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
673})();</script>
673
674  
674<script>
675  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
676    window.ga = function ga() {
677      (window.ga.q = window.ga.q || []).push(arguments);
678      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
679        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
680      }
681      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.");
682    };
683    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
684      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
685    }
686  }
687</script>
vendor: 1 bytes, line 687
687
688<script
689  defer
690  src="https://canadagrowsupplies.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
691  data-application="storefront-renderer"
692  data-shop-id="56650104875"
693  data-render-region="gcp-us-central1"
694  data-page-type="blog"
695  data-theme-instance-id="126057250859"
696  data-theme-name="Warehouse"
697  data-theme-version="4.2.2"
698  data-monorail-region="shop_domain"
699  data-resource-timing-sampling-rate="10"
700  data-shs="true"
701  data-shs-beacon="true"
702  data-shs-export-with-fetch="true"
703  data-shs-logs-sample-rate="1"
704  data-shs-beacon-endpoint="https://canadagrowsupplies.com/api/collect"
705></script>
705
706<meta name="shopify-y" content="660914ce-5a9d-4996-9a34-2625a269df1e" data-expiration="1822477056000"><meta name="shopify-s" content="c0ab41d5-a9f3-4c2e-8523-a12d8f99f1f6" data-expiration="1790921256000"><meta name="new-cookie-storage-activated" content="t">
707</head>
708
709  <body class="warehouse--v4 features--animate-zoom template-blog " data-instant-intensity="viewport"><svg class="visually-hidden">
710      <linearGradient id="rating-star-gradient-half">
711        <stop offset="50%" stop-color="var(--product-review-star-color)" />
712        <stop offset="50%" stop-color="rgba(var(--text-color-rgb), .4)" stop-opacity="0.4" />
713      </linearGradient>
714    </svg>
715
716    <a href="#main" class="visually-hidden skip-to-content">Skip to content</a>
717    <span class="loading-bar"></span><!-- BEGIN sections: header-group -->
718<div id="shopify-section-sections--15159568564267__announcement-bar" class="shopify-section shopify-section-group-header-group shopify-section--announcement-bar"><section data-section-id="sections--15159568564267__announcement-bar" data-section-type="announcement-bar" data-section-settings='{
719  "showNewsletter": false
720}'><div class="announcement-bar">
721    <div class="container">
722      <div class="announcement-bar__inner">
723        <div class="halfannounce"><a href="tel:888-349-0321" class="announcement-bar__content announcement-bar__content--left">Call us: 888-349-0321</a></div>
724          <div class="halfannounce rightflex"><div class="footer__aside-item footer__aside-item--social">
725                    <ul class="social-media__item-list  list--unstyled" role="list">
726    <li class="social-media__item social-media__item--facebook">
727      <a href="https://www.facebook.com/canadagrowsupplies" target="_blank" rel="noopener" aria-label="Follow us on Facebook">
728        <img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/facebook.png?v=178705151121835524771686760904" width="100%" height="100%" alt="facebook icon">
729      </a>
730    </li>
731
732    
733<li class="social-media__item social-media__item--instagram">
734      <a href="https://www.instagram.com/canadagrowsuppliescom/" target="_blank" rel="noopener" aria-label="Follow us on Instagram">
735        <img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/instagram.png?v=156803792681522655241686760905" width="100%" height="100%" alt="instagram icon">
736      </a>
737    </li>
738
739    
740
741  </ul>
742                  </div>
743          </div>
744      </div>
745    </div>
746  </div>
747</section>
748
749<style>
750  .announcement-bar {
751    background: #060000;
752    color: #ffffff;
753  }
754</style>
755
756<script>document.documentElement.style.removeProperty('--announcement-bar-button-width');document.documentElement.style.setProperty('--announcement-bar-height', document.getElementById('shopify-section-sections--15159568564267__announcement-bar').clientHeight + 'px');
757</script>
757
758
759</div><div id="shopify-section-sections--15159568564267__announcement-bar2" class="shopify-section shopify-section-group-header-group"><section id="sections--15159568564267__announcement-bar2" data-section-id="sections--15159568564267__announcement-bar2" data-section-type="announcement-bar" data-section-settings='{
760  "showNewsletter": null
761}'>
762    
763   <div class="announcement-bars">
764      <div class="container">
765        <div class="announcements-bar__inner"><div style="font-weight:bold;line-height: 40px;height: 40px;display: block;overflow: hidden;text-align:center">
766              <strong> 🇨🇦Free Shipping over 149$🇨🇦 Worldwide Shipping 🌍  <span class="desktop_only">  </span></strong>
767            </div></div>
768      </div>
769    </div>
770  </section>
771  <style>
772    .announcement-bars {
773      background: #060606;
774      color: #ffffff;
775    }
776  </style>
777
778  
778<script>document.documentElement.style.removeProperty('--announcement-bar-button-width');document.documentElement.style.setProperty('--announcement-bar-height', document.getElementById('shopify-section-sections--15159568564267__announcement-bar2').clientHeight + 'px');
779  </script>
779
780</div><div id="shopify-section-sections--15159568564267__header" class="shopify-section shopify-section-group-header-group shopify-section__header"><section data-section-id="sections--15159568564267__header" data-section-type="header" data-section-settings='{
781  "navigationLayout": "inline",
782  "desktopOpenTrigger": "hover",
783  "useStickyHeader": true
784}'>
785  <header class="header header--inline " role="banner">
786    <div class="container">
787      <div class="header__inner"><nav class="header__mobile-nav hidden-lap-and-up">
788            <button class="header__mobile-nav-toggle icon-state touch-area" data-action="toggle-menu" aria-expanded="false" aria-haspopup="true" aria-controls="mobile-menu" aria-label="Open menu">
789              <span class="icon-state__primary"><svg focusable="false" class="icon icon--hamburger-mobile " viewBox="0 0 20 16" role="presentation">
790      <path d="M0 14h20v2H0v-2zM0 0h20v2H0V0zm0 7h20v2H0V7z" fill="currentColor" fill-rule="evenodd"></path>
791    </svg></span>
792              <span class="icon-state__secondary"><svg focusable="false" class="icon icon--close " viewBox="0 0 19 19" role="presentation">
793      <path d="M9.1923882 8.39339828l7.7781745-7.7781746 1.4142136 1.41421357-7.7781746 7.77817459 7.7781746 7.77817456L16.9705627 19l-7.7781745-7.7781746L1.41421356 19 0 17.5857864l7.7781746-7.77817456L0 2.02943725 1.41421356.61522369 9.1923882 8.39339828z" fill="currentColor" fill-rule="evenodd"></path>
794    </svg></span>
795            </button><div id="mobile-menu" class="mobile-menu" aria-hidden="true"><svg focusable="false" class="icon icon--nav-triangle-borderless " viewBox="0 0 20 9" role="presentation">
796      <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
797    </svg><div class="mobile-menu__inner">
798    <div class="mobile-menu__panel">
799      <div class="mobile-menu__section">
800        <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item"><button class="mobile-menu__nav-link" data-type="menuitem" aria-haspopup="true" aria-expanded="false" aria-controls="mobile-panel-0" data-action="open-panel">Tents & Kits<svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
801      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
802    </svg></button></li><li class="mobile-menu__nav-item"><button class="mobile-menu__nav-link" data-type="menuitem" aria-haspopup="true" aria-expanded="false" aria-controls="mobile-panel-1" data-action="open-panel">Lights<svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
803      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
804    </svg></button></li><li class="mobile-menu__nav-item"><button class="mobile-menu__nav-link" data-type="menuitem" aria-haspopup="true" aria-expanded="false" aria-controls="mobile-panel-2" data-action="open-panel">Nutrients<svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
805      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
806    </svg></button></li><li class="mobile-menu__nav-item"><button class="mobile-menu__nav-link" data-type="menuitem" aria-haspopup="true" aria-expanded="false" aria-controls="mobile-panel-3" data-action="open-panel">Hydroponics<svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
807      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
808    </svg></button></li><li class="mobile-menu__nav-item"><button class="mobile-menu__nav-link" data-type="menuitem" aria-haspopup="true" aria-expanded="false" aria-controls="mobile-panel-4" data-action="open-panel">Climate Control <svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
809      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
810    </svg></button></li><li class="mobile-menu__nav-item"><button class="mobile-menu__nav-link" data-type="menuitem" aria-haspopup="true" aria-expanded="false" aria-controls="mobile-panel-5" data-action="open-panel">Propagation<svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
811      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
812    </svg></button></li><li class="mobile-menu__nav-item"><button class="mobile-menu__nav-link" data-type="menuitem" aria-haspopup="true" aria-expanded="false" aria-controls="mobile-panel-6" data-action="open-panel">Harvest & Accessories<svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
813      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
814    </svg></button></li><li class="mobile-menu__nav-item"><a href="/pages/brands" class="mobile-menu__nav-link" data-type="menuitem">Brands</a></li><li class="mobile-menu__nav-item"><a href="/collections/sale" class="mobile-menu__nav-link" data-type="menuitem">Sale</a></li></ul>
815      </div><div class="mobile-menu__section mobile-menu__section--loose">
816          <p class="mobile-menu__section-title heading h5">Need help?</p><div class="mobile-menu__help-wrapper"><svg focusable="false" class="icon icon--bi-phone " viewBox="0 0 24 24" role="presentation">
817      <g stroke-width="2" fill="none" fill-rule="evenodd" stroke-linecap="square">
818        <path d="M17 15l-3 3-8-8 3-3-5-5-3 3c0 9.941 8.059 18 18 18l3-3-5-5z" stroke="#000000"></path>
819        <path d="M14 1c4.971 0 9 4.029 9 9m-9-5c2.761 0 5 2.239 5 5" stroke="#08c873"></path>
820      </g>
821    </svg><span>Call us 888-349-0321</span>
822            </div></div><div class="mobile-menu__section mobile-menu__section--loose">
823          <p class="mobile-menu__section-title heading h5">Follow Us</p><ul class="social-media__item-list social-media__item-list--stack list--unstyled" role="list">
824    <li class="social-media__item social-media__item--facebook">
825      <a href="https://www.facebook.com/canadagrowsupplies" target="_blank" rel="noopener" aria-label="Follow us on Facebook"><svg focusable="false" class="icon icon--facebook " viewBox="0 0 30 30">
826      <path d="M15 30C6.71572875 30 0 23.2842712 0 15 0 6.71572875 6.71572875 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15zm3.2142857-17.1429611h-2.1428678v-2.1425646c0-.5852979.8203285-1.07160109 1.0714928-1.07160109h1.071375v-2.1428925h-2.1428678c-2.3564786 0-3.2142536 1.98610393-3.2142536 3.21449359v2.1425646h-1.0714822l.0032143 2.1528011 1.0682679-.0099086v7.499969h3.2142536v-7.499969h2.1428678v-2.1428925z" fill="currentColor" fill-rule="evenodd"></path>
827    </svg>Facebook</a>
828    </li>
829
830    
831<li class="social-media__item social-media__item--instagram">
832      <a href="https://www.instagram.com/canadagrowsuppliescom/" target="_blank" rel="noopener" aria-label="Follow us on Instagram"><svg focusable="false" class="icon icon--instagram " role="presentation" viewB
832ox="0 0 30 30">
833      <path d="M15 30C6.71572875 30 0 23.2842712 0 15 0 6.71572875 6.71572875 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15zm.0000159-23.03571429c-2.1823849 0-2.4560363.00925037-3.3131306.0483571-.8553081.03901103-1.4394529.17486384-1.9505835.37352345-.52841925.20532625-.9765517.48009406-1.42331254.926823-.44672894.44676084-.72149675.89489329-.926823 1.42331254-.19865961.5111306-.33451242 1.0952754-.37352345 1.9505835-.03910673.8570943-.0483571 1.1307457-.0483571 3.3131306 0 2.1823531.00925037 2.4560045.0483571 3.3130988.03901103.8553081.17486384 1.4394529.37352345 1.9505835.20532625.5284193.48009406.9765517.926823 1.4233125.44676084.446729.89489329.7214968 1.42331254.9268549.5111306.1986278 1.0952754.3344806 1.9505835.3734916.8570943.0391067 1.1307457.0483571 3.3131306.0483571 2.1823531 0 2.4560045-.0092504 3.3130988-.0483571.8553081-.039011 1.4394529-.1748638 1.9505835-.3734916.5284193-.2053581.9765517-.4801259 1.4233125-.9268549.446729-.4467608.7214968-.8948932.9268549-1.4233125.1986278-.5111306.3344806-1.0952754.3734916-1.9505835.0391067-.8570943.0483571-1.1307457.0483571-3.3130988 0-2.1823849-.0092504-2.4560363-.0483571-3.3131306-.039011-.8553081-.1748638-1.4394529-.3734916-1.9505835-.2053581-.52841925-.4801259-.9765517-.9268549-1.42331254-.4467608-.44672894-.8948932-.72149675-1.4233125-.926823-.5111306-.19865961-1.0952754-.33451242-1.9505835-.37352345-.8570943-.03910673-1.1307457-.0483571-3.3130988-.0483571zm0 1.44787387c2.1456068 0 2.3997686.00819774 3.2471022.04685789.7834742.03572556 1.2089592.1666342 1.4921162.27668167.3750864.14577303.6427729.31990322.9239522.60111439.2812111.28117926.4553413.54886575.6011144.92395217.1100474.283157.2409561.708642.2766816 1.4921162.0386602.8473336.0468579 1.1014954.0468579 3.247134 0 2.1456068-.0081977 2.3997686-.0468579 3.2471022-.0357255.7834742-.1666342 1.2089592-.2766816 1.4921162-.1457731.3750864-.3199033.6427729-.6011144.9239522-.2811793.2812111-.5488658.4553413-.9239522.6011144-.283157.1100474-.708642.2409561-1.4921162.2766816-.847206.0386602-1.1013359.0468579-3.2471022.0468579-2.1457981 0-2.3998961-.0081977-3.247134-.0468579-.7834742-.0357255-1.2089592-.1666342-1.4921162-.2766816-.37508642-.1457731-.64277291-.3199033-.92395217-.6011144-.28117927-.2811793-.45534136-.5488658-.60111439-.9239522-.11004747-.283157-.24095611-.708642-.27668167-1.4921162-.03866015-.8473336-.04685789-1.1014954-.04685789-3.2471022 0-2.1456386.00819774-2.3998004.04685789-3.247134.03572556-.7834742.1666342-1.2089592.27668167-1.4921162.14577303-.37508642.31990322-.64277291.60111439-.92395217.28117926-.28121117.54886575-.45534136.92395217-.60111439.283157-.11004747.708642-.24095611 1.4921162-.27668167.8473336-.03866015 1.1014954-.04685789 3.247134-.04685789zm0 9.26641182c-1.479357 0-2.6785873-1.1992303-2.6785873-2.6785555 0-1.479357 1.1992303-2.6785873 2.6785873-2.6785873 1.4793252 0 2.6785555 1.1992303 2.6785555 2.6785873 0 1.4793252-1.1992303 2.6785555-2.6785555 2.6785555zm0-6.8050167c-2.2790034 0-4.1264612 1.8474578-4.1264612 4.1264612 0 2.2789716 1.8474578 4.1264294 4.1264612 4.1264294 2.2789716 0 4.1264294-1.8474578 4.1264294-4.1264294 0-2.2790034-1.8474578-4.1264612-4.1264294-4.1264612zm5.2537621-.1630297c0-.532566-.431737-.96430298-.964303-.96430298-.532534 0-.964271.43173698-.964271.96430298 0 .5325659.431737.964271.964271.964271.532566 0 .964303-.4317051.964303-.964271z" fill="currentColor" fill-rule="evenodd"></path>
834    </svg>Instagram</a>
835    </li>
836
837    
838
839  </ul></div></div><div id="mobile-panel-0" class="mobile-menu__panel is-nested">
840          <div class="mobile-menu__section is-sticky">
841            <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
842      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
843    </svg> Back</button>
844          </div>
845
846          <div class="mobile-menu__section"><div class="mobile-menu__nav-list"><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-0" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Grow Tents<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
847      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
848    </svg>
849                      </button>
850
851                      <div id="mobile-list-0" class="mobile-menu__nav-collapsible">
852                        <div class="mobile-menu__nav-collapsible-content">
853                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
854                                <a href="/collections/2x2" class="mobile-menu__nav-link" data-type="menuitem">2x2</a>
855                              </li><li class="mobile-menu__nav-item">
856                                <a href="/collections/2x4" class="mobile-menu__nav-link" data-type="menuitem">2x4</a>
857                              </li><li class="mobile-menu__nav-item">
858                                <a href="/collections/3x3" class="mobile-menu__nav-link" data-type="menuitem">3x3</a>
859                              </li><li class="mobile-menu__nav-item">
860                                <a href="/collections/4x4" class="mobile-menu__nav-link" data-type="menuitem">4x4</a>
861                              </li><li class="mobile-menu__nav-item">
862                                <a href="/collections/5x5" class="mobile-menu__nav-link" data-type="menuitem">5x5</a>
863                              </li><li class="mobile-menu__nav-item">
864                                <a href="/collections/8x4" class="mobile-menu__nav-link" data-type="menuitem">8x4</a>
865                              </li><li class="mobile-menu__nav-item">
866                                <a href="/collections/8x8" class="mobile-menu__nav-link" data-type="menuitem">8x8</a>
867                              </li><li class="mobile-menu__nav-item">
868                                <a href="/collections/10x5" class="mobile-menu__nav-link" data-type="menuitem">10x5</a>
869                              </li></ul>
870                        </div>
871                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-1" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Grow Kits<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
872      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
873    </svg>
874                      </button>
875
876                      <div id="mobile-list-1" class="mobile-menu__nav-collapsible">
877                        <div class="mobile-menu__nav-collapsible-content">
878                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
879                                <a href="/collections/5-plants" class="mobile-menu__nav-link" data-type="menuitem">5 Plants</a>
880                              </li><li class="mobile-menu__nav-item">
881                                <a href="/collections/6-plants" class="mobile-menu__nav-link" data-type="menuitem">6 Plants</a>
882                              </li><li class="mobile-menu__nav-item">
883                                <a href="/collections/8-plants" class="mobile-menu__nav-link" data-type="menuitem">8 Plants</a>
884                              </li><li class="mobile-menu__nav-item">
885                                <a href="/collections/10-plants" class="mobile-menu__nav-link" data-type="menuitem">10 Plants</a>
886                              </li></ul>
887                        </div>
888                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-2" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Accessories<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
889      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
890    </svg>
891                      </button>
892
893                      <div id="mobile-list-2" class="mobile-menu__nav-collapsible">
894                        <div class="mobile-menu__nav-collapsible-content">
895                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
896                                <a href="/collections/grow-tent-extensions" class="mobile-menu__nav-link" data-type="menuitem">Grow tent Extensions</a>
897                              </li><li class="mobile-menu__nav-item">
898                                <a href="/collections/grow-tent-parts" class="mobile-menu__nav-link" data-type="menuitem">Grow Tent Parts </a>
899                              </li><li class="mobile-menu__nav-item">
900                                <a href="/collections/reflective-materials-supplies" class="mobile-menu__nav-link" data-type="menuitem">Reflective Materials & Supplies</a>
901                              </li><li class="mobile-menu__nav-item">
902                                <a href="/collections/net-plant-supports" class="mobile-menu__nav-link" data-type="menuitem">Net & Plant Supports</a>
903                              </li><li class="mobile-menu__nav-item">
904                                <a href="/collections/grow-tent-others" class="mobile-menu__nav-link" data-type="menuitem">Others</a>
905                              </li></ul>
906                        </div>
907                      </div></div></div></div>
908        </div><div id="mobile-panel-1" class="mobile-menu__panel is-nested">
909          <div class="mobile-menu__section is-sticky">
910            <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
911      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
912    </svg> Back</button>
913          </div>
914
915          <div class="mobile-menu__section"><div class="mobile-menu__nav-list"><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-3" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Grow Lights<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
916      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
917    </svg>
918                      </button>
919
920                      <div id="mobile-list-3" class="mobile-menu__nav-collapsible">
921                        <div class="mobile-menu__nav-collapsible-content">
922                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
923                                <a href="/collections/led-grow-lights" class="mobile-menu__nav-link" data-type="menuitem">LED Grow Lights</a>
924                              </li><li class="mobile-menu__nav-item">
925                                <a href="/collections/hid-grow-lights" class="mobile-menu__nav-link" data-type="menuitem">HID Grow Lights</a>
926                              </li><li class="mobile-menu__nav-item">
927                                <a href="/collections/fluorescent-t5" class="mobile-menu__nav-link" data-type="menuitem">Fluorescent/T5</a>
928                              </li></ul>
929                        </div>
930                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-4" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">MH, HPS, CMH<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
931      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
932    </svg>
933                      </button>
934
935                      <div id="mobile-list-4" class="mobile-menu__nav-collapsible">
936                        <div class="mobile-menu__nav-collapsible-content">
937                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
938                                <a href="/collections/cmh-bulbs" class="mobile-menu__nav-link" data-type="menuitem">CMH Bulbs</a>
939                              </li><li class="mobile-menu__nav-item">
940                                <a href="/collections/double-ended-bulbs" class="mobile-menu__nav-link" data-type="menuitem">Double Ended Bulbs</a>
941                              </li><li class="mobile-menu__nav-item">
942                                <a href="/collections/hps-bulbs" class="mobile-menu__nav-link" data-type="menuitem">HPS Bulbs</a>
943                              </li><li class="mobile-menu__nav-item">
944                                <a href="/collections/mh-bulbs" class="mobile-menu__nav-link" data-type="menuitem">MH Bulbs</a>
945                              </li></ul>
946                        </div>
947                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-5" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Light Parts & Accessories<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
948      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
949    </svg>
950                      </button>
951
952                      <div id="mobile-list-5" class="mobile-menu__nav-collapsible">
953                        <div class="mobile-menu__nav-collapsible-content">
954                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
955                                <a href="/collections/ballasts" class="mobile-menu__nav-link" data-type="menuitem">Ballasts</a>
956                              </li><li class="mobile-menu__nav-item">
957                                <a href="/collections/controllers" class="mobile-menu__nav-link" data-type="menuitem">Controllers</a>
958                              </li><li class="mobile-menu__nav-item">
959                                <a href="/collections/replacement-parts-1" class="mobile-menu__nav-link" data-type="menuitem">Replacement & Parts</a>
960                              </li><li class="mobile-menu__nav-item">
961                                <a href="/collections/glasses" class="mobile-menu__nav-link" data-type="menuitem">Glasses</a>
962                              </li></ul>
963                        </div>
964                      </div></div></div></div>
965        </div><div id="mobile-panel-2" class="mobile-menu__panel is-nested">
966          <div class="mobile-menu__section is-sticky">
967            <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
968      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
969    </svg> Back</button>
970          </div>
971
972          <div class="mobile-menu__section"><div class="mobile-menu__nav-list"><div class="mobile-menu__nav-list-item"><a href="/collections/base-nutrients" class="mobile-menu__nav-list-toggle text--strong">Base Nutrients</a></div><div class="mobile-menu__nav-list-item"><a href="/collections/organic-nutrients" class="mobile-menu__nav-list-toggle text--strong">Organic</a></div><div class="mobile-menu__nav-list-item"><a href="/collections/nutrient-kits" class="mobile-menu__nav-list-toggle text--strong">Nutrient Kits</a></div><div class="mobile-menu__nav-list-item"><a href="/collections/plant-supplements" class="mobile-menu__nav-list-toggle text--strong">Plant Supplements</a></div><div class="mobile-menu__nav-list-item"><a href="/collections/mycorrhizae-microbe" class="mobile-menu__nav-list-toggle text--strong">Mycorrhizae / Microbe</a></div><div class="mobile-menu__nav-list-item"><a href="/collections/foliar" class="mobile-menu__nav-list-toggle text--strong">Foliar</a></div><div class="mobile-menu__nav-list-item"><a href="/collections/flushing-solutions" class="mobile-menu__nav-list-toggle text--strong">Flushing Solutions</a></div><div class="mobile-menu__nav-list-item"><a href="/collections/rooting-hormones" class="mobile-menu__nav-list-toggle text--strong">Rooting Hormones</a></div><div class="mobile-menu__nav-list-item"><a href="/collections/ph-ph" class="mobile-menu__nav-list-toggle text--strong">Ph+ / Ph-</a></div></div></div>
973        </div><div id="mobile-panel-3" class="mobile-menu__panel is-nested">
974          <div class="mobile-menu__section is-sticky">
975            <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
976      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
977    </svg> Back</button>
978          </div>
979
980          <div class="mobile-menu__section"><div class="mobile-menu__nav-list"><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-15" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Watering Systems<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
981      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
982    </svg>
983                      </button>
984
985                      <div id="mobile-list-15" class="mobile-menu__nav-collapsible">
986                        <div class="mobile-menu__nav-collapsible-content">
987                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
988                                <a href="/collections/dwc" class="mobile-menu__nav-link" data-type="menuitem">DWC</a>
989                              </li><li class="mobile-menu__nav-item">
990                                <a href="/collections/rdwc" class="mobile-menu__nav-link" data-type="menuitem">RDWC</a>
991                              </li><li class="mobile-menu__nav-item">
992                                <a href="/collections/other-systems-hydro" class="mobile-menu__nav-link" data-type="menuitem">Other Systems</a>
993                              </li></ul>
994                        </div>
995                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-16" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Pots and Parts<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
996      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
997    </svg>
998                      </button>
999
1000                      <div id="mobile-list-16" class="mobile-menu__nav-collapsible">
1001                        <div class="mobile-menu__nav-collapsible-content">
1002                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1003                                <a href="/collections/pots-net-pots" class="mobile-menu__nav-link" data-type="menuitem">Pots & Net Pots</a>
1004                              </li><li class="mobile-menu__nav-item">
1005                                <a href="/collections/flood-tables" class="mobile-menu__nav-link" data-type="menuitem">Flood Tables</a>
1006                              </li><li class="mobile-menu__nav-item">
1007                                <a href="/collections/pump-replacement-parts" class="mobile-menu__nav-link" data-type="menuitem">Pump Replacement Parts</a>
1008                              </li><li class="mobile-menu__nav-item">
1009                                <a href="/collections/water-filter-parts" class="mobile-menu__nav-link" data-type="menuitem">Water Filter Parts</a>
1010                              </li><li class="mobile-menu__nav-item">
1011                                <a href="/collections/pots-and-parts-accessories" class="mobile-menu__nav-link" data-type="menuitem">Accessories</a>
1012                              </li><li class="mobile-menu__nav-item">
1013                                <a href="/collections/fabric-pots" class="mobile-menu__nav-link" data-type="menuitem">Fabric Pots</a>
1014                              </li></ul>
1015                        </div>
1016                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-17" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Water Control<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1017      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="squar
1017e"></path>
1018    </svg>
1019                      </button>
1020
1021                      <div id="mobile-list-17" class="mobile-menu__nav-collapsible">
1022                        <div class="mobile-menu__nav-collapsible-content">
1023                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1024                                <a href="/collections/water-pumps-air-stones" class="mobile-menu__nav-link" data-type="menuitem">Pumps & Air Stones</a>
1025                              </li><li class="mobile-menu__nav-item">
1026                                <a href="/collections/reservoirs-water-temp" class="mobile-menu__nav-link" data-type="menuitem">Reservoirs & Water Temp.</a>
1027                              </li><li class="mobile-menu__nav-item">
1028                                <a href="/collections/tubing-fittings" class="mobile-menu__nav-link" data-type="menuitem">Tubing & Fittings</a>
1029                              </li><li class="mobile-menu__nav-item">
1030                                <a href="/collections/ph-up-down" class="mobile-menu__nav-link" data-type="menuitem">PH Up & Down</a>
1031                              </li><li class="mobile-menu__nav-item">
1032                                <a href="/collections/water-filters" class="mobile-menu__nav-link" data-type="menuitem">Water Filters</a>
1033                              </li></ul>
1034                        </div>
1035                      </div></div></div></div>
1036        </div><div id="mobile-panel-4" class="mobile-menu__panel is-nested">
1037          <div class="mobile-menu__section is-sticky">
1038            <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1039      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1040    </svg> Back</button>
1041          </div>
1042
1043          <div class="mobile-menu__section"><div class="mobile-menu__nav-list"><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-18" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Ventilation<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1044      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1045    </svg>
1046                      </button>
1047
1048                      <div id="mobile-list-18" class="mobile-menu__nav-collapsible">
1049                        <div class="mobile-menu__nav-collapsible-content">
1050                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1051                                <a href="/collections/fans-filter-kits" class="mobile-menu__nav-link" data-type="menuitem">Fan & Filter Kits</a>
1052                              </li><li class="mobile-menu__nav-item">
1053                                <a href="/collections/inline-fans" class="mobile-menu__nav-link" data-type="menuitem">Inline Fans</a>
1054                              </li><li class="mobile-menu__nav-item">
1055                                <a href="/collections/carbon-filters" class="mobile-menu__nav-link" data-type="menuitem">Filters</a>
1056                              </li><li class="mobile-menu__nav-item">
1057                                <a href="/collections/wall-fans-others" class="mobile-menu__nav-link" data-type="menuitem">Wall Fans & Others</a>
1058                              </li><li class="mobile-menu__nav-item">
1059                                <a href="/collections/ducts-reducers-flanges-climate-control" class="mobile-menu__nav-link" data-type="menuitem">Ducts, Reducers, Flanges </a>
1060                              </li></ul>
1061                        </div>
1062                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-19" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Controllers, Timers & Meters<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1063      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1064    </svg>
1065                      </button>
1066
1067                      <div id="mobile-list-19" class="mobile-menu__nav-collapsible">
1068                        <div class="mobile-menu__nav-collapsible-content">
1069                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1070                                <a href="/collections/fan-speed-controllers" class="mobile-menu__nav-link" data-type="menuitem">Fan Speed Controllers</a>
1071                              </li><li class="mobile-menu__nav-item">
1072                                <a href="/collections/temperature-controllers" class="mobile-menu__nav-link" data-type="menuitem">Temperature Controllers</a>
1073                              </li><li class="mobile-menu__nav-item">
1074                                <a href="/collections/humidity-controllers" class="mobile-menu__nav-link" data-type="menuitem">Humidity Controllers</a>
1075                              </li><li class="mobile-menu__nav-item">
1076                                <a href="/collections/co2-controllers" class="mobile-menu__nav-link" data-type="menuitem">CO2 Controllers</a>
1077                              </li></ul>
1078                        </div>
1079                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-20" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">CO2<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1080      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1081    </svg>
1082                      </button>
1083
1084                      <div id="mobile-list-20" class="mobile-menu__nav-collapsible">
1085                        <div class="mobile-menu__nav-collapsible-content">
1086                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1087                                <a href="/collections/bags-bottles" class="mobile-menu__nav-link" data-type="menuitem">Bags & Bottles</a>
1088                              </li><li class="mobile-menu__nav-item">
1089                                <a href="/collections/burners" class="mobile-menu__nav-link" data-type="menuitem">Burners</a>
1090                              </li><li class="mobile-menu__nav-item">
1091                                <a href="/collections/co2-parts" class="mobile-menu__nav-link" data-type="menuitem">Parts</a>
1092                              </li></ul>
1093                        </div>
1094                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-21" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Humidity Control<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1095      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1096    </svg>
1097                      </button>
1098
1099                      <div id="mobile-list-21" class="mobile-menu__nav-collapsible">
1100                        <div class="mobile-menu__nav-collapsible-content">
1101                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1102                                <a href="/collections/humidifiers" class="mobile-menu__nav-link" data-type="menuitem">Humidifiers</a>
1103                              </li><li class="mobile-menu__nav-item">
1104                                <a href="/collections/dehumidifiers" class="mobile-menu__nav-link" data-type="menuitem">Dehumidifiers</a>
1105                              </li><li class="mobile-menu__nav-item">
1106                                <a href="/collections/humidity-packs" class="mobile-menu__nav-link" data-type="menuitem">Humidity Packs</a>
1107                              </li><li class="mobile-menu__nav-item">
1108                                <a href="/collections/atomizers" class="mobile-menu__nav-link" data-type="menuitem">Atomizers</a>
1109                              </li></ul>
1110                        </div>
1111                      </div></div><div class="mobile-menu__nav-list-item"><a href="/collections/air-conditioner" class="mobile-menu__nav-list-toggle text--strong">Air Conditioner</a></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-23" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Odor Neutralizer<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1112      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1113    </svg>
1114                      </button>
1115
1116                      <div id="mobile-list-23" class="mobile-menu__nav-collapsible">
1117                        <div class="mobile-menu__nav-collapsible-content">
1118                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1119                                <a href="/collections/gels-sprays" class="mobile-menu__nav-link" data-type="menuitem">Gels & Sprays</a>
1120                              </li><li class="mobile-menu__nav-item">
1121                                <a href="/collections/ozone-generator" class="mobile-menu__nav-link" data-type="menuitem">Ozone</a>
1122                              </li></ul>
1123                        </div>
1124                      </div></div><div class="mobile-menu__nav-list-item"><a href="/collections/air-sanitization" class="mobile-menu__nav-list-toggle text--strong">Air Sanitization</a></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-25" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Replacements & Parts<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1125      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1126    </svg>
1127                      </button>
1128
1129                      <div id="mobile-list-25" class="mobile-menu__nav-collapsible">
1130                        <div class="mobile-menu__nav-collapsible-content">
1131                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1132                                <a href="/collections/filters-1" class="mobile-menu__nav-link" data-type="menuitem">Filters</a>
1133                              </li><li class="mobile-menu__nav-item">
1134                                <a href="/collections/co2-parts" class="mobile-menu__nav-link" data-type="menuitem">CO2 Parts</a>
1135                              </li><li class="mobile-menu__nav-item">
1136                                <a href="/collections/hangers" class="mobile-menu__nav-link" data-type="menuitem">Hangers</a>
1137                              </li><li class="mobile-menu__nav-item">
1138                                <a href="/collections/controllers-climate" class="mobile-menu__nav-link" data-type="menuitem">Controllers</a>
1139                              </li></ul>
1140                        </div>
1141                      </div></div></div></div>
1142        </div><div id="mobile-panel-5" class="mobile-menu__panel is-nested">
1143          <div class="mobile-menu__section is-sticky">
1144            <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1145      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1146    </svg> Back</button>
1147          </div>
1148
1149          <div class="mobile-menu__section"><div class="mobile-menu__nav-list"><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-26" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Grow Media<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1150      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1151    </svg>
1152                      </button>
1153
1154                      <div id="mobile-list-26" class="mobile-menu__nav-collapsible">
1155                        <div class="mobile-menu__nav-collapsible-content">
1156                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1157                                <a href="/collections/coco" class="mobile-menu__nav-link" data-type="menuitem">Coco</a>
1158                              </li><li class="mobile-menu__nav-item">
1159                                <a href="/collections/soil-mixes" class="mobile-menu__nav-link" data-type="menuitem">Soil Mixes</a>
1160                              </li><li class="mobile-menu__nav-item">
1161                                <a href="/collections/rockwool" class="mobile-menu__nav-link" data-type="menuitem">Rockwool</a>
1162                              </li><li class="mobile-menu__nav-item">
1163                                <a href="/collections/clay-pellets" class="mobile-menu__nav-link" data-type="menuitem">Clay Pellets</a>
1164                              </li><li class="mobile-menu__nav-item">
1165                                <a href="/collections/others-propagation" class="mobile-menu__nav-link" data-type="menuitem">Others</a>
1166                              </li></ul>
1167                        </div>
1168                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-27" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Germination & Cloning<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1169      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1170    </svg>
1171                      </button>
1172
1173                      <div id="mobile-list-27" class="mobile-menu__nav-collapsible">
1174                        <div class="mobile-menu__nav-collapsible-content">
1175                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1176                                <a href="/collections/propagation-lights" class="mobile-menu__nav-link" data-type="menuitem">Propagation Lights</a>
1177                              </li><li class="mobile-menu__nav-item">
1178                                <a href="/collections/trays-domes" class="mobile-menu__nav-link" data-type="menuitem">Trays & Domes</a>
1179                              </li><li class="mobile-menu__nav-item">
1180                                <a href="/collections/mycorrhizae-microbe-germination" class="mobile-menu__nav-link" data-type="menuitem">Mycorrhizae / Microbes</a>
1181                              </li><li class="mobile-menu__nav-item">
1182                                <a href="/collections/cloners" class="mobile-menu__nav-link" data-type="menuitem">Cloners</a>
1183                              </li><li class="mobile-menu__nav-item">
1184                                <a href="/collections/starter-pellets" class="mobile-menu__nav-link" data-type="menuitem">Starter Pellets</a>
1185                              </li><li class="mobile-menu__nav-item">
1186                                <a href="/collections/heat-beds" class="mobile-menu__nav-link" data-type="menuitem">Heatbeds</a>
1187                              </li><li class="mobile-menu__nav-item">
1188                                <a href="/collections/micro-gardens" class="mobile-menu__nav-link" data-type="menuitem">Micro Gardens</a>
1189                              </li></ul>
1190                        </div>
1191                      </div></div></div></div>
1192        </div><div id="mobile-panel-6" class="mobile-menu__panel
1192 is-nested">
1193          <div class="mobile-menu__section is-sticky">
1194            <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1195      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1196    </svg> Back</button>
1197          </div>
1198
1199          <div class="mobile-menu__section"><div class="mobile-menu__nav-list"><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-28" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Trimming<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1200      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1201    </svg>
1202                      </button>
1203
1204                      <div id="mobile-list-28" class="mobile-menu__nav-collapsible">
1205                        <div class="mobile-menu__nav-collapsible-content">
1206                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1207                                <a href="/collections/pruners" class="mobile-menu__nav-link" data-type="menuitem">Pruners</a>
1208                              </li><li class="mobile-menu__nav-item">
1209                                <a href="/collections/trimmers" class="mobile-menu__nav-link" data-type="menuitem">Trimmers</a>
1210                              </li><li class="mobile-menu__nav-item">
1211                                <a href="/collections/trimmer-parts" class="mobile-menu__nav-link" data-type="menuitem">Trimmer Parts</a>
1212                              </li><li class="mobile-menu__nav-item">
1213                                <a href="/collections/buckers" class="mobile-menu__nav-link" data-type="menuitem">Buckers</a>
1214                              </li></ul>
1215                        </div>
1216                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-29" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Extractions<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1217      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1218    </svg>
1219                      </button>
1220
1221                      <div id="mobile-list-29" class="mobile-menu__nav-collapsible">
1222                        <div class="mobile-menu__nav-collapsible-content">
1223                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1224                                <a href="/collections/presses" class="mobile-menu__nav-link" data-type="menuitem">Presses</a>
1225                              </li><li class="mobile-menu__nav-item">
1226                                <a href="/collections/extraction-bags" class="mobile-menu__nav-link" data-type="menuitem">Extraction bags</a>
1227                              </li><li class="mobile-menu__nav-item">
1228                                <a href="/collections/cooking-edibles" class="mobile-menu__nav-link" data-type="menuitem">Cooking & Edibles</a>
1229                              </li><li class="mobile-menu__nav-item">
1230                                <a href="/collections/others-extractions" class="mobile-menu__nav-link" data-type="menuitem">Others</a>
1231                              </li></ul>
1232                        </div>
1233                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-30" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Sprayers & Parts<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1234      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1235    </svg>
1236                      </button>
1237
1238                      <div id="mobile-list-30" class="mobile-menu__nav-collapsible">
1239                        <div class="mobile-menu__nav-collapsible-content">
1240                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1241                                <a href="/collections/sprayers" class="mobile-menu__nav-link" data-type="menuitem">Sprayers </a>
1242                              </li><li class="mobile-menu__nav-item">
1243                                <a href="/collections/parts-nozzles" class="mobile-menu__nav-link" data-type="menuitem">Parts & Nozzles</a>
1244                              </li></ul>
1245                        </div>
1246                      </div></div><div class="mobile-menu__nav-list-item"><button class="mobile-menu__nav-list-toggle text--strong" aria-controls="mobile-list-31" aria-expanded="false" data-action="toggle-collapsible" data-close-siblings="false">Drying & Accessories<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1247      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1248    </svg>
1249                      </button>
1250
1251                      <div id="mobile-list-31" class="mobile-menu__nav-collapsible">
1252                        <div class="mobile-menu__nav-collapsible-content">
1253                          <ul class="mobile-menu__nav" data-type="menu" role="list"><li class="mobile-menu__nav-item">
1254                                <a href="/collections/drying-racks" class="mobile-menu__nav-link" data-type="menuitem">Drying & Racks</a>
1255                              </li><li class="mobile-menu__nav-item">
1256                                <a href="/collections/scales" class="mobile-menu__nav-link" data-type="menuitem">Scales</a>
1257                              </li><li class="mobile-menu__nav-item">
1258                                <a href="/collections/packaging" class="mobile-menu__nav-link" data-type="menuitem">Packaging</a>
1259                              </li><li class="mobile-menu__nav-item">
1260                                <a href="/collections/gloves" class="mobile-menu__nav-link" data-type="menuitem">Gloves</a>
1261                              </li><li class="mobile-menu__nav-item">
1262                                <a href="/collections/freeze-dryers" class="mobile-menu__nav-link" data-type="menuitem">Freeze Dryers</a>
1263                              </li><li class="mobile-menu__nav-item">
1264                                <a href="/collections/garden-tools" class="mobile-menu__nav-link" data-type="menuitem">Garden Tools</a>
1265                              </li><li class="mobile-menu__nav-item">
1266                                <a href="/collections/humidity-packs" class="mobile-menu__nav-link" data-type="menuitem">Humidity Packs</a>
1267                              </li><li class="mobile-menu__nav-item">
1268                                <a href="/collections/other-accessories-drying" class="mobile-menu__nav-link" data-type="menuitem">
1268Other Accessories (drying)</a>
1269                              </li></ul>
1270                        </div>
1271                      </div></div></div></div>
1272        </div><div id="mobile-panel-0-0" class="mobile-menu__panel is-nested">
1273                <div class="mobile-menu__section is-sticky">
1274                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1275      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1276    </svg> Back</button>
1277                </div>
1278
1279                <div class="mobile-menu__section">
1280                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1281                    <li class="mobile-menu__nav-item">
1282                      <a href="/collections/grow-tents" class="mobile-menu__nav-link text--strong">Grow Tents</a>
1283                    </li><li class="mobile-menu__nav-item">
1284                        <a href="/collections/2x2" class="mobile-menu__nav-link" data-type="menuitem">2x2</a>
1285                      </li><li class="mobile-menu__nav-item">
1286                        <a href="/collections/2x4" class="mobile-menu__nav-link" data-type="menuitem">2x4</a>
1287                      </li><li class="mobile-menu__nav-item">
1288                        <a href="/collections/3x3" class="mobile-menu__nav-link" data-type="menuitem">3x3</a>
1289                      </li><li class="mobile-menu__nav-item">
1290                        <a href="/collections/4x4" class="mobile-menu__nav-link" data-type="menuitem">4x4</a>
1291                      </li><li class="mobile-menu__nav-item">
1292                        <a href="/collections/5x5" class="mobile-menu__nav-link" data-type="menuitem">5x5</a>
1293                      </li><li class="mobile-menu__nav-item">
1294                        <a href="/collections/8x4" class="mobile-menu__nav-link" data-type="menuitem">8x4</a>
1295                      </li><li class="mobile-menu__nav-item">
1296                        <a href="/collections/8x8" class="mobile-menu__nav-link" data-type="menuitem">8x8</a>
1297                      </li><li class="mobile-menu__nav-item">
1298                        <a href="/collections/10x5" class="mobile-menu__nav-link" data-type="menuitem">10x5</a>
1299                      </li></ul>
1300                </div>
1301              </div><div id="mobile-panel-0-1" class="mobile-menu__panel is-nested">
1302                <div class="mobile-menu__section is-sticky">
1303                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1304      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1305    </svg> Back</button>
1306                </div>
1307
1308                <div class="mobile-menu__section">
1309                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1310                    <li class="mobile-menu__nav-item">
1311                      <a href="/collections/accessories" class="mobile-menu__nav-link text--strong">Grow Kits</a>
1312                    </li><li class="mobile-menu__nav-item">
1313                        <a href="/collections/5-plants" class="mobile-menu__nav-link" data-type="menuitem">5 Plants</a>
1314                      </li><li class="mobile-menu__nav-item">
1315                        <a href="/collections/6-plants" class="mobile-menu__nav-link" data-type="menuitem">6 Plants</a>
1316                      </li><li class="mobile-menu__nav-item">
1317                        <a href="/collections/8-plants" class="mobile-menu__nav-link" data-type="menuitem">8 Plants</a>
1318                      </li><li class="mobile-menu__nav-item">
1319                        <a href="/collections/10-plants" class="mobile-menu__nav-link" data-type="menuitem">10 Plants</a>
1320                      </li></ul>
1321                </div>
1322              </div><div id="mobile-panel-0-2" class="mobile-menu__panel is-nested">
1323                <div class="mobile-menu__section is-sticky">
1324                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1325      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1326    </svg> Back</button>
1327                </div>
1328
1329                <div class="mobile-menu__section">
1330                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1331                    <li class="mobile-menu__nav-item">
1332                      <a href="/collections/grow-accessories" class="mobile-menu__nav-link text--strong">Accessories</a>
1333                    </li><li class="mobile-menu__nav-item">
1334                        <a href="/collections/grow-tent-extensions" class="mobile-menu__nav-link" data-type="menuitem">
1334Grow tent Extensions</a>
1335                      </li><li class="mobile-menu__nav-item">
1336                        <a href="/collections/grow-tent-parts" class="mobile-menu__nav-link" data-type="menuitem">Grow Tent Parts </a>
1337                      </li><li class="mobile-menu__nav-item">
1338                        <a href="/collections/reflective-materials-supplies" class="mobile-menu__nav-link" data-type="menuitem">Reflective Materials & Supplies</a>
1339                      </li><li class="mobile-menu__nav-item">
1340                        <a href="/collections/net-plant-supports" class="mobile-menu__nav-link" data-type="menuitem">Net & Plant Supports</a>
1341                      </li><li class="mobile-menu__nav-item">
1342                        <a href="/collections/grow-tent-others" class="mobile-menu__nav-link" data-type="menuitem">Others</a>
1343                      </li></ul>
1344                </div>
1345              </div><div id="mobile-panel-1-0" class="mobile-menu__panel is-nested">
1346                <div class="mobile-menu__section is-sticky">
1347                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1348      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1349    </svg> Back</button>
1350                </div>
1351
1352                <div class="mobile-menu__section">
1353                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1354                    <li class="mobile-menu__nav-item">
1355                      <a href="/collections/grow-lights" class="mobile-menu__nav-link text--strong">Grow Lights</a>
1356                    </li><li class="mobile-menu__nav-item">
1357                        <a href="/collections/led-grow-lights" class="mobile-menu__nav-link" data-type="menuitem">LED Grow Lights</a>
1358                      </li><li class="mobile-menu__nav-item">
1359                        <a href="/collections/hid-grow-lights" class="mobile-menu__nav-link" data-type="menuitem">HID Grow Lights</a>
1360                      </li><li class="mobile-menu__nav-item">
1361                        <a href="/collections/fluorescent-t5" class="mobile-menu__nav-link" data-type="menuitem">Fluorescent/T5</a>
1362                      </li></ul>
1363                </div>
1364              </div><div id="mobile-panel-1-1" class="mobile-menu__panel is-nested">
1365                <div class="mobile-menu__section is-sticky">
1366                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1367      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1368    </svg> Back</button>
1369                </div>
1370
1371                <div class="mobile-menu__section">
1372                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1373                    <li class="mobile-menu__nav-item">
1374                      <a href="/collections/mh-hps-cmh" class="mobile-menu__nav-link text--strong">MH, HPS, CMH</a>
1375                    </li><li class="mobile-menu__nav-item">
1376                        <a href="/collections/cmh-bulbs" class="mobile-menu__nav-link" data-type="menuitem">CMH Bulbs</a>
1377                      </li><li class="mobile-menu__nav-item">
1378                        <a href="/collections/double-ended-bulbs" class="mobile-menu__nav-link" data-type="menuitem">Double Ended Bulbs</a>
1379                      </li><li class="mobile-menu__nav-item">
1380                        <a href="/collections/hps-bulbs" class="mobile-menu__nav-link" data-type="menuitem">HPS Bulbs</a>
1381                      </li><li class="mobile-menu__nav-item">
1382                        <a href="/collections/mh-bulbs" class="mobile-menu__nav-link" data-type="menuitem">MH Bulbs</a>
1383                      </li></ul>
1384                </div>
1385              </div><div id="mobile-panel-1-2" class="mobile-menu__panel is-nested">
1386                <div class="mobile-menu__section is-sticky">
1387                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1388      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1389    </svg> Back</button>
1390                </div>
1391
1392                <div class="mobile-menu__section">
1393                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1394                    <li class="mobile-menu__nav-item">
1395                      <a href="/collections/lights-parts-accessories" class="mobile-menu__nav-link text--strong">Light Parts & Accessories</a>
1396                    </li><li class="mobile-menu__nav-item">
1397                        <a href="/collections/ballasts" class="mobile-menu__nav-link" data-type="menuitem">Ballasts</a>
1398                      </li><li class="mobile-menu__nav-item">
1399                        <a href="/collections/controllers" class="mobile-menu__nav-link" data-type="menuitem">Controllers</a>
1400                      </li><li class="mobile-menu__nav-item">
1401                        <a href="/collections/replacement-parts-1" class="mobile-menu__nav-link" data-type="menuitem">Replacement & Parts</a>
1402                      </li><li class="mobile-menu__nav-item">
1403                        <a href="/collections/glasses" class="mobile-menu__nav-link" data-type="menuitem">Glasses</a>
1404                      </li></ul>
1405                </div>
1406              </div><div id="mobile-panel-3-0" class="mobile-menu__panel is-nested">
1407                <div class="mobile-menu__section is-sticky">
1408                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1409      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1410    </svg> Back</button>
1411                </div>
1412
1413                <div class="mobile-menu__section">
1414                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1415                    <li class="mobile-menu__nav-item">
1416                      <a href="/collections/hydroponics-systems" class="mobile-menu__nav-link text--strong">Watering Systems</a>
1417                    </li><li class="mobile-menu__nav-item">
1418                        <a href="/collections/dwc" class="mobile-menu__nav-link" data-type="menuitem">DWC</a>
1419                      </li><li class="mobile-menu__nav-item">
1420                        <a href="/collections/rdwc" class="mobile-menu__nav-link" data-type="menuitem">RDWC</a>
1421                      </li><li class="mobile-menu__nav-item">
1422                        <a href="/collections/other-systems-hydro" class="mobile-menu__nav-link" data-type="menuitem">Other Systems</a>
1423                      </li></ul>
1424                </div>
1425              </div><div id="mobile-panel-3-1" class="mobile-menu__panel is-nested">
1426                <div class="mobile-menu__section is-sticky">
1427                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1428      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1429    </svg> Back</button>
1430                </div>
1431
1432                <div class="mobile-menu__section">
1433                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1434                    <li class="mobile-menu__nav-item">
1435                      <a href="/collections/pots-and-parts" class="mobile-menu__nav-link text--strong">Pots and Parts</a>
1436                    </li><li class="mobile-menu__nav-item">
1437                        <a href="/collections/pots-net-pots" class="mobile-menu__nav-link" data-type="menuitem">Pots & Net Pots</a>
1438                      </li><li class="mobile-menu__nav-item">
1439                        <a href="/collections/flood-tables" class="mobile-menu__nav-link" data-type="menuitem">Flood Tables</a>
1440                      </li><li class="mobile-menu__nav-item">
1441                        <a href="/collections/pump-replacement-parts" class="mobile-menu__nav-link" data-type="menuitem">Pump Replacement Parts</a>
1442                      </li><li class="mobile-menu__nav-item">
1443                        <a href="/collections/water-filter-parts" class="mobile-menu__nav-link" data-type="menuitem">Water Filter Parts</a>
1444                      </li><li class="mobile-menu__nav-item">
1445                        <a href="/collections/pots-and-parts-accessories" class="mobile-menu__nav-link" data-type="menuitem">Accessories</a>
1446                      </li><li class="mobile-menu__nav-item">
1447                        <a href="/collections/fabric-pots" class="mobile-menu__nav-link" data-type="menuitem">Fabric Pots</a>
1448                      </li></ul>
1449                </div>
1450              </div><div id="mobile-panel-3-2" class="mobile-menu__panel is-nested">
1451                <div class="mobile-menu__section is-sticky">
1452                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1453      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1454    </svg> Back</button>
1455                </div>
1456
1457                <div class="mobile-menu__section">
1458                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1459                    <li class="mobile-menu__nav-item">
1460                      <a href="/collections/water-control" class="mobile-menu__nav-link text--strong">Water Control</a>
1461                    </li><li class="mobile-menu__nav-item">
1462                        <a href="/collections/water-pumps-air-stones" class="mobile-menu__nav-link" data-type="menuitem">Pumps & Air Stones</a>
1463                      </li><li class="mobile-menu__nav-item">
1464                        <a href="/collections/reservoirs-water-temp" class="mobile-menu__nav-link" data-type="menuitem">Reservoirs & Water Temp.</a>
1465                      </li><li class="mobile-menu__nav-item">
1466                        <a href="/collections/tubing-fittings" class="mobile-menu__nav-link" data-type="menuitem">Tubing & Fittings</a>
1467                      </li><li class="mobile-menu__nav-item">
1468                        <a href="/collections/ph-up-down" class="mobile-menu__nav-link" data-type="menuitem">PH Up & Down</a>
1469                      </li><li class="mobile-menu__nav-item">
1470                        <a href="/collections/water-filters" class="mobile-menu__nav-link" data-type="menuitem">Water Filters</a>
1471                      </li></ul>
1472                </div>
1473              </div><div id="mobile-panel-4-0" class="mobile-menu__panel is-nested">
1474                <div class="mobile-menu__section is-sticky">
1475                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1476      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1477    </svg> Back</button>
1478                </div>
1479
1480                <div class="mobile-menu__section">
1481                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1482                    <li class="mobile-menu__nav-item">
1483                      <a href="/collections/grow-fans" class="mobile-menu__nav-link text--strong">Ventilation</a>
1484                    </li><li class="mobile-menu__nav-item">
1485                        <a href="/collections/fans-filter-kits" class="mobile-menu__nav-link" data-type="menuitem">Fan & Filter Kits</a>
1486                      </li><li class="mobile-menu__nav-item">
1487                        <a href="/collections/inline-fans" class="mobile-menu__nav-link" data-type="menuitem">Inline Fans</a>
1488                      </li><li class="mobile-menu__nav-item">
1489                        <a href="/collections/carbon-filters" class="mobile-menu__nav-link" data-type="menuitem">Filters</a>
1490                      </li><li class="mobile-menu__nav-item">
1491                        <a href="/collections/wall-fans-others" class="mobile-menu__nav-link" data-type="menuitem">Wall Fans & Others</a>
1492                      </li><li class="mobile-menu__nav-item">
1493                        <a href="/collections/ducts-reducers-flanges-climate-control" class="mobile-menu__nav-link" data-type="menuitem">Ducts, Reducers, Flanges </a>
1494                      </li></ul>
1495                </div>
1496              </div><div id="mobile-panel-4-1" class="mobile-menu__panel is-nested">
1497                <div class="mobile-menu__section is-sticky">
1498                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1499      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1500    </svg> Back</button>
1501                </div>
1502
1503                <div class="mobile-menu__section">
1504                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1505                    <li class="mobile-menu__nav-item">
1506                      <a href="/collections/controllers-timers-meters" class="mobile-menu__nav-link text--strong">Controllers, Timers & Meters</a>
1507                    </li><li class="mobile-menu__nav-item">
1508                        <a href="/collections/fan-speed-controllers" class="mobile-menu__nav-link" data-type="menuitem">Fan Speed Controllers</a>
1509                      </li><li class="mobile-menu__nav-item">
1510                        <a href="/collections/temperature-controllers" class="mobile-menu__nav-link" data-type="menuitem">Temperature Controllers</a>
1511                      </li><li class="mobile-menu__nav-item">
1512                        <a href="/collections/humidity-controllers" class="mobile-menu__nav-link" data-type="menuitem">Humidity Controllers</a>
1513                      </li><li class="mobile-menu__nav-item">
1514                        <a href="/collections/co2-controllers" class="mobile-menu__nav-link" data-type="menuitem">CO2 Controllers</a>
1515                      </li></ul>
1516                </div>
1517              </div><div id="mobile-panel-4-2" class="mobile-menu__panel is-nested">
1518                <div class="mobile-menu__section is-sticky">
1519                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1520      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1521    </svg> Back</button>
1522                </div>
1523
1524                <div class="mobile-menu__section">
1525                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1526                    <li class="mobile-menu__nav-item">
1527                      <a href="/collections/co2" class="mobile-menu__nav-link text--strong">CO2</a>
1528                    </li><li class="mobile-menu__nav-item">
1529                        <a href="/collections/bags-bottles" class="mobile-menu__nav-link" data-type="menuitem">Bags & Bottles</a>
1530                      </li><li class="mobile-menu__nav-item">
1531                        <a href="/collections/burners" class="mobile-menu__nav-link" data-type="menuitem">Burners</a>
1532                      </li><li class="mobile-menu__nav-item">
1533                        <a href="/collections/co2-parts" class="mobile-menu__nav-link" data-type="menuitem">Parts</a>
1534                      </li></ul>
1535                </div>
1536              </div><div id="mobile-panel-4-3" class="mobile-menu__panel is-nested">
1537                <div class="mobile-menu__section is-sticky">
1538                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1539      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1540    </svg> Back</button>
1541                </div>
1542
1543                <div class="mobile-menu__section">
1544                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1545                    <li class="mobile-menu__nav-item">
1546                      <a href="/collections/humidity-control" class="mobile-menu__nav-link text--strong">Humidity Control</a>
1547                    </li><li class="mobile-menu__nav-item">
1548                        <a href="/collections/humidifiers" class="mobile-menu__nav-link" data-type="menuitem">Humidifiers</a>
1549                      </li><li class="mobile-menu__nav-item">
1550                        <a href="/collections/dehumidifiers" class="mobile-menu__nav-link" data-type="menuitem">Dehumidifiers</a>
1551                      </li><li class="mobile-menu__nav-item">
1552                        <a href="/collections/humidity-packs" class="mobile-menu__nav-link" data-type="menuitem">Humidity Packs</a>
1553                      </li><li class="mobile-menu__nav-item">
1554                        <a href="/collections/atomizers" class="mobile-menu__nav-link" data-type="menuitem">Atomizers</a>
1555                      </li></ul>
1556                </div>
1557              </div><div id="mobile-panel-4-5" class="mobile-menu__panel is-nested">
1558                <div class="mobile-menu__section is-sticky">
1559                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1560      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1561    </svg> Back</button>
1562                </div>
1563
1564                <div class="mobile-menu__section">
1565                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1566                    <li class="mobile-menu__nav-item">
1567                      <a href="/collections/odor-neutralizer" class="mobile-menu__nav-link text--strong">Odor Neutralizer</a>
1568                    </li><li class="mobile-menu__nav-item">
1569                        <a href="/collections/gels-sprays" class="mobile-menu__nav-link" data-type="menuitem">Gels & Sprays</a>
1570                      </li><li class="mobile-menu__nav-item">
1571                        <a href="/collections/ozone-generator" class="mobile-menu__nav-link" data-type="menuitem">Ozone</a>
1572                      </li></ul>
1573                </div>
1574              </div><div id="mobile-panel-4-7" class="mobile-menu__panel is-nested">
1575                <div class="mobile-menu__section is-sticky">
1576                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1577      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1578    </svg> Back</button>
1579                </div>
1580
1581                <div class="mobile-menu__section">
1582                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1583                    <li class="mobile-menu__nav-item">
1584                      <a href="/collections/replacements-parts-1" class="mobile-menu__nav-link text--strong">Replacements & Parts</a>
1585                    </li><li class="mobile-menu__nav-item">
1586                        <a href="/collections/filters-1" class="mobile-menu__nav-link" data-type="menuitem">Filters</a>
1587                      </li><li class="mobile-menu__nav-item">
1588                        <a href="/collections/co2-parts" class="mobile-menu__nav-link" data-type="menuitem">CO2 Parts</a>
1589                      </li><li class="mobile-menu__nav-item">
1590                        <a href="/collections/hangers" class="mobile-menu__nav-link" data-type="menuitem">Hangers</a>
1591                      </li><li class="mobile-menu__nav-item">
1592                        <a href="/collections/controllers-climate" class="mobile-menu__nav-link" data-type="menuitem">Controllers</a>
1593                      </li></ul>
1594                </div>
1595              </div><div id="mobile-panel-5-0" class="mobile-menu__panel is-nested">
1596                <div class="mobile-menu__section is-sticky">
1597                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1598      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1599    </svg> Back</button>
1600                </div>
1601
1602                <div class="mobile-menu__section">
1603                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1604                    <li class="mobile-menu__nav-item">
1605                      <a href="/collections/grow-media-1" class="mobile-menu__nav-link text--strong">Grow Media</a>
1606                    </li><li class="mobile-menu__nav-item">
1607                        <a href="/collections/coco" class="mobile-menu__nav-link" data-type="menuitem">Coco</a>
1608                      </li><li class="mobile-menu__nav-item">
1609                        <a href="/collections/soil-mixes" class="mobile-menu__nav-link" data-type="menuitem">Soil Mixes</a>
1610                      </li><li class="mobile-menu__nav-item">
1611                        <a href="/collections/rockwool" class="mobile-menu__nav-link" data-type="menuitem">Rockwool</a>
1612                      </li><li class="mobile-menu__nav-item">
1613                        <a href="/collections/clay-pellets" class="mobile-menu__nav-link" data-type="menuitem">Clay Pellets</a>
1614                      </li><li class="mobile-menu__nav-item">
1615                        <a href="/collections/others-propagation" class="mobile-menu__nav-link" data-type="menuitem">Others</a>
1616                      </li></ul>
1617                </div>
1618              </div><div id="mobile-panel-5-1" class="mobile-menu__panel is-nested">
1619                <div class="mobile-menu__section is-sticky">
1620                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1621      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1622    </svg> Back</button>
1623                </div>
1624
1625                <div class="mobile-menu__section">
1626                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1627                    <li class="mobile-menu__nav-item">
1628                      <a href="/collections/germination-cloning" class="mobile-menu__nav-link text--strong">Germination & Cloning</a>
1629                    </li><li class="mobile-menu__nav-item">
1630                        <a href="/collections/propagation-lights" class="mobile-menu__nav-link" data-type="menuitem">Propagation Lights</a>
1631                      </li><li class="mobile-menu__nav-item">
1632                        <a href="/collections/trays-domes" class="mobile-menu__nav-link" data-type="menuitem">Trays & Domes</a>
1633                      </li><li class="mobile-menu__nav-item">
1634                        <a href="/collections/mycorrhizae-microbe-germination" class="mobile-menu__nav-link" data-type="menuitem">Mycorrhizae / Microbes</a>
1635                      </li><li class="mobile-menu__nav-item">
1636                        <a href="/collections/cloners" class="mobile-menu__nav-link" data-type="menuitem">Cloners</a>
1637                      </li><li class="mobile-menu__nav-item">
1638                        <a href="/collections/starter-pellets" class="mobile-menu__nav-link" data-type="menuitem">Starter Pellets</a>
1639                      </li><li class="mobile-menu__nav-item">
1640                        <a href="/collections/heat-beds" class="mobile-menu__nav-link" data-type="menuitem">Heatbeds</a>
1641                      </li><li class="mobile-menu__nav-item">
1642                        <a href="/collections/micro-gardens" class="mobile-menu__nav-link" data-type="menuitem">Micro Gardens</a>
1643                      </li></ul>
1644                </div>
1645              </div><div id="mobile-panel-6-0" class="mobile-menu__panel is-nested">
1646                <div class="mobile-menu__section is-sticky">
1647                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1648      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1649    </svg> Back</button>
1650                </div>
1651
1652                <div class="mobile-menu__section">
1653                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1654                    <li class="mobile-menu__nav-item">
1655                      <a href="/collections/trimming-1" class="mobile-menu__nav-link text--strong">Trimming</a>
1656                    </li><li class="mobile-menu__nav-item">
1657                        <a href="/collections/pruners" class="mobile-menu__nav-link" data-type="menuitem">Pruners</a>
1658                      </li><li class="mobile-menu__nav-item">
1659                        <a href="/collections/trimmers" class="mobile-menu__nav-link" data-type="menuitem">Trimmers</a>
1660                      </li><li class="mobile-menu__nav-item">
1661                        <a href="/collections/trimmer-parts" class="mobile-menu__nav-link" data-type="menuitem">Trimmer Parts</a>
1662                      </li><li class="mobile-menu__nav-item">
1663                        <a href="/collections/buckers" class="mobile-menu__nav-link" data-type="menuitem">Buckers</a>
1664                      </li></ul>
1665                </div>
1666              </div><div id="mobile-panel-6-1" class="mobile-menu__panel is-nested">
1667                <div class="mobile-menu__section is-sticky">
1668                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1669      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1670    </svg> Back</button>
1671                </div>
1672
1673                <div class="mobile-menu__section">
1674                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1675                    <li class="mobile-menu__nav-item">
1676                      <a href="/collections/extractions" class="mobile-menu__nav-link text--strong">Extractions</a>
1677                    </li><li class="mobile-menu__nav-item">
1678                        <a href="/collections/presses" class="mobile-menu__nav-link" data-type="menuitem">Presses</a>
1679                      </li><li class="mobile-menu__nav-item">
1680                        <a href="/collections/extraction-bags" class="mobile-menu__nav-link" data-type="menuitem">Extraction bags</a>
1681                      </li><li class="mobile-menu__nav-item">
1682                        <a href="/collections/cooking-edibles" class="mobile-menu__nav-link" data-type="menuitem">Cooking & Edibles</a>
1683                      </li><li class="mobile-menu__nav-item">
1684                        <a href="/collections/others-extractions" class="mobile-menu__nav-link" data-type="menuitem">Others</a>
1685                      </li></ul>
1686                </div>
1687              </div><div id="mobile-panel-6-2" class="mobile-menu__panel is-nested">
1688                <div class="mobile-menu__section is-sticky">
1689                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1690      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1691    </svg> Back</button>
1692                </div>
1693
1694                <div class="mobile-menu__section">
1695                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1696                    <li class="mobile-menu__nav-item">
1697                      <a href="/collections/sprays-parts" class="mobile-menu__nav-link text--strong">Sprayers & Parts</a>
1698                    </li><li class="mobile-menu__nav-item">
1699                        <a href="/collections/sprayers" class="mobile-menu__nav-link" data-type="menuitem">Sprayers </a>
1700                      </li><li class="mobile-menu__nav-item">
1701                        <a href="/collections/parts-nozzles" class="mobile-menu__nav-link" data-type="menuitem">Parts & Nozzles</a>
1702                      </li></ul>
1703                </div>
1704              </div><div id="mobile-panel-6-3" class="mobile-menu__panel is-nested">
1705                <div class="mobile-menu__section is-sticky">
1706                  <button class="mobile-menu__back-button" data-action="close-panel"><svg focusable="false" class="icon icon--arrow-left " viewBox="0 0 8 12" role="presentation">
1707      <path stroke="currentColor" stroke-width="2" d="M6 10L2 6l4-4" fill="none" stroke-linecap="square"></path>
1708    </svg> Back</button>
1709                </div>
1710
1711                <div class="mobile-menu__section">
1712                  <ul class="mobile-menu__nav" data-type="menu" role="list">
1713                    <li class="mobile-menu__nav-item">
1714                      <a href="/collections/drying-accessories" class="mobile-menu__nav-link text--strong">Drying & Accessories</a>
1715                    </li><li class="mobile-menu__nav-item">
1716                        <a href="/collections/drying-racks" class="mobile-menu__nav-link" data-type="menuitem">Drying & Racks</a>
1717                      </li><li class="mobile-menu__nav-item">
1718                        <a href="/collections/scales" class="mobile-menu__nav-link" data-type="menuitem">Scales</a>
1719                      </li><li class="mobile-menu__nav-item">
1720                        <a href="/collections/packaging" class="mobile-menu__nav-link" data-type="menuitem">Packaging</a>
1721                      </li><li class="mobile-menu__nav-item">
1722                        <a href="/collections/gloves" class="mobile-menu__nav-link" data-type="menuitem">Gloves</a>
1723                      </li><li class="mobile-menu__nav-item">
1724                        <a href="/collections/freeze-dryers" class="mobile-menu__nav-link" data-type="menuitem">Freeze Dryers</a>
1725                      </li><li class="mobile-menu__nav-item">
1726                        <a href="/collections/garden-tools" class="mobile-menu__nav-link" data-type="menuitem">Garden Tools</a>
1727                      </li><li class="mobile-menu__nav-item">
1728                        <a href="/collections/humidity-packs" class="mobile-menu__nav-link" data-type="menuitem">Humidity Packs</a>
1729                      </li><li class="mobile-menu__nav-item">
1730                        <a href="/collections/other-accessories-drying" class="mobile-menu__nav-link" data-type="menuitem">
1730Other Accessories (drying)</a>
1731                      </li></ul>
1732                </div>
1733              </div></div>
1734</div></nav>
1735<div class="header__logo"><a href="/" class="header__logo-link"><span class="visually-hidden">Canada Grow Supplies</span>
1736              <img class="header__logo-image"
1737                   style="max-width: 220px"
1738                   width="1481"
1739                   height="555"
1740                   src="//canadagrowsupplies.com/cdn/shop/files/[email protected]?v=1650576737"
1741                   alt="Canada Grow Supplies"></a></div><div class="header__search-bar-wrapper ">
1742          <form action="/search" method="get" role="search" class="search-bar"><div class="search-bar__top-wrapper">
1743              <div class="search-bar__top">
1744                <input type="hidden" name="type" value="product">
1745                <input type="hidden" name="options[prefix]" value="last">
1746                <input type="hidden" name="options[unavailable_products]" value="">
1747
1748                <div class="search-bar__input-wrapper">
1749                  <input class="search-bar__input" type="text" name="q" autocomplete="off" autocorrect="off" aria-label="Search..." placeholder="Search...">
1750                  <button type="button" class="search-bar__input-clear hidden-lap-and-up" data-action="clear-input">
1751                    <span class="visually-hidden">Clear</span>
1752                    <svg focusable="false" class="icon icon--close " viewBox="0 0 19 19" role="presentation">
1753      <path d="M9.1923882 8.39339828l7.7781745-7.7781746 1.4142136 1.41421357-7.7781746 7.77817459 7.7781746 7.77817456L16.9705627 19l-7.7781745-7.7781746L1.41421356 19 0 17.5857864l7.7781746-7.77817456L0 2.02943725 1.41421356.61522369 9.1923882 8.39339828z" fill="currentColor" fill-rule="evenodd"></path>
1754    </svg>
1755                  </button>
1756                </div><button type="submit" class="search-bar__submit" aria-label="Search"><svg focusable="false" class="icon icon--search " viewBox="0 0 21 21" role="presentation">
1757      <g stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd">
1758        <path d="M19 19l-5-5" stroke-linecap="square"></path>
1759        <circle cx="8.5" cy="8.5" r="7.5"></circle>
1760      </g>
1761    </svg><svg focusable="false" class="icon icon--search-loader " viewBox="0 0 64 64" role="presentation">
1762      <path opacity=".4" d="M23.8589104 1.05290547C40.92335108-3.43614731 58.45816642 6.79494359 62.94709453 23.8589104c4.48905278 17.06444068-5.74156424 34.59913135-22.80600493 39.08818413S5.54195825 57.2055303 1.05290547 40.1410896C-3.43602265 23.0771228 6.7944697 5.54195825 23.8589104 1.05290547zM38.6146353 57.1445143c13.8647142-3.64731754 22.17719655-17.89443541 18.529879-31.75914961-3.64743965-13.86517841-17.8944354-22.17719655-31.7591496-18.529879S3.20804604 24.7494569 6.8554857 38.6146353c3.64731753 13.8647142 17.8944354 22.17719655 31.7591496 18.529879z"></path>
1763      <path d="M1.05290547 40.1410896l5.80258022-1.5264543c3.64731754 13.8647142 17.89443541 22.17719655 31.75914961 18.529879l1.5264543 5.80258023C23.07664892 67.43614731 5.54195825 57.2055303 1.05290547 40.1410896z"></path>
1764    </svg></button>
1765              </div>
1766
1767              <button type="button" class="search-bar__close-button hidden-tablet-and-up" data-action="unfix-search">
1768                <span class="search-bar__close-text">Close</span>
1769              </button>
1770            </div>
1771
1772            <div class="search-bar__inner">
1773              <div class="search-bar__results" aria-hidden="true">
1774                <div class="skeleton-container"><div class="search-bar__result-item search-bar__result-item--skeleton">
1775                      <div class="search-bar__image-container">
1776                        <div class="aspect-ratio aspect-ratio--square">
1777                          <div class="skeleton-image"></div>
1778                        </div>
1779                      </div>
1780
1781                      <div class="search-bar__item-info">
1782                        <div class="skeleton-paragraph">
1783                          <div class="skeleton-text"></div>
1784                          <div class="skeleton-text"></div>
1785                        </div>
1786                      </div>
1787                    </div><div class="search-bar__result-item search-bar__result-item--skeleton">
1788                      <div class="search-bar__image-container">
1789                        <div class="aspect-ratio aspect-ratio--square">
1790                          <div class="skeleton-image"></div>
1791                        </div>
1792                      </div>
1793
1794                      <div class="search-bar__item-info">
1795                        <div class="skeleton-paragraph">
1796                          <div class="skeleton-text"></div>
1797                          <div class="skeleton-text"></div>
1798                        </div>
1799                      </div>
1800                    </div><div class="search-bar__result-item search-bar__result-item--skeleton">
1801                      <div class="search-bar__image-container">
1802                        <div class="aspect-ratio aspect-ratio--square">
1803                          <div class="skeleton-image"></div>
1804                        </div>
1805                      </div>
1806
1807                      <div class="search-bar__item-info">
1808                        <div class="skeleton-paragraph">
1809                          <div class="skeleton-text"></div>
1810                          <div class="skeleton-text"></div>
1811                        </div>
1812                      </div>
1813                    </div></div>
1814
1815                <div class="search-bar__results-inner"></div>
1816              </div></div>
1817          </form>
1818        </div><div class="header__action-list"><div class="header__action-item header__action-item--locale hidden-pocket"><form method="post" action="/localization" id="localization_form_header_locale" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/blogs/main" /><span class="header__action-item-title">Language</span>
1819                <input type="hidden" name="locale_code" value="en">
1820
1821                <div class="header__action-item-content">
1822                  <button class="header__action-item-link" data-action="toggle-popover" aria-controls="desktop-locale-selector" aria-expanded="false">
1823                    <span class="locale-selector__value">English</span> <svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1824      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1825    </svg>
1826                  </button>
1827
1828                  <div id="desktop-locale-selector" class="popover popover--locale" aria-hidden="true"><svg focusable="false" class="icon icon--nav-triangle-borderless " viewBox="0 0 20 9" role="presentation">
1829      <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
1830    </svg><div class="popover__inner popover__inner--no-padding">
1831                      <ul class="popover__linklist" role="list"><li class="popover__linklist-item">
1832                            <button type="submit" name="locale_code" class="popover__link-item" value="en" aria-current="true">English</button>
1833                          </li><li class="popover__linklist-item">
1834                            <button type="submit" name="locale_code" class="popover__link-item" value="fr" >Français</button>
1835                          </li></ul>
1836                    </div>
1837                  </div></form></div>
1838            </div><div class="header__action-item hidden-tablet-and-up">
1839              <a class="header__action-item-link" href="/search" data-action="toggle-search" aria-expanded="false" aria-label="Open search"><svg focusable="false" class="icon icon--search " viewBox="0 0 21 21" role="presentation">
1840      <g stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd">
1841        <path d="M19 19l-5-5" stroke-linecap="square"></path>
1842        <circle cx="8.5" cy="8.5" r="7.5"></circle>
1843      </g>
1844    </svg></a>
1845            </div><div class="header__action-item header__action-item--cart">
1846            <a class="header__action-item-link header__cart-toggle" href="/cart" aria-controls="mini-cart" aria-expanded="false" data-action="toggle-mini-cart" data-no-instant>
1847              <div class="header__action-item-content">
1848                <div class="header__cart-icon icon-state" aria-expanded="false">
1849                  <span class="icon-state__primary"><svg focusable="false" class="icon icon--cart " viewBox="0 0 27 24" role="presentation">
1850      <g transform="translate(0 1)" stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd">
1851        <circle stroke-linecap="square" cx="11" cy="20" r="2"></circle>
1852        <circle stroke-linecap="square" cx="22" cy="20" r="2"></circle>
1853        <path d="M7.31 5h18.27l-1.44 10H9.78L6.22 0H0"></path>
1854      </g>
1855    </svg><span class="header__cart-count">0</span>
1856                  </span>
1857
1858                  <span class="icon-state__secondary"><svg focusable="false" class="icon icon--close " viewBox="0 0 19 19" role="presentation">
1859      <path d="M9.1923882 8.39339828l7.7781745-7.7781746 1.4142136 1.41421357-7.7781746 7.77817459 7.7781746 7.77817456L16.9705627 19l-7.7781745-7.7781746L1.41421356 19 0 17.5857864l7.7781746-7.77817456L0 2.02943725 1.41421356.61522369 9.1923882 8.39339828z" fill="currentColor" fill-rule="evenodd"></path>
1860    </svg></span>
1861                </div>
1862
1863                <span class="hidden-pocket hidden-lap">Cart</span>
1864              </div>
1865            </a><form method="post" action="/cart" id="mini-cart" class="mini-cart" aria-hidden="true" novalidate="novalidate" data-item-count="0">
1866  <input type="hidden" name="attributes[collection_products_per_page]" value="">
1867  <input type="hidden" name="attributes[collection_layout]" value=""><svg focusable="false" class="icon icon--nav-triangle-borderless " viewBox="0 0 20 9" role="presentation">
1868      <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
1869    </svg><div class="mini-cart__content mini-cart__content--empty"><div class="mini-cart__empty-state">
1869<svg focusable="false" width="81" height="70" viewBox="0 0 81 70">
1870      <g transform="translate(0 2)" stroke-width="4" stroke="#000000" fill="none" fill-rule="evenodd">
1871        <circle stroke-linecap="square" cx="34" cy="60" r="6"></circle>
1872        <circle stroke-linecap="square" cx="67" cy="60" r="6"></circle>
1873        <path d="M22.9360352 15h54.8070373l-4.3391876 30H30.3387146L19.6676025 0H.99560547"></path>
1874      </g>
1875    </svg><p class="heading h4">Your cart is empty</p>
1876      </div>
1877
1878      <a href="/collections/all" class="button button--primary button--full">Shop our products</a>
1879    </div></form>
1880</div><div class="header__action-item header__action-item--account"><span class="header__action-item-title hidden-pocket hidden-lap">Login / Signup</span><div class="header__action-item-content">
1881                <a href="https://canadagrowsupplies.com/customer_authentication/redirect?locale=en&region_country=CA" class="header__action-item-link header__account-icon icon-state hidden-desk" aria-label="My account" aria-controls="account-popover" aria-expanded="false" data-action="toggle-popover" >
1882                  <span class="icon-state__primary"><svg focusable="false" class="icon icon--account " viewBox="0 0 20 22" role="presentation">
1883      <path d="M10 13c2.82 0 5.33.64 6.98 1.2A3 3 0 0 1 19 17.02V21H1v-3.97a3 3 0 0 1 2.03-2.84A22.35 22.35 0 0 1 10 13zm0 0c-2.76 0-5-3.24-5-6V6a5 5 0 0 1 10 0v1c0 2.76-2.24 6-5 6z" stroke="currentColor" stroke-width="2" fill="none"></path>
1884    </svg></span>
1885                  <span class="icon-state__secondary"><svg focusable="false" class="icon icon--close " viewBox="0 0 19 19" role="presentation">
1886      <path d="M9.1923882 8.39339828l7.7781745-7.7781746 1.4142136 1.41421357-7.7781746 7.77817459 7.7781746 7.77817456L16.9705627 19l-7.7781745-7.7781746L1.41421356 19 0 17.5857864l7.7781746-7.77817456L0 2.02943725 1.41421356.61522369 9.1923882 8.39339828z" fill="currentColor" fill-rule="evenodd"></path>
1887    </svg></span>
1888                </a>
1889
1890                <a href="https://canadagrowsupplies.com/customer_authentication/redirect?locale=en&region_country=CA" class="header__action-item-link hidden-pocket hidden-lap" aria-controls="account-popover" aria-expanded="false" data-action="toggle-popover"><svg focusable="false" class="icon icon--account " viewBox="0 0 20 22" role="presentation">
1891      <path d="M10 13c2.82 0 5.33.64 6.98 1.2A3 3 0 0 1 19 17.02V21H1v-3.97a3 3 0 0 1 2.03-2.84A22.35 22.35 0 0 1 10 13zm0 0c-2.76 0-5-3.24-5-6V6a5 5 0 0 1 10 0v1c0 2.76-2.24 6-5 6z" stroke="currentColor" stroke-width="2" fill="none"></path>
1892    </svg>Log In</a>
1893
1894                <div id="account-popover" class="popover popover--large popover--unlogged" aria-hidden="true"><svg focusable="false" class="icon icon--nav-triangle-borderless " viewBox="0 0 20 9" role="presentation">
1895      <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
1896    </svg><div class="popover__panel-list"><div id="header-login-panel" class="popover__panel popover__panel--default is-selected">
1897                        <div class="popover__inner"><form method="post" action="/account/login" id="header_customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" name="login" class="form"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="✓" /><header class="popover__header">
1898                              <p class="popover__title heading">Login to my account</p>
1899                              <p class="popover__legend">Enter your e-mail and password:</p>
1900                            </header>
1901
1902                            <div class="form__input-wrapper form__input-wrapper--labelled">
1903                              <input type="email" id="login-customer[email]" class="form__field form__field--text" autocomplete="email" name="customer[email]" required="required">
1904                              <label for="login-customer[email]" class="form__floating-label">Email</label>
1905                            </div>
1906
1907                            <div class="form__input-wrapper form__input-wrapper--labelled">
1908                              <input type="password" id="login-customer[password]" class="form__field form__field--text" name="customer[password]" required="required" autocomplete="current-password">
1909                              <label for="login-customer[password]" class="form__floating-label">Password</label>
1910                            </div>
1911
1912                            <button type="submit" class="form__submit button button--primary button--full">Login</button></form><div class="popover__secondary-action">
1913                            <p>New customer? <a href="https://shopify.com/56650104875/account?locale=en&region_country=CA&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjYW5hZGEtZ3Jvdy1zdXBwbGllcy1tYWluLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MTUyNDI1NywibmJmIjoxNzkwOTE5NDU3fQ.ShE54DlgnBEPj--EBFTjkePkYoXdhS1qCYwV-GaUt1k" class="link link--accented">Create your account</a></p>
1914                            <p>Lost password? <a href="/account#recover-password" aria-controls="header-recover-panel" class="link link--accented">Recover password</a></p>
1915                          </div>
1916                        </div>
1917                      </div><div id="header-recover-panel" class="popover__panel popover__panel--sliding">
1918                        <div class="popover__inner"><form method="post" action="/account/recover" accept-charset="UTF-8" name="recover" class="form"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="✓" /><header class="popover__header">
1919                              <p class="popover__title heading">Recover password</p>
1920                              <p class="popover__legend">Enter your email:</p>
1921                            </header>
1922
1923                            <div class="form__input-wrapper form__input-wrapper--labelled">
1924                              <input type="email" id="recover-customer[recover_email]" class="form__field form__field--text" name="email" required="required">
1925                              <label for="recover-customer[recover_email]" class="form__floating-label">Email</label>
1926                            </div>
1927
1928                            <button type="submit" class="form__submit button button--primary button--full">Recover</button></form><div class="popover__secondary-action">
1929                            <p>Remembered your password? <button data-action="show-popover-panel" aria-controls="header-login-panel" class="link link--accented">Back to login</button></p>
1930                          </div>
1931                        </div>
1932                      </div>
1933                    </div></div>
1934              </div>
1935            </div></div>
1936      </div>
1937    </div>
1938  </header><nav class="nav-bar layout_inline">
1939      <div class="nav-bar__inner">
1940        <div class="container">
1941          <ul class="nav-bar__linklist list--unstyled" data-type="menu" role="list"><li class="nav-bar__item"><a href="/collections/tents-kits" class="nav-bar__link link" data-type="menuitem" aria-expanded="false" aria-controls="desktop-menu-0-1" aria-haspopup="true">Tents & Kits<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
1942      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
1943    </svg><svg focusable="false" class="icon icon--nav-triangle " viewBox="0 0 20 9" role="presentation">
1944      <g fill="none" fill-rule="evenodd">
1945        <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
1946        <path d="M-.00922471 9C1.38887087 7.61849126 4.26661926 4.80337304 8.62402045.5546454c.75993175-.7409708 1.98812015-.7393145 2.74596565.0037073L19.9800494 9h-1.3748787l-7.9226239-7.7676545c-.3789219-.3715101-.9930172-.3723389-1.3729808-.0018557-3.20734177 3.1273507-5.6127118 5.4776841-7.21584193 7.05073579C1.82769633 8.54226204 1.58379521 8.7818599 1.36203986 9H-.00922471z" fill="#e1e3e4"></path>
1947      </g>
1948    </svg></a>
1949<div id="desktop-menu-0-1" class="mega-menu " data-type="menu" aria-hidden="true" role="list" >
1950  
1951<div class="container">
1952   <div class="mega-menu__inner mega-menu__inner--center mega-menu__inner--large"><div class="mega-menu__column">
1953         <a href="/collections/grow-tents" class="mega-menu__title heading">Grow Tents</a>
1954        
1955        <ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
1956               <a href="/collections/2x2" class="mega-menu__link link">2x2</a>
1957            </li>
1958            
1959           <li class="mega-menu__item">
1960               <a href="/collections/2x4" class="mega-menu__link link">2x4</a>
1961            </li>
1962            
1963           <li class="mega-menu__item">
1964               <a href="/collections/3x3" class="mega-menu__link link">3x3</a>
1965            </li>
1966            
1967           <li class="mega-menu__item">
1968               <a href="/collections/4x4" class="mega-menu__link link">4x4</a>
1969            </li>
1970            
1971           <li class="mega-menu__item">
1972               <a href="/collections/5x5" class="mega-menu__link link">5x5</a>
1973            </li>
1974            
1975           <li class="mega-menu__item">
1976               <a href="/collections/8x4" class="mega-menu__link link">8x4</a>
1977            </li>
1978            
1979           <li class="mega-menu__item">
1980               <a href="/collections/8x8" class="mega-menu__link link">8x8</a>
1981            </li>
1982            
1983           <li class="mega-menu__item">
1984               <a href="/collections/10x5" class="mega-menu__link link">10x5</a>
1985            </li>
1986            
1987           
1988         </ul>
1989      </div>
1990    
1991     <div class="mega-menu__column">
1992         <a href="/collections/grow-kits" class="mega-menu__title heading">Grow Kits</a>
1993        
1994        <ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
1995               <a href="/collections/2x2" class="mega-menu__link link">2x2</a>
1996            </li>
1997            
1998           <li class="mega-menu__item">
1999               <a href="/collections/2x4" class="mega-menu__link link">2x4</a>
2000            </li>
2001            
2002           <li class="mega-menu__item">
2003               <a href="/collections/3x3" class="mega-menu__link link">3x3</a>
2004            </li>
2005            
2006           <li class="mega-menu__item">
2007               <a href="/collections/4x4" class="mega-menu__link link">4x4</a>
2008            </li>
2009            
2010           <li class="mega-menu__item">
2011               <a href="/collections/5x5" class="mega-menu__link link">5x5</a>
2012            </li>
2013            
2014           <li class="mega-menu__item">
2015               <a href="/collections/8x8" class="mega-menu__link link">8x8</a>
2016            </li>
2017            
2018           
2019         </ul>
2020      </div>
2021    
2022     <div class="mega-menu__column">
2023         <a href="/collections/accessories" class="mega-menu__title heading">Accessories</a>
2024        
2025        <ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2026               <a href="/collections/mushroom-grow-kits" class="mega-menu__link link">Mushroom Grow Kits</a>
2027            </li>
2028            
2029           <li class="mega-menu__item">
2030               <a href="/collections/grow-tent-extensions" class="mega-menu__link link">Grow Tent Extensions</a>
2031            </li>
2032            
2033           <li class="mega-menu__item">
2034               <a href="/collections/grow-tent-parts" class="mega-menu__link link">Grow Tent Parts</a>
2035            </li>
2036            
2037           <li class="mega-menu__item">
2038               <a href="/collections/reflective-materials-supplies" class="mega-menu__link link">Reflective Materials & Supplies</a>
2039            </li>
2040            
2041           <li class="mega-menu__item">
2042               <a href="/collections/net-plant-supports" class="mega-menu__link link">Net & Plant Supports</a>
2043            </li>
2044            
2045           <li class="mega-menu__item">
2046               <a href="/collections/grow-tent-others" class="mega-menu__link link">Others</a>
2047            </li>
2048            
2049           
2050         </ul>
2051      </div>
2052    
2053     
2054     
2055     
2056     
2057  </div>
2058  </div>
2059</div>
2060</li><li class="nav-bar__item"><a href="/collections/lights" class="nav-bar__link link" data-type="menuitem" aria-expanded="false" aria-controls="desktop-menu-0-2" aria-haspopup="true">Lights<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
2061      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
2062    </svg><svg focusable="false" class="icon icon--nav-triangle " viewBox="0 0 20 9" role="presentation">
2063      <g fill="none" fill-rule="evenodd">
2064        <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
2065        <path d="M-.00922471 9C1.38887087 7.61849126 4.26661926 4.80337304 8.62402045.5546454c.75993175-.7409708 1.98812015-.7393145 2.74596565.0037073L19.9800494 9h-1.3748787l-7.9226239-7.7676545c-.3789219-.3715101-.9930172-.3723389-1.3729808-.0018557-3.20734177 3.1273507-5.6127118 5.4776841-7.21584193 7.05073579C1.82769633 8.54226204 1.58379521 8.7818599 1.36203986 9H-.00922471z" fill="#e1e3e4"></path>
2066      </g>
2067    </svg></a>
2068
2069<div id="desktop-menu-0-2" class="mega-menu " data-type="menu" aria-hidden="true" role="list" >
2070  
2071<div class="container">
2072   <div class="mega-menu__inner mega-menu__inner--center mega-menu__inner--large">
2073      <div class="mega-menu__column column_light_left">
2074         <a href="/collections/grow-lights" class="mega-menu__title heading">Grow Lights</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2075               <a href="/collections/led-grow-lights" class="mega-menu__link link">LED Grow Lights</a>
2076            </li>
2077            
2078           <li class="mega-menu__item">
2079               <a href="/collections/hid-grow-lights" class="mega-menu__link link">HID Grow Lights</a>
2080            </li>
2081            
2082           <li class="mega-menu__item">
2083               <a href="/collections/fluorescent-t5" class="mega-menu__link link">Fluorescent/T5</a>
2084            </li>
2085            
2086           
2087         </ul>
2088        
2089        <br><a href="/collections/mh-hps-cmh" class="mega-menu__title heading">MH, HPS, CMH</a>
2090         <ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2091               <a href="/collections/cmh-bulbs" class="mega-menu__link link">CMH Bulbs</a>
2092            </li>
2093            
2094           <li class="mega-menu__item">
2095               <a href="/collections/double-ended-bulbs" class="mega-menu__link link">Double Ended Bulbs</a>
2096            </li>
2097            
2098           <li class="mega-menu__item">
2099               <a href="/collections/hps-bulbs" class="mega-menu__link link">HPS Bulbs</a>
2100            </li>
2101            
2102           <li class="mega-menu__item">
2103               <a href="/collections/mh-bulbs" class="mega-menu__link link">MH Bulbs</a>
2104            </li>
2105            
2106           
2107         </ul>
2108        
2109        <br><a href="/collections/lights-parts-accessories" class="mega-menu__title heading">Light Parts & Accessories</a>
2110         <ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2111               <a href="/collections/ballasts" class="mega-menu__link link">Ballasts</a>
2112            </li>
2113            
2114           <li class="mega-menu__item">
2115               <a href="/collections/controllers" class="mega-menu__link link">Controllers</a>
2116            </li>
2117            
2118           <li class="mega-menu__item">
2119               <a href="/collections/replacement-parts-1" class="mega-menu__link link">Replacement & Parts</a>
2120            </li>
2121            
2122           <li class="mega-menu__item">
2123               <a href="/collections/glasses" class="mega-menu__link link">Glasses</a>
2124            </li>
2125            
2126           
2127         </ul>
2128        
2129        
2130        
2131      </div>
2132      <div class="mega-menu__column column_light_right">
2133        <a href="/collections/led-grow-lights" class="mega-menu__title heading fulltitle">Featured LED Lights <span><img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/right-arrow_20
2133x.png?v=103978434622083363661686760905"></span></a>
2134          
2135
2136        <div class="img-btm-box">
2137          <div class="product-menu">
2138            <div class="menu-product-box">
2139              
2140              <a href="/products/photontek-x-465w-pro-led-grow-light">
2141              <span class="full-img">
2142                 <img src="//canadagrowsupplies.com/cdn/shop/products/Photontek-465_526b4651-c678-48e0-809c-018c1b63842b_206X111.jpg?v=1772825096" loading="lazy">
2143              </span>
2144                
2145              
2146                
2147                
2148              <p class="heading-color vendorname">PhotonTek</p>
2149              <p class='h3'>PhotonTek X 465W Pro LED</p>
2150              <div class="ret-img ratemenu">
2151                <a class="product-item__reviews-badge link" href="#product-reviews">
2152
2153
2154<div class="loox-rating" data-id="6807904256043" data-rating="5.0" data-raters="6"></div>
2155 </a>
2156                </div>
2157              <span class="price"><span class=money>$ 592.95</span></span>
2158              
2159              	<span class="underline-price"><span class=money>$ 1,020.00</span></span>
2160              
2161              </a>
2162            </div>
2163            <div class="menu-product-box">
2164            <a href="/products/sunblaster-led-high-output-6400k-watt-strip-lights">  <span class="full-img">
2165                 <img src="//canadagrowsupplies.com/cdn/shop/products/sunblaster-led-strip-light-ho-6400k-48w-4-sunblaster_900x_3e86392e-7eea-435e-8b2c-1c103e70f670_206X111.webp?v=1651234541" loading="lazy">
2166              </span>
2167              
2168              
2169              
2170              
2171              
2172              <p class="heading-color vendorname">SunBlaster</p>
2173              <p class="h3">SunBlaster LED Strip Light High Output 6400K</p>
2174              <div class="ret-img ratemenu">
2175                <a class="product-item__reviews-badge link" href="#product-reviews">
2176
2177
2178<div class="loox-rating" data-id="6811159986219" data-rating="4.8" data-raters="28"></div>
2179 </a>
2180                </div>
2181              
2182              <span class="price"><span class=money>$ 56.95</span></span>
2183              
2184              	<span class="underline-price"><span class=money>$ 74.95</span></span>
2185              
2186              </a>
2187            </div>
2188            <div class="menu-product-box">
2189              <a href="/products/spider-farmer-upgraded-se5000-480w-full-spectrum-led-grow-light"><span class="full-img">
2190                 <img src="//canadagrowsupplies.com/cdn/shop/files/Spider-Farmer-SE5000_1_206X111.jpg?v=1706926334" loading="lazy">
2191              </span>
2192              
2193                
2194                
2195              <p class="heading-color vendorname">Spider Farmer</p>
2196              <p class="h3">Spider Farmer® Upgraded SE5000 480W Full Spectrum LED Grow Light</p>
2197              <div class="ret-img ratemenu">
2198                <a class="product-item__reviews-badge link" href="#product-reviews">
2199
2200
2201<div class="loox-rating" data-id="6808323981355" data-rating="5.0" data-raters="4"></div>
2202 </a>
2203                </div>
2204              
2205              <span class="price"><span class=money>$ 639.95</span></span>
2206              
2207              	<span class="underline-price"><span class=money>$ 829.99</span></span>
2208              
2209              </a>
2210            </div>
2211          </div>
2212        </div>
2213        
2214        
2215         
2216      </div>
2217   </div>
2218</div>
2219</div>
2220</li><li class="nav-bar__item"><a href="/collections/nutrients" class="nav-bar__link link" data-type="menuitem" aria-expanded="false" aria-controls="desktop-menu-0-3" aria-haspopup="true">Nutrients<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
2221      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
2222    </svg><svg focusable="false" class="icon icon--nav-triangle " viewBox="0 0 20 9" role="presentation">
2223      <g fill="none" fill-rule="evenodd">
2224        <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
2225        <path d="M-.00922471 9C1.38887087 7.61849126 4.26661926 4.80337304 8.62402045.5546454c.75993175-.7409708 1.98812015-.7393145 2.74596565.0037073L19.9800494 9h-1.3748787l-7.9226239-7.7676545c-.3789219-.3715101-.9930172-.3723389-1.3729808-.0018557-3.20734177 3.1273507-5.6127118 5.4776841-7.21584193 7.05073579C1.82769633 8.54226204 1.58379521 8.7818599 1.36203986 9H-.00922471z" fill="#e1e3e4"></path>
2226      </g>
2227    </svg></a>
2228
2229<div id="desktop-menu-0-3" class="mega-menu " data-type="menu" aria-hidden="true" role="list" >
2230  
2231<div class="container">
2232   <div class="mega-menu__inner mega-menu__inner--center mega-menu__inner--large">
2233      <div class="mega-menu__column">
2234         <a href="/collections/nutrients" class="mega-menu__title heading">Nutrients</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2235               <a href="/collections/base-nutrients" class="mega-menu__link link">Base Nutrients</a>
2236            </li>
2237            
2238           <li class="mega-menu__item">
2239               <a href="/collections/organic-nutrients" class="mega-menu__link link">Organic</a>
2240            </li>
2241            
2242           <li class="mega-menu__item">
2243               <a href="/collections/nutrient-kits" class="mega-menu__link link">Nutrient Kits</a>
2244            </li>
2245            
2246           <li class="mega-menu__item">
2247               <a href="/collections/plant-supplements" class="mega-menu__link link">Plant Supplements</a>
2248            </li>
2249            
2250           <li class="mega-menu__item">
2251               <a href="/collections/mycorrhizae-microbe" class="mega-menu__link link">Mycorrhizae/Microbe</a>
2252            </li>
2253            
2254           <li class="mega-menu__item">
2255               <a href="/collections/foliar" class="mega-menu__link link">Foliar</a>
2256            </li>
2257            
2258           <li class="mega-menu__item">
2259               <a href="/collections/flushing-solutions" class="mega-menu__link link">Flushing Solutions</a>
2260            </li>
2261            
2262           <li class="mega-menu__item">
2263               <a href="/collections/rooting-hormones" class="mega-menu__link link">Rooting Hormones</a>
2264            </li>
2265            
2266           <li class="mega-menu__item">
2267               <a href="/collections/ph-ph" class="mega-menu__link link">Ph+/Ph-</a>
2268            </li>
2269            
2270           
2271         </ul>
2272      </div>
2273      <div class="mega-menu__column">
2274          <a href="https://canadagrowsupplies.com/pages/brands" class="mega-menu__title heading fulltitle">Brands <span><img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/right-arrow_20x.png?v=103978434622083363661686760905"></span></a>
2275          
2276         <ul class="logos-sec">
2277           
2278                   
2279           			
2280           
2281                   
2282                   <li> 
2283           <a href="/collections/canna"><img src="//canadagrowsupplies.com/cdn/shop/files/canna.webp?v=1686572716" loading="lazy"></a>
2284           			</li>
2285                   
2286                   
2287              
2288                   
2289           			
2290           
2291                   
2292                   <li> 
2293           <a href="/collections/advanced-nutrients"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-01_400px_compressed.png?v=1675431230" loading="lazy"></a>
2294           			</li>
2295                   
2296                   
2297              
2298                   
2299           			
2300           
2301                   
2302                   <li> 
2303           <a href="/products/fish-head-farms-fish-shit-organic-soil-conditioner"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand-logo_compressed.webp?v=1675431416" loading="lazy"></a>
2304           			</li>
2305                   
2306                   
2307              
2308                   
2309           			
2310           
2311                   
2312                   <li> 
2313           <a href="/collections/greenplanet-nutrients"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-04_400px_compressed.png?v=1675431602" loading="lazy"></a>
2314           			</li>
2315                   
2316                   
2317              
2318                   
2319           			
2320           
2321                   
2322                   <li> 
2323           <a href="/collections/gaia-green-organics"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-02_400px_compressed.png?v=1675429952" loading="lazy"></a>
2324           			</li>
2325                   
2326                   
2327              
2328                   
2329           			
2330           
2331                   
2332                   <li> 
2333           <a href="/collections/general-hydroponics"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-03_400px_compressed.png?v=1675431750" loading="lazy"></a>
2334           			</li>
2335                   
2336                   
2337              
2338         </ul>
2339      </div>
2340
2341     
2342    <div class="mega-menu__column column_light_right right-third">
2343        <a href="/collections/organic-nutrients" class="mega-menu__title heading fulltitle">Shop Organic Nutrients <span><img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/right-arrow_20x.png?v=103978434622083363661686760905"></span></a>
2344          
2345
2346        <div class="img-btm-box">
2347          <div class="product-menu">
2348            <div class="menu-product-box">
2349             <a href="/products/advanced-nutrients-ph-perfect-bundle-grow-micro-and-bloom-trio"> <span class="full-img">
2350                 <img src="//canadagrowsupplies.com/cdn/shop/products/Advanced-Nutrients-Micro-Grow-Bloom_206X111.jpg?v=1782303774" loading="lazy">
2351              </span>
2352              <p class="heading-color vendorname">Advanced Nutrients</p>
2353              <p class="h3">Advanced Nutrients pH Perfect Bundle – Grow, Bloom & Micro</p>
2354              <div class="ret-img ratemenu">
2355                <a class="product-item__reviews-badge link" href="#product-reviews">
2356
2357
2358<div class="loox-rating" data-id="6855718469675" data-rating="4.9" data-raters="29"></div>
2359 </a>
2360                </div>
2361              <span class="price"><span class=money>$ 45.95</span></span>
2362              
2363              	<span class="underline-price"><span class=money>$ 55.97</span></span>
2364              
2365              </a>
2366            </div>
2367            <div class="menu-product-box">
2368              <a href="/products/general-hydroponics-flora-series-quart-bundle"><span class="full-img">
2369                 <img src="//canadagrowsupplies.com/cdn/shop/products/flora_series_206X111.webp?v=1653393198" loading="lazy">
2370              </span>
2371              <p class="heading-color vendorname">General Hydroponics</p>
2372              <p class="h3">
2372General Hydroponics Flora Series Quart Bundle</p>
2373              <div class="ret-img ratemenu">
2374                <a class="product-item__reviews-badge link" href="#product-reviews">
2375
2376
2377<div class="loox-rating" data-id="6855610171435" data-rating="5.0" data-raters="13"></div>
2378 </a>
2379                </div>
2380              
2381              <span class="price"><span class=money>$ 60.95</span></span>
2382              
2383              	<span class="underline-price"><span class=money>$ 74.99</span></span>
2384              
2385              </a>
2386            </div>
2387            <div class="menu-product-box">
2388             <a href="/products/remo-nutrients-supercharged-kit-1l"> <span class="full-img">
2389                 <img src="//canadagrowsupplies.com/cdn/shop/products/Remo_Nutrients_Supercharged_kit_1L_206X111.jpg?v=1783493649" loading="lazy">
2390              </span>
2391              <p class="heading-color vendorname">Remo Nutrients</p>
2392              <p class="h3">Remo Nutrients Supercharged Kit 1L</p>
2393              <div class="ret-img ratemenu">
2394                <a class="product-item__reviews-badge link" href="#product-reviews">
2395
2396
2397<div class="loox-rating" data-id="6807991058475" data-rating="5.0" data-raters="11"></div>
2398 </a>
2399                </div>
2400              
2401              <span class="price"><span class=money>$ 149.95</span></span>
2402              
2403              	<span class="underline-price"><span class=money>$ 157.99</span></span>
2404              
2405              </a>
2406            </div>
2407          </div>
2408        </div>
2409      </div>
2410
2411
2412   </div>
2413</div>
2414</div>
2415</li><li class="nav-bar__item"><a href="/collections/hydroponics" class="nav-bar__link link" data-type="menuitem" aria-expanded="false" aria-controls="desktop-menu-0-4" aria-haspopup="true">Hydroponics<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
2416      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
2417    </svg><svg focusable="false" class="icon icon--nav-triangle " viewBox="0 0 20 9" role="presentation">
2418      <g fill="none" fill-rule="evenodd">
2419        <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
2420        <path d="M-.00922471 9C1.38887087 7.61849126 4.26661926 4.80337304 8.62402045.5546454c.75993175-.7409708 1.98812015-.7393145 2.74596565.0037073L19.9800494 9h-1.3748787l-7.9226239-7.7676545c-.3789219-.3715101-.9930172-.3723389-1.3729808-.0018557-3.20734177 3.1273507-5.6127118 5.4776841-7.21584193 7.05073579C1.82769633 8.54226204 1.58379521 8.7818599 1.36203986 9H-.00922471z" fill="#e1e3e4"></path>
2421      </g>
2422    </svg></a>
2423
2424<div id="desktop-menu-0-4" class="hydroponics mega-menu " data-type="menu" aria-hidden="true" role="list" >
2425  
2426<div class="container">
2427   <div class="mega-menu__inner mega-menu__inner--center mega-menu__inner--large">
2428        <div class="mega-menu__column">
2429          
2430          <a href="/collections/hydroponics-systems" class="mega-menu__title heading">Watering Systems</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2431               <a href="/collections/autopot-watering-systems" class="mega-menu__link link">AutoPot Watering Systems</a>
2432            </li>
2433            
2434           <li class="mega-menu__item">
2435               <a href="/collections/dwc" class="mega-menu__link link">DWC</a>
2436            </li>
2437            
2438           <li class="mega-menu__item">
2439               <a href="/collections/rdwc" class="mega-menu__link link">RDWC</a>
2440            </li>
2441            
2442           <li class="mega-menu__item">
2443               <a href="/collections/other-systems-hydro" class="mega-menu__link link">Others</a>
2444            </li>
2445            
2446           
2447         </ul>
2448          
2449          
2450          
2451      </div>
2452
2453      <div class="mega-menu__column">
2454         <a href="/collections/pots-and-parts" class="mega-menu__title heading">Pots and Parts</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2455               <a href="/collections/pots-net-pots" class="mega-menu__link link">Pots & Net Pots</a>
2456            </li>
2457            
2458           <li class="mega-menu__item">
2459               <a href="/collections/flood-tables" class="mega-menu__link link">Flood Tables</a>
2460            </li>
2461            
2462           <li class="mega-menu__item">
2463               <a href="/collections/pump-replacement-parts" class="mega-menu__link link">Pump Replacement Parts</a>
2464            </li>
2465            
2466           <li class="mega-menu__item">
2467               <a href="/collections/water-filter-parts-1" class="mega-menu__link link">Water Filter Parts</a>
2468            </li>
2469            
2470           <li class="mega-menu__item">
2471               <a href="/collections/accessories" class="mega-menu__link link">Accessories</a>
2472            </li>
2473            
2474           <li class="mega-menu__item">
2475               <a href="/collections/fabric-pots" class="mega-menu__link link">Fabric Pots</a>
2476            </li>
2477            
2478           
2479         </ul>
2480      </div>
2481      <div class="mega-menu__column">
2482         <a href="/collections/water-control" class="mega-menu__title heading">Water Control</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2483               <a href="/collections/reservoirs-water-temp" class="mega-menu__link link">Reservoirs & Water Temp.</a>
2484            </li>
2485            
2486           <li class="mega-menu__item">
2487               <a href="/collections/tubing-fittings" class="mega-menu__link link">Tubing & Fittings</a>
2488            </li>
2489            
2490           <li class="mega-menu__item">
2491               <a href="/collections/ph-up-down" class="mega-menu__link link">PH Up & Down</a>
2492            </li>
2493            
2494           <li class="mega-menu__item">
2495               <a href="/collections/water-filters" class="mega-menu__link link">Water Filters</a>
2496            </li>
2497            
2498           <li class="mega-menu__item">
2499               <a href="/collections/water-pumps-air-stones" class="mega-menu__link link">Pumps & Airstones</a>
2500            </li>
2501            
2502           <li class="mega-menu__item">
2503               <a href="/collections/water-analysis-instruments" class="mega-menu__link link">Water Analysis</a>
2504            </li>
2505            
2506           
2507         </ul>
2508      </div>
2509      <div class="mega-menu__column">
2510          <a href="https://canadagrowsupplies.com/pages/brands" class="mega-menu__title heading fulltitle">Popular Brands  <span><img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/right-arrow_20x.png?v=103978434622083363661686760905" loading="lazy"></span></a>
2511          
2512         <ul class="logos-sec">
2513           
2514             
2515                   
2516           			
2517           
2518                   
2519                   <li> 
2520           <a href="/collections/autopot-watering-systems"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-11_bf044239-b36b-4e1b-8d4f-ff60367e2788.png?v=1654045375" loading="lazy"></a>
2521           			</li>
2522                   
2523                   
2524              
2525                   
2526           			
2527           
2528                   
2529                   <li> 
2530           <a href="/collections/alfred-horticulture"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-08.png?v=1654045375" loading="lazy"></a>
2531           			</li>
2532                   
2533                   
2534              
2535                   
2536           			
2537           
2538                   
2539                   <li> 
2540           <a href="/collections/bluelab"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-09_b831944b-622b-4c78-9850-94a8adacbdb0.png?v=1654045375" loading="lazy"></a>
2541           			</li>
2542                   
2543                   
2544              
2545                   
2546           			
2547           
2548                   
2549                   <li> 
2550           <a href="/collections/hydrologic"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-10.png?v=1654045375" loading="lazy"></a>
2551           			</li>
2552                   
2553                   
2554              
2555                   
2556           			
2557           
2558                   
2559                   <li> 
2560           <a href="/collections/active-aqua"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-12.png?v=1654045375" loading="lazy"></a>
2561           			</li>
2562                   
2563                   
2564              
2565                   
2566           			
2567           
2568                   
2569                   <li> 
2570           <a href="/collections/general-hydroponics"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-03.png?v=1654026159" loading="lazy"></a>
2571           			</li>
2572                   
2573                   
2574              
2575           
2576           <li></li>
2577           
2578        
2579        </ul>
2580      </div>
2581   </div>
2582</div>
2583</div>
2584</li><li class="nav-bar__item"><a href="/collections/climate-control" class="nav-bar__link link" data-type="menuitem" aria-expanded="false" aria-controls="desktop-menu-0-5" aria-haspopup="true">Climate Control <svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
2585      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
2586    </svg><svg focusable="false" class="icon icon--nav-triangle " viewBox="0 0 20 9" role="presentation">
2587      <g fill="none" fill-rule="evenodd">
2588        <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
2589        <path d="M-.00922471 9C1.38887087 7.61849126 4.26661926 4.80337304 8.62402045.5546454c.75993175-.7409708 1.98812015-.7393145 2.74596565.0037073L19.9800494 9h-1.3748787l-7.9226239-7.7676545c-.3789219-.3715101-.9930172-.3723389-1.3729808-.0018557-3.20734177 3.1273507-5.6127118 5.4776841-7.21584193 7.05073579C1.82769633 8.54226204 1.58379521 8.7818599 1.36203986 9H-.00922471z" fill="#e1e3e4"></path>
2590      </g>
2591    </svg></a>
2592
2593<div id="desktop-menu-0-5" class="mega-menu " data-type="menu" aria-hidden="true" role="list" >
2594  
2595<div class="container">
2596   <div class="mega-menu__inner mega-menu__inner--center mega-menu__inner--large">
2597      <div class="mega-menu__column">
2598         <a href="/collections/grow-fans" onclick="return false;" class="mega-menu__title heading">Ventilation</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2599               <a href="/collections/fans-filter-kits" class="mega-menu__link link">Fans & Filter Kits</a>
2600            </li>
2601            
2602           <li class="mega-menu__item">
2603               <a href="/collections/inline-fans" class="mega-menu__link link">Inline Fans</a>
2604            </li>
2605            
2606           <li class="mega-menu__item">
2607               <a href="/collections/carbon-filters" class="mega-menu__link link">Filters</a>
2608            </li>
2609            
2610           <li class="mega-menu__item">
2611               <a href="/collections/wall-fans-others" class="mega-menu__link link">Wall Fans & others</a>
2612            </li>
2613            
2614           <li class="mega-menu__item">
2615               <a href="/collections/ducts-reducers-flanges-climate-control" class="mega-menu__link link">Ducts, Reducers, Flanges</a>
2616            </li>
2617            
2618           
2619         </ul><a href="/collections/controllers-timers-meters" class="mega-menu__title heading">Controllers, Timers & Meters</a>
2620         <ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2621               <a href="/collections/fan-speed-controllers" class="mega-menu__link link">Fan Speed Controllers</a>
2622            </li>
2623            
2624           <li class="mega-menu__item">
2625               <a href="/collections/temperature-controllers" class="mega-menu__link link">Temperature Controllers</a>
2626            </li>
2627            
2628           <li class="mega-menu__item">
2629               <a href="/collections/humidity-controllers" class="mega-menu__link link">Humidity Controllers</a>
2630            </li>
2631            
2632           <li class="mega-menu__item">
2633               <a href="/collections/co2-controllers" class="mega-menu__link link">CO2 Controllers</a>
2634            </li>
2635            
2636           
2637         </ul>
2638      </div>
2639      <div class="mega-menu__column">
2640         <a href="/collections/co2" class="mega-menu__title heading">CO2</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2641               <a href="/collections/bags-bottles" class="mega-menu__link link">Bags & Botttles</a>
2642            </li>
2643            
2644           <li class="mega-menu__item">
2645               <a href="/collections/burners" class="mega-menu__link link">Burners</a>
2646            </li>
2647            
2648           <li class="mega-menu__item">
2649               <a href="/collections/co2-parts-1" class="mega-menu__link link">Parts</a>
2650            </li>
2651            
2652           
2653         </ul>
2654         <a href="/collections/humidity-control" class="mega-menu__title heading">Humidity Control</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2655               <a href="/collections/humidifiers" class="mega-menu__link link">Humidifiers</a>
2656            </li>
2657            
2658           <li class="mega-menu__item">
2659               <a href="/collections/dehumidifiers" class="mega-menu__link link">Dehumidifiers</a>
2660            </li>
2661            
2662           <li class="mega-menu__item">
2663               <a href="/collections/atomizers" class="mega-menu__link link">Atomizers</a>
2664            </li>
2665            
2666           
2667         </ul>
2668         <a href="/collections/air-conditioner" class="mega-menu__title heading">Air Conditioner</a>
2669      </div>
2670      <div class="mega-menu__column">
2671         <a href="/collections/odor-neutralizer" class="mega-menu__title heading">Odor Neutrilizer</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2672               <a href="/collections/gels-sprays" class="mega-menu__link link">Gels & Sprays</a>
2673            </li>
2674            
2675           <li class="mega-menu__item">
2676               <a href="/collections/ozone-generator" class="mega-menu__link link">Ozone</a>
2677            </li>
2678            
2679           
2680         </ul>
2681         <a href="/collections/air-sanitization" class="mega-menu__title heading">Air Sanitization</a>
2682         <a href="/collections/replacement-parts-1" class="mega-menu__title heading">Replacement & Parts</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2683               <a href="/collections/filters-1" class="mega-menu__link link">Filters</a>
2684            </li>
2685            
2686           <li class="mega-menu__item">
2687               <a href="/collections/co2-parts-1" class="mega-menu__link link">CO2 Parts</a>
2688            </li>
2689            
2690           <li class="mega-menu__item">
2691               <a href="/collections/hangers" class="mega-menu__link link">Hangers</a>
2692            </li>
2693            
2694           <li class="mega-menu__item">
2695               <a href="/collections/co2-controllers" class="mega-menu__link link">Controllers</a>
2696            </li>
2697            
2698           
2699         </ul>
2700      </div>
2701      
2702      <div class="mega-menu__column">
2703          <a href="https://canadagrowsupplies.com/pages/brands" class="mega-menu__title heading fulltitle">Brands list  <span><img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/right-arrow_20x.png?v=103978434622083363661686760905" loading="lazy"></span></a>
2704          
2705         <ul class="logos-sec">
2706           
2707             
2708                   
2709           			
2710           
2711                   
2712                   <li> 
2713           <a href="/collections/active-air"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-16.png?v=1654045375" loading="lazy"></a>
2714           			</li>
2715                   
2716                   
2717              
2718                   
2719           			
2720           
2721                   
2722                   <li> 
2723           <a href="/collections/advanced-nutrients"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-13.png?v=1654045375" loading="lazy"></a>
2724           			</li>
2725                   
2726                   
2727              
2728                   
2729           			
2730           
2731                   
2732                   <li> 
2733           <a href="/collections/vortex"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-14.png?v=1654045375" loading="lazy"></a>
2734           			</li>
2735                   
2736                   
2737              
2738                   
2739           			
2740           
2741                   
2742                   <li> 
2743           <a href="/collections/grow-fans"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-15_be83687f-a3ad-46b5-82f4-c7db2632dc03.png?v=1654045559" loading="lazy"></a>
2744           			</li>
2745                   
2746                   
2747              
2748                   
2749           			
2750           
2751                   
2752                   <li> 
2753           <a href="/collections/anden"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-18.png?v=1654045392" loading="lazy"></a>
2754           			</li>
2755                   
2756                   
2757              
2758                   
2759           			
2760           
2761                   
2762                   <li> 
2763           <a href="/collections/exhale-bags"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-17.png?v=1654045392" loading="lazy"></a>
2764           			</li>
2765                   
2766                   
2767              
2768           
2769          
2770        
2771        </ul>
2772      </div>
2773   </div>
2774</div>
2775</div>
2776</li><li class="nav-bar__item"><a href="/collections/propagation" class="nav-bar__link link" data-type="menuitem" aria-expanded="false" aria-controls="desktop-menu-0-6" aria-haspopup="true">Propagation<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
2777      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
2778    </svg><svg focusable="false" class="icon icon--nav-triangle " viewBox="0 0 20 9" role="presentation">
2779      <g fill="none" fill-rule="evenodd">
2780        <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
2781        <path d="M-.00922471 9C1.38887087 7.61849126 4.26661926 4.80337304 8.62402045.5546454c.75993175-.7409708 1.98812015-.7393145 2.74596565.0037073L19.9800494 9h-1.3748787l-7.9226239-7.7676545c-.3789219-.3715101-.9930172-.3723389-1.3729808-.0018557-3.20734177 3.1273507-5.6127118 5.4776841-7.21584193 7.05073579C1.82769633 8.54226204 1.58379521 8.7818599 1.36203986 9H-.00922471z" fill="#e1e3e4"></path>
2782      </g>
2783    </svg></a>
2784<div id="desktop-menu-0-6" class="mega-menu " data-type="menu" aria-hidden="true" role="list" >
2785  
2786<div class="container">
2787   <div class="mega-menu__inner mega-menu__inner--center mega-menu__inner--large">
2788      <div class="mega-menu__column">
2789         <a href="/collections/grow-media-1" class="mega-menu__title heading">Grow Media</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2790               <a href="/collections/coco" class="mega-menu__link link">Coco</a>
2791            </li>
2792            
2793           <li class="mega-menu__item">
2794               <a href="/collections/soil-mixes" class="mega-menu__link link">Soil Mixes</a>
2795            </li>
2796            
2797           <li class="mega-menu__item">
2798               <a href="/collections/rockwool" class="mega-menu__link link">Rockwool</a>
2799            </li>
2800            
2801           <li class="mega-menu__item">
2802               <a href="/collections/clay-pellets" class="mega-menu__link link">Clay Pellets</a>
2803            </li>
2804            
2805           <li class="mega-menu__item">
2806               <a href="/collections/grow-tent-others" class="mega-menu__link link">Others</a>
2807            </li>
2808            
2809           
2810         </ul>
2811      </div>
2812      <div class="mega-menu__column">
2813         <a href="/collections/germination-cloning" class="mega-menu__title heading">Germination & Cloning</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2814               <a href="/collections/propagation-lights" class="mega-menu__link link">Propagation Lights</a>
2815            </li>
2816            
2817           <li class="mega-menu__item">
2818               <a href="/collections/trays-domes" class="mega-menu__link link">Trays & Domes</a>
2819            </li>
2820            
2821           <li class="mega-menu__item">
2822               <a href="/collections/mycorrhizae-microbe" class="mega-menu__link link">Mycorrhizae / Microbes</a>
2823            </li>
2824            
2825           <li class="mega-menu__item">
2826               <a href="/collections/cloners" class="mega-menu__link link">Cloners</a>
2827            </li>
2828            
2829           <li class="mega-menu__item">
2830               <a href="/collections/starter-pellets" class="mega-menu__link link">Starter Pellets</a>
2831            </li>
2832            
2833           <li class="mega-menu__item">
2834               <a href="/collections/heat-beds" class="mega-menu__link link">Heatbeds</a>
2835            </li>
2836            
2837           <li class="mega-menu__item">
2838               <a href="/collections/micro-gardens" class="mega-menu__link link">Micro Gardens</a>
2839            </li>
2840            
2841           <li class="mega-menu__item">
2842               <a href="https://canadagrowsupplies.com/collections/seeds/" class="mega-menu__link link">Seeds</a>
2843            </li>
2844            
2845           
2846         </ul>
2847      </div>
2848   </div>
2849</div>
2850</div>
2851</li><li class="nav-bar__item"><a href="/collections/harvest-accessories" class="nav-bar__link link" data-type="menuitem" aria-expanded="false" aria-controls="desktop-menu-0-7" aria-haspopup="true">Harvest & Accessories<svg focusable="false" class="icon icon--arrow-bottom " viewBox="0 0 12 8" role="presentation">
2852      <path stroke="currentColor" stroke-width="2" d="M10 2L6 6 2 2" fill="none" stroke-linecap="square"></path>
2853    </svg><svg focusable="false" class="icon icon--nav-triangle " viewBox="0 0 20 9" role="presentation">
2854      <g fill="none" fill-rule="evenodd">
2855        <path d="M.47108938 9c.2694725-.26871321.57077721-.56867841.90388257-.89986354C3.12384116 6.36134886 5.74788116 3.76338565 9.2467995.30653888c.4145057-.4095171 1.0844277-.40860098 1.4977971.00205122L19.4935156 9H.47108938z" fill="#ffffff"></path>
2856        <path d="M-.00922471 9C1.38887087 7.61849126 4.26661926 4.80337304 8.62402045.5546454c.75993175-.7409708 1.98812015-.7393145 2.74596565.0037073L19.9800494 9h-1.3748787l-7.9226239-7.7676545c-.3789219-.3715101-.9930172-.3723389-1.3729808-.0018557-3.20734177 3.1273507-5.6127118 5.4776841-7.21584193 7.05073579C1.82769633 8.54226204 1.58379521 8.7818599 1.36203986 9H-.00922471z" fill="#e1e3e4"></path>
2857      </g>
2858    </svg></a>
2859
2860<div id="desktop-menu-0-7" class="harvest-menu mega-menu " data-type="menu" aria-hidden="true" role="list" >
2861   
2862 <div class="container">
2863    <div class="mega-menu__inner mega-menu__inner--center mega-menu__inner--large">
2864      
2865      
2866       <div class="mega-menu__column">
2867          <a href="/collections/trimming-1" class="mega-menu__title heading">Trimming</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2868                <a href="/collections/pruners" class="mega-menu__link link">Pruners</a>
2869             </li>
2870             
2871            <li class="mega-menu__item">
2872                <a href="/collections/trimmers" class="mega-menu__link link">Trimmers</a>
2873             </li>
2874             
2875            <li class="mega-menu__item">
2876                <a href="/collections/trimmer-parts" class="mega-menu__link link">Trimmer Parts</a>
2877             </li>
2878             
2879            <li class="mega-menu__item">
2880                <a href="/collections/buckers" class="mega-menu__link link">Buckers</a>
2881             </li>
2882             
2883            
2884          </ul>
2885       </div>
2886      
2887      
2888      
2889      
2890       <div class="mega-menu__column">
2891          <a href="/collections/extractions" class="mega-menu__title heading">Extraction</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2892                <a href="/collections/presses" class="mega-menu__link link">Presses</a>
2893             </li>
2894             
2895            <li class="mega-menu__item">
2896                <a href="/collections/extraction-bags" class="mega-menu__link link">Extraction Bags</a>
2897             </li>
2898             
2899            <li class="mega-menu__item">
2900                <a href="/collections/cooking-edibles" class="mega-menu__link link">Cooking & Edibles</a>
2901             </li>
2902             
2903            <li class="mega-menu__item">
2904                <a href="/collections/grow-tent-others" class="mega-menu__link link">Others</a>
2905             </li>
2906             
2907            
2908          </ul>
2909         
2910          <a href="/collections/sprays-parts" class="mega-menu__title heading">Sprayers & Parts</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2911                <a href="/collections/sprayers" class="mega-menu__link link">Sprayers</a>
2912             </li>
2913             
2914            <li class="mega-menu__item">
2915                <a href="/collections/parts-nozzles" class="mega-menu__link link">Parts & Nozzles</a>
2916             </li>
2917             
2918            
2919          </ul>
2920         
2921         
2922         
2923       </div>
2924       <div class="mega-menu__column">
2925          <a href="/collections/drying-accessories" class="mega-menu__title heading">Drying & Accessories</a><ul class="mega-menu__linklist" role="list"><li class="mega-menu__item">
2926                <a href="/collections/drying-racks" class="mega-menu__link link">Drying & Racks</a>
2927             </li>
2928             
2929            <li class="mega-menu__item">
2930                <a href="/collections/scales" class="mega-menu__link link">Scales</a>
2931             </li>
2932             
2933            <li class="mega-menu__item">
2934                <a href="/collections/hygiene-and-safety" class="mega-menu__link link">Hygiene & Safety</a>
2935             </li>
2936             
2937            <li class="mega-menu__item">
2938                <a href="/collections/packaging" class="mega-menu__link link">Packaging</a>
2939             </li>
2940             
2941            <li class="mega-menu__item">
2942                <a href="/collections/gloves" class="mega-menu__link link">Gloves</a>
2943             </li>
2944             
2945            <li class="mega-menu__item">
2946                <a href="/collections/freeze-dryers" class="mega-menu__link link">Freeze Dryers</a>
2947             </li>
2948             
2949            <li class="mega-menu__item">
2950                <a href="https://canadagrowsupplies.com/collections/garden-tools" class="mega-menu__link link">Garden Tools</a>
2951             </li>
2952             
2953            <li class="mega-menu__item">
2954                <a href="/collections/humidity-packs" class="mega-menu__link link">Humidity Packs</a>
2955             </li>
2956             
2957            <li class="mega-menu__item">
2958                <a href="/collections/other-accessories-drying" class="mega-menu__link link">Other Accessories (drying)</a>
2959             </li>
2960             
2961            
2962          </ul>
2963       </div>
2964       <div class="mega-menu__column">
2965           <a href="https://canadagrowsupplies.com/pages/brands" class="mega-menu__title heading fulltitle">Brands  <span><img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/right-arrow_20x.png?v=103978434622083363661686760905" loading="lazy"></span></a>
2966           
2967          <ul class="logos-sec">
2968            
2969              
2970                    
2971                     
2972            
2973                    
2974                    <li> 
2975            <a href="/collections/centurionpro"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-22.png?v=1654045392" loading="lazy"></a>
2976                     </li>
2977                    
2978                    
2979               
2980                    
2981                     
2982            
2983                    
2984                    <li> 
2985            <a href="/collections/twister"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-19.png?v=1654045392" loading="lazy"></a>
2986                     </li>
2987                    
2988                    
2989               
2990                    
2991                     
2992            
2993                    
2994                    <li> 
2995            <a href="/collections/trimpro"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-20.png?v=1654045392" loading="lazy"></a>
2996                     </li>
2997                    
2998                    
2999               
3000                    
3001                     
3002            
3003                    
3004                    <li> 
3005            <a href="/collections/jack-puck"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-21.png?v=1654045392" loading="lazy"></a>
3006                     </li>
3007                    
3008                    
3009               
3010                    
3011                     
3012            
3013                    
3014                    <li> 
3015            <a href=""><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-23.png?v=1654045392" loading="lazy"></a>
3016                     </li>
3017                    
3018                    
3019               
3020                    
3021                     
3022            
3023                    
3024                    <li> 
3025            <a href="/collections/pro-cut"><img src="//canadagrowsupplies.com/cdn/shop/files/Brand_logo-24.png?v=1654045392" loading="lazy"></a>
3026                     </li>
3027                    
3028                    
3029               
3030            
3031           
3032         
3033         </ul>
3034       </div>
3035    </div>
3036 </div>
3037 </div>
3038 
3039</li><li class="nav-bar__item"><a href="/pages/brands" class="nav-bar__link link" data-type="menuitem">Brands</a></li><li class="nav-bar__item"><a href="/collections/sale" class="nav-bar__link link" data-type="menuitem">Sale</a></li></ul>
3040        </div>
3041      </div>
3042    </nav></section>
3043
3044<style>
3045  :root {
3046    --header-is-sticky: 1;
3047    --header-inline-navigation: 1;
3048  }
3049
3050  #shopify-section-sections--15159568564267__header {
3051    position: relative;
3052    z-index: 5;position: -webkit-sticky;
3053      position: sticky;
3054      top: 0;}.header__logo-image {
3055      max-width: 100px !important;
3056    }
3057
3058    @media screen and (min-width: 641px) {
3059      .header__logo-image {
3060        max-width: 220px !important;
3061      }
3062    }@media screen and (min-width: 1000px) {
3063      .search-bar.is-expanded .search-bar__top {
3064        box-shadow: 0 -1px var(--border-color) inset;
3065      }
3066    }</style>
3067
3068<script>
3069  document.documentElement.style.setProperty('--header-height', document.getElementById('shopify-section-sections--15159568564267__header').clientHeight + 'px');
3070</script>
3070
3071
3072</div>
3073<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->
3074<div id="shopify-section-sections--15159568531499__popups" class="shopify-section shopify-section-group-overlay-group"><div data-section-id="sections--15159568531499__popups" data-section-type="popups"></div>
3075
3076</div><div id="shopify-section-sections--15159568531499__privacy-banner" class="shopify-section shopify-section-group-overlay-group"><privacy-banner class="cookie-bar" aria-hidden="true">
3077  <div class="container">
3078    <div class="cookie-bar__inner">
3079      <div class="cookie-bar__text rte"><p>Use this bar to show information about your cookie policy.</p></div>
3080
3081      <div class="cookie-bar__choice-container">
3082        <div class="button-group button-group--fit">
3083          <button type="button" class="cookie-bar__button button button--primary" data-action="accept-terms">Accept</button>
3084          <button type="button" class="cookie-bar__button button button--secondary" data-action="decline-terms">Decline</button>
3085        </div>
3086      </div>
3087    </div>
3088  </div>
3089</privacy-banner>
3090
3091
3092</div>
3093<!-- END sections: overlay-group --><main id="main" role="main">
3094      <div id="shopify-section-template--15159569285163__main" class="shopify-section"><style>
3095
3096  .layout__section.mobile_only {
3097    display: none;
3098  }
3099
3100  .blog-post-list div.article-item-mobile {
3101    display: flex;
3102    padding: 10px;
3103    background: white;
3104    margin-bottom: 20px !important;
3105    border-radius: 20px;
3106    align-items: flex-start;
3107  }
3108
3109  .article-item-mobile .articledatas {
3110    width: 60%;
3111    padding-top: unset !important;
3112    padding-left: unset !important;
3113    padding-bottom: unset !important;
3114  }
3115
3116  .article-item-mobile h2.article-item__title.heading.h3,
3117  .article-item-mobile h2.article-item__title.heading.h3 a {
3118    font-size: 1rem !important;
3119    line-height: 1.2;
3120    margin-top: 5px;
3121    margin-bottom: 10px;
3122  }
3123
3124  .article-item-mobile a.nomargin.article-item__image-container {
3125    width: 40%;
3126  }
3127
3128  .article-item-mobile .article-item__meta {
3129    color: var(--header-accent-color);
3130  }
3131
3132  .article-item-mobile .article-item__excerpt {
3133    margin-top: unset;
3134    line-height: 1;
3135    font-size: 0.9rem;
3136  }
3137
3138  .article-item-mobile .article-item__meta-item {
3139    font-size: 0.8em;
3140  }
3141
3142  .article-item-mobile .article-item__image {
3143    height: 120px;
3144    object-fit: cover;
3145    border-radius: 20px;
3146  }
3147
3148  @media screen and (max-width: 989px) {
3149    .layout__section.desktop_only {
3150      display: none;
3151    }
3152
3153    .layout__section.mobile_only {
3154      display: flex;
3155      flex-direction: column;
3156    }
3157  }
3158  
3159</style>
3160
3161<article data-section-id="template--15159569285163__main" data-section-type="blog">
3162  <div class="container"><header class="page__header">
3163        <nav aria-label="Breadcrumb" class="breadcrumb">
3164          <ol class="breadcrumb__list" role="list">
3165            <li class="breadcrumb__item">
3166              <a class="breadcrumb__link link" href="/">Home</a><svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
3167      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
3168    </svg></li>
3169            <li class="breadcrumb__item">
3170              <a class="breadcrumb__link link" href="/blogs/main">Blog</a> 
3171            </li>
3172          </ol>
3173        </nav>
3174
3175        
3176</header><div class="blog-container"><div class="blog-post-list-wrapper">
3177          <div class="layout">
3178            <div class="layout__section layout__section--secondary hidden-pocket">
3179              <div class="postsearch">
3180                <form action="/search" method="get" onsubmit="checkSearch(this);" role="search" class="search-bar"><div class="search-bar__top-wrapper">
3181                  <div class="search-bar__top">
3182                    <input type="hidden" name="type" value="article">
3183                    <input type="hidden" name="options[prefix]" value="last">
3184
3185                    <div class="search-bar__input-wrapper">
3186                      <input class="search-bar__input" type="text" name="q" autocomplete="off" autocorrect="off" aria-label="Search article" placeholder="Search article">
3187                    </div>
3188                    <button type="submit" class="search-bar__submit" aria-label="Search">
3189                      <svg focusable="false" class="icon icon--search " viewBox="0 0 21 21" role="presentation">
3190                        <g stroke-width="2" stroke="currentColor" fill="none" fill-rule="evenodd">
3191                          <path d="M19 19l-5-5" stroke-linecap="square"></path>
3192                          <circle cx="8.5" cy="8.5" r="7.5"></circle>
3193                        </g>
3194                      </svg>
3195                    </button>
3196                  </div>
3197                </div>
3198              </form>
3199              </div>
3200              <div class="postsibarcat">
3201                <p class="catbtitole">Categories</p>
3202                <ul class="search-bar__menu-linklist list--unstyled" role="list"><li><a href="/blogs/main/tagged/autopot" class="search-bar__menu-link">AutoPot</a></li><li><a href="/blogs/main/tagged/freeze-drying" class="search-bar__menu-link">Freeze Drying</a></li><li><a href="/blogs/main/tagged/fruits" class="search-bar__menu-link">fruits</a></li><li><a href="/blogs/main/tagged/grow-tents" class="search-bar__menu-link">Grow Tents</a></li><li><a href="/blogs/main/tagged/hydroponics" class="search-bar__menu-link">Hydroponics</a></li><li><a href="/blogs/main/tagged/indoor-growing" class="search-bar__menu-link">Indoor Growing</a></li><li><a href="/blogs/main/tagged/led-lights" class="search-bar__menu-link">LED Lights</a></li><li><a href="/blogs/main/tagged/lifestyle" class="search-bar__menu-link">Lifestyle</a></li><li><a href="/blogs/main/tagged/microgreens" class="search-bar__menu-link">Microgreens</a></li><li><a href="/blogs/main/tagged/outdoor-growing" class="search-bar__menu-link">Outdoor Growing</a></li><li><a href="/blogs/main/tagged/plant-diseases" class="search-bar__menu-link">Plant Diseases</a></li><li><a href="/blogs/main/tagged/plant-problems" class="search-bar__menu-link">Plant Problems</a></li><li><a href="/blogs/main/tagged/vegetables" class="search-bar__menu-link">Vegetables</a></li><li><a href="/blogs/main/tagged/water-chillers" class="search-bar__menu-link">
3202Water Chillers</a></li></ul>
3203              </div>
3204              <div class="toparticles">
3205                <h3 class="topartitle">Top Articles</h3><div class="toparmain">
3206                  <div class="toparnum"><span>1</span></div>
3207                  <div class="topardata">
3208                    <h3 class="article-item__title heading h4">
3209                      <a href="/blogs/main/flower-room-lighting-why-plants-need-light-in-flowering" class="link">Flower Room Lighting: Why Plants Need Light in Flowering</a>
3210                    </h3><time class="article-item__meta-item">Apr 24, 2026- Indoor Growing</time></div>
3211                </div>
3212                <div class="toparmain">
3213                  <div class="toparnum"><span>2</span></div>
3214                  <div class="topardata">
3215                    <h3 class="article-item__title heading h4">
3216                      <a href="/blogs/main/best-practices-to-increase-yields-with-co2-canada-grow-supplies" class="link">Best Practices to Increase Yields With CO2 | Canada Grow Supplies</a>
3217                    </h3><time class="article-item__meta-item">Apr 21, 2026- Hydroponics</time></div>
3218                </div>
3219                <div class="toparmain">
3220                  <div class="toparnum"><span>3</span></div>
3221                  <div class="topardata">
3222                    <h3 class="article-item__title heading h4">
3223                      <a href="/blogs/main/why-ph-is-important-for-plants-canada-grow-supplies" class="link">Why pH Is Important for Plants | Canada Grow Supplies</a>
3224                    </h3><time class="article-item__meta-item">Apr 16, 2026- Hydroponics</time></div>
3225                </div>
3226                <div class="toparmain">
3227                  <div class="toparnum"><span>4</span></div>
3228                  <div class="topardata">
3229                    <h3 class="article-item__title heading h4">
3230                      <a href="/blogs/main/how-to-grow-seedlings-in-coco-coir" class="link">How to Grow Seedlings in Coco Coir</a>
3231                    </h3><time class="article-item__meta-item">Apr 15, 2026- Indoor Growing</time></div>
3232                </div>
3233                <div class="toparmain">
3234                  <div class="toparnum"><span>5</span></div>
3235                  <div class="topardata">
3236                    <h3 class="article-item__title heading h4">
3237                      <a href="/blogs/main/how-to-choose-the-best-led-grow-light-for-indoor-growing" class="link">How to Choose the Best LED Grow Light for Indoor Growing</a>
3238                    </h3><time class="article-item__meta-item">Apr 15, 2026- Indoor Growing</time></div>
3239                </div>
3240                
3241              </div>
3242            </div>
3243            <div class="layout__section desktop_only"><div class="blog-post-list block-list block-list--loose block-list--no-flush"><div class="block-list__item 1/1 1/2--tablet 1/2--desk "><div class="article-item "><a href="/blogs/main/flower-room-lighting-why-plants-need-light-in-flowering" class="nomargin article-item__image-container"><div class="aspect-ratio" style="padding-bottom: 70%">
3244        <img class="article-item__image lazyload image--fade-in" src="//canadagrowsupplies.com/cdn/shop/articles/Flower_Room_Lighting_-_Why_Plants_Need_Lighting_During_Flowering.jpg?v=1777042243" data-src="//canadagrowsupplies.com/cdn/shop/articles/Flower_Room_Lighting_-_Why_Plants_Need_Lighting_During_Flowering_{width}x.jpg?v=1777042243" data-widths="[200,300,400,500,600]" data-sizes="auto" alt="Flower Room Lighting: Why Plants Need Light in Flowering">
3245		
3246        <div class="catimg">
3247          <span class="article-item__meta-item">Indoor Growing</span>
3248        </div>
3249        
3250        <noscript>
3251          <img class="article-item__image" src="//canadagrowsupplies.com/cdn/shop/articles/Flower_Room_Lighting_-_Why_Plants_Need_Lighting_During_Flowering_600x.jpg?v=1777042243" alt="Flower Room Lighting: Why Plants Need Light in Flowering">
3252        </noscript>
3253      </div>
3254    </a><div class="author_meta_user" >
3255
3256  
3257  <a href="/pages/eric-st-cyr">
3258  <img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/eric-st-cyr.png?v=146232846340800743781700077143" alt="Eric St-Cyr">
3259</a>  
3260</div><div class="articledatas articledatas_bottom"><div class="article-item__meta">
3261      <span class="article-item__meta-item">Eric St-Cyr</span><time class="article-item__meta-item">Apr 24, 2026</time>
3262    </div><p class="article-item__title heading h3">
3263      <a href="/blogs/main/flower-room-lighting-why-plants-need-light-in-flowering" class="link">Flower Room Lighting: Why Plants Need Light in Flowering</a>
3264    </p><div class="article-item__excerpt rte">Flower Room Lighting: Why Plants Need Lighting During Flowering
3265When plants move into the flowering stage, lighting becomes one of the most importa...</div></div>
3266</div></div><div class="block-list__item 1/1 1/2--tablet 1/2--desk "><div class="article-item "><a href="/blogs/main/best-practices-to-increase-yields-with-co2-canada-grow-supplies" class="nomargin article-item__image-container"><div class="aspect-ratio" style="padding-bottom: 70%">
3267        <img class="article-item__image lazyload image--fade-in" src="//canadagrowsupplies.com/cdn/shop/articles/Best_Practices_to_Increase_Yields_With_CO2_1a7336e4-2ca5-4986-83f8-214b0879bd33.jpg?v=1776783452" data-src="//canadagrowsupplies.com/cdn/shop/articles/Best_Practices_to_Increase_Yields_With_CO2_1a7336e4-2ca5-4986-83f8-214b0879bd33_{width}x.jpg?v=1776783452" data-widths="[200,300,400,500,600]" data-sizes="auto" alt="Best Practices to Increase Yields With CO2">
3268		
3269        <div class="catimg">
3270          <span class="article-item__meta-item">Hydroponics</span>
3271        </div>
3272        
3273        <noscript>
3274          <img class="article-item__image" src="//canadagrowsupplies.com/cdn/shop/articles/Best_Practices_to_Increase_Yields_With_CO2_1a7336e4-2ca5-4986-83f8-214b0879bd33_600x.jpg?v=1776783452" alt="Best Practices to Increase Yields With CO2">
3275        </noscript>
3276      </div>
3277    </a><div class="author_meta_user" >
3278
3279  
3280  <a href="/pages/eric-st-cyr">
3281  <img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/eric-st-cyr.png?v=146232846340800743781700077143" alt="Eric St-Cyr">
3282</a>  
3283</div><div class="articledatas articledatas_bottom"><div class="article-item__meta">
3284      <span class="article-item__meta-item">Eric St-Cyr</span><time class="article-item__meta-item">Apr 21, 2026</time>
3285    </div><p class="article-item__title heading h3">
3286      <a href="/blogs/main/best-practices-to-increase-yields-with-co2-canada-grow-supplies" class="link">Best Practices to Increase Yields With CO2 | Canada Grow Supplies</a>
3287    </p><div class="article-item__excerpt rte">Best Practices to Increase Yields With CO2
3288CO2 enrichment can be a powerful tool in indoor growing, but it only works well when the rest of the env...</div></div>
3289</div></div><div class="block-list__item 1/1 1/2--tablet 1/2--desk "><div class="article-item "><a href="/blogs/main/why-ph-is-important-for-plants-canada-grow-supplies" class="nomargin article-item__image-container"><div class="aspect-ratio" style="padding-bottom: 70%">
3290        <img class="article-item__image lazyload image--fade-in" src="//canadagrowsupplies.com/cdn/shop/articles/Why_pH_Is_Important_for_Plants_083adb61-ed23-4ec3-aa96-04157992e357.png?v=1776350472" data-src="//canadagrowsupplies.com/cdn/shop/articles/Why_pH_Is_Important_for_Plants_083adb61-ed23-4ec3-aa96-04157992e357_{width}x.png?v=1776350472" data-widths="[200,300,400,500,600,700,800,900,1000]" data-sizes="auto" alt="Why pH Is Important for Plants">
3291		
3292        <div class="catimg">
3293          <span class="article-item__meta-item">Hydroponics</span>
3294        </div>
3295        
3296        <noscript>
3297          <img class="article-item__image" src="//canadagrowsupplies.com/cdn/shop/articles/Why_pH_Is_Important_for_Plants_083adb61-ed23-4ec3-aa96-04157992e357_600x.png?v=1776350472" alt="Why pH Is Important for Plants">
3298        </noscript>
3299      </div>
3300    </a><div class="author_meta_user" >
3301
3302  
3303  <a href="/pages/eric-st-cyr">
3304  <img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/eric-st-cyr.png?v=146232846340800743781700077143" alt="Eric St-Cyr">
3305</a>  
3306</div><div class="articledatas articledatas_bottom"><div class="article-item__meta">
3307      <span class="article-item__meta-item">Eric St-Cyr</span><time class="article-item__meta-item">Apr 16, 2026</time>
3308    </div><p class="article-item__title heading h3">
3309      <a href="/blogs/main/why-ph-is-important-for-plants-canada-grow-supplies" class="link">Why pH Is Important for Plants | Canada Grow Supplies</a>
3310    </p><div class="article-item__excerpt rte"><p>pH plays a major role in plant health because it affects how easily roots can absorb essential nutrients. Even with the right lighting, watering, and feeding routine, plants can struggle if the pH is out of range. Whether you are growing in soil, coco coir, or hydroponics, understanding and managing pH can help supp
3310ort stronger growth, healthier roots, and more consistent results throughout the grow cycle.</p></div></div>
3311</div></div><div class="block-list__item 1/1 1/2--tablet 1/2--desk "><div class="article-item "><a href="/blogs/main/how-to-grow-seedlings-in-coco-coir" class="nomargin article-item__image-container"><div class="aspect-ratio" style="padding-bottom: 70%">
3312        <img class="article-item__image lazyload image--fade-in" src="//canadagrowsupplies.com/cdn/shop/articles/Can_you_also_give_a_short_intro_f775362b-6908-4cb3-952d-85af42f50b20.png?v=1776270694" data-src="//canadagrowsupplies.com/cdn/shop/articles/Can_you_also_give_a_short_intro_f775362b-6908-4cb3-952d-85af42f50b20_{width}x.png?v=1776270694" data-widths="[200,300,400,500,600,700,800,900,1000]" data-sizes="auto" alt="Can you also give a short intro">
3313		
3314        <div class="catimg">
3315          <span class="article-item__meta-item">Indoor Growing</span>
3316        </div>
3317        
3318        <noscript>
3319          <img class="article-item__image" src="//canadagrowsupplies.com/cdn/shop/articles/Can_you_also_give_a_short_intro_f775362b-6908-4cb3-952d-85af42f50b20_600x.png?v=1776270694" alt="Can you also give a short intro">
3320        </noscript>
3321      </div>
3322    </a><div class="author_meta_user" >
3323
3324  
3325  <a href="/pages/eric-st-cyr">
3326  <img src="//canadagrowsupplies.com/cdn/shop/t/43/assets/eric-st-cyr.png?v=146232846340800743781700077143" alt="Eric St-Cyr">
3327</a>  
3328</div><div class="articledatas articledatas_bottom"><div class="article-item__meta">
3329      <span class="article-item__meta-item">Eric St-Cyr</span><time class="article-item__meta-item">Apr 15, 2026</time>
3330    </div><p class="article-item__title heading h3">
3331      <a href="/blogs/main/how-to-grow-seedlings-in-coco-coir" class="link">How to Grow Seedlings in Coco Coir</a>
3332    </p><div class="article-item__excerpt rte">How to Grow Seedlings in Coco Coir
3333Growing seedlings in coco coir is a practical choice for indoor growers who want a clean, airy, and easy-to-mana...</div></div>
3334</div></div></div><div class="pagination">
3335    <div class="pagination__inner"><div class="pagination__nav"><span class="pagination__nav-item is-active">1</span><a href="/blogs/main?page=2" data-page="2" class="pagination__nav-item link" title="Navigate to page 2">2</a><a href="/blogs/main?page=3" data-page="3" class="pagination__nav-item link" title="Navigate to page 3">3</a><span class="pagination__nav-item ">&hellip;</span><a href="/blogs/main?page=50" data-page="50" class="pagination__nav-item link" title="Navigate to page 50">50</a></div>
3336
3337      <span class="pagination__page-count">Page 1 / 50</span><a class="pagination__next link" rel="next" title="Next" data-page="2" href="/blogs/main?page=2">Next<svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
3338      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
3339    </svg></a></div>
3340  </div></div>
3341
3342            <div class="layout__section mobile_only"><div class="blog-post-list block-list block-list--loose block-list--no-flush"><div class="block-list__item 1/1 1/2--tablet 1/2--desk "><div class="article-item-mobile"><div class="articledatas articledatas_bottom"><div class="article-item__meta">
3343        <span class="article-item__meta-item">Eric St-Cyr</span><time class="article-item__meta-item">Apr 24, 2026</time>
3344      </div><h2 class="article-item__title heading h3">
3345        <a href="/blogs/main/flower-room-lighting-why-plants-need-light-in-flowering" class="link">Flower Room Lighting: Why Plants Need Light in Flowering</a>
3346      </h2><div class="article-item__excerpt rte">Flower Room Lighting: Why Plants Need Lighting During Flo...</div></div><a href="/blogs/main/flower-room-lighting-why-plants-need-light-in-flowering" class="nomargin article-item__image-container">
3347      <img class="article-item__image lazyload image--fade-in" src="//canadagrowsupplies.com/cdn/shop/articles/Flower_Room_Lighting_-_Why_Plants_Need_Lighting_During_Flowering.jpg?v=1777042243" data-src="" data-widths="[]" data-sizes="auto" alt="Flower Room Lighting: Why Plants Need Light in Flowering">
3348    </a></div></div><div class="block-list__item 1/1 1/2--tablet 1/2--desk "><div class="article-item-mobile"><div class="articledatas articledatas_bottom"><div class="article-item__meta">
3349        <span class="article-item__meta-item">Eric St-Cyr</span><time class="article-item__meta-item">Apr 21, 2026</time>
3350      </div><h2 class="article-item__title heading h3">
3351        <a href="/blogs/main/best-practices-to-increase-yields-with-co2-canada-grow-supplies" class="link">Best Practices to Increase Yields With CO2 | Canada Grow Supplies</a>
3352      </h2><div class="article-item__excerpt rte">Best Practices to Increase Yields With CO2
3353CO2 enrichment...</div></div><a href="/blogs/main/best-practices-to-increase-yields-with-co2-canada-grow-supplies" class="nomargin article-item__image-container">
3354      <img class="article-item__image lazyload image--fade-in" src="//canadagrowsupplies.com/cdn/shop/articles/Best_Practices_to_Increase_Yields_With_CO2_1a7336e4-2ca5-4986-83f8-214b0879bd33.jpg?v=1776783452" data-src="" data-widths="[]" data-sizes="auto" alt="Best Practices to Increase Yields With CO2">
3355    </a></div></div><div class="block-list__item 1/1 1/2--tablet 1/2--desk "><div class="article-item-mobile"><div class="articledatas articledatas_bottom"><div class="article-item__meta">
3356        <span class="article-item__meta-item">Eric St-Cyr</span><time class="article-item__meta-item">Apr 16, 2026</time>
3357      </div><h2 class="article-item__title heading h3">
3358        <a href="/blogs/main/why-ph-is-important-for-plants-canada-grow-supplies" class="link">Why pH Is Important for Plants | Canada Grow Supplies</a>
3359      </h2><div class="article-item__excerpt rte"><p>pH plays a major role in plant health because it affects how easily roots can absorb essential nutrients. Even with the right lighting, watering, and feeding routine, plants can struggle if the pH is out of range. Whether you are growing in soil, coco coir, or hydroponics, understanding and managing pH can help support stronger growth, healthier roots, and more consistent results throughout the grow cycle.</p></div></div><a href="/blogs/main/why-ph-is-important-for-plants-canada-grow-supplies" class="nomargin article-item__image-container">
3360      <img class="article-item__image lazyload image--fade-in" src="//canadagrowsupplies.com/cdn/shop/articles/Why_pH_Is_Important_for_Plants_083adb61-ed23-4ec3-aa96-04157992e357.png?v=1776350472" data-src="" data-widths="[]" data-sizes="auto" alt="Why pH Is Important for Plants">
3361    </a></div></div><div class="block-list__item 1/1 1/2--tablet 1/2--desk "><div class="article-item-mobile"><div class="articledatas articledatas_bottom"><div class="article-item__meta">
3362        <span class="article-item__meta-item">Eric St-Cyr</span><time class="article-item__meta-item">Apr 15, 2026</time>
3363      </div><h2 class="article-item__title heading h3">
3364        <a href="/blogs/main/how-to-grow-seedlings-in-coco-coir" class="link">How to Grow Seedlings in Coco Coir</a>
3365      </h2><div class="article-item__excerpt rte">How to Grow Seedlings in Coco Coir
3366Growing seedlings in c...</div></div><a href="/blogs/main/how-to-grow-seedlings-in-coco-coir" class="nomargin article-item__image-container">
3367      <img class="article-item__image lazyload image--fade-in" src="//canadagrowsupplies.com/cdn/shop/articles/Can_you_also_give_a_short_intro_f775362b-6908-4cb3-952d-85af42f50b20.png?v=1776270694" data-src="" data-widths="[]" data-sizes="auto" alt="Can you also give a short intro">
3368    </a></div></div></div><div class="pagination">
3369    <div class="pagination__inner"><div class="pagination__nav"><span class="pagination__nav-item is-active">1</span><a href="/blogs/main?page=2" data-page="2" class="pagination__nav-item link" title="Navigate to page 2">2</a><a href="/blogs/main?page=3" data-page="3" class="pagination__nav-item link" title="Navigate to page 3">3</a><span class="pagination__nav-item ">&hellip;</span><a href="/blogs/main?page=50" data-page="50" class="pagination__nav-item link" title="Navigate to page 50">50</a></div>
3370
3371      <span class="pagination__page-count">Page 1 / 50</span><a class="pagination__next link" rel="next" title="Next" data-page="2" href="/blogs/main?page=2">Next<svg focusable="false" class="icon icon--arrow-right " viewBox="0 0 8 12" role="presentation">
3372      <path stroke="currentColor" stroke-width="2" d="M2 2l4 4-4 4" fill="none" stroke-linecap="square"></path>
3373    </svg></a></div>
3374  </div></div>
3375          </div>
3376        </div></div>
3377  </div>
3378</article>
3379
3380</div>
3381    </main><!-- BEGIN sections: footer-group -->
3382<div id="shopify-section-sections--15159568498731__footer" class="shopify-section shopify-section-group-footer-group"><footer class="footer" data-section-id="sections--15159568498731__footer" data-section-type="footer" role="contentinfo">
3383  <div class="container">
3384    <div class="footer__wrapper"><div class="footer__block-list">
3385          			<div class="logofooter footer__block-item footer__block-item--links" >
3386          				<img src="//canadagrowsupplies.com/cdn/shop/files/Group_1.png?v=1652452958" loading="lazy" width="100%" height="100%" alt="Canada Grow Supplies White Logo">
3387          			</div>
3388          		
3389<div class="paymentfooter footer__block-item footer__block-item--links" >
3390                      
3391                      <p class="footer__aside-title">We Accept</p>
3392                      	<img src="//canadagrowsupplies.com/cdn/shop/files/Group_71_1_20384cdc-0597-4f47-9d2d-3656157d3e8f.png?v=1666079399" loading="lazy" alt="Accept Payment Icons in CGS">
3393                      </div><div class="footer__block-item footer__block-item--links" >
3394                    <button class="footer__title heading h6" disabled aria-expanded="false" aria-controls="block-aa2b8bb9-e1e9-4918-a041-3b46135504b9" data-action="toggle-collapsible">
3395                      <span>About</span>
3396                      <span class="plus-button"></span>
3397                    </button>
3398
3399                    <div id="block-aa2b8bb9-e1e9-4918-a041-3b46135504b9" class="footer__collapsible">
3400                      <div class="footer__collapsible-content">
3401                        <ul class="footer__linklist list--unstyled" role="list"><li>
3402                              <a href="/pages/about" class="footer__link-item link">Company</a>
3403                            </li><li>
3404                              <a href="/blogs/main" class="footer__link-item link">Blog</a>
3405                            </li><li>
3406                              <a href="/policies/privacy-policy" class="footer__link-item link">Privacy Policy</a>
3407                            </li><li>
3408                              <a href="https://canadagrowsupplies.com/pages/happy-customers-page" class="footer__link-item link">Reviews</a>
3409                            </li></ul>
3410                      </div>
3411                    </div>
3412                  </div><div class="footer__block-item footer__block-item--links" >
3413                    <button class="footer__title heading h6" disabled aria-expanded="false" aria-controls="block-81123cfb-eec3-4e55-bef9-762223f1974e" data-action="toggle-collapsible">
3414                      <span>Help</span>
3415                      <span class="plus-button"></span>
3416                    </button>
3417
3418                    <div id="block-81123cfb-eec3-4e55-bef9-762223f1974e" class="footer__collapsible">
3419                      <div class="footer__collapsible-content">
3420                        <ul class="footer__linklist list--unstyled" role="list"><li>
3421                              <a href="/account/" class="footer__link-item link">My Account</a>
3422                            </li><li>
3423                              <a href="/pages/faqs" class="footer__link-item link">FAQs</a>
3424                            </li><li>
3425                              <a href="/pages/contact" class="footer__link-item link">Contact Us</a>
3426                            </li><li>
3427                              <a href="/pages/our-price-match-guarantee" class="footer__link-item link">Price Matching</a>
3428                            </li><li>
3429                              <a href="/policies/terms-of-service" class="footer__link-item link">Terms and Conditions</a>
3430                            </li><li>
3431                              <a href="/policies/refund-policy" class="footer__link-item link">Refund Policy</a>
3432                            </li><li>
3433                              <a href="/policies/shipping-policy" class="footer__link-item link">Shipping</a>
3434                            </li><li>
3435                              <a href="https://canada-grow-supplies-main.myshopify.com/apps/parcelpanel" class="footer__link-item link">Track Your Order</a>
3436                            </li><li>
3437                              <a href="/pages/grow-club" class="footer__link-item link">GrowClub</a>
3438                            </li></ul>
3439                      </div>
3440                    </div>
3441                  </div><div class="footer__block-item footer__block-item--links" >
3442                    <button class="footer__title heading h6" disabled aria-expanded="false" aria-controls="block-footer-1" data-action="toggle-collapsible">
3443                      <span>Follow</span>
3444                      <span class="plus-button"></span>
3445                    </button>
3446
3447                    <div id="block-footer-1" class="footer__collapsible">
3448                      <div class="footer__collapsible-content">
3449                        <ul class="footer__linklist list--unstyled" role="list"><li>
3450                              <a href="https://www.facebook.com/canadagrowsupplies/" class="footer__link-item link">Facebook</a>
3451                            </li><li>
3452                              <a href="https://www.instagram.com/canadagrowsuppliescom/" class="footer__link-item link">Instagram</a>
3453                            </li><li>
3454                              <a href="tel:888-349-0321" class="footer__link-item link">888-349-0321</a>
3455                            </li><li>
3456                              <a href="mailto:[email protected]" class="footer__link-item link">[email protected]</a>
3457                            </li><li>
3458                              <a href="/pages/about" class="footer__link-item link">Store Address: 1825 rue Guillet, Laval, Quebec, H7L 5B1</a>
3459                            </li></ul>
3460                      </div>
3461                    </div>
3462                  </div></div><aside class="footer__aside"><div class="footer__aside-item footer__aside-item--localization ">
3463          <p class="hidden-pocket">© 2026 Canada Grow Supplies</p>
3464        </div><div class="footer__aside-item footer__aside-item--copyright hidden-lap-and-up">
3465          <p>© 2026 Canada Grow Supplies</p>
3466        </div>
3467      </aside>
3468    </div>
3469  </div></footer>
3470
3471
3472
3473</div>
3474<!-- END sections: footer-group --><ul hidden>
3475      <li id="a11y-new-window-message">Opens in a new window.</li>
3476    </ul>
3477  
3478	
3478<script async src="https://loox.io/widget/NJZBUTbYHn/loox.1651514932607.js?shop=canada-grow-supplies-main.myshopify.com"></script>
3478
3479
3480   <!--begin-boost-pfs-js-->
3481   
3481<script>
3482  /* Declare bcSfFilterConfig variable */
3483  var boostPFSAppConfig = {
3484    api: {
3485      filterUrl: 'https://services.mybcapps.com/bc-sf-filter/filter',
3486      searchUrl: 'https://services.mybcapps.com/bc-sf-filter/search',
3487      suggestionUrl: 'https://services.mybcapps.com/bc-sf-filter/search/suggest',
3488      productsUrl: 'https://services.mybcapps.com/bc-sf-filter/search/products',
3489      analyticsUrl: 'https://lambda.mybcapps.com/e'
3490    },
3491    shop: {
3492      name: 'Canada Grow Supplies',
3493      url: 'https://canadagrowsupplies.com',
3494      domain: 'canada-grow-supplies-main.myshopify.com',
3495      currency: 'CAD',
3496      money_format: "\u003cspan class=money\u003e\u0026#36; {{amount}}\u003c\/span\u003e",
3497      money_format_with_currency: "\u003cspan class=money\u003e\u0026#36; {{amount}} CAD\u003c\/span\u003e"
3498    },
3499    general: {
3500      file_url: "//canadagrowsupplies.com/cdn/shop/files/?v=20150",
3501      asset_url: "//canadagrowsupplies.com/cdn/shop/t/43/assets/boost-pfs.js?v=20150",
3502      collection_id: 0,
3503      collection_handle: "",
3504      collection_product_count: 0,
3505      
3506      
3507      theme_id: 126057250859,
3508      collection_tags: null,
3509      current_tags: null,
3510      default_sort_by: "",
3511      swatch_extension: "png",
3512      no_image_url: "//canadagrowsupplies.com/cdn/shop/t/43/assets/boost-pfs-no-image.gif?v=45510820439899768411686760904",
3513      search_term: "",
3514      template: "blog",currencies: ["CAD"],
3515      current_currency:"CAD",published_locales: {"en":true,"fr":false},
3516      current_locale:"en",
3517      isInitFilter:false},
3518    
3519    settings: {"general":{"productAndVariantAvailable":false,"availableAfterFiltering":false,"activeFilterScrollbar":true,"showFilterOptionCount":true,"showSingleOption":false,"showOutOfStockOption":false,"collapseOnPCByDefault":false,"collapseOnMobileByDefault":false,"keepToggleState":true,"showRefineBy":true,"capitalizeFilterOptionValues":true,"paginationType":"default","showLoading":false,"activeScrollToTop":false,"customSortingList":"relevance|best-selling|manual|title-ascending|title-descending|price-ascending|price-descending|created-ascending|created-descending","enableAjaxCart":true,"ajaxCartStyle":"slide","selectOptionInProductItem":false,"enableCollectionSearch":true},"search":{"enableSuggestion":true,"showSuggestionProductVendor":true,"showSuggestionProductPrice":true,"showSuggestionProductSalePrice":true,"showSuggestionProductSku":true,"showSuggestionProductImage":true,"enableFuzzy":true,"productAvailable":false,"suggestionBlocks":[{"type":"suggestions","label":"Popular suggestions","status":"active","number":5},{"type":"collections","label":"Collections","status":"active","number":3,"excludedValues":[]},{"type":"products","label":"Products","status":"active","number":6},{"type":"pages","label":"Blog & Pages","status":"disabled","number":3}],"searchBoxOnclick":{"recentSearch":{"label":"Recent searches","status":true,"number":"3"},"searchTermSuggestion":{"label":"Popular searches","status":false,"data":[]},"productSuggestion":{"label":"Trending products","status":false,"data":[]}},"suggestionNoResult":{"search_terms":{"label":"Popular searches","status":false,"data":[],"type":"based_on_data","backup":[]},"products":{"label":"Trending products","status":false,"data":[],"type":"based_on_data","backup":[]}},"suggestionStyle":"style2","suggestionStyle1ProductItemType":"list","suggestionStyle1ProductPosition":"none","suggestionStyle1ProductPerRow":"1","suggestionStyle2ProductItemType":"list","suggestionStyle2ProductPosition":"right","suggestionStyle2ProductPerRow":"2","suggestionStyle3ProductItemType":"list","suggestionStyle3ProductPosition":"right","suggestionStyle3ProductPerRow":"3","searchPanelBlocks":{"searchTermSuggestions":{"label":"Popular searches","searchTermList":[],"backup":[],"type":"based_on_data","active":false},"mostPopularProducts":{"label":"Trending products","productList":[],"backup":[],"active":false,"type":"based_on_data"},"searchEmptyResultMessages":{"label":"We are sorry! We couldn't find results for \"{{ terms }}\".{{ breakline }}But don't give up – check the spelling or try less specific search terms.","active":true},"products":{"label":"Products","pageSize":25,"active":true,"displayImage":true},"collections":{"label":"Collections","pageSize":25,"active":false,"displayImage":false,"displayDescription":false,"excludedValues":[]},"pages":{"label":"Pages","pageSize":25,"active":false,"displayImage":false,"displayExcerpt":false},"searchTips":{"label":"Search tips","active":false,"searchTips":"Please double-check your spelling.{{ breakline }}Use more generic search terms.{{ breakline }}Enter fewer keywords.{{ breakline }}Try searching by product type, brand, model number or product feature."}}},"backSettings":{"offSensitive":false}
3519,"actionlist":{"qvBtnBackgroundColor":"rgba(255||255||255||1)","qvBtnTextColor":"rgba(61||66||70||1)","qvBtnBorderColor":"rgba(255||255||255||1)","qvBtnHoverBackgroundColor":"rgba(61||66||70||1)","qvBtnHoverTextColor":"rgba(255||255||255||1)","qvBtnHoverBorderColor":"rgba(61||66||70||1)","atcBtnBackgroundColor":"rgba(0||0||0||1)","atcBtnTextColor":"rgba(255||255||255||1)","atcBtnBorderColor":"rgba(0||0||0||1)","atcBtnHoverBackgroundColor":"rgba(61||66||70||1)","atcBtnHoverTextColor":"rgba(255||255||255||1)","atcBtnHoverBorderColor":"rgba(61||66||70||1)","alStyle":"bc-al-style4","qvEnable":true,"atcEnable":true},"labelTranslations":{"en":{"refine":"Refine By","refineMobile":"Refine By","refineMobileCollapse":"Hide Filter","clear":"Clear","clearAll":"Clear All","viewMore":"View More","viewLess":"View Less","apply":"Apply","applyAll":"Apply All","close":"Close","back":"Back","showLimit":"Show","collectionAll":"All","under":"Under","above":"Above","ratingStar":"Star","ratingStars":"Stars","ratingUp":"& Up","showResult":"Show result","searchOptions":"Search Options","inCollectionSearch":"Search for products in this collection","loadPreviousPage":"Load Previous Page","listView":"List view","gridView":"Grid view","gridViewColumns":"Grid view - columns","loadMore":"Load more {{ amountProduct }} Products","loadMoreTotal":"{{ from }} - {{ to }} of {{ total }} Products","sortByOptions":{"relevance":"Relevance","best-selling":"Best selling","manual":"Manual","title-ascending":"Title ascending","title-descending":"Title descending","price-ascending":"Price ascending","price-descending":"Price descending","created-ascending":"Created ascending","created-descending":"Created descending"},"recommendation":{"homepage-561337":"Just dropped","homepage-310521":"Best Sellers","collectionpage-225787":"Just dropped","collectionpage-778856":"Most Popular Products","productpage-243620":"Recently viewed","productpage-715722":"Frequently Bought Together","cartpage-425856":"Still interested in this?","cartpage-171306":"Similar Products"},"search":{"generalTitle":"General Title (when no search term)","resultHeader":"Search results for \"{{ terms }}\"","resultNumber":"Showing {{ count }} results for \"{{ terms }}\"","seeAllProducts":"See all products","resultEmpty":"We are sorry! We couldn't find results for \"{{ terms }}\".{{ breakline }}But don't give up – check the spelling or try less specific search terms.","resultEmptyWithSuggestion":"Sorry, nothing matched \"{{ terms }}\". Check out these items instead?","searchTotalResult":"Showing {{ count }} result","searchTotalResults":"Showing {{ count }} results","searchPanelProduct":"Products","searchPanelCollection":"Collections","searchPanelPage":"Pages","searchTipsTitle":"Search tips","searchTipsContent":"Please double-check your spelling.{{ breakline }}Use more generic search terms.{{ breakline }}Enter fewer keywords.{{ breakline }}Try searching by product type, brand, model number or product feature."},"suggestion":{"viewAll":"View all {{ count }} products","didYouMean":"Did you mean: {{ terms }}?","searchBoxPlaceholder":"Search","suggestQuery":"Show {{ count }} results for {{ terms }}","instantSearchSuggestionsLabel":"Popular suggestions","instantSearchCollectionsLabel":"Collections","instantSearchProductsLabel":"Products","instantSearchPagesLabel":"Blog & Pages","searchBoxOnclickRecentSearchLabel":"Recent searches","searchBoxOnclickSearchTermLabel":"Popular searches","searchBoxOnclickProductsLabel":"Trending products","noSearchResultSearchTermLabel":"Popular searches","noSearchResultProductsLabel":"Trending products"},"error":{"noFilterResult":"Sorry, no products matched your selection","noSearchResult":"Sorry, no products matched the keyword","noProducts":"No products found in this collection","noSuggestionResult":"Sorry, nothing found for \"{{ terms }}\".","noSuggestionProducts":"Sorry, nothing found for \"{{ terms }}\"."},"action_list":{"qvBtnLabel":"Quick View","qvAddToCartBtnLabel":"Add To Cart","qvSoldOutLabel":"Sold Out","qvSaleLabel":"Sale","qvViewFullDetails":"View Full Details","qvQuantity":"Quantity","atcAvailableLabel":"Add to Cart","atcSelectOptionsLabel":"Select Options","atcSoldOutLabel":"Sold Out","atcMiniCartSubtotalLabel":"Subtotal","atcMiniCartCheckoutLabel":"Checkout","atcMiniCartShopingCartLabel":"Your Cart","atcMiniCartEmptyCartLabel":"Your Cart Is Currently Empty","atcMiniCartViewCartLabel":"View cart","atcAddingToCartBtnLabel":"Adding","atcAddedToCartBtnLabel":"Added!","atcMiniCartCountItemLabel":"item","atcMiniCartCountItemLabelPlural":"items"},"defaultTheme":{"toolbarViewAs":"View as","toolbarProduct":"Product","toolbarProducts":"Products","productItemSoldOut":"Sold out","productItemSale":"Sale","productItemFrom":"from"},"recentlyViewed":{"recentProductHeading":"Recently Viewed Products"},"mostPopular":{"popularProductsHeading":"Popular Products"}},"fr":{"refine":"Affiner par","refineMobile":"Affiner par","refineMobileCollapse":"Masquer le filtre","clear":"Effacer","clearAll":"Effacer tout","viewMore":"Afficher plus","viewLess":"Voir moins","apply":"Appliquer","applyAll":"Appliquer tout","close"
3519:"Fermer","back":"Arrière","showLimit":"Afficher","collectionAll":"Tous","under":"Sous","above":"Au-dessus de","ratingStar":"Étoile","ratingStars":"Étoiles","ratingUp":"& Haut","showResult":"Afficher les résultats","searchOptions":"Options de recherche","inCollectionSearch":"Rechercher des produits","loadPreviousPage":"Charger la page précédente","listView":"Vue de la liste","gridView":"Vue en grille","gridViewColumns":"Vue en grille - colonnes","loadMore":"Charger plus de {{ amountProduct }} Produits","loadMoreTotal":"{{ from }} - {{ to }} de {{ total }} Produits","sortByOptions":{"relevance":"Pertinence","best-selling":"Meilleures ventes","manual":"Manuel","title-ascending":"Titre ascendant","title-descending":"Titre descendant","price-ascending":"Prix croissant","price-descending":"Prix descendant","created-ascending":"Créé ascendant","created-descending":"Créé descendant"},"recommendation":{},"search":{"generalTitle":"Titre général (si aucun terme de recherche)","resultHeader":"Résultats de la recherche pour \"{{ terms }}\"","resultNumber":"Afficher {{ count }} résultats pour \"{{ terms }}\"","seeAllProducts":"Voir tous les produits","resultEmpty":"Désolé, rien ne correspond à \"{{ terms }}\". Découvrez d'autres articles dans notre magasin.","resultEmptyWithSuggestion":"Désolé, rien ne correspond à \"{{ terms }}\". Consultez ces articles à la place ?","searchTotalResult":"Afficher {{ count }} résultat","searchTotalResults":"Afficher {{ count }}} résultats","searchPanelProduct":"Produits","searchPanelCollection":"Collections","searchPanelPage":"Blogs et pages"},"suggestion":{"viewAll":"Voir tous {{ count }} les produits","didYouMean":"Vous voulez dire : {{ terms }}?","searchBoxPlaceholder":"Recherchez","suggestQuery":"Afficher {{ count }} résultats pour {{ terms }}","instantSearchSuggestionsLabel":"Propositions populaire","instantSearchCollectionsLabel":"Collections","instantSearchProductsLabel":"Produits","instantSearchPagesLabel":"Pages","searchBoxOnclickRecentSearchLabel":"Recherches récentes","searchBoxOnclickSearchTermLabel":"Recherches populaires","searchBoxOnclickProductsLabel":"Produits tendance","noSearchResultSearchTermLabel":"Recherches populaires","noSearchResultProductsLabel":"Produits tendance"},"error":{"noFilterResult":"Désolé, aucun produit ne correspond à votre sélection","noSearchResult":"Désolé, aucun produit ne correspond au mot-clé","noProducts":"Aucun produit trouvé dans cette collection","noSuggestionResult":"Désolé, aucun produit trouvé pour \"{{ terms }}\".","noSuggestionProducts":"Désolé, rien trouvé pour \"{{ terms }}\"."},"action_list":{"qvBtnLabel":"Vue rapide","qvAddToCartBtnLabel":"Ajouter au panier","qvSoldOutLabel":"Épuisé","qvSaleLabel":"Vente","qvViewFullDetails":"Voir tous les détails","qvQuantity":"Quantité","atcAvailableLabel":"Ajouter au panier","atcSelectOptionsLabel":"Sélectionnez les options","atcSoldOutLabel":"Épuisé","atcMiniCartSubtotalLabel":"Sous-total","atcMiniCartCheckoutLabel":"Commander","atcMiniCartShopingCartLabel":"Votre panier","atcMiniCartEmptyCartLabel":"Votre panier est actuellement vide","atcMiniCartViewCartLabel":"Voir le panier","atcAddingToCartBtnLabel":"Ajout de","atcAddedToCartBtnLabel":"Ajouté!","atcMiniCartCountItemLabel":"objet","atcMiniCartCountItemLabelPlural":"éléments"},"defaultTheme":{"toolbarViewAs":"Voir comme","toolbarProduct":"Produit","toolbarProducts":"Produits","productItemSoldOut":"Épuisé","productItemSale":"Vente","productItemFrom":"de"},"recentlyViewed":{"recentProductHeading":"Produits récemment consultés"},"mostPopular":{"popularProductsHeading":"Produits populaires"}}},"label":{"inCollectionSearch":"Search for products in this collection","sortByOptions":{"relevance":"Relevance","best-selling":"Best selling","manual":"Manual","title-ascending":"Title ascending","title-descending":"Title descending","price-ascending":"Price ascending","price-descending":"Price descending","created-ascending":"Created ascending","created-descending":"Created descending"},"recommendation":{"homepage-561337":"Just dropped","homepage-310521":"Best Sellers","collectionpage-225787":"Just dropped","collectionpage-778856":"Most Popular Products","productpage-243620":"Recently viewed","productpage-715722":"Frequently Bought Together","cartpage-425856":"Still interested in this?","cartpage-171306":"Similar Products"},"search":{"resultEmpty":"We are sorry! We couldn't find results for \"{{ terms }}\".{{ breakline }}But don't give up – check the spelling or try less specific search terms.","searchPanelProduct":"Products","searchPanelCollection":"Collections","searchPanelPage":"Pages","searchTipsTitle":"Search tips","searchTipsContent":"Please double-check your spelling.{{ breakline }}Use more generic search terms.{{ breakline }}Enter fewer keywords.{{ breakline }}Try searching by product type, brand, model number or product feature."},"suggestion":{"instantSearchSuggestionsLabel":"Popular suggestions","instantSearchCollectionsLabel":"Collections","instantSearchProductsLabel":"Products","instantSearchPagesLabel":"Blog & Pages","searchBoxOnclickRecentSearchLabel":"Recent searches","searchBoxOnclickSearchTermLabel":"Popular searches","searchBoxOnclickProductsLabel":"Trending products","noSearchResultSearchTermLabel":"Popular searches","noSearchResultProductsLabel":"Trending products"},"error":{},"action_list":{},"defaultTheme":{},"recentlyViewed":{},"mostPopular":{}},"currencyRoundingRules":{"aed":1,"aud":1,"chf":1,"czk":1,"dkk":1,"eur":0.95,"gbp":1,"hkd":1,"ils":1,"jpy":100,"krw":1,"myr":1,"nzd":1,"pln":1,"sek":1,"sgd":1,"usd":1}},
3520    
3521    swatch_settings: {
3522      
3523    },
3524    
3525  };
3526  function mergeObject(obj1, obj2){
3527    var obj3 = {};
3528    for (var attr in obj1) { obj3[attr] = obj1[attr]; }
3529    for (var attr in obj2) { obj3[attr] = obj2[attr]; }
3530    return obj3;
3531  }
3532  if (typeof boostPFSConfig == 'undefined') {
3533    boostPFSConfig = {};
3534  }
3535  if (typeof boostPFSAppConfig != 'undefined') {
3536    boostPFSConfig = mergeObject(boostPFSConfig, boostPFSAppConfig);
3537  }
3538  if (typeof boostPFSThemeConfig != 'undefined') {
3539    boostPFSConfig = mergeObject(boostPFSConfig, boostPFSThemeConfig);
3540  }
3541</script>
3541
3542
3543<!-- Include Resources -->
3543<script defer src="//canadagrowsupplies.com/cdn/shop/t/43/assets/boost-pfs-core-instant-search.js?v=72334993480690396671686760905"></script>
3543
3544  
3544<script defer src="//canadagrowsupplies.com/cdn/shop/t/43/assets/boost-pfs-instant-search.js?v=8827334419208220721686760899"></script>
3544<!-- Initialize App -->
3545<script defer src="//canadagrowsupplies.com/cdn/shop/t/43/assets/boost-pfs-init.js?v=8317161029896936481736841332"></script>
3545
3546
3547
3548
3549  <!-- Instant search no result JSON data -->
3550  
3550<script type="application/json" id="boost-pfs-instant-search-products-not-found-json">
3551	{
3552		"search_terms": [],
3553		"products": []
3554	}
3555</script>
3555
3556
3557
3558 <!-- 3rd App Integration -->
3558<script defer src="//canadagrowsupplies.com/cdn/shop/t/43/assets/boost-pfs-analytics-custom.js?v=161314685702743820801736841333"></script>
3558
3559 <!--end-boost-pfs-js-->
3560<!-- langify-v2-scripts-begin -->
3561
3562
3563<script>
3564  var langify = langify || {};
3565
3566
3567  /**
3568  * 
3569  * 
3570  * @class LyHelper
3571  */
3572  class LyHelper {
3573    constructor() {
3574      return {
3575        ajax: function(params) { return LyHelper.ajax(params); },
3576        isIE: function() { return LyHelper.isIE(); },
3577        extractImageObject: function(val) { return LyHelper.extractImageObject(val); },
3578        getCurrentLanguage: function() { return LyHelper.getCurrentLanguage(); },
3579        getCookie: function(name) { return LyHelper.getCookie(name); },
3580        setCookie: function(name, value, days) { return LyHelper.setCookie(name, value, days); },
3581        getVersion: function() { return LyHelper.getVersion(); },
3582        isOutOfViewport: function(elem) { return LyHelper.isOutOfViewport(elem); },
3583        isDomainFeatureEnabled: function() { return LyHelper.isDomainFeatureEnabled(); },
3584        getVal: function(str) { return LyHelper.getVal(str); },
3585        inIframe: function() { return LyHelper.inIframe(); },
3586        shopifyAPI: function() { return LyHelper.shopifyAPI(); },
3587        loadScript: function(url, callback) { return LyHelper.loadScript(url, callback); },
3588        localizationRedirect: function(type, code, additionalFields, additionalParams, domain) { return LyHelper.localizationRedirect(type, code, additionalFields, additionalParams, domain); },
3589        changeCurrency: function(code) { return LyHelper.changeCurrency(code); },
3590        log: function(title, data, type) { return LyHelper.log(title, data, type); },
3591      }
3592    }
3593    static ajax(params) {
3594      var data = params.data;
3595      fetch(params.url, {
3596        method: params.method,
3597        headers: {
3598          'Content-Type': 'application/json',
3599        },
3600        body: (data && params.method === 'POST') ? JSON.stringify(data) : null,
3601      })
3602      .then(response => response.json())
3603      .then(data => {
3604        params.success(data);
3605      })
3606      .catch((error) => {
3607        console.error('Error:', error);
3608      });
3609    }
3610    static isIE() {
3611      var ua = navigator.userAgent;
3612      var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1;
3613      return is_ie;
3614    }
3615    static extractImageObject(val) {
3616      if(!val || val == '') return false;
3617      var val = val;
3618
3619      // Handle src-sets
3620      if(val.search(/([0-9]+w?h?x?,)/gi) > -1) {
3621        val = val.split(/([0-9]+w?h?x?,)/gi)[0];
3622      }
3623
3624      var hostBegin = val.indexOf('//') ? val.indexOf('//') : 0;
3625      var hostEnd = val.lastIndexOf('/') + 1;
3626      var host = val.substring(hostBegin, hostEnd);      
3627      var afterHost = val.substring(hostEnd, val.length);
3628
3629      var url = val;
3630      var file = ''; 
3631      var name = ''; 
3632      var type = '';
3633      afterHost = afterHost.substring(0, (afterHost.indexOf("#") == -1) ? afterHost.length : afterHost.indexOf("#"));
3634      afterHost = afterHost.substring(0, (afterHost.indexOf("?") == -1) ? afterHost.length : afterHost.indexOf("?"));
3635      name = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, "");
3636
3637      if(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi) > -1) {
3638        type = afterHost.substring(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi)+1, afterHost.length);
3639      } else {
3640        type = afterHost.substring(afterHost.lastIndexOf('.')+1, afterHost.length);
3641      }
3642      
3643      file = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, '.'+type);
3644
3645      return {
3646        host: host,
3647        name: name,
3648        type: type,
3649        file: file
3650      }
3651    }
3652    static getCurrentLanguage() {
3653      return window.langify.locale.iso_code;
3654    }
3655    static setLanguage(code) {
3656      
3657    }
3658    static getCookie(name) {
3659      var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
3660      if(v) return v[2];
3661      else return null;
3662    }
3663    static setCookie(name, value, days) {
3664      var d = new Date;
3665      d.setTime(d.getTime() + 24*60*60*1000*days);
3666      document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString();
3667    }
3668    static getVersion() {
3669      return 2;
3670    }
3671    static isOutOfViewport (elem) {
3672      var bounding = elem.getBoundingClientRect();
3673      var out = {};
3674      out.top = bounding.top < 0;
3675      out.left = bounding.left < 0;
3676      out.bottom = Math.ceil(bounding.bottom) >= (window.innerHeight || document.documentElement.clientHeight);
3677      out.right = bounding.right > (window.innerWidth || document.documentElement.clientWidth);
3678      out.any = out.top || out.left || out.bottom || out.right;
3679      out.inViewport = bounding.x > 0 && bounding.y > 0;
3680      return out;
3681    }
3682    static isDomainFeatureEnabled() {
3683      return window.langify.locale.domain_feature_enabled;
3684    }
3685    static getVal(str) {
3686      var v = window.location.search.match(new RegExp('(?:[?&]'+str+'=)([^&]+)'));
3687      return v ? v[1] : null;
3688    }
3689    static inIframe() {
3690      try {
3691        return window.self !== window.top;
3692      } catch (e) {
3693        return true;
3694      }
3695    }
3696    static shopifyAPI() {
3697      var root_url = window.langify.locale.root_url != '/' ? window.langify.locale.root_url : '';
3698
3699      return {
3700        attributeToString: function(attribute) {
3701          if((typeof attribute) !== 'string') {
3702            attribute += '';
3703            if(attribute === 'undefined') {attribute = '';}
3704          }
3705          return attribute.trim();
3706        },
3707        getCart: function(callback) {
3708          LyHelper.ajax({
3709            method: 'GET',
3710            url: root_url+'/cart.js',
3711            success: function (cart, textStatus) {
3712              if((typeof callback) === 'function') {
3713                callback(cart);
3714              }
3715            }
3716          });
3717        },
3718        updateCartNote: function(note, callback) {
3719          var params = {
3720            method: 'POST',
3721            url: root_url+'/cart/update.js',
3722            data: 'note=' + this.attributeToString(note),
3723            dataType: 'json',
3724            success: function(cart) {if((typeof callback) === 'function') {callback(cart);}},
3725            error: this.onError
3726          };
3727          LyHelper.ajax(params);
3728        },
3729        updateCartAttributes: function(attributes, callback) {
3730          var params = {
3731            method: 'POST',
3732            url: root_url+'/cart/update.js',
3733            data: {"attributes": attributes},
3734            dataType: 'json',
3735            success: function(cart) {
3736              if((typeof callback) === 'function') {
3737                callback(cart);
3738              }
3739            },
3740            error: this.onError
3741          };
3742          LyHelper.ajax(params);
3743        },
3744        onError: function(XMLHttpRequest, textStatus) {
3745
3746        }      
3747      }
3748    }
3749    static loadScript(url, callback) {
3750      var script = document.createElement('script');
3751      script.type = 'text/javascript';
3752      if(script.readyState) {
3753        script.onreadystatechange = function () {
3754          if(script.readyState == 'loaded' || script.readyState == 'complete') {
3755            script.onreadystatechange = null;
3756            callback();
3757          }
3758        };
3759      } else {
3760        script.onload = function () {
3761          callback();
3762        };
3763      }
3764      script.src = url;
3765      document.getElementsByTagName('head')[0].appendChild(script);
3766    }
3767    static localizationRedirect(type, code, additionalFields, additionalParams, domain) {
3768      if(type !== 'country_code' && type !== 'language_code') { 
3769        return false; 
3770      }
3771      if(!additionalParams) {
3772        var additionalParams = '';
3773      }
3774      if(domain) {
3775        window.location.href = domain;
3776        return true;
3777      }
3778      var params = [
3779        {
3780          name: type,
3781          value: code
3782        },
3783        {
3784          name: 'return_to',
3785          value: window.location.pathname + window.location.search + additionalParams + window.location.hash
3786        },
3787        {
3788          name: 'form_type',
3789          value: 'localization'
3790        },
3791        {
3792          name: '_method',
3793          value: 'put'
3794        }
3795      ];
3796      if(additionalFields) {
3797        for(var i=0; i<additionalFields.length; i++) {
3798          params.push(additionalFields[i]);
3799        }
3800      }
3801      const form = document.createElement('form');
3802      form.method = 'POST';
3803      form.action = '/localization';
3804      params.forEach(function(param) {
3805        const field = document.createElement('input');
3806        field.type = 'hidden';
3807        field.name = param['name'];
3808        field.value = param['value'];
3809        form.appendChild(field);
3810      });
3811      document.body.appendChild(form);
3812      form.submit();
3813    }
3814    static changeCurrency(code) {
3815      const params = [
3816        {
3817          name: 'currency_code',
3818          value: code
3819        },
3820        {
3821          name: 'return_to',
3822          value: window.location.pathname + window.location.search + window.location.hash
3823        },
3824        {
3825          name: 'form_type',
3826          value: 'localization'
3827        },
3828        {
3829          name: '_method',
3830          value: 'put'
3831        }
3832      ];
3833      const form = document.createElement('form');
3834      form.method = 'POST';
3835      form.action = '/localization';
3836      params.forEach(function(param) {
3837        const field = document.createElement('input');
3838        field.type = 'hidden';
3839        field.name = param['name'];
3840        field.value = param['value'];
3841        form.appendChild(field);
3842      });
3843      document.body.appendChild(form);
3844      form.submit();
3845    }
3846    static log(title, data, type) {
3847      if(langify.settings.debug) {
3848        if(!data) {
3849          var data = '';
3850        }
3851        
3852        var css = 'color: green; font-weight: bold;';
3853        if(type === 'error') {
3854          css = 'color: red; font-weight: bold;';
3855        }
3856
3857        console.log(`%c ${title}: \n`, css, data);
3858      }
3859    }
3860  };
3861
3862
3863  /**
3864  *
3865  *
3866  * @class TranslationObserver
3867  */
3868  class TranslationObserver {
3869    constructor() {
3870      LyHelper.log('TranslationObserver instantiation')
3871    }
3872
3873    init() {
3874      if(langify.settings.observe && !LyHelper.isIE()) {
3875        var langifyObserver = this.langifyObserverCore();
3876        langifyObserver.init();
3877        
3878        // HOTFIX: translation observer sometimes refuses to trigger on page load_
3879        langifyObserver.triggerCustomContents();
3880
3881        langify.api = {
3882          observer: {
3883            start: langifyObserver.init,
3884            stop: langifyObserver.stopObserver,
3885            trigger: langifyObserver.triggerCustomContents,
3886            translateLink: langifyObserver.translateLink,
3887            translateTextNode: langifyObserver.translateTextNode,
3888            translateNodeAttrs: langifyObserver.translateNodeAttrs,
3889            translateImage: langifyObserver.translateImage,
3890            translateCssImage: langifyObserver.translateCssImage
3891          }
3892        };
3893      }
3894
3895      return this;
3896    }
3897
3898    langifyObserverCore() {
3899      var observedNodes = [];
3900      var intersectionObs = null;
3901      var mutationCount = 0;
3902      var mutationObs = null;
3903      var mutationObsConfig = {
3904        characterData: true,
3905        characterDataOldValue: true,
3906        attributes: true,
3907        attributeOldValue: true,
3908        childList: true,
3909        subtree: true,
3910      };
3911      var customContents_html = {};
3912      var customContents_text = {};
3913      var customContents_attr = {};
3914    
3915      function init() {
3916        if(langify.settings.observe) {
3917          spreadCustomContents();
3918          if (window.MutationObserver) {
3919            if (langify.settings.lazyload && window.IntersectionObserver) {
3920              startIntersectionObserver();
3921            } else {
3922              startMutationObserver(null);
3923            }
3924          } else {
3925            startMutationEvents();
3926          }
3927        }
3928      }
3929    
3930    
3931      // Intersection Observer
3932      function startIntersectionObserver() {
3933        intersectionObs = new IntersectionObserver(callbackIntersectionChange);
3934        var elementNodes = document.getElementsByClassName('shopify-section');
3935        Array.prototype.slice.call(elementNodes).forEach(function(node) {
3936          intersectionObs.observe(node);
3937        });
3938      }
3939    
3940      function callbackIntersectionChange(intersections) {
3941        intersections.forEach(function(intersection) {
3942          var target = intersection.target;
3943          var targetIsIntersecting = Boolean(target.getAttribute('ly-is-intersecting') === "true" ? true : false);
3944    
3945          if(typeof targetIsIntersecting == 'undefined' || targetIsIntersecting == null) {
3946            target.setAttribute('ly-is-intersecting', intersection.isIntersecting);
3947            targetIsIntersecting = intersection.isIntersecting;
3948          }
3949          
3950          // On Screen
3951          if(targetIsIntersecting == false && intersection.isIntersecting == true) {
3952            if(!target.getAttribute('ly-is-observing')) {
3953              startMutationObserver(target);
3954              intersectionObs.unobserve(target);
3955    
3956              // As the mutation observer didn't see the "add" of the elememts, trigger the initial translation manually
3957              var elementNodes = getNodesUnder(target, 'SHOW_ELEMENT');
3958              var textNodes = getNodesUnder(target, 'SHOW_TEXT');
3959              var nodes = elementNodes.concat(textNodes);
3960              nodes.forEach(function(node) {
3961                translate(node, 'mutation -> childList');
3962              });
3963            }
3964          } 
3965          // Off Screen
3966          //else if(targetIsIntersecting == true && intersection.isIntersecting == false) {
3967          //  stopMutationObserver(target);
3968          //}
3969          target.setAttribute('ly-is-intersecting', intersection.isIntersecting);
3970        });
3971      }
3972    
3973    
3974      // Mutation Observer
3975      function startMutationObserver(observerTarget) {
3976        if (!observerTarget) {
3977          var target = document.documentElement || document.body; // main window
3978        } else {
3979          if (observerTarget.nodeName  === 'IFRAME') {
3980            try { var target = observerTarget.contentDocument || observerTarget.contentWindow.document; }
3981            catch { return false; }
3982          } else {
3983            var target = observerTarget;
3984          }
3985        }
3986        mutationObs = new MutationObserver(callbackDomChange);
3987        mutationObs.observe(target, mutationObsConfig);
3988        observedNodes.push(target);
3989        try { target.setAttribute('ly-is-observing', 'true'); } catch(e) {}
3990      }
3991    
3992      function stopMutationObserver(target) {
3993        if(observedNodes.indexOf(target) > -1) {
3994          observedNodes.splice(observedNodes.indexOf(target), 1);
3995        }
3996        var mutations = mutationObs.takeRecords();
3997        mutationObs.disconnect();
3998        observedNodes.forEach(node => {
3999          mutationObs.observe(node, mutationObsConfig);
4000        });
4001        try { target.removeAttribute('ly-is-observing'); } catch(e) {}
4002      }
4003    
4004    
4005      function callbackDomChange(mutations, mutationObs) {
4006        for (var i = 0, length = mutations.length; i < length; i++) {
4007          var mutation = mutations[i];
4008          var target = mutation.target;
4009    
4010          // Links-Hook
4011          if (mutation.type === 'attributes' && (mutation.attributeName === 'href' || mutation.attributeName === 'action')) {
4012            var target = mutation.target;
4013            translateLink(target.getAttribute(mutation.attributeName), target);
4014          }
4015          // Images-Hook
4016          else if (mutation.type === 'attributes' && (mutation.attributeName === 'src' || mutation.attributeName === 'data-src' || mutation.attributeName === 'srcset' || mutation.attributeName === 'data-srcset')) {
4017            translateImage(target, mutation.attributeName);
4018          }
4019          else if (mutation.type === 'attributes' && mutation.attributeName === 'style') {
4020            translateCssImage(target);
4021          }
4022          // Subtree Events
4023          else if (mutation.type === 'childList') {
4024            // Added Nodes
4025            if(mutation.addedNodes.length > 0) {
4026              var elementNodes = getNodesUnder(mutation.target, 'SHOW_ELEMENT');
4027              var textNodes = getNodesUnder(mutation.target, 'SHOW_TEXT');
4028              var nodes = elementNodes.concat(textNodes);
4029              nodes.forEach(function(node) {
4030                translate(node, 'mutation -> childList');
4031              });
4032            }
4033          }
4034          // CharacterData Events
4035          else if (mutation.type === 'characterData') {
4036            var target = mutation.target;
4037            translate(target, 'mutation -> characterData');
4038          }
4039        }
4040      }
4041    
4042    
4043      function translate(node, info) {
4044        if((node.nodeType === 1 && node.hasAttribute('data-ly-locked')) || (node.nodeType === 3 && node.parentNode && node.parentNode.hasAttribute('data-ly-locked'))) {
4045          return;
4046        }
4047        // CC-Hook
4048        if (node.nodeName  !== 'SCRIPT' && node.nodeName  !== 'STYLE') {
4049          if (node.nodeType === 3) {
4050            translateTextNode(node, info);
4051          }
4052          translateNodeAttrs(node);
4053        }
4054        // Links-Hook
4055        if (node.nodeName  === 'A' || node.nodeName  === 'FORM') {
4056          if(node.hasAttribute('href')) var attrName = 'href';
4057          else var attrName = 'action';
4058          var url = node.getAttribute(attrName);
4059          translateLink(url, node);
4060        }
4061        // Images-Hook
4062        if (node.nodeName  === 'IMG' || node.nodeName  === 'SOURCE') {
4063          translateImage(node, ['src', 'data-src', 'srcset', 'data-srcset']);
4064        }
4065        if (node.attributes && node.getAttribute('style')) {
4066          translateCssImage(node);
4067        }
4068        // Iframe Observation
4069        if (node.nodeName  === 'IFRAME') {
4070          // Todo: handle srcdoc iframe content observing
4071          if (node.getAttribute('ly-is-observing') == null && node.getAttribute('src') == null && !node.hasAttribute('srcdoc')) {
4072            node.setAttribute('ly-is-observing', 'true');
4073            startMutationObserver(node);
4074          }
4075        }
4076      }
4077    
4078      function translateNodeAttrs(node) {
4079        if (node.attributes && node.getAttribute('placeholder')) {
4080          var src = node.getAttribute('placeholder').trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase();
4081          if(customContents_text[src] && node.getAttribute('placeholder') !== customContents_text[src]) {
4082            node.setAttribute('placeholder', customContents_text[src]);
4083          }
4084        }
4085      }
4086    
4087    
4088      function translateTextNode(node, info) {
4089        if(langify.settings.observeCustomContents === false || !node.textContent || node.textContent.trim().length === 0) {
4090          return;
4091        }
4092        var oldSrc = node.textContent.trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase();
4093        var src = node.textContent.trim().replace(/(\r\n|\n|\r)/gim," ").replace(/\s+/g," ").toLowerCase();
4094        if(customContents_text[oldSrc]) {
4095          src = oldSrc;
4096        }
4097        if(customContents_text[src] && node.textContent !== customContents_text[src]) {
4098          var newContent = node.textContent.replace(node.textContent.trim(), customContents_text[src]);
4099          if (newContent != node.textContent) {
4100            if(!node.parentNode.hasAttribute('data-ly-mutation-count') || parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) < langify.settings.maxMutations) {
4101              var count = node.parentNode.hasAttribute('data-ly-mutation-count') ? parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) : 0;
4102              node.parentNode.setAttribute('data-ly-mutation-count', count+1);
4103              node.textContent = newContent;
4104    
4105              mutationCount = mutationCount + 1;
4106              LyHelper.log('REPLACED (TEXT)', {
4107                  oldValue: src,
4108                  newValue: customContents_text[src],
4109                  mutationCount,
4110                }, 'success'
4111              );
4112            
4113              var event = new CustomEvent('langify.observer.aftertranslatetext', { 
4114                bubbles: true,
4115                detail: {
4116                  target: node,
4117                  original: src,
4118                  translation: customContents_text[src]
4119                }
4120              });
4121              node.dispatchEvent(event);
4122            }
4123          }
4124        }
4125      }
4126    
4127      function translateLink(url, node, force) {
4128        if(langify.settings.observeLinks === false || isLocalizationForm(node) || node.hasAttribute('data-ly-locked') || !url || (url.indexOf('mailto:') !== -1 || url.indexOf('javascript:') !== -1 || url.indexOf('tel:') !== -1 || url.indexOf('file:') !== -1 || url.indexOf('ftp:') !== -1 || url.indexOf('sms:') !== -1 || url.indexOf('market:') !== -1 || url.indexOf('fax:') !== -1 || url.indexOf('callto:') !== -1 || url.indexOf('ts3server:') !== -1)) {
4129          return;
4130        }
4131        var isLocalized = (
4132          url.indexOf('/'+ langify.locale.iso_code +'/') === 0 || url === '/'+ langify.locale.iso_code || 
4133          url.indexOf('/'+ langify.locale.iso_code.toLowerCase() +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase() ||          
4134          url.indexOf('/'+ langify.locale.iso_code.toLowerCase().substring(0,2) +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase().substring(0,2) ||
4135          url.indexOf(langify.locale.root_url + '/') === 0 || url === langify.locale.root_url || 
4136          url.indexOf(langify.locale.shop_url + langify.locale.root_url) === 0 || url === langify.locale.shop_url + langify.locale.root_url
4137        );
4138        var cleanUrl = url.replace(langify.locale.shop_url, '');
4139        var re = new RegExp(`\/\\b${langify.locale.iso_code.replace('-', '\-')}\\b\/`, 'gi');
4140        var link = cleanUrl.replace(re, '/');
4141        var isUrlAbsolute = (link.indexOf('://') > 0 || link.indexOf('//') === 0);
4142        var blacklist = ['#', '/'+ langify.locale.iso_code +'#'].concat(langify.settings.linksBlacklist);
4143        var isUrlBlacklisted = blacklist.find(x => url.indexOf(x) === 0);
4144        if(!isLocalized && !isUrlAbsolute && !isUrlBlacklisted && langify.locale.root_url != '/' || force) {
4145          if(node.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action';
4146          if(link === '/' || link == langify.locale.root_url) link = '';
4147          var newLink = langify.locale.root_url + link;
4148          var timeStamp = Math.floor(Date.now());
4149          if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) {
4150            node.setAttribute('data-ly-processed', timeStamp);
4151            node.setAttribute(attrName, newLink);
4152            if(node.hasAttribute('data-'+attrName)) node.setAttribute('data-'+attrName, newLink);
4153    
4154            mutationCount = mutationCount + 1;
4155            LyHelper.log('REPLACED (LINK)', {
4156                attrName,
4157                oldValue: url,
4158                newValue: newLink,
4159                mutationCount,
4160              }, 'success'
4161            );
4162            
4163            var event = new CustomEvent('langify.observer.aftertranslatelink', { 
4164              bubbles: true,
4165              detail: {
4166                target: node,
4167                attribute: attrName,
4168                original: url,
4169                translation: newLink
4170              }
4171            });
4172            node.dispatchEvent(event);
4173          }
4174        }
4175      }
4176    
4177      function translateImage(node, attr) {
4178        if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0) {
4179          return
4180        }
4181        var attrs = [];
4182        if(typeof attr === 'string') attrs.push(attr);
4183        else if(typeof attr === 'object') attrs = attr;
4184        var timeStamp = Math.floor(Date.now());
4185        if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) {
4186          node.setAttribute('data-ly-processed', timeStamp);
4187          attrs.forEach(function(attr) {
4188            if(node.hasAttribute(attr)) {
4189              var imgObject = LyHelper.extractImageObject(node.getAttribute(attr));
4190              var imgKey = imgObject ? imgObject.file.toLowerCase() : '';
4191    
4192              if(customContents_image[imgKey]) {
4193    
4194                // Replace
4195                var oldValue = node.getAttribute(attr);
4196                var translation = node.getAttribute(attr);
4197                translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host);
4198                translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name);
4199                translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type);
4200    
4201                // China Hook
4202                if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) {
4203                  translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); 
4204                }
4205    
4206                if(node.getAttribute(attr) != translation) {
4207                  node.setAttribute(attr, translation);
4208    
4209                  mutationCount = mutationCount + 1;
4210                  LyHelper.log('REPLACED (IMAGE)', {
4211                    attrName: attr,
4212                    oldValue: oldValue,
4213                    newValue: translation,
4214                    mutationCount,
4215                  }, 'success');
4216            
4217                  var event = new CustomEvent('langify.observer.aftertranslateimage', { 
4218                    bubbles: true,
4219                    detail: {
4220                      target: node,
4221                      attribute: attr,
4222                      original: oldValue,
4223                      translation: translation
4224                    }
4225                  });
4226                  node.dispatchEvent(event);
4227                }
4228              }
4229            }
4230          });
4231        }
4232      }
4233    
4234      function translateCssImage(node) {
4235        if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0 || !node.getAttribute('style')) {
4236          return
4237        }
4238    
4239        var imgMatches = node.getAttribute('style').match(/url\(("|')?(.*)("|')?\)/gi);
4240        if(imgMatches !== null) {
4241          var imgSource = imgMatches[0].replace(/url\(("|')?|("|')?\)/, '');
4242          var imgObject = LyHelper.extractImageObject(imgSource);
4243          var imgKey = imgObject ? imgObject.file.toLowerCase() : '';
4244          var attr = 'style';
4245    
4246          if(customContents_image[imgKey]) {
4247    
4248            // Replace
4249            var translation = node.getAttribute(attr);
4250            translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host);
4251            translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name);
4252            translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type);
4253    
4254            // China Hook
4255            if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) {
4256              translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); 
4257            }
4258    
4259            if(node.getAttribute(attr) != translation) {
4260              var timeStamp = Math.floor(Date.now());
4261              if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) {
4262                node.setAttribute('data-ly-processed', timeStamp);
4263                node.setAttribute(attr, translation);
4264                mutationCount = mutationCount + 1;
4265              }
4266            }
4267          }          
4268        }
4269      }
4270    
4271      function findAndLocalizeLinks(target, parent) {
4272        if(target.parentNode && parent) var allLinks = target.parentElement.querySelectorAll('[href],[action]');
4273        else var allLinks = target.querySelectorAll('[href],[action]');
4274        allLinks.forEach(link => {
4275          if(link.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action';
4276          var url = link.getAttribute(attrName);
4277          translateLink(url, link);
4278        });
4279      }
4280      
4281      function isLocalizationForm(node) {
4282        if(node.querySelector('input[name="form_type"][value="localization"]')){
4283          return true;
4284        }
4285        return false;
4286      }
4287    
4288      function getNodesUnder(el, show){
4289        var n, a=[], walk=document.createTreeWalker(el, NodeFilter[show] , null, false);
4290        while(n=walk.nextNode()) a.push(n);
4291        return a;
4292      }
4293    
4294      function spreadCustomContents() {
4295        var getFileName = function(url) {
4296          if(!url || url == '') return;
4297          url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#"));
4298          url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?"));
4299          url = url.substring(url.lastIndexOf("/") + 1, url.length);
4300          url = url.replace(/(_[0-9]+x[0-9]*|_{width}x)?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(jpe?g|png|gif|webp)/gi, "");
4301          return '/' + url;
4302        }
4303        Object.entries(customContents).forEach(function(entry) {
4304          //if(/<\/?[a-z][\s\S]*>/i.test(entry[0])) customContents_html[entry[0]] = entry[1];
4305          //else if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png)/.test(entry[0])) customContents_image[getFileName(entry[0])] = getFileName(entry[1]);
4306          if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png|webp)/.test(entry[0])) customContents_image[LyHelper.extractImageObject(entry[0]).file] = LyHelper.extractImageObject(entry[1]);
4307          else customContents_text[entry[0]] = entry[1];
4308        });
4309        LyHelper.log('CUSTOM CONTENTS:', {customContents, customContents_text, customContents_image}, 'info')
4310      }
4311    
4312      // Polyfill for old browsers
4313      function startMutationEvents() {
4314        var target = document.querySelector('body');
4315        target.addEventListener("DOMAttrModified", function (event) {
4316          if(event.attrName === 'href' || event.attrName === 'action') {
4317            if(event.prevValue != event.newValue) {
4318              translateLink(event.newValue, event.target);
4319            }
4320          }
4321        }, false);
4322        target.addEventListener("DOMSubtreeModified", function (event) {
4323          //findAndLocalizeLinks(event.target, false);
4324          //matchCustomContent(event.target);
4325        }, false);
4326      }
4327    
4328      function triggerCustomContents() {
4329        var rootnode = document.getElementsByTagName('body')[0]
4330        var walker = document.createTreeWalker(rootnode, NodeFilter.SHOW_ALL, null, false)
4331        
4332        while (walker.nextNode()) {
4333          //LyHelper.log(walker.currentNode.tagName)
4334          translate(walker.currentNode, null);
4335        }
4336      }
4337    
4338      function stopObserver() {
4339        mutationObs.takeRecords();
4340        mutationObs.disconnect();
4341      }
4342    
4343      //init();
4344      return {
4345        init: init,
4346        triggerCustomContents: triggerCustomContents,
4347        stopObserver: stopObserver,
4348        translateLink: translateLink,
4349        translateTextNode: translateTextNode,
4350        translateNodeAttrs: translateNodeAttrs,
4351        translateImage: translateImage,
4352        translateCssImage: translateCssImage
4353      }
4354    };
4355  }
4356
4357
4358  /**
4359  *
4360  * 
4361  * @class Switcher
4362  */
4363  class Switcher {
4364    constructor(switcherSettings) {
4365      LyHelper.log('Switcher instantiation');
4366
4367      this.lyForceOff = location.search.split('ly-force-off=')[1];
4368      this.switcherElements = Array.prototype.slice.call(document.getElementsByClassName('ly-switcher-wrapper'));
4369    }
4370
4371    init() {
4372
4373      // Initial cart.attributes update
4374      LyHelper.shopifyAPI().getCart(function (cart) {
4375        var currentLanguage = langify.locale.iso_code;
4376        if(!cart.attributes.language || cart.attributes.language != currentLanguage) {
4377          LyHelper.shopifyAPI().updateCartAttributes({"language": currentLanguage}, function(data){});
4378        }
4379      });
4380
4381      if(langify.locale.languages.length === 1) {
4382        console.info(`%c LANGIFY INFO:\n`, 'font-weight: bold;', 'The language switcher is hidden! This can have one of the following reasons: \n * All additional languages are disabled in the "Langify -> Dashboard -> Languages" section. \n * If you are using different domains for your additional languages, ensure that "Cross Domain Links" are enabled inside the "Langify -> Dashboard -> Switcher Configurator -> Domains" section.');
4383        return false;
4384      }
4385
4386      this.setCustomPosition();
4387      this.initCustomDropdown();
4388      this.bindCountrySwitchers();
4389      this.bindCurrencySwitchers();
4390      this.bindLanguageSwitchers();
4391
4392      var event = new CustomEvent('langify.switcher.initialized', { 
4393        bubbles: true,
4394        detail: {}
4395      });
4396    }
4397
4398    initCustomDropdown() {
4399      // Custom Dropdown
4400      var root = this;
4401      var switcher = document.getElementsByClassName('ly-custom-dropdown-switcher');
4402      for(var a = 0; a < switcher.length; a++) {
4403        switcher[a].classList.toggle('ly-is-open');
4404        var isOut = LyHelper.isOutOfViewport(switcher[a]);
4405        if(isOut.bottom && isOut.inViewport) {
4406          switcher[a].classList.add('ly-is-dropup');
4407          var arrows = switcher[a].querySelectorAll('.ly-arrow');
4408          for(var b = 0; b < arrows.length; b++) {
4409            arrows[b].classList.add('ly-arrow-up');    
4410          }
4411        }
4412        switcher[a].classList.toggle('ly-is-open');
4413        switcher[a].onclick = function(event) {
4414          root.toggleSwitcherOpen(this);
4415        }
4416      }
4417
4418      document.addEventListener('click', function(event) {
4419        if(!event.target.closest('.ly-custom-dropdown-switcher')) {
4420          var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open')
4421          for(var i = 0; i < openSwitchers.length; i++) {
4422            openSwitchers[i].classList.remove('ly-is-open');
4423          }
4424        }
4425      });
4426    }
4427    
4428    bindLanguageSwitchers() {
4429      var root = this;
4430      var links = document.getElementsByClassName('ly-languages-switcher-link');
4431      for(var l = 0; l < links.length; l++) {
4432        
4433        links[l].addEventListener('click', function(event) {
4434          event.preventDefault();
4435          if(LyHelper.isDomainFeatureEnabled() && this.getAttribute('href') !== '#' && !this.getAttribute('data-country-code')) {
4436          	var domain = this.getAttribute('href');
4437          }
4438          LyHelper.setCookie('ly-lang-selected', this.getAttribute('data-language-code'), 365);
4439          LyHelper.localizationRedirect('language_code', this.getAttribute('data-language-code'), root._dataAttrToAdditionalFields(this), null, domain);
4440        });
4441      }
4442
4443      // Native select event handling
4444      var nativeLangifySelects = document.querySelectorAll('select.ly-languages-switcher');
4445      for(var i = 0; i < nativeLangifySelects.length; i++) {
4446        nativeLangifySelects[i].onchange = function() {
4447          event.preventDefault();
4448          if(LyHelper.isDomainFeatureEnabled() && this[this.selectedIndex].getAttribute('data-domain') !== '#' && this[this.selectedIndex].getAttribute('data-country-code')) {
4449            var domain = this[this.selectedIndex].getAttribute('data-domain');
4450          }
4451          LyHelper.setCookie('ly-lang-selected', this[this.selectedIndex].getAttribute('data-language-code'), 365);
4452          LyHelper.localizationRedirect('language_code', this[this.selectedIndex].getAttribute('data-language-code'), root._dataAttrToAdditionalFields(this), null, domain);
4453        };
4454      }
4455    }
4456    
4457    bindCountrySwitchers() {
4458      var countrySelectSwitcher = document.querySelectorAll('select.ly-country-switcher');
4459      var countryCustomSwitcher = document.querySelectorAll('div.ly-country-switcher a');
4460      for(var i=0; i<countryCustomSwitcher.length; i++) {
4461        countryCustomSwitcher[i].addEventListener('click', function(e) {
4462          LyHelper.localizationRedirect('country_code', this.getAttribute('data-country-code'));
4463        });
4464      }
4465      for(var a=0; a<countrySelectSwitcher.length; a++) {
4466        countrySelectSwitcher[a].addEventListener('change', function(){
4467          LyHelper.localizationRedirect('country_code', this[this.selectedIndex].getAttribute('data-country-code'));
4468        });
4469      }  
4470    }
4471    
4472    bindCurrencySwitchers() {
4473      var currencySelectSwitcher = document.querySelectorAll('select.ly-currency-switcher');
4474      var currencyCustomSwitcher = document.querySelectorAll('div.ly-currency-switcher a');
4475      for(var i=0; i<currencyCustomSwitcher.length; i++) {
4476        currencyCustomSwitcher[i].addEventListener('click', function(e) {
4477          LyHelper.changeCurrency(this.getAttribute('data-currency-code'));
4478        });
4479      }
4480      for(var a=0; a<currencySelectSwitcher.length; a++) {
4481        currencySelectSwitcher[a].addEventListener('change', function(){
4482          LyHelper.changeCurrency(this[this.selectedIndex].getAttribute('data-currency-code'));
4483        });
4484      }  
4485    }
4486
4487    setCustomPosition() {
4488      for(var i = 0; i < this.switcherElements.length; i++) {
4489        if(this.lyForceOff !== 'true') {
4490          if(langify.locale.languages.length <= 1) {
4491            this.switcherElements[i].querySelector('.ly-languages-switcher').classList.add('ly-hide');
4492          }
4493          this.switcherElements[i].classList.remove('ly-hide');
4494        }
4495        if(this.switcherElements[i].classList.contains('ly-custom') && (document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')) || document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')).length )) {
4496          var targets = Array.from(document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')));
4497          var target = document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint'));
4498          if(target) targets.push(target);
4499          for(var c = 0; c < targets.length; c++) {
4500            var clone = this.switcherElements[i].cloneNode(true);
4501            this.switcherElements[i].remove();
4502            targets[c].innerHTML = clone.outerHTML;
4503          }
4504          this.switcherElements[i].classList.add('ly-hide');
4505        }
4506      }
4507    }
4508
4509    toggleSwitcherOpen(e) {
4510      var target = e;
4511      if(!target.classList.contains('ly-is-open')) {
4512        var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open')
4513        for(var i = 0; i < openSwitchers.length; i++) {
4514          openSwitchers[i].classList.remove('ly-is-open');
4515        }
4516
4517        target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'true');
4518      } else {
4519        target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'false');
4520      }
4521      target.classList.toggle('ly-is-open');
4522      var isOut = LyHelper.isOutOfViewport(target);
4523      if(isOut.bottom) {
4524        target.classList.add('ly-is-dropup');
4525      }
4526    }
4527
4528    togglePopupOpen(e) {
4529      e.closest('.ly-popup-switcher').classList.toggle('ly-is-open');
4530    }
4531
4532    _getCountryCodeFromHreflang(language_code) {
4533      var hreflangTags = document.querySelectorAll('link[hreflang]');
4534      var languageDomains = {};
4535      var countryCode = false;
4536      for(var i = 0; i < hreflangTags.length; i++) {
4537        if(hreflangTags[i].getAttribute('hreflang').indexOf(language_code) === 0) {
4538          if(!languageDomains[hreflangTags[i].getAttribute('href')]) {
4539            languageDomains[hreflangTags[i].getAttribute('href')] = hreflangTags[i];
4540          }
4541        }
4542      }
4543      if(Object.keys(languageDomains).length > 0) {
4544        countryCode = Object.values(languageDomains)[0].getAttribute('hreflang');
4545        countryCode = countryCode.split('-');
4546        if(countryCode[1]) {
4547          countryCode = countryCode[1]
4548        } else {
4549          
4550        }
4551      }
4552      return countryCode;
4553    }
4554
4555    _dataAttrToAdditionalFields(elem) {
4556      var additionalFields = [];
4557      if(elem.hasAttribute('data-country-code')) {
4558        additionalFields.push({
4559          name: 'country_code',
4560          value: elem.getAttribute('data-country-code')
4561        });
4562      }
4563      if(elem.hasAttribute('data-currency-code')) {
4564        additionalFields.push({
4565          name: 'currency_code',
4566          value: elem.getAttribute('data-currency-code')
4567        });
4568      }
4569      return additionalFields;
4570    }
4571  }
4572
4573
4574  /**
4575  *
4576  *
4577  * @class LanguageDetection
4578  */
4579  class LanguageDetection {
4580
4581    constructor() {
4582      this.hreflangList = null;
4583      LyHelper.log('LanguageDetection instantiation');
4584    }
4585
4586    init() {
4587      if(LyHelper.inIframe()
4588      || window.location.pathname.indexOf('preview_key=') > 0) {
4589        return null;
4590      }
4591
4592      var currentLang = langify.locale.iso_code.toLowerCase();
4593      //var localizationData = this.getLocalizationData();
4594      this.hreflangList = this.getHreflangList();
4595
4596      var userLang = navigator.language || navigator.userLanguage;
4597      userLang = userLang.toLowerCase();
4598      var bot = /bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|Chrome-Lighthouse/i.test(navigator.userAgent);
4599      var blockedRoutes = window.lyBlockedRoutesList || [];
4600      var blockedRoute = blockedRoutes.find(x => window.location.pathname.indexOf(x) === 0);
4601      var is404 = document.getElementsByClassName('template-404').length;
4602
4603      if(LyHelper.getVal('redirected') === 'true') {
4604        LyHelper.setCookie('ly-lang-selected', currentLang, 365);
4605        var _href = window.location.href;
4606        history.replaceState(null, '', _href.replace(/(\?|&)(redirected=true)/i, ''));
4607        return null;
4608      }
4609
4610      if(!is404 && !bot && !blockedRoute && LyHelper.getVal('ly-lang-detect') !== 'off') {
4611        if(userLang && !LyHelper.getCookie('ly-lang-selected')) {
4612          var hasMatch = this.matchHreflangList(userLang);
4613          if(currentLang !== this._hreflangToLanguageCode(hasMatch)) {
4614            if(hasMatch) {
4615              this.redirectMatched(userLang);
4616            } else if (!hasMatch && langify.settings.switcher.languageDetectionDefault) {
4617              // Redirect to default language
4618              this.redirectMatched(langify.settings.switcher.languageDetectionDefault);
4619            }
4620          }
4621        } else {
4622          if(LyHelper.getCookie('ly-lang-selected') && LyHelper.getCookie('ly-lang-selected') !== currentLang) {
4623            // Only save cookie when the domain feature is active
4624            if(LyHelper.isDomainFeatureEnabled()) {
4625              LyHelper.setCookie('ly-lang-selected', currentLang, 365);
4626            }
4627            this.redirectMatched(LyHelper.getCookie('ly-lang-selected'));
4628          }
4629        }
4630      }
4631      
4632      this._geolocationAppSupport();
4633    }
4634    redirectMatched(userLang) {
4635      var match = this.matchHreflangList(userLang);
4636      if(match) {
4637        this.redirectHref(match.href, match.lang);
4638      }
4639      return match;
4640    }
4641    matchHreflangList(userLang) {
4642      var matchedHreflang = false;
4643      var browserLang = userLang;
4644
4645      // Find candidates
4646      var candidates = this.hreflangList.filter(item => item.lang === browserLang);
4647      if(candidates.length === 0) {
4648        browserLang = userLang.toLowerCase();
4649        candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0);
4650      }
4651      if(candidates.length === 0) {
4652        browserLang = userLang.toLowerCase().substring(0, 2);
4653        candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0);
4654      }
4655
4656      // Handle candidates
4657      if(candidates.length === 1) {
4658        return({href: candidates[0].href, lang: browserLang});
4659      } 
4660      else if(candidates.length > 1) {
4661        var preferedCandidate = candidates.find(item => item.href.indexOf(window.location.host) >= 0)
4662        if(preferedCandidate) {
4663          return({href: preferedCandidate.href, lang: browserLang});
4664        } else {
4665          return({href: candidates[0].href, lang: browserLang});
4666        }
4667      } 
4668      
4669      return false;
4670    }
4671    redirectHref(href, userLang) {
4672      var queryString = window.location.search;
4673      var url = href.split('?')[0];
4674      if(queryString === '') {
4675        queryString = '?redirected=true';
4676      } else {
4677        queryString += '&redirected=true';
4678      }
4679      window.location.replace(url + queryString);
4680    }
4681    getHreflangList() {
4682      var hreflangTags = document.querySelectorAll('link[hreflang]');
4683      var hreflangList = [];
4684      var countryCode = false;
4685      // Cross Domain Links option
4686      if(LyHelper.isDomainFeatureEnabled()) {
4687        for(var i = 0; i < langify.locale.languages.length; i++) {
4688          let newHref = 'https://' + langify.locale.languages[i].domain + window.location.pathname + window.location.search + window.location.hash;
4689          // When cross-domain link is pointing to the same domain with subfolders, window.location.pathname would have to be unlocalized before it can be merged into the url
4690          if(new String(langify.locale.languages[i].domain).indexOf(window.location.hostname) === 0) {
4691            let unlocalizedPathname = langify.locale.root_url !== '/' ? window.location.pathname.replace(langify.locale.root_url, '') : window.location.pathname;
4692            newHref = 'https://' + langify.locale.languages[i].domain + unlocalizedPathname + window.location.search + window.location.hash
4693          }
4694          hreflangList.push({
4695            href: newHref,
4696            lang: langify.locale.languages[i].iso_code,
4697          });
4698        }
4699      }
4700      for(var i = 0; i < hreflangTags.length; i++) {
4701        var hreflang = hreflangTags[i].getAttribute('hreflang').toLowerCase();
4702        hreflang = hreflang.replace('zh-hans', 'zh-cn').replace('zh-hant', 'zh-tw'); // Chinese special cases
4703        hreflangList.push({
4704          href: hreflangTags[i].getAttribute('href'),
4705          lang: hreflang
4706        });
4707      }
4708      return hreflangList;
4709    }
4710    _langToHreflang(userLang) {
4711      var hreflang = '';
4712      this.hreflangList.map(function(item) {
4713        if(item.lang === userLang) {
4714          hreflang = userLang;
4715        }
4716      });
4717      if(hreflang === '') {
4718        this.hreflangList.map(function(item) {
4719          var browserLang = userLang.toLowerCase();
4720          if(item.lang.toLowerCase().indexOf(browserLang) === 0) {
4721            hreflang = browserLang;
4722          }
4723          else if(item.lang.toLowerCase().indexOf(browserLang.substring(0, 2)) === 0) {
4724            hreflang = browserLang.substring(0, 2);
4725          }
4726        });        
4727      }
4728      return hreflang || userLang;
4729    }
4730    _hreflangToLanguageCode(hreflangTag) {
4731      if(!hreflangTag || !hreflangTag.lang) return false;
4732	  var languageCode = false;
4733      langify.locale.languages.forEach(function(item) {
4734        if(item.iso_code.toLowerCase() === hreflangTag.lang.toLowerCase()) {
4735          languageCode = item.iso_code;
4736        }
4737      });
4738      if(!languageCode) {
4739        langify.locale.languages.forEach(function(item) {
4740          if(item.iso_code.toLowerCase() === hreflangTag.lang.substring(0, 2).toLowerCase()) {
4741            languageCode = item.iso_code;
4742          }
4743        });
4744      }
4745      return languageCode;
4746    }
4747    _geolocationAppSupport() {
4748      var target = document.querySelector('body');
4749      var config = { childList: true, subtree: true };
4750      var geolocationObserver = new MutationObserver(function(mutations) {
4751        mutations.forEach(function(mutation) {
4752          if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
4753            var target = mutation.target.getElementsByClassName('locale-bar__form');
4754            if(target[0]) {
4755              target[0].onsubmit = function() {
4756                var locale_code = target[0].elements['locale_code'].value;
4757                var selector = target[0].getElementsByClassName('locale-bar__selector');
4758                if(selector.length >= 1) {
4759                  locale_code = selector[0].options[selector[0].selectedIndex].value;
4760                }
4761                LyHelper.setCookie('ly-lang-selected', locale_code, 365);
4762              };
4763            }
4764            var selectors = mutation.target.getElementsByClassName('locale-selectors__selector');
4765            if(selectors.length > 0) {
4766              for(var selector of selectors) {
4767                if(selector.getAttribute('name') === 'locale_code') {
4768                  selector.onchange = function() {
4769                    var locale_code = selector.options[selector.selectedIndex].value;
4770                    LyHelper.setCookie('ly-lang-selected', locale_code, 365);
4771                  };        
4772                }
4773              }
4774            }
4775          }
4776        });
4777      });
4778      geolocationObserver.observe(target, config);
4779      setTimeout(function() {
4780        geolocationObserver.disconnect();
4781      }, 10000);
4782    }
4783  }
4784
4785
4786  /**
4787  *
4788  *
4789  * @class Recommendation
4790  */
4791  class Recommendation extends LanguageDetection {
4792    
4793    constructor() {
4794      super();
4795      LyHelper.log('Recommendation instantiation');
4796    }
4797
4798    init() {
4799      this.hreflangList = this.getHreflangList();
4800
4801      var userLang = navigator.language || navigator.userLanguage;
4802      userLang = userLang.toLowerCase();
4803
4804      var recommendation = this.matchHreflangList(userLang);
4805      var recommendationLanguageCode = this._hreflangToLanguageCode(recommendation);
4806      if(recommendationLanguageCode && recommendationLanguageCode !== langify.locale.iso_code && !LyHelper.getCookie('ly-lang-selected')) {
4807        this.recommended_language_code = recommendationLanguageCode;
4808        this.recommended_country_code = null;
4809        this.recommended_currency_code = null;
4810        this._translateStrings(recommendationLanguageCode);
4811        this._bindings();
4812      } else {
4813        return false;
4814      }
4815    }
4816
4817    _translateStrings(languageCode) {
4818      var recommendationElement = document.querySelectorAll('.ly-recommendation')[0];
4819      var strings = langify.settings.switcher.recommendation_strings[languageCode];
4820      var recommendationStr = 'Looks like your browser is set to [[language]]. Change the language?';
4821      var buttonStr = 'Change';
4822      var matchedLanguageCode = this._langToHreflang(languageCode).toLowerCase();
4823      var languageStr = langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode) ? langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode).name : languageCode.toUpperCase();
4824      if(strings) {
4825        recommendationStr = strings.recommendation ? strings.recommendation : recommendationStr;
4826        buttonStr = strings.button ? strings.button : buttonStr;
4827        languageStr = strings.language ? strings.language : languageStr;
4828      }
4829      var newCode = recommendationElement.innerHTML;
4830      newCode = newCode.replaceAll('[[recommendation]]', recommendationStr).replaceAll('[[button]]', buttonStr).replaceAll('[[language]]', languageStr);
4831      recommendationElement.innerHTML = newCode;     
4832    }
4833
4834    _bindings() {
4835      var _this = this;
4836      var lyForceOff = location.search.split('ly-force-off=')[1];
4837      var recommendationElement = document.querySelectorAll('.ly-recommendation')[0];
4838      var form = recommendationElement.querySelectorAll('.ly-recommendation-form')[0];
4839      var links = recommendationElement.getElementsByClassName('ly-custom-dropdown-list-element');
4840      var customDropdown = recommendationElement.querySelectorAll('.ly-custom-dropdown-switcher');
4841      var nativeSelects = recommendationElement.getElementsByClassName('ly-native-select');
4842
4843      form.addEventListener('submit', function(e) {
4844        e.preventDefault();
4845        
4846        if(_this.recommended_country_code || _this.recommended_currency_code) {
4847          // When a country or currency is involved, use old redirection
4848          var additionalFields = [];
4849          if(_this.recommended_country_code) {
4850            additionalFields.push({
4851              name: 'country_code',
4852              value: _this.recommended_country_code
4853            });
4854          }
4855          if(_this.recommended_currency_code) {
4856            additionalFields.push({
4857              name: 'currency_code',
4858              value: _this.recommended_currency_code
4859            });
4860          }
4861          LyHelper.setCookie('ly-lang-selected', _this.recommended_language_code, 365);
4862          LyHelper.localizationRedirect('language_code', _this.recommended_language_code, additionalFields);
4863        } else {
4864          //...or use new hreflang redirection
4865          _this.redirectMatched(_this.recommended_language_code);
4866        }
4867      });
4868      
4869      // Overwrite switchers
4870      for(var l = 0; l < links.length; l++) {
4871        links[l].addEventListener('click', function(event) {
4872          event.preventDefault();
4873          
4874          // When clicked from within a custom dropdown
4875          var parentCustomDropdown = event.currentTarget.closest('.ly-custom-dropdown-switcher');
4876          if(parentCustomDropdown) {
4877            _this._selectCustomDropdownEntry(parentCustomDropdown, this);
4878          } else {
4879            _this.recommended_language_code = this.getAttribute('data-language-code');
4880          }
4881        });
4882      }
4883
4884      for(var i = 0; i < nativeSelects.length; i++) {
4885        nativeSelects[i].onchange = _this._selectNativeDropdownEntry.bind(this);
4886        
4887        if(nativeSelects[i].classList.contains('ly-languages-switcher')) {
4888          nativeSelects[i].value = _this.recommended_language_code;
4889        }
4890      }
4891
4892      for(var i = 0; i < customDropdown.length; i++) {
4893        if(recommendationElement.className.indexOf('bottom') > -1) {
4894          customDropdown[i].classList.add('ly-is-dropup');       
4895        }
4896        
4897        if(customDropdown[i].classList.contains('ly-languages-switcher')) {
4898          _this._selectCustomDropdownEntry(customDropdown[i], customDropdown[i].querySelector('.ly-custom-dropdown-list a[data-language-code="'+ _this.recommended_language_code +'"]'));
4899        }
4900      } 
4901      if(!lyForceOff) {
4902        recommendationElement.classList.add('ly-is-open');
4903      }
4904    }
4905
4906    _selectNativeDropdownEntry(event) {
4907      event.preventDefault();
4908      var element = event.currentTarget;
4909      var _this = this;
4910
4911      if(element[element.selectedIndex].hasAttribute('data-language-code')) {
4912        _this.recommended_language_code = element[element.selectedIndex].getAttribute('data-language-code');
4913      }
4914      if(element[element.selectedIndex].hasAttribute('data-country-code')) {
4915        _this.recommended_country_code = element[element.selectedIndex].getAttribute('data-country-code');
4916      }
4917      if(element[element.selectedIndex].hasAttribute('data-currency-code')) {
4918        _this.recommended_currency_code = element[element.selectedIndex].getAttribute('data-currency-code');
4919      }
4920    }
4921
4922    _selectCustomDropdownEntry(element, entry) {
4923      if(!entry) return;
4924      var _this = this;
4925      var currentElem = element.querySelector('.ly-custom-dropdown-current');
4926      var currentIcon = currentElem.querySelector('.ly-icon');        
4927      var currentLabel = currentElem.querySelector('span');
4928      var valueToSelect = '';
4929
4930      if(entry.hasAttribute('data-language-code')) {
4931        _this.recommended_language_code = entry.getAttribute('data-language-code');
4932        valueToSelect = _this.recommended_language_code;
4933      }
4934      if(entry.hasAttribute('data-country-code')) {
4935        _this.recommended_country_code = entry.getAttribute('data-country-code');
4936        valueToSelect = _this.recommended_country_code;
4937      }
4938      if(entry.hasAttribute('data-currency-code')) {
4939        _this.recommended_currency_code = entry.getAttribute('data-currency-code');
4940        valueToSelect = _this.recommended_currency_code;
4941      }
4942      if(entry.hasAttribute('data-country-code') && entry.hasAttribute('data-currency-code')) {
4943        valueToSelect = _this.recommended_country_code + '-' + _this.recommended_currency_code;
4944      }
4945
4946      if(element.querySelector('.ly-custom-dropdown-list li.current')) {
4947        element.querySelector('.ly-custom-dropdown-list li.current').classList.remove('current');  
4948        element.querySelector('.ly-custom-dropdown-list li[key="'+ valueToSelect +'"]').classList.add('current');  
4949      }
4950      if(element.querySelector('.ly-custom-dropdown-list li.current span')) currentLabel.innerHTML = element.querySelector('.ly-custom-dropdown-list li.current span').innerHTML;
4951      if(element.querySelector('.ly-custom-dropdown-list li.current .ly-icon')) currentIcon.classList = element.querySelector('.ly-custom-dropdown-list li.current .ly-icon').classList;
4952    }
4953
4954    toggleOpen(e) {
4955      e.closest('.ly-recommendation').classList.toggle('ly-is-open');
4956      if(!e.closest('.ly-recommendation').classList.contains('ly-is-open')) {
4957        LyHelper.setCookie('ly-lang-selected', this.recommended_language_code, 365);
4958      }
4959    }
4960  }
4961
4962
4963  /**
4964  *
4965  *
4966  * @class Langify
4967  */
4968  class Langify {
4969    constructor(settings, locale) {
4970      LyHelper.log('Langify instantiation')
4971
4972      var translationObserver = new TranslationObserver().init();
4973
4974      langify.helper = new LyHelper();
4975      LyHelper.log(langify.helper);
4976
4977
4978      var lyForceOff = location.search.split('ly-force-off=')[1];
4979      if(lyForceOff === 'true') {
4980        document.getElementById('preview-bar-iframe').classList.add('ly-hide');
4981        return false;
4982      }
4983
4984      if(settings.theme && ((settings.theme.loadJquery && settings.theme.loadJquery === true) || typeof settings.theme.loadJquery === 'undefined')) {
4985        if(typeof jQuery === 'undefined') {
4986          LyHelper.loadScript('//cdn.jsdelivr.net/jquery/1.9.1/jquery.min.js', function() {});
4987        } 
4988      }
4989
4990      //document.addEventListener("DOMContentLoaded", function() {
4991        langify.switcher = new Switcher();
4992        langify.switcher.init();
4993
4994        if(settings.switcher) {
4995          if(settings.switcher.recommendation && settings.switcher.recommendation_enabled) {
4996            langify.recommendation = new Recommendation();
4997            langify.recommendation.init();
4998          } else {
4999            if(settings.switcher.languageDetection) {
5000              langify.languageDetection = new LanguageDetection();
5001              langify.languageDetection.init();
5002            }        
5003          }
5004        }
5005      //});
5006    }
5007  }
5008
5009  // Polyfills
5010  (function(){var t;null==window.MutationObserver&&(t=function(){function t(t){this.callBack=t}return t.prototype.observe=function(t,n){return this.element=t,this.interval=setInterval((e=this,function(){var t;if((t=e.element.innerHTML)!==e.oldHtml)return e.oldHtml=t,e.callBack.apply(null)}),200);var e},t.prototype.disconnect=function(){return window.clearInterval(this.interval)},t}(),window.MutationObserver=t)}).call(this);
5011  !function(){"use strict";if("object"==typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=function(t){for(var e=window.document,o=i(e);o;)o=i(e=o.ownerDocument);return e}(),e=[],o=null,n=null;s.prototype.THROTTLE_TIMEOUT=100,s.prototype.POLL_INTERVAL=null,s.prototype.USE_MUTATION_OBSERVER=!0,s._setupCrossOriginUpdater=function(){return o||(o=function(t,o){n=t&&o?l(t,o):{top:0,bottom:0,left:0,right:0,width:0,height:0},e.forEach(function(t){t._checkForIntersections()})}),o},s._resetCrossOriginUpdater=function(){o=null,n=null},s.prototype.observe=function(t){if(!this._observationTargets.some(function(e){return e.element==t})){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},s.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter(function(e){return e.element!=t}),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},s.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},s.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},s.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter(function(t,e,o){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==o[e-1]})},s.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map(function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}});return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},s.prototype._monitorIntersections=function(e){var o=e.defaultView;if(o&&-1==this._monitoringDocuments.indexOf(e)){var n=this._checkForIntersections,r=null,s=null;this.POLL_INTERVAL?r=o.setInterval(n,this.POLL_INTERVAL):(h(o,"resize",n,!0),h(e,"scroll",n,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in o&&(s=new o.MutationObserver(n)).observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push(function(){var t=e.defaultView;t&&(r&&t.clearInterval(r),c(t,"resize",n,!0)),c(e,"scroll",n,!0),s&&s.disconnect()});var u=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=u){var a=i(e);a&&this._monitorIntersections(a.ownerDocument)}}},s.prototype._unmonitorIntersections=function(e){var o=this._monitoringDocuments.indexOf(e);if(-1!=o){var n=this.root&&(this.root.ownerDocument||this.root)||t;if(!this._observationTargets.some(function(t){var o=t.element.ownerDocument;if(o==e)return!0;for(;o&&o!=n;){var r=i(o);if((o=r&&r.ownerDocument)==e)return!0}return!1})){var r=this._monitoringUnsubscribes[o];if(this._monitoringDocuments.splice(o,1),this._monitoringUnsubscribes.splice(o,1),r(),e!=n){var s=i(e);s&&this._unmonitorIntersections(s.ownerDocument)}}}},s.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e<t.length;e++)t[e]()},s.prototype._checkForIntersections=function(){if(this.root||!o||n){var t=this._rootIsInDom(),e=t?this._getRootRect():{top:0,bottom:0,left:0,right:0,width:0,height:0};
5011this._observationTargets.forEach(function(n){var i=n.element,s=u(i),h=this._rootContainsTarget(i),c=n.entry,a=t&&h&&this._computeTargetAndRootIntersection(i,s,e),l=null;this._rootContainsTarget(i)?o&&!this.root||(l=e):l={top:0,bottom:0,left:0,right:0,width:0,height:0};var f=n.entry=new r({time:window.performance&&performance.now&&performance.now(),target:i,boundingClientRect:s,rootBounds:l,intersectionRect:a});c?t&&h?this._hasCrossedThreshold(c,f)&&this._queuedEntries.push(f):c&&c.isIntersecting&&this._queuedEntries.push(f):this._queuedEntries.push(f)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)}},s.prototype._computeTargetAndRootIntersection=function(e,i,r){if("none"!=window.getComputedStyle(e).display){for(var s,h,c,a,f,d,g,m,v=i,_=p(e),b=!1;!b&&_;){var w=null,y=1==_.nodeType?window.getComputedStyle(_):{};if("none"==y.display)return null;if(_==this.root||9==_.nodeType)if(b=!0,_==this.root||_==t)o&&!this.root?!n||0==n.width&&0==n.height?(_=null,w=null,v=null):w=n:w=r;else{var I=p(_),E=I&&u(I),T=I&&this._computeTargetAndRootIntersection(I,E,r);E&&T?(_=I,w=l(E,T)):(_=null,v=null)}else{var R=_.ownerDocument;_!=R.body&&_!=R.documentElement&&"visible"!=y.overflow&&(w=u(_))}if(w&&(s=w,h=v,c=void 0,a=void 0,f=void 0,d=void 0,g=void 0,m=void 0,c=Math.max(s.top,h.top),a=Math.min(s.bottom,h.bottom),f=Math.max(s.left,h.left),d=Math.min(s.right,h.right),m=a-c,v=(g=d-f)>=0&&m>=0&&{top:c,bottom:a,left:f,right:d,width:g,height:m}||null),!v)break;_=_&&p(_)}return v}},s.prototype._getRootRect=function(){var e;if(this.root&&!d(this.root))e=u(this.root);else{var o=d(this.root)?this.root:t,n=o.documentElement,i=o.body;e={top:0,left:0,right:n.clientWidth||i.clientWidth,width:n.clientWidth||i.clientWidth,bottom:n.clientHeight||i.clientHeight,height:n.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},s.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map(function(e,o){return"px"==e.unit?e.value:e.value*(o%2?t.width:t.height)/100}),o={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return o.width=o.right-o.left,o.height=o.bottom-o.top,o},s.prototype._hasCrossedThreshold=function(t,e){var o=t&&t.isIntersecting?t.intersectionRatio||0:-1,n=e.isIntersecting?e.intersectionRatio||0:-1;if(o!==n)for(var i=0;i<this.thresholds.length;i++){var r=this.thresholds[i];if(r==o||r==n||r<o!=r<n)return!0}},s.prototype._rootIsInDom=function(){return!this.root||f(t,this.root)},s.prototype._rootContainsTarget=function(e){var o=this.root&&(this.root.ownerDocument||this.root)||t;return f(o,e)&&(!this.root||o==e.ownerDocument)},s.prototype._registerInstance=function(){e.indexOf(this)<0&&e.push(this)},s.prototype._unregisterInstance=function(){var t=e.indexOf(this);-1!=t&&e.splice(t,1)},window.IntersectionObserver=s,window.IntersectionObserverEntry=r}function i(t){try{return t.defaultView&&t.defaultView.frameElement||null}catch(t){return null}}function r(t){this.time=t.time,this.target=t.target,this.rootBounds=a(t.rootBounds),this.boundingClientRect=a(t.boundingClientRect),this.intersectionRect=a(t.intersectionRect||{top:0,bottom:0,left:0,right:0,width:0,height:0}),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,o=e.width*e.height,n=this.intersectionRect,i=n.width*n.height;this.intersectionRatio=o?Number((i/o).toFixed(4)):this.isIntersecting?1:0}function s(t,e){var o,n,i,r=e||{};if("function"!=typeof t)throw new Error("callback must be a function");if(r.root&&1!=r.root.nodeType&&9!=r.root.nodeType)throw new Error("root must be a Document or Element");this._checkForIntersections=(o=this._checkForIntersections.bind(this),n=this.THROTTLE_TIMEOUT,i=null,function(){i||(i=setTimeout(function(){o(),i=null},n))}),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(r.rootMargin),this.thresholds=this._initThresholds(r.threshold),this.root=r.root||null,this.rootMargin=this._rootMarginValues.map(function(t){return t.value+t.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function h(t,e,o,n){"function"==typeof t.addEventListener?t.addEventListener(e,o,n||!1):"function"==typeof t.attachEvent&&t.attachEvent("on"+e,o)}function c(t,e,o,n){"function"==typeof t.removeEventListener?t.removeEventListener(e,o,n||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on"+e,o)}function u(t){var e;try{e=t.getBoundingClientRect()}catch(t){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):{top:0,bottom:0,left:0,right:0,width:0,height:0}}function a(t){return!t||"x"in t?t:{top:t.top,y:t.top,bottom:t.bottom,left:t.left,x:t.left,right:t.right,width:t.width,height:t.height}}function l(t,e){var o=e.top-t.top,n=e.left-t.left;return{top:o,left:n,height:e.height,width:e.width,bottom:o+e.height,right:n+e.width}}function f(t,e){for(var o=e;o;){if(o==t)return!0;o=p(o)}return!1}function p(e){var o=e.parentNode;return 9==e.nodeType&&e!=t?i(e):(o&&o.assignedSlot&&(o=o.assignedSlot.parentNode),o&&11==o.nodeType&&o.host?o.host:o)}function d(t){return t&&9===t.nodeType}}();
5012  !function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(n,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var e=document.createEvent("CustomEvent");return e.initCustomEvent(n,t.bubbles,t.cancelable,t.detail),e}}();
5013
5014  var langify = window.langify || {};
5015  var customContents = {};
5016  var customContents_image = {};
5017  var langifySettingsOverwrites = {};
5018  var defaultSettings = {
5019    debug: false,               // BOOL : Enable/disable console logs
5020    observe: true,              // BOOL : Enable/disable the entire mutation observer (off switch)
5021    observeLinks: false,
5022    observeImages: true,
5023    observeCustomContents: true,
5024    maxMutations: 5,
5025    timeout: 100,               // INT : Milliseconds to wait after a mutation, before the next mutation event will be allowed for the element
5026    linksBlacklist: [],
5027  };
5028
5029  if(langify.settings) { 
5030    langifySettingsOverwrites = Object.assign({}, langify.settings);
5031    langify.settings = Object.assign(defaultSettings, langify.settings); 
5032  } else { 
5033    langify.settings = defaultSettings; 
5034  }
5035
5036  langify.settings.theme = null;
5037  langify.settings.switcher = null;
5038
5039  langify.locale = langify.locale || {
5040    primary: true,
5041    iso_code: "en",
5042    root_url: "\/",
5043    language_id: "ly168057",
5044    shop_url: "https:\/\/canadagrowsupplies.com",
5045    domain_feature_enabled: null,
5046    languages: [{
5047        iso_code: "en",
5048        root_url: "\/",
5049        domain: null,
5050      },{
5051        iso_code: "fr",
5052        root_url: "\/fr",
5053        domain: null,
5054      },],};
5055
5056  // Disable link correction ALWAYS on languages with mapped domains
5057  
5058  if(langify.locale.root_url == '/') {
5059    langify.settings.observeLinks = false;
5060  }
5061
5062  window.addEventListener('DOMContentLoaded', function() {
5063    langify.helper = new LyHelper();
5064
5065    // Custom Contents Section
5066
5067    // Images Section
5068    
5069
5070
5071    var langifyInstance = new Langify(langify.settings, langify.locale);
5072  });
5073</script>
5073
5074<div data-breakpoint="" class="ly-switcher-wrapper ly-breakpoint-1 fixed bottom_right ly-hide" style="font-size: 14px; margin: 0px 0px; "><div data-dropup="false" onclick="langify.switcher.toggleSwitcherOpen(this)" class="ly-languages-switcher ly-custom-dropdown-switcher ly-bright-theme" style=" margin: 0px 0px;">
5075          <span role="button" tabindex="0" aria-label="Selected language: English" aria-expanded="false" aria-controls="languagesSwitcherList-1" class="ly-custom-dropdown-current" style="background: #ffffff; color: #000000;  "><i class="ly-icon ly-flag-icon ly-flag-icon-en "></i><span class="ly-custom-dropdown-current-inner ly-custom-dropdown-current-inner-text">English</span>
5076<div aria-hidden="true" class="ly-arrow ly-arrow-black stroke" style="vertical-align: middle; width: 14.0px; height: 14.0px;">
5077        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.0 14.0" height="14.0px" width="14.0px" style="position: absolute;">
5078          <path d="M1 4.5 L7.0 10.5 L13.0 4.5" fill="transparent" stroke="#000000" stroke-width="1px"/>
5079        </svg>
5080      </div>
5081          </span>
5082          <ul id="languagesSwitcherList-1" role="list" class="ly-custom-dropdown-list ly-is-open ly-bright-theme" style="background: #ffffff; color: #000000; "><li key="fr"  style="color: #000000;  margin: 0px 0px;" tabindex="-1">
5083                  <a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme"
5084                    href="#"
5085                      data-language-code="fr" 
5086                    
5087                    data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-fr"></i><span class="ly-custom-dropdown-list-element-right">French</span></a>
5088                </li><li key="en" class="current" style="color: #000000;  margin: 0px 0px;" tabindex="-1">
5089                  <a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme current_lang"
5090                    href="#"
5091                      data-language-code="en" 
5092                    
5093                    data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-en"></i><span class="ly-custom-dropdown-list-element-right">English</span></a>
5094                </li></ul>
5095        </div></div>
5096<style>
5097
5098
5099    .ly-flag-icon-en { background-image: url('//canadagrowsupplies.com/cdn/shop/t/43/assets/ly-icon-e
5099n.svg?v=168749326791323067301686760900'); }
5100
5101
5102    .ly-flag-icon-fr { background-image: url('//canadagrowsupplies.com/cdn/shop/t/43/assets/ly-icon-fr.svg?v=49424167760593335881686760907'); }
5103
5104  .ly-switcher-wrapper {
5105    
5106  }
5107  .ly-switcher-wrapper.fixed {
5108    position: fixed;
5109    z-index: 4;
5110  }
5111  .ly-switcher-wrapper.absolute {
5112    position: absolute;
5113    z-index: 1000;
5114  }
5115  .ly-switcher-wrapper.fixed.top_left,
5116  .ly-switcher-wrapper.absolute.top_left {
5117    top: 0;
5118    left: 0;
5119  }
5120  .ly-switcher-wrapper.fixed.top_right,
5121  .ly-switcher-wrapper.absolute.top_right {
5122    top: 0;
5123    right: 0;
5124  }
5125  .ly-switcher-wrapper.fixed.bottom_left,
5126  .ly-switcher-wrapper.absolute.bottom_left {
5127    bottom: 0;
5128    left: 0;
5129  }
5130  .ly-switcher-wrapper.fixed.bottom_right,
5131  .ly-switcher-wrapper.absolute.bottom_right {
5132    bottom: 0;
5133    right: 0;
5134  }
5135  .ly-switcher-wrapper .shopify-currency-form {
5136    display: inline-block;
5137  }
5138
5139
5140  .ly-currency-switcher {
5141    font-size: 1em;
5142  }
5143
5144  .ly-inner-text {
5145    margin: 0 0.2em;
5146    white-space: nowrap;
5147  }
5148
5149  .ly-flag-icon {
5150    background-size: contain;
5151    background-position: 50%;
5152    background-repeat: no-repeat;
5153    position: relative;
5154    display: inline-block;
5155    width: 1.33333333em;
5156    line-height: 1em;
5157  }
5158  .ly-flag-icon:before {
5159    content: '';
5160    display: inline-block;
5161  }
5162  .ly-flag-icon.ly-flag-squared {
5163    width: 1em;
5164  }
5165  .ly-flag-icon.ly-flag-rounded {
5166    width: 1em;
5167    border-radius: 50%;
5168  }
5169  .ly-languages-switcher {
5170    white-space: nowrap;
5171    list-style-type: none;
5172    display: flex;
5173    font-size: 1em;
5174  }
5175  .ly-languages-switcher-link {
5176    margin: 0 0.2em;
5177    cursor: pointer;
5178    white-space: nowrap;
5179    text-decoration: none;
5180    display: inline-block;
5181  }
5182  .ly-languages-switcher.ly-list {
5183    margin: 0;
5184    padding: 0;
5185    display: block;
5186  }
5187  .ly-languages-switcher.ly-native-select {
5188    
5189  }
5190  .ly-icon {
5191    margin: 0 0.2em;
5192  }
5193
5194  .ly-arrow {
5195    display: inline-block;
5196    position: relative;
5197    vertical-align: middle;
5198    direction: ltr !important;
5199    -webkit-transition: transform 0.25s;
5200    -moz-transition: transform 0.25s;
5201    transition: transform 0.25s;
5202    margin: 0 0.2em;
5203  }
5204  .ly-custom-dropdown-switcher.ly-is-open .ly-arrow {
5205    transform: rotate(180deg);
5206  }
5207  .ly-custom-dropdown-switcher.ly-arrow.ly-arrow-up {
5208    transform: rotate(180deg);
5209  }
5210  .ly-custom-dropdown-switcher.ly-is-open .ly-arrow.ly-arrow-up {
5211    transform: rotate(0deg);
5212  }
5213
5214  .ly-custom-dropdown-switcher {
5215    text-align: left;
5216    display: inline-block;
5217    position: relative;
5218    user-select: none;
5219    cursor: pointer;
5220  }
5221  .ly-custom-dropdown-current {
5222    display: block;
5223    vertical-align: middle;
5224  }
5225  .ly-custom-dropdown-current-inner {
5226    display: inline-block;
5227    vertical-align: middle;
5228  }
5229  .ly-custom-dropdown-current-inner-image {
5230    margin-right: 0.25em;
5231  }
5232  .ly-custom-dropdown-current-inner-text {
5233    margin: 0 0.2em;
5234  }
5235  .ly-custom-dropdown-list {
5236    display: none !important;
5237    list-style: none;
5238    position: absolute;
5239    left: 0;
5240    padding: inherit !important;
5241    padding: 0 !important;
5242    margin: 0;
5243    z-index: 99999;
5244    text-align: left;
5245    width: 100%;
5246    font-size: 1em;
5247  }
5248  .ly-custom-dropdown-list-element {
5249    color: inherit !important;
5250    display: block;
5251  }
5252  .ly-custom-dropdown-list > li {
5253    margin: 0 !important;
5254    display: block;
5255  }
5256  .ly-custom-dropdown-list-element-left {
5257    margin-right: 0.5em;
5258  }
5259  .ly-custom-dropdown-list-element-right {
5260    text-align: left;
5261  }
5262  .ly-custom-dropdown-list-element-left,
5263  .ly-custom-dropdown-list-element-right {
5264    vertical-align: middle;
5265  }
5266  .ly-custom-dropdown-switcher .ly-languages-switcher-link {
5267    margin: 0;
5268  }
5269  .ly-languages-switcher-dropdown {
5270    display: inline-block;
5271  }
5272  .ly-languages-links-switcher {
5273    display: inline-block;
5274  }
5275  .ly-languages-links-switcher > .ly-languages-link {
5276    /*margin-right: 0.5em;*/
5277    padding: inherit !important;
5278    color: inherit !important;
5279  }
5280  .ly-custom-dropdown-list-element {
5281    /*padding: inherit !important;*/
5282    text-decoration: none;
5283  }
5284  .ly-is-uppercase {
5285    text-transform: uppercase;
5286  }
5287  .ly-is-transparent.ly-links,
5288  .ly-is-transparent.ly-list,
5289  .ly-is-transparent.ly-currency-switcher,
5290  .ly-is-transparent.ly-custom-dropdown-switcher,
5291  .ly-is-transparent.ly-custom-dropdown-switcher .ly-custom-dropdown-list {
5292    background: transparent !important;
5293  }
5294  .ly-arrow-up {
5295    transform: rotateZ(180deg);
5296  }
5297
5298  .ly-custom-dropdown-switcher .ly-custom-dropdown-list li.current{
5299    display: none;
5300  }
5301  .ly-custom-dropdown-switcher.ly-is-open .ly-custom-dropdown-list {
5302    display: flex !important;
5303    min-width: 100%;
5304    width: 100%;
5305    flex-direction: column-reverse;
5306    right: 0;
5307    left: auto;
5308    overflow: auto;
5309    max-height: 350px;
5310    max-height: 50vh;
5311  }
5312
5313  .ly-is-dropup .ly-custom-dropdown-list {
5314    bottom: 100%;
5315  }
5316  .ly-hide {
5317    display: none !important;
5318  }
5319  body.ly-force-off #preview-bar-iframe,
5320  body.ly-force-off .ly-languages-switcher {
5321    display: none !important;
5322  }
5323
5324  .ly-close {
5325    position: absolute;
5326    opacity: 0.3;
5327    right: 0;
5328    top: 0;
5329    width: 3em;
5330    height: 3em;
5331    display: inline-block !important;
5332    background: rbga(0,0,0,0);
5333    padding: 1em;
5334  }
5335  .ly-close:hover {
5336    opacity: 1;
5337  }
5338  .ly-close .inner {
5339    transform: translateX(-50%);
5340    position: relative;
5341    width: 100%;
5342    height: 100%;
5343    display: inline-block;
5344  }
5345  .ly-close .inner:before, .ly-close .inner:after {
5346    position: absolute;
5347    left: 1em;
5348    content: ' ';
5349    height: 1em;
5350    width: 2px;
5351    background-color: #333;
5352  }
5353  .ly-close .inner:before {
5354    transform: rotate(45deg);
5355  }
5356  .ly-close .inner:after {
5357    transform: rotate(-45deg);
5358  }
5359
5360
5361
5362  .ly-popup-switcher {}
5363  .ly-popup-switcher .ly-popup-current {
5364    cursor: pointer;
5365    background: transparent;
5366  }
5367  .ly-popup-switcher .ly-popup-modal {
5368    position: fixed;
5369    z-index: 1000;
5370    top: 0;
5371    left: 0;
5372    width: 100%;
5373    height: 100%;
5374    display: none;
5375    justify-content: center; 
5376    align-items: center;
5377  }
5378  .ly-popup-switcher.ly-is-open .ly-popup-modal {
5379    display: flex;
5380  }
5381  .ly-popup-switcher .ly-popup-modal-backdrop {
5382    position: fixed;
5383    width: 100%;
5384    height: 100%;
5385    z-index: 0;
5386    top: 0;
5387    left: 0;
5388    background:rgba(0, 0, 0, 0.38);
5389    cursor: pointer;
5390  }
5391  .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content {
5392    padding: 1em;
5393    position: absolute;
5394    z-index: 1000;
5395  }
5396  .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul {
5397    padding: 0;
5398    margin: 12px 0 0 0;
5399    list-style: none;
5400    display: flex;
5401    flex-direction: column;
5402  }
5403  .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link {
5404    margin: 0;
5405    border: solid 1px;
5406    padding: 1em;
5407    display: block;
5408    min-width: 225px;
5409    margin-top: 1em;
5410  }
5411  .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link.current_lang {
5412    display: none;
5413  }
5414
5415
5416
5417  /* Recommendation */
5418  .ly-recommendation {
5419    display: none;
5420  }
5421  .ly-recommendation.ly-is-open {
5422    display: inline-block;
5423  }
5424  .ly-recommendation form {
5425    display: inline-block;
5426  }
5427  .ly-recommendation .ly-arrow,
5428  .ly-arrow.recommendation {
5429    display: none;
5430  }
5431  .ly-recommendation .ly-arrow.recommendation {
5432    display: inline-block;
5433  }
5434  .ly-recommendation .ly-switcher-wrapper {
5435    font-size: 1em !important;
5436  }
5437  .ly-recommendation .ly-popup-modal .ly-popup-switcher .ly-popup-modal .ly-popup-modal-backdrop {
5438    display: none;
5439  }
5440  .ly-recommendation-form button[type="submit"] {
5441    cursor: pointer;
5442  }
5443
5444  /* Recommendation Banner */
5445  .ly-recommendation .ly-banner {
5446    position: fixed;
5447    z-index: 100000;
5448    width: 100%;
5449  }
5450  .ly-recommendation .ly-banner .ly-banner-content {
5451    width: 100%;
5452    padding: 1em 30px 1em 1em;
5453    box-shadow: 0 0 20px rgba(0,0,0,.25);
5454  }
5455  .ly-recommendation .ly-banner.top {
5456    top: 0;
5457  }
5458  .ly-recommendation .ly-banner.bottom {
5459    bottom: 0;
5460  }
5461  .ly-recommendation .ly-banner .ly-banner-content .ly-switcher-wrapper {
5462    position: relative !important;
5463    margin: 0 !important;
5464    display: inline-block !important;
5465  }
5466  .ly-recommendation .ly-banner .ly-recommendation-form button[type="submit"] {
5467    margin-left: 10px;
5468  }
5469
5470
5471  /* Recommendation Popup */
5472  .ly-recommendation .ly-popup-modal {
5473    position: fixed;
5474    z-index: 10000;
5475  }
5476  .ly-recommendation .ly-popup-modal .ly-switcher-wrapper {
5477    position: relative !important;
5478    margin: 0 !important;
5479    display: inline-block !important;
5480  }
5481  .ly-recommendation .ly-popup-modal-backdrop {
5482    position: fixed;
5483    width: 100%;
5484    height: 100%;
5485    z-index: 1000;
5486    top: 0;
5487    left: 0;
5488    background:rgba(0, 0, 0, 0.38);
5489  }
5490  .ly-recommendation .ly-popup-modal .ly-popup-modal-content {
5491    padding: 1em 30px 1em 1em;
5492  }
5493  .ly-recommendation .ly-popup-modal .ly-popup-modal-content .ly-languages-switcher {
5494    position: relative !important;
5495    margin: 0 !important;
5496  }
5497  .ly-recommendation .ly-popup-modal .ly-popup-modal-content h3 {
5498    margin: 0 2em 1em 0;
5499    font-size: inherit;
5500    position: relative;
5501  }
5502  .ly-recommendation .ly-popup-modal.top_left { top: 0; left: 0; margin-right: 0 !important; margin-bottom: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important;}
5503  .ly-recommendation .ly-popup-modal.top_center { top: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-bottom: 0 !important; margin-left: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important;}
5504  .ly-recommendation .ly-popup-modal.top_right { top: 0; right: 0; margin-left: 0 !important; margin-bottom: 0 !important; padding-left: 0 !important; padding-bottom: 0 !important; }
5505  .ly-recommendation .ly-popup-modal.center_center { top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); margin: 0 !important; padding: 0 !important; }
5506  .ly-recommendation .ly-popup-modal.bottom_left { bottom: 0; left: 0; margin-right: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-top: 0 !important; }
5507  .ly-recommendation .ly-popup-modal.bottom_center { bottom: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-left: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-left: 0 !important; padding-top: 0 !important; }
5508  .ly-recommendation .ly-popup-modal.bottom_right { bottom: 0; right: 0; margin-left: 0 !important; margin-top: 0 !important; padding-left: 0 !important; padding-top: 0 !important; }
5509
5510
5511
5512
5513
5514  
5515</style><!-- langify-v2-scripts-end -->  
5516
5517
5518
5519<script src="https://a.klaviyo.com/media/js/onsite/onsite.js"></script>
vendor: 1 bytes, line 5519
5519
5520<script>
5521    var klaviyo = klaviyo || [];
5522    klaviyo.init({
5523      account: "VWvL5Y",
5524      list: 'SprRdK',
5525      platform: "shopify"
5526    });
5527    klaviyo.enable("backinstock",{ 
5528    trigger: {
5529      product_page_text: "Notify Me When Available",
5530      product_page_class: "klaviyo-out-of-stock-btn",
5531      product_page_text_align: "center",
5532      product_page_margin: "0px",
5533      replace_anchor: false
5534    },
5535    modal: {
5536     headline: "NOTIFY ME WHEN AVAILABLE",
5537     newsletter_subscribe_label: "You can also subscribe to our email list and receive $10 OFF your next purchase.",
5538     body_content: "We will notify you when the product is back in stock.",
5539     email_field_label: "Email",
5540     button_label: "Notify me when available",
5541     subscription_success_label: "You're in! We'll let you know when it's back.",
5542     footer_content: '',
5543      additional_styles: "\
5544      .modal-title { \
5545        text-align: center; \
5546          } \
5547      @media (max-width: 993px) { \
5548        #klaviyo-bis-modal { \
5549        position: fixed; \
5550        top: 50%; \
5551        left: 50%; \
5552        transform: translate(-50%, -50%); \
5553        width: 90%; \
5554        max-width: 500px; \
5555        margin: auto; \
5556        z-index: 1000; \
5557        overflow-y: auto; \
5558        box-sizing: border-box; \
5559        } \
5560       }",
5561     drop_background_color: "#000",
5562     background_color: "#fff",
5563     text_color: "#222",
5564     button_text_color: "#fff",
5565     button_background_color: "#000",
5566     close_button_color: "#ccc",
5567     error_background_color: "#fcd6d7",
5568     error_text_color: "#C72E2F",
5569     success_background_color: "#d3efcd",
5570     success_text_color: "#1B9500"
5571    }
5572  });
5573</script>
5573
5574        
5575        <div id="shopify-block-AR2FMSW9nNERWcU9kV__6174324309569838175" class="shopify-block shopify-app-block">
5576
5577
5578<div class="smile-shopify-init"
5579  data-channel-key="channel_o21tj1RPso2TN2cN2tU8vN3O"
5580  
5581></div>
5582
5583
5584</div><div id="shopify-block-AWFNNenlBR2N5d2ZuU__12657775114333427046" class="shopify-block shopify-app-block">
5584<script>
5585  
5586    window.essentialCountdownTimerConfigs = [{"id":"clpgav4im70796218yivzqzke4n","name":"CYBER WEEK","title":"CYBER WEEK Hurry up! Sale ends in: ","customTitle":"","endDate":"2023-12-03T05:00:00.000Z","startDate":"2023-11-30T15:07:00.000Z","subheading":"","fixedMinutes":"120","repeat":false,"timerType":"toDate","type":"top-bar","published":true,"timerPlacement":"","showOnProducts":[],"showOnCollections":[],"legendCopyDays":"Days","legendCopyHours":"Hrs","legendCopyMins":"Mins","legendCopySecs":"Secs","CTAType":"button","CTALink":"https:\/\/canadagrowsupplies.com\/pages\/cyber-week","closeButton":true,"buttonText":"Shop now!","updatedAt":"2023-11-30T15:07:40.100Z","createdAt":"2023-11-27T02:38:30.746Z","onceItEnds":"hide","style":{"font":"","position":"top-page","stickyBar":false,"timerSize":"22","titleSize":"18","borderSize":"0","buttonText":"Shop now!","legendSize":"10","timerColor":"#202223","titleColor":"#202223","borderColor":"#c5c8d1","gradientEnd":"#FFFFFF","legendColor":"#6d7175","singleColor":"#FFFFFF","gradientTurn":"90","gradientStart":"#DDDDDD","backgroundType":"singleBackground","buttonFontSize":"14","closeIconColor":"#6d7175","subheadingSize":"14","buttonFontColor":"#FFFFFF","subheadingColor":"#202223","buttonBorderRadius":"4","announcementBarStyle":"line-centered","buttonBackgroundColor":"#202223"},"recurringDays":[],"startType":"today","endType":"never","productTags":[],"showInCountries":[],"locationType":"","translations":[],"duration":222737236},];
5587  
5588  const essentialCollectionId = null;
5589  window.essentialCountdownTimerMeta = {
5590    productData: null,
5591    productCollections: null,
5592  };
5593  window.essentialProductId = null
5594  window.essentialProductTags = null
5595  window.essentialCollectionId = null
5596  window.essentialCountdownTimerPageTemplate = "blog"
5597  
5598</script>
5598
5599
5600
5601
5602<style>
5603  .essential-countdown-timer-img-reset {
5604    /* wipe common globals */
5605    box-sizing: content-box;
5606    display: inline;
5607    width: auto;
5608    height: auto;
5609    max-width: none;
5610    max-height: none;
5611    margin: 0;
5612    padding: 0;
5613    border: none;
5614    border-radius: 0;
5615    box-shadow: none;
5616    background: none;
5617    object-fit: fill;
5618    object-position: 50% 50%;
5619    filter: none;
5620    opacity: 1;
5621    position: static;
5622    float: none;
5623    clear: none;
5624    vertical-align: baseline;
5625    transform: none;
5626    transition: none;
5627    animation: none;
5628    /* typography sometimes leaks via universal selectors */
5629    font: inherit;
5630    line-height: normal;
5631    letter-spacing: normal;
5632    text-align: start;
5633  }
5634</style>
5635
5636
5637</div><div id="shopify-block-AYUlMUG1LTDEwRW1TM__1804893150726543839" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: cur-init -->
5637<script type="text/javascript" id="nova-cur-app-embed-init">
5638  window.baCurr = window.baCurr || {};
5639  window.baCurr.rePeat = function () {};
5640  window.baCurr.config = {"enabled":true,"auto_loc":true,"ui_style":"default","verified":"false","auto_pref":false,"flag_type":"countryandmoney","lightning":true,"round_dec":0.99,"chosen_cur":[{"CAD":"Canadian Dollar (CAD)"},{"USD":"US Dollar (USD)"}],"flag_theme":"default","night_time":false,"custom_code":"{\"css\":\"\"}","flag_design":"modern","mob_visible":true,"price_hover":false,"round_style":"none","mob_placement":"top_right","cart_alert_note":"All orders are processed in [checkout_currency], using the latest exchange rates.","desktop_visible":true,"selector_bg_hex":"#ffffff","cart_alert_state":true,"display_position":"top_right","round_by_default":true,"cart_alert_bg_hex":"#fbf5f5","selector_text_hex":"#1e1e1e","mob_placement_type":"floating","selector_hover_hex":"#ffffff","cart_alert_font_hex":"#1e1e1e","show_all_currencies":false,"selector_border_type":"noBorder","cur_start_wizard_data":{},"display_position_type":"floating","moneyWithCurrencyFormat":true,"selector_box_shadow_enabled":true};
5641  window.baCurr.config.money_format = "\u003cspan class=money\u003e$ {{amount}}\u003c\/span\u003e";
5642  window.baCurr.config.money_with_currency_format = "\u003cspan class=money\u003e$ {{amount}} CAD\u003c\/span\u003e";
5643  window.baCurr.config.user_curr = "CAD";
5644  window.baCurr.config.multi_curr = [];
5645  
5646  window.baCurr.config.final_currency = "CAD" || '';
5647  window.baCurr.config.multi_curr = "CAD".split(',') || '';
5648</script>
5648
5649<!-- END app snippet -->
5650
5651
5652</div>
5652<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
5652
5653</body>
5654</html>
5655
5656<div id="shopify-section-sezzle-widget" class="shopify-section">
5657
5658<style>
5659	.sezzle-shopify-info-button {
5660	
5661}
5662.sezzle-shopify-info-button .sezzle-button-text {
5663	
5664	font-size: 14px !important;
5665	
5666	text-align: 
5667	
5668}
5669</style>
5670
5671
5672</div>
5673
5674

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.