1<!doctype html> 2<html 3 class="no-js" 4 lang="en" 5 data-scheme="light" 6 dir="ltr" 7> 8 <head> 9 <meta charset="utf-8"> 10 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 11 <meta name="viewport" content="width=device-width,initial-scale=1"> 12 <meta name="theme-color" content=""> 13 <link rel="canonical" href="https://handsfreelabs.com/collections"> 14 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link 15 rel="icon" 16 type="image/png" 17 href="//handsfreelabs.com/cdn/shop/files/favicon-32.png?crop=center&height=32&v=1778097734&width=32" 18 ><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title>Collections</title> 19 20 21 22 23 24<meta property="og:site_name" content="HandsFree Labs"> 25<meta property="og:url" content="https://handsfreelabs.com/collections"> 26<meta property="og:title" content="Collections"> 27<meta property="og:type" content="website"> 28<meta property="og:description" content="HandsFree Labs"><meta name="twitter:card" content="summary_large_image"> 29<meta name="twitter:title" content="Collections"> 30<meta name="twitter:description" content="HandsFree Labs"> 31 32 33
33<script src="//handsfreelabs.com/cdn/shop/t/3/assets/constants.js?v=57430444635880596041764838196" defer="defer"></script>
33 34
34<script src="//handsfreelabs.com/cdn/shop/t/3/assets/pubsub.js?v=2921868252632587581764838197" defer="defer"></script>
34 35
35<script src="//handsfreelabs.com/cdn/shop/t/3/assets/gsap.min.js?v=98399229928229536421764838196" defer="defer"></script>
35 36
36<script src="//handsfreelabs.com/cdn/shop/t/3/assets/ScrollTrigger.min.js?v=51844696078135174451764838196" defer="defer"></script>
36 37
37<script src="//handsfreelabs.com/cdn/shop/t/3/assets/swiper-bundle.min.js?v=42379388556186317811764838197" defer="defer"></script>
37 38
38<script src="//handsfreelabs.com/cdn/shop/t/3/assets/global.js?v=51923112895351289921764838196" defer="defer"></script>
38 39 40 41
41<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
41<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/96469713215/digital_wallets/dialog"> 42<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
42<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=6478168383"></script>
vendor: 1 bytes, line 42
42
43<script id="shopify-features" type="application/json">{"accessToken":"2d6a1d76d09881f5fe01c7f82043e6ac","betas":["rich-media-storefront-analytics"],"domain":"handsfreelabs.com","predictiveSearch":true,"shopId":96469713215,"locale":"en"}</script>
vendor: 1 bytes, line 43
43
44<script>var Shopify = Shopify || {}; 45Shopify.shop = "handsfree-labs.myshopify.com"; 46Shopify.locale = "en"; 47Shopify.currency = {"active":"USD","rate":"1.0"}; 48Shopify.country = "US"; 49Shopify.theme = {"name":"San Francisco","id":182742090047,"schema_name":"San Francisco","schema_version":"2.3.0","theme_store_id":3210,"role":"main"}; 50Shopify.theme.handle = "null"; 51Shopify.theme.style = {"id":null,"handle":null}; 52Shopify.cdnHost = "handsfreelabs.com/cdn"; 53Shopify.routes = Shopify.routes || {}; 54Shopify.routes.root = "/"; 55Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 56Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 57Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 58Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 58
58
59<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 59
59
60<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 60
60
61<script> 62 window.Shopify = window.Shopify || {}; 63 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 64 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 65 window.Shopify.SignInWithShop.eligible = true; 66</script>
vendor: 1 bytes, line 66
66
67<script id="shop-js-analytics" type="application/json">{"pageType":"list-collections"}</script>
vendor: 1 bytes, line 67
67
68<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 68
68
69<script type="module"> 70 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 71 72 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 73 74</script>
vendor: 1 bytes, line 74
74
75<script> 76 window.Shopify = window.Shopify || {}; 77 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 78 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"]}; 79</script>
vendor: 1 bytes, line 79
79
80<script id="__st">var __st={"a":96469713215,"offset":-14400,"reqid":"179ba366-d18e-4796-817e-689dee8e44c6-1791392150","pageurl":"handsfreelabs.com\/collections?sort_by=best-selling","u":"13eb934f77b5","p":"collections"};</script>
vendor: 1 bytes, line 80
80
81<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 81
81
82<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 82
82
83<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//handsfreelabs.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 83
83
84<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 = "//handsfreelabs.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>
84<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 84
84
85<script> 86 window.Shopify = window.Shopify || {}; 87 window.Shopify.MCP = window.Shopify.MCP || {}; 88 window.Shopify.MCP.enabled = true; 89 window.Shopify.MCP.shop = "handsfree-labs.myshopify.com"; 90 window.Shopify.MCP.mcpEndpoint = "https:\/\/handsfreelabs.com\/api\/mcp"; 91 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 92</script>
vendor: 1 bytes, line 92
92
93<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("\/\/handsfreelabs.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 94</script>
vendor: 1 bytes, line 94
94
95<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://handsfreelabs.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 96</script>
vendor: 1 bytes, line 96
96
97<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 98 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); 99</script>
vendor: 1 bytes, line 99
99
100<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})}})); 101</script>
vendor: 1 bytes, line 101
101
102<script id="sections-script" data-sections="header" defer="defer" src="//handsfreelabs.com/cdn/shop/t/3/compiled_assets/scripts.js?v=6552047183903886731764838212"></script>
vendor: 1 bytes, line 102
102
103<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
103 104 105 106 107 108 109<style data-shopify> 110 @font-face { 111 font-family: "DM Sans"; 112 font-weight: 300; 113 font-style: normal; 114 font-display: swap; 115 src: url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n3.d218434bb518134511e5205d90c23cfb8a1b261b.woff2") format("woff2"), 116 url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n3.0c324a11de656e0e3f656188ad5de9ff34f70c04.woff") format("woff"); 117} 118 119 @font-face { 120 font-family: Montserrat; 121 font-weight: 900; 122 font-style: normal; 123 font-display: swap; 124 src: url("//handsfreelabs.com/cdn/fonts/montserrat/montserrat_n9.680ded1be351aa3bf3b3650ac5f6df485af8a07c.woff2") format("woff2"), 125 url("//handsfreelabs.com/cdn/fonts/montserrat/montserrat_n9.0cc5aaeff26ef35c23b69a061997d78c9697a382.woff") format("woff"); 126} 127 128 @font-face { 129 font-family: "DM Sans"; 130 font-weight: 400; 131 font-style: normal; 132 font-display: swap; 133 src: url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2") format("woff2"), 134 url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n4.87bdd914d8a61247b911147ae68e754d695c58a6.woff") format("woff"); 135} 136 137 @font-face { 138 font-family: Inter; 139 font-weight: 500; 140 font-style: normal; 141 font-display: swap; 142 src: url("//handsfreelabs.com/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2") format("woff2"), 143 url("//handsfreelabs.com/cdn/fonts/inter/inter_n5.5332a76bbd27da00474c136abb1ca3cbbf259068.woff") format("woff"); 144} 145 146 @font-face { 147 font-family: "DM Sans"; 148 font-weight: 400; 149 font-style: normal; 150 font-display: swap; 151 src: url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2") format("woff2"), 152 url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n4.87bdd914d8a61247b911147ae68e754d695c58a6.woff") format("woff"); 153} 154 155 @font-face { 156 font-family: "IBM Plex Mono"; 157 font-weight: 300; 158 font-style: normal; 159 font-display: swap; 160 src: url("//handsfreelabs.com/cdn/fonts/ibm_plex_mono/ibmplexmono_n3.22603c15b79c3821d0c9975c4697e41257912f5b.woff2") format("woff2"), 161 url("//handsfreelabs.com/cdn/fonts/ibm_plex_mono/ibmplexmono_n3.d301f132c1b75786f58e3508b257602ba2a45508.woff") format("woff"); 162} 163 164 @font-face { 165 font-family: Inter; 166 font-weight: 500; 167 font-style: normal; 168 font-display: swap; 169 src: url("//handsfreelabs.com/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2") format("woff2"), 170 url("//handsfreelabs.com/cdn/fonts/inter/inter_n5.5332a76bbd27da00474c136abb1ca3cbbf259068.woff") format("woff"); 171} 172 173 @font-face { 174 font-family: Inter; 175 font-weight: 400; 176 font-style: normal; 177 font-display: swap; 178 src: url("//handsfreelabs.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"), 179 url("//handsfreelabs.com/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff"); 180} 181 182 @font-face { 183 font-family: Inter; 184 font-weight: 400; 185 font-style: normal; 186 font-display: swap; 187 src: url("//handsfreelabs.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"), 188 url("//handsfreelabs.com/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff"); 189} 190 191 @font-face { 192 font-family: Inter; 193 font-weight: 400; 194 font-style: normal; 195 font-display: swap; 196 src: url("//handsfreelabs.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"), 197 url("//handsfreelabs.com/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff"); 198} 199 200 201 @font-face { 202 font-family: "DM Sans"; 203 font-weight: 300; 204 font-style: normal; 205 font-display: swap; 206 src: url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n3.d218434bb518134511e5205d90c23cfb8a1b261b.woff2") format("woff2"), 207 url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n3.0c324a11de656e0e3f656188ad5de9ff34f70c04.woff") format("woff"); 208} 209 210 @font-face { 211 font-family: "DM Sans"; 212 font-weight: 400; 213 font-style: normal; 214 font-display: swap; 215 src: url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2") format("woff2"), 216 url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n4.87bdd914d8a61247b911147ae68e754d695c58a6.woff") format("woff"); 217} 218 219 @font-face { 220 font-family: "DM Sans"; 221 font-weight: 500; 222 font-style: normal; 223 font-display: swap; 224 src: url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n5.8a0f1984c77eb7186ceb87c4da2173ff65eb012e.woff2") format("woff2"), 225 url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n5.9ad2e755a89e15b3d6c53259daad5fc9609888e6.woff") format("woff"); 226} 227 228 @font-face { 229 font-family: "DM Sans"; 230 font-weight: 700; 231 font-style: normal; 232 font-display: swap; 233 src: url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n7.97e21d81502002291ea1de8aefb79170c6946ce5.woff2") format("woff2"), 234 url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n7.af5c214f5116410ca1d53a2090665620e78e2e1b.woff") format("woff"); 235} 236 237 @font-face { 238 font-family: "DM Sans"; 239 font-weight: 300; 240 font-style: italic; 241 font-display: swap; 242 src: url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_i3.cf32206a8995abc7c8c1c761d4057a4728acd370.woff2") format("woff2"), 243 url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_i3.b485aa24a097d5067a26fc4100ad5d538e05ee39.woff") format("woff"); 244} 245 246 @font-face { 247 font-family: Montserrat; 248 font-weight: 900; 249 font-style: italic; 250 font-display: swap; 251 src: url("//handsfreelabs.com/cdn/fonts/montserrat/montserrat_i9.cd566e55c5982a3a39b3949665a79c881e095b14.woff2") format("woff2"), 252 url("//handsfreelabs.com/cdn/fonts/montserrat/montserrat_i9.b18527943b7f5bc1488b82e39deb595a73d3e645.woff") format("woff"); 253} 254 255 @font-face { 256 font-family: "DM Sans"; 257 font-weight: 700; 258 font-style: italic; 259 font-display: swap; 260 src: url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_i7.52b57f7d7342eb7255084623d98ab83fd96e7f9b.woff2") format("woff2"), 261 url("//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_i7.d5e14ef18a1d4a8ce78a4187580b4eb1759c2eda.woff") format("woff"); 262} 263 264 265 :root { 266 --font-body-family: "DM Sans", sans-serif; 267 --font-body-style: normal; 268 --font-body-weight: 300; 269 --font-body-scale: 1.15; 270 --font-body-line-height: 1.4; 271 --font-body-letter-spacing: 0.05em; 272 273 --font-heading-family: Montserrat, sans-serif; 274 --font-heading-style: normal; 275 --font-heading-weight: 900; 276 --font-heading-letter-spacing: -0.05em; 277 --font-heading-line-height: 1.1; 278 --font-heading-text-transform: uppercase; 279 280 --font-subtitle-family: "IBM Plex Mono", monospace; 281 --font-subtitle-style: normal; 282 --font-subtitle-weight: 300; 283 --font-subtitle-text-transform: uppercase; 284 --font-subtitle-scale: 1.2; 285 286 --font-heading-h0-scale: 1.2; 287 --font-heading-h1-scale: 1.2; 288 --font-heading-h2-scale: 1.15; 289 --font-heading-h3-scale: 1.1; 290 --font-heading-h4-scale: 1.05; 291 --font-heading-h5-scale: 1.0; 292 293 --font-heading-card-family: Inter, sans-serif; 294 --font-heading-card-style: normal; 295 --font-heading-card-weight: 500; 296 --font-heading-card-text-transform: none; 297 --font-text-card-family: "DM Sans", sans-serif; 298 --font-text-card-style: normal; 299 --font-text-card-weight: 400; 300 301 --font-heading-card-scale: 1.0; 302 --font-text-card-scale: 1.6; 303 304 /* BUTTONS */ 305 --font-button-family: "DM Sans", sans-serif; 306 --font-button-style: normal; 307 --font-button-weight: 400; 308 --font-button-text-transform: none; 309 --font-button-letter-spacing: -0.03em; 310 --font-button-scale: 1.6; 311 312 --font-subtitle-letter-spacing: 0.08em; 313 314 --font-header-menu-family: Inter, sans-serif; 315 --font-header-menu-style: normal; 316 --font-header-menu-weight: 500; 317 --font-header-menu-text-scale: 1.5; 318 --font-header-menu-letter-spacing: -0.03em; 319 --font-header-menu-text-transform: none; 320 321 --font-footer-menu-family: Inter, sans-serif; 322 --font-footer-menu-style: normal; 323 --font-footer-menu-weight: 400; 324 325 --font-popups-heading-family: Inter, sans-serif; 326 --font-popups-heading-style: normal; 327 --font-popups-heading-weight: 400; 328 --font-popups-text-family: Inter, sans-serif; 329 --font-popups-text-style: normal; 330 --font-popups-text-weight: 400; 331 --font-popup-heading-scale: 1.23; 332 --font-popup-desc-scale: 1.0; 333 --font-popup-text-scale: 1.07; 334 --font-notification-heading-scale: 1.0; 335 --font-notification-text-scale: 1.0; 336 } 337</style> 338 339 340 341 <style data-shopify> 342 343 :root, 344 [data-scheme=light] .color-background-1 { 345 --color-background: 0,0,0; 346 --color-background-secondary: 0,0,0; 347 --color-foreground: 255, 255, 255; 348 349 --overwrite-background: #000000; 350 351 --color-foreground-secondary: 0, 255, 145; 352 --color-overlay: 0,0,0; 353 --color-button-text: 0, 0, 0; 354 --color-button-text-hover: 0, 255, 145; 355 --color-button: 0, 255, 145; 356 --color-button-hover: 0, 0, 0; 357 --color-button-secondary: 229, 229, 230; 358 --color-button-secondary-hover: 223, 223, 224; 359 --color-button-secondary-text: 38, 45, 51; 360 --color-button-secondary-text-hover: 38, 45, 51; 361 --color-button-tertiary-text: 38, 45, 51; 362 363 --color-border-input: 222, 224, 224; 364 --color-border: 255, 255, 255; 365 --color-scrollbar: 103, 108, 112; 366 367 --sold-out-badge-bg: 255,255,255; 368 --sold-out-badge-color: 123,127,132; 369 --sale-badge-bg: 38,45,51; 370 --sale-badge-color: 255,255,255; 371 --custom-badge-bg: 255,255,255; 372 --custom-badge-color: 38,45,51; 373 374 --color-card-price-regular: 103, 108, 112; 375 --color-card-price-sale: 202, 75, 21; 376 } 377 378 @media (prefers-color-scheme: light) { 379 :root, 380 [data-scheme=auto] .color-background-1 { 381 --color-background: 0,0,0; 382 --color-background-secondary: 0,0,0; 383 384 --overwrite-background: #000000; 385 386 --color-foreground: 255, 255, 255; 387 --color-foreground-secondary: 0, 255, 145; 388 --color-overlay: 0,0,0; 389 --color-button-text: 0, 0, 0; 390 --color-button-text-hover: 0, 255, 145; 391 --color-button: 0, 255, 145; 392 --color-button-hover: 0, 0, 0; 393 --color-button-secondary: 229, 229, 230; 394 --color-button-secondary-hover: 223, 223, 224; 395 --color-button-secondary-text: 38, 45, 51; 396 --color-button-secondary-text-hover: 38, 45, 51; 397 398 --color-button-tertiary-text: 38, 45, 51; 399 400 --color-border-input: 222, 224, 224; 401 --color-border: 255, 255, 255; 402 --color-scrollbar: 103, 108, 112; 403 404 --sold-out-badge-bg: 255,255,255; 405 --sold-out-badge-color: 123,127,132; 406 --sale-badge-bg: 38,45,51; 407 --sale-badge-color: 255,255,255; 408 --custom-badge-bg: 255,255,255; 409 --custom-badge-color: 38,45,51; 410 411 --color-card-price-regular: 103, 108, 112; 412 --color-card-price-sale: 202, 75, 21; 413 } 414 } 415 416 417 [data-scheme=light] .color-background-2 { 418 --color-background: 223,223,224; 419 --color-background-secondary: 255,255,255; 420 --color-foreground: 255, 255, 255; 421 422 --overwrite-background: #dfdfe0; 423 424 --color-foreground-secondary: 103, 108, 112; 425 --color-overlay: 0,0,0; 426 --color-button-text: 255, 255, 255; 427 --color-button-text-hover: 255, 255, 255; 428 --color-button: 38, 45, 51; 429 --color-button-hover: 71, 77, 82; 430 --color-button-secondary: 229, 229, 230; 431 --color-button-secondary-hover: 223, 223, 224; 432 --color-button-secondary-text: 38, 45, 51; 433 --color-button-secondary-text-hover: 38, 45, 51; 434 --color-button-tertiary-text: 38, 45, 51; 435 436 --color-border-input: 218, 217, 216; 437 --color-border: 218, 217, 216; 438 --color-scrollbar: 103, 108, 112; 439 440 --sold-out-badge-bg: 255,255,255; 441 --sold-out-badge-color: 123,127,132; 442 --sale-badge-bg: 38,45,51; 443 --sale-badge-color: 255,255,255; 444 --custom-badge-bg: 255,255,255; 445 --custom-badge-color: 38,45,51; 446 447 --color-card-price-regular: 103, 108, 112; 448 --color-card-price-sale: 202, 75, 21; 449 } 450 451 @media (prefers-color-scheme: light) { 452 453 [data-scheme=auto] .color-background-2 { 454 --color-background: 223,223,224; 455 --color-background-secondary: 255,255,255; 456 457 --overwrite-background: #dfdfe0; 458 459 --color-foreground: 255, 255, 255; 460 --color-foreground-secondary: 103, 108, 112; 461 --color-overlay: 0,0,0; 462 --color-button-text: 255, 255, 255; 463 --color-button-text-hover: 255, 255, 255; 464 --color-button: 38, 45, 51; 465 --color-button-hover: 71, 77, 82; 466 --color-button-secondary: 229, 229, 230; 467 --color-button-secondary-hover: 223, 223, 224; 468 --color-button-secondary-text: 38, 45, 51; 469 --color-button-secondary-text-hover: 38, 45, 51; 470 471 --color-button-tertiary-text: 38, 45, 51; 472 473 --color-border-input: 218, 217, 216; 474 --color-border: 218, 217, 216; 475 --color-scrollbar: 103, 108, 112; 476 477 --sold-out-badge-bg: 255,255,255; 478 --sold-out-badge-color: 123,127,132; 479 --sale-badge-bg: 38,45,51; 480 --sale-badge-color: 255,255,255; 481 --custom-badge-bg: 255,255,255; 482 --custom-badge-color: 38,45,51; 483 484 --color-card-price-regular: 103, 108, 112; 485 --color-card-price-sale: 202, 75, 21; 486 } 487 } 488 489 490 [data-scheme=light] .color-background-3 { 491 --color-background: 38,45,51; 492 --color-background-secondary: 49,56,61; 493 --color-foreground: 255, 255, 255; 494 495 --overwrite-background: #262d33; 496 497 --color-foreground-secondary: 168, 171, 173; 498 --color-overlay: 38,45,51; 499 --color-button-text: 38, 45, 51; 500 --color-button-text-hover: 38, 45, 51; 501 --color-button: 255, 255, 255; 502 --color-button-hover: 233, 234, 235; 503 --color-button-secondary: 229, 229, 230; 504 --color-button-secondary-hover: 223, 223, 224; 505 --color-button-secondary-text: 38, 45, 51; 506 --color-button-secondary-text-hover: 38, 45, 51; 507 --color-button-tertiary-text: 255, 255, 255; 508 509 --color-border-input: 168, 171, 173; 510 --color-border: 168, 171, 173; 511 --color-scrollbar: 168, 171, 173; 512 513 --sold-out-badge-bg: 82,89,97; 514 --sold-out-badge-color: 168,171,173; 515 --sale-badge-bg: 255,255,255; 516 --sale-badge-color: 38,45,51; 517 --custom-badge-bg: 82,89,97; 518 --custom-badge-color: 255,255,255; 519 520 --color-card-price-regular: 168, 171, 173; 521 --color-card-price-sale: 255, 255, 255; 522 } 523 524 @media (prefers-color-scheme: light) { 525 526 [data-scheme=auto] .color-background-3 { 527 --color-background: 38,45,51; 528 --color-background-secondary: 49,56,61; 529 530 --overwrite-background: #262d33; 531 532 --color-foreground: 255, 255, 255; 533 --color-foreground-secondary: 168, 171, 173; 534 --color-overlay: 38,45,51; 535 --color-button-text: 38, 45, 51; 536 --color-button-text-hover: 38, 45, 51; 537 --color-button: 255, 255, 255; 538 --color-button-hover: 233, 234, 235; 539 --color-button-secondary: 229, 229, 230; 540 --color-button-secondary-hover: 223, 223, 224; 541 --color-button-secondary-text: 38, 45, 51; 542 --color-button-secondary-text-hover: 38, 45, 51; 543 544 --color-button-tertiary-text: 255, 255, 255; 545 546 --color-border-input: 168, 171, 173; 547 --color-border: 168, 171, 173; 548 --color-scrollbar: 168, 171, 173; 549 550 --sold-out-badge-bg: 82,89,97; 551 --sold-out-badge-color: 168,171,173; 552 --sale-badge-bg: 255,255,255; 553 --sale-badge-color: 38,45,51; 554 --custom-badge-bg: 82,89,97; 555 --custom-badge-color: 255,255,255; 556 557 --color-card-price-regular: 168, 171, 173; 558 --color-card-price-sale: 255, 255, 255; 559 } 560 } 561 562 563 [data-scheme=light] .color-background-4 { 564 --color-background: 49,56,61; 565 --color-background-secondary: 38,45,51; 566 --color-foreground: 255, 255, 255; 567 568 --overwrite-background: #31383d; 569 570 --color-foreground-secondary: 168, 171, 173; 571 --color-overlay: 38,45,51; 572 --color-button-text: 38, 45, 51; 573 --color-button-text-hover: 38, 45, 51; 574 --color-button: 255, 255, 2
57455; 575 --color-button-hover: 233, 234, 235; 576 --color-button-secondary: 242, 241, 239; 577 --color-button-secondary-hover: 232, 231, 230; 578 --color-button-secondary-text: 38, 45, 51; 579 --color-button-secondary-text-hover: 38, 45, 51; 580 --color-button-tertiary-text: 255, 255, 255; 581 582 --color-border-input: 168, 171, 173; 583 --color-border: 168, 171, 173; 584 --color-scrollbar: 168, 171, 173; 585 586 --sold-out-badge-bg: 82,89,97; 587 --sold-out-badge-color: 168,171,173; 588 --sale-badge-bg: 255,255,255; 589 --sale-badge-color: 38,45,51; 590 --custom-badge-bg: 82,89,97; 591 --custom-badge-color: 255,255,255; 592 593 --color-card-price-regular: 168, 171, 173; 594 --color-card-price-sale: 255, 255, 255; 595 } 596 597 @media (prefers-color-scheme: light) { 598 599 [data-scheme=auto] .color-background-4 { 600 --color-background: 49,56,61; 601 --color-background-secondary: 38,45,51; 602 603 --overwrite-background: #31383d; 604 605 --color-foreground: 255, 255, 255; 606 --color-foreground-secondary: 168, 171, 173; 607 --color-overlay: 38,45,51; 608 --color-button-text: 38, 45, 51; 609 --color-button-text-hover: 38, 45, 51; 610 --color-button: 255, 255, 255; 611 --color-button-hover: 233, 234, 235; 612 --color-button-secondary: 242, 241, 239; 613 --color-button-secondary-hover: 232, 231, 230; 614 --color-button-secondary-text: 38, 45, 51; 615 --color-button-secondary-text-hover: 38, 45, 51; 616 617 --color-button-tertiary-text: 255, 255, 255; 618 619 --color-border-input: 168, 171, 173; 620 --color-border: 168, 171, 173; 621 --color-scrollbar: 168, 171, 173; 622 623 --sold-out-badge-bg: 82,89,97; 624 --sold-out-badge-color: 168,171,173; 625 --sale-badge-bg: 255,255,255; 626 --sale-badge-color: 38,45,51; 627 --custom-badge-bg: 82,89,97; 628 --custom-badge-color: 255,255,255; 629 630 --color-card-price-regular: 168, 171, 173; 631 --color-card-price-sale: 255, 255, 255; 632 } 633 } 634 635 636 body, .color-background-1, .color-background-2, .color-background-3, .color-background-4 { 637 color: rgba(var(--color-foreground)); 638 background: rgb(var(--color-background)); 639 background-attachment: fixed; 640 } 641 642 :root { 643 --color-shadow: var(--color-foreground); 644 --payment-terms-background-color: ; 645 --color-modal-overlay: 0,0,0;; 646 } 647 648 649 [data-scheme=dark] .color-background-1 { 650 --color-background: 31, 31, 31; 651 --color-background-secondary: 41, 41, 41; 652 --color-foreground: 255, 255, 255; 653 --color-foreground-secondary: 142, 142, 143; 654 --color-border-input: 73, 73, 73; 655 --color-border: 73, 73, 73; 656 --color-button: 0, 0, 0; 657 --color-button-hover: 0, 0, 0; 658 --color-button-text: 255, 255, 255; 659 --color-button-text-hover: 255, 255, 255; 660 --color-button-secondary: 36, 36, 36; 661 --color-button-secondary-hover: 36, 36, 36; 662 --color-button-secondary-text: 255, 255, 255; 663 --color-button-secondary-text-hover: 255, 255, 255; 664 --color-button-tertiary-text: 255, 255, 255; 665 --color-card-price-regular: 229, 229, 229; 666 --color-card-price-sale: 169, 169, 169; 667 --color-error-background: 0, 0, 0; 668 --color-shadow: 75, 75, 75; 669 --sold-out-badge-bg: 51, 51, 51; 670 --sold-out-badge-color: 255, 255, 255; 671 --sale-badge-bg: 51, 51, 51; 672 --sale-badge-color: 255, 255, 255; 673 --custom-badge-bg: 51, 51, 51; 674 --custom-badge-color: 255, 255, 255; 675 --color-overlay: 0, 0, 0; 676 --color-success: 61, 181, 18; 677 --color-error: 241, 118, 111; 678 } 679 680 @media (prefers-color-scheme: dark) { 681 [data-scheme=auto] .color-background-1 { 682 --color-background: 31, 31, 31; 683 --color-background-secondary: 41, 41, 41; 684 --color-foreground: 255, 255, 255; 685 --color-foreground-secondary: 142, 142, 143; 686 --color-border-input: 73, 73, 73; 687 --color-border: 73, 73, 73; 688 --color-button: 0, 0, 0; 689 --color-button-hover: 0, 0, 0; 690 --color-button-text: 255, 255, 255; 691 --color-button-text-hover: 255, 255, 255; 692 --color-button-secondary: 36, 36, 36; 693 --color-button-secondary-hover: 36, 36, 36; 694 --color-button-secondary-text: 255, 255, 255; 695 --color-button-secondary-text-hover: 255, 255, 255; 696 --color-button-tertiary-text: 255, 255, 255; 697 --color-card-price-regular: 229, 229, 229; 698 --color-card-price-sale: 169, 169, 169;
699 --color-error-background: 0, 0, 0; 700 --color-shadow: 75, 75, 75; 701 --sold-out-badge-bg: 51, 51, 51; 702 --sold-out-badge-color: 255, 255, 255; 703 --sale-badge-bg: 51, 51, 51; 704 --sale-badge-color: 255, 255, 255; 705 --custom-badge-bg: 51, 51, 51; 706 --custom-badge-color: 255, 255, 255; 707 --color-overlay: 0, 0, 0; 708 --color-success: 61, 181, 18; 709 --color-error: 241, 118, 111; 710 } 711 } 712 713 [data-scheme=dark] .color-background-2 { 714 --color-background: 31, 31, 31; 715 --color-background-secondary: 41, 41, 41; 716 --color-foreground: 255, 255, 255; 717 --color-foreground-secondary: 142, 142, 143; 718 --color-border-input: 73, 73, 73; 719 --color-border: 73, 73, 73; 720 --color-button: 0, 0, 0; 721 --color-button-hover: 0, 0, 0; 722 --color-button-text: 255, 255, 255; 723 --color-button-text-hover: 255, 255, 255; 724 --color-button-secondary: 36, 36, 36; 725 --color-button-secondary-hover: 36, 36, 36; 726 --color-button-secondary-text: 255, 255, 255; 727 --color-button-secondary-text-hover: 255, 255, 255; 728 --color-button-tertiary-text: 255, 255, 255; 729 --color-card-price-regular: 229, 229, 229; 730 --color-card-price-sale: 169, 169, 169; 731 --color-error-background: 0, 0, 0; 732 --color-shadow: 75, 75, 75; 733 --sold-out-badge-bg: 51, 51, 51; 734 --sold-out-badge-color: 255, 255, 255; 735 --sale-badge-bg: 51, 51, 51; 736 --sale-badge-color: 255, 255, 255; 737 --custom-badge-bg: 51, 51, 51; 738 --custom-badge-color: 255, 255, 255; 739 --color-overlay: 0, 0, 0; 740 --color-success: 61, 181, 18; 741 --color-error: 241, 118, 111; 742 } 743 744 @media (prefers-color-scheme: dark) { 745 [data-scheme=auto] .color-background-2 { 746 --color-background: 31, 31, 31; 747 --color-background-secondary: 41, 41, 41; 748 --color-foreground: 255, 255, 255; 749 --color-foreground-secondary: 142, 142, 143; 750 --color-border-input: 73, 73, 73; 751 --color-border: 73, 73, 73; 752 --color-button: 0, 0, 0; 753 --color-button-hover: 0, 0, 0; 754 --color-button-text: 255, 255, 255; 755 --color-button-text-hover: 255, 255, 255; 756 --color-button-secondary: 36, 36, 36; 757 --color-button-secondary-hover: 36, 36, 36; 758 --color-button-secondary-text: 255, 255, 255; 759 --color-button-secondary-text-hover: 255, 255, 255; 760 --color-button-tertiary-text: 255, 255, 255; 761 --color-card-price-regular: 229, 229, 229; 762 --color-card-price-sale: 169, 169, 169; 763 --color-error-background: 0, 0, 0; 764 --color-shadow: 75, 75, 75; 765 --sold-out-badge-bg: 51, 51, 51; 766 --sold-out-badge-color: 255, 255, 255; 767 --sale-badge-bg: 51, 51, 51; 768 --sale-badge-color: 255, 255, 255; 769 --custom-badge-bg: 51, 51, 51; 770 --custom-badge-color: 255, 255, 255; 771 --color-overlay: 0, 0, 0; 772 --color-success: 61, 181, 18; 773 --color-error: 241, 118, 111; 774 } 775 } 776 777 [data-scheme=dark] .color-background-3 { 778 --color-background: 31, 31, 31; 779 --color-background-secondary: 41, 41, 41; 780 --color-foreground: 255, 255, 255; 781 --color-foreground-secondary: 142, 142, 143; 782 --color-border-input: 73, 73, 73; 783 --color-border: 73, 73, 73; 784 --color-button: 0, 0, 0; 785 --color-button-hover: 0, 0, 0; 786 --color-button-text: 255, 255, 255; 787 --color-button-text-hover: 255, 255, 255; 788 --color-button-secondary: 36, 36, 36; 789 --color-button-secondary-hover: 36, 36, 36; 790 --color-button-secondary-text: 255, 255, 255; 791 --color-button-secondary-text-hover: 255, 255, 255; 792 --color-button-tertiary-text: 255, 255, 255; 793 --color-card-price-regular: 229, 229, 229; 794 --color-card-price-sale: 169, 169, 169; 795 --color-error-background: 0, 0, 0; 796 --color-shadow: 75, 75, 75; 797 --sold-out-badge-bg: 51, 51, 51; 798 --sold-out-badge-color: 255, 255, 255; 799 --sale-badge-bg: 51, 51, 51; 800 --sale-badge-color: 255, 255, 255; 801 --custom-badge-bg: 51, 51, 51; 802 --custom-badge-color: 255, 255, 255; 803 --color-overlay: 0, 0, 0; 804 --color-success: 61, 181, 18; 805 --color-error: 241, 118, 111; 806 } 807 808 @media (prefers-color-scheme: dark) { 809 [data-scheme=auto] .color-background-3 { 810 --color-background: 31, 31, 31; 811 --color-background-secondary: 41, 41, 41; 812 --color-foreground: 255, 255, 255; 813 --color-foreground-secondary: 142, 142, 143; 814 --color-border-input: 73, 73, 73; 815 --color-border: 73, 73, 73; 816 --color-button: 0, 0, 0; 817 --color-button-hover: 0, 0, 0; 818 --color-button-text: 255, 255, 255; 819 --color-button-text-hover: 255, 255, 255; 820 --color-button-secondary: 36, 36, 36; 821 --color-button-secondary-hover: 36, 36, 36; 822 --color-button-secondary-text: 255, 255, 255; 823 --color-button-secondary-text-hover: 255, 255, 255; 824 --color-button-tertiary-text: 255, 255, 255; 825 --color-card-price-regular: 229, 229, 229; 826 --color-card-price-sale: 169, 169, 169;
827 --color-error-background: 0, 0, 0; 828 --color-shadow: 75, 75, 75; 829 --sold-out-badge-bg: 51, 51, 51; 830 --sold-out-badge-color: 255, 255, 255; 831 --sale-badge-bg: 51, 51, 51; 832 --sale-badge-color: 255, 255, 255; 833 --custom-badge-bg: 51, 51, 51; 834 --custom-badge-color: 255, 255, 255; 835 --color-overlay: 0, 0, 0; 836 --color-success: 61, 181, 18; 837 --color-error: 241, 118, 111; 838 } 839 } 840 841 [data-scheme=dark] .color-background-4 { 842 --color-background: 31, 31, 31; 843 --color-background-secondary: 41, 41, 41; 844 --color-foreground: 255, 255, 255; 845 --color-foreground-secondary: 142, 142, 143; 846 --color-border-input: 73, 73, 73; 847 --color-border: 73, 73, 73; 848 --color-button: 0, 0, 0; 849 --color-button-hover: 0, 0, 0; 850 --color-button-text: 255, 255, 255; 851 --color-button-text-hover: 255, 255, 255; 852 --color-button-secondary: 36, 36, 36; 853 --color-button-secondary-hover: 36, 36, 36; 854 --color-button-secondary-text: 255, 255, 255; 855 --color-button-secondary-text-hover: 255, 255, 255; 856 --color-button-tertiary-text: 255, 255, 255; 857 --color-card-price-regular: 229, 229, 229; 858 --color-card-price-sale: 169, 169, 169; 859 --color-error-background: 0, 0, 0; 860 --color-shadow: 75, 75, 75; 861 --sold-out-badge-bg: 51, 51, 51; 862 --sold-out-badge-color: 255, 255, 255; 863 --sale-badge-bg: 51, 51, 51; 864 --sale-badge-color: 255, 255, 255; 865 --custom-badge-bg: 51, 51, 51; 866 --custom-badge-color: 255, 255, 255; 867 --color-overlay: 0, 0, 0; 868 --color-success: 61, 181, 18; 869 --color-error: 241, 118, 111; 870 } 871 872 @media (prefers-color-scheme: dark) { 873 [data-scheme=auto] .color-background-4 { 874 --color-background: 31, 31, 31; 875 --color-background-secondary: 41, 41, 41; 876 --color-foreground: 255, 255, 255; 877 --color-foreground-secondary: 142, 142, 143; 878 --color-border-input: 73, 73, 73; 879 --color-border: 73, 73, 73; 880 --color-button: 0, 0, 0; 881 --color-button-hover: 0, 0, 0; 882 --color-button-text: 255, 255, 255; 883 --color-button-text-hover: 255, 255, 255; 884 --color-button-secondary: 36, 36, 36; 885 --color-button-secondary-hover: 36, 36, 36; 886 --color-button-secondary-text: 255, 255, 255; 887 --color-button-secondary-text-hover: 255, 255, 255; 888 --color-button-tertiary-text: 255, 255, 255; 889 --color-card-price-regular: 229, 229, 229; 890 --color-card-price-sale: 169, 169, 169; 891 --color-error-background: 0, 0, 0; 892 --color-shadow: 75, 75, 75; 893 --sold-out-badge-bg: 51, 51, 51; 894 --sold-out-badge-color: 255, 255, 255; 895 --sale-badge-bg: 51, 51, 51; 896 --sale-badge-color: 255, 255, 255; 897 --custom-badge-bg: 51, 51, 51; 898 --custom-badge-color: 255, 255, 255; 899 --color-overlay: 0, 0, 0; 900 --color-success: 61, 181, 18; 901 --color-error: 241, 118, 111; 902 } 903 } 904 905 906 [data-scheme=dark] { 907 --color-background: 31, 31, 31; 908 --color-background-secondary: 24, 24, 24; 909 --color-foreground: 255, 255, 255; 910 --color-foreground-secondary: 142, 142, 143; 911 --color-border-input: 73, 73, 73; 912 --color-border: 73, 73, 73; 913 --color-scrollbar: 165, 165, 165; 914 --color-button: 0, 0, 0; 915 --color-button-hover: 0, 0, 0; 916 --color-button-text: 255, 255, 255; 917 --color-button-text-hover: 255, 255, 255; 918 --color-button-secondary: 36, 36, 36; 919 --color-button-secondary-hover: 36, 36, 36; 920 --color-button-secondary-text: 255, 255, 255; 921 --color-button-secondary-text-hover: 255, 255, 255; 922 --color-button-tertiary-text: 255, 255, 255; 923 --color-card-price-regular: 229, 229, 229; 924 --color-card-price-sale: 169, 169, 169; 925 --color-error-background: 0, 0, 0; 926 --color-shadow: 75, 75, 75; 927 --sold-out-badge-bg: 51, 51, 51; 928 --sold-out-badge-color: 255, 255, 255; 929 --sale-badge-bg: 51, 51, 51; 930 --sale-badge-color: 255, 255, 255; 931 --custom-badge-bg: 51, 51, 51; 932 --custom-badge-color: 255, 255, 255; 933 --color-overlay: 0, 0, 0; 934 --color-success: 61, 181, 18; 935 --color-error: 241, 118, 111; 936 937 .color-background-1 { 938 --color-background: 31, 31, 31; 939 } 940 .color-background-2 { 941 --color-background: 34, 34, 34; 942 --color-background-secondary: 41, 41, 41; 943 } 944 .color-background-3 { 945 --color-background: 24, 24, 24; 946 --color-background-secondary: 31, 31, 31; 947 } 948 .color-background-4 { 949 --color-background: 24, 24, 24; 950 --color-background-secondary: 31, 31, 31; 951 } 952 } 953 954 @media (prefers-color-scheme: dark) { 955 [data-scheme=auto] { 956 --color-background: 31, 31, 31; 957 --color-background-secondary: 24, 24, 24; 958 --color-foreground: 255, 255, 255; 959 --color-foreground-secondary: 142, 142, 143; 960 --color-border-input: 73, 73, 73; 961 --color-border: 73, 73, 73; 962 --color-scrollbar: 165, 165, 165; 963 --color-button: 0, 0, 0; 964 --color-button-hover: 0, 0, 0; 965 --color-button-text: 255, 255, 255; 966 --color-button-text-hover: 255, 255, 255; 967 --color-button-secondary: 36, 36, 36; 968 --color-button-secondary-hover: 36, 36, 36; 969 --color-button-secondary-text: 255, 255, 255; 970 --color-button-secondary-text-hover: 255, 255, 255; 971 --color-button-tertiary-text: 255, 255, 255; 972 --color-card-price-regular: 229, 229, 229; 973 --color-card-price-sale: 169, 169, 169;
974 --color-error-background: 0, 0, 0; 975 --color-shadow: 75, 75, 75; 976 --sold-out-badge-bg: 51, 51, 51; 977 --sold-out-badge-color: 255, 255, 255; 978 --sale-badge-bg: 51, 51, 51; 979 --sale-badge-color: 255, 255, 255; 980 --custom-badge-bg: 51, 51, 51; 981 --custom-badge-color: 255, 255, 255; 982 --color-overlay: 0, 0, 0; 983 --color-success: 61, 181, 18; 984 --color-error: 241, 118, 111; 985 986 .color-background-1 { 987 --color-background: 31, 31, 31; 988 } 989 .color-background-2 { 990 --color-background: 34, 34, 34; 991 --color-background-secondary: 41, 41, 41; 992 } 993 .color-background-3 { 994 --color-background: 24, 24, 24; 995 --color-background-secondary: 31, 31, 31; 996 } 997 .color-background-4 { 998 --color-background: 24, 24, 24; 999 --color-background-secondary: 31, 31, 31; 1000 } 1001 } 1002 } 1003</style> 1004 1005 1006 1007 <style data-shopify> 1008 :root { 1009 --column-count: 1; 1010 --announcement-height: 0px; 1011 --ann-height: 0px; 1012 --header-height: 64px; 1013 --breadcrumbs-height: 0px; 1014 --scrollbar-width: 0px; 1015 --margin-header: 0px; 1016 --spaced-section: 5rem; 1017 --border-radius-product: 16px; 1018 --border-radius-button: 50px; 1019 --border-radius-block: 16px; 1020 --border-radius-input: 10px; 1021 } 1022 1023 @media screen and (min-width: 990px) { 1024 :root { 1025 --spaced-section: 16rem; 1026 } 1027 } 1028 1029 *, 1030 *::before, 1031 *::after { 1032 box-sizing: border-box; 1033 } 1034 1035 html { 1036 font-size: 10px; 1037 height: 100%; 1038 -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 1039 scroll-behavior: smooth; 1040 } 1041 1042 body { 1043 position: relative; 1044 display: flex; 1045 flex-direction: column; 1046 margin: 0; 1047 overflow-x: hidden; 1048 min-height: 100%; 1049 margin: 0; 1050 padding: 0; 1051 scroll-behavior: smooth; 1052 -webkit-font-smoothing: antialiased; 1053 -moz-osx-font-smoothing: grayscale; 1054 font-family: var(--font-body-family); 1055 font-size: calc(var(--font-body-scale) * 1.2rem); 1056 font-weight: var(--font-body-weight); 1057 line-height: var(--font-body-line-height); 1058 letter-spacing: calc(var(--font-body-letter-spacing) * 0.1); 1059 font-style: var(--font-body-style); 1060 1061 } 1062 1063 @media screen and (min-width: 576px) { 1064 body { 1065 font-size: calc(var(--font-body-scale) * 1.3rem); 1066 } 1067 } 1068 1069 @media screen and (min-width: 990px) { 1070 body { 1071 font-size: calc(var(--font-body-scale) * 1.4rem); 1072 } 1073 } 1074 1075 #MainContent { 1076 flex-grow: 1; 1077 } 1078 1079 p, 1080 ul, 1081 ol, 1082 li, 1083 dl, 1084 dd, 1085 hr, 1086 pre, 1087 form, 1088 table, 1089 video, 1090 figure, 1091 figcaption, 1092 blockquote { 1093 margin: 0; 1094 padding: 0; 1095 } 1096 1097 ul, 1098 ol { 1099 padding: 0; 1100 list-style: none; 1101 } 1102 1103 img, 1104 svg { 1105 display: block; 1106 } 1107 1108 button { 1109 border: none; 1110 cursor: pointer; 1111 background: transparent; 1112 padding: 0; 1113 } 1114 1115 input { 1116 outline: none; 1117 border: none; 1118 margin: 0; 1119 } 1120 1121 input, 1122 button, 1123 select, 1124 textarea { 1125 font: inherit; 1126 -webkit-appearance: none; 1127 appearance: none; 1128 } 1129 1130 fieldset { 1131 margin: 0; 1132 padding: 0; 1133 border: 0; 1134 } 1135 1136 label { 1137 display: block; 1138 } 1139 1140 ::selection { 1141 text-shadow: none; 1142 background: #cbeafb; 1143 } 1144 1145 mark { 1146 background-color: #06f; 1147 } 1148 1149 small { 1150 font-size: 80%; 1151 } 1152 1153 hr { 1154 width: 100%; 1155 height: 1px; 1156 border: none; 1157 } 1158 1159 sub, 1160 sup { 1161 position: relative; 1162 font-size: 75%; 1163 line-height: 0; 1164 vertical-align: baseline; 1165 } 1166 1167 a { 1168 text-decoration: none; 1169 cursor: pointer; 1170 display: inline; 1171 } 1172 1173 h1, 1174 h2, 1175 h3, 1176 h4, 1177 h5, 1178 h6 { 1179 font-style: normal; 1180 margin: 0; 1181 } 1182 1183 /* Remove all animations and transitions for people that prefer not to see them */ 1184 @media (prefers-reduced-motion: reduce) { 1185 * { 1186 animation-duration: 0.01ms !important; 1187 animation-iteration-count: 1 !important; 1188 transition-duration: 0.01ms !important; 1189 scroll-behavior: auto !important; 1190 } 1191 } 1192</style> 1193 1194 1195 1196 <link href="//handsfreelabs.com/cdn/shop/t/3/assets/swiper-bundle.min.css?v=158873188915743418901764838197" rel="stylesheet" type="text/css" media="all" /> 1197 1198 1199 <link href="//handsfreelabs.com/cdn/shop/t/3/assets/base.css?v=114568766084601785111766111403" rel="stylesheet" type="text/css" media="all" /> 1200 1201 1202 <link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-rte.css?v=116430630001710602531764838196" rel="stylesheet" type="text/css" media="all" /> 1203 1204 1205 1206 1207<link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-cart-drawer.css?v=145065439019359456051764838196" rel="stylesheet" type="text/css" media="all" /> 1208 <link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-cart-items.css?v=73194538681260850671764838196" rel="stylesheet" type="text/css" media="all" /> 1209
1209<script src="//handsfreelabs.com/cdn/shop/t/3/assets/cart.js?v=47493386782723280271764838196" defer="defer"></script>
1209 1210
1210<script src="//handsfreelabs.com/cdn/shop/t/3/assets/cart-drawer.js?v=175299045123263202151764838196" defer="defer"></script>
1210 1211 1212 1213 <link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-cart-shipping.css?v=89963673203588609851764838196" rel="stylesheet" type="text/css" media="all" /> 1214 1215 1216 1217<link href="//handsfreelabs.com/cdn/shop/t/3/assets/section-main-product.css?v=95691957673293760661764838197" rel="stylesheet" type="text/css" media="all" /> 1218<link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-deferred-media.css?v=68707802736351725321764838196" rel="stylesheet" type="text/css" media="all" /><link href="//handsfreelabs.com/cdn/shop/t/3/assets/quick-add.css?v=21091840522575606341764838197" rel="stylesheet" type="text/css" media="all" />
1218<script src="//handsfreelabs.com/cdn/shop/t/3/assets/quick-add.js?v=103399882862435143751764838197" defer="defer"></script>
1218 1219
1219<script src="//handsfreelabs.com/cdn/shop/t/3/assets/product-form.js?v=167182463165808328981764838197" defer="defer"></script>
1219 1220 1221 <link rel="preload" as="font" href="//handsfreelabs.com/cdn/fonts/dm_sans/dmsans_n3.d218434bb518134511e5205d90c23cfb8a1b261b.woff2" type="font/woff2" crossorigin> 1222 1223 1224 <link rel="preload" as="font" href="//handsfreelabs.com/cdn/fonts/montserrat/montserrat_n9.680ded1be351aa3bf3b3650ac5f6df485af8a07c.woff2" type="font/woff2" crossorigin> 1225
1226<script> 1227 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 1228 if (Shopify.designMode) { 1229 document.documentElement.classList.add('shopify-design-mode'); 1230 } 1231 </script>
1231 1232 1233
1233<script src="//handsfreelabs.com/cdn/shop/t/3/assets/popup.js?v=99755635080630246551764838197" defer="defer"></script>
1233 1234 1235 1236 1237
1237<script> 1238 let cscoDarkMode = {}; 1239 1240 (function () { 1241 const body = document.querySelector('html[data-scheme]'); 1242 1243 cscoDarkMode = { 1244 init: function (e) { 1245 this.initMode(e); 1246 window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => { 1247 this.initMode(e); 1248 }); 1249 1250 window.addEventListener('load', () => { 1251 const toggleBtns = document.querySelectorAll('.header__toggle-scheme'); 1252 toggleBtns.forEach((btn) => { 1253 btn.addEventListener('click', (e) => { 1254 e.preventDefault(); 1255 if ('auto' === body.getAttribute('data-scheme')) { 1256 if (window.matchMedia('(prefers-color-scheme: dark)').matches) { 1257 cscoDarkMode.changeScheme('light', true); 1258 } else if (window.matchMedia('(prefers-color-scheme: light)').matches) { 1259 cscoDarkMode.changeScheme('dark', true); 1260 } 1261 } else { 1262 if ('dark' === body.getAttribute('data-scheme')) { 1263 cscoDarkMode.changeScheme('light', true); 1264 } else { 1265 cscoDarkMode.changeScheme('dark', true); 1266 } 1267 } 1268 }); 1269 }); 1270 }); 1271 }, 1272 initMode: function (e) { 1273 let siteScheme = false; 1274 switch ( 1275 'light' // Field. Userâs system preference. 1276 ) { 1277 case 'dark': 1278 siteScheme = 'dark'; 1279 break; 1280 case 'light': 1281 siteScheme = 'light'; 1282 break; 1283 case 'system': 1284 siteScheme = 'auto'; 1285 break; 1286 } 1287 if ('false') { 1288 // Field. Enable dark/light mode toggle. 1289 if ('light' === localStorage.getItem('_color_schema')) { 1290 siteScheme = 'light'; 1291 } 1292 if ('dark' === localStorage.getItem('_color_schema')) { 1293 siteScheme = 'dark'; 1294 } 1295 } 1296 if (siteScheme && siteScheme !== body.getAttribute('data-scheme')) { 1297 this.changeScheme(siteScheme, false); 1298 } 1299 }, 1300 changeScheme: function (siteScheme, cookie) { 1301 body.classList.add('scheme-toggled'); 1302 body.setAttribute('data-scheme', siteScheme); 1303 if (cookie) { 1304 localStorage.setItem('_color_schema', siteScheme); 1305 } 1306 setTimeout(() => { 1307 body.classList.remove('scheme-toggled'); 1308 }, 100); 1309 }, 1310 }; 1311 })(); 1312 1313 cscoDarkMode.init(); 1314 1315 document.addEventListener('shopify:section:load', function () { 1316 setTimeout(() => { 1317 cscoDarkMode.init(); 1318 }, 100); 1319 }); 1320 1321 const calcScrollbarWidth = () => { 1322 const div = document.createElement('div'); 1323 div.style.cssText = 'width: 100px; height: 100px; overflow-y: scroll; position: absolute; top: -9999px;'; 1324 document.body.appendChild(div); 1325 const scrollbarWidth = div.offsetWidth - div.clientWidth; 1326 document.body.removeChild(div); 1327 document.documentElement.style.setProperty('--scrollbar-width', `${scrollbarWidth}px`); 1328 }; 1329 1330 window.addEventListener('DOMContentLoaded', calcScrollbarWidth); 1331 </script>
1331 1332 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1333<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: 96469713215,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "list-collections"};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 1333
1333
1334<script> 1335 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1336</script>
vendor: 1 bytes, line 1336
1336
1337<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}
1337).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: 96469713215,storefrontBaseUrl: "https://handsfreelabs.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://handsfreelabs.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"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":"HandsFree Labs","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"handsfree-labs.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/h
1337andsfreelabs.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://handsfreelabs.com/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"182742090047","themeStoreId":"3210","themePublished":"true","eventMetadataId":"fa904710-ed2f-4850-a144-a46277ff8104","pageType":"collections","shopId":"96469713215","storefrontBaseUrl":"https:\/\/handsfreelabs.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1337<script> 1338 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1339 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1340 window.ShopifyAnalytics.meta.currency = 'USD'; 1341 var meta = {"page":{"pageType":"collections","requestId":"179ba366-d18e-4796-817e-689dee8e44c6-1791392150"}}; 1342 for (var attr in meta) { 1343 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1344 } 1345</script>
vendor: 1 bytes, line 1345
1345
1346<script class="analytics"> 1347 (function () { 1348 var customDocumentWrite = function(content) { 1349 var jquery = null; 1350 1351 if (window.jQuery) { 1352 jquery = window.jQuery; 1353 } else if (window.Checkout && window.Checkout.$) { 1354 jquery = window.Checkout.$; 1355 } 1356 1357 if (jquery) { 1358 jquery('body').append(content); 1359 } 1360 }; 1361 1362 var hasLoggedConversion = function(token) { 1363 if (token) { 1364 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1365 } 1366 return false; 1367 } 1368 1369 var setCookieIfConversion = function(token) { 1370 if (token) { 1371 var twoMonthsFromNow = new Date(Date.now()); 1372 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1373 1374 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1375 } 1376 } 1377 1378 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1379 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1380 if (trekkie.integrations) { 1381 return; 1382 } 1383 trekkie.methods = [ 1384 'identify', 1385 'page', 1386 'ready', 1387 'track', 1388 'trackForm', 1389 'trackLink' 1390 ]; 1391 trekkie.factory = function(method) { 1392 return function() { 1393 var args = Array.prototype.slice.call(arguments); 1394 args.unshift(method); 1395 trekkie.push(args); 1396 if (method == 'track' || method == 'page') { 1397 var pageUrl; 1398 try { 1399 pageUrl = window.location.href; 1400 } catch (e) {} 1401 var pageReferrer; 1402 try { 1403 pageReferrer = document.referrer; 1404 } catch (e) {} 1405 try { 1406 if (window.__TREKKIE_SHIM_QUEUE == null) { 1407 window.__TREKKIE_SHIM_QUEUE = []; 1408 } 1409 window.__TREKKIE_SHIM_QUEUE.push({ 1410 from: 'trekkie-stub', 1411 method: method, 1412 args: args.slice(1), 1413 pageContext: { 1414 url: pageUrl, 1415 referrer: pageReferrer 1416 } 1417 }); 1418 } catch (e) { 1419 // no-op 1420 } 1421 } 1422 return trekkie; 1423 }; 1424 }; 1425 for (var i = 0; i < trekkie.methods.length; i++) { 1426 var key = trekkie.methods[i]; 1427 trekkie[key] = trekkie.factory(key); 1428 } 1429 trekkie.load = function(config) { 1430 trekkie.config = config || {}; 1431 trekkie.config.initialDocumentCookie = document.cookie; 1432 var first = document.getElementsByTagName('script')[0]; 1433var script = document.createElement('script'); 1434script.type = 'text/javascript'; 1435script.onerror = function(e) { 1436 var scriptFallback = document.createElement('script'); 1437 scriptFallback.type = 'text/javascript'; 1438 scriptFallback.onerror = function(error) { 1439 var Monorail = { 1440 produce: function produce(monorailDomain, schemaId, payload) { 1441 var currentMs = new Date().getTime(); 1442 var event = { 1443 schema_id: schemaId, 1444 payload: payload, 1445 metadata: { 1446 event_created_at_ms: currentMs, 1447 event_sent_at_ms: currentMs 1448 } 1449 }; 1450 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1451 }, 1452 sendRequest: function sendRequest(endpointUrl, payload) { 1453 // Try the sendBeacon API 1454 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1455 var blobData = new window.Blob([payload], { 1456 type: 'text/plain' 1457 }); 1458 1459 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1460 return true; 1461 } // sendBeacon was not successful 1462 1463 } // XHR beacon 1464 1465 var xhr = new XMLHttpRequest(); 1466 1467 try { 1468 xhr.open('POST', endpointUrl); 1469 xhr.setRequestHeader('Content-Type', 'text/plain'); 1470 xhr.send(payload); 1471 } catch (e) { 1472 console.log(e); 1473 } 1474 1475 return false; 1476 }, 1477 isIos12: function isIos12() { 1478 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1479 } 1480 }; 1481 Monorail.produce('monorail-edge.shopifysvc.com', 1482 'trekkie_storefront_load_errors/1.1', 1483 {shop_id: 96469713215, 1484 theme_id: 182742090047, 1485 app_name: "storefront", 1486 context_url: window.location.href, 1487 source_url: "//handsfreelabs.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 1488 1489 }; 1490 scriptFallback.async = true; 1491 scriptFallback.src = '//handsfreelabs.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1492 first.parentNode.insertBefore(scriptFallback, first); 1493}; 1494script.async = true; 1495script.src = '//handsfreelabs.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1496first.parentNode.insertBefore(script, first); 1497 1498 }; 1499 trekkie.load( 1500 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":96469713215,"isMerchantRequest":null,"themeId":182742090047,"themeCityHash":"14055137275775047007","contentLanguage":"en","currency":"USD","eventMetadataId":"fa904710-ed2f-4850-a144-a46277ff8104"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1501 ); 1502 1503 var loaded = false;
1504 trekkie.ready(function() { 1505 if (loaded) return; 1506 loaded = true; 1507 1508 window.ShopifyAnalytics.lib = window.trekkie; 1509 1510 var originalDocumentWrite = document.write; 1511 document.write = customDocumentWrite; 1512 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1513 document.write = originalDocumentWrite; 1514 1515 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1516 var token = match? match[1]: undefined; 1517 if (!hasLoggedConversion(token)) { 1518 setCookieIfConversion(token); 1519 1520 } 1521 }); 1522 1523 window.ShopifyAnalytics.lib.page(null,{"pageType":"collections","requestId":"179ba366-d18e-4796-817e-689dee8e44c6-1791392150","shopifyEmitted":true}); 1524 1525 var eventsListenerScript = document.createElement('script'); 1526 eventsListenerScript.async = true; 1527 eventsListenerScript.src = "//handsfreelabs.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1528 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1529})();</script>
vendor: 1 bytes, line 1529
1529
1530<script 1531 defer 1532 src="https://handsfreelabs.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js" 1533 data-application="storefront-renderer" 1534 data-shop-id="96469713215" 1535 data-render-region="gcp-us-central1" 1536 data-page-type="list-collections" 1537 data-theme-instance-id="182742090047" 1538 data-theme-name="San Francisco" 1539 data-theme-version="2.3.0" 1540 data-monorail-region="shop_domain" 1541 data-resource-timing-sampling-rate="10" 1542 data-shs="true" 1543 data-shs-beacon="true" 1544 data-shs-export-with-fetch="true" 1545 data-shs-logs-sample-rate="1" 1546 data-shs-beacon-endpoint="https://handsfreelabs.com/api/collect" 1547></script>
1547 1548<meta name="shopify-y" content="eef4c7ac-f151-4808-b3d0-9e9323cea19c" data-expiration="1822949750000"><meta name="shopify-s" content="dbdbad1c-6393-4eb4-b5a8-f87afe5ac7ee" data-expiration="1791393950000"><meta name="new-cookie-storage-activated" content="t"> 1549</head> 1550 1551 <body class="template-list-collections template-list-collections"> 1552 <a 1553 class="skip-to-content-link button visually-hidden" 1554 href="#MainContent" 1555 > 1556 Skip to content 1557 </a> 1558 1559 <!-- BEGIN sections: header-group --> 1560<div id="shopify-section-sections--25702051152191__header" class="shopify-section shopify-section-group-header-group shopify-section-header">
1560<script src="//handsfreelabs.com/cdn/shop/t/3/assets/header.js?v=23851710536590866761764838196" defer="defer"></script>
1560<link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-menu-drawer.css?v=111334943057760530851764838196" rel="stylesheet" type="text/css" media="all" /> 1561<style> 1562 @media screen and (min-width: 1100px) { 1563 header-drawer { 1564 display: none; 1565 } 1566 } 1567 1568 .burger-menu { 1569 pointer-events: none; 1570 visibility: hidden; 1571 opacity: 0; 1572 } 1573 1574 .list-menu { 1575 list-style: none; 1576 padding: 0; 1577 margin: 0; 1578 } 1579 1580 .list-menu__item { 1581 display: flex; 1582 align-items: center; 1583 } 1584 1585 .list-menu__item--link { 1586 text-decoration: none; 1587 padding-bottom: 1rem; 1588 padding-top: 1rem; 1589 } 1590 1591 @media screen and (min-width: 750px) { 1592 .list-menu__item--link { 1593 padding-bottom: 1rem; 1594 padding-top: 1rem; 1595 } 1596 } 1597 1598 1599 1600 .header__menu-item, 1601 .header__heading-link, 1602 .header__localization, 1603 .header__localization a, 1604 .header__localization button, 1605 .header__cart, 1606 .header__account-body, 1607 .menu-drawer__utility-account-body, 1608 .menu-drawer__menu-item, 1609 .mobile-mega-menu__tab, 1610 .mega-menu__menu-list-link { 1611 font-family: var(--font-header-menu-family); 1612 font-style: var(--font-header-menu-style); 1613 font-weight: var(--font-header-menu-weight); 1614 font-size: calc(var(--font-header-menu-text-scale) * 1rem); 1615 text-transform: var(--font-header-menu-text-transform); 1616 letter-spacing: var(--font-header-menu-letter-spacing); 1617 } 1618</style> 1619
1620<script src="//handsfreelabs.com/cdn/shop/t/3/assets/details-disclosure.js?v=101038006898019338281764838196" defer="defer"></script>
1620<sticky-header data-sticky-type="on-scroll-up" class="header-wrapper"><header class="header header--center-logo container"> 1621 <div class="header__left"> 1622 <header-drawer data-breakpoint="tablet"> 1623 <details class="menu-drawer-container"> 1624 <summary 1625 class="header__icon header__icon--menu focus-inset" 1626 aria-label="Menu" 1627 > 1628 <span class="header__icon-wrapper"> 1629 <svg class="icon icon-hamburger" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1630 <path d="M0 9.75H24" stroke="currentColor" stroke-width="1.5"/> 1631 <path d="M0 14.25H24" stroke="currentColor" stroke-width="1.5"/> 1632</svg> 1633 </span> 1634 </summary> 1635 <div 1636 id="menu-drawer" 1637 class="menu-drawer motion-reduce color-background-1" 1638 tabindex="-1" 1639 > 1640 <div class="menu-drawer__inner-container"> 1641 <div class="menu-drawer__top container no-js-hidden"> 1642 <span class="header__modal-close-button"> 1643 <span class="header__icon-wrapper"> 1644 <svg class="icon icon-close" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1645 <path d="M20 4L4 20M20 20L4 4.00001" stroke="currentColor" stroke-width="1.5" stroke-linecap="square"/> 1646</svg> 1647 </span> 1648 </span> 1649 </div> 1650 <div class="menu-drawer__main"> 1651 <div class="menu-drawer__navigation-container"> 1652 <nav class="menu-drawer__navigation"> 1653 <ul class="menu-drawer__menu list-menu" role="list"></ul> 1654 </nav><div class="menu-drawer__utility-links"><a 1655 href="https://handsfreelabs.com/customer_authentication/redirect?locale=en®ion_country=US" 1656 class="button button--primary menu-drawer__account focus-inset" 1657 > 1658 <div class="button__content"> 1659 <span class="button__label" data-label="Log In"> 1660 Log In 1661 </span> 1662 </div> 1663 <span class="animated-button-circle"></span> 1664 </a> 1665 <div class="menu-drawer__account-register"> 1666 <span class="body-normal">Don't have an account?</span> 1667 <a class="button button--tertiary focus-inset" href="https://shopify.com/96469713215/account?locale=en®ion_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJoYW5kc2ZyZWUtbGFicy5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3OTE5OTY5NTEsIm5iZiI6MTc5MTM5MjE1MX0.vsvOfNjP4kys2rAb1lPAMSB5Yj5hpaeZWwpNoZrcKqM"> 1668 <div class="button__content"> 1669 <span 1670 class="button__label body-normal" 1671 data-label="Create Account" 1672 >Create Account</span> 1673 1674 <div class="button__icons"> 1675 <span class="button__icon"> 1676 <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> 1677 <path d="M1.5 10.5011L10.2421 1.75789M2.46394 1.05078H10.9492V9.53606" stroke="currentColor" stroke-width="1.4" stroke-linecap="square"/> 1678</svg> 1679 1680 </span> 1681 <span class="button__icon button__icon--2"> 1682 <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> 1683 <path d="M1.5 10.5011L10.2421 1.75789M2.46394 1.05078H10.9492V9.53606" stroke="currentColor" stroke-width="1.4" stroke-linecap="square"/> 1684</svg> 1685 1686 </span> 1687 </div> 1688 </div> 1689 </a> 1690 </div></div> 1691 </div> 1692 </div> 1693 1694 <div class="menu-drawer__bottom no-js-hidden"> 1695 </div> 1696 </div> 1697 </div> 1698 </details> 1699</header-drawer> 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711</div> 1712 1713 1714 1715 1716<a 1717 href="/" class="header__heading-link focus-inset header__heading-link--center 1.7843137254901962" 1718 1719 style="width: 120px; --padding_bottom: 56.04395604395604%; " 1720 1721><img 1722 srcset="//handsfreelabs.com/cdn/shop/files/Group.png?v=1764594119&width=120 1x, //handsfreelabs.com/cdn/shop/files/Group.png?v=1764594119&width=240 2x" 1723 src="//handsfreelabs.com/cdn/shop/files/Group.png?v=1764594119&width=120" 1724 class="header__heading-logo" 1725 width="120" 1726 height="auto" 1727 alt="HandsFree Labs" 1728 loading="lazy" 1729 ></a> 1730 1731 1732<div class="header__column"> 1733 <div class="header__icons"> 1734 1735
1736<details-disclosure class="header__account"> 1737 <details> 1738 <summary 1739 class="header__icon header__icon--account focus-inset modal__toggle" 1740 aria-haspopup="dialog" 1741 role="button" 1742 > 1743 <svg class="icon icon-account" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1744 <path d="M3.23828 19.5C4.56369 17.2892 7.46856 15.7762 12.0006 15.7762C16.5326 15.7762 19.4374 17.2892 20.7628 19.5M15.6006 8.1C15.6006 10.0882 13.9888 11.7 12.0006 11.7C10.0123 11.7 8.40056 10.0882 8.40056 8.1C8.40056 6.11177 10.0123 4.5 12.0006 4.5C13.9888 4.5 15.6006 6.11177 15.6006 8.1Z" stroke="currentColor" stroke-width="1.4" stroke-linecap="square"/> 1745</svg> 1746 </summary> 1747 <div class="header__account-modal modal__toggle color-background-1" role="dialog" aria-modal="true"><a 1748 href="https://handsfreelabs.com/customer_authentication/redirect?locale=en®ion_country=US" 1749 class="button button--primary header__account-login focus-inset" 1750 > 1751 <div class="button__content"> 1752 <span class="button__label" data-label="Log In"> 1753 Log In 1754 </span> 1755 </div> 1756 <span class="animated-button-circle"></span> 1757 </a> 1758 1759 <a 1760 class="header__account-register button button--tertiary" 1761 href="https://shopify.com/96469713215/account?locale=en®ion_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJoYW5kc2ZyZWUtbGFicy5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3OTE5OTY5NTEsIm5iZiI6MTc5MTM5MjE1MX0.vsvOfNjP4kys2rAb1lPAMSB5Yj5hpaeZWwpNoZrcKqM" 1762 > 1763 <div class="button__content"> 1764 <span class="button__label" data-label="Create Account">Create Account</span> 1765 </div> 1766 </a></div> 1767 </details> 1768</details-disclosure> 1769 1770<div class="header__cart"> 1771 <a 1772 href="/cart" 1773 class=" header__icon header__icon--cart focus-inset" 1774 id="cart-icon-bubble" 1775 aria-label="View Cart" 1776 > 1777 <svg class="cart-icon-bubble-svg" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 1778 <circle class="cart-icon-bubble-svg__bg-circle" cx="16" cy="16" r="16" ></circle> 1779 <circle class="cart-icon-bubble-svg__progress-circle" cx="16" cy="16" r="16"></circle> 1780</svg> 1781<span class="visually-hidden">View Cart</span> 1782<div class="cart-count-bubble"><span aria-hidden="true">0</span><span class="visually-hidden">0 items</span> 1783</div> 1784 </a> 1785</div> 1786 1787 1788 1789 1790 </div> 1791</div> 1792 1793</header></sticky-header> 1794
1795<script type="application/ld+json"> 1796 { 1797 "@context": "http://schema.org", 1798 "@type": "Organization", 1799 "name": "HandsFree Labs", 1800 1801 "logo": "https:files\/Group.png", 1802 1803 "sameAs": [ 1804 "", 1805 "", 1806 "", 1807 "", 1808 "", 1809 "", 1810 "", 1811 "" 1812 ], 1813 "url": "https:\/\/handsfreelabs.com" 1814 } 1815</script>
1815 1816
1817<script> 1818 const calcHeader = () => { 1819 const header = document.querySelector('.shopify-section-header'); 1820 const headerObserver = new ResizeObserver((entries) => { 1821 const headerHeight = header.getBoundingClientRect().height.toFixed(2); 1822 document.documentElement.style.setProperty('--header-height', `${headerHeight}px`); 1823 1824 document.querySelectorAll('.header__inline-menu .list-menu--submenu').forEach((item) => { 1825 item.addEventListener('mouseenter', (event) => { 1826 item.querySelectorAll('.header__submenu .header__submenu').forEach((submenu) => { 1827 submenu.style.setProperty('--clientY', `${submenu.getBoundingClientRect().top}px`); 1828 }); 1829 }); 1830 }); 1831 }); 1832 if (header) headerObserver.observe(header); 1833 }; 1834 1835 calcHeader(); 1836 1837 document.addEventListener('shopify:section:load', calcHeader); 1838 document.addEventListener('shopify:section:unload', calcHeader); 1839 document.addEventListener('shopify:section:reorder', calcHeader); 1840</script>
1840 1841<style> #shopify-section-sections--25702051152191__header .header__cart, #shopify-section-sections--25702051152191__header .header__account, #shopify-section-sections--25702051152191__header .menu-drawer-container {display: none;} #shopify-section-sections--25702051152191__header .header--center-logo {padding-top: 15px; padding-bottom: 15px;} </style></div> 1842<!-- END sections: header-group --> 1843 <!-- BEGIN sections: overlay-group --> 1844 1845<!-- END sections: overlay-group --> 1846 1847 1848 1849 1850 1851 1852 1853 1854 <div class="container"> 1855 <nav 1856 id="breadcrumbs" 1857 class="breadcrumb body-small breadcrumb--center" 1858 role="navigation" 1859 aria-label="breadcrumbs" 1860 > 1861 <a href="/" title="Home" class="focus-inset">Home</a> 1862 1863 <div class="breadcrumb__delimiter"></div> 1864 <span>Collections </span> 1865 1866 </nav> 1867 1868
1868<script> 1869 const calcBreadcrumbs = () => { 1870 const breadcrumbs = document.querySelector('.breadcrumb'); 1871 if (breadcrumbs) { 1872 const breadcrumbsObserver = new ResizeObserver((entries) => { 1873 const breadcrumbsHeight = breadcrumbs.getBoundingClientRect().height; 1874 document.documentElement.style.setProperty('--breadcrumbs-height', `${breadcrumbsHeight + 24}px`); 1875 }); 1876 breadcrumbsObserver.observe(breadcrumbs); 1877 } 1878 }; 1879 calcBreadcrumbs(); 1880 1881 document.addEventListener('shopify:section:load', function () { 1882 calcBreadcrumbs(); 1883 }); 1884 </script>
1884 1885 </div> 1886 1887 1888 1889 1890 <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 1891 <section id="shopify-section-template--25702050857279__main" class="shopify-section section-list-collections"><link href="//handsfreelabs.com/cdn/shop/t/3/assets/template-list-collections.css?v=31826081201434573971764838197" rel="stylesheet" type="text/css" media="all" /> 1892<link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-collection-card.css?v=171561693659894842511764838196" rel="stylesheet" type="text/css" media="all" />
1893<script src="//handsfreelabs.com/cdn/shop/t/3/assets/load-more.js?v=85076125949294329171764838197" defer="defer"></script>
1893<style data-shopify>#shopify-section-template--25702050857279__main { 1894 1895 padding-top: 0; 1896 1897 1898 1899 padding-bottom: 6.4rem; 1900 1901} 1902 1903@media screen and (min-width: 750px) { #shopify-section-template--25702050857279__main { 1904 1905 padding-top: 0; 1906 1907 1908 1909 padding-bottom: 8.8rem; 1910 1911} } 1912 1913@media screen and (min-width: 1440px) { #shopify-section-template--25702050857279__main { 1914 1915 padding-top: 0; 1916 1917 1918 1919 padding-bottom: 14rem; 1920 1921 1922} } 1923 1924</style><div class="container section-template--25702050857279__main-padding"><div class="page-header titles titles--center"> 1925 1926 1927 <h1 class="h2">Collections</h1> 1928 </div> 1929 1930 <ul 1931 class="collections-grid collections-grid--3 collections-grid--1-mobile load-more-grid content" 1932 role="list" 1933 ><li> 1934 1935 1936 1937 1938 1939 <div class="collection-card collection-card--506873315647"> 1940 <div class="collection-card__image collection-card__image--square"><svg class="placeholder-svg collection-card-image" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 525.5 525.5"><path d="M324.5 212.7H203c-1.6 0-2.8 1.3-2.8 2.8V308c0 1.6 1.3 2.8 2.8 2.8h121.6c1.6 0 2.8-1.3 2.8-2.8v-92.5c0-1.6-1.3-2.8-2.9-2.8zm1.1 95.3c0 .6-.5 1.1-1.1 1.1H203c-.6 0-1.1-.5-1.1-1.1v-92.5c0-.6.5-1.1 1.1-1.1h121.6c.6 0 1.1.5 1.1 1.1V308z"/><path d="M210.4 299.5H240v.1s.1 0 .2-.1h75.2v-76.2h-105v76.2zm1.8-7.2l20-20c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l1.5 1.5 16.8 16.8c-12.9 3.3-20.7 6.3-22.8 7.2h-27.7v-5.5zm101.5-10.1c-20.1 1.7-36.7 4.8-49.1 7.9l-16.9-16.9 26.3-26.3c1.6-1.6 3.8-2.5 6.1-2.5s4.5.9 6.1 2.5l27.5 27.5v7.8zm-68.9 15.5c9.7-3.5 33.9-10.9 68.9-13.8v13.8h-68.9zm68.9-72.7v46.8l-26.2-26.2c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-26.3 26.3-.9-.9c-1.9-1.9-4.5-3-7.3-3s-5.4 1.1-7.3 3l-18.8 18.8V225h101.4z"/><path d="M232.8 254c4.6 0 8.3-3.7 8.3-8.3s-3.7-8.3-8.3-8.3-8.3 3.7-8.3 8.3 3.7 8.3 8.3 8.3zm0-14.9c3.6 0 6.6 2.9 6.6 6.6s-2.9 6.6-6.6 6.6-6.6-2.9-6.6-6.6 3-6.6 6.6-6.6z"/></svg> 1941 1942 </div> 1943 1944 <div class="collection-card__information"> 1945 <style> 1946 .icon-arrow-animated { 1947 position: relative; 1948 width: 4rem; 1949 height: 2rem; 1950 overflow: hidden; 1951 flex-shrink: 0; 1952 } 1953 .icon-arrow-animated-svg { 1954 position: absolute; 1955 top: 0; 1956 left: 0; 1957 width: 100%; 1958 height: 100%; 1959 } 1960 .icon-arrow-animated-bg { 1961 stroke: rgb(var(--color-border)); 1962 } 1963 .icon-arrow-animated-fill { 1964 fill: none; 1965 stroke: rgba(var(--color-foreground)); 1966 stroke-width: 1; 1967 transition: stroke-dashoffset 1s cubic-bezier(0.83, 0, 0.17, 1) 0ms; 1968 } 1969 .icon-arrow-animated-item { 1970 position: absolute; 1971 top: 50%; 1972 left: 50%; 1973 transition: transform 1s cubic-bezier(0.83, 0, 0.17, 1) 0ms; 1974 } 1975 .icon-arrow-animated-item--1 { 1976 transform: translate(-4rem, -50%); 1977 } 1978 .icon-arrow-animated-item--2 { 1979 transform: translate(-50%, -50%); 1980 } 1981</style> 1982<div class="icon-arrow-animated"> 1983 <svg 1984 class="icon-arrow-animated-svg" 1985 width="40" 1986 height="20" 1987 viewBox="0 0 40 20" 1988 fill="none" 1989 xmlns="http://www.w3.org/2000/svg" 1990 > 1991 <path 1992 class="icon-arrow-animated-bg" 1993 d="M 20 0.5 1994 H 30 1995 A 9.5 9.5 0 0 1 39.5 10 1996 A 9.5 9.5 0 0 1 30 19.5 1997 H 10 1998 A 9.5 9.5 0 0 1 0.5 10 1999 A 9.5 9.5 0 0 1 10 0.5 2000 Z" 2001 fill="none" 2002 stroke="currentColor" 2003 stroke-width="1" 2004 /> 2005 <path 2006 class="icon-arrow-animated-fill" 2007 d="M 20 0.5 2008 H 30 2009 A 9.5 9.5 0 0 1 39.5 10 2010 A 9.5 9.5 0 0 1 30 19.5 2011 H 10 2012 A 9.5 9.5 0 0 1 0.5 10 2013 A 9.5 9.5 0 0 1 10 0.5 2014 Z" 2015 fill="none" 2016 stroke="currentColor" 2017 stroke-width="1" 2018 stroke-dasharray="220" 2019 stroke-dashoffset="220" 2020 /> 2021 </svg> 2022 <svg 2023 class="icon-arrow-animated-item icon-arrow-animated-item--1 motion-reduce" 2024 width="12" 2025 height="10" 2026 viewBox="0 0 12 10" 2027 fill="none" 2028 xmlns="http://www.w3.org/2000/svg" 2029 > 2030 <path d="M1 5L11 5M11 5L6.71429 1M11 5L6.71429 9" stroke="currentColor" stroke-width="1.2" stroke-linecap="square"/> 2031 </svg> 2032 <svg 2033 class="icon-arrow-animated-item icon-arrow-animated-item--2 motion-reduce" 2034 width="12" 2035 height="10"
2036 viewBox="0 0 12 10" 2037 fill="none" 2038 xmlns="http://www.w3.org/2000/svg" 2039 > 2040 <path d="M1 5L11 5M11 5L6.71429 1M11 5L6.71429 9" stroke="currentColor" stroke-width="1.2" stroke-linecap="square"/> 2041 </svg> 2042</div> 2043 2044 2045 <h3 class="collection-card__title h5">Home page</h3> 2046 </div><a 2047 href="/collections/frontpage" 2048 class=" collection-card__link-overlay" 2049 aria-label="Home page" 2050 > 2051 <span class="visibility-hidden">Home page</span> 2052 </a> 2053 </div> 2054 2055 2056 </li></ul></div> 2057 2058 2059</section> 2060 </main> 2061 <!-- BEGIN sections: footer-group --> 2062<div id="shopify-section-sections--25702051119423__footer" class="shopify-section shopify-section-group-footer-group"><link href="//handsfreelabs.com/cdn/shop/t/3/assets/section-footer.css?v=82189834105927452141764838197" rel="stylesheet" type="text/css" media="all" /><link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-accordion.css?v=37048786062549526021764838196" rel="stylesheet" type="text/css" media="all" /><link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-list-menu.css?v=169082548569333216891764838196" rel="stylesheet" type="text/css" media="all" /><link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-list-payment.css?v=42701807524908968761764838196" rel="stylesheet" type="text/css" media="all" /><link href="//handsfreelabs.com/cdn/shop/t/3/assets/component-list-social.css?v=136211889887685282041764838196" rel="stylesheet" type="text/css" media="all" />
2062<script src="//handsfreelabs.com/cdn/shop/t/3/assets/footer.js?v=162720781161176316621764838196" defer="defer"></script>
2062 2063 2064<style data-shopify> 2065 .section-sections--25702051119423__footer-padding { 2066 2067 padding-top: 4rem; 2068 2069 2070 2071 padding-bottom: 5.6rem; 2072 2073} 2074 2075@media screen and (min-width: 750px) { .section-sections--25702051119423__footer-padding { 2076 2077 padding-top: 5.6rem; 2078 2079 2080 2081 padding-bottom: 7.2rem; 2082 2083} } 2084 2085@media screen and (min-width: 1440px) { .section-sections--25702051119423__footer-padding { 2086 2087 padding-top: 8rem; 2088 2089 2090 2091 padding-bottom: 11rem; 2092 2093} } 2094 2095 #shopify-section-sections--25702051119423__footer { 2096 2097 padding-top: 0; 2098 2099 2100 2101 padding-bottom: 0; 2102 2103} 2104 2105@media screen and (min-width: 750px) { #shopify-section-sections--25702051119423__footer { 2106 2107 padding-top: 0; 2108 2109 2110 2111 padding-bottom: 0; 2112 2113} } 2114 2115@media screen and (min-width: 1440px) { #shopify-section-sections--25702051119423__footer { 2116 2117 padding-top: 0; 2118 2119 2120 2121 padding-bottom: 0; 2122 2123 2124} } 2125 2126</style> 2127<footer class="footer animate-on-scroll"> 2128 <div class="container"> 2129 <div class="footer-main color-background-1 background section-sections--25702051119423__footer-padding"> 2130 <div class="footer-main-wrapper"> 2131 <div class="footer-main-head footer-main-head--align-center"> 2132 2133 2134 <a 2135 href="/" 2136 class="footer-logo focus-inset" 2137 ><img src="//handsfreelabs.com/cdn/shop/files/Group.png?v=1764594119&width=200" alt="HandsFree Labs" width="200" height="112.08791208791207" loading="eager" class="footer-logo__image footer-logo__image--light-mode" srcset="//handsfreelabs.com/cdn/shop/files/Group.png?v=1764594119&width=200, //handsfreelabs.com/cdn/shop/files/Group.png?v=1764594119&width=400 2x"> 2138</a> 2139 2140 2141 2142 <div class="footer-main-text body-small"></div> 2143 2144 2145</div> 2146 2147<div class="footer-blocks footer-blocks--justify-center animate-on-scroll"> 2148 <div 2149 class="footer-block footer-subscribe-block" 2150 2151 > 2152 <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="footer-subscribe-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 2153 2154 <h2 class="footer-subscribe-form__heading h4 footer-subscribe-form__heading--font-heading"> 2155 Subscribe for our newsletter 2156 </h2> 2157 2158 2159 <div class="footer-subscribe-form__inner"> 2160 <input 2161 type="hidden" 2162 name="contact[tags]" 2163 value="newsletter" 2164 > 2165 <div class="footer-subscribe-form__input-wrapper"> 2166 <input 2167 id="NewsletterForm--sections--25702051119423__footer" 2168 type="email" 2169 dir="ltr" 2170 name="contact[email]" 2171 display: 2172 block; 2173 class="footer-subscribe-form__input body-normal" 2174 value="" 2175 aria-required="true" 2176 autocorrect="off" 2177 autocapitalize="off" 2178 autocomplete="email" 2179 pattern="[a-z0-9._%+\-]+@[a-z0-9.\-]+\.[a-z]{2,}$" 2180 2181 placeholder="Your email" 2182 required 2183 > 2184 <label class="visually-hidden" for="NewsletterForm--sections--25702051119423__footer">Your email</label> 2185 </div> 2186 <button 2187 type="submit" 2188 class="button button--primary" 2189 > 2190 <div class="button__content"> 2191 <span class="button__label" data-label="Subscribe"> 2192 Subscribe 2193 </span> 2194 2195 <div class="button__icons">
2196 <span class="button__icon"> 2197 <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> 2198 <path d="M1.5 10.5011L10.2421 1.75789M2.46394 1.05078H10.9492V9.53606" stroke="currentColor" stroke-width="1.4" stroke-linecap="square"/> 2199</svg> 2200 2201 </span> 2202 <span class="button__icon button__icon--2"> 2203 <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> 2204 <path d="M1.5 10.5011L10.2421 1.75789M2.46394 1.05078H10.9492V9.53606" stroke="currentColor" stroke-width="1.4" stroke-linecap="square"/> 2205</svg> 2206 2207 </span> 2208 </div> 2209 2210 </div> 2211 <span class="animated-button-circle"></span> 2212 </button> 2213 </div> 2214 <div class="footer-subscribe-form-checkbox"> 2215 <input 2216 type="checkbox" 2217 name="footer_newsletter_checkbox" 2218 id="footer_newsletter_checkbox" 2219 required 2220 oninvalid="this.classList.add('is-invalid')" 2221 onchange="this.classList.remove('is-invalid')" 2222 > 2223 <label 2224 class="footer-subscribe-form-checkbox__label" 2225 for="footer_newsletter_checkbox" 2226 > 2227 <span class="footer-subscribe-form-checkbox__label-text body-small"> 2228 I accept the terms of 2229 <a 2230 href="/policies/privacy-policy" 2231 target="_blank" 2232 >Privacy policy</a> 2233 </span> 2234 </label> 2235 <p class="footer-subscribe-form-checkbox__error body-xs"> 2236 This field is required 2237 </p> 2238 </div> 2239 2240 </form> 2241 </div> 2242 2243 </div></div> 2244 </div> 2245 <div class="footer-bottom"> 2246 <div class="footer-bottom-container"> 2247 <div class="footer-bottom-container__main"> 2248 2249<div class="footer-copyright"> 2250 <span class="footer-copyright__content body-small"> 2251 © 2252 2253 2026 2254 2255 <a href="/" title="">HandsFree Labs</a>. 2256 </span> 2257 2258 </div> 2259 2260</div> 2261 2262</div> 2263 2264</div> 2265 </div> 2266</footer> 2267 2268 2269<style> @media (min-width: 769px) {#shopify-section-sections--25702051119423__footer .footer-main-wrapper {flex-direction: row; }} </style></div> 2270<!-- END sections: footer-group --> 2271 2272 2273 2274 2275<cart-drawer class="drawer is-empty"> 2276 <style> 2277 .drawer { 2278 visibility: hidden; 2279 } 2280 </style> 2281 <div id="CartDrawer" class="cart-drawer"> 2282 <div id="CartDrawer-Overlay" class="drawer__overlay"></div> 2283 <div 2284 class="drawer__inner color-background-1" 2285 role="dialog" 2286 aria-modal="true" 2287 aria-label="Your Cart: 0 items" 2288 tabindex="-1" 2289 > 2290 2291 <div class="drawer__header"> 2292 <div class="drawer__header-wrapper"> 2293 <div class="drawer__header-title body-normal"> 2294 Your Cart: 0 items 2295 </div> 2296 <button 2297 type="button" 2298 class="drawer__header-close focus-inset modal-close-button focus-inset body-normal" 2299 onclick="this.closest('cart-drawer').close()" 2300 aria-label="Close" 2301 > 2302 Close 2303 </button> 2304 </div> 2305 </div> 2306 2307 2308<div class="drawer__inner-empty"> 2309 <div class="cart__empty-wrapper"> 2310 <p class="cart__empty-title h4"> 2311 2312 Oops... 2313 2314 </p> 2315 2316 <p class="cart__empty-desc">Don't miss out on the best deals! Your cart may be empty now, but let us help you fill it up with amazing products.</p> 2317 2318 </div> 2319 2320 2321 2322 2323 2324 2325 2326 <a 2327 2328 href="/collections?sort_by=best-selling" 2329 aria-label="Start Shopping" 2330 2331 class="button button--primary " 2332 2333 2334 > 2335 <div class="button__content">
2336 <span class="button__label" data-label="Start Shopping">Start Shopping</span> 2337 2338 </div> 2339 <span class="animated-button-circle"></span> 2340 </a> 2341 2342 2343 </div> 2344 <cart-drawer-items class="is-empty"> 2345 <form 2346 action="/cart" 2347 id="CartDrawer-Form" 2348 class="cart__contents cart-drawer__form" 2349 method="post" 2350 > 2351 <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><p 2352 id="CartDrawer-LiveRegionText" 2353 class="visually-hidden" 2354 role="status" 2355 ></p> 2356 <p 2357 id="CartDrawer-LineItemStatus" 2358 class="visually-hidden" 2359 aria-hidden="true" 2360 role="status" 2361 > 2362 Loading... 2363 </p> 2364 </div> 2365 <div id="CartDrawer-CartErrors" role="alert"></div> 2366 </form> 2367 </cart-drawer-items> 2368 2369 2370 2371<div class="cart-improvements is-empty"><div 2372 class="cart-shipping is-empty" 2373 data-min-spend="50000.0" 2374 data-total="0" 2375 data-message=" You're only ||amount|| away from free shipping" 2376 data-cart-is-empty="true" 2377 data-show-in-empty-drawer="false" 2378 data-show-in-empty-cart="false" 2379 > 2380 <p class="cart-shipping__message cart-shipping__message_default body-small active"></p> 2381 <p class="cart-shipping__message cart-shipping__message_success body-small">Congratulations! You qualify for free shipping.</p> 2382 <span class="cart-shipping__progress"> 2383 <span class="cart-shipping__progress-current"></span> 2384 </span> 2385 </div></div> 2386 2387 2388 <div class="drawer__footer"> 2389 <div class="cart-drawer__footer"> 2390 <div class="totals" role="status"> 2391 <p class="totals__subtotal body-small">Subtotal</p> 2392 <div class="totals__subtotal-value"> 2393 <span>$0.00 USD</span> 2394 <div class="loading-overlay hidden"> 2395 <div class="loading-overlay__spinner"> 2396 <svg 2397 aria-hidden="true" 2398 focusable="false" 2399 role="presentation" 2400 class="spinner" 2401 viewBox="0 0 66 66" 2402 xmlns="http://www.w3.org/2000/svg" 2403> 2404 <circle class="path" fill="none" stroke-width="5" cx="33" cy="33" r="30"></circle> 2405</svg> 2406 2407 </div> 2408 </div> 2409 </div></div> 2410 2411 <small class="tax-note body-xs">Shipping, taxes, & promos calculated at checkout. 2412</small> 2413 </div><div class="cart-drawer__bottom"> 2414 <noscript> 2415 <button 2416 type="submit" 2417 class="cart__update-button button button--tertiary focus-inset" 2418 form="CartDrawer-Form" 2419 > 2420 Update 2421 </button> 2422 </noscript> 2423 <div class="cart-drawer__buttons"> 2424 <button 2425 type="submit" 2426 id="CartDrawer-Checkout" 2427 class="cart__checkout-button button button--primary button--full-width focus-inset" 2428 name="checkout" 2429 form="CartDrawer-Form" 2430 2431 disabled 2432 2433 > 2434 <div class="button__content"> 2435 <span class="button__label" data-label="Proceed to Checkout">Proceed to Checkout</span> 2436 </div> 2437 <span class="animated-button-circle"></span> 2438 </button> 2439 2440 2441 2442 2443 2444 2445 <a 2446 2447 href="/cart" 2448 aria-label="View Cart" 2449 2450 class="button button--transparent cart__link" 2451 2452 2453 > 2454 <div class="button__content"> 2455 <span class="button__label" data-label="View Cart">View Cart</span> 2456 2457 </div> 2458 <span class="animated-button-circle"></span> 2459 </a> 2460 2461 2462 </div> 2463 </div> 2464 </div> 2465 </div> 2466 </div> 2467</cart-drawer> 2468
2469<script> 2470 document.addEventListener('DOMContentLoaded', function () { 2471 function isIE() { 2472 const ua = window.navigator.userAgent; 2473 const msie = ua.indexOf('MSIE '); 2474 const trident = ua.indexOf('Trident/'); 2475 2476 return msie > 0 || trident > 0; 2477 } 2478 2479 if (!isIE()) return; 2480 const cartSubmitInput = document.createElement('input'); 2481 cartSubmitInput.setAttribute('name', 'checkout'); 2482 cartSubmitInput.setAttribute('type', 'hidden'); 2483 document.querySelector('#cart').appendChild(cartSubmitInput); 2484 document.querySelector('#checkout').addEventListener('click', function (event) { 2485 document.querySelector('#cart').submit(); 2486 }); 2487 }); 2488</script>
2488 2489<ul hidden> 2490 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 2491 </ul> 2492 2493
2493<script> 2494 window.routes = { 2495 cart_add_url: '/cart/add', 2496 cart_change_url: '/cart/change', 2497 cart_update_url: '/cart/update', 2498 cart_url: '/cart', 2499 predictive_search_url: '/search/suggest' 2500 }; 2501 2502 window.cartStrings = { 2503 error: `There was an error while updating your cart. Please try again.`, 2504 quantityError: `You can only add [quantity] of this item to your cart.`, 2505 empty: `Your cart is empty`, 2506 shop_now: `Start shopping`, 2507 collections_url: `/collections?sort_by=best-selling`, 2508 additional_service_property: `Added with`, 2509 } 2510 2511 window.variantStrings = { 2512 addToCart: `Add to Cart`, 2513 soldOut: `Sold Out`, 2514 unavailable: `Unavailable`, 2515 unavailable_with_option: `[value] - Unavailable` 2516 } 2517 2518 window.theme = { 2519 moneyFormat: "${{amount}}", 2520 quickviewMore: `View more details`, 2521 reviews: `Reviews` 2522 } 2523 2524 const calcVh = () => { 2525 const vh = window.innerHeight * 0.01; 2526 document.documentElement.style.setProperty("--vh", `${vh}px`); 2527 } 2528 window.addEventListener("load", calcVh); 2529 window.addEventListener("resize", calcVh); 2530 </script>
2530<script src="//handsfreelabs.com/cdn/shop/t/3/assets/product-model.js?v=33738294766022681231764838197" defer></script>
2530<style> .h1,.h2,.h3,.h4 {font-family: "Eurostile-Black";} .h1 {letter-spacing: -0.5rem;} .h2,.h3 {letter-spacing: -0.25rem;} .h4 {letter-spacing: -0.1rem;} .breadcrumb {display: none;} </style>
2531<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2531 2532</body> 2533</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.