PageSourceSearch

https://www.homedics.com/account/login?return_url=%2Faccount

html homedics.com collected 2026-10-01 11:29:30 UTC 353,809 bytes, 5,435 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en" dir="ltr">
3<head>
4  <meta charset="utf-8">
5  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6  <meta name="viewport" content="width=device-width,initial-scale=1">
7  <meta name="theme-color" content="#111111">
8  <link rel="canonical" href="https://www.homedics.com/account/login">
9  <link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
10  <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin>
11  <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com">
12  <link rel="dns-prefetch" href="https://ajax.googleapis.com">
13  <link rel="dns-prefetch" href="https://maps.googleapis.com">
14  <link rel="dns-prefetch" href="https://maps.gstatic.com">
15  <link rel="stylesheet" href="https://use.typekit.net/ces3iif.css">
16
17  <link rel="preconnect" href="https://fonts.googleapis.com">
18  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
19  <link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@700&display=swap" rel="stylesheet">
20  <link href="https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
21  
21<script src="https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/js/splide.min.js" defer="defer"></script>
21
22  <link href="https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/css/splide.min.css" rel="stylesheet"><link rel="shortcut icon" href="//www.homedics.com/cdn/shop/files/homedics-logo_2b17fb70-389a-4bdd-ab57-d086ce09a5a1_32x32.png?v=1758125808" type="image/png"/><title>Account
23&ndash; Homedics
24</title>
25<meta property="og:site_name" content="Homedics">
26  <meta property="og:url" content="https://www.homedics.com/account/login">
27  <meta property="og:title" content="Account">
28  <meta property="og:type" content="website">
29  <meta property="og:description" content="The leading global manufacturer of health and wellness products that help relax your body, de-stress your mind and promote your well-being."><meta property="og:image" content="http://www.homedics.com/cdn/shop/files/hp_humidifier_dt.webp?v=1760613716">
30    <meta property="og:image:secure_url" content="https://www.homedics.com/cdn/shop/files/hp_humidifier_dt.webp?v=1760613716">
31    <meta property="og:image:width" content="1920">
32    <meta property="og:image:height" content="821"><meta name="twitter:site" content="@">
33  <meta name="twitter:card" content="summary_large_image">
34  <meta name="twitter:title" content="Account">
35  <meta name="twitter:description" content="The leading global manufacturer of health and wellness products that help relax your body, de-stress your mind and promote your well-being.">
36<style data-shopify>@font-face {
37  font-family: Quicksand;
38  font-weight: 500;
39  font-style: normal;
40  font-display: swap;
41  src: url("//www.homedics.com/cdn/fonts/quicksand/quicksand_n5.8f86b119923a62b5ca76bc9a6fb25da7a7498802.woff2") format("woff2"),
42       url("//www.homedics.com/cdn/fonts/quicksand/quicksand_n5.c31882e058f76d723a7b6b725ac3ca095b5a2a70.woff") format("woff");
43}
44
45  @font-face {
46  font-family: Quicksand;
47  font-weight: 400;
48  font-style: normal;
49  font-display: swap;
50  src: url("//www.homedics.com/cdn/fonts/quicksand/quicksand_n4.bf8322a9d1da765aa396ad7b6eeb81930a6214de.woff2") format("woff2"),
51       url("//www.homedics.com/cdn/fonts/quicksand/quicksand_n4.fa4cbd232d3483059e72b11f7239959a64c98426.woff") format("woff");
52}
53
54
55  @font-face {
56  font-family: Quicksand;
57  font-weight: 600;
58  font-style: normal;
59  font-display: swap;
60  src: url("//www.homedics.com/cdn/fonts/quicksand/quicksand_n6.2d744c302b66242b8689223a01c2ae7d363b7b45.woff2") format("woff2"),
61       url("//www.homedics.com/cdn/fonts/quicksand/quicksand_n6.0d771117677705be6acb5844d65cf2b9cbf6ea3d.woff") format("woff");
62}
63
64  
65  
66</style><link href="//www.homedics.com/cdn/shop/t/138/assets/theme.css?v=117727355429574981941787623451" rel="stylesheet" type="text/css" media="all" />
67  <link href="//www.homedics.com/cdn/shop/t/138/assets/header.css?v=143016608835276720641787623451" rel="stylesheet" type="text/css" media="all" />
68<style data-shopify>:root {
69    --typeHeaderPrimary: "Inter Tight";
70    --typeHeaderFallback: sans-serif;
71    --typeHeaderSize: 36px;
72    --typeHeaderWeight: 500;
73    --typeHeaderLineHeight: 1;
74    --typeHeaderSpacing: 0.0em;
75
76    --typeBasePrimary:Quicksand;
77    --typeBaseFallback:sans-serif;
78    --typeBaseSize: 18px;
79    --typeBaseWeight: 500;
80    --typeBaseSpacing: 0.025em;
81    --typeBaseLineHeight: 1.4;
82    --typeBaselineHeightMinus01: 1.3;
83
84    --typeCollectionTitle: 20px;
85
86    --iconWeight: 2px;
87    --iconLinecaps: miter;
88
89    
90        --buttonRadius: 50px;
91    
92
93    --colorGridOverlayOpacity: 0.1;
94    --colorAnnouncement: #076669;
95    --colorAnnouncementText: #ffffff;
96
97    --colorBody: #ffffff;
98    --colorBodyAlpha05: rgba(255, 255, 255, 0.05);
99    --colorBodyDim: #f2f2f2;
100    --colorBodyLightDim: #fafafa;
101    --colorBodyMediumDim: #f5f5f5;
102
103
104    --colorBorder: #e8e8e1;
105
106    --colorBtnPrimary: #111111;
107    --colorBtnPrimaryLight: #2b2b2b;
108    --colorBtnPrimaryDim: #040404;
109    --colorBtnPrimaryText: #ffffff;
110
111    --colorCartDot: #ff4f33;
112
113    --colorDrawers: #f8f4ec;
114    --colorDrawersDim: #f1e9d9;
115    --colorDrawerBorder: #e8e8e1;
116    --colorDrawerText: #535353;
117    --colorDrawerTextDark: #2d2d2d;
118    --colorDrawerButton: #111111;
119    --colorDrawerButtonText: #ffffff;
120
121    --colorFooter: #94e5e1;
122    --colorFooterText: #000000;
123    --colorFooterTextAlpha01: #000000;
124
125    --colorGridOverlay: #000000;
126    --colorGridOverlayOpacity: 0.1;
127
128    --colorHeaderTextAlpha01: rgba(83, 83, 83, 0.1);
129
130    --colorHeroText: #ffffff;
131
132    --colorSmallImageBg: #ffffff;
133    --colorLargeImageBg: #0f0f0f;
134
135    --colorImageOverlay: #000000;
136    --colorImageOverlayOpacity: 0.1;
137    --colorImageOverlayTextShadow: 0.2;
138
139    --colorLink: #000000;
140
141    --colorModalBg: rgba(230, 230, 230, 0.6);
142
143    --colorNav: #f8f4ec;
144    --colorNavText: #535353;
145
146    --colorPrice: #1c1d1d;
147
148    --colorSaleTag: #1c1d1d;
149    --colorSaleTagText: #ffffff;
150
151    --colorTextBody: #000000;
152    --colorTextBodyAlpha015: rgba(0, 0, 0, 0.15);
153    --colorTextBodyAlpha005: rgba(0, 0, 0, 0.05);
154    --colorTextBodyAlpha008: rgba(0, 0, 0, 0.08);
155    --colorTextSavings: #c20000;
156
157    --urlIcoSelect: url(//www.homedics.com/cdn/shop/t/138/assets/ico-select.svg);
158    --urlIcoSelectFooter: url(//www.homedics.com/cdn/shop/t/138/assets/ico-select-footer.svg);
159    --urlIcoSelectWhite: url(//www.homedics.com/cdn/shop/t/138/assets/ico-select-white.svg);
160
161    --grid-gutter: 17px;
162    --drawer-gutter: 20px;
163
164    --sizeChartMargin: 25px 0;
165    --sizeChartIconMargin: 5px;
166
167    --newsletterReminderPadding: 40px;
168
169    /*Shop Pay Installments*/
170    --color-body-text: #000000;
171    --color-body: #ffffff;
172    --color-bg: #ffffff;
173    }
174
175    .placeholder-content {
176    background-image: linear-gradient(100deg, #ffffff 40%, #f7f7f7 63%, #ffffff 79%);
177    }</style>
177<script type="text/javascript">
178    (function (c, l, a, r, i, t, y) {
179      c[a] = c[a] || function () {
180        (c[a].q = c[a].q || []).push(arguments)
181      };
182      t = l.createElement(r);
183      t.async = 1;
184      t.src = "https://www.clarity.ms/tag/" + i;
185      y = l.getElementsByTagName(r)[0];
186      y.parentNode.insertBefore(t, y);
187    })(window, document, "clarity", "script", "go2fqeeaf3");
188  </script>
188
189
190  
190<script>
191    document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
192
193    window.theme = window.theme || {};
194    theme.routes = {
195      home: "/",
196      cart: "/cart.js",
197      cartPage: "/cart",
198      cartAdd: "/cart/add.js",
199      cartChange: "/cart/change.js",
200      search: "/search",
201      predictiveSearch: "/search/suggest"
202    };
203    theme.strings = {
204      soldOut: "Sold Out",
205      unavailable: "Unavailable",
206      inStockLabel: "In stock, ready to ship",
207      oneStockLabel: "Low stock - [count] item left",
208      otherStockLabel: "Low stock - [count] items left",
209      willNotShipUntil: "Ready to ship [date]",
210      willBeInStockAfter: "Back in stock [date]",
211      waitingForStock: "Backordered, shipping soon",
212      savePrice: "Save [saved_amount]",
213      cartEmpty: "Your cart is currently empty.",
214      cartTermsConfirmation: "You must agree with the terms and conditions of sales to check out",
215      searchCollections: "Collections",
216      searchPages: "Pages",
217      searchArticles: "Articles",
218      productFrom: "Starting at ",
219      maxQuantity: "You can only have [quantity] of [title] in your cart."
220    };
221    theme.settings = {
222      cartType: "drawer",
223      isCustomerTemplate: true,
224      moneyFormat: "${{amount}}",
225      saveType: "dollar",
226      productImageSize: "square",
227      productImageCover: false,
228      predictiveSearch: true,
229      predictiveSearchType: null,
230      predictiveSearchVendor: false,
231      predictiveSearchPrice: false,
232      quickView: false,
233      freeShippingThreshold: 9900,
234      themeName: 'Impulse',
235      themeVersion: "7.6.2"
236    };
237  </script>
237
238
239  
239<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
239<meta name="google-site-verification" content="qckpJwYqdd2ng8SGoh7S92SnKxJE9eH3_q6Pm17fgc4">
240<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/70341165241/digital_wallets/dialog">
241<meta id="in-context-paypal-metadata" data-shop-id="70341165241" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
242<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://www.homedics.com/account/login">
243<link rel="alternate" hreflang="en" href="https://www.homedics.com/account/login">
244<link rel="alternate" hreflang="en-CA" href="https://www.homedics.com/en-ca/account/login">
245<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2720465081"></script>
245
246<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
247<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2720465081&shop_id=70341165241" crossorigin="anonymous"></script>
vendor: 1 bytes, line 247
247
248<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":70341165241,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/70341165241","merchantName":"Homedics","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Homedics","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 248
248
249<script id="shopify-features" type="application/json">{"accessToken":"4a4ee7960a87c3287705227ee0769347","betas":["rich-media-storefront-analytics"],"domain":"www.homedics.com","predictiveSearch":true,"shopId":70341165241,"locale":"en"}</script>
vendor: 1 bytes, line 249
249
250<script>var Shopify = Shopify || {};
251Shopify.shop = "homedics-prod.myshopify.com";
252Shopify.locale = "en";
253Shopify.currency = {"active":"USD","rate":"1.0"};
254Shopify.country = "US";
255Shopify.theme = {"name":"Homedics-theme-LimitedEditionSS","id":161326137529,"schema_name":"Impulse","schema_version":"7.6.2","theme_store_id":null,"role":"main"};
256Shopify.theme.handle = "null";
257Shopify.theme.style = {"id":null,"handle":null};
258Shopify.cdnHost = "www.homedics.com/cdn";
259Shopify.routes = Shopify.routes || {};
260Shopify.routes.root = "/";
261Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
262Shopify.SignInWithShop = Shopify.SignInWithShop || {};
263Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
264Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 264
264
265<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 265
265
266<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 266
266
267<script>
268  window.ShopifyPay = window.ShopifyPay || {};
269  window.ShopifyPay.apiHost = "shop.app\/pay";
270  window.ShopifyPay.redirectState = null;
271</script>
vendor: 1 bytes, line 271
271
272<script>
273  window.Shopify = window.Shopify || {};
274  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
275  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
276  window.Shopify.SignInWithShop.eligible = true;
277</script>
vendor: 1 bytes, line 277
277
278<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 278
278
279<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"></script>
vendor: 1 bytes, line 279
279
280<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"></script>
vendor: 1 bytes, line 280
280
281<script type="module">
282  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js");
283await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js");
284
285  window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true});
286window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true});
287
288</script>
vendor: 1 bytes, line 288
288
289<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 289
289
290<script type="module">
291  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
292
293  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
294
295</script>
vendor: 1 bytes, line 295
295
296<script>
297  window.Shopify = window.Shopify || {};
298  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
299  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"]};
300</script>
vendor: 1 bytes, line 300
300
301<script>(function() {
302  var isLoaded = false;
303  function asyncLoad() {
304    if (isLoaded) return;
305    isLoaded = true;
306    var urls = ["https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=homedics-prod.myshopify.com","https:\/\/beacon.riskified.com\/?shop=homedics-prod.myshopify.com","https:\/\/cdn.attn.tv\/homedics\/dtag.js?shop=homedics-prod.myshopify.com","https:\/\/app.octaneai.com\/p6znppga1tveat7t\/shopify.js?x=PszLt8uWLXIhHhnD\u0026shop=homedics-prod.myshopify.com","https:\/\/cdn.noibu.com\/collect-core.js?shop=homedics-prod.myshopify.com","\/\/cdn.shopify.com\/proxy\/c2a8d07c2227e7cf55fa471217c15987e82dad976b1089b6f280b187f4bc705b\/apps.bazaarvoice.com\/deployments\/homedics\/main_site\/production\/en_US\/bv.js?shop=homedics-prod.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"];
307    for (var i = 0; i < urls.length; i++) {
308      var s = document.createElement('script');
309      s.type = 'text/javascript';
310      s.async = true;
311      s.src = urls[i];
312      var x = document.getElementsByTagName('script')[0];
313      x.parentNode.insertBefore(s, x);
314    }
315  };
316  if(window.attachEvent) {
317    window.attachEvent('onload', asyncLoad);
318  } else {
319    window.addEventListener('load', asyncLoad, false);
320  }
321})();</script>
vendor: 1 bytes, line 321
321
322<script id="__st">var __st={"a":70341165241,"offset":-25200,"reqid":"30c24f2b-1bca-493a-bbe1-1d4943c90bdc-1790854169","pageurl":"www.homedics.com\/account\/login?return_url=%2Faccount","u":"b71dd347b6b4"};</script>
vendor: 1 bytes, line 322
322
323<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 323
323
324<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 324
324
325<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.homedics.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 325
325
326<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 = "//www.homedics.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>
326<script crossorigin="anonymous" defer="defer" src="//www.homedics.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 326
326
327<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 327
327
328<script>
329  window.Shopify = window.Shopify || {};
330  window.Shopify.MCP = window.Shopify.MCP || {};
331  window.Shopify.MCP.enabled = true;
332  window.Shopify.MCP.shop = "homedics-prod.myshopify.com";
333  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.homedics.com\/api\/mcp";
334  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"]}}];
335</script>
vendor: 1 bytes, line 335
335
336<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("\/\/www.homedics.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
337</script>
vendor: 1 bytes, line 337
337
338<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://www.homedics.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
339</script>
vendor: 1 bytes, line 339
339
340<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
341  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);
342</script>
vendor: 1 bytes, line 342
342
343<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})}}));
344</script>
344
345<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.homedics.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
346<style id="shopify-accelerated-checkout-cart">
347        #shopify-buyer-consent {
348  margin-top: 1em;
349  display: inline-block;
350  width: 100%;
351}
352
353#shopify-buyer-consent.hidden {
354  display: none;
355}
356
357#shopify-subscription-policy-button {
358  background: none;
359  border: none;
360  padding: 0;
361  text-decoration: underline;
362  font-size: inherit;
363  cursor: pointer;
364}
365
366#shopify-subscription-policy-button::before {
367  box-shadow: none;
368}
369
370      </style>
371
372<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
372
373
374  
374<script src="//www.homedics.com/cdn/shop/t/138/assets/vendor-scripts-v11.js" defer="defer"></script>
374<link rel="stylesheet" href="//www.homedics.com/cdn/shop/t/138/assets/country-flags.css"><link href="//www.homedics.com/cdn/shop/t/138/assets/collection.scss?v=174748679635659251301787623451" rel="stylesheet" type="text/css" media="all" />
375
376  <link href="//www.homedics.com/cdn/shop/t/138/assets/html-elements.css?v=31006315027798035661787623451" rel="stylesheet" type="text/css" media="all" />
377
378  
378<script src="//www.homedics.com/cdn/shop/t/138/assets/theme.js?v=11178916913730204321787623412" defer="defer"></script>
378<script src="//www.homedics.com/cdn/shopifycloud/storefront/assets/themes_support/shopify_common-5f594365.js" defer="defer"></script>
378
379
380  
380<script async src="https://apps.bazaarvoice.com/deployments/homedics/main_site/production/en_US/bv.js"></script>
380
381  <link rel="preconnect" href="https://rebuyengine.com" crossorigin>
382<link rel="preconnect" href="https://cdn.rebuyengine.com" crossorigin>
383<link rel="preconnect" href="https://cached.rebuyengine.com" crossorigin>
384<script async src="https://cdn.rebuyengine.com/onsite/js/rebuy.js?shop=homedics-prod.myshopify.com"></script>
384
385  
386  
387
388
389<script>
vendor: 377 bytes, lines 389-399
389
390  (function(w,d,s,l,i){
391    w[l]=w[l]||[];
392    w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'});
393    var f=d.getElementsByTagName(s)[0],
394        j=d.createElement(s),
395        dl=l!='dataLayer'?'&l='+l:'';
396    j.async=true;
397    j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
398    f.parentNode.insertBefore(j,f);
399})(window,document,'script','dataLayer','
399GTM-T6TRD4N5
vendor: 4 bytes, line 399
399');
400</script>
400
401
402
403  
404
405<script>
406  window.dgEvent = window.dgEvent || [];
407  function sync_receive_prefs(dgEventData) {
408    const cookiePreferences = dgEventData?.consentPreferences?.cookieOptions;
409
410    window.Shopify.loadFeatures(
411      [
412        {
413          name: "consent-tracking-api",
414          version: "0.1",
415        },
416      ],
417      (error) => {
418        if (error) {
419          console.error("Error loading Shopify Customer API", error);
420        }
421        window.Shopify.customerPrivacy.setTrackingConsent(
422          {
423            preferences: true,
424            analytics: window.DG_BANNER_API.categoryEnabled("performance"),
425            marketing: window.DG_BANNER_API.categoryEnabled("marketing"),
426            sale_of_data: window.DG_BANNER_API.categoryEnabled("marketing"),
427          },
428          (arg) => console.log("Consent captured", arg)
429        );
430      }
431    );
432  }
433
434  window.dgEvent.push({
435    event: "preference_callback",
436    params: sync_receive_prefs,
437  });
438
439  window.dgEvent.push({
440    event: "initial_preference_callback",
441    params: sync_receive_prefs,
442  });
443</script>
443  
444
445  
446
447  
447<script type="text/javascript"> (function (a, b, c, d, e, f, g) {
448      e['ire_o'] = c;
449      e[c] = e[c] || function () {
450        (e[c].a = e[c].a || []).push(arguments)
451      };
452      f = d.createElement(b);
453      g = d.getElementsByTagName(b)[0];
454      f.async = 1;
455      f.src = a;
456      g.parentNode.insertBefore(f, g);
457    })('https://utt.impactcdn.com/A2360407-885d-4b35-9812-3d88619035a91.js', 'script', 'ire', document, window);
458    ire('identify', {
459      customerid: '' /*INSERT CUSTOMER ID*/,
460      customeremail: '' /*INSERT SHA1 HASHED CUSTOMER EMAIL*/
461    });</script>
461
462
463  <!-- Swiper -->
464  <link href="//www.homedics.com/cdn/shop/t/138/assets/swiper-bundle.min.css?v=117015111553890996371787623410" rel="stylesheet" type="text/css" media="all" />
465  
465<script src="//www.homedics.com/cdn/shop/t/138/assets/swiper-bundle.min.js?v=44949453089828286941787623410" defer="defer"></script>
465
466
467  <!-- Custom style & js -->
468  <link href="//www.homedics.com/cdn/shop/t/138/assets/theme-style.css?v=85277598746272944161787623411" rel="stylesheet" type="text/css" media="all" />
469  
469<script src="//www.homedics.com/cdn/shop/t/138/assets/theme-script.js?v=142125866774830749621787623411" defer="defer"></script>
469
470<!-- BEGIN app block: shopify://apps/consentmo-gdpr/blocks/gdpr_cookie_consent/4fbe573f-a377-4fea-9801-3ee0858cae41 -->
471<link rel="preconnect" href="https://app.consentmo.com" crossorigin data-csm-preconnect="app">
472<link rel="dns-prefetch" href="https://workers.consentmo.com" data-csm-preconnect="workers">
473<link rel="dns-prefetch" href="https://storage.consentmo.com" data-csm-preconnect="storage">
474<link rel="preconnect" href="https://cdn.consentmo.com" crossorigin data-csm-preconnect="cdn"><link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0f6b0-fab4-746e-94a3-645abf621cd0/gdpr-backpack-901/assets/layout-cookie-bar.consentmo.js" crossorigin data-csm-layout-prefetch="banner">
475  <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0f6b0-fab4-746e-94a3-645abf621cd0/gdpr-backpack-901/assets/layout-cookie-dialog.consentmo.js" crossorigin data-csm-layout-prefetch="dialog">
476  <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0f6b0-fab4-746e-94a3-645abf621cd0/gdpr-backpack-901/assets/layout-cookie-box.consentmo.js" crossorigin data-csm-layout-prefetch="box">
477  <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0f6b0-fab4-746e-94a3-645abf621cd0/gdpr-backpack-901/assets/layout-cookie-smart-banner.consentmo.js" crossorigin data-csm-layout-prefetch="smart">
478  <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0f6b0-fab4-746e-94a3-645abf621cd0/gdpr-backpack-901/assets/layout-mobile-cookie-bar.consentmo.js" crossorigin data-csm-layout-prefetch="mobile">
478<script>
479(function () {
480  try {
481    document.documentElement.classList.add('csm-cookie-embed');
482  } catch (e) {}
483})();
484</script>
484<script data-consentmo-data-src-bootstrap>
485(function () {
486  'use strict';
487  if (window.__consentmoDataSrcBootstrapInit) return;
488  window.__consentmoDataSrcBootstrapInit = true;
489
490  var DATA_SRC_SELECTOR = [
491    'script[data-src*="consentmo_cookie_consent"]',
492    'script[data-src*="gdpr_cookie_consent.min"]',
493    'script[data-src*="gdrp_cookie_consent_unlimited"]'
494  ].join(',');
495
496  function activateConsentmoDataSrcScripts() {
497    if (!window.Shopify || !window.Shopify.shop) return;
498    document.querySelectorAll(DATA_SRC_SELECTOR).forEach(function (scriptEl) {
499      // getAttribute: src="" must not count as "already has src" (.src === page URL).
500      if (scriptEl.getAttribute('src')) return;
501      var url = scriptEl.getAttribute('data-src');
502      if (!url) return;
503      if (scriptEl.getAttribute('type') === 'text/plain') {
504        scriptEl.removeAttribute('type');
505      }
506      scriptEl.src = url;
507    });
508  }
509  function scheduleActivation() {
510    activateConsentmoDataSrcScripts();
511    // Retry on next task so other DCL handlers (lazy-loaders) can finish setting Shopify.shop / data-src first.
512    setTimeout(activateConsentmoDataSrcScripts, 0);
513  }
514  if (document.readyState === 'loading') {
515    document.addEventListener('DOMContentLoaded', scheduleActivation, { once: true });
516  } else {
517    scheduleActivation();
518  }
519})();
520</script>
520
521
522
523<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
524
525
526
527
528
529
530
531
532
533
534
535
536  
536<script async src="https://static.klaviyo.com/onsite/js/VdUY92/klaviyo.js?company_id=VdUY92"></script>
536
537  
537<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>
537
538
539  
540
541
542
543
544  
544<script>
545    window.klaviyoReviewsProductDesignMode = false
546  </script>
546
547
548
549
550
551
552
553
554
555
556<!-- END app block --><!-- BEGIN app block: shopify://apps/impact-com/blocks/utt/adac1a7f-d17f-4936-8a12-45628cdd8add -->
557
558<script id="advocate_jwt_script" defer>
559  (function() {
560    if (window.advocateScriptInitialized) {
561      console.log("Advocate script already loaded, skipping...");
562      return;
563    }
564
565    window.advocateScriptInitialized = true;
566
567    async function fetchJWT(shopUrl, customerId) {
568      try {
569        const response = await fetch(`https://saasler-impact.herokuapp.com/api/v1/advocate_widget_jwt?customer_id=${customerId}&shop_url=${shopUrl}`);
570
571        const data = await response.json();
572
573        window.impactToken = data.jwt;
574      } catch (error) {
575        console.error("Error fetching data: ", error);
576      }
577    }
578
579    const shopUrl = Shopify.shop;
580    const customerId = __st.cid;
581
582    fetchJWT(shopUrl, customerId).then(() => {
583      const uttUrl = "https://utt.impactcdn.com/A2360407-885d-4b35-9812-3d88619035a91.js";
584
585      (function(a,b,c,d,e,f,g){e['ire_o']=c;e[c]=e[c]||function(){(e[c].a=e[c].a||[]).push(arguments)};f=d.createElement(b);g=d.getElementsByTagName(b)[0];f.async=1;f.src=a;g.parentNode.insertBefore(f,g);})(`${uttUrl}`,'script','ire',document,window); ire('identify');
586    });
587  })();
588</script>
588
589
590<!-- END app block --><!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d -->
590<script type="text/javascript" src="https://ranlq.homedics.com/homedics/load" onerror=" var fallbackScript = document.createElement('script'); fallbackScript.src = 'https://cdn.attn.tv/homedics/dtag.js'; document.head.appendChild(fallbackScript);" data-source="loaded?source=app-embed" defer="defer"></script>
590
591
592
593<!-- END app block --><!-- BEGIN app block: shopify://apps/dynamic-yield-by-mastercard/blocks/dy-app-embed/4ba1f896-a657-43fa-9105-b465a2acc5cb --><!-- BEGIN app snippet: dy-scripts --><link rel="preconnect" href="//cdn.dynamicyield.com">
594<link rel="preconnect" href="//st.dynamicyield.com">
595<link rel="preconnect" href="//rcom.dynamicyield.com">
596<link rel="dns-prefetch" href="//cdn.dynamicyield.com">
597<link rel="dns-prefetch" href="//st.dynamicyield.com">
598<link rel="dns-prefetch" href="//rcom.dynamicyield.com">
599
600<script>
601/* ==========================================================================
602   Dynamic Yield <-> Shopify Customer Privacy integration
603   Sections: constants -> cookie helpers -> customer-privacy helpers (all
604   fail-safe) -> CMP consent gate -> serialized consent writer -> perf-based
605   dyid restore -> dyid/jsession sync -> bootstrapping.
606   ========================================================================== */
607window.DYConsent = (function () {
608  const ONE_YEAR = 60 * 60 * 24 * 365;
609  const CMP_CONSENT_TIMEOUT_MS = 3000;
610  const DYID_COOKIE = '_dyid_server';
611  const JSESSION_COOKIE = '_dy_app_jsession';
612
613  /* ---------- Cookie helpers ---------- */
614  function setOnEtldPlus1(name, value, maxAge) {
615    const parts = location.hostname.split('.');
616    const maxAgeStr = maxAge ? `Max-Age=${maxAge}; ` : '';
617    for (let i = parts.length - 2; i >= 0; i--) {
618      const domain = '.' + parts.slice(i).join('.');
619      try {
620        document.cookie = value === null
621          ? `${name}=; Max-Age=0; Path=/; Domain=${domain}; SameSite=Lax; Secure`
622          : `${name}=${value}; ${maxAgeStr}Path=/; Domain=${domain}; SameSite=Lax; Secure`;
623        if (document.cookie.includes(name + '=')) return domain;
624      } catch (_) {}
625    }
626  }
627
628  function getCookie(name) {
629    return document.cookie
630      .split('; ')
631      .find(c => c.startsWith(name + '='))
632      ?.split('=')[1];
633  }
634
635  function clearCookie(name) {
636    setOnEtldPlus1(name, null, 0);
637  }
638
639  /* ---------- Customer Privacy helpers (every Shopify API access fail-safe) ---------- */
640  function canBeTracked() {
641    try {
642      return !!window.Shopify?.customerPrivacy?.userCanBeTracked?.();
643    } catch (_) {
644      return false;
645    }
646  }
647
648  function currentConsent() {
649    try {
650      return window.Shopify?.customerPrivacy?.currentVisitorConsent?.() || null;
651    } catch (_) {
652      return null;
653    }
654  }
655
656  function isConsentDeclared(consent) {
657    return !!consent && Object.values(consent).some(v => v === 'yes' || v === 'no');
658  }
659
660  function getTrackingMetafield(key) {
661    try {
662      return window.Shopify?.customerPrivacy?.getTrackingConsentMetafield?.(key);
663    } catch (_) {
664      return undefined;
665    }
666  }
667
668  /* ---------- CMP consent gate ----------
669     setTrackingConsent() is single-authority - a call from us while a CMP (e.g. OneTrust) has an
670     in-flight call of its own can clobber the CMP's consent values with blanks. Resolves
671     immediately if consent is already declared (CMP finished before this ran), otherwise on the
672     CMP's first `visitorConsentCollected` event, and always within CMP_CONSENT_TIMEOUT_MS so DY's
673     own sync still runs (via the queue below) on shops with no CMP installed at all. */
674  const cmpConsentSettled = new Promise(resolve => {
675    let settled = false;
676    function settle() {
677      if (settled) return;
678      settled = true;
679      document.removeEventListener('visitorConsentCollected', settle);
680      resolve();
681    }
682    if (isConsentDeclared(currentConsent())) {
683      settle();
684      return;
685    }
686    document.addEventListener('visitorConsentCollected', settle, { once: true });
687    setTimeout(settle, CMP_CONSENT_TIMEOUT_MS);
688  });
689
690  /* ---------- Serialized consent writer ----------
691     Every DY consent write funnels through here: waits for the CMP gate once, then runs strictly
692     one-at-a-time so DY's own calls never race each other either. */
693  let consentQueue = Promise.resolve();
694  function queueSetTrackingConsent(payload) {
695    consentQueue = consentQueue
696      .then(() => cmpConsentSettled)
697      .then(() => new Promise(resolve => {
698        try {
699          window.Shopify.customerPrivacy.setTrackingConsent(payload, () => resolve());
700        } catch (_) {
701          resolve();
702        }
703      }));
704    return consentQueue;
705  }
706
707  /* ---------- Performance API (restores _dyid_server from server-timing before DY's SDK loads) */
708  function getValueFromPerformance(key) {
709    try {
710      const entry = performance.getEntriesByType('navigation')[0];
711      const description = entry?.serverTiming?.find(e => e.name === '_cmp')?.description;
712      if (!description) return undefined;
713      const encodedKey = encodeURIComponent(key);
714      const regex = new RegExp(`${encodedKey}%22%3A%22(.+?)%22`);
715      return description.match(regex)?.[1];
716    } catch (_) {
717      return undefined;
718    }
719  }
720
721  function restoreDyidFromPerformance() {
722    const perfValue = getValueFromPerformance(DYID_COOKIE);
723    if (!perfValue) return;
724    setOnEtldPlus1(DYID_COOKIE, decodeURIComponent(perfValue), ONE_YEAR);
725  }
726
727  /* ---------- DY <->
727 cookie/metafield sync ---------- */
728  function syncDyid() {
729    if (!canBeTracked()) return;
730    const dyid = localStorage.getItem('_dyid');
731    if (!dyid) return;
732
733    // Always refresh the cookie so its expiry stays 1 year out, regardless of the metafield write below.
734    setOnEtldPlus1(DYID_COOKIE, dyid, ONE_YEAR);
735
736    const existing = getTrackingMetafield(DYID_COOKIE);
737    if (dyid !== existing) {
738      queueSetTrackingConsent({ metafields: [{ key: DYID_COOKIE, value: dyid }] });
739    }
740  }
741
742  function syncDyjsession() {
743    if (!canBeTracked()) return;
744    const existingCookie = getCookie(JSESSION_COOKIE);
745
746    let attempts = 0;
747    const timer = setInterval(tick, 1000);
748    tick();
749
750    function tick() {
751      attempts++;
752      const jsession = window.DY?.jsession;
753      if (jsession) {
754        clearInterval(timer);
755        if (jsession !== existingCookie) {
756          queueSetTrackingConsent({ metafields: [{ key: JSESSION_COOKIE, value: jsession }] });
757        }
758        setOnEtldPlus1(JSESSION_COOKIE, jsession);
759        return;
760      }
761      if (attempts > 10) clearInterval(timer);
762    }
763  }
764
765  /* ---------- Bootstrapping ---------- */
766  function waitForDyIdentifiers() {
767    let attempts = 0;
768    let jsessionSynced = false;
769    const timer = setInterval(() => {
770      attempts++;
771      const hasDyid = !!localStorage.getItem('_dyid');
772      const hasJsession = !!window.DY?.jsession;
773
774      if (hasDyid) syncDyid();
775      if (hasJsession && !jsessionSynced) {
776        syncDyjsession();
777        jsessionSynced = true;
778      }
779      if ((hasDyid && jsessionSynced) || attempts > 20) clearInterval(timer);
780    }, 500);
781  }
782
783  function init() {
784    restoreDyidFromPerformance();
785    waitForDyIdentifiers();
786
787    // Cross-tab support
788    window.addEventListener('storage', e => {
789      if (e.key === '_dyid') syncDyid();
790    });
791
792    // Re-sync (or clear) the session cookie whenever the CMP's consent changes post-load.
793    document.addEventListener('visitorConsentCollected', () => {
794      if (canBeTracked()) {
795        syncDyjsession();
796      } else {
797        clearCookie(JSESSION_COOKIE);
798      }
799    });
800  }
801
802  init();
803
804  return { canBeTracked, syncDyid, syncDyjsession };
805})();
806</script>
806
807
808<script>
809window._dy_assumed_consent = "false";
810window._dy_sku_attribute = "";
811window._dy_disabled_events = [];
812window._dy_user_identifier_type = "he";
813window._dy_respect_consent_purchase = "false";
814window._dy_minicart_selector = "";
815window._dy_minicart_enabled = "false";
816window._dy_minicart_open_class = "";
817window._dy_minicart_close_class = "";
818
819
820
821window.DY = window.DY || {};
822DY.recommendationContext = {
823  type: "OTHER",
824  lng: "en_US",
825  
826  data: [location.pathname]
827  
828};
829</script>
829
830
831
832  
833  
833<script src="//cdn.dynamicyield.com/api/8792976/api_dynamic.js"></script>
833
834  
834<script src="//cdn.dynamicyield.com/api/8792976/api_static.js"></script>
834
835  
836
837<!-- END app snippet -->
837<script src="https://cdn.shopify.com/extensions/01a0ec28-08e9-7edd-be07-fa39fa1c0c34/dynamic-yield-3-33/assets/dy-scripts.min.js" defer></script>
837<!-- END app block --><!-- BEGIN app block: shopify://apps/impact-com/blocks/consent_mode/adac1a7f-d17f-4936-8a12-45628cdd8add -->
837<script id="consent_script" defer>
838  window.Shopify.loadFeatures(
839    [
840      {
841        name: 'consent-tracking-api',
842        version: '0.1',
843      },
844    ],
845    error => {
846      if (error) {
847        // Rescue error
848      }
849
850      document.addEventListener("visitorConsentCollected", (event) => {
851        // Do nothing
852      });
853    },
854  );
855</script>
855
856
857<!-- END app block --><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin />
858<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
859<script>
860/* >> TriplePixel :: start*/
861window.TriplePixelData={TripleName:"homedics-prod.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{  }},search:"",collection:"",cart:"drawer",template:"login",curr:"USD" || "USD", market:"37560582329"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage);
862/* << TriplePixel :: end*/
863</script>
863
864
865
866
867<!-- END app block --><!-- BEGIN app block: shopify://apps/eg-auto-add-to-cart/blocks/app-embed/0f7d4f74-1e89-4820-aec4-6564d7e535d2 -->
868
869
870
871
872
873
874
875
876
877
878
879  
880    
880<script
881      async
882      type="text/javascript"
883      src="https://cdn.506.io/eg/script.js?shop=homedics-prod.myshopify.com&v=12"
884    ></script>
884
885  
886
887
888
889  <meta id="easygift-shop" itemid="c2hvcF8kXzE3OTA4NTQxNjk=" content="{&quot;isInstalled&quot;:true,&quot;installedOn&quot;:&quot;2026-07-02T12:23:09.681Z&quot;,&quot;appVersion&quot;:&quot;3.0&quot;,&quot;subscriptionName&quot;:&quot;Unlimited&quot;,&quot;cartAnalytics&quot;:true,&quot;freeTrialEndsOn&quot;:null,&quot;settings&quot;:{&quot;reminderBannerStyle&quot;:{&quot;position&quot;:{&quot;horizontal&quot;:&quot;right&quot;,&quot;vertical&quot;:&quot;bottom&quot;},&quot;backgroundColor&quot;:&quot;#FFFFFF&quot;,&quot;borderRadius&quot;:null,&quot;closingMode&quot;:&quot;doNotAutoClose&quot;,&quot;cssStyles&quot;:&quot;&quot;,&quot;displayAfter&quot;:5,&quot;fontFamily&quot;:null,&quot;headerFontSize&quot;:null,&quot;headerText&quot;:&quot;&quot;,&quot;imageUrl&quot;:null,&quot;padding&quot;:null,&quot;primaryColor&quot;:&quot;#000000&quot;,&quot;reshowBannerAfter&quot;:&quot;everyNewSession&quot;,&quot;selfcloseAfter&quot;:5,&quot;showImage&quot;:false,&quot;subHeaderFontSize&quot;:null,&quot;subHeaderText&quot;:&quot;&quot;},&quot;addedItemIdentifier&quot;:&quot;_Gifted&quot;,&quot;ignoreOtherAppLineItems&quot;:null,&quot;customVariantsInfoLifetimeMins&quot;:1440,&quot;redirectPath&quot;:null,&quot;ignoreNonStandardCartRequests&quot;:false,&quot;bannerStyle&quot;:{&quot;position&quot;:{&quot;horizontal&quot;:&quot;right&quot;,&quot;vertical&quot;:&quot;bottom&quot;},&quot;backgroundColor&quot;:&quot;#FFFFFF&quot;,&quot;borderRadius&quot;:null,&quot;cssStyles&quot;:null,&quot;fontFamily&quot;:null,&quot;headerFontSize&quot;:null,&quot;padding&quot;:null,&quot;primaryColor&quot;:&quot;#000000&quot;,&quot;subHeaderFontSize&quot;:null},&quot;themePresetId&quot;:null,&quot;notificationStyle&quot;:{&quot;position&quot;:{&quot;horizontal&quot;:null,&quot;vertical&quot;:null},&quot;backgroundColor&quot;:&quot;#FFFFFF&quot;,&quot;borderRadius&quot;:null,&quot;cssStyles&quot;:null,&quot;duration&quot;:null,&quot;fontFamily&quot;:null,&quot;hasCustomizations&quot;:false,&quot;headerFontSize&quot;:null,&quot;padding&quot;:null,&quot;primaryColor&quot;:null,&quot;subHeaderFontSize&quot;:null},&quot;fetchCartData&quot;:false,&quot;useLocalStorage&quot;:{&quot;enabled&quot;:false,&quot;expiryMinutes&quot;:null},&quot;popupStyle&quot;:{&quot;addButtonText&quot;:null,&quot;backgroundColor&quot;:&quot;#FFFFFF&quot;,&quot;bodyColor&quot;:null,&quot;bodyFontFamily&quot;:null,&quot;bodyFontSize&quot;:null,&quot;borderRadius&quot;:null,&quot;buttonTextColor&quot;:null,&quot;closeModalOutsideClick&quot;:true,&quot;cssStyles&quot;:null,&quot;dismissButtonText&quot;:null,&quot;hasCustomizations&quot;:false,&quot;headerFontFamily&quot;:null,&quot;headerFontSize&quot;:null,&quot;imageUrl&quot;:null,&quot;outOfStockButtonText&quot;:null,&quot;padding&quot;:null,&quot;priceShowZeroDecimals&quot;:true,&quot;primaryColor&quot;:null,&quot;secondaryColor&quot;:null,&quot;showProductLink&quot;:false,&quot;subHeaderFontSize&quot;:null,&quot;subscriptionLabel&quot;:null},&quot;refreshAfterBannerClick&quot;:false,&quot;disableReapplyRules&quot;:false,&quot;disableReloadOnFailedAddition&quot;:false,&quot;autoReloadCartPage&quot;:false,&quot;ajaxRedirectPath&quot;:null,&quot;allowSimultaneousRequests&quot;:false,&quot;applyRulesOnCheckout&quot;:false,&quot;enableCartCtrlOverrides&quot;:true,&quot;customRedirectFromCart&quot;:null,&quot;scriptSettings&quot;:{&quot;branding&quot;:{&quot;removalRequestSent&quot;:null,&quot;show&quot;:false},&quot;productPageRedirection&quot;:{&quot;enabled&quot;:false,&quot;products&quot;:[],&quot;redirectionURL&quot;:&quot;\/&quot;},&quot;debugging&quot;:{&quot;enabled&quot;:false,&quot;enabledOn&quot;:null,&quot;stringifyObj&quot;:false},&quot;customCSS&quot;:null,&quot;decodePayload&quot;:false,&quot;delayUpdates&quot;:2000,&quot;disableRedirectAfterFormSubmit&quot;:false,&quot;enableBuyNowInterceptions&quot;:true,&quot;fetchCartDataBeforeRequest&quot;:false,&quot;fetchProductInfoFromSavedDomain&quot;:false,&quot;hideAlertsOnFrontend&quot;:false,&quot;hideGiftedPropertyText&quot;:false,&quot;reApplyValueBasedRulesInCart&quot;:false,&quot;removeEGPropertyFromSplitActionLineItems&quot;:false,&quot;removeProductsAddedFromExpiredRules&quot;:true,&quot;useFinalPrice&quot;:false,&quot;useFinalPriceGetEntireCart&quot;:false},&quot;promoCodeMessageStyle&quot;:{&quot;message&quot;:&quot;Free gift added!&quot;},&quot;accessToEnterprise&quot;:false},&quot;translations&quot;:null,&quot;defaultLocale&quot;:&quot;en&quot;,&quot;shopDomain&quot;:&quot;www.homedics.com&quot;}">
890
891
892<script defer>
893  (async function() {
894    try {
895
896      const blockVersion = "v3"
897      if (blockVersion != "v3") {
898        return
899      }
900
901      let metaErrorFlag = false;
902      if (metaErrorFlag) {
903        return
904      }
905
906      // Parse metafields as JSON
907      const metafields = {"easygift-rule-6a47843b94f12d818c8bbec5":{"schedule":{"enabled":false,"starts":null,"ends":null},"trigger":{"productTags":{"targets":[],"collectionInfo":null,"sellingPlan":null},"type":"collection","minCartValue":null,"upperCartValue":null,"products":[],"cartValueExcludedVariants":[],"collections":[{"name":"SereneScent 120","id":330432807097,"gid":"gid:\/\/shopify\/Collection\/330432807097","handle":"serenescent-120","alerts":[],"_id":"6a47843b94f12d818c8bbec6"}],"condition":"quantity","conditionMin":3,"conditionMax":null,"collectionSellingPlanType":null,"promoCode":null,"promoCodeDiscount":null},"action":{"notification":{"enabled":false,"headerText":null,"subHeaderText":null,"showImage":false,"imageUrl":""},"discount":{"type":"shpAutomatic","title":"Buy 3 oils get free diffuser","code":null,"id":"gid:\/\/shopify\/DiscountAutomaticNode\/1434529038521","createdByEasyGift":false,"issue":null,"easygiftAppDiscount":false,"value":null,"discountType":null},"popupOptions":{"headline":null,"subHeadline":null,"showItemsPrice":false,"popupDismissable":false,"imageUrl":null,"persistPopup":false,"rewardQuantity":1,"showDiscountedPrice":false,"hideOOSItems":false,"showVariantsSeparately":false},"banner":{"enabled":false,"headerText":null,"imageUrl":null,"subHeaderText":null,"showImage":false,"displayAfter":"5","closingMode":"doNotAutoClose","selfcloseAfter":"5","reshowBannerAfter":"everyNewSession","redirectLink":null},"type":"addAutomatically","products":[{"name":"SereneScent™ Fabric Waterless 120 ml Diffuser - Default Title","variantId":"45163096539321","variantGid":"gid:\/\/shopify\/ProductVariant\/45163096539321","productGid":"gid:\/\/shopify\/Product\/8166909182137","quantity":1,"handle":"serenescent-fabric-waterless-120-ml-diffuser","price":"129.99"}],"limit":1,"preventProductRemoval":false,"addAvailableProducts":false,"showPromoCodeMessage":false},"targeting":{"link":{"destination":null,"data":null,"cookieLifetime":14},"testMode":{"testCount":0,"lastTestedAt":null,"currentNonce":null,"lastTestUrl":null,"lastTokenExpiresAt":null},"additionalCriteria":{"geo":{"include":[],"exclude":[]},"type":null,"customerTags":[],"customerTagsExcluded":[],"customerId":[],"orderCount":null,"hasOrderCountMax":false,"orderCountMax":null,"totalSpent":null,"hasTotalSpentMax":false,"totalSpentMax":null},"type":"all"},"settings":{"worksInReverse":true,"runsOncePerSession":false,"preventAddedItemPurchase":false,"showReminderBanner":false},"_id":"6a47843b94f12d818c8bbec5","name":"Buy 3 Get a Diffuser Free","store":"6a46582d4b2bccdddb71e8f5","shop":"homedics-prod","active":true,"translations":null,"testMode":false,"createdAt":"2026-07-03T09:43:23.536Z","updatedAt":"2026-07-03T09:43:23.536Z","__v":0}};
908
909      // Process metafields in JavaScript
910      let savedRulesArray = [];
911      for (const [key, value] of Object.entries(metafields)) {
912        if (value) {
913          for (const prop in value) {
914            // avoiding Object.Keys for performance gain -- no need to make an array of keys.
915            savedRulesArray.push(value);
916            break;
917          }
918        }
919      }
920
921      const metaTag = document.createElement('meta');
922      metaTag.id = 'easygift-rules';
923      metaTag.content = JSON.stringify(savedRulesArray);
924      metaTag.setAttribute('itemid', 'cnVsZXNfJF8xNzkwODU0MTY5');
925
926      document.head.appendChild(metaTag);
927      } catch (err) {
928        
929      }
930  })();
931</script>
931
932
933
934  
934<script
935    type="text/javascript"
936    defer
937  >
938
939    (function () {
940      try {
941        window.EG_INFO = window.EG_INFO || {};
942        var shopInfo = {"isInstalled":true,"installedOn":"2026-07-02T12:23:09.681Z","appVersion":"3.0","subscriptionName":"Unlimited","cartAnalytics":true,"freeTrialEndsOn":null,"settings":{"reminderBannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"backgroundColor":"#FFFFFF","borderRadius":null,"closingMode":"doNotAutoClose","cssStyles":"","displayAfter":5,"fontFamily":null,"headerFontSize":null,"headerText":"","imageUrl":null,"padding":null,"primaryColor":"#000000","reshowBannerAfter":"everyNewSession","selfcloseAfter":5,"showImage":false,"subHeaderFontSize":null,"subHeaderText":""},"addedItemIdentifier":"_Gifted","ignoreOtherAppLineItems":null,"customVariantsInfoLifetimeMins":1440,"redirectPath":null,"ignoreNonStandardCartRequests":false,"bannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"backgroundColor":"#FFFFFF","borderRadius":null,"cssStyles":null,"fontFamily":null,"headerFontSize":null,"padding":null,"primaryColor":"#000000","subHeaderFontSize":null},"themePresetId":null,"notificationStyle":{"position":{"horizontal":null,"vertical":null},"backgroundColor":"#FFFFFF","borderRadius":null,"cssStyles":null,"duration":null,"fontFamily":null,"hasCustomizations":false,"headerFontSize":null,"padding":null,"primaryColor":null,"subHeaderFontSize":null},"fetchCartData":false,"useLocalStorage":{"enabled":false,"expiryMinutes":null},"popupStyle":{"addButtonText":null,"backgroundColor":"#FFFFFF","bodyColor":null,"bodyFontFamily":null,"bodyFontSize":null,"borderRadius":null,"buttonTextColor":null,"closeModalOutsideClick":true,"cssStyles":null,"dismissButtonText":null,"hasCustomizations":false,"headerFontFamily":null,"headerFontSize":null,"imageUrl":null,"outOfStockButtonText":null,"padding":null,"priceShowZeroDecimals":true,"primaryColor":null,"secondaryColor":null,"showProductLink":false,"subHeaderFontSize":null,"subscriptionLabel":null},"refreshAfterBannerClick":false,"disableReapplyRules":false,"disableReloadOnFailedAddition":false,"autoReloadCartPage":false,"ajaxRedirectPath":null,"allowSimultaneousRequests":false,"applyRulesOnCheckout":false,"enableCartCtrlOverrides":true,"customRedirectFromCart":null,"scriptSettings":{"branding":{"removalRequestSent":null,"show":false},"productPageRedirection":{"enabled":false,"products":[],"redirectionURL":"\/"},"debugging":{"enabled":false,"enabledOn":null,"stringifyObj":false},"customCSS":null,"decodePayload":false,"delayUpdates":2000,"disableRedirectAfterFormSubmit":false,"enableBuyNowInterceptions":true,"fetchCartDataBeforeRequest":false,"fetchProductInfoFromSavedDomain":false,"hideAlertsOnFrontend":false,"hideGiftedPropertyText":false,"reApplyValueBasedRulesInCart":false,"removeEGPropertyFromSplitActionLineItems":false,"removeProductsAddedFromExpiredRules":true,"useFinalPrice":false,"useFinalPriceGetEntireCart":false},"promoCodeMessageStyle":{"message":"Free gift added!"},"accessToEnterprise":false},"translations":null,"defaultLocale":"en","shopDomain":"www.homedics.com"};
943        var productRedirectionEnabled = shopInfo.settings.scriptSettings.productPageRedirection.enabled;
944        if (["Unlimited", "Enterprise"].includes(shopInfo.subscriptionName) && productRedirectionEnabled) {
945          var products = shopInfo.settings.scriptSettings.productPageRedirection.products;
946          if (products.length > 0) {
947            var productIds = products.map(function(prod) {
948              var productGid = prod.id;
949              var productIdNumber = parseInt(productGid.split('/').pop());
950              return productIdNumber;
951            });
952            var productInfo = null;
953            var isProductInList = productIds.includes(productInfo.id);
954            if (isProductInList) {
955              var redirectionURL = shopInfo.settings.scriptSettings.productPageRedirection.redirectionURL;
956              if (redirectionURL) {
957                window.location = redirectionURL;
958              }
959            }
960          }
961        }
962
963        
964      } catch(err) {
965      return
966    }}
966)()
967  </script>
967
968
969
970
971<!-- END app block -->
971<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 971
971
972<script src="https://cdn.shopify.com/extensions/01a0f6b0-fab4-746e-94a3-645abf621cd0/gdpr-backpack-901/assets/consentmo_cookie_consent.js" type="text/javascript" defer="defer"></script>
972
973<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
974<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: 70341165241,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};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 974
974
975<script>
976  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
977</script>
vendor: 1 bytes, line 977
977
978<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}
978).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: 70341165241,storefrontBaseUrl: "https://www.homedics.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.homedics.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2730983609","configuration":"{\"locale\":\"en_US\",\"client\":\"HoMedics\",\"environment\":\"production\",\"deployment_zone\":\"main_site\",\"use_external_ids\":\"false\",\"use_variants\":\"true\",\"external_id_attribute\":\"default\",\"storefront_api_key\":\"ce9f1d847250421c9af1568586cc8fba\",\"product_metafield_key\":\"none\",\"product_metafield_namespace\":\"none\",\"multi_locale_enabled\":\"false\",\"locale_mapping\":\"{}\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"bf601cbef12079fa1ab77422415f1989","type":"APP","apiClientId":1888040,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2619769017","configuration":"{\"trackingKey\":\"homedics-prod-stayai-web-pixel\",\"enabled\":\"true\",\"collectorUrl\":\"https:\\\/\\\/pixel.retextion.com\",\"version\":\"1\",\"debug\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"94457fdfcf80b0033e88e322893e2b49","type":"APP","apiClientId":5859381,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
978,"dataSharingState":"unrestricted"},{"id":"2574450873","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"d55e3cf212a0a88db5fca9e1cff191d7","type":"APP","apiClientId":145825267713,"privacyPurposes":["ANALYTICS"],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2288582841","configuration":"{\"dyToken\":\"-\", \"dyEndpoint\":\"https:\/\/direct-collect.dy-api.com\/v2\/collect\/user\/event\", \"skuAttr\": \"default\", \"purchaseEventDisabled\": \"false\", \"respectConsentPurchase\": \"true\", \"userIdentifierType\": \"he\", \"loginEventDisabled\": \"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"67606d516e1faceaceb05d7ad8670131","type":"APP","apiClientId":9575530497,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1999962297","configuration":"{\"botID\":\"p6znppga1tveat7t\",\"octaneDomain\":\"https:\/\/app.octaneai.com\",\"octaneNewDomain\":\"https:\/\/app2.octaneai.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"aace1440a9416e8b2805b96c7b2f2fe0","type":"APP","apiClientId":2012438,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1822785721","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"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":"1726742713","configuration":"{\"projectId\":\"go2fqeeaf3\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1704329401","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-4LG8LKGNMG\\\",\\\"AW-1068291434\\\",\\\"GT-NSLGQ3Z3\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-4LG8LKGNMG\\\",\\\"AW-1068291434\\\/SEcgCJCs-sMbEOqqs_0D\\\",\\\"AW-1068291434\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-4LG8LKGNMG\\\",\\\"AW-1068291434\\\/yS68CImP-MMbEOqqs_0D\\\",\\\"AW-1068291434\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-4LG8LKGNMG\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-4LG8LKGNMG\\\",\\\"AW-1068291434\\\/_qo1CI2s-sMbEOqqs_0D\\\",\\\"MC-R8XBX4KJJ7\\\",\\\"AW-1068291434\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-4LG8LKGNMG\\\",\\\"AW-1068291434\\\/Oh4KCIaP-MMbEOqqs_0D\\\",\\\"MC-R8XBX4KJJ7\\\",\\\"AW-1068291434\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-4LG8LKGNMG\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-4LG8LKGNMG\\\",\\\"AW-1068291434\\\/SMxcCI-P-MMbEOqqs_0D\\\",\\\"MC-R8XBX4KJJ7\\\",\\\"AW-1068291434\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-4LG8LKGNMG\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-4LG8LKGNMG\\\",\\\"AW-1068291434\\\/_AxjCJOs-sMbEOqqs_0D\\\",\\\"AW-1068291434\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-4LG8LKGNMG\\\",\\\"AW-1068291434\\\/zwkhCIyP-MMbEOqqs_0D\\\",\\\"AW-1068291434\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-4LG8LKGNMG\\\"}],\\\"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"]}
978,{"id":"1690403001","configuration":"{\"campaignID\":\"11735\",\"externalExecutionURL\":\"https:\/\/engine.saasler.com\/api\/v1\/webhook_executions\/2f85dabfee0c4eda31dbaddc68981e3b\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4d2ae310e7f99f154f33560b5c81cfa9","type":"APP","apiClientId":3546795,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1574633657","configuration":"{\"shopId\":\"homedics-prod.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7093dff47f098f6de2afb75b62011ebe","type":"APP","apiClientId":2753413,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1417740473","configuration":"{\"accountID\":\"VdUY92\",\"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":"988086457","configuration":"{\"pixel_id\":\"459482610916402\",\"pixel_type\":\"facebook_pixel\"}","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":"127991993","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Google Tag Manager (Cart.com)","dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"128254137","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"AddShoppers Tag","dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"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":"Homedics","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"homedics-prod.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.homedics.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"8450555773113","handle":"homedics-premium-steam-sauna","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46691930898617","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8259987636409","handle":"homedics®-portable-steam-sauna","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45486843068601","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://www.homedics.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"161326137529","themePublished":"true","eventMetadataId":"4fb7d0b1-09b9-452d-946b-ab74762e3c7f","shopId":"70341165241","storefrontBaseUrl":"https:\/\/www.homedics.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>
978<script>
979  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
980  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
981  window.ShopifyAnalytics.meta.currency = 'USD';
982  var meta = {"page":{"requestId":"30c24f2b-1bca-493a-bbe1-1d4943c90bdc-1790854169"}};
983  for (var attr in meta) {
984    window.ShopifyAnalytics.meta[attr] = meta[attr];
985  }
986</script>
vendor: 1 bytes, line 986
986
987<script class="analytics">
988  (function () {
989    var customDocumentWrite = function(content) {
990      var jquery = null;
991
992      if (window.jQuery) {
993        jquery = window.jQuery;
994      } else if (window.Checkout && window.Checkout.$) {
995        jquery = window.Checkout.$;
996      }
997
998      if (jquery) {
999        jquery('body').append(content);
1000      }
1001    };
1002
1003    var hasLoggedConversion = function(token) {
1004      if (token) {
1005        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1006      }
1007      return false;
1008    }
1009
1010    var setCookieIfConversion = function(token) {
1011      if (token) {
1012        var twoMonthsFromNow = new Date(Date.now());
1013        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1014
1015        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1016      }
1017    }
1018
1019    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1020    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1021    if (trekkie.integrations) {
1022      return;
1023    }
1024    trekkie.methods = [
1025      'identify',
1026      'page',
1027      'ready',
1028      'track',
1029      'trackForm',
1030      'trackLink'
1031    ];
1032    trekkie.factory = function(method) {
1033      return function() {
1034        var args = Array.prototype.slice.call(arguments);
1035        args.unshift(method);
1036        trekkie.push(args);
1037        if (method == 'track' || method == 'page') {
1038          var pageUrl;
1039          try {
1040            pageUrl = window.location.href;
1041          } catch (e) {}
1042          var pageReferrer;
1043          try {
1044            pageReferrer = document.referrer;
1045          } catch (e) {}
1046          try {
1047            if (window.__TREKKIE_SHIM_QUEUE == null) {
1048              window.__TREKKIE_SHIM_QUEUE = [];
1049            }
1050            window.__TREKKIE_SHIM_QUEUE.push({
1051              from: 'trekkie-stub',
1052              method: method,
1053              args: args.slice(1),
1054              pageContext: {
1055                url: pageUrl,
1056                referrer: pageReferrer
1057              }
1058            });
1059          } catch (e) {
1060            // no-op
1061          }
1062        }
1063        return trekkie;
1064      };
1065    };
1066    for (var i = 0; i < trekkie.methods.length; i++) {
1067      var key = trekkie.methods[i];
1068      trekkie[key] = trekkie.factory(key);
1069    }
1070    trekkie.load = function(config) {
1071      trekkie.config = config || {};
1072      trekkie.config.initialDocumentCookie = document.cookie;
1073      var first = document.getElementsByTagName('script')[0];
1074var script = document.createElement('script');
1075script.type = 'text/javascript';
1076script.onerror = function(e) {
1077  var scriptFallback = document.createElement('script');
1078  scriptFallback.type = 'text/javascript';
1079  scriptFallback.onerror = function(error) {
1080          var Monorail = {
1081      produce: function produce(monorailDomain, schemaId, payload) {
1082        var currentMs = new Date().getTime();
1083        var event = {
1084          schema_id: schemaId,
1085          payload: payload,
1086          metadata: {
1087            event_created_at_ms: currentMs,
1088            event_sent_at_ms: currentMs
1089          }
1090        };
1091        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1092      },
1093      sendRequest: function sendRequest(endpointUrl, payload) {
1094        // Try the sendBeacon API
1095        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1096          var blobData = new window.Blob([payload], {
1097            type: 'text/plain'
1098          });
1099
1100          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1101            return true;
1102          } // sendBeacon was not successful
1103
1104        } // XHR beacon
1105
1106        var xhr = new XMLHttpRequest();
1107
1108        try {
1109          xhr.open('POST', endpointUrl);
1110          xhr.setRequestHeader('Content-Type', 'text/plain');
1111          xhr.send(payload);
1112        } catch (e) {
1113          console.log(e);
1114        }
1115
1116        return false;
1117      },
1118      isIos12: function isIos12() {
1119        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1120      }
1121    };
1122    Monorail.produce('monorail-edge.shopifysvc.com',
1123      'trekkie_storefront_load_errors/1.1',
1124      {shop_id: 70341165241,
1125      theme_id: 161326137529,
1126      app_name: "storefront",
1127      context_url: window.location.href,
1128      source_url: "//www.homedics.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
1129
1130  };
1131  scriptFallback.async = true;
1132  scriptFallback.src = '//www.homedics.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1133  first.parentNode.insertBefore(scriptFallback, first);
1134};
1135script.async = true;
1136script.src = '//www.homedics.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1137first.parentNode.insertBefore(script, first);
1138
1139    };
1140    trekkie.load(
1141      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":70341165241,"isMerchantRequest":null,"themeId":161326137529,"themeCityHash":"4667299803098951170","contentLanguage":"en","currency":"USD","eventMetadataId":"4fb7d0b1-09b9-452d-946b-ab74762e3c7f"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1142    );
1143
1144    var loaded = false;
1145    trekkie.ready(function() {
1146      if (loaded) return;
1147      loaded = true;
1148
1149      window.ShopifyAnalytics.lib = window.trekkie;
1150
1151      var originalDocumentWrite = document.write;
1152      document.write = customDocumentWrite;
1153      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1154      document.write = originalDocumentWrite;
1155
1156      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1157      var token = match? match[1]: undefined;
1158      if (!hasLoggedConversion(token)) {
1159        setCookieIfConversion(token);
1160        
1161      }
1162    });
1163
1164    window.ShopifyAnalytics.lib.page(null,{"requestId":"30c24f2b-1bca-493a-bbe1-1d4943c90bdc-1790854169","shopifyEmitted":true});
1165
1166    var eventsListenerScript = document.createElement('script');
1167    eventsListenerScript.async = true;
1168    eventsListenerScript.src = "//www.homedics.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1169    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1170})();</script>
vendor: 1 bytes, line 1170
1170
1171<script
1172  defer
1173  src="https://www.homedics.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1174  data-application="storefront-renderer"
1175  data-shop-id="70341165241"
1176  data-render-region="gcp-us-central1"
1177  data-page-type="customers/login"
1178  data-theme-instance-id="161326137529"
1179  data-theme-name="Impulse"
1180  data-theme-version="7.6.2"
1181  data-monorail-region="shop_domain"
1182  data-resource-timing-sampling-rate="10"
1183  data-shs="true"
1184  data-shs-beacon="true"
1185  data-shs-export-with-fetch="true"
1186  data-shs-logs-sample-rate="1"
1187  data-shs-beacon-endpoint="https://www.homedics.com/api/collect"
1188></script>
1188
1189<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1822411769000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1790855969000"><meta name="new-cookie-storage-activated" content="t">
1190</head>
1191
1192<script type="text/javascript">
1193	ire('identify', {customerId: '', 
1194	customerEmail: '', customProfileId: ''});
1195</script>
1195
1196<body data-route="login" data-tempate="customers/login" class="template-customers-login" data-center-text="true" data-button_style="round" data-type_header_capitalize="false" data-type_headers_align_text="true" data-type_product_capitalize="true" data-swatch_style="round" >
1197
1198  <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a>
1199
1200  <div id="PageContainer" class="page-container">
1201    <div class="transition-body"><!-- BEGIN sections: header-group -->
1202<div id="shopify-section-sections--22941040967865__announcement" class="shopify-section shopify-section-group-header-group"><style></style>
1203  <div class="announcement-bar" role="banner" aria-label="Announcements">
1204    <div class="page-width">
1205      <div class="slideshow-wrapper">
1206        <button type="button" class="visually-hidden slideshow__pause" data-id="sections--22941040967865__announcement" aria-live="polite">
1207          <span class="slideshow__pause-stop">
1208            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-pause" viewBox="0 0 10 13"><path d="M0 0h3v13H0zm7 0h3v13H7z" fill-rule="evenodd"/></svg>
1209            <span class="icon__fallback-text">Pause slideshow</span>
1210          </span>
1211          <span class="slideshow__pause-play">
1212            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-play" viewBox="18.24 17.35 24.52 28.3"><path fill="#323232" d="M22.1 19.151v25.5l20.4-13.489-20.4-12.011z"/></svg>
1213            <span class="icon__fallback-text">Play slideshow</span>
1214          </span>
1215        </button>
1216
1217        <div
1218          id="AnnouncementSlider"
1219          class="announcement-slider"
1220          data-compact="true"
1221          data-block-count="1"
1222          role="region"
1223          aria-label="Announcement slider"><div
1224                id="AnnouncementSlide-announcement-0"
1225                class="announcement-slider__slide"
1226                data-index="0"
1227                
1228              ><a class="announcement-link" href="/collections/best-sellers"><span class="announcement-text">Free shipping</span><span class="announcement-link-text">on all orders over $99</span></a></div></div>
1229      </div>
1230    </div>
1231  </div>
1232
1233
1234
1235
1236<style> #shopify-section-sections--22941040967865__announcement .announcement-bar {padding: 5px;} </style></div><div id="shopify-section-sections--22941040967865__header" class="shopify-section shopify-section-group-header-group">
1237
1238<div id="NavDrawer" class="drawer drawer--left">
1239  <div class="drawer__contents">
1240    <div class="drawer__fixed-header">
1241      <div class="drawer__header appear-animation appear-delay-1">
1242        <div class="h2 drawer__title"></div>
1243        <div class="drawer__close">
1244          <button type="button" class="drawer__close-button js-drawer-close">
1245            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
1246            <span class="icon__fallback-text">Close menu</span>
1247          </button>
1248        </div>
1249      </div>
1250    </div>
1251    <div class="drawer__scrollable">
1252      <ul class="mobile-nav" role="navigation" aria-label="Primary"><li class="mobile-nav__item appear-animation appear-delay-2"><div class="mobile-nav__has-sublist"><a href="/collections/massagers"
1253                    class="mobile-nav__link mobile-nav__link--top-level"
1254                    id="Label-collections-massagers1"
1255                    >
1256                    Massagers
1257                  </a>
1258                  <div class="mobile-nav__toggle">
1259                    <button type="button"
1260                      aria-controls="Linklist-collections-massagers1"
1261                      aria-labelledby="Label-collections-massagers1"
1262                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1263  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1264</span>
1265</button>
1266                  </div></div><div id="Linklist-collections-massagers1"
1267                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1268                >
1269                <div class="collapsible-content__inner">
1270                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1271                        <div class="mobile-nav__child-item"><a href="/collections/massagers"
1272                              class="mobile-nav__link"
1273                              id="Sublabel-collections-massagers1"
1274                              >
1275                              Massagers
1276                            </a><button type="button"
1277                              aria-controls="Sublinklist-collections-massagers1-collections-massagers1"
1278                              aria-labelledby="Sublabel-collections-massagers1"
1279                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1280  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
1280ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1281</span>
1282</button></div><div
1283                            id="Sublinklist-collections-massagers1-collections-massagers1"
1284                            aria-labelledby="Sublabel-collections-massagers1"
1285                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1286                            >
1287                            <div class="collapsible-content__inner">
1288                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1289                                    <a href="/collections/neck-massagers" class="mobile-nav__link">
1290                                      Neck Massagers
1291                                    </a>
1292                                  </li><li class="mobile-nav__item">
1293                                    <a href="/collections/back-massagers" class="mobile-nav__link">
1294                                      Back Massagers
1295                                    </a>
1296                                  </li><li class="mobile-nav__item">
1297                                    <a href="/collections/foot-massagers" class="mobile-nav__link">
1298                                      Foot Massagers
1299                                    </a>
1300                                  </li><li class="mobile-nav__item">
1301                                    <a href="/collections/handheld-massagers" class="mobile-nav__link">
1302                                      Handheld Percussion
1303                                    </a>
1304                                  </li><li class="mobile-nav__item">
1305                                    <a href="/collections/pillows" class="mobile-nav__link">
1306                                      Massage Pillows
1307                                    </a>
1308                                  </li><li class="mobile-nav__item">
1309                                    <a href="/collections/sports-recovery-massagers" class="mobile-nav__link">
1310                                      Sports Recovery Massagers
1311                                    </a>
1312                                  </li><li class="mobile-nav__item">
1313                                    <a href="https://www.homedics.com/pages/bundle-builder-modulair" class="mobile-nav__link">
1314                                      Build Your Compression Massage Bundle
1315                                    </a>
1316                                  </li></ul>
1317                            </div>
1318                          </div></li></ul>
1319                </div>
1320              </div></li><li class="mobile-nav__item appear-animation appear-delay-3"><div class="mobile-nav__has-sublist"><a href="/collections/air-purifiers"
1321                    class="mobile-nav__link mobile-nav__link--top-level"
1322                    id="Label-collections-air-purifiers2"
1323                    >
1324                    Air Purifiers
1325                  </a>
1326                  <div class="mobile-nav__toggle">
1327                    <button type="button"
1328                      aria-controls="Linklist-collections-air-purifiers2"
1329                      aria-labelledby="Label-collections-air-purifiers2"
1330                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1331  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1332</span>
1333</button>
1334                  </div></div><div id="Linklist-collections-air-purifiers2"
1335                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1336                >
1337                <div class="collapsible-content__inner">
1338                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1339                        <div class="mobile-nav__child-item"><a href="/collections/air-purifiers"
1340                              class="mobile-nav__link"
1341                              id="Sublabel-collections-air-purifiers1"
1342                              >
1343                              Air Purifiers
1344                            </a><button type="button"
1345                              aria-controls="Sublinklist-collections-air-purifiers2-collections-air-purifiers1"
1346                              aria-labelledby="Sublabel-collections-air-purifiers1"
1347                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1348  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
1348ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1349</span>
1350</button></div><div
1351                            id="Sublinklist-collections-air-purifiers2-collections-air-purifiers1"
1352                            aria-labelledby="Sublabel-collections-air-purifiers1"
1353                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1354                            >
1355                            <div class="collapsible-content__inner">
1356                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1357                                    <a href="/collections/large-room-air-purifier" class="mobile-nav__link">
1358                                      Large Room Purifiers
1359                                    </a>
1360                                  </li><li class="mobile-nav__item">
1361                                    <a href="/collections/medium-room-air-purifier" class="mobile-nav__link">
1362                                      Medium Room Air Purifiers
1363                                    </a>
1364                                  </li><li class="mobile-nav__item">
1365                                    <a href="/collections/small-room-air-purifier" class="mobile-nav__link">
1366                                      Small Room Air Purifiers
1367                                    </a>
1368                                  </li><li class="mobile-nav__item">
1369                                    <a href="/collections/smart-air-purifier" class="mobile-nav__link">
1370                                      Smart Air Purifiers
1371                                    </a>
1372                                  </li><li class="mobile-nav__item">
1373                                    <a href="/collections/air-purifier-filters-accessories" class="mobile-nav__link">
1374                                      Air Purifiers Filters & Accesories
1375                                    </a>
1376                                  </li><li class="mobile-nav__item">
1377                                    <a href="/collections/pet-air-purifier" class="mobile-nav__link">
1378                                      Pet Air Purifiers
1379                                    </a>
1380                                  </li></ul>
1381                            </div>
1382                          </div></li></ul>
1383                </div>
1384              </div></li><li class="mobile-nav__item appear-animation appear-delay-4"><div class="mobile-nav__has-sublist"><a href="/collections/parts-and-accessories"
1385                    class="mobile-nav__link mobile-nav__link--top-level"
1386                    id="Label-collections-parts-and-accessories3"
1387                    >
1388                    Replacement Filters
1389                  </a>
1390                  <div class="mobile-nav__toggle">
1391                    <button type="button"
1392                      aria-controls="Linklist-collections-parts-and-accessories3"
1393                      aria-labelledby="Label-collections-parts-and-accessories3"
1394                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1395  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1396</span>
1397</button>
1398                  </div></div><div id="Linklist-collections-parts-and-accessories3"
1399                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1400                >
1401                <div class="collapsible-content__inner">
1402                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1403                        <div class="mobile-nav__child-item"><a href="/collections/parts-and-accessories"
1404                              class="mobile-nav__link"
1405                              id="Sublabel-collections-parts-and-accessories1"
1406                              >
1407                              Other Replacement Parts
1408                            </a><button type="button"
1409                              aria-controls="Sublinklist-collections-parts-and-accessories3-collections-parts-and-accessories1"
1410                              aria-labelledby="Sublabel-collections-parts-and-accessories1"
1411                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1412  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
1412ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1413</span>
1414</button></div><div
1415                            id="Sublinklist-collections-parts-and-accessories3-collections-parts-and-accessories1"
1416                            aria-labelledby="Sublabel-collections-parts-and-accessories1"
1417                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1418                            >
1419                            <div class="collapsible-content__inner">
1420                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1421                                    <a href="/products/ultrasonic-humidifier-demineralization-cartridges-4-pack" class="mobile-nav__link">
1422                                      Ultrasonic Humidifier Demineralization
1423                                    </a>
1424                                  </li><li class="mobile-nav__item">
1425                                    <a href="/products/totalclean-replacement-type-1-essential-oil-pads" class="mobile-nav__link">
1426                                      TotalClean® Replacement
1427                                    </a>
1428                                  </li><li class="mobile-nav__item">
1429                                    <a href="/products/personal-portable-humidifier-replacement-wicks-4-pack" class="mobile-nav__link">
1430                                      Personal/Portable Humidifier Replacement
1431                                    </a>
1432                                  </li><li class="mobile-nav__item">
1433                                    <a href="/products/uv-c-replacement-bulbs" class="mobile-nav__link">
1434                                      UV-C Replacement Bulbs
1435                                    </a>
1436                                  </li><li class="mobile-nav__item">
1437                                    <a href="/products/paraspa-paraffin-wax-refill" class="mobile-nav__link">
1438                                      ParaSpa® Paraffin Wax Refill
1439                                    </a>
1440                                  </li></ul>
1441                            </div>
1442                          </div></li><li class="mobile-nav__item">
1443                        <div class="mobile-nav__child-item"><a href="/collections/parts-and-accessories"
1444                              class="mobile-nav__link"
1445                              id="Sublabel-collections-parts-and-accessories2"
1446                              >
1447                              Best-Selling HEPA Filters
1448                            </a><button type="button"
1449                              aria-controls="Sublinklist-collections-parts-and-accessories3-collections-parts-and-accessories2"
1450                              aria-labelledby="Sublabel-collections-parts-and-accessories2"
1451                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1452  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1453</span>
1454</button></div><div
1455                            id="Sublinklist-collections-parts-and-accessories3-collections-parts-and-accessories2"
1456                            aria-labelledby="Sublabel-collections-parts-and-accessories2"
1457                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1458                            >
1459                            <div class="collapsible-content__inner">
1460                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1461                                    <a href="/products/totalclean-replacement-360-degree-true-hepa-filter" class="mobile-nav__link">
1462                                      AP-T45, AP-T43 & AP-T40
1463                                    </a>
1464                                  </li><li class="mobile-nav__item">
1465                                    <a href="/products/totalclean-replacement-hepa-type-filter-for-tower-air-purifiers" class="mobile-nav__link">
1466                                      AP-T20, AP-T22
1467                                    </a>
1468                                  </li><li class="mobile-nav__item">
1469                                    <a href="/products/totalclean-apt10-replacement-hepa-type-filter" class="mobile-nav__link">
1470                                      AP-T15, AP-T12, AP-T10
1471                                    </a>
1472                                  </li><li class="mobile-nav__item">
1473                                    <a href="/products/replacement-360-hepa-filter-for-ap-pet35" class="mobile-nav__link">
1474                                      AP-PET35
1475                                    </a>
1476                                  </li><li class="mobile-nav__item">
1477                                    <a href="/products/totalclean-replacement-360-true-hepa-filter-for-hepa-tower-air-purifiers" class="mobile-nav__link">
1478                                      AP-T30
1479                                    </a>
1480                                  </li></ul>
1481                            </div>
1482                          </div></li></ul>
1483                </div>
1484              </div></li><li class="mobile-nav__item appear-animation appear-delay-5"><div class="mobile-nav__has-sublist"><a href="/collections/humidifiers"
1485                    class="mobile-nav__link mobile-nav__link--top-level"
1486                    id="Label-collections-humidifiers4"
1487                    >
1488                    Humidifiers
1489                  </a>
1490                  <div class="mobile-nav__toggle">
1491                    <button type="button"
1492                      aria-controls="Linklist-collections-humidifiers4"
1493                      aria-labelledby="Label-collections-humidifiers4"
1494                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1495  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
1495ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1496</span>
1497</button>
1498                  </div></div><div id="Linklist-collections-humidifiers4"
1499                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1500                >
1501                <div class="collapsible-content__inner">
1502                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1503                        <div class="mobile-nav__child-item"><a href="/collections/humidifiers"
1504                              class="mobile-nav__link"
1505                              id="Sublabel-collections-humidifiers1"
1506                              >
1507                              Humidifiers
1508                            </a><button type="button"
1509                              aria-controls="Sublinklist-collections-humidifiers4-collections-humidifiers1"
1510                              aria-labelledby="Sublabel-collections-humidifiers1"
1511                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1512  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1513</span>
1514</button></div><div
1515                            id="Sublinklist-collections-humidifiers4-collections-humidifiers1"
1516                            aria-labelledby="Sublabel-collections-humidifiers1"
1517                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1518                            >
1519                            <div class="collapsible-content__inner">
1520                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1521                                    <a href="/collections/cool-mist-humidifiers" class="mobile-nav__link">
1522                                      Cool Mist Humidifiers
1523                                    </a>
1524                                  </li><li class="mobile-nav__item">
1525                                    <a href="/collections/warm-mist-humidifiers" class="mobile-nav__link">
1526                                      Warm Mist Humidifiers
1527                                    </a>
1528                                  </li><li class="mobile-nav__item">
1529                                    <a href="/collections/humidifiers-parts-accessories" class="mobile-nav__link">
1530                                      Humidifiers Parts & Accessories
1531                                    </a>
1532                                  </li></ul>
1533                            </div>
1534                          </div></li><li class="mobile-nav__item">
1535                        <div class="mobile-nav__child-item"><a href="/products/totalcomfort-deluxe-large-room-ultrasonic-humidifier"
1536                              class="mobile-nav__link"
1537                              id="Sublabel-products-totalcomfort-deluxe-large-room-ultrasonic-humidifier2"
1538                              >
1539                              Decor Humidifiers
1540                            </a><button type="button"
1541                              aria-controls="Sublinklist-collections-humidifiers4-products-totalcomfort-deluxe-large-room-ultrasonic-humidifier2"
1542                              aria-labelledby="Sublabel-products-totalcomfort-deluxe-large-room-ultrasonic-humidifier2"
1543                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1544  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1545</span>
1546</button></div><div
1547                            id="Sublinklist-collections-humidifiers4-products-totalcomfort-deluxe-large-room-ultrasonic-humidifier2"
1548                            aria-labelledby="Sublabel-products-totalcomfort-deluxe-large-room-ultrasonic-humidifier2"
1549                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1550                            >
1551                            <div class="collapsible-content__inner">
1552                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1553                                    <a href="/products/totalcomfort-deluxe-large-room-ultrasonic-humidifier" class="mobile-nav__link">
1554                                      Decor Series Large Humidifier
1555                                    </a>
1556                                  </li><li class="mobile-nav__item">
1557                                    <a href="/products/decor-series-medium-humidifier" class="mobile-nav__link">
1558                                      Decor Series Medium Humidifier
1559                                    </a>
1560                                  </li></ul>
1561                            </div>
1562                          </div></li></ul>
1563                </div>
1564              </div></li><li class="mobile-nav__item appear-animation appear-delay-6"><div class="mobile-nav__has-sublist">
1564<a href="https://www.homedics.com/collections/sauna"
1565                    class="mobile-nav__link mobile-nav__link--top-level"
1566                    id="Label-https-www-homedics-com-collections-sauna5"
1567                    >
1568                    Sauna
1569                  </a>
1570                  <div class="mobile-nav__toggle">
1571                    <button type="button"
1572                      aria-controls="Linklist-https-www-homedics-com-collections-sauna5"
1573                      aria-labelledby="Label-https-www-homedics-com-collections-sauna5"
1574                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1575  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1576</span>
1577</button>
1578                  </div></div><div id="Linklist-https-www-homedics-com-collections-sauna5"
1579                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1580                >
1581                <div class="collapsible-content__inner">
1582                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1583                        <div class="mobile-nav__child-item"><a href="/collections/sauna"
1584                              class="mobile-nav__link"
1585                              id="Sublabel-collections-sauna1"
1586                              >
1587                              Saunas
1588                            </a><button type="button"
1589                              aria-controls="Sublinklist-https-www-homedics-com-collections-sauna5-collections-sauna1"
1590                              aria-labelledby="Sublabel-collections-sauna1"
1591                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1592  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1593</span>
1594</button></div><div
1595                            id="Sublinklist-https-www-homedics-com-collections-sauna5-collections-sauna1"
1596                            aria-labelledby="Sublabel-collections-sauna1"
1597                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1598                            >
1599                            <div class="collapsible-content__inner">
1600                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1601                                    <a href="/products/homedics-premium-steam-sauna" class="mobile-nav__link">
1602                                      Premium Steam Sauna
1603                                    </a>
1604                                  </li><li class="mobile-nav__item">
1605                                    <a href="/products/homedics%C2%AE-portable-steam-sauna" class="mobile-nav__link">
1606                                      Portable Steam Sauna
1607                                    </a>
1608                                  </li><li class="mobile-nav__item">
1609                                    <a href="/products/premium-steam-sauna-dual-red-light-wands-add-on" class="mobile-nav__link">
1610                                      Red Light Wands
1611                                    </a>
1612                                  </li></ul>
1613                            </div>
1614                          </div></li></ul>
1615                </div>
1616              </div></li><li class="mobile-nav__item appear-animation appear-delay-7"><div class="mobile-nav__has-sublist"><a href="/pages/serenescent"
1617                    class="mobile-nav__link mobile-nav__link--top-level"
1618                    id="Label-pages-serenescent6"
1619                    >
1620                    SereneScent
1621                  </a>
1622                  <div class="mobile-nav__toggle">
1623                    <button type="button"
1624                      aria-controls="Linklist-pages-serenescent6"
1625                      aria-labelledby="Label-pages-serenescent6"
1626                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1627  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
1627ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1628</span>
1629</button>
1630                  </div></div><div id="Linklist-pages-serenescent6"
1631                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1632                >
1633                <div class="collapsible-content__inner">
1634                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1635                        <div class="mobile-nav__child-item"><a href="/pages/serenescent"
1636                              class="mobile-nav__link"
1637                              id="Sublabel-pages-serenescent1"
1638                              >
1639                              SereneScent
1640                            </a><button type="button"
1641                              aria-controls="Sublinklist-pages-serenescent6-pages-serenescent1"
1642                              aria-labelledby="Sublabel-pages-serenescent1"
1643                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1644  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1645</span>
1646</button></div><div
1647                            id="Sublinklist-pages-serenescent6-pages-serenescent1"
1648                            aria-labelledby="Sublabel-pages-serenescent1"
1649                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1650                            >
1651                            <div class="collapsible-content__inner">
1652                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1653                                    <a href="/collections/serenescent-limited-edition-series" class="mobile-nav__link">
1654                                      Limited Edition
1655                                    </a>
1656                                  </li><li class="mobile-nav__item">
1657                                    <a href="/collections/serenescent-wellness-series" class="mobile-nav__link">
1658                                      Wellness Series
1659                                    </a>
1660                                  </li><li class="mobile-nav__item">
1661                                    <a href="/collections/serenescent-best-sellers" class="mobile-nav__link">
1662                                      Best Sellers
1663                                    </a>
1664                                  </li><li class="mobile-nav__item">
1665                                    <a href="/collections/premium-natural-scents" class="mobile-nav__link">
1666                                      Shop All Scents
1667                                    </a>
1668                                  </li></ul>
1669                            </div>
1670                          </div></li><li class="mobile-nav__item">
1671                        <div class="mobile-nav__child-item"><a href="/collections/waterless-diffusers"
1672                              class="mobile-nav__link"
1673                              id="Sublabel-collections-waterless-diffusers2"
1674                              >
1675                              Diffusers
1676                            </a><button type="button"
1677                              aria-controls="Sublinklist-pages-serenescent6-collections-waterless-diffusers2"
1678                              aria-labelledby="Sublabel-collections-waterless-diffusers2"
1679                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1680  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1681</span>
1682</button></div><div
1683                            id="Sublinklist-pages-serenescent6-collections-waterless-diffusers2"
1684                            aria-labelledby="Sublabel-collections-waterless-diffusers2"
1685                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1686                            >
1687                            <div class="collapsible-content__inner">
1688                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1689                                    <a href="/collections/waterless-diffusers" class="mobile-nav__link">
1690                                      Waterless Diffusers
1691                                    </a>
1692                                  </li></ul>
1693                            </div>
1694                          </div></li><li class="mobile-nav__item">
1695                        <div class="mobile-nav__child-item"><button type="button"
1696                            aria-controls="Sublinklist-pages-serenescent6-3"
1697                            class="mobile-nav__link--button collapsible-trigger">
1698                              <span class="mobile-nav__faux-link">Build Your Own Bundles</span><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1699  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1700</span>
1701</button></div><div
1702                            id="Sublinklist-pages-serenescent6-3"
1703                            aria-labelledby="Sublabel-3"
1704                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1705                            >
1706                            <div class="collapsible-content__inner">
1707                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1708                                    <a href="https://www.homedics.com/pages/bundle-builder-120ml" class="mobile-nav__link">
1709                                      120ml SereneScent
1710                                    </a>
1711                                  </li><li class="mobile-nav__item">
1712                                    <a href="https://www.homedics.com/pages/bundle-builder-15ml" class="mobile-nav__link">
1713                                      15ml SereneScent
1714                                    </a>
1715                                  </li></ul>
1716                            </div>
1717                          </div></li></ul>
1718                </div>
1719              </div></li><li class="mobile-nav__item appear-animation appear-delay-8"><a href="/pages/drift-lp" class="mobile-nav__link mobile-nav__link--top-level">drift</a></li><li class="mobile-nav__item appear-animation appear-delay-9"><div class="mobile-nav__has-sublist"><a href="/collections/health-monitors"
1720                    class="mobile-nav__link mobile-nav__link--top-level"
1721                    id="Label-collections-health-monitors8"
1722                    >
1723                    Health Monitors
1724                  </a>
1725                  <div class="mobile-nav__toggle">
1726                    <button type="button"
1727                      aria-controls="Linklist-collections-health-monitors8"
1728                      aria-labelledby="Label-collections-health-monitors8"
1729                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1730  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1731</span>
1732</button>
1733                  </div></div><div id="Linklist-collections-health-monitors8"
1734                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1735                >
1736                <div class="collapsible-content__inner">
1737                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1738                        <div class="mobile-nav__child-item"><a href="/collections/health-monitors"
1739                              class="mobile-nav__link"
1740                              id="Sublabel-collections-health-monitors1"
1741                              >
1742                              Health Monitors
1743                            </a><button type="button"
1744                              aria-controls="Sublinklist-collections-health-monitors8-collections-health-monitors1"
1745                              aria-labelledby="Sublabel-collections-health-monitors1"
1746                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1747  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1748</span>
1749</button></div><div
1750                            id="Sublinklist-collections-health-monitors8-collections-health-monitors1"
1751                            aria-labelledby="Sublabel-collections-health-monitors1"
1752                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1753                            >
1754                            <div class="collapsible-content__inner">
1755                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1756                                    <a href="/collections/health-diagnostics" class="mobile-nav__link">
1757                                      Blood Pressure Monitors
1758                                    </a>
1759                                  </li><li class="mobile-nav__item">
1760                                    <a href="/collections/personal-scales" class="mobile-nav__link">
1761                                      Personal Scales
1762                                    </a>
1763                                  </li><li class="mobile-nav__item">
1764                                    <a href="/collections/thermometers" class="mobile-nav__link">
1765                                      Thermometers
1766                                    </a>
1767                                  </li><li class="mobile-nav__item">
1768                                    <a href="/collections/pulse-oximeters" class="mobile-nav__link">
1769                                      Pulse Oximeters
1770                                    </a>
1771                                  </li><li class="mobile-nav__item">
1772                                    <a href="/collections/diagnostic-parts-accessories" class="mobile-nav__link">
1773                                      Health Monitors Parts & Accessories
1774                                    </a>
1775                                  </li></ul>
1776                            </div>
1777                          </div></li></ul>
1778                </div>
1779              </div></li><li class="mobile-nav__item appear-animation appear-delay-10"><div class="mobile-nav__has-sublist">
1779<a href="/collections/sauna"
1780                    class="mobile-nav__link mobile-nav__link--top-level"
1781                    id="Label-collections-sauna9"
1782                    >
1783                    Spa
1784                  </a>
1785                  <div class="mobile-nav__toggle">
1786                    <button type="button"
1787                      aria-controls="Linklist-collections-sauna9"
1788                      aria-labelledby="Label-collections-sauna9"
1789                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1790  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1791</span>
1792</button>
1793                  </div></div><div id="Linklist-collections-sauna9"
1794                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1795                >
1796                <div class="collapsible-content__inner">
1797                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1798                        <div class="mobile-nav__child-item"><a href="/collections/sauna"
1799                              class="mobile-nav__link"
1800                              id="Sublabel-collections-sauna1"
1801                              >
1802                              Sauna
1803                            </a><button type="button"
1804                              aria-controls="Sublinklist-collections-sauna9-collections-sauna1"
1805                              aria-labelledby="Sublabel-collections-sauna1"
1806                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1807  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1808</span>
1809</button></div><div
1810                            id="Sublinklist-collections-sauna9-collections-sauna1"
1811                            aria-labelledby="Sublabel-collections-sauna1"
1812                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1813                            >
1814                            <div class="collapsible-content__inner">
1815                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1816                                    <a href="/collections/sauna" class="mobile-nav__link">
1817                                      Sauna
1818                                    </a>
1819                                  </li></ul>
1820                            </div>
1821                          </div></li><li class="mobile-nav__item">
1822                        <div class="mobile-nav__child-item"><a href="/collections/spa"
1823                              class="mobile-nav__link"
1824                              id="Sublabel-collections-spa2"
1825                              >
1826                              Spa
1827                            </a><button type="button"
1828                              aria-controls="Sublinklist-collections-sauna9-collections-spa2"
1829                              aria-labelledby="Sublabel-collections-spa2"
1830                              class="collapsible-trigger"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation">
1831  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1832</span>
1833</button></div><div
1834                            id="Sublinklist-collections-sauna9-collections-spa2"
1835                            aria-labelledby="Sublabel-collections-spa2"
1836                            class="mobile-nav__sublist collapsible-content collapsible-content--all"
1837                            >
1838                            <div class="collapsible-content__inner">
1839                              <ul class="mobile-nav__grandchildlist"><li class="mobile-nav__item">
1840                                    <a href="/collections/foot-baths" class="mobile-nav__link">
1841                                      Footbaths
1842                                    </a>
1843                                  </li><li class="mobile-nav__item">
1844                                    <a href="/collections/paraffin-baths" class="mobile-nav__link">
1845                                      Paraffin Baths
1846                                    </a>
1847                                  </li><li class="mobile-nav__item">
1848                                    <a href="/collections/fountains" class="mobile-nav__link">
1849                                      Fountains
1850                                    </a>
1851                                  </li><li class="mobile-nav__item">
1852                                    <a href="/collections/sound-machines" class="mobile-nav__link">
1853                                      Sound Machines
1854                                    </a>
1855                                  </li></ul>
1856                            </div>
1857                          </div></li></ul>
1858                </div>
1859              </div></li><li class="mobile-nav__item appear-animation appear-delay-11"><a href="/collections/clearance" class="mobile-nav__link mobile-nav__link--top-level">Sale</a></li><li class="mobile-nav__item mobile-nav__item--secondary">
1860            <div class="grid"><div class="grid__item one-half appear-animation appear-delay-12">
1861                  <a href="/account" class="mobile-nav__link">Log in
1862</a>
1863                </div></div>
1864          </li><li class="mobile-nav__item mobile-nav__item--secondary mobile-nav__item--third appear-animation appear-delay-9" style=" margin-top: 5px;">
1865            <a href="//pages/customer-support-instruction-books" class="mobile-nav__link">Instruction Books
1866            </a>
1867          </li>
1868          <li class="mobile-nav__item mobile-nav__item--secondary mobile-nav__item--third appear-animation appear-delay-10" style="margin-bottom: 10px; ">
1869                  <a href="https://registration.homedics.com/c/DS4V/custom" target="_blank" class="mobile-nav__link">
1870                                                  Product Registration
1871                                                
1872      </a><div class="grid"></div>
1873                </li>
1874
1875      </ul>
1876    </div>
1877  </div>
1878</div>
1879<link href="//www.homedics.com/cdn/shop/t/138/assets/cart-drawer.css?v=53745174124480322931787623451" rel="stylesheet" type="text/css" media="all" />
1880<div id="CartDrawer" class="drawer drawer--right">
1881    <form id="CartDrawerForm" action="/cart" method="post" novalidate class="drawer__contents" data-location="cart-drawer">
1882      <div class="drawer__fixed-header">
1883        <div class="drawer__header appear-animation appear-delay-1">
1884          <div class="h2 drawer__title">Cart</div>
1885          <div class="drawer__title-count">
1886            <span class="drawer__title-count-number">0</span>
1887            <span class="drawer__title-count-text">items</span>
1888          </div>
1889          <div class="drawer__close">
1890            <button type="button" class="drawer__close-button js-drawer-close">
1891              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
1892              <span class="icon__fallback-text">Close cart</span>
1893            </button>
1894          </div>
1895        </div>
1896      </div>
1897      
1898        <div class="appear-animation appear-delay-3">
1899          
1900
1901
1902
1903<div class="free-shipping-progress" data-free-shipping-progress>
1904    <div class="free-shipping-progress__title">
1905        <div class="free-shipping-progress__message free-shipping-progress__message--success">
1906            <svg class="free-shipping-progress__icon" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1907            <path d="M16.6667 5L7.5 14.1667L3.33333 10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
1908            </svg>
1909            <span>You&#39;ve qualified for free shipping!</span>
1910        </div>
1911        <span class="free-shipping-progress__title-text">Free shipping with $99.00 purchase</span>
1912    </div>
1913    <div class="free-shipping-progress__amount-bar">
1914        
1915        <div class="free-shipping-progress__message amount-needed">
1916            <span>$99</span>
1917        </div><div class="free-shipping-progress__bar">
1918            <div class="free-shipping-progress__bar-fill" style="width: 0%"></div>
1919        </div><div class="free-shipping-progress__amount-needed">
1920            <span>$99</span>
1921        </div>
1922    </div>
1923  </div>
1924        </div>
1925      
1926      
1927
1928      <div class="drawer__inner">
1929        <div class="drawer__scrollable">
1930          <div data-products class="appear-animation appear-delay-2"></div>
1931
1932          
1933        </div>
1934
1935        <div class="drawer__footer appear-animation appear-delay-4">          
1936
1937          <div data-discounts>
1938            
1939          </div>
1940
1941          <div class="cart__item-sub cart__item-row">
1942            <div class="ajaxcart__subtotal">Subtotal</div>
1943            <div data-subtotal>$0.00</div>
1944          </div>
1945
1946          <div class="cart__item-row">
1947            <small>
1948              Taxes and shipping calculated at checkout.<br />
1949            </small>
1950          </div>
1951
1952          
1953
1954          
1955
1956          <div class="cart__checkout-wrapper">
1957            <button type="submit" name="checkout" data-terms-required="false" class="btn cart__checkout">
1958              Checkout
1959            </button>
1960
1961            
1962              <div class="additional-checkout-buttons additional-checkout-buttons--vertical"><div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;shop_pay&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:70341165241,&quot;merchantName&quot;:&quot;Homedics&quot;,&quot;personalized&quot;:false}},{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;paypal&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:70341165241,&quot;countryCode&quot;:&quot;US&quot;,&quot;merchantName&quot;:&quot;Homedics&quot;,&quot;phoneRequired&quot;:false,&quot;companyRequired&quot;:false,&quot;shippingType&quot;:&quot;shipping&quot;,&quot;shopifyPaymentsEnabled&quot;:true,&quot;hasManagedSellingPlanState&quot;:false,&quot;requiresBillingAgreement&quot;:false,&quot;gatewayType&quot;:&quot;MANAGED&quot;,&quot;merchantId&quot;:&quot;RCDL5PEKL6MUU&quot;,&quot;sdkUrl&quot;:&quot;https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AbasDhzlU0HbpiStJiN1KRJ_cNJJ7xYBip7JJoMO0GQpLi8ePNgdbLXkC7_KMeyTg8tnAKW4WKrh9qmf\u0026merchant-id=RCDL5PEKL6MUU\u0026intent=authorize&quot;,&quot;serviceableCountryCodes&quot;:[&quot;CA&quot;,&quot;US&quot;]}}]" access-token="4a4ee7960a87c3287705227ee0769347" buyer-country="US" buyer-locale="en" buyer-currency="USD" shop-id="70341165241" cart-id="8a4c90986eae09e2e90e2627b307ea4b" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'>&nbsp</div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'>&nbsp</div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div></div>
1963            
1964          </div>
1965        </div>
1966      </div>
1967
1968      <div class="drawer__cart-empty appear-animation appear-delay-2">
1969        <div class="drawer__scrollable">
1970          Your cart is currently empty.
1971          <a href="/" class="btn btn--secondary btn--full">
1972            START SHOPPING
1973          </a>
1974        </div>
1975      </div>
1976    </form>
1977  </div><style>
1978  .site-nav__link,
1979  .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level) {
1980    font-size: 16px;
1981  }
1982  
1983    .site-nav__link, .mobile-nav__link--top-level {
1984      text-transform: uppercase;
1985      letter-spacing: 0.2em;
1986    }
1987    .mobile-nav__link--top-level {
1988      font-size: 1.1em;
1989    }
1990  
1991
1992  
1993
1994  
1995    .megamenu__collection-image {
1996      display: none;
1997    }
1998  
1999</style>
2000
2001<div data-section-id="sections--22941040967865__header" data-section-type="header"><div class="toolbar small--hide">
2002  <div>
2003    <div class="toolbar__content">
2004    </div>
2005
2006  </div>
2007</div>
2008<div class="header-sticky-wrapper">
2009    <div id="HeaderWrapper" class="header-wrapper"><header
2010        id="SiteHeader"
2011        class="site-header"
2012        data-sticky="true"
2013        data-overlay="false">
2014        <div class="page-width">
2015          <div
2016            class="header-layout header-layout--left-center"
2017            data-logo-align="left">
2018
2019            <div class="site-nav header-item medium-up--hide">
2020              <button
2021                type="button"
2022                class="site-nav__link site-nav__link--icon js-drawer-open-nav"
2023                aria-controls="NavDrawer">
2024                <svg width="20" height="12" viewBox="0 0 20 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2025                <path d="M18.75 10C19.1642 10 19.5 10.3358 19.5 10.75C19.5 11.1642 19.1642 11.5 18.75 11.5H0.75C0.335786 11.5 0 11.1642 0 10.75C0 10.3358 0.335786 10 0.75 10H18.75ZM18.75 5C19.1642 5 19.5 5.33579 19.5 5.75C19.5 6.16421 19.1642 6.5 18.75 6.5H0.75C0.335786 6.5 0 6.16421 0 5.75C0 5.33579 0.335786 5 0.75 5H18.75ZM18.75 0C19.1642 0 19.5 0.335786 19.5 0.75C19.5 1.16421 19.1642 1.5 18.75 1.5H0.75C0.335786 1.5 0 1.16421 0 0.75C0 0.335786 0.335786 0 0.75 0H18.75Z" fill="#211E15"/>
2026                </svg>
2027                <span class="icon__fallback-text">Site navigation</span>
2028              </button>
2029            </div><div class="header-item header-item--logo"><style data-shopify>.header-item--logo,
2030    .header-layout--left-center .header-item--logo,
2031    .header-layout--left-center .header-item--icons {
2032      -webkit-box-flex: 0 1 130px;
2033      -ms-flex: 0 1 130px;
2034      flex: 0 1 130px;
2035    }
2036
2037    @media only screen and (min-width: 769px) {
2038      .header-item--logo,
2039      .header-layout--left-center .header-item--logo,
2040      .header-layout--left-center .header-item--icons {
2041        -webkit-box-flex: 0 0 110px;
2042        -ms-flex: 0 0 110px;
2043        flex: 0 0 110px;
2044      }
2045    }
2046
2047    .site-header__logo a {
2048      width: 130px;
2049    }
2050    .is-light .site-header__logo .logo--inverted {
2051      width: 130px;
2052    }
2053    @media only screen and (min-width: 769px) {
2054      .site-header__logo a {
2055        width: 110px;
2056      }
2057
2058      .is-light .site-header__logo .logo--inverted {
2059        width: 110px;
2060      }
2061    }</style><div class="h1 site-header__logo" itemscope itemtype="http://schema.org/Organization" >
2062      <a
2063        href="/"
2064        itemprop="url"
2065        class="site-header__logo-link"
2066        style="padding-top: 23.636363636363637%">
2067
2068        
2069
2070
2071
2072
2073
2074<image-element data-aos="image-fade-in" data-aos-offset="150">
2075
2076
2077  
2078<img src="//www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=220" alt="Homedics" srcset="//www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=110 110w, //www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=220 220w" width="110" height="26.0" loading="eager" class="small--hide image-element" sizes="110px" itemprop="logo">
2079  
2080
2081
2082</image-element>
2083
2084
2085
2086
2087<image-element data-aos="image-fade-in" data-aos-offset="150">
2088
2089
2090  
2091<img src="//www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=260" alt="Homedics" srcset="//www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=130 130w, //www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=260 260w" width="130" height="30.727272727272727" loading="eager" class="medium-up--hide image-element" sizes="130px">
2092  
2093
2094
2095</image-element>
2096</a></div></div>
2097<link href="//www.homedics.com/cdn/shop/t/138/assets/header-search-bar.css?v=67031654202594835621787623451" rel="stylesheet" type="text/css" media="all" />
2098
2099<div class="header-search-bar">
2100  <label for="header-search-bar__input" class="visually-hidden">Search</label>
2101  <input type="text" id="header-search-bar__input" placeholder="Search" class="header-search-bar__input">
2102  <svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
2103    <path d="M8.2423 0.648682C10.2484 0.648724 12.1749 1.43752 13.5968 2.84399C15.0188 4.25085 15.8199 6.16122 15.8204 8.15552V8.15649C15.8204 9.64354 15.3749 11.0966 14.5411 12.3313C14.3841 12.5638 14.2142 12.7861 14.0333 12.9983L18.5499 17.0295L17.2179 18.5217L12.5353 14.342C12.0998 14.6384 11.6325 14.891 11.1398 15.093C9.75675 15.6598 8.23523 15.8085 6.76769 15.5198C5.30013 15.231 3.95006 14.5179 2.88976 13.469C1.82937 12.4199 1.10593 11.0815 0.812613 9.62329C0.519372 8.16509 0.669665 6.65353 1.24425 5.28052C1.81884 3.90762 2.79165 2.73515 4.03722 1.91138C5.2826 1.08793 6.74643 0.649005 8.2423 0.648682ZM8.2423 2.64868C7.13707 2.64894 6.05697 2.97376 5.13976 3.58032C4.22281 4.18686 3.50956 5.04799 3.08898 6.05298C2.66856 7.05776 2.55831 8.16289 2.77257 9.22876C2.98702 10.2949 3.51696 11.2763 4.29601 12.0471C5.07525 12.818 6.06974 13.3446 7.15343 13.5579C8.23723 13.7711 9.36071 13.6605 10.381 13.2424C11.401 12.8243 12.2714 12.1174 12.8829 11.2122C13.4943 10.3068 13.8204 9.24323 13.8204 8.15649C13.8202 6.69918 13.2345 5.29955 12.1896 4.26587C11.2097 3.29668 9.90092 2.7234 8.51964 2.65552L8.2423 2.64868Z" fill="#231F20"/>
2104  </svg>
2105</div>
2106
2107
2108<script>
2109  document.addEventListener('DOMContentLoaded', function() {
2110    const searchInput = document.querySelector('.header-search-bar__input');
2111    const searchIcon = document.querySelector('.js-search-header');
2112    
2113    let searchTimeout;
2114    
2115    searchInput.addEventListener('keypress', function() {
2116      // Clear any existing timeout
2117      clearTimeout(searchTimeout);
2118      
2119      // Set a new timeout to trigger search icon click after 500ms (half second)
2120      searchTimeout = setTimeout(function() {
2121        if (searchIcon) {
2122          searchIcon.click();
2123          const realSearch = document.querySelector('.search__input-wrap .search__input');
2124          realSearch.value = searchInput.value;
2125          realSearch.dispatchEvent(new Event('input'));
2126          realSearch.focus();
2127        }
2128      }, 500);
2129    });
2130  });
2131</script>
2131<div class="header-item header-item--icons">
2132<div class="site-nav">
2133  <div class="site-nav__icons"><a class="site-nav__link site-nav__link--icon small--hide" href="/account">
2134        <svg width="17" height="20" viewBox="0 0 17 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2135        <path d="M8.16952 0.5C10.2906 0.5 12.0028 2.21222 12.0028 4.33333C12.0028 6.45444 10.2906 8.16667 8.16952 8.16667C6.0484 8.16667 4.33618 6.45444 4.33618 4.33333C4.33618 2.21222 6.0484 0.5 8.16952 0.5Z" stroke="#231F20"/>
2136        <path d="M8.16886 18.6457C4.97442 18.6457 2.15053 17.0101 0.502197 14.5313C0.540531 11.9885 5.61331 10.5957 8.16886 10.5957C10.7116 10.5957 15.7972 11.9885 15.8355 14.5313C14.1872 17.0101 11.3633 18.6457 8.16886 18.6457Z" stroke="#231F20"/>
2137        </svg>
2138
2139          
2140        <span class="icon__fallback-text">Log in
2141</span>
2142      </a><a href="/search" class="site-nav__link site-nav__link--icon js-search-header">
2143        <svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
2144        <path d="M8.15674 1.01758C10.0435 1.01763 11.8547 1.75927 13.1909 3.08105C14.5272 4.40301 15.2793 6.19783 15.2798 8.07031C15.2798 9.46649 14.8608 10.8313 14.0776 11.9912C13.8609 12.3122 13.6172 12.6123 13.353 12.8916L18.106 17.1338L17.6978 17.5908L17.2896 18.0488L12.4312 13.7119C11.9559 14.0652 11.436 14.3605 10.8813 14.5879C9.58089 15.1209 8.15019 15.2598 6.77002 14.9883C5.38979 14.7167 4.12099 14.0463 3.12451 13.0605C2.12809 12.0747 1.44876 10.8175 1.17334 9.44824C0.898088 8.0791 1.03902 6.65949 1.57861 5.37012C2.11831 4.08086 3.03189 2.97931 4.20264 2.20508C5.37343 1.43091 6.74978 1.01781 8.15674 1.01758ZM7.93799 2.24805C6.84737 2.28824 5.78825 2.62756 4.87939 3.22852C3.90999 3.8696 3.15477 4.77992 2.70947 5.84375C2.26429 6.90755 2.1485 8.07823 2.37549 9.20703C2.60259 10.3359 3.16285 11.3743 3.98682 12.1895C4.81085 13.0045 5.86172 13.5599 7.00635 13.7852C8.15124 14.0104 9.33847 13.895 10.4165 13.4531C11.4943 13.0113 12.4151 12.2636 13.062 11.3057C13.7087 10.3478 14.0531 9.22191 14.0532 8.07129L14.0464 7.78223C13.9739 6.34408 13.3644 4.9779 12.3286 3.95312C11.2233 2.85979 9.72246 2.24419 8.15674 2.24414L7.93799 2.24805Z" fill="#333333"/>
2145        </svg>
2146        <span class="icon__fallback-text">Search</span>
2147      </a><a href="/cart" class="site-nav__link site-nav__link--icon js-drawer-open-cart" aria-controls="CartDrawer" data-icon="cart">
2148      <span class="cart-link">
2149        <svg width="22" height="19" viewBox="0 0 22 19" fill="none" xmlns="http://www.w3.org/2000/svg">
2150        <path d="M8.79688 15.9961C9.47765 15.9963 10.0293 16.5487 10.0293 17.2295C10.0291 17.9101 9.47752 18.4617 8.79688 18.4619C8.11605 18.4619 7.5637 17.9103 7.56348 17.2295C7.56348 16.5485 8.11591 15.9961 8.79688 15.9961ZM16.126 15.9961C16.8068 15.9963 17.3584 16.5487 17.3584 17.2295C17.3582 17.9101 16.8066 18.4617 16.126 18.4619C15.4451 18.4619 14.8928 17.9103 14.8926 17.2295C14.8926 16.5485 15.445 15.9961 16.126 15.9961ZM3.52734 0.367188L4.38281 3.47852H21.8584L21.6572 4.12598L18.7471 13.5117L18.6387 13.8643H6.20117L6.10059 13.4971L2.66406 1H0V0H3.42676L3.52734 0.367188ZM6.96387 12.8643H17.9014L20.501 4.47852H4.6582L6.96387 12.8643Z" fill="black"/>
2151        </svg>
2152        
2153        <span class="icon__fallback-text">Cart</span>
2154        <span class="cart-link__bubble" style = "background: #066769;"></span> 
2155        
2156
2157      </span>
2158    </a>
2159  </div>
2160</div>
2161</div>
2162          </div><div class="header-item header-item--navigation text-center" role="navigation" aria-label="Primary"><ul
2163  class="site-nav site-navigation small--hide"
2164><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown site-nav--is-megamenu">
2165            
2166        <details
2167          data-hover="true"
2168          id="site-nav-item--1"
2169          class="site-nav__details"
2170        >
2171          <summary
2172            data-link="/collections/massagers"
2173            aria-expanded="false"
2174            aria-controls="site-nav-item--1"
2175            class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"
2176            
2177          >
2178            Massagers <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
2178ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
2179          </summary>
2180      
2181<div class="site-nav__dropdown megamenu text-left">
2182            <div class="page-width">
2183              <div class="grid grid--center menu-columns-container">
2184                <div class="grid__item medium-up--one-fifth appear-animation appear-delay-1 menu-column"><div class="h5">
2185                      <a href="/collections/massagers" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Massagers</a>
2186                    </div><div>
2187                        <a href="/collections/neck-massagers" class="site-nav__dropdown-link">
2188                          Neck Massagers
2189                        </a>
2190                      </div><div>
2191                        <a href="/collections/back-massagers" class="site-nav__dropdown-link">
2192                          Back Massagers
2193                        </a>
2194                      </div><div>
2195                        <a href="/collections/foot-massagers" class="site-nav__dropdown-link">
2196                          Foot Massagers
2197                        </a>
2198                      </div><div>
2199                        <a href="/collections/handheld-massagers" class="site-nav__dropdown-link">
2200                          Handheld Percussion
2201                        </a>
2202                      </div><div>
2203                        <a href="/collections/pillows" class="site-nav__dropdown-link">
2204                          Massage Pillows
2205                        </a>
2206                      </div><div>
2207                        <a href="/collections/sports-recovery-massagers" class="site-nav__dropdown-link">
2208                          Sports Recovery Massagers
2209                        </a>
2210                      </div><div>
2211                        <a href="https://www.homedics.com/pages/bundle-builder-modulair" class="site-nav__dropdown-link">
2212                          Build Your Compression Massage Bundle
2213                        </a>
2214                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-2"><a href="/collections/sports-recovery-massagers">
2215                          <img src="//www.homedics.com/cdn/shop/files/ModulairNav_438409e4-957b-4d60-a359-0e1bab454a68.jpg?v=1752863407&width=500" alt="massagers" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2216                          <div class="megamenu__item-text">
2217                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Sports Recovery</h3>
2218                          </div>
2219                        </a>                    
2220                      </div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-3"><a href="/collections/pain-relief">
2221                          <img src="//www.homedics.com/cdn/shop/files/bm-ac108hj.webp?v=1752863537&width=500" alt="massagers" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2222                          <div class="megamenu__item-text">
2223                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Give your body the ultimate relief</h3>
2224                          </div>
2225                        </a>                    
2226                      </div></div>
2227            </div>
2228            <div class = " reg-nav-border appear-animation appear-delay-5">
2229           <div class="page-width registration-nav-drop" style="">
2230                  <a href="//pages/customer-support-instruction-books" class="site-nav__dropdown-link" style="
2231                    
2232                  ">Instruction Books</a>
2233                  <span style=""> | </span>
2234                  <a href="https://registration.homedics.com/c/DS4V/custom" class="site-nav__dropdown-link" target="_blank" style="
2235                      
2236                  ">
2237                                            Product Registration
2238                                          </a>
2239
2240                  </div>
2241          </div>
2242          </div>
2243        </details>
2244      
2245    </li><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown site-nav--is-megamenu">
2246            
2247        <details
2248          data-hover="true"
2249          id="site-nav-item--2"
2250          class="site-nav__details"
2251        >
2252          <summary
2253            data-link="/collections/air-purifiers"
2254            aria-expanded="false"
2255            aria-controls="site-nav-item--2"
2256            class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"
2257            
2258          >
2259            Air Purifiers <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
2259ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
2260          </summary>
2261      
2262<div class="site-nav__dropdown megamenu text-left">
2263            <div class="page-width">
2264              <div class="grid grid--center menu-columns-container">
2265                <div class="grid__item medium-up--one-fifth appear-animation appear-delay-1 menu-column"><div class="h5">
2266                      <a href="/collections/air-purifiers" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Air Purifiers</a>
2267                    </div><div>
2268                        <a href="/collections/large-room-air-purifier" class="site-nav__dropdown-link">
2269                          Large Room Purifiers
2270                        </a>
2271                      </div><div>
2272                        <a href="/collections/medium-room-air-purifier" class="site-nav__dropdown-link">
2273                          Medium Room Air Purifiers
2274                        </a>
2275                      </div><div>
2276                        <a href="/collections/small-room-air-purifier" class="site-nav__dropdown-link">
2277                          Small Room Air Purifiers
2278                        </a>
2279                      </div><div>
2280                        <a href="/collections/smart-air-purifier" class="site-nav__dropdown-link">
2281                          Smart Air Purifiers
2282                        </a>
2283                      </div><div>
2284                        <a href="/collections/air-purifier-filters-accessories" class="site-nav__dropdown-link">
2285                          Air Purifiers Filters & Accesories
2286                        </a>
2287                      </div><div>
2288                        <a href="/collections/pet-air-purifier" class="site-nav__dropdown-link">
2289                          Pet Air Purifiers
2290                        </a>
2291                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-2"><a href="">
2292                          <img src="//www.homedics.com/cdn/shop/files/AP-H400_PDP07_689040da-f4a5-4d7e-83e8-c0b78312f5e5.jpg?v=1765220028&width=500" alt="Air purifiers" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2293                          <div class="megamenu__item-text">
2294                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Air purifiers</h3>
2295                          </div>
2296                        </a>                    
2297                      </div></div>
2298            </div>
2299            <div class = " reg-nav-border appear-animation appear-delay-5">
2300           <div class="page-width registration-nav-drop" style="">
2301                  <a href="//pages/customer-support-instruction-books" class="site-nav__dropdown-link" style="
2302                    
2303                  ">Instruction Books</a>
2304                  <span style=""> | </span>
2305                  <a href="https://registration.homedics.com/c/DS4V/custom" class="site-nav__dropdown-link" target="_blank" style="
2306                      
2307                  ">
2308                                            Product Registration
2309                                          </a>
2310
2311                  </div>
2312          </div>
2313          </div>
2314        </details>
2315      
2316    </li><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown site-nav--is-megamenu">
2317            
2318        <details
2319          data-hover="true"
2320          id="site-nav-item--3"
2321          class="site-nav__details"
2322        >
2323          <summary
2324            data-link="/collections/parts-and-accessories"
2325            aria-expanded="false"
2326            aria-controls="site-nav-item--3"
2327            class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"
2328            
2329          >
2330            Replacement Filters <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
2330ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
2331          </summary>
2332      
2333<div class="site-nav__dropdown megamenu text-left">
2334            <div class="page-width">
2335              <div class="grid grid--center menu-columns-container">
2336                <div class="grid__item medium-up--one-fifth appear-animation appear-delay-1 menu-column"><div class="h5">
2337                      <a href="/collections/parts-and-accessories" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Other Replacement Parts</a>
2338                    </div><div>
2339                        <a href="/products/ultrasonic-humidifier-demineralization-cartridges-4-pack" class="site-nav__dropdown-link">
2340                          Ultrasonic Humidifier Demineralization
2341                        </a>
2342                      </div><div>
2343                        <a href="/products/totalclean-replacement-type-1-essential-oil-pads" class="site-nav__dropdown-link">
2344                          TotalClean® Replacement
2345                        </a>
2346                      </div><div>
2347                        <a href="/products/personal-portable-humidifier-replacement-wicks-4-pack" class="site-nav__dropdown-link">
2348                          Personal/Portable Humidifier Replacement
2349                        </a>
2350                      </div><div>
2351                        <a href="/products/uv-c-replacement-bulbs" class="site-nav__dropdown-link">
2352                          UV-C Replacement Bulbs
2353                        </a>
2354                      </div><div>
2355                        <a href="/products/paraspa-paraffin-wax-refill" class="site-nav__dropdown-link">
2356                          ParaSpa® Paraffin Wax Refill
2357                        </a>
2358                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-2 menu-column"><div class="h5">
2359                      <a href="/collections/parts-and-accessories" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Best-Selling HEPA Filters</a>
2360                    </div><div>
2361                        <a href="/products/totalclean-replacement-360-degree-true-hepa-filter" class="site-nav__dropdown-link">
2362                          AP-T45, AP-T43 & AP-T40
2363                        </a>
2364                      </div><div>
2365                        <a href="/products/totalclean-replacement-hepa-type-filter-for-tower-air-purifiers" class="site-nav__dropdown-link">
2366                          AP-T20, AP-T22
2367                        </a>
2368                      </div><div>
2369                        <a href="/products/totalclean-apt10-replacement-hepa-type-filter" class="site-nav__dropdown-link">
2370                          AP-T15, AP-T12, AP-T10
2371                        </a>
2372                      </div><div>
2373                        <a href="/products/replacement-360-hepa-filter-for-ap-pet35" class="site-nav__dropdown-link">
2374                          AP-PET35
2375                        </a>
2376                      </div><div>
2377                        <a href="/products/totalclean-replacement-360-true-hepa-filter-for-hepa-tower-air-purifiers" class="site-nav__dropdown-link">
2378                          AP-T30
2379                        </a>
2380                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-3"><a href="/collections/air-purifier-filters-accessories">
2381                          <img src="//www.homedics.com/cdn/shop/files/filters.png?v=1758748470&width=500" alt="replacement filters" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2382                          <div class="megamenu__item-text">
2383                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">save on air filters</h3>
2384                          </div>
2385                        </a>                    
2386                      </div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-4"><a href="https://www.homedics.com/collections/air-purifier-filters-accessories">
2387                          <img src="//www.homedics.com/cdn/shop/files/air-purifier-filters-accessories2_631e42e3-58db-4bac-abba-2630d9b316c6.png?v=1781192859&width=500" alt="replacement-filters" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2388                          <div class="megamenu__item-text">
2389                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Air Purifier Filters</h3>
2390                          </div>
2391                        </a>                    
2392                      </div></div>
2393            </div>
2394            <div class = " reg-nav-border appear-animation appear-delay-5">
2395           <div class="page-width registration-nav-drop" style="">
2396                  <a href="//pages/customer-support-instruction-books" class="site-nav__dropdown-link" style="
2397                    
2398                  ">Instruction Books</a>
2399                  <span style=""> | </span>
2400                  <a href="https://registration.homedics.com/c/DS4V/custom" class="site-nav__dropdown-link" target="_blank" style="
2401                      
2402                  ">
2403                                            Product Registration
2404                                          </a>
2405
2406                  </div>
2407          </div>
2408          </div>
2409        </details>
2410      
2411    </li><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown site-nav--is-megamenu">
2412            
2413        <details
2414          data-hover="true"
2415          id="site-nav-item--4"
2416          class="site-nav__details"
2417        >
2418          <summary
2419            data-link="/collections/humidifiers"
2420            aria-expanded="false"
2421            aria-controls="site-nav-item--4"
2422            class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"
2423            
2424          >
2425            Humidifiers <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
2426          </summary>
2427      
2428<div class="site-nav__dropdown megamenu text-left">
2429            <div class="page-width">
2430              <div class="grid grid--center menu-columns-container">
2431                <div class="grid__item medium-up--one-fifth appear-animation appear-delay-1 menu-column"><div class="h5">
2432                      <a href="/collections/humidifiers" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Humidifiers</a>
2433                    </div><div>
2434                        <a href="/collections/cool-mist-humidifiers" class="site-nav__dropdown-link">
2435                          Cool Mist Humidifiers
2436                        </a>
2437                      </div><div>
2438                        <a href="/collections/warm-mist-humidifiers" class="site-nav__dropdown-link">
2439                          Warm Mist Humidifiers
2440                        </a>
2441                      </div><div>
2442                        <a href="/collections/humidifiers-parts-accessories" class="site-nav__dropdown-link">
2443                          Humidifiers Parts & Accessories
2444                        </a>
2445                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-2 menu-column"><div class="h5">
2446                      <a href="/products/totalcomfort-deluxe-large-room-ultrasonic-humidifier" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Decor Humidifiers</a>
2447                    </div><div>
2448                        <a href="/products/totalcomfort-deluxe-large-room-ultrasonic-humidifier" class="site-nav__dropdown-link">
2449                          Decor Series Large Humidifier
2450                        </a>
2451                      </div><div>
2452                        <a href="/products/decor-series-medium-humidifier" class="site-nav__dropdown-link">
2453                          Decor Series Medium Humidifier
2454                        </a>
2455                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-3"><a href="/collections/pet-air-purifier">
2456                          <img src="//www.homedics.com/cdn/shop/files/3.26-march-nav-image-pet-plus-1_6b35d804-a5ae-44fb-9d53-91666b987d9b.jpg?v=1752863274&width=500" alt="humidifiers" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2457                          <div class="megamenu__item-text">
2458                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Shop our pet approved best sellers</h3>
2459                          </div>
2460                        </a>                    
2461                      </div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-4"><a href="/collections/drift-sandtables">
2462                          <img src="//www.homedics.com/cdn/shop/files/EvergreenBrandImage_02.jpg?v=1758747490&width=500" alt="humidifiers" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2463                          <div class="megamenu__item-text">
2464                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Mindfulness made easy</h3>
2465                          </div>
2466                        </a>                    
2467                      </div></div>
2468            </div>
2469            <div class = " reg-nav-border appear-animation appear-delay-5">
2470           <div class="page-width registration-nav-drop" style="">
2471                  <a href="//pages/customer-support-instruction-books" class="site-nav__dropdown-link" style="
2472                    
2473                  ">Instruction Books</a>
2474                  <span style=""> | </span>
2475                  <a href="https://registration.homedics.com/c/DS4V/custom" class="site-nav__dropdown-link" target="_blank" style="
2476                      
2477                  ">
2478                                            Product Registration
2479                                          </a>
2480
2481                  </div>
2482          </div>
2483          </div>
2484        </details>
2485      
2486    </li><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown site-nav--is-megamenu">
2487            
2488        <details
2489          data-hover="true"
2490          id="site-nav-item--5"
2491          class="site-nav__details"
2492        >
2493          <summary
2494            data-link="https://www.homedics.com/collections/sauna"
2495            aria-expanded="false"
2496            aria-controls="site-nav-item--5"
2497            class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"
2498            
2499          >
2500            Sauna <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
2501          </summary>
2502      
2503<div class="site-nav__dropdown megamenu text-left">
2504            <div class="page-width">
2505              <div class="grid grid--center menu-columns-container">
2506                <div class="grid__item medium-up--one-fifth appear-animation appear-delay-1 menu-column"><div class="h5">
2507                      <a href="/collections/sauna" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Saunas</a>
2508                    </div><div>
2509                        <a href="/products/homedics-premium-steam-sauna" class="site-nav__dropdown-link">
2510                          Premium Steam Sauna
2511                        </a>
2512                      </div><div>
2513                        <a href="/products/homedics%C2%AE-portable-steam-sauna" class="site-nav__dropdown-link">
2514                          Portable Steam Sauna
2515                        </a>
2516                      </div><div>
2517                        <a href="/products/premium-steam-sauna-dual-red-light-wands-add-on" class="site-nav__dropdown-link">
2518                          Red Light Wands
2519                        </a>
2520                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-2"><a href="/products/homedics-premium-steam-sauna">
2521                          <img src="//www.homedics.com/cdn/shop/files/SPE-SN400-CE_PDP02_EN_808a990c-8c62-4a44-932a-24df0c1eb94c.webp?v=1774552473&width=500" alt="sauna" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2522                          <div class="megamenu__item-text">
2523                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Premium Steam Sauna</h3>
2524                          </div>
2525                        </a>                    
2526                      </div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-3"><a href="/products/homedics%C2%AE-portable-steam-sauna">
2527                          <img src="//www.homedics.com/cdn/shop/files/Mobile-A_v2.png?v=1781010306&width=500" alt="sauna-2" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2528                          <div class="megamenu__item-text">
2529                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Portable Steam Sauna</h3>
2530                          </div>
2531                        </a>                    
2532                      </div></div>
2533            </div>
2534            <div class = " reg-nav-border appear-animation appear-delay-5">
2535           <div class="page-width registration-nav-drop" style="">
2536                  <a href="//pages/customer-support-instruction-books" class="site-nav__dropdown-link" style="
2537                    
2538                  ">Instruction Books</a>
2539                  <span style=""> | </span>
2540                  <a href="https://registration.homedics.com/c/DS4V/custom" class="site-nav__dropdown-link" target="_blank" style="
2541                      
2542                  ">
2543                                            Product Registration
2544                                          </a>
2545
2546                  </div>
2547          </div>
2548          </div>
2549        </details>
2550      
2551    </li><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown site-nav--is-megamenu">
2552            
2553        <details
2554          data-hover="true"
2555          id="site-nav-item--6"
2556          class="site-nav__details"
2557        >
2558          <summary
2559            data-link="/pages/serenescent"
2560            aria-expanded="false"
2561            aria-controls="site-nav-item--6"
2562            class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"
2563            
2564          >
2565            SereneScent <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
2566          </summary>
2567      
2568<div class="site-nav__dropdown megamenu text-left">
2569            <div class="page-width">
2570              <div class="grid grid--center menu-columns-container">
2571                <div class="grid__item medium-up--one-fifth appear-animation appear-delay-1 menu-column"><div class="h5">
2572                      <a href="/pages/serenescent" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">SereneScent</a>
2573                    </div><div>
2574                        <a href="/collections/serenescent-limited-edition-series" class="site-nav__dropdown-link">
2575                          Limited Edition
2576                        </a>
2577                      </div><div>
2578                        <a href="/collections/serenescent-wellness-series" class="site-nav__dropdown-link">
2579                          Wellness Series
2580                        </a>
2581                      </div><div>
2582                        <a href="/collections/serenescent-best-sellers" class="site-nav__dropdown-link">
2583                          Best Sellers
2584                        </a>
2585                      </div><div>
2586                        <a href="/collections/premium-natural-scents" class="site-nav__dropdown-link">
2587                          Shop All Scents
2588                        </a>
2589                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-2 menu-column"><div class="h5">
2590                      <a href="/collections/waterless-diffusers" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Diffusers</a>
2591                    </div><div>
2592                        <a href="/collections/waterless-diffusers" class="site-nav__dropdown-link">
2593                          Waterless Diffusers
2594                        </a>
2595                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-3 menu-column"><div class="h5">
2596                      <a href="#" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Build Your Own Bundles</a>
2597                    </div><div>
2598                        <a href="https://www.homedics.com/pages/bundle-builder-120ml" class="site-nav__dropdown-link">
2599                          120ml SereneScent
2600                        </a>
2601                      </div><div>
2602                        <a href="https://www.homedics.com/pages/bundle-builder-15ml" class="site-nav__dropdown-link">
2603                          15ml SereneScent
2604                        </a>
2605                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-4"><a href="/collections/serenescent-best-sellers">
2606                          <img src="//www.homedics.com/cdn/shop/files/Best_seller.png?v=1769000677&width=500" alt="serenescent" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2607                          <div class="megamenu__item-text">
2608                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">
2608Shop Best Sellers</h3>
2609                          </div>
2610                        </a>                    
2611                      </div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-5"><a href="/collections/serenescent-wellness-series">
2612                          <img src="//www.homedics.com/cdn/shop/files/Wellness_series.png?v=1769000724&width=500" alt="serenescent" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2613                          <div class="megamenu__item-text">
2614                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Shop Wellness Series</h3>
2615                          </div>
2616                        </a>                    
2617                      </div></div>
2618            </div>
2619            <div class = " reg-nav-border appear-animation appear-delay-5">
2620           <div class="page-width registration-nav-drop" style="">
2621                  <a href="//pages/customer-support-instruction-books" class="site-nav__dropdown-link" style="
2622                    
2623                  ">Instruction Books</a>
2624                  <span style=""> | </span>
2625                  <a href="https://registration.homedics.com/c/DS4V/custom" class="site-nav__dropdown-link" target="_blank" style="
2626                      
2627                  ">
2628                                            Product Registration
2629                                          </a>
2630
2631                  </div>
2632          </div>
2633          </div>
2634        </details>
2635      
2636    </li><li class="site-nav__item site-nav__expanded-item">
2637      
2638        <a
2639          href="/pages/drift-lp"
2640          class="site-nav__link site-nav__link--underline"
2641          
2642        >
2643          drift
2644        </a>
2645      
2646
2647    </li><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown site-nav--is-megamenu">
2648            
2649        <details
2650          data-hover="true"
2651          id="site-nav-item--8"
2652          class="site-nav__details"
2653        >
2654          <summary
2655            data-link="/collections/health-monitors"
2656            aria-expanded="false"
2657            aria-controls="site-nav-item--8"
2658            class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"
2659            
2660          >
2661            Health Monitors <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
2662          </summary>
2663      
2664<div class="site-nav__dropdown megamenu text-left">
2665            <div class="page-width">
2666              <div class="grid grid--center menu-columns-container">
2667                <div class="grid__item medium-up--one-fifth appear-animation appear-delay-1 menu-column"><div class="h5">
2668                      <a href="/collections/health-monitors" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Health Monitors</a>
2669                    </div><div>
2670                        <a href="/collections/health-diagnostics" class="site-nav__dropdown-link">
2671                          Blood Pressure Monitors
2672                        </a>
2673                      </div><div>
2674                        <a href="/collections/personal-scales" class="site-nav__dropdown-link">
2675                          Personal Scales
2676                        </a>
2677                      </div><div>
2678                        <a href="/collections/thermometers" class="site-nav__dropdown-link">
2679                          Thermometers
2680                        </a>
2681                      </div><div>
2682                        <a href="/collections/pulse-oximeters" class="site-nav__dropdown-link">
2683                          Pulse Oximeters
2684                        </a>
2685                      </div><div>
2686                        <a href="/collections/diagnostic-parts-accessories" class="site-nav__dropdown-link">
2687                          Health Monitors Parts & Accessories
2688                        </a>
2689                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-2"><a href="/collections/health-diagnostics">
2690                          <img src="//www.homedics.com/cdn/shop/files/BPA-100AHBT-WT_IU3_1x1_1d33e902-8d56-4afc-abe0-487c32891191.jpg?v=1758748855&width=500" alt="health monitors" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2691                          <div class="megamenu__item-text">
2692                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Peace of mind, one reading at a time</h3>
2693                          </div>
2694                        </a>                    
2695                      </div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-3"><a href="/collections/personal-scales">
2696                          <img src="//www.homedics.com/cdn/shop/files/Health_Monitors_copy.jpg?v=1760673816&width=500" alt="health monitors" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2697                          <div class="megamenu__item-text">
2698                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Scale smarter, live better</h3>
2699                          </div>
2700                        </a>                    
2701                      </div></div>
2702            </div>
2703            <div class = " reg-nav-border appear-animation appear-delay-5">
2704           <div class="page-width registration-nav-drop" style="">
2705                  <a href="//pages/customer-support-instruction-books" class="site-nav__dropdown-link" style="
2706                    
2707                  ">Instruction Books</a>
2708                  <span style=""> | </span>
2709                  <a href="https://registration.homedics.com/c/DS4V/custom" class="site-nav__dropdown-link" target="_blank" style="
2710                      
2711                  ">
2712                                            Product Registration
2713                                          </a>
2714
2715                  </div>
2716          </div>
2717          </div>
2718        </details>
2719      
2720    </li><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown site-nav--is-megamenu">
2721            
2722        <details
2723          data-hover="true"
2724          id="site-nav-item--9"
2725          class="site-nav__details"
2726        >
2727          <summary
2728            data-link="/collections/sauna"
2729            aria-expanded="false"
2730            aria-controls="site-nav-item--9"
2731            class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"
2732            
2733          >
2734            Spa <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
2735          </summary>
2736      
2737<div class="site-nav__dropdown megamenu text-left">
2738            <div class="page-width">
2739              <div class="grid grid--center menu-columns-container">
2740                <div class="grid__item medium-up--one-fifth appear-animation appear-delay-1 menu-column"><div class="h5">
2741                      <a href="/collections/sauna" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Sauna</a>
2742                    </div><div>
2743                        <a href="/collections/sauna" class="site-nav__dropdown-link">
2744                          Sauna
2745                        </a>
2746                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-2 menu-column"><div class="h5">
2747                      <a href="/collections/spa" class="site-nav__dropdown-link site-nav__dropdown-link--top-level">Spa</a>
2748                    </div><div>
2749                        <a href="/collections/foot-baths" class="site-nav__dropdown-link">
2750                          Footbaths
2751                        </a>
2752                      </div><div>
2753                        <a href="/collections/paraffin-baths" class="site-nav__dropdown-link">
2754                          Paraffin Baths
2755                        </a>
2756                      </div><div>
2757                        <a href="/collections/fountains" class="site-nav__dropdown-link">
2758                          Fountains
2759                        </a>
2760                      </div><div>
2761                        <a href="/collections/sound-machines" class="site-nav__dropdown-link">
2762                          Sound Machines
2763                        </a>
2764                      </div></div><div class="grid__item medium-up--one-fifth appear-animation appear-delay-3"><a href="/products/homedics%C2%AE-portable-steam-sauna">
2765                          <img src="//www.homedics.com/cdn/shop/files/Screenshot_2026-05-29_at_10.51.18_PM.png?v=1780066304&width=500" alt="spa" height="100%" width="auto" style="aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 10px;">  
2766                          <div class="megamenu__item-text">
2767                            <h3 style="letter-spacing: 0.05em; line-height: 1.2; font-size: 14px; text-transform: capitalize; font-weight: 600; margin-bottom: 0; margin-top: 10px; width: 100%; text-align: center;" class="h5">Detox at Home</h3>
2768                          </div>
2769                        </a>                    
2770                      </div></div>
2771            </div>
2772            <div class = " reg-nav-border appear-animation appear-delay-5">
2773           <div class="page-width registration-nav-drop" style="">
2774                  <a href="//pages/customer-support-instruction-books" class="site-nav__dropdown-link" style="
2775                    
2776                  ">Instruction Books</a>
2777                  <span style=""> | </span>
2778                  <a href="https://registration.homedics.com/c/DS4V/custom" class="site-nav__dropdown-link" target="_blank" style="
2779                      
2780                  ">
2781                                            Product Registration
2782                                          </a>
2783
2784                  </div>
2785          </div>
2786          </div>
2787        </details>
2788      
2789    </li><li class="site-nav__item site-nav__expanded-item">
2790      
2791        <a
2792          href="/collections/clearance"
2793          class="site-nav__link site-nav__link--underline"
2794          
2795        >
2796          Sale
2797        </a>
2798      
2799
2800    </li></ul>
2801</div></div>
2802        <div class="site-header__search-container">
2803          <div class="site-header__search">
2804              <predictive-search data-context="header" data-enabled="true" data-dark="false">
2805  <div class="predictive__screen" data-screen></div>
2806  <div class="header-item header-item--logo"><style data-shopify>.header-item--logo,
2807    .header-layout--left-center .header-item--logo,
2808    .header-layout--left-center .header-item--icons {
2809      -webkit-box-flex: 0 1 130px;
2810      -ms-flex: 0 1 130px;
2811      flex: 0 1 130px;
2812    }
2813
2814    @media only screen and (min-width: 769px) {
2815      .header-item--logo,
2816      .header-layout--left-center .header-item--logo,
2817      .header-layout--left-center .header-item--icons {
2818        -webkit-box-flex: 0 0 110px;
2819        -ms-flex: 0 0 110px;
2820        flex: 0 0 110px;
2821      }
2822    }
2823
2824    .site-header__logo a {
2825      width: 130px;
2826    }
2827    .is-light .site-header__logo .logo--inverted {
2828      width: 130px;
2829    }
2830    @media only screen and (min-width: 769px) {
2831      .site-header__logo a {
2832        width: 110px;
2833      }
2834
2835      .is-light .site-header__logo .logo--inverted {
2836        width: 110px;
2837      }
2838    }</style><div class="h1 site-header__logo" itemscope itemtype="http://schema.org/Organization" >
2839      <a
2840        href="/"
2841        itemprop="url"
2842        class="site-header__logo-link"
2843        style="padding-top: 23.636363636363637%">
2844
2845        
2846
2847
2848
2849
2850
2851<image-element data-aos="image-fade-in" data-aos-offset="150">
2852
2853
2854  
2855<img src="//www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=220" alt="Homedics" srcset="//www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=110 110w, //www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=220 220w" width="110" height="26.0" loading="eager" class="small--hide image-element" sizes="110px" itemprop="logo">
2856  
2857
2858
2859</image-element>
2860
2861
2862
2863
2864<image-element data-aos="image-fade-in" data-aos-offset="150">
2865
2866
2867  
2868<img src="//www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=260" alt="Homedics" srcset="//www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=130 130w, //www.homedics.com/cdn/shop/files/homedics.svg?v=1758739772&amp;width=260 260w" width="130" height="30.727272727272727" loading="eager" class="medium-up--hide image-element" sizes="130px">
2869  
2870
2871
2872</image-element>
2873</a></div></div>
2874  <form action="/search" method="get" role="search">
2875    <label for="Search" class="hidden-label">Search</label>
2876    <div class="search__input-wrap">
2877      <input
2878        class="search__input"
2879        id="Search"
2880        type="search"
2881        name="q"
2882        value=""
2883        role="combobox"
2884        aria-expanded="false"
2885        aria-owns="predictive-search-results"
2886        aria-controls="predictive-search-results"
2887        aria-haspopup="listbox"
2888        aria-autocomplete="list"
2889        autocorrect="off"
2890        autocomplete="off"
2891        autocapitalize="off"
2892        spellcheck="false"
2893        placeholder="Search"
2894        tabindex="0"
2895      >
2896      <input name="options[prefix]" type="hidden" value="last">
2897      <button class="btn--search" type="submit">
2898        <svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
2899          <path d="M8.2423 0.648682C10.2484 0.648724 12.1749 1.43752 13.5968 2.84399C15.0188 4.25085 15.8199 6.16122 15.8204 8.15552V8.15649C15.8204 9.64354 15.3749 11.0966 14.5411 12.3313C14.3841 12.5638 14.2142 12.7861 14.0333 12.9983L18.5499 17.0295L17.2179 18.5217L12.5353 14.342C12.0998 14.6384 11.6325 14.891 11.1398 15.093C9.75675 15.6598 8.23523 15.8085 6.76769 15.5198C5.30013 15.231 3.95006 14.5179 2.88976 13.469C1.82937 12.4199 1.10593 11.0815 0.812613 9.62329C0.519372 8.16509 0.669665 6.65353 1.24425 5.28052C1.81884 3.90762 2.79165 2.73515 4.03722 1.91138C5.2826 1.08793 6.74643 0.649005 8.2423 0.648682ZM8.2423 2.64868C7.13707 2.64894 6.05697 2.97376 5.13976 3.58032C4.22281 4.18686 3.50956 5.04799 3.08898 6.05298C2.66856 7.05776 2.55831 8.16289 2.77257 9.22876C2.98702 10.2949 3.51696 11.2763 4.29601 12.0471C5.07525 12.818 6.06974 13.3446 7.15343 13.5579C8.23723 13.7711 9.36071 13.6605 10.381 13.2424C11.401 12.8243 12.2714 12.1174 12.8829 11.2122C13.4943 10.3068 13.8204 9.24323 13.8204 8.15649C13.8202 6.69918 13.2345 5.29955 12.1896 4.26587C11.2097 3.29668 9.90092 2.7234 8.51964 2.65552L8.2423 2.64868Z" fill="#231F20"/>
2900        </svg>
2901        
2902        <span class="icon__fallback-text">Search</span>
2903      </button>
2904    </div>
2905
2906    <button class="btn--close-search">
2907      <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg>
2908    </button>
2909    <div id="predictive-search" class="search__results" tabindex="-1"></div>
2910  </form>
2911</predictive-search>
2912
2913          </div>
2914        </div>
2915      </header>
2916    </div>
2917  </div>
2918</div>
2919
2920
2921
2922<script type="application/ld+json">
2923    {
2924      "@context": "https://schema.org",
2925      "@type": "OnlineStore",
2926      "@id": "https:\/\/www.homedics.com#organization",
2927      "name": "Homedics",
2928      "url": "https:\/\/www.homedics.com"
2929,"description": "The leading global manufacturer of health and wellness products that help relax your body, de-stress your mind and promote your well-being."
2930,"logo": {
2931        "@type": "ImageObject",
2932        "url": "https:\/\/www.homedics.com\/cdn\/shop\/files\/Homedics_Header_Logo_8e556455-7905-4174-ab45-41c4603d3b48.svg?v=1760563378\u0026width=500"
2933      },"brand": {
2934        "@id": "https:\/\/www.homedics.com#brand"
2935      }
2936      ,"sameAs": [
2937"https:\/\/www.facebook.com\/homedics\/",
2938"https:\/\/www.instagram.com\/homedics\/",
2939"https:\/\/www.youtube.com\/user\/HoMedicsTV?themeRefresh=1",
2940"https:\/\/www.tiktok.com\/@homedics"
2941  ]
2942      ,"contactPoint": {
2943        "@type": "ContactPoint",
2944        "contactType": "customer service"
2945        ,
2946        "email": "[email protected]"
2947        ,
2948        "telephone": "1-866-843-3905",
2949        "availableLanguage": ["English"]
2950      }
2951      ,"address": {
2952        "@type": "PostalAddress"
2953        
2954        
2955        
2956        
2957        ,
2958        "addressCountry": "US"
2959      }
2960    }
2961</script>
2961
2962
2963
2964<script type="application/ld+json">
2965  {
2966    "@context": "https://schema.org",
2967    "@type": "Brand",
2968    "@id": "https:\/\/www.homedics.com#brand",
2969    "name": "Homedics"
2970  }
2971</script>
2971
2972
2973
2974
2975
2976
2977
2978</div>
2979<!-- END sections: header-group --><!-- BEGIN sections: popup-group -->
2980
2981<!-- END sections: popup-group --><main class="main-content" id="MainContent">
2982        <link href="//www.homedics.com/cdn/shop/t/138/assets/account.css?v=18218027381848824581787623451" rel="stylesheet" type="text/css" media="all" />
2983
2984<div class="account-page page-width login-page">
2985  <div class="header-styled">
2986    <h2>Welcome!</h2>
2987  </div>
2988  <div class="account-page-image">
2989    <img src="https://cdn.shopify.com/s/files/1/0703/4116/5241/files/login.png?v=1751654811" alt="Account Page Image" width="100%" height="100%">
2990  </div>
2991  <div class="page-width page-width--tiny page-content account-page-content">
2992    <div class="account-page-content-inner">
2993      <header class="section-header">
2994        <h1 class="section-header__title">Login</h1>
2995        <p class="section-header__description">Sign in to your account to access your personalized shopping experience and track your orders.</p>
2996      </header>
2997    
2998      <div class="note note--success hide" id="ResetSuccess">
2999        We&#39;ve sent you an email with a link to update your password.
3000      </div>
3001    
3002      <div id="CustomerLoginForm" class="form-vertical"><form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="✓" />
3003    
3004          <label for="CustomerEmail">Email</label>
3005          <input type="email" name="customer[email]" id="CustomerEmail" class="input-full" autocorrect="off" autocapitalize="off" autofocus placeholder="Enter email address"><div class="grid">
3006              <div class="grid__item one-half">
3007                <label for="CustomerPassword">Password</label>
3008              </div>
3009              <div class="grid__item one-half text-right">
3010                <small class="label-info">
3011                  <a href="#recover" id="RecoverPassword">
3012                    Forgot password?
3013                  </a>
3014                </small>
3015              </div>
3016            </div>
3017            <input type="password" value="" name="customer[password]" id="CustomerPassword" class="input-full" placeholder="Enter password"><p>
3018            <button type="submit" class="btn">
3019              Sign In
3020            </button>
3021          </p><input type="hidden" name="return_url" value="/account" /></form></div>
3022    
3023      <div id="RecoverPasswordForm" class="hide">
3024        <div class="form-vertical">
3025          <h2>Reset your password</h2>
3026          <p>We will send you an email to reset your password.</p><form method="post" action="/account/recover" accept-charset="UTF-8"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="✓" />
3027<label for="RecoverEmail">Email</label>
3028            <input type="email" value="" name="email" id="RecoverEmail" class="input-full" autocorrect="off" autocapitalize="off">
3029    
3030            <p class="account-page-recover-password-buttons">
3031              <button type="submit" class="btn">
3032                Submit
3033              </button>
3034              <button type="button" id="HideRecoverPasswordLink" class="btn btn--secondary">Cancel</button>
3035            </p></form></div>
3036    
3037      </div></div>
3038
3039    <div class="account-page-no-account">
3040      <h2>New customer?</h2>
3041      <p>Create an account with us and you'll be able to:</p>
3042      <ul>
3043        <li>Check out faster</li>
3044        <li>Save multiple shipping addresses</li>
3045        <li>Access your order history</li>
3046        <li>Track new orders</li>
3047        <li>Save items to your Wish List</li>
3048      </ul>
3049      <a class="btn" href="/account/register">Create Account</a> 
3050    </div>
3051  </div>
3052</div>
3053
3054
3055      </main><!-- BEGIN sections: footer-group -->
3056<div id="shopify-section-sections--22941040935097__footer" class="shopify-section shopify-section-group-footer-group">
3057<footer class="site-footer" data-section-id="sections--22941040935097__footer" data-section-type="footer-section">
3058  <div class="hp-policies">
3059  <ul>
3060    <li
3061      class="satisfaction"
3062      style="
3063        letter-spacing: 1%;
3064        text-transform: capitalize;
3065      "
3066    >
3067      <img
3068        color="red"
3069        loading="lazy"
3070        src="/cdn/shop/files/shield.svg"
3071        alt="Icon - 30-day guarantee"
3072      />
3073      <div class="hp-policies-content">
3074        <p>30-day</p>
3075        <p>guarantee</p>
3076      </div>
3077    </li>
3078    
3079    <li
3080      class="free-shipping"
3081      style="
3082        letter-spacing: 1%;
3083        text-transform: capitalize;
3084      "
3085    >
3086      <img
3087        loading="lazy"
3088        src="/cdn/shop/files/truck.svg"
3089        alt="Icon - Fast, Free shipping"
3090      />
3091      <div class="hp-policies-content">
3092        <p>free shipping</p>
3093        <p>on $99</p>
3094      </div>
3095    </li>
3096    <li
3097      class="subscribe"
3098      style="
3099        letter-spacing: 1%;
3100        text-transform: capitalize;
3101      "
3102    >
3103      <img
3104        loading="lazy"
3105        src="/cdn/shop/files/sync.svg"
3106        alt="Icon - subscribe &amp; save 15%"
3107      />
3108      <div class="hp-policies-content">
3109        <p>subscribe</p>
3110        <p>&amp; save 25%</p>
3111      </div>
3112    </li>
3113  </ul>
3114</div>
3115  <div class="page-width">
3116    <div class="footer-item--logo"><img src="//www.homedics.com/cdn/shop/files/homedics-logo-footer.png?v=1763002982&width=400" alt=""></div>
3117    <div class="footer__grid">
3117<div class="footer__column footer__column--logo-support"><div  class="footer__item--footer-1" data-type="menu"><h3 class="h4 footer__title small--hide">
3118      Support
3119    </h3>
3120    <button type="button" class="h4 footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-footer-1">
3121      Support
3122<span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
3123  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
3124</span>
3125</button><div
3126    
3127      id="Footer-footer-1" class="collapsible-content collapsible-content--small"
3128    >
3129    <div class="collapsible-content__inner">
3130      <div class="footer__collapsible">
3131        <ul class="no-bullets site-footer__linklist"><li><a href="/pages/customer-support-contact-us">Contact Us</a></li><li><a href="/pages/customer-support">Support Center</a></li><li><a href="/pages/customer-support-shipping-and-delivery">Shipping Policy</a></li><li><a href="/pages/customer-support-returns">Return Policy</a></li><li><a href="/pages/customer-support-recalls">Product Recalls</a></li><li><a href="/pages/customer-support-instruction-books">Instruction Booklets</a></li><li><a href="/pages/offers">Terms and Conditions</a></li><li><a href="/pages/footer-support-pre-order-terms">Pre-Order Terms</a></li><li><a href="https://registration.homedics.com/c/DS4V/custom">Product Registrations</a></li><li><a href="/collections/discontinued-products">Discontinued Products</a></li></ul>
3132      </div>
3133    </div>
3134  </div></div></div><div class="footer__column footer__column--about"><div  class="footer__item--menu_8xzJK8" data-type="menu"><h3 class="h4 footer__title small--hide">
3135      About Us
3136    </h3>
3137    <button type="button" class="h4 footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-menu_8xzJK8">
3138      About Us
3139<span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
3140  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
3141</span>
3142</button><div
3143    
3144      id="Footer-menu_8xzJK8" class="collapsible-content collapsible-content--small"
3145    >
3146    <div class="collapsible-content__inner">
3147      <div class="footer__collapsible">
3148        <ul class="no-bullets site-footer__linklist"><li><a href="/pages/about-us">Our Story</a></li><li><a href="https://blog.homedics.com/">Blog</a></li><li><a href="/pages/sustainability">Sustainability</a></li><li><a href="/pages/policies">Social Policies</a></li><li><a href="/pages/customer-support-accessibility">Web Accessibility</a></li><li><a href="http://app.impact.com/campaign-campaign-info-v2/Homedics.brand">Affiliates</a></li><li><a href="/pages/customer-support-finding-a-retailer">Partners</a></li><li><a href="/pages/about-us-careers">Careers</a></li></ul>
3149      </div>
3150    </div>
3151  </div></div></div><div class="footer__column footer__column--brands"><div  class="footer__item--menu_HGUMky" data-type="menu"><h3 class="h4 footer__title small--hide">
3152      Our Brands
3153    </h3>
3154    <button type="button" class="h4 footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-menu_HGUMky">
3155      Our Brands
3156<span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
3157  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
3158</span>
3159</button><div
3160    
3161      id="Footer-menu_HGUMky" class="collapsible-content collapsible-content--small"
3162    >
3163    <div class="collapsible-content__inner">
3164      <div class="footer__collapsible">
3165        <ul class="no-bullets site-footer__linklist"><li><a href="https://www.thehouseofmarley.com/">House of Marley</a></li><li><a href="/collections/ellia">Ellia</a></li><li><a href="https://www.jamaudio.com/">Jam</a></li><li><a href="https://www.campsnapphoto.com/">CampSnap</a></li><li><a href="https://motordayz.com/">MotorDayz</a></li><li><a href="https://www.7lsbeauty.com/">7LS</a></li></ul>
3166      </div>
3167    </div>
3168  </div></div></div>
3168<div class="footer__column footer__column--newsletter-social"><div  class="footer__item--footer2" data-type="newsletter"><div class="footer__item-padding footer__newsletter-container"><h2 class="h4 footer__title">Get 15% Off your next purchase when you sign up for email!</h2><div
3169    
3170      id="Footer-footer2" 
3171    >
3172    <div class="collapsible-content__inner">
3173      <div class="footer__collapsible"><div class="footer__newsletter-text"></div>
3174          <div class = "klaviyo-footer-signup">
3175            <div class = "klaviyo-form-VpfaPK"></div>
3176          </div>
3177        
3178
3179      </div>
3180    </div>
3181  </div>
3182</div>
3183</div><div class="footer__social-section">
3184          <h2 class="h4 footer__title">Follow Us</h2>
3185          <p class="footer__social-description">Check us out on social media for the latest updates!</p><ul class="no-bullets social-icons footer__social"><li>
3186      <a target="_blank" rel="noopener" href="https://www.facebook.com/homedics/" title="Homedics on Facebook">
3187        <svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
3188        <path d="M17.5069 1.46995e-06C13.1019 -0.001803 8.85813 1.65778 5.62292 4.64745C2.38771 7.63713 0.399017 11.7369 0.05384 16.1285C-0.291337 20.52 1.0324 24.8802 3.76079 28.3386C6.48918 31.797 10.4215 34.0993 14.7728 34.7857V22.5564H10.3297V17.4984H14.7728V13.643C14.7728 9.25752 17.3852 6.83509 21.3822 6.83509C22.6944 6.85339 24.0036 6.96775 25.2991 7.17728V11.4827H23.0924C20.9195 11.4827 20.2411 12.8316 20.2411 14.2156V17.4984H25.0933L24.3169 22.5564H20.2398V34.7857C24.5884 34.0964 28.5174 31.7933 31.2432 28.3356C33.9689 24.8779 35.2912 20.5198 34.9462 16.1304C34.6011 11.741 32.6142 7.64302 29.3817 4.65367C26.1491 1.66433 21.9085 0.00334519 17.5056 0.0019885" fill="#535353"/>
3189        </svg>
3190        <span class="icon__fallback-text">Facebook</span>
3191      </a>
3192    </li><li>
3193      <a target="_blank" rel="noopener" href="https://www.instagram.com/homedics/" title="Homedics on Instagram">
3194        <svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
3195        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.5 0C27.165 0 35 7.83502 35 17.5C35 27.165 27.165 35 17.5 35C7.83502 35 0 27.165 0 17.5C0 7.83502 7.83502 0 17.5 0ZM19.0098 6.25142L16.3058 6.25072C14.3124 6.25456 13.8838 6.27094 12.861 6.31726C11.9278 6.33605 11.0045 6.51293 10.1304 6.84039C8.61919 7.42457 7.42457 8.61919 6.84039 10.1304C6.51293 11.0045 6.33605 11.9278 6.31726 12.861C6.27041 13.8832 6.2544 14.3127 6.25069 16.3059L6.25072 18.6923C6.25456 20.6854 6.27094 21.1145 6.31726 22.1373C6.33605 23.0705 6.51293 23.9938 6.84039 24.8679C7.42457 26.3791 8.61919 27.5737 10.1304 28.1579C11.0045 28.4853 11.9278 28.6622 12.861 28.681C13.8755 28.7275 14.3062 28.7436 16.261 28.7475L18.7372 28.7475C20.692 28.7435 21.1222 28.727 22.1373 28.681C23.0705 28.6622 23.9938 28.4853 24.8679 28.1579C26.3791 27.5737 27.5737 26.3791 28.1579 24.8679C28.4853 23.9938 28.6622 23.0705 28.681 22.1373C28.7275 21.1228 28.7436 20.6921 28.7475 18.7373L28.7475 16.261C28.7435 14.3063 28.727 13.876 28.681 12.861C28.6622 11.9278 28.4853 11.0045 28.1579 10.1304C27.5737 8.61919 26.3791 7.42457 24.8679 6.84039C23.9936 6.51286 23.0701 6.33598 22.1366 6.31726C21.1144 6.27041 20.685 6.2544 18.6917 6.25069L19.0098 6.25142ZM18.6705 8.27747C20.6259 8.28085 21.0336 8.29548 22.0441 8.33914C22.7574 8.34771 23.464 8.47878 24.1329 8.72664C25.114 9.10512 25.8894 9.88056 26.2679 10.8616C26.5158 11.5305 26.6468 12.2371 26.6554 12.9504C26.7017 13.962 26.7145 14.369 26.7172 16.3245L26.7174 18.4047C26.7149 20.5902 26.7009 20.9878 26.6554 22.0423C26.6468 22.7556 26.5157 23.4621 26.2679 24.131C25.8894 25.1121 25.114 25.8875 24.1329 26.266C23.464 26.5139 22.7574 26.6449 22.0441 26.6535C21.0765 26.6978 20.6621 26.7114 18.9168 26.7149L18.1238 26.7159L16.3265 26.7152C14.371 26.7118 13.9629 26.6972 12.9529 26.6535C12.2396 26.645 11.533 26.5139 10.8641 26.266C9.88306 25.8875 9.10762 25.1121 8.72914 24.131C8.48128 23.4621 8.35021 22.7556 8.34164 22.0423C8.29532 21.0307 8.28256 20.6237 8.2798 18.6681L8.27997 16.3239C8.28335 14.3682 8.29798 13.9609 8.34164 12.9504C8.35021 12.2371 8.48128 11.5306 8.72914 10.8616C9.10762 9.88056 9.88306 9.10512 10.8641 8.72664C11.533 8.47877 12.2396 8.3477 12.9529 8.33914C13.9205 8.29483 14.3349 8.28123 16.0806 8.27772L18.6705 8.27747ZM17.4985 12.796C14.9007 12.796 12.7948 14.902 12.7948 17.4998C12.7948 20.0976 14.9007 22.2035 17.4985 22.2035C20.0963 22.2035 22.2023 20.0976 22.2023 17.4998C22.2023 14.902 20.0963 12.796 17.4985 12.796ZM15.3394 15.3402C16.2129 14.4669 17.5265 14.2058 18.6676 14.6786C19.8087 15.1515 20.5525 16.2652 20.5523 17.5004C20.5519 19.1867 19.1848 20.5535 17.4985 20.5535C16.2633 20.5535 15.1498 19.8094 14.6772 18.6682C14.2045 17.5271 14.4659 16.2135 15.3394 15.3402ZM23.3429 10.0404C22.4513 10.0404 21.7285 10.7632 21.7285 11.6548C21.7285 12.5464 22.4513 13.2691 23.3429 13.2691C24.2345 13.2691 24.9573 12.5464 24.9573 11.6548C24.9573 10.7632 24.2345 10.0404 23.3429 10.0404Z" fill="#535353"/>
3196        </svg>
3197        <span class="icon__fallback-text">Instagram</span>
3198      </a>
3199    </li><li>
3200      <a target="_blank" rel="noopener" href="https://www.tiktok.com/@homedics" title="Homedics on TikTok">
3201        <svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
3202        <path d="M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758461 14.0007 -0.338977 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3433 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C35 12.8587 33.1563 8.40752 29.8744 5.12563C26.5925 1.84375 22.1413 0 17.5 0ZM26.0044 15.7472C24.3326 15.7513 22.7018 15.2298 21.3425 14.2566V21.0433C21.3424 22.3007 20.9584 23.5282 20.2418 24.5615C19.5253 25.5948 18.5103 26.3847 17.3327 26.8255C16.155 27.2664 14.8709 27.3371 13.6519 27.0283C12.433 26.7196 11.3373 26.046 10.5116 25.0977C9.6858 24.1494 9.16926 22.9716 9.03102 21.7217C8.89278 20.4719 9.13944 19.2097 9.738 18.1038C10.3366 16.998 11.2585 16.1012 12.3805 15.5335C13.5025 14.9659 14.7711 14.7543 16.0166 14.9271V18.3406C15.4466 18.1618 14.8347 18.1676 14.2682 18.3573C13.7017 18.5469 13.2096 18.9108 12.8622 19.3968C12.5148 19.8828 12.3298 20.4661 12.3337 21.0635C12.3376 21.6609 12.5302 22.2418 12.8839 22.7232C13.2377 23.2047 13.7345 23.562 14.3034 23.7443C14.8723 23.9265 15.4843 23.9243 16.0519 23.738C16.6195 23.5517 17.1138 23.1908 17.4641 22.7069C17.8144 22.2229 18.0028 21.6407 18.0024 21.0433V7.77498H21.3451C21.3422 8.05743 21.3657 8.33954 21.4153 8.61762C21.6223 9.6857 22.1929 10.6491 23.03 11.344C23.8671 12.0388 24.9191 12.4222 26.0071 12.429L26.0044 15.7472Z" fill="#535353"/>
3203        </svg>
3204        <span class="icon__fallback-text">TikTok</span>
3205      </a>
3206    </li><li>
3207      <a target="_blank" rel="noopener" href="https://www.youtube.com/user/HoMedicsTV?themeRefresh=1" title="Homedics on YouTube">
3208        <svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
3209        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.5 0C27.165 0 35 7.83502 35 17.5C35 27.165 27.165 35 17.5 35C7.83502 35 0 27.165 0 17.5C0 7.83502 7.83502 0 17.5 0ZM17.9094 9.37546L17.1456 9.37547C12.3513 9.38718 9.19875 9.61562 9.19875 9.61562C8.29883 9.61911 7.43773 9.98259 6.8075 10.625C6.25509 11.2955 5.92542 12.1215 5.86438 12.9881C5.70755 14.2663 5.62761 15.5528 5.625 16.8406V18.6469C5.62758 19.9349 5.70752 21.2216 5.86438 22.5C5.92907 23.3665 6.25828 24.1923 6.8075 24.8656C7.71063 25.8088 8.90625 25.7819 9.4375 25.875C9.4375 25.875 11.3369 26.0594 17.53 26.11C22.5381 26.11 25.8587 25.86 25.8587 25.86C26.7561 25.8566 27.6157 25.4985 28.25 24.8638C28.7968 24.1902 29.124 23.3652 29.1875 22.5C29.3462 21.2223 29.428 19.9362 29.4325 18.6487V16.8419C29.4299 15.5541 29.3499 14.2676 29.1931 12.9894C29.1323 12.1223 28.8027 11.2958 28.25 10.625C27.6194 9.98152 26.7572 9.61753 25.8563 9.61438C25.8563 9.61438 22.5356 9.375 17.5275 9.375L17.9094 9.37546ZM15.07 14.1438L21.5 17.5044L15.07 20.8256V14.1438Z" fill="#535353"/>
3210        </svg>
3211        <span class="icon__fallback-text">YouTube</span>
3212      </a>
3213    </li></ul>
3214</div>
3215      </div>
3216    </div>
3217  </div><div class="footer__bottom-bar" style="background-color: #01656f; color: #ffffff;">
3218    <div class="footer__bottom-content"><div class="footer__copyright-left"><p class="footer__copyright-text">
3219            &copy; 2026 Homedics
3220. All Rights Reserved.</p></div><div class="footer__bottom-right">
3221        <div class="footer__bottom-grid"><div class="footer__selectors-wrapper"><form method="post" action="/localization" id="localization_formfooter" accept-charset="UTF-8" class="multi-selectors" enctype="multipart/form-data" data-disclosure-form=""><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="/account/login?return_url=%2Faccount" /><div class="multi-selectors__item">
3222      <h2 class="visually-hidden" id="CurrencyHeading-footer">
3223        Currency
3224      </h2>
3225
3226      <div class="disclosure" data-disclosure-currency>
3227        <button type="button" class="faux-select disclosure__toggle" aria-expanded="false" aria-controls="CurrencyList-footer" aria-describedby="CurrencyHeading-footer" data-disclosure-toggle><span class="currency-flag currency-flag--us" data-flag="USD" aria-hidden="true"></span><span class="disclosure-list__label">
3228            English - US
3229          </span>
3230          <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
3230ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
3231        </button>
3232        <ul id="CurrencyList-footer" class="disclosure-list" data-disclosure-list><li class="disclosure-list__item">
3233              <a class="disclosure-list__option" href="#" data-value="CA" data-disclosure-option><span class="currency-flag currency-flag--ca" data-flag="CAD" aria-hidden="true"></span><span class="disclosure-list__label">
3234                  Canada (CAD $)
3235                </span>
3236              </a>
3237            </li><li class="disclosure-list__item disclosure-list__item--current">
3238              <a class="disclosure-list__option" href="#" aria-current="true" data-value="US" data-disclosure-option><span class="currency-flag currency-flag--us" data-flag="USD" aria-hidden="true"></span><span class="disclosure-list__label">
3239                  United States (USD $)
3240                </span>
3241              </a>
3242            </li></ul>
3243        <input type="hidden" name="country_code" value="US" data-disclosure-input>
3244      </div>
3245    </div></form></div><div class="footer__bottom-link-item">
3246                <a href="https://www.fkabrands.com/do-not-sell.html" style="color: #ffffff;">Do Not Sell My Information</a>
3247              </div><div class="footer__bottom-link-item">
3248                <a href="https://www.fkabrands.com/privacy-policy.html" style="color: #ffffff;">Privacy Policy</a>
3249              </div><div class="footer__bottom-link-item">
3250                <a href="https://www.fkabrands.com/california-privacy-rights.html" style="color: #ffffff;">California Privacy Rights</a>
3251              </div><div class="footer__bottom-link-item">
3252                <a href="/pages/terms-of-use" style="color: #ffffff;">Terms and Conditions</a>
3253              </div><div class="footer__bottom-link-item">
3254                <a href="https://www.homedics.com/pages/user-generated-content-terms-of-use" style="color: #ffffff;">UGC Terms & Conditions</a>
3255              </div></div>
3256      </div>
3257    </div>
3258  </div>
3259</footer>
3260
3261
3262
3263
3264
3265
3266
3267
3268<link href="//www.homedics.com/cdn/shop/t/138/assets/footer.css?v=20937045281263571021787623451" rel="stylesheet" type="text/css" media="all" /><style> #shopify-section-sections--22941040935097__footer div[class*="footer__item-"] {width: 100%;} #shopify-section-sections--22941040935097__footer .grid {border-bottom: 1px solid black;} </style></div>
3269<!-- END sections: footer-group --></div>
3270  </div><div id="VideoModal" class="modal modal--solid">
3271  <div class="modal__inner">
3272    <div class="modal__centered page-width text-center">
3273      <div class="modal__centered-content">
3274        <div class="video-wrapper video-wrapper--modal">
3275          <div id="VideoHolder"></div>
3276        </div>
3277      </div>
3278    </div>
3279  </div>
3280
3281  <button type="button" class="modal__close js-modal-close text-link">
3282    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
3283    <span class="icon__fallback-text">"Close (esc)"</span>
3284  </button>
3285</div>
3286<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
3287  <div class="pswp__bg"></div>
3288  <div class="pswp__scroll-wrap">
3289    <div class="pswp__container">
3290      <div class="pswp__item"></div>
3291      <div class="pswp__item"></div>
3292      <div class="pswp__item"></div>
3293    </div>
3294
3295    <div class="pswp__ui pswp__ui--hidden">
3296      <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--left" title="Previous">
3297        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0Z"/></svg>
3298      </button>
3299
3300      <button class="btn btn--body btn--circle btn--large pswp__button pswp__button--close" title="Close (esc)">
3301        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
3302      </button>
3303
3304      <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--right" title="Next">
3305        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><title>icon-chevron</title><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98Z"/></svg>
3306      </button>
3307    </div>
3308  </div>
3309</div>
3310<tool-tip data-tool-tip="">
3311  <div class="tool-tip__inner" data-tool-tip-inner>
3312    <button class="tool-tip__close" data-tool-tip-close=""><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg></button>
3313    <div data-tool-tip-title>Account</div>
3314    <div class="tool-tip__content" data-tool-tip-content>
3315    </div>
3316  </div>
3317</tool-tip>
3318<script>
3319(function () {
3320  const stripBvMicrodataInCards = () => {
3321    document
3322      .querySelectorAll('.grid-product__content [itemprop="aggregateRating"]')
3323      .forEach(container => {
3324        // Remove schema container attributes
3325        container.removeAttribute('itemprop');
3326        container.removeAttribute('itemscope');
3327        container.removeAttribute('itemtype');
3328
3329        // Remove all nested microdata
3330        container.querySelectorAll('[itemprop]').forEach(el => {
3331          el.removeAttribute('itemprop');
3332        });
3333      });
3334  };
3335
3336  // Run immediately
3337  stripBvMicrodataInCards();
3338
3339  // Handle async BV injection
3340  const observer = new MutationObserver(stripBvMicrodataInCards);
3341  observer.observe(document.body, {
3342    childList: true,
3343    subtree: true
3344  });
3345})();
3346</script>
3346
3347  <template id="naturalImageMarkup">
3348    <div class="image-wrap" style="height: 0;">
3349      <image-element data-aos="image-fade-in" data-aos-offset="150">
3350        <img class="grid-product__image image-element" width height src srcset loading="lazy" alt>
3351      </image-element>
3352    </div>
3353  </template>
3354  <template id="fixedRatioImageMarkup">
3355    <div class="grid__image-ratio">
3356      <image-element data-aos="image-fade-in" data-aos-offset="150">
3357        <img class="image-element" width height src srcset loading="lazy" alt>
3358      </image-element>
3359    </div>
3360  </template>
3361
3362  <!-- Rebuy START --> 
3363  
3363<script async src="https://cdn.rebuyengine.com/onsite/js/storefront-helper.js"></script>
3363
3364
3365<!-- Launch: Get product badge colors from theme settings -->
3365<script>
3366    window.theme.badgeColors = window?.theme?.badgeColors || {
3367        background: "#ab0000",
3368        color: "#ffffff"
3369    };
3370
3371    window.formatBadgeClass = (badgeTag) => {
3372        return badgeTag.toLowerCase().trim().replaceAll(':', '-').replaceAll(' ', '-')
3373    }
3374    window.formatBadgeText = (badgeTag) => {
3375        return badgeTag.trim().replaceAll('badge:', '')
3376    }
3377
3378// Launch: Pull in market specific pricing on products
3379// update Cart Items JSON as cart initially loads
3380document.addEventListener('rebuy:cart.ready', (event) => { 
3381  const cartItems = event.detail.cart.cart.items;
3382  setTimeout(() => {
3383    cartItems.forEach((item) => {
3384      // console.log("updating cart item: ", item.product_title, item);
3385      const storefrontHelper = new ShopifyStorefrontHelper();
3386      storefrontHelper.updateProductJSON(item.product);
3387    });
3388  }, 300);});
3389
3390// update Cart Items JSON every time products are changed
3391document.addEventListener("rebuy:cart.change", (event) => {
3392  const cartItems = event.detail.cart.cart.items;
3393  setTimeout(() => {
3394    cartItems.forEach((item) => {
3395      // console.log("updating cart item: ", item.product_title, item);
3396      const storefrontHelper = new ShopifyStorefrontHelper();
3397      storefrontHelper.updateProductJSON(item.product);
3398    });
3399  }, 300);
3400});
3401
3402
3403// Launch: Filter OOS variants from widgets
3404
3405
3406/* Launch: Custom modal function for Add Ons Widget */
3407window.customOpenVariantModal = (product, id) => {
3408  const widget = Rebuy.widgets.find((w) => w.id === `${id}`);
3409  if (!product) {
3410    return;
3411  }
3412
3413  // Override settings for modal variant
3414  const Modal = window.Rebuy.Modal;
3415  const settings = {
3416    view_options: {
3417      show_sub_images: true,
3418      variant_selector: "select",
3419    },
3420    layout: {
3421      large: { style: "line" },
3422      medium: { style: "line" },
3423      small: { style: "line" },
3424    },
3425  };
3426
3427  Modal.dialog("variant", {
3428    product,
3429    settings,
3430    buttons: [
3431      {
3432        type: "primary block",
3433        label: "Add to Cart",
3434        action: "callback",
3435        callback: () => {
3436          widget.addToCart(product);
3437        },
3438      },
3439      {
3440        type: "outline",
3441        label: "Dismiss",
3442        action: "dismiss",
3443      },
3444    ],
3445  });
3446};
3447
3448
3449</script>
3449
3450
3451
3452
3453
3454<!-- Cart Widget Template -->
3455<script id="rebuy-widget-248871" type="text/template">
3456<div class="rebuy-widget"
3457v-cloak
3458v-on:click="stopPropagation($event)"
3459v-bind:id="'rebuy-widget-' + id"
3460v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">
3461
3462    <div
3463        class="rebuy-widget-container"
3464        v-cloak
3465        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
3466        v-on:click.self="hide()">
3467
3468        <div class="rebuy-widget-content">
3469            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
3470                <rebuy-icon name="x"></rebuy-icon>
3471            </div>
3472
3473            <div class="rebuy-timer" v-if="hasTimer()">
3474                <p class="rebuy-timer-title" v-if="config.language.timer_title">
3475                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
3476                </p>
3477            </div>
3478
3479            <h3 class="super-title" v-if="config.language.super_title != ''" v-html="config.language.super_title"></h3>
3480
3481            <h4 class="primary-title" v-if="config.language.title != ''" v-html="config.language.title"></h4>
3482
3483            <div class="description" v-if="config.language.description != ''" v-html="config.language.description"></div>
3484
3485            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">
3486
3487                <div
3488                    v-for="(product, product_index) in products"
3489                    v-bind:class="[
3490                        product.handle,
3491                        'product-id-' + product.id,
3492                        cartHasProduct(product) ? 'cart-has-item' : '',
3493                        productTagClasses(product),
3494                        hasSplideCarousel ? 'splide__slide' : '',
3495                    ]"
3496                    aria-label="product"
3497                    class="rebuy-product-block"
3498                    role="listitem"
3499                >
3500
3501                    <div class="rebuy-product-media">
3502                        <a
3503                            class="rebuy-product-image"
3504                            tabindex="-1"
3505                            v-bind:href="learnMoreURL(product)"
3506                            v-bind:style="imageStyles"
3507                            v-on:click="learnMore(product, $event);"
3508                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
3509                            rel="nofollow"
3510                        >
3511                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
3512                        </a>
3513
3514                        <!-- CUSTOM -->
3515                        <div v-if="product?.tags?.includes('badge:')"  class="rebuy-product-badge-container">
3516                            <div v-for="tag in product.tags.split(',').filter(tag => tag.includes('badge:'))" 
3517                            v-html="window.formatBadgeText(tag)" 
3518                            :style="{ backgroundColor: window?.theme?.badgeColors?.background || '#01656f', color: window?.theme?.badgeColors?.color || '#ffffff' }"
3519                            v-bind:class="[ window.formatBadgeClass(tag) ]"
3520                            class="rebuy-product-badge"></div>
3521                        </div>
3522                        <!-- END CUSTOM -->
3523
3524                    </div>
3525                    <div class="rebuy-product-info">
3526                        <h5
3527                            class="rebuy-product-title"
3528                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
3529                            <a
3530                                v-bind:href="learnMoreURL(product)"
3531                                class="rebuy-product-title-link"
3532                                v-on:click="learnMore(product, $event);"
3533                                v-html="product.title"
3534                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
3535                                v-bind:aria-label="'View ' + product.title"
3536                                rel="nofollow"
3537                            ></a>
3538                        </h5>
3539                        <div
3540                            class="rebuy-product-vendor-container"
3541                            v-if="showProductVendor(product.vendor)"
3542                        >
3543                            <a
3544                                class="rebuy-product-vendor"
3545                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
3546                                v-html="product.vendor"
3547                                v-bind:href="vendorURL(product.vendor)"
3548                                v-bind:aria-label="'View ' + product.vendor + ' products'"
3549                                rel="nofollow"
3550                            ></a>
3551                        </div>
3552                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
3553                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
3554                            <span class="rebuy-star-rating">
3555                                <span
3556                                    v-if="product.reviews.star_rating"
3557                                    class="rebuy-star-rating-value sr-only"
3558                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
3559                                >
3560                                </span>
3561                                <span class="rebuy-star-rating-background"></span>
3562                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
3563                            </span>
3564                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
3565                        </div>
3566
3567                        <div class="rebuy-product-price">
3568                            <div v-if="variantOnSale(product, product.selected_variant)">
3569                                <span class="rebuy-money sale">
3570                                    <span class="sr-only">Sale price</span>
3571                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
3572                                </span>
3573                                <span class="rebuy-money compare-at">
3574                                    <span class="sr-only">Original price</span>
3575                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
3576                                </span>
3577                            </div>
3578                            <div v-if="!(variantOnSale(product, product.selected_variant))">
3579                                <span class="rebuy-money">
3580                                    <span class="sr-only">Price</span>
3581                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
3582                                </span>
3583                            </div>
3584                        </div>
3585                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
3586                    </div>
3587                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
3588                        <select
3589                            title="Select product variant"
3590                            :id="id + '-' + 'select' + '-' + product_index"
3591                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
3592                            class="rebuy-select"
3593                            v-bind:aria-label="'variant of ' + product.title"
3594                            v-model="product.selected_variant_id"
3595                            v-on:change="selectVariant(product)">
3596                            <option
3597                                v-for="variant in product.variants"
3598                                class="rebuy-product-options__option"
3599                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
3600                                v-bind:value="variant.id"
3601                                :disabled="!variantAvailable(variant)"
3602                                v-html="formatVariantOptionTitle(variant)">
3603                            </option>
3604                        </select>
3605
3606                        <div
3607                            class="rebuy-product-options__button-swatches-container"
3608                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
3609                            >
3610                            <div
3611                                v-for="option in product.options"
3612                                :key="'option-' + product.id + '-' + option.name"
3613                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
3614                                >
3615                                <div
3616                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
3617                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
3618                                    >
3619                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
3620                                        <input
3621                                            :name="id + '-color-' + product_index"
3622                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
3623                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
3624                                            :value="value"
3625                                            type="radio"
3626                                            class="rebuy-color-input hide"
3627                                            v-on:change="selectVariantByOption(product, option.name, value)"
3628                                            :disabled="isDisabledOptionValue(product, option.name, value)"
3629                                        />
3630
3631                                        <label
3632                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
3633                                            :style="getMerchantThemeColorAssetStyle(value)"
3634                                            :title="value"
3635                                            class="rebuy-color-label"
3636                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
3637                                        >
3638                                        </label>
3639                                    </div>
3640
3641                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
3642                                        <input
3643                                            :name="id + '-' + option.name + '-' + product_index"
3644                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
3645                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
3646                                            :value="value"
3647                                            type="radio"
3648                                            class="rebuy-size-input hide"
3649                                            v-on:change="selectVariantByOption(product, option.name, value)"
3650                                            :disabled="isDisabledOptionValue(product, option.name, value)"
3651                                        />
3652
3653                                        <label
3654                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
3655                                            class="rebuy-size-label"
3656                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
3657                                        >
3658                                            {{ value }}
3659                                        </label>
3660                                    </div>
3661                                </div>
3662                            </div>
3663                        </div>
3664                    </div>
3665
3666                    <div class="rebuy-product-actions">
3667                        <div class="subscription-checkbox" v-if="showSubscriptionOptions(product)">
3668                            <label class="rebuy-checkbox-label">
3669                                <input
3670                                    class="checkbox-input rebuy-checkbox"
3671                                    v-model="product.subscription"
3672                                    v-on:change="toggleSubscription(product)"
3673                                    type="checkbox"
3674                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
3675                                />
3676                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
3677                            </label>
3678                        </div>
3679
3680                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product)">
3681                            <select
3682                                class="rebuy-select"
3683                                aria-label="subscription frequency"
3684                                v-model="product.subscription_frequency"
3685                                v-on:change="updateSubscriptionFrequency(product)">
3686                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
3687                            </select>
3688                        </div>
3689
3690                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
3691                            <div class="rebuy-select-wrapper">
3692                                <label class="rebuy-label">Quantity</label>
3693                                <select
3694                                    class="rebuy-select"
3695                                    aria-label="product quantity"
3696                                    v-model="product.quantity">
3697                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
3698                                </select>
3699                            </div>
3700                        </div>
3701
3702                        <button
3703                            class="rebuy-button"
3704                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
3705                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
3706                            v-bind:aria-label="buttonAriaLabel(product)"
3707                            v-on:click="addToCart(product)"
3708                            type="button">
3709                                <span v-html="buttonLabel(product)"></span>
3710                        </button>
3711                    </div>
3712                </div>
3713
3714            </div>
3715
3716            <div class="rebuy-modal-actions" v-if="showContinueButton()">
3717                <button
3718                    class="rebuy-button decline"
3719                    v-on:click="hide()"
3720                    type="button">
3721                        <span v-html="continueLabel()"></span>
3722                </button>
3723            </div>
3724
3725            <div class="powered-by-rebuy">
3726                <a v-bind:href="'https://rebuyengine.com/?shop=' + config.shop.myshopify_domain" target="_blank" rel="noopener">
3727                    Powered by Rebuy
3728                </a>
3729            </div>
3730
3731        </div>
3732
3733    </div>
3734</div>
3735</script>
3735
3736
3737
3738<!-- Install Custom Dynamic Bundle Template  -->
3739<script id="rebuy-widget-248880" type="text/template">
3740  <div class="rebuy-widget"
3741		v-cloak
3742		v-on:click="stopPropagation($event)"
3743		v-bind:id="'rebuy-widget-' + id"
3744		v-bind:class="['widget-type-' + config.type.replace('_','-'), products.length > 0 ? 'is-visible' : 'is-hidden']">
3745		
3746		<div
3747			class="rebuy-widget-container"
3748			v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]">
3749			<div class="rebuy-widget-content">
3750				<div class="rebuy-timer" v-if="hasTimer()">
3751					<h5 class="rebuy-timer-title" v-if="config.language.timer_title">
3752						<span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
3753					</h5>
3754				</div>
3755				
3756				<h4 class="super-title" v-if="config.language.super_title != ''" v-html="config.language.super_title"></h4>
3757
3758				<h3 class="primary-title" v-if="config.language.title != ''" v-html="config.language.title"></h3>
3759  
3760				<div class="description" v-if="config.language.description != ''" v-html="config.language.description"></div>
3761				
3762				<div class="rebuy-bundle">
3763				
3764					<div class="rebuy-bundle__images">
3765
3766						<div class="rebuy-bundle__image" v-for="(product, index) in products" v-if="product.selected" v-bind:class="[product.handle, 'product-id-' + product.id, cartHasProduct(product) ? 'cart-has-item' : '', productTagClasses(product)]">
3767							<a class="rebuy-bundle__image-item" v-bind:href="learnMoreURL(product)" v-bind:style="imageStyles" v-on:click="learnMore(product);" v-bind:class="[hasLearnMore() && !isInputProduct(product) ? 'clickable' : '' ]">
3768								<img v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="product.title">
3769							</a>
3770							<div class="rebuy-bundle__image-divider">
3771								<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#111111" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="rebuy-icon"><path d="M5 12h14"/><path d="M12 5v14"/></svg>
3772							</div>
3773						</div>
3774						
3775					</div>
3776					
3777					<div class="rebuy-bundle__items">
3778						
3779
3780				    <div class="rebuy-product-block" style="position: relative;" v-for="(product, product_index) in products" v-bind:class="[product.handle, 'product-id-' + product.id, cartHasProduct(product) ? 'cart-has-item' : '', productTagClasses(product), isInputProduct(product) ? 'is-input-product' : '' ,product.selected ? 'is-selected': 'not-selected']">
3781							<div class="rebuy-bundle__image-divider-desktop" v-if="product_index !== 0">
3782								<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#111111" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="rebuy-icon"><path d="M5 12h14"/><path d="M12 5v14"/></svg>
3783							</div>
3784                            <div class="mobile-image-container">
3785                                <a class="rebuy-bundle__image-item bundle-single-image" v-bind:href="learnMoreURL(product)" v-bind:style="imageStyles" v-on:click="learnMore(product);" v-bind:class="[hasLearnMore() && !isInputProduct(product) ? 'clickable' : '' ]">
3786									<img v-bind:src="itemImage(product, product.selected_variant)" v-bind:alt="product.title">
3787
3788                                    <!-- CUSTOM -->
3789                                    <div v-if="product?.tags?.includes('badge:')"  class="rebuy-product-badge-container">
3790                                        <div v-for="tag in product.tags.split(',').filter(tag => tag.includes('badge:'))" 
3791                                        v-html="window.formatBadgeText(tag)" 
3792                                        :style="{ backgroundColor: window?.theme?.badgeColors?.background || '#01656f', color: window?.theme?.badgeColors?.color || '#ffffff' }"
3793                                        v-bind:class="[ window.formatBadgeClass(tag) ]"
3794                                        class="rebuy-product-badge"></div>
3795                                    </div>
3796                                    <!-- END CUSTOM -->
3797
3798								</a>
3799                                <!-- <div class="rebuy-product-price2">
3800									<div v-if="variantOnSale(product, product.selected_variant)">
3801										<span class="rebuy-money sale" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
3802										<span class="rebuy-money compare-at" v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
3803									</div>
3804									<div v-if="!(variantOnSale(product, product.selected_variant))">
3805										<span class="rebuy-money" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
3806									</div>
3807								</div> -->
3808                            </div>
3809							<div class="rebuy-product-info">
3810                            	<!-- <a class="rebuy-bundle__image-item bundle-single-image" v-bind:href="learnMoreURL(product)" v-bind:style="imageStyles" v-on:click="learnMore(product);" v-bind:class="[hasLearnMore() && !isInputProduct(product) ? 'clickable' : '' ]">
3811									<img v-bind:src="itemImage(product, product.selected_variant)" v-bind:alt="product.title">
3812								</a> -->
3813                                
3814                                <strong class="rebuy-product-label" v-if="isInputProduct(product)" v-html="'This item:'"></strong>
3815								<a class="rebuy-product-title" v-bind:href="learnMoreURL(product)" v-on:click="learnMore(product);" v-html="product.title" v-bind:class="[hasLearnMore() && !isInputProduct(product) ? 'clickable' : '']"></a>
3816								<div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
3817								<div class="rebuy-product-price">
3818									<div v-if="variantOnSale(product, product.selected_variant)">
3819										<span class="rebuy-money sale" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
3820										<span class="rebuy-money compare-at" v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
3821									</div>
3822									<div v-if="!(variantOnSale(product, product.selected_variant))">
3823										<span class="rebuy-money" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
3824									</div>
3825								</div>
3826								<div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
3827								<div class="rebuy-product-review" v-if="hasProductReviews(product)">
3828									<span class="rebuy-star-rating">
3829										<span class="rebuy-star-rating-background"></span>
3830										<span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
3831									</span>
3832									<span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
3833								</div>
3834							</div>
3835  
3836 
3837  
3838							<div class="rebuy-product-options">
3839
3840                                <!-- CUSTOM -->
3841                                <div class="rebuy-product-checkbox" v-bind:class="product.selected ? 'is-selected': 'not-selected'">
3842                                    <label class="rebuy-checkbox-label">
3843                                        <input
3844                                            class="checkbox-input rebuy-checkbox"
3845                                            v-model="product.selected"
3846                                            type="checkbox" />
3847                                                <span class="custom-span" v-if="product.selected">Remove</span>
3848                                                <span class="custom-span2" v-if="!product.selected" >Add</span>
3849                                    </label>                                  
3850                                </div>
3851                                <!-- END CUSTOM -->
3852
3853								<select
3854                                    v-if="product.variants.length != 1"
3855									:id="id + '-' + 'select' + '-' + product_index"
3856									:class="{ hide : settings.view_options.variant_selector == 'buttons' }"
3857									class="rebuy-select"
3858									v-model="product.selected_variant_id"
3859									v-on:change="selectVariant(product)">
3860									<option v-for="variant in product.variants" v-bind:value="variant.id">{{ variant.title }}</option>
3861								</select>
3862
3863                                
3864
3865								<div v-if="option.name == 'Color' && displayColorSwatches()" v-for="(option, option_index) in product.options" class="rebuy-color-swatches">
3866									<div v-for="(value, value_index) in option.values" class="rebuy-color-swatch">
3867										<input
3868											:name="id + '-color-' + product_index" 
3869											:id="id + '-color-' + option_index + '-' + value + '-' + value_index"
3870											:checked="value_index == 0" 
3871											:value="value"
3872											type="radio" 
3873											class="rebuy-color-input hide"
3874											v-on:change="selectVariantByColor(product, value, product_index)">
3875										<label
3876											:for="id + '-color-' + option_index + '-' + value + '-' + value_index"
3877											:style="{ backgroundColor: value }"
3878											:title="value"
3879											class="rebuy-color-label"></label>
3880									</div>
3881								</div>
3882
3883								<div v-if="option.name == 'Size' && settings.view_options.variant_selector == 'buttons'" v-for="(option, option_index) in product.options"  class="mt-10 rebuy-size-swatches">
3884									<div v-for="(value, value_index) in option.values" class="rebuy-size-swatch">
3885										<input
3886											:name="id + '-size-' + product_index" 
3887											:id="id + '-size-' + product_index + '-' + value"
3888											:checked="value_index == 0" 
3889											:value="value"
3890											type="radio" 
3891											class="rebuy-size-input hide"
3892											v-on:change="selectVariantBySize(product, value, product_index)">
3893										<label
3894											:for="id + '-size-' + product_index + '-' + value"
3895											class="rebuy-size-label">{{ value }}</label>
3896									</div>
3897								</div>
3898  
3899							</div>
3900						</div>
3901
3902					</div>
3903				</div>
3904				
3905			</div>
3906		</div>
3907							
3908        <div class="rebuy-bundle__actions" v-if="subtotal() > 0">
3909            
3910            <div class="rebuy-bundle__actions-price">
3911                <strong class="rebuy-bundle__actions-price-label">Total Price:</strong>
3912                
3913                <div class="rebuy-bundle__actions-price-value" v-if="bundleOnSale()">
3914                    <span class="rebuy-money sale" v-html="formatMoney(subtotal())"></span>
3915                    <span class="rebuy-money compare-at" v-html="formatMoney(compareAtSubtotal())"></span>
3916                </div>
3917                <div class="rebuy-bundle__actions-price-value" v-if="!(bundleOnSale())">
3918                    <span class="rebuy-money" v-html="formatMoney(subtotal())"></span>
3919                </div>
3920            </div>
3921            
3922            <div class="rebuy-bundle__actions-buttons">
3923                <button
3924                    class="rebuy-button"
3925                    v-on:click="addSelectedProductsToCart()"
3926                    type="button">
3927                        <span v-html="buttonWidgetLabel()"></span>
3928                </button>
3929            </div>
3930        </div>
3931					
3932	</div>
3933  </div>
3934</script>
3934
3935
3936<!-- Product Add Ons Custom Template -->
3937<script id="rebuy-product-addon-template" type="text/template">
3938<div class="rebuy-widget"
3939    v-cloak
3940    v-on:click="stopPropagation($event)"
3941    v-bind:id="'rebuy-widget-' + id"
3942    v-bind:class="['widget-type-' + config.type.replace('_','-'), products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">
3943
3944    <div class="rebuy-widget-container">
3945        <div class="rebuy-widget-content">
3946            <div class="rebuy-timer" v-if="hasTimer()">
3947                <p class="rebuy-timer-title" v-if="config.language.timer_title">
3948                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
3949                </p>
3950            </div>
3951
3952            <h3 class="super-title" v-if="config.language.super_title != ''" v-html="config.language.super_title"></h3>
3953
3954            <h4 class="primary-title" v-if="config.language.title != ''" v-html="config.language.title"></h4>
3955
3956            <div class="description" v-if="config.language.description != ''" v-html="config.language.description"></div>
3957
3958            <div class="rebuy-addon">
3959
3960                <div class="rebuy-addon__items">
3961
3962                    <div class="rebuy-addon__item" v-for="(product, product_index) in products">
3963
3964                        <div class="rebuy-addon__item-checkbox">
3965                            <label class="rebuy-checkbox-label">
3966                                <input
3967                                    class="checkbox-input rebuy-checkbox"
3968                                    v-model="product.selected"
3969                                    type="checkbox" />
3970                            </label>
3971                        </div>
3972
3973                        <div class="rebuy-addon__item-image" v-on:click="toggleProductSelect(product)" v-bind:style="imageStyles">
3974                            <img v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="product.title">
3975                        </div>
3976
3977                        <div class="rebuy-addon__item-info">
3978                            <div class="rebuy-addon__item-product-title rebuy-product-title" v-on:click="toggleProductSelect(product)" v-html="product.title" v-bind:alt="'View ' + product.title"></div>
3979                            <div
3980                                class="rebuy-product-vendor-container"
3981                                v-if="showProductVendor(product.vendor)"
3982                            >
3983                                <a
3984                                    class="rebuy-product-vendor"
3985                                    v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
3986                                    v-html="product.vendor"
3987                                    v-bind:href="vendorURL(product.vendor)"
3988                                    v-bind:aria-label="'View ' + product.vendor + ' products'"
3989                                    rel="nofollow"
3990                                ></a>
3991                            </div>
3992                            <div class="rebuy-addon__item-variant-title rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
3993                            <div class="rebuy-addon__item-product-review rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
3994                                <span class="rebuy-star-rating">
3995                                    <span
3996                                        v-if="product.reviews.star_rating"
3997                                        class="rebuy-star-rating-value sr-only"
3998                                        v-html="product.reviews.star_rating + ' stars out of 5 stars'"
3999                                    >
4000                                    </span>
4001                                    <span class="rebuy-star-rating-background"></span>
4002                                    <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
4003                                </span>
4004                                <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
4005                            </div>
4006                            <div class="rebuy-addon__item-product-price rebuy-product-price">
4007                                <div v-if="variantOnSale(product, product.selected_variant)">
4008                                    <span class="rebuy-money sale">
4009                                        <span class="sr-only">Sale price</span>
4010                                        <span v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
4011                                    </span>
4012                                    <span class="rebuy-money compare-at">
4013                                        <span class="sr-only">Original price</span>
4014                                        <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
4015                                    </span>
4016                                </div>
4017                                <div v-if="!(variantOnSale(product, product.selected_variant))">
4018                                    <span class="rebuy-money">
4019                                        <span class="sr-only">Price</span>
4020                                        <span v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
4021                                    </span>
4022                                </div>
4023                            </div>
4024
4025                            <div class="rebuy-addon__item-product-options rebuy-product-options" v-if="showVariantSelect(product)">
4026                                <select
4027                                    :id="id + '-' + 'select' + '-' + product_index"
4028                                    :class="{ hide : settings.view_options.variant_selector == 'buttons' }"
4029                                    class="rebuy-select"
4030                                    v-bind:aria-label="'variant of ' + product.title"
4031                                    v-model="product.selected_variant_id"
4032                                    v-on:change="selectVariant(product)">
4033                                    <option
4034                                        v-for="variant in product.variants"
4035                                        class="rebuy-product-options__option"
4036                                        :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
4037                                        v-bind:value="variant.id"
4038                                        :disabled="!variantAvailable(variant)"
4039                                        v-html="formatVariantOptionTitle(variant)">
4040                                    </option>
4041                                </select>
4042
4043                                <div
4044                                    class="rebuy-product-options__button-swatches-container"
4045                                    :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
4046                                    >
4047                                    <div
4048                                        v-for="option in product.options"
4049                                        :key="'option-' + product.id + '-' + option.name"
4050                                        class="rebuy-product-options__button-swatches rebuy-size-swatches"
4051                                    >
4052                                        <div
4053                                            v-for="(value, value_index) in filterOOSOptions(option, product)"
4054                                            :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
4055                                        >
4056                                            <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
4057                                                <input
4058                                                    :name="id + '-color-' + product_index"
4059                                                    :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
4060                                                    :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
4061                                                    :value="value"
4062                                                    type="radio"
4063                                                    class="rebuy-color-input hide"
4064                                                    v-on:change="selectVariantByOption(product, option.name, value)"
4065                                                    :disabled="isDisabledOptionValue(product, option.name, value)"
4066                                                />
4067
4068                                                <label
4069                                                    :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
4070                                                    :style="getMerchantThemeColorAssetStyle(value)"
4071                                                    :title="value"
4072                                                    class="rebuy-color-label"
4073                                                    :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
4074                                                >
4075                                                </label>
4076                                            </div>
4077
4078                                            <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
4079                                                <input
4080                                                    :name="id + '-' + option.name + '-' + product_index"
4081                                                    :id="id + '-' + option.name + '-' + product_index + '-' + value"
4082                                                    :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
4083                                                    :value="value"
4084                                                    type="radio"
4085                                                    class="rebuy-size-input hide"
4086                                                    v-on:change="selectVariantByOption(product, option.name, value)"
4087                                                    :disabled="isDisabledOptionValue(product, option.name, value)"
4088                                                />
4089
4090                                                <label
4091                                                    :for="id + '-' + option.name + '-' + product_index + '-' + value"
4092                                                    class="rebuy-size-label"
4093                                                    :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
4094                                                >
4095                                                    {{ value }}
4096                                                </label>
4097                                            </div>
4098                                        </div>
4099                                    </div>
4100                                </div>
4101                            </div>
4102
4103                            <div class="rebuy-addon__item-product-description rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
4104                            <div class="rebuy-addon__item-learn-more" v-if="hasLearnMore()">
4105                                <a
4106                                    class="rebuy-addon__item-learn-more-link"
4107                                    v-on:click="window.customOpenVariantModal(product, id);"
4108                                    v-html="config.language.learn_more_label"
4109                                    rel="nofollow"
4110                                ></a>
4111
4112                        <!--    <a
4113                                    class="rebuy-addon__item-learn-more-link"
4114                                    v-bind:href="learnMoreURL(product)"
4115                                    v-on:click="learnMore(product);"
4116                                    v-html="config.language.learn_more_label"
4117                                    rel="nofollow"
4118                                ></a> -->
4119                            </div>
4120                        </div>
4121
4122                    </div>
4123
4124                </div>
4125
4126                <div class="rebuy-addon__subtotal" :class="[ subtotal() > 0 ? 'addon-actions-visible' : 'addon-actions-hidden' ]">
4127                    <strong class="rebuy-addon__subtotal-label" v-html="config.language.total_price_label"></strong>
4128                    <div class="rebuy-addon__subtotal-value" v-if="bundleOnSale()">
4129                        <span class="rebuy-money sale">
4130                            <span class="sr-only">Sale price</span>
4131                            <span v-html="formatMoney(subtotal())"></span>
4132                        </span>
4133                        <span class="rebuy-money compare-at">
4134                            <span class="sr-only">Original price</span>
4135                            <span v-html="formatMoney(compareAtSubtotal())"></span>
4136                        </span>
4137                    </div>
4138                    <div class="rebuy-addon__subtotal-value" v-if="!(bundleOnSale())">
4139                        <span class="rebuy-money">
4140                            <span class="sr-only">Price</span>
4141                            <span v-html="formatMoney(subtotal())"></span>
4142                        </span>
4143                    </div>
4144                </div>
4145
4146            </div>
4147
4148        </div>
4149    </div>
4150
4151</div>
4152</script>
4152
4153
4154<!-- Bundle Builder Custom Template -->
4155<script id="rebuy-bundle-builder-template" type="text/template">
4156    <div
4157        class="rebuy-widget rebuy-bundle-builder"
4158        v-bind:id="'rebuy-widget-' + id"
4159    >
4160        <div
4161            class="rebuy-bundle-builder__main rebuy-bundle-builder-layout"
4162            v-bind:class="['rebuy-bundle-builder__layout--' + config.layout.type]"
4163            ref="stepTabsWrapper"
4164            >
4165
4166            <!-- Page Header Section -->
4167            <div v-if="hasBundleHeaderSection()" class="rebuy-bundle-builder__main-header">
4168                <h1
4169                    v-if="getBundleConfigLabel('super_title')"
4170                    class="rebuy-bundle-builder__main-header-super-title"
4171                    v-html="getBundleConfigLabel('super_title')"
4172                >
4173                </h1>
4174
4175                <h2
4176                    v-if="getBundleConfigLabel('title')"
4177                    class="rebuy-bundle-builder__main-header-title"
4178                    v-html="getBundleConfigLabel('title')"
4179                >
4180                </h2>
4181
4182                <p
4183                    v-if="getBundleConfigLabel('description')"
4184                    class="rebuy-bundle-builder__main-header-description"
4185                    v-html="getBundleConfigLabel('description')"
4186                >
4187                </p>
4188            </div>
4189            <!-- /Page Header Section -->
4190
4191            <!-- Sorting Section -->
4192            <div v-if="hasBundleBuilderSorting()" class="rebuy-bundle-builder__header-utility-container">
4193                <select
4194                    aria-label="Sort By"
4195                    name="selected_sorting_option"
4196                    v-model="selected_sorting_option"
4197                    v-on:change="handleBundleBuilderSortingOptionChange"
4198                    class="rebuy-bundle-builder__header-utility-sorting rebuy-select"
4199                >
4200                    <option disabled value="">Sort By</option>
4201                    <option v-for="option in sorting_options" :value="option.value" :key="option.value">{{ option.label }}</option>
4202                </select>
4203            </div>
4204            <!-- /Sorting Section -->
4205
4206            <!-- Page Body Section -->
4207            <div class="rebuy-bundle-builder__main-body">
4208                <!-- Steps Section -->
4209                <div class="rebuy-bundle-builder__steps-container">
4210
4211                    <!-- CUSTOM PLACEMENT Bundle Tier Progress Bar -->
4212                    <div class="progress-bar-container">
4213                        <div v-if="shouldDisplayBundleTierProgressBar()" class="rebuy-bundle-builder__group-container-progress-bar">
4214                            <div
4215                                class="rebuy-bundle-builder__group-progress-step-wrapper rebuy-bundle-builder__progress-step-wrapper"
4216                                v-bind:class="[ 'count-' + config.discount.tiers.length  ]"
4217                                >
4218                                <div
4219                                    v-for="(tier, tier_index) in config.discount.tiers"
4220                                    class="rebuy-bundle-builder__progress-step"
4221                                    v-bind:style="{ left: progressStepPosition(tier) }"
4222                                    v-bind:class="[
4223                                        progressTierReached(tier, products) ? 'complete' : '',
4224                                        'rebuy-bundle-builder__progress-step--' + tier_index
4225                                    ]"
4226                                    >
4227
4228                                    <div
4229                                        class="rebuy-bundle-builder__progress-step-icon"
4230                                        v-bind:class="[ 'rebuy-bundle-builder__progress-step-icon-type-' + getBundleTierProgressStepType(tier) ]"
4231                                    >
4232                                        <span
4233                                            v-if="getBundleTierProgressStepType(tier) !== 'none'"
4234                                            v-html="formatBundleTierValue(tier.discount_value, tier.discount_type)"
4235                                            class="rebuy-bundle-builder__progress-step-value"
4236                                            v-bind:class="[ 'rebuy-bundle-builder__progress-step-value-type--' + getBundleTierProgressStepType(tier) ]"
4237                                            >
4238                                        </span>
4239                                    </div>
4240
4241                                    <span
4242                                        class="rebuy-bundle-builder__progress-step-label"
4243                                        v-html="formatBundleTierLabel(tier)">
4244                                    </span>
4245                                </div>
4246                            </div>
4247
4248                            <div class="rebuy-bundle-builder__progress-bar-wrapper">
4249                                <div
4250                                    class="rebuy-bundle-builder__progress-bar-meter"
4251                                    v-bind:class="[hasTierProgress(products) ? 'has-progress' : 'no-progress']">
4252                                    <div
4253                                        class="rebuy-bundle-builder__progress-bar-meter-fill"
4254                                        v-bind:style="{ width: products.length == 1 ? '0%' : ((products.length - 1) / (config.discount.tiers.length - 1)) * 100 + '%' }"
4255                                        role="progressbar"
4256                                        tabindex="0"
4257                                        aria-valuemin="0"
4258                                        aria-valuemax="100"
4259                                        v-bind:aria-valuenow="tiersPercentageComplete(config.discount.tiers, products)"
4260                                        aria-labelledby="rebuy-bundle-builder__progress-bar-meter-label"
4261                                    >
4262                                        <span class="sr-only"></span>
4263                                    </div>
4264                                </div>
4265                            </div>
4266                        </div>
4267                    </div>
4268                    <!-- /END CUSTOM PLACEMENT Bundle Tier Progress Bar -->
4269
4270                    <!-- Step Tabs Section -->
4271                    <div v-if="isBundleBuilderTabLayout()" class="rebuy-bundle-builder__step-tabs rebuy-bundle-builder__step-tabs--sticky">
4272                        <div class="rebuy-bundle-builder__step-tabs-wrapper">
4273                            <div
4274                                v-for="(step, step_index) in config.steps"
4275                                class="rebuy-bundle-builder__step-tab"
4276                                v-bind:key="'rebuy-bundle-builder__step-tab-' + step_index"
4277                                v-bind:class="['rebuy-bundle-builder__step-tab-' + step_index, active_step_index === step_index ? 'active' : '']"
4278                                v-bind:aria-label="'Select step tab: ' + step.title"
4279                                role="button"
4280                                tabindex="0"
4281                                v-on:click="handleSelectingBundleStep(step_index)"
4282                                v-on:keydown.enter.space="handleSelectingBundleStep(step_index)"
4283                            >
4284                                <h3
4285                                    v-if="step.title"
4286                                    v-html="step.title"
4287                                    class="rebuy-bundle-builder__step-tab-title">
4288                                </h3>
4289
4290                                <p
4291                                    v-if="step.description"
4292                                    v-html="step.description"
4293                                    class="rebuy-bundle-builder__step-tab-description">
4294                                </p>
4295                            </div>
4296                        </div>
4297
4298                        <button
4299                            v-on:click="scrollToTargetBundleElement('main', id)"
4300                            class="rebuy-bundle-builder__scroll-to-button"
4301                            aria-label="scroll to top"
4302                            >
4303                            <rebuy-icon name="chevron-up"></rebuy-icon>
4304                            <span>Top</span>
4305                        </button>
4306                    </div>
4307                    <!-- /Step Tabs Section -->
4308
4309                    <!-- Step Section -->
4310                    <div
4311                        v-for="(step, step_index) in config.steps"
4312                        class="rebuy-bundle-builder__step-container"
4313                        v-bind:key="'rebuy-bundle-builder__step-container-' + step_index"
4314                        v-bind:class="[
4315                            'rebuy-bundle-builder__step-container-' + step_index,
4316                            step.unlocked ? '' : 'locked',
4317                            isBundleBuilderCollapsibleLayout() ? 'rebuy-bundle-builder__step-container--collapsible' : '',
4318                            !shouldRenderBundleStep(step_index) ? 'rebuy-bundle-builder__step-container--not-active' : 'rebuy-bundle-builder__step-container--active'
4319                        ]"
4320                        aria-label="step"
4321                        role="listitem"
4322                        >
4323
4324                        <!-- Step Header Section -->
4325                        <div v-if="!isBundleBuilderTabLayout()" class="rebuy-bundle-builder__step-header"
4326                            v-bind:class="[products.some(product => product?.properties?._r_bbsi == step_index) ? 'in-bundle' : 'not-in-bundle']"
4327                        >
4328                        
4329                            <div class="rebuy-bundle-builder__step-header-copy-container">
4330                                <h3
4331                                    v-if="step.title"
4332                                    v-html="step.title"
4333                                    class="rebuy-bundle-builder__step-header-title">
4334                                </h3>
4335
4336                                <p
4337                                    v-if="step.description"
4338                                    v-html="step.description"
4339                                    class="rebuy-bundle-builder__step-header-description">
4340                                </p>
4341                            </div>
4342
4343                            <div class="rebuy-bundle-builder__step-header-actions">
4344                                <div v-if="isBundleBuilderCollapsibleLayout()">
4345                                    <button
4346                                        class="rebuy-bundle-builder__step-header-collapse-button"
4347                                        v-on:click="handleCollapsingBundleStep(step_index)"
4348                                        v-bind:aria-label="shouldRenderBundleStep(step_index) ? 'Collapse ' + step.title : 'Expand ' + step.title"
4349                                    >
4350                                        <rebuy-icon
4351                                            :name="shouldRenderBundleStep(step_index) ? 'minu
4351s' : 'plus'"
4352                                            class="rebuy-bundle-builder__step-header-collapse-button-icon">
4353                                        </rebuy-icon>
4354                                    </button>
4355                                </div>
4356
4357                                <button
4358                                    v-if="!isBundleBuilderCollapsibleLayout()"
4359                                    v-on:click="scrollToTargetBundleElement('step', id, (step_index - (step_index === 0 ? 0 : 1)))"
4360                                    :class="[
4361                                        'rebuy-bundle-builder__scroll-to-button',
4362                                        step_index === 0 ? 'rebuy-bundle-builder__top-button' : 'rebuy-bundle-builder__prev-button',
4363                                        'rebuy-bundle-builder__step-button-' + step_index
4364                                    ]"
4365                                    aria-label="scroll to top"
4366                                    >
4367                                        <rebuy-icon name="chevron-up"></rebuy-icon>
4368                                        <span v-html="step_index === 0 ? 'Top' : 'Prev'"></span>
4369                                </button>
4370                            </div>
4371                        </div>
4372                        <!-- /Step Header Section -->
4373
4374                        <!-- Step Body Section -->
4375                        <div
4376                            class="rebuy-bundle-builder__step-body rebuy-product-grid start-column rebuy-product-grid-step-100"
4377                            v-bind:class="[getBundleBuilderLayoutClasses(step), 'rebuy-product-grid__step-' + step_index]"
4378                            >
4379                            <!-- Step Product Section -->
4380                            <div
4381                                v-for="(product, product_index) in step.products"
4382                                v-bind:class="[product.handle, 'product-id-' + product.id, productTagClasses(product), hasBundleBuilderStepSplideCarousel(step) ? 'splide__slide' : '']"
4383                                class="rebuy-product-block"
4384                                aria-label="product"
4385                                role="listitem"
4386                                >
4387                                <div v-if="product.type !== 'placeholder'" class="rebuy-bundle-builder__step-product">
4388                                    <!-- Product Image Section -->
4389                                    <div class="rebuy-product-media clickable" @click="openVariantModal(product, step, step_index)">
4390                                        <div
4391                                            class="rebuy-product-image"
4392                                        >
4393                                            <!-- Preload second img in the background hack, so on hover browser can serve the cached image -->
4394                                            <img
4395                                                v-if="product.hover_image"
4396                                                class="rebuy-style__hidden-block"
4397                                                v-bind:src="sizeImage(product.hover_image.src, '400x400')"
4398                                                v-bind:alt="'View ' + product.title"
4399                                            />
4400
4401                                            <img
4402                                                class="rebuy-style__hover-transition"
4403                                                v-bind:loading="product_index > 1 ? 'lazy' : 'eager'"
4404                                                v-bind:src="getBundleBuilderProductImage(product)"
4405                                                v-bind:alt="'View ' + product.title"
4406                                                v-on:mouseover="handleProductImageHover(product, true)"
4407                                                v-on:mouseleave="handleProductImageHover(product, false)"
4408                                            />
4409                                        </div>
4410
4411                                        <!-- CUSTOM -->
4412                                        <div v-if="product?.tags?.includes('badge:')"  class="rebuy-product-badge-container">
4413                                            <div v-for="tag in product.tags.split(',').filter(tag => tag.includes('badge:'))" 
4414                                            v-html="window.formatBadgeText(tag)" 
4415                                            :style="{ backgroundColor: window?.theme?.badgeColors?.background || '#01656f', color: window?.theme?.badgeColors?.color || '#ffffff' }"
4416                                            v-bind:class="[ window.formatBadgeClass(tag) ]"
4417                                            class="rebuy-product-badge"></div>
4418                                        </div>
4419                                        <!-- END CUSTOM -->
4420
4421                                    </div>
4422                                    <!-- End Product Image Section -->
4423
4424                                    <!-- Product Info Section -->
4425                                    <div class="rebuy-product-info clickable" @click="openVariantModal(product, step, step_index)">
4426                                        <div
4427                                            role="heading"
4428                                            aria-level="5"
4429                                            class="rebuy-product-title"
4430                                            v-html="product.title"
4431                                            v-bind:aria-label="'View ' + product.title"
4432                                            >
4433                                        </div>
4434
4435                                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
4436
4437                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
4438                                            <span class="rebuy-star-rating">
4439                                                <span
4440                                                    v-if="product.reviews.star_rating"
4441                                                    class="rebuy-star-rating-value sr-only"
4442                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
4443                                                >
4444                                                </span>
4445                                                <span class="rebuy-star-rating-background"></span>
4446                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
4447                                            </span>
4448                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
4449                                        </div>
4450
4451                                        <div class="rebuy-product-price">
4452                                            <div v-if="bundleVariantOnSale(product, product.selected_variant)">
4453                                                <span class="rebuy-money sale">
4454                                                    <span class="sr-only">Sale price</span>
4455                                                    <span tabindex="0" v-html="formatMoney(bundleVariantPrice(product, product.selected_variant))"></span>
4456                                                </span>
4457                                                <span class="rebuy-money compare-at">
4458                                                    <span class="sr-only">Original price</span>
4459                                                    <span v-html="formatMoney(bundleVariantCompareAtPrice(product, product.selected_variant))"></span>
4460                                                </span>
4461                                            </div>
4462                                            <div v-if="!(bundleVariantOnSale(product, product.selected_variant))">
4463                                                <span class="rebuy-money">
4464                                                    <span class="sr-only">Price</span>
4465                                                    <span tabindex="0" v-html="formatMoney(bundleVariantPrice(product, product.selected_variant))"></span>
4466                                                </span>
4467                                            </div>
4468                                        </div>
4469
4470                                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
4471                                    </div>
4472                                    <!-- /Product Info Section -->
4473
4474                                    <!--  Product Variant Selection Section -->
4475                                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
4476                                        <select
4477                                            :id="id + '-' + 'select' + '-' + product_index"
4478                                            class="rebuy-select"
4479                                            v-bind:aria-label="'variant of ' + product.title"
4480                                            v-model="product.selected_variant_id"
4481                                            v-on:change="selectVariant(product)">
4482                                            <option
4483                                                v-for="variant in product.variants"
4484                                                class="rebuy-product-options__option"
4485                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
4486                                                v-bind:value="variant.id"
4487                                                :disabled="!variantAvailable(variant)"
4488                                                v-html="formatVariantOptionTitle(variant)">
4489                                            </option>
4490                                        </select>
4491                                    </div>
4492                                    <!-- /Product Variant Selection Section -->
4493
4494                                    <!--  Product CTA Section -->
4495                                    <div class="rebuy-bundle-builder__product-actions rebuy-product-actions">
4496                                        <button
4497                                            v-if="hasProductQuickViewEnabled()"
4498                                            v-on:click="openVariantModal(product, step, step_index)"
4499                                            class="rebuy-button secondary rebuy-bundle-builder__product-quick-view"
4500                                            v-html="getBundleConfigLabel('quick_view_label')"
4501                                        >
4502                                        </button>
4503
4504                                        <div class="rebuy-bundle-builder__product-quantity">
4505                                            <div v-if="foundStepProductInBundleHolder(product.
4505selected_variant_id, step_index)">
4506                                                <div class="rebuy-bundle-builder__item-quantity-widget">
4507                                                    <button
4508                                                        class="rebuy-bundle-builder__item-quantity-widget-button"
4509                                                        v-on:click="removeLastAddedProductStep(product.selected_variant_id, step_index)"
4510                                                        v-bind:aria-label="'Decrease quantity of ' + product.title"
4511                                                        >
4512                                                        <rebuy-icon name="minus" class="rebuy-grey"></rebuy-icon>
4513                                                    </button>
4514
4515                                                    <span
4516                                                        class="rebuy-bundle-builder__item-quantity-widget-label"
4517                                                        v-html="getBundleVariantQuantity(product.selected_variant_id, step_index)">
4518                                                    </span>
4519
4520                                                    <button
4521                                                        class="rebuy-bundle-builder__item-quantity-widget-button"
4522                                                        v-on:click="addProductToBundle(product, step, step_index)"
4523                                                        v-bind:aria-label="'Increase quantity of ' + product.title"
4524                                                        v-bind:disabled="shouldDisableProductAddToBundle(product, step, step_index)"
4525                                                        >
4526                                                        <rebuy-icon name="plus" class="rebuy-grey"></rebuy-icon>
4527                                                    </button>
4528                                                </div>
4529                                            </div>
4530
4531
4532                                            <button
4533                                                v-if="!foundStepProductInBundleHolder(product.selected_variant_id, step_index)"
4534                                                class="rebuy-button"
4535                                                v-bind:disabled="shouldDisableProductAddToBundle(product, step, step_index)"
4536                                                v-bind:aria-label="buttonAriaLabel(product)"
4537                                                v-on:click="addProductToBundle(product, step, step_index)"
4538                                                >
4539                                                    <span v-html="getBundleConfigLabel('add_to_bundle', step)"></span>
4540                                            </button>
4541                                        </div>
4542                                    </div>
4543                                    <!--  /Product CTA Section -->
4544                                </div>
4545
4546                                <!--  Product Skeleton Section -->
4547                                <div
4548                                    v-if="product.type === 'placeholder'"
4549                                    class="rebuy-bundle-builder__step-product-skeleton">
4550                                    <span></span>
4551                                </div>
4552                                <!--  /Product Skeleton Section -->
4553
4554                            </div>
4555                            <!-- /Step Product Section -->
4556                        </div>
4557                        <!-- /Step Body Section -->
4558                    </div>
4559                    <!-- /Step Section -->
4560                </div>
4561                <!-- /Steps Section -->
4562
4563                <!-- Product Group Section -->
4564                <div
4565                    class="rebuy-bundle-builder__group-container"
4566                    v-bind:class="[has_container_expanded ? 'expanded' : 'default', products?.length >= config?.container_holder?.max_value ? 'bundle-complete' : 'bundle-incomplete']">
4567                    <div class="rebuy-bundle-builder__group-container-inner">
4568                        <div class="rebuy-bundle-builder__group-container-header">
4569                            <div class="rebuy-bundle-builder__group-container-header--left">
4570                                <h3
4571                                    class="rebuy-bundle-builder__group-container-header-title"
4572                                    v-html="getBundleConfigLabel('bundle_container_title')"
4573                                >
4574                                </h3>
4575
4576                                <span class="rebuy-bundle-builder__group-container-header-title-count">
4577                                    <span
4578                                        class="rebuy-bundle-builder__group-container-header-products_count"
4579                                        v-html="getBundleContainerHeaderValue('products_count')">
4580                                    </span>
4581
4582                                    <span class="rebuy-bundle-builder__group-container-header-divider">/</span>
4583
4584                                    <span
4585                                        class="rebuy-bundle-builder__group-container-header-container-length"
4586                                        v-html="getBundleContainerHeaderValue('container_length')">
4587                                    </span>
4588                                </span>
4589                            </div>
4590
4591                            <button
4592                                class="rebuy-bundle-builder__group-container-header-expand"
4593                                v-on:click="handleExpandingBundleContainer()"
4594                                >
4595                                <rebuy-icon v-if="hasBundleContainerExpanded()" name="chevron-down"></rebuy-icon>
4596
4597                                <rebuy-icon v-if="!hasBundleContainerExpanded()" name="chevron-up"></rebuy-icon>
4598                            </button>
4599                        </div>
4600
4601                        <!-- Bundle Products Section -->
4602                        <div
4603                            class="rebuy-bundle-builder__group-container-body"
4604                            v-bind:class="[has_container_expanded ? 'expanded' : 'default']">
4605                            <div class="rebuy-bundle-builder__group-container-body-items">
4606                            
4607                                    <!-- CUSTOM PLACEMENT  Bundle Gifts Selecting Section -->
4608                                    <div v-if="isEligibleDiscountWithGift()" class="rebuy-bundle-builder__group-container-gifts">
4609                                        <h3 class="rebuy-bundle-builder__gift-header" v-html="getBundleDiscountTierLabel('gift_header_message')"></h3>
4610
4611                                        <div
4612                                            v-for="(product, product_index) in eligible_discount.gift_items"
4613                                            v-if="product.data"
4614                                            class="rebuy-bundle-builder__gift-product"
4615                                            v-bind:key="'rebuy-bundle-builder-gift-product--' + product_index"
4616                                        >
4617                                            <div class="rebuy-bundle-builder__gift-product-image">
4618                                                <img
4619                                                    v-bind:src="itemImage(product.data, product.data.selected_variant, '80x80')"
4620                                                    v-bind:alt="'View ' + product.data.title"
4621                                                />
4622                                            </div>
4623
4624                                            <div class="rebuy-bundle-builder__gift-product-info-wrapper">
4625                                                <div class="rebuy-bundle-builder__gift-product-info">
4626                                                    <h3 class="rebuy-bundle-builder__gift-product-title" v-html="product.data.title"></h3>
4627                                                </div>
4628
4629                                                <div v-if="product.data.variants.length > 1" class="rebuy-product-options">
4630                                                    <select
4631                                                        :id="id + '-' + 'gift-select' + '-' + product_index"
4632                                                        class="rebuy-select rebuy-bundle-builder__gift-product-select"
4633                                                        v-bind:aria-label="'variant of ' + product.data.title"
4634                                                        v-model="product.data.selected_variant_id"
4635                                                        v-on:change="selectVariant(product.data)">
4636                                                        <option
4637                                                            v-for="variant in product.data.variants"
4638                                                            class="rebuy-product-options__option"
4639                                                            :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
4640                                                            v-bind:value="variant.id"
4641                                                            :disabled="!variantAvailable(variant)"
4642                                                            v-html="formatVariantOptionTitle(variant)">
4643                                                        </option>
4644                                                    </select>
4645                                                </div>
4646
4647                                                <div class="rebuy-bundle-builder__gift-product-actions">
4648                                                    <button
4649                                                        v-if="hasSelectedGiftProduct(product.data)"
4650                                                        class="rebuy-bundle-builder__gift-product-button rebuy-bundle-builder__gift-product-button--remove"
4651                                                        v-on:click="handleRemovingGiftProduct(product.data)">
4652                                                        <rebuy-icon name="x"></rebuy-icon>
4653                                                    </button>
4654
4655                                                    <button
4656                                                        v-if="!hasSelectedGiftProduct(product.data)"
4657                                                        class="rebuy-button rebuy-bundle-builder__gift-product-button rebuy-bundle-builder__gift-product-button--add"
4658                                                        v-on:click="handleAddingGiftProduct(product.data)">
4659                                                        <span v-html="'Add'"></span>
4660                                                    </button>
4661                                                </div>
4662                                            </div>
4663                                        </div>
4664                                    </div>
4665                                    <!-- /Bundle Gifts Selecting Section -->
4666                                <div
4667                                    v-for="(product, product_index) in bundleProducts"
4668                                    class="rebuy-bundle-builder__product-holder"
4669                                    aria-label="product"
4670                                    role="listitem"
4671                                    >
4672                                    <div
4673                                        v-if="product.classification === 'placeholder'"
4674                                        class="rebuy-bundle-builder__product-holder-template"
4675                                        >
4676                                        <div class="rebuy-bundle-builder__product-sign-holder">
4677                                            <span class="rebuy-bundle-builder__product-holder-icon">
4678                                                <rebuy-icon name="plus"></rebuy-icon>
4679                                            </span>
4680                                        </div>
4681
4682                                        <div class="rebuy-bundle-builder__product-holder-detail">
4683                                            <h3
4684                                                class="rebuy-bundle-builder__product-holder-detail-title"
4685                                                v-html="getBundleConfigLabel('select_product')">
4686                                            </h3>
4687
4688                                            <p
4689                                                v-if="product.label"
4690                                                class="rebuy-bundle-builder__product-holder-detail-description"
4691                                                v-html="product.label">
4692                                            </p>
4693                                        </div>
4694                                    </div>
4695
4696                                    <div v-if="!product.classification" class="rebuy-bundle-builder__product-holder-data">
4697                                        <div class="rebuy-bundle-builder__product-holder-info--left">
4698                                            <!-- Product Image Section -->
4699                                            <div class="rebuy-bundle-builder__product-holder-media rebuy-product-media">
4700                                                <img
4701                                                    v-bind:src="itemImage(product, product.selected_variant, '80x80')"
4702                                                    v-bind:alt="'View ' + product.title"
4703                                                />
4704                                            </div>
4705                                            <!-- /Product Image Section -->
4706
4707                                            <!-- Product Info Section -->
4708                                            <div class="rebuy-bundle-builder__product-holder-info rebuy-product-info">
4709                                                <h3 class="rebuy-bundle-builder__product-holder-info-title rebuy-product-title" v-html="product.title"></h3>
4710
4711                                                <p
4712                                                    v-if="!shouldHideDefaultVariantTitle(product)"
4713                                                    class="rebuy-bundle-builder__product-holder-info-variant rebuy-variant-title"
4714                                                    v-html="product.selected_variant.title"
4715                                                    >
4716                                                </p>
4717
4718                                                <div class="rebuy-bundle-builder__product-holder-info-price rebuy-product-price">
4719                                                    <div v-if="bundleVariantOnSale(product, product.selected_variant, true)">
4720                                                        <span class="rebuy-money sale">
4721                                                            <span class="sr-only">Sale price</span>
4722                                                            <span tabindex="0" v-html="formatMoney(bundleVariantPrice(product, product.selected_variant))"></span>
4723                                                        </span>
4724                                                        <span class="rebuy-money compare-at">
4725                                                            <span class="sr-only">Original price</span>
4726                                                            <span v-html="formatMoney(bundleVariantCompareAtPrice(product, product.selected_variant))"></span>
4727                                                        </span>
4728                                                        <div
4729                                                            v-if="isFixedDiscountBundle()"
4730                                                            class="rebuy-bundle-builder__fixed-discount-line-item-message"
4731                                                            v-html="getBundleConfigLabel('fixed_tier_discount')">
4732                                                        </div>
4733                                                    </div>
4734                                                    <div v-if="!(bundleVariantOnSale(product, product.selected_variant, true))">
4735                                                        <span class="rebuy-money">
4736                                                            <span class="sr-only">Price</span>
4737                                                            <span tabindex="0" v-html="formatMoney(bundleVariantPrice(product, product.selected_variant))"></span>
4738                                                        </span>
4739                                                    </div>
4740                                                </div>
4741                                            </div>
4742                                        </div>
4743
4744                                        <div class="rebuy-bundle-builder__product-holder-info--right">
4745                                            <button
4746                                                class="rebuy-bundle-builder__product-holder-info-delete"
4747                                                v-on:click="handleRemovingProductFromBundle(product_index)"
4748                                            >
4749                                                <rebuy-icon name="x"></rebuy-icon>
4750                                            </button>
4751                                        </div>
4752                                        <!-- /Product Info Section -->
4753                                    </div>
4754                                </div>
4755                            </div>
4756                            <!-- /Bundle Products Section -->
4757
4758                            <!-- Total Savings Amount -->
4759                            <div
4760                                v-if="hasBundleBuilderTotalSavingsEnabled() && getBundleTotalSavingAmount(products) > 0"
4761                                class="rebuy-bundle-builder__total-savings-container">
4762                                    <span class="rebuy-bundle-builder__total-savings-label">
4763                                        Total Savings:
4764                                    </span>
4765                                    <span
4766                                        class="rebuy-bundle-builder__total-savings-amount rebuy-money sale"
4767                                        v-html="formatMoney(getBundleTotalSavingAmount(products))">
4768                                    </span>
4769                            </div>
4770                            <!-- /Total Savings Amount -->
4771
4772                            <!-- Subscription Options Section -->
4773                            <div v-if="hasSelectedEnabledBundleSubscription()" class="rebuy-bundle-builder__subscription-options">
4774                                <!-- Subscription Radio Box -->
4775                                <div
4776                                    class="rebuy-bundle-builder__action-box-cta rebuy-bundle-builder__action-box-subscription"
4777                                    v-bind:class="[!hasSellingPlansIntervalList() ? 'rebuy-bundle-builder__action-box-cta--disabled' : '' ]">
4778                                    <div class="rebuy-bundle-builder__action-box-top">
4779                                        <label class="rebuy-radio-label">
4780                                            <input
4781                                                class="radio-input rebuy-radio rebuy-bundle-builder__action-box-radio"
4782                                                v-model="selected_purchase_type"
4783                                                value="subscription"
4784                                                type="radio"
4785                                                v-bind:disabled="!hasSellingPlansIntervalList()"
4786                                            />
4787                                            <span
4788                                                class="rebuy-bundle-builder__action-box-label"
4789                                                v-html="getBundleConfigLabel('switch_to_subscription_title')"
4790                                            >
4791                                            </span>
4792                                        </label>
4793
4794                                        <div class="rebuy-bundle-builder__action-box-price">
4795                                            <span v-if="bundleHasEligibleDiscount(products) || getSubBundleSubtotalSavingPercent(products)">
4796                                                <span class="rebuy-money compare-at">
4797                                                    <span class="sr-only">Original subtotal price</span>
4798                                                    <span v-html="formatMoney(getBundleSubtotal(products))"></span>
4799                                                </span>
4800
4801                                                <span class="rebuy-money sale">
4802                                                    <span class="sr-only">Sale subtotal price</span>
4803                                                    <span tabindex="0" v-html="formatMoney(getSubBundleDiscountedSubtotal(products))"></span>
4804                                                </span>
4805                                            </span>
4806
4807                                            <span v-if="!getSubBundleSubtotalSavingPercent(products) && (!bundleHasEligibleDiscount(products) && getBundleSubtotal(products))" class="rebuy-money sale">
4808                                                <span class="sr-only">Subtotal price</span>
4809                                                <span tabindex="0" v-html="formatMoney(getBundleSubtotal(products))"></span>
4810                                            </span>
4811                                        </div>
4812                                    </div>
4813
4814                                    <div class="rebuy-bundle-builder__action-box-bottom">
4815                                        <p
4816                                            v-if="getBundleConfigLabel('switch_to_subscription_description')"
4817                                            class="rebuy-bundle-builder__action-box-description"
4818                                            v-html="getBundleConfigLabel('switch_to_subscription_description')">
4819                                        </p>
4820
4821                                        <div v-if="hasSellingPlansIntervalList()" class="rebuy-bundle-builder__action-box-details">
4822                                            <select
4823                                                id="rebuy-bundle-builder-subscription-interval"
4824                                                class="rebuy-select rebuy-bundle-builder__action-box-select"
4825                                                v-model="selected_interval"
4826                                                v-on:change="handleSubscriptionIntervalChange($event)"
4827                                                >
4828                                                <option
4829                                                    v-for="(interval, interval_index) in selling_plan_interval_list"
4830                                                    v-bind:key="'rebuy-bundle-builder-subscription-interval--' + interval_index"
4831                                                    v-bind:value="interval">
4832                                                    {{ interval }}
4833                                                </option>
4834                                            </select>
4835
4836                                            <span v-if="getBundleConfigLabel('save_label') && getSubBundleSubtotalSavingPercent(products)" class="rebuy-bundle-builder__action-box-saving">
4837                                                <span v-html="getBundleConfigLabel('save_label')"></span>
4838                                                <span v-html="getSubBundleSubtotalSavingPercent(products)"></span>
4839                                            </span>
4840                                        </div>
4841
4842                                        <p
4843                                            v-if="hasExcludedBundleDiscountEnabled() && getBundleConfigLabel('excluded_bundle_discount_text')"
4844                                            class="rebuy-bundle-builder__action-box-note"
4845                                            v-html="getBundleConfigLabel('excluded_bundle_discount_text')">
4846                                        </p>
4847                                    </div>
4848                                </div>
4849                                <!-- /Subscription Radio Box -->
4850
4851                                <!-- One-time Radio Box -->
4852                                <div v-if="!hasBundleBuilderSubscriptionOnlyEnabled()" class="rebuy-bundle-builder__action-box-cta rebuy-bundle-builder__action-box-subscription">
4853                                    <div class="rebuy-bundle-builder__action-box-top">
4854                                        <label class="rebuy-radio-label">
4855                                            <input
4856                                                class="radio-input rebuy-radio rebuy-bundle-builder__action-box-radio"
4857                                                v-model="selected_purchase_type"
4858                                                value="one-time"
4859                                                type="radio"
4860                                            />
4861                                            <span
4862                                                v-if="getBundleConfigLabel('one_time_title')"
4863                                                class="rebuy-bundle-builder__action-box-label"
4864                                                v-html="getBundleConfigLabel('one_time_title')"
4865                                            >
4866                                            </span>
4867                                        </label>
4868
4869                                        <div class="rebuy-bundle-builder__action-box-price">
4870                                            <span v-if="bundleHasEligibleDiscount()">
4871                                                <span class="rebuy-money compare-at">
4872                                                    <span class="sr-only">Original subtotal price</span>
4873                                                    <span v-html="formatMoney(getBundleSubtotal(products))"></span>
4874                                                </span>
4875
4876                                                <span class="rebuy-money sale">
4877                                                    <span class="sr-only">Sale subtotal price</span>
4878                                                    <span tabindex="0" v-html="formatMoney(getBundleDiscountedSubtotal(products))"></span>
4879                                                </span>
4880                                            </span>
4881
4882                                            <span v-if="!bundleHasEligibleDiscount() && getBundleSubtotal(products)" class="rebuy-money sale">
4883                                                <span class="sr-only">Subtotal price</span>
4884                                                <span tabindex="0" v-html="formatMoney(getBundleSubtotal(products))"></span>
4885                                            </span>
4886                                        </div>
4887                                    </div>
4888
4889                                    <div class="rebuy-bundle-builder__action-box-bottom">
4890                                        <p
4891                                            v-if="getBundleConfigLabel('one_time_description')"
4892                                            class="rebuy-bundle-builder__action-box-description"
4893                                            v-html="getBundleConfigLabel('one_time_description')">
4894                                        </p>
4895                                    </div>
4896                                </div>
4897                                <!-- /One-time Order Radio Box -->
4898                            </div>
4899                        </div>
4900                        <!-- /Subscription Options Section -->
4901
4902                        <!-- Add to Cart Section -->
4903                        <div class="rebuy-bundle-builder__group-container-action">
4904                            <div class="rebuy-bundle-builder__cta-container">
4905                                <button
4906                                    class="rebuy-button"
4907                                    v-on:click="addSelectedProductsToCart()"
4908                                    v-bind:disabled="shouldDisableAddBundleToCart(products)"
4909                                    aria-label="Add all selected products to cart"
4910                                    >
4911                                    <span v-html="buttonWidgetLabel()"></span>
4912
4913                                    <span v-if="!hasSelectedEnabledBundleSubscription()">
4914                                        <span v-if="bundleHasEligibleDiscount()">
4915                                            <span class="rebuy-money sale">
4916                                                <span class="sr-only">Sale subtotal price</span>
4917                                                <span tabindex="0" v-html="formatMoney(getBundleDiscountedSubtotal(products))"></span>
4918                                            </span>
4919
4920                                            <span class="rebuy-money compare-at">
4921                                                <span class="sr-only">Original subtotal price</span>
4922                                                <span v-html="formatMoney(getBundleSubtotal(products))"></span>
4923                                            </span>
4924                                        </span>
4925
4926                                        <span v-if="!bundleHasEligibleDiscount() && getBundleSubtotal(products)" class="rebuy-money sale">
4927                                            <span class="sr-only">Subtotal price</span>
4928                                            <span tabindex="0" v-html="formatMoney(getBundleSubtotal(products))"></span>
4929                                        </span>
4930                                    </span>
4931                                </button>
4932                            </div>
4933                        </div>
4934                    </div>
4935                    <!-- /Add to Cart Section -->
4936                </div>
4937                <!-- /Product Group Section -->
4938            </div>
4939            <!-- /Body Section -->
4940        </div>
4941
4942
4943        <div
4944            v-if="has_container_expanded"
4945            class="rebuy-bundle-builder__full-screen-background rebuy-full-screen__background"
4946            v-on:click="handleExpandingBundleContainer()">
4947        </div>
4948    </div>
4949</script>
4949
4950
4951<!-- Modal -->
4952
4953
4954<script id="rebuy-modal-variant-template" type="text/template">
4955 <div class="rebuy-modal" v-cloak v-bind:class="[visible ? 'is-visible' : 'is-hidden']" v-on:click="stopPropagation($event)">
4956    <div class="rebuy-modal__container" v-cloak v-bind:class="[style, visible ? 'is-visible' : 'is-hidden']">
4957
4958            <!-- CUSTOM -->
4959        <button class="rebuy-modal-close"
4960            v-for="(button, button_index) in buttons"
4961            v-if="button_index == 1"
4962            v-on:click="click(button)"
4963            type="button"
4964            aria-label="Close modal"
4965        >
4966            <svg width="14" height="14" viewBox="0 0 14 14" fill="#000000" xmlns="http://www.w3.org/2000/svg">
4967                <path d="M13 1L1 13M13 13L1 1" stroke="#000000" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
4968            </svg>
4969        </button>
4970        <!-- /CUSTOM -->
4971
4972        <div class="rebuy-modal__container-body">
4973
4974            <div class="rebuy-modal__product" v-bind:class="getModalLayoutClasses(settings.layout)">
4975
4976                <div class="rebuy-modal__product-media">
4977                    <img
4978                        class="rebuy-modal__product-media-image"
4979                        v-bind:src="sizeImage(getSelectedImage()?.src, '400x400')"
4980                        v-bind:alt="product.title"
4981                    />
4982
4983                    <div v-if="shouldShowSubImages()" class="rebuy-modal__product-sub-images">
4984                        <div
4985                            v-for="(image, index) in product.images"
4986                            :key="image.id + '-sub-image-' + index"
4987                            class="rebuy-modal__product-sub-image"
4988                            v-on:click="handleSelectingImage(image)"
4989                            v-bind:class="{ 'is-active': getSelectedImage()?.id === image.id }"
4990                            role="button"
4991                            tabindex="0">
4992                            <img
4993                                v-bind:src="sizeImage(image.src, '200x200')"
4994                                v-bind:alt="product.title"
4995                            />
4996                        </div>
4997                    </div>
4998
4999                        <!-- CUSTOM -->
5000                        <div v-if="product?.tags?.includes('badge:')"  class="rebuy-product-badge-container">
5001                            <div v-for="tag in product.tags.split(',').filter(tag => tag.includes('badge:'))" 
5002                            v-html="window.formatBadgeText(tag)" 
5003                            :style="{ backgroundColor: window?.theme?.badgeColors?.background || '#01656f', color: window?.theme?.badgeColors?.color || '#ffffff' }"
5004                            v-bind:class="[ window.formatBadgeClass(tag) ]"
5005                            class="rebuy-product-badge"></div>
5006                        </div>
5007                        <!-- END CUSTOM -->
5008
5009                </div>
5010
5011                <div class="rebuy-modal__product-info">
5012                    <h4 class="rebuy-modal__product-title" v-html="product.title"></h4>
5013                    <div class="rebuy-modal__product-description" v-html="product.description"></div>
5014
5015                    <div class="rebuy-modal__product-price">
5016                        <div v-if="variantOnSale(product, product.selected_variant)">
5017                            <span class="rebuy-money sale" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
5018                            <span class="rebuy-money compare-at" v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
5019                        </div>
5020                        <div v-if="!(variantOnSale(product, product.selected_variant))">
5021                            <span class="rebuy-money" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
5022                        </div>
5023                    </div>
5024
5025                    <div class="rebuy-modal__product-options">
5026                        <div v-if="isVariantSelectorButtons()" class="rebuy-modal__product-option" v-for="option in product.options">
5027                            <div class="rebuy-modal__product-option-title">{{ option.name }}</div>
5028                            <div class="rebuy-modal__product-option-buttons">
5029                                <button
5030                                    class="rebuy-option-button"
5031                                    v-for="(value, index) in option.values"
5032                                    v-bind:class="{ 'is-active': product.selected_variant['option' + option.position] == value, 'is-unavailable': !variantOptionAvailable(product, 'option' + option.position, value) }"
5033                                    v-on:click="selectVariantOption(product, 'option' + option.position, value)"
5034                                    >
5035                                    {{ value }}
5036                                </button>
5037                            </div>
5038                        </div>
5039
5040                        <div v-if="!isVariantSelectorButtons() && shouldShowVariantSelector()" class="rebuy-modal__product-option-select">
5041                            <select
5042                                class="rebuy-select"
5043                                v-bind:aria-label="'variant of ' + product.title"
5044                                v-model="product.selected_variant_id"
5045                                v-on:change="selectVariant(product)"
5046                            >
5047                                <option v-for="variant in product.variants" v-bind:value="variant.id">{{ variant.title }}</option>
5048                            </select>
5049                        </div>
5050                    </div>
5051
5052                </div>
5053
5054            </div>
5055
5056        </div>
5057
5058        <div class="rebuy-modal__container-actions" v-bind:class="[buttons.length > 1 ? 'multi-button' : 'single-button']">
5059            <button class="rebuy-button"
5060                v-for="button in buttons"
5061                v-bind:class="[button.type]"
5062                v-on:click="click(button)"
5063                v-html="button.label"
5064                type="button"
5065            >
5066            </button>
5067        </div>
5068
5069    </div>
5070</div>
5071</script>
5071
5072
5073<!-- Popup Widget Template -->
5074<script id="rebuy-widget-259326" type="text/template">
5075<div class="rebuy-widget"
5076v-cloak
5077v-on:click="stopPropagation($event)"
5078v-bind:id="'rebuy-widget-' + id"
5079v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">
5080
5081    <div
5082        class="rebuy-widget-container"
5083        v-cloak
5084        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
5085        v-on:click.self="hide()">
5086
5087        <div class="rebuy-widget-content">
5088            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
5089                <rebuy-icon name="x"></rebuy-icon>
5090            </div>
5091
5092            <div class="rebuy-timer" v-if="hasTimer()">
5093                <p class="rebuy-timer-title" v-if="config.language.timer_title">
5094                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
5095                </p>
5096            </div>
5097
5098            <h3 class="super-title" v-if="config.language.super_title != ''" v-html="config.language.super_title"></h3>
5099
5100            <h4 class="primary-title" v-if="config.language.title != ''" v-html="config.language.title"></h4>
5101
5102            <div class="description" v-if="config.language.description != ''" v-html="config.language.description"></div>
5103
5104            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">
5105
5106                <div
5107                    v-for="(product, product_index) in products"
5108                    v-bind:class="[
5109                        product.handle,
5110                        'product-id-' + product.id,
5111                        cartHasProduct(product) ? 'cart-has-item' : '',
5112                        productTagClasses(product),
5113                        hasSplideCarousel ? 'splide__slide' : '',
5114                    ]"
5115                    aria-label="product"
5116                    class="rebuy-product-block"
5117                    role="listitem"
5118                >
5119
5120                    <div class="rebuy-product-media">
5121                        <a
5122                            class="rebuy-product-image"
5123                            tabindex="-1"
5124                            v-bind:href="learnMoreURL(product)"
5125                            v-bind:style="imageStyles"
5126                            v-on:click="learnMore(product, $event);"
5127                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
5128                            rel="nofollow"
5129                        >
5130                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
5131                        </a>
5132
5133                        <!-- CUSTOM -->
5134                        <div v-if="product?.tags?.includes('badge:')"  class="rebuy-product-badge-container">
5135                            <div v-for="tag in product.tags.split(',').filter(tag => tag.includes('badge:'))" 
5136                            v-html="window.formatBadgeText(tag)" 
5137                            :style="{ backgroundColor: window?.theme?.badgeColors?.background || '#01656f', color: window?.theme?.badgeColors?.color || '#ffffff' }"
5138                            v-bind:class="[ window.formatBadgeClass(tag) ]"
5139                            class="rebuy-product-badge"></div>
5140                        </div>
5141                        <!-- END CUSTOM -->
5142
5143                    </div>
5144                    <div class="rebuy-product-info">
5145                        <h5
5146                            class="rebuy-product-title"
5147                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
5148                            <a
5149                                v-bind:href="learnMoreURL(product)"
5150                                class="rebuy-product-title-link"
5151                                v-on:click="learnMore(product, $event);"
5152                                v-html="product.title"
5153                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
5154                                v-bind:aria-label="'View ' + product.title"
5155                                rel="nofollow"
5156                            ></a>
5157                        </h5>
5158                        <div
5159                            class="rebuy-product-vendor-container"
5160                            v-if="showProductVendor(product.vendor)"
5161                        >
5162                            <a
5163                                class="rebuy-product-vendor"
5164                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
5165                                v-html="product.vendor"
5166                                v-bind:href="vendorURL(product.vendor)"
5167                                v-bind:aria-label="'View ' + product.vendor + ' products'"
5168                                rel="nofollow"
5169                            ></a>
5170                        </div>
5171                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
5172                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
5173                            <span class="rebuy-star-rating">
5174                                <span
5175                                    v-if="product.reviews.star_rating"
5176                                    class="rebuy-star-rating-value sr-only"
5177                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
5178                                >
5179                                </span>
5180                                <span class="rebuy-star-rating-background"></span>
5181                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
5182                            </span>
5183                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
5184                        </div>
5185
5186                        <div class="rebuy-product-price">
5187                            <div v-if="variantOnSale(product, product.selected_variant)">
5188                                <span class="rebuy-money sale">
5189                                    <span class="sr-only">Sale price</span>
5190                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
5191                                </span>
5192                                <span class="rebuy-money compare-at">
5193                                    <span class="sr-only">Original price</span>
5194                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
5195                                </span>
5196                            </div>
5197                            <div v-if="!(variantOnSale(product, product.selected_variant))">
5198                                <span class="rebuy-money">
5199                                    <span class="sr-only">Price</span>
5200                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
5201                                </span>
5202                            </div>
5203                        </div>
5204                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
5205                    </div>
5206                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
5207                        <select
5208                            title="Select product variant"
5209                            :id="id + '-' + 'select' + '-' + product_index"
5210                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
5211                            class="rebuy-select"
5212                            v-bind:aria-label="'variant of ' + product.title"
5213                            v-model="product.selected_variant_id"
5214                            v-on:change="selectVariant(product)">
5215                            <option
5216                                v-for="variant in product.variants"
5217                                class="rebuy-product-options__option"
5218                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
5219                                v-bind:value="variant.id"
5220                                :disabled="!variantAvailable(variant)"
5221                                v-html="formatVariantOptionTitle(variant)">
5222                            </option>
5223                        </select>
5224
5225                        <div
5226                            class="rebuy-product-options__button-swatches-container"
5227                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
5228                            >
5229                            <div
5230                                v-for="option in product.options"
5231                                :key="'option-' + product.id + '-' + option.name"
5232                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
5233                                >
5234                                <div
5235                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
5236                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
5237                                    >
5238                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
5239                                        <input
5240                                            :name="id + '-color-' + product_index"
5241                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
5242                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
5243                                            :value="value"
5244                                            type="radio"
5245                                            class="rebuy-color-input hide"
5246                                            v-on:change="selectVariantByOption(product, option.name, value)"
5247                                            :disabled="isDisabledOptionValue(product, option.name, value)"
5248                                        />
5249
5250                                        <label
5251                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
5252                                            :style="getMerchantThemeColorAssetStyle(value)"
5253                                            :title="value"
5254                                            class="rebuy-color-label"
5255                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
5256                                        >
5257                                        </label>
5258                                    </div>
5259
5260                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
5261                                        <input
5262                                            :name="id + '-' + option.name + '-' + product_index"
5263                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
5264                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
5265                                            :value="value"
5266                                            type="radio"
5267                                            class="rebuy-size-input hide"
5268                                            v-on:change="selectVariantByOption(product, option.name, value)"
5269                                            :disabled="isDisabledOptionValue(product, option.name, value)"
5270                                        />
5271
5272                                        <label
5273                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
5274                                            class="rebuy-size-label"
5275                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
5276                                        >
5277                                            {{ value }}
5278                                        </label>
5279                                    </div>
5280                                </div>
5281                            </div>
5282                        </div>
5283                    </div>
5284
5285                    <div class="rebuy-product-actions">
5286                        <div class="subscription-checkbox" v-if="showSubscriptionOptions(product)">
5287                            <label class="rebuy-checkbox-label">
5288                                <input
5289                                    class="checkbox-input rebuy-checkbox"
5290                                    v-model="product.subscription"
5291                                    v-on:change="toggleSubscription(product)"
5292                                    type="checkbox"
5293                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
5294                                />
5295                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
5296                            </label>
5297                        </div>
5298
5299                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product)">
5300                            <select
5301                                class="rebuy-select"
5302                                aria-label="subscription frequency"
5303                                v-model="product.subscription_frequency"
5304                                v-on:change="updateSubscriptionFrequency(product)">
5305                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
5306                            </select>
5307                        </div>
5308
5309                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
5310                            <div class="rebuy-select-wrapper">
5311                                <label class="rebuy-label">Quantity</label>
5312                                <select
5313                                    class="rebuy-select"
5314                                    aria-label="product quantity"
5315                                    v-model="product.quantity">
5316                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
5317                                </select>
5318                            </div>
5319                        </div>
5320
5321                        <button
5322                            class="rebuy-button"
5323                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
5324                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
5325                            v-bind:aria-label="buttonAriaLabel(product)"
5326                            v-on:click="addToCart(product)"
5327                            type="button">
5328                                <span v-html="buttonLabel(product)"></span>
5329                        </button>
5330                    </div>
5331                </div>
5332
5333            </div>
5334
5335            <div class="rebuy-modal-actions" v-if="showContinueButton()">
5336                <button
5337                    class="rebuy-button decline"
5338                    v-on:click="hide()"
5339                    type="button">
5340                        <span v-html="continueLabel()"></span>
5341                </button>
5342            </div>
5343
5344            <div class="powered-by-rebuy">
5345                <a v-bind:href="'https://rebuyengine.com/?shop=' + config.shop.myshopify_domain" target="_blank" rel="noopener">
5346                    Powered by Rebuy
5347                </a>
5348            </div>
5349
5350        </div>
5351
5352    </div>
5353</div>
5354</script>
5354
5355 
5356  <!-- Launch: Get product badge colors from theme settings -->
5356<script>
5357    window.theme.badgeColors = window?.theme?.badgeColors || {
5358        background: "#ab0000",
5359        color: "#ffffff"
5360    };
5361
5362    window.formatBadgeClass = (badgeTag) => {
5363        return badgeTag.toLowerCase().trim().replaceAll(':', '-').replaceAll(' ', '-')
5364    }
5365</script>
5365
5366
5367<!-- Home Page widgets -->
5368 
5369  <!-- Rebuy END -->
5370   
5370<script type="text/javascript" src="https://cdn.attn.tv/homedics/dtag.js?source=app-embed" defer="defer"></script>
5370
5371<style> .h1,.h2,.h3,h1,h2,h3 {letter-spacing: 0.01em;} .product-tags .grid-product__tag--sale {display: none;} @media (max-width: 600px) {.rebuy-product-badge {font-size: 9px; } .product-tags .grid-product__tag {font-size: 9px !important; }} .dg-consent-banner {display: none !important;} .essential_countdown_annoucement_bar_wrapper {display: none !important;} @media screen and (max-width: 749px) {.hero__top-subtitle {font-size: 12px; }} </style>
5372<div id="shopify-block-AWFNNenlBR2N5d2ZuU__12657775114333427046" class="shopify-block shopify-app-block">
5372<script>
5373  
5374    window.essentialCountdownTimerConfigs = [{"id":"cmr4toxyj001gy9r0jh3wfs27","name":"Timer 3 oils + Diffuser","title":"Buy Any 3 Oils. Get a FREE Diffuser.","customTitle":"","endDate":"2026-07-19T11:59:00.000Z","startDate":"2026-07-08T20:37:00.000Z","subheading":"Only applicable to 120ml scents. Ends July 19th, 2026","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:\/\/www.homedics.com\/collections\/serenescent-wellness-series","closeButton":false,"buttonText":"Shop now!","updatedAt":"2026-07-08T20:37:20.797Z","createdAt":"2026-07-03T11:01:07.629Z","onceItEnds":"hide","style":{"font":"","image":"https:\/\/cache-essential-apps.cc\/image_backgrounds\/dark_pine_branches.jpg","position":"bottom-page","stickyBar":false,"timerSize":"22","titleSize":"18","borderSize":"1","buttonText":"Shop now!","legendSize":"12","timerColor":"#202223","titleColor":"#202223","borderColor":"#E3E3E3","gradientEnd":"#FFFFFF","legendColor":"#6d7175","singleColor":"#FFFFFF","gradientTurn":"90","timerBgColor":"#E1E2EE","gradientStart":"#DDDDDD","backgroundType":"singleBackground","buttonFontSize":"14","closeIconColor":"#6d7175","subheadingSize":"14","timerStyleType":"Plain","buttonFontColor":"#FFFFFF","subheadingColor":"#6D7175","imageOverlayColor":"#ffffff","timerBorderRadius":"8","buttonBorderRadius":"4","announcementBarStyle":"line-centered","buttonBackgroundColor":"#202223","imageOverlayColorRgba":"rgba(255, 255, 255, 0.20)","imageOverlayColorAlpha":"0.2"},"recurringDays":[],"startType":"today","endType":"never","productTags":[],"showInCountries":["US"],"locationType":"on-countries","translations":[],"showOnProductsInCollections":[],"excludeOnPages":["keywords-in-url","specific-urls"],"excludeOnSpecificUrls":["https:\/\/www.homedics.com\/pages\/build-your-starter-kit"],"excludeOnKeywordsInUrl":["\/pages\/build-your-starter-kit","\/pages\/subscription-bundle"],"excludeOnProducts":[],"excludeOnCollections":[],"duration":919298821},];
5375  
5376  const essentialCollectionId = null;
5377  window.essentialCountdownTimerMeta = {
5378    productData: null,
5379    productCollections: null,
5380  };
5381  window.essentialProductId = null
5382  window.essentialProductTags = null
5383  window.essentialCollectionId = null
5384  window.essentialCountdownTimerPageTemplate = "customers\/login"
5385  
5386</script>
5386
5387
5388
5389
5390<style>
5391  .essential-countdown-timer-img-reset {
5392    /* wipe common globals */
5393    box-sizing: content-box;
5394    display: inline;
5395    width: auto;
5396    height: auto;
5397    max-width: none;
5398    max-height: none;
5399    margin: 0;
5400    padding: 0;
5401    border: none;
5402    border-radius: 0;
5403    box-shadow: none;
5404    background: none;
5405    object-fit: fill;
5406    object-position: 50% 50%;
5407    filter: none;
5408    opacity: 1;
5409    position: static;
5410    float: none;
5411    clear: none;
5412    vertical-align: baseline;
5413    transform: none;
5414    transition: none;
5415    animation: none;
5416    /* typography sometimes leaks via universal selectors */
5417    font: inherit;
5418    line-height: normal;
5419    letter-spacing: normal;
5420    text-align: start;
5421  }
5422</style>
5423
5424
5425</div><div id="shopify-block-AVmMvSlRLZkZxelVSe__7594718713064568544" class="shopify-block shopify-app-block">
5426
5427
5428
5429
5430
5431
5432
5433</div>
5433<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
5433
5434</body>
5435</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.