PageSourceSearch

https://frictionlabs.com/search

html frictionlabs.com collected 2026-10-02 14:38:27 UTC 205,606 bytes, 2,092 lines download raw bytes

1<!DOCTYPE html><html lang="en" dir="ltr" class="no-js">
2<head>
3  
3<script type="application/vnd.locksmith+json" data-locksmith>{"version":"v346","locked":false,"initialized":true,"scope":"search","access_granted":true,"access_denied":false,"requires_customer":false,"manual_lock":false,"remote_lock":false,"has_timeout":false,"remote_rendered":null,"hide_resource":false,"hide_links_to_resource":false,"hide_price":false,"hide_add_to_cart":false,"transparent":true,"locks":{"all":[],"opened":[]},"keys":[],"keys_signature":"baeca00fc5cc9352c5421b5108a139dc8b79052b1bbe9120dd701ce1b012dd3e","state":{"template":"search","theme":138608705734,"product":null,"collection":null,"page":null,"blog":null,"article":null,"app":null},"now":1790951906,"path":"\/search","locale_root_url":"\/","canonical_url":"https:\/\/shop.frictionlabs.com\/search","customer_id":null,"customer_id_signature":"baeca00fc5cc9352c5421b5108a139dc8b79052b1bbe9120dd701ce1b012dd3e","cart":null}</script>
3<script data-locksmith>!function(){undefined;!function(){var s=window.Locksmith={},e=document.querySelector('script[type="application/vnd.locksmith+json"]'),n=e&&e.innerHTML;if(s.state={},s.util={},s.loading=!1,n)try{s.state=JSON.parse(n)}catch(d){}if(document.addEventListener&&document.querySelector){var o,i,a,t=[76,79,67,75,83,77,73,84,72,49,49],c=function(){i=t.slice(0)},l="style",r=function(e){e&&27!==e.keyCode&&"click"!==e.type||(document.removeEventListener("keydown",r),document.removeEventListener("click",r),o&&document.body.removeChild(o),o=null)};c(),document.addEventListener("keyup",function(e){if(e.keyCode===i[0]){if(clearTimeout(a),i.shift(),0<i.length)return void(a=setTimeout(c,1e3));c(),r(),(o=document.createElement("div"))[l].width="50%",o[l].maxWidth="1000px",o[l].height="85%",o[l].border="1px rgba(0, 0, 0, 0.2) solid",o[l].background="rgba(255, 255, 255, 0.99)",o[l].borderRadius="4px",o[l].position="fixed",o[l].top="50%",o[l].left="50%",o[l].transform="translateY(-50%) translateX(-50%)",o[l].boxShadow="0 2px 5px rgba(0, 0, 0, 0.3), 0 0 100vh 100vw rgba(0, 0, 0, 0.5)",o[l].zIndex="2147483645";var t=document.createElement("textarea");t.value=JSON.stringify(JSON.parse(n),null,2),t[l].border="none",t[l].display="block",t[l].boxSizing="border-box",t[l].width="100%",t[l].height="100%",t[l].background="transparent",t[l].padding="22px",t[l].fontFamily="monospace",t[l].fontSize="14px",t[l].color="#333",t[l].resize="none",t[l].outline="none",t.readOnly=!0,o.appendChild(t),document.body.appendChild(o),t.addEventListener("click",function(e){e.stopImmediatePropagation()}),t.select(),document.addEventListener("keydown",r),document.addEventListener("click",r)}})}s.isEmbedded=-1!==window.location.search.indexOf("_ab=0&_fd=0&_sc=1"),s.path=s.state.path||window.location.pathname,s.basePath=s.state.locale_root_url.concat("/apps/locksmith").replace(/^\/\//,"/"),s.reloading=!1,s.util.console=window.console||{log:function(){},error:function(){}},s.util.makeUrl=function(e,t){var n,o=s.basePath+e,i=[],a=s.cache();for(n in a)i.push(n+"="+encodeURIComponent(a[n]));for(n in t)i.push(n+"="+encodeURIComponent(t[n]));return s.state.customer_id&&(i.push("customer_id="+encodeURIComponent(s.state.customer_id)),i.push("customer_id_signature="+encodeURIComponent(s.state.customer_id_signature))),o+=(-1===o.indexOf("?")?"?":"&")+i.join("&")},s._initializeCallbacks=[],s.on=function(e,t){if("initialize"!==e)throw'Locksmith.on() currently only supports the "initialize" event';s._initializeCallbacks.push(t)},s.initializeSession=function(e){if(!s.isEmbedded){var t=!1,n=!0,o=!0;(e=e||{}).silent&&(o=n=!(t=!0)),s.ping({silent:t,spinner:n,reload:o,callback:function(){s._initializeCallbacks.forEach(function(e){e()})}})}},s.cache=function(e){var t={};try{var n=function i(e){return(document.cookie.match("(^|; )"+e+"=([^;]*)")||0)[2]};t=JSON.parse(decodeURIComponent(n("locksmith-params")||"{}"))}catch(d){}if(e){for(var o in e)t[o]=e[o];document.cookie="locksmith-params=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/",document.cookie="locksmith-params="+encodeURIComponent(JSON.stringify(t))+"; path=/"}return t},s.cache.cart=s.state.cart,s.cache.cartLastSaved=null,s.params=s.cache(),s.util.reload=function(){s.reloading=!0;try{window.location.href=window.location.href.replace(/#.*/,"")}catch(d){s.util.console.error("Preferred reload method failed",d),window.location.reload()}},s.cache.saveCart=function(e){if(!s.cache.cart||s.cache.cart===s.cache.cartLastSaved)return e?e():null;var t=s.cache.cartLastSaved;s.cache.cartLastSaved=s.cache.cart,fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({attributes:{locksmith:s.cache.cart}})}).then(function(e){if(!e.ok)throw new Error("Cart update failed: "+e.status);return e.json()}).then(function(){e&&e()})["catch"](function(e){if(s.cache.cartLastSaved=t,!s.reloading)throw e})},s.util.spinnerHTML='<style>body{background:#FFF}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}#loading{display:flex;width:100%;height:50vh;
3color:#777;align-items:center;justify-content:center}#loading .spinner{display:block;animation:spin 600ms linear infinite;position:relative;width:50px;height:50px}#loading .spinner-ring{stroke:currentColor;stroke-dasharray:100%;stroke-width:2px;stroke-linecap:round;fill:none}</style><div id="loading"><div class="spinner"><svg width="100%" height="100%"><svg preserveAspectRatio="xMinYMin"><circle class="spinner-ring" cx="50%" cy="50%" r="45%"></circle></svg></svg></div></div>',s.util.clobberBody=function(e){document.body.innerHTML=e},s.util.clobberDocument=function(e){e.responseText&&(e=e.responseText),document.documentElement&&document.removeChild(document.documentElement);var t=document.open("text/html","replace");t.writeln(e),t.close(),setTimeout(function(){var e=t.querySelector("[autofocus]");e&&e.focus()},100)},s.util.serializeForm=function(e){if(e&&"FORM"===e.nodeName){var t,n,o={};for(t=e.elements.length-1;0<=t;t-=1)if(""!==e.elements[t].name)switch(e.elements[t].nodeName){case"INPUT":switch(e.elements[t].type){default:case"text":case"hidden":case"password":case"button":case"reset":case"submit":o[e.elements[t].name]=e.elements[t].value;break;case"checkbox":case"radio":e.elements[t].checked&&(o[e.elements[t].name]=e.elements[t].value);break;case"file":}break;case"TEXTAREA":o[e.elements[t].name]=e.elements[t].value;break;case"SELECT":switch(e.elements[t].type){case"select-one":o[e.elements[t].name]=e.elements[t].value;break;case"select-multiple":for(n=e.elements[t].options.length-1;0<=n;n-=1)e.elements[t].options[n].selected&&(o[e.elements[t].name]=e.elements[t].options[n].value)}break;case"BUTTON":switch(e.elements[t].type){case"reset":case"submit":case"button":o[e.elements[t].name]=e.elements[t].value}}return o}},s.util.on=function(e,a,s,t){t=t||document;var c="locksmith-"+e+a,n=function(e){var t=e.target,n=e.target.parentElement,o=t&&t.className&&(t.className.baseVal||t.className)||"",i=n&&n.className&&(n.className.baseVal||n.className)||"";("string"==typeof o&&-1!==o.split(/\s+/).indexOf(a)||"string"==typeof i&&-1!==i.split(/\s+/).indexOf(a))&&!e[c]&&(e[c]=!0,s(e))};t.attachEvent?t.attachEvent(e,n):t.addEventListener(e,n,!1)},s.util.enableActions=function(e){s.util.on("click","locksmith-action",function(e){e.preventDefault();var t=e.target;t.dataset.confirmWith&&!confirm(t.dataset.confirmWith)||(t.disabled=!0,t.innerText=t.dataset.disableWith,s.post("/action",t.dataset.locksmithParams,{spinner:!1,type:"text",success:function(e){(e=JSON.parse(e.responseText)).message&&alert(e.message),s.util.reload()}}))},e)},s.util.inject=function(e,t){var n=["data","locksmith","append"];if(-1!==t.indexOf(n.join("-"))){var o=document.createElement("div");o.innerHTML=t,e.appendChild(o)}else e.innerHTML=t;var i,a,s=e.querySelectorAll("script");for(a=0;a<s.length;++a){i=s[a];var c=document.createElement("script");if(i.type&&(c.type=i.type),i.src)c.src=i.src;else{var l=document.createTextNode(i.innerHTML);c.appendChild(l)}e.appendChild(c)}var r=e.querySelector("[autofocus]");r&&r.focus()},s.post=function(e,t,n){!1!==(n=n||{}).spinner&&s.util.clobberBody(s.util.spinnerHTML);var o={};n.container===document?(o.layout=1,n.success=function(e){s.util.clobberDocument(e)}):n.container&&(o.layout=0,n.success=function(e){var t="string"==typeof n.container?document.getElementById(n.container):n.container;t&&(s.util.inject(t,e),t.id===t.firstChild.id&&t.parentElement.replaceChild(t.firstChild,t))}),n.form_type&&(t.form_type=n.form_type),n.include_layout_classes!==undefined&&(t.include_layout_classes=n.include_layout_classes),n.lock_id!==undefined&&(t.lock_id=n.lock_id),s.loading=!0;var i=s.util.makeUrl(e,o),a="json"===n.type||"text"===n.type;fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:a?"application/json":"text/html"},body:JSON.stringify(t)}).then(function(e){if(!e.ok)throw new Error("Request failed: "+e.status);return e.text()}).then(function(e){var t=n.success||s.util.clobberDocument;t(a?{responseText:e}:e)})["catch"](function(e){if(!s.reloading)if("dashboard.weglot.com"!==window.location.host){if(!n.silent)throw alert("Something went wrong! Please refresh and try again."),e;console.error(e)}else console.error(e)})["finally"](function(){s.loading=!1})},s.postResource=function(e,t){e.path=s.path,e.search=window.location.search,e.state=s.state,e.passcode&&(e.passcode=e.passcode.trim()),e.email&&(e.email=e.email.trim()),e.state.cart=s.cache.cart,e.locksmith_json=s.jsonTag,e.locksmith_json_signature=s.jsonTagSignature,s.post("/resource",e,t)},s.ping=function(e){if(!s.isEmbedded){e=e||{};s.post("/ping",{path:s.path,search:window.location.search,state:s.state},{spinner:!!e.spinner,silent:"undefined"==typeof e.silent||e.silent,type:"text",success:function(e){e&&e.responseText?(e=JSON.parse(e.responseText)).messages&&0<e.messages.length&&s.showMessages(e.messages):console.error("[Locksmith] Invalid result in ping callback:",e)}})}},s.timeoutMonitor=function(){var e=s.cache.cart;s.ping({callback:function(){e!==s.cache.cart||setTimeout(function(){s.timeoutMonitor()},6e4)}})},s.showMessages=function(e){var t=document.createElement("div");t.style.position="fixed",t.style.left=0,t.style.right=0,t.style.bottom="-50px",t.style.opacity=0,t.style.background="#191919",t.style.color="#ddd",t.style.transition="bottom 0.2s, opacity 0.2s",t.style.zIndex=999999,t.innerHTML=["<style>","  .locksmith-ab .locksmith-b { display: none; }","  .locksmith-ab.toggled .locksmith-b { display: flex; }","  .locksmith-ab.toggled .locksmith-a { display: none; }","  .locksmith-flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 10px 20px; }","  .locksmith-message + .locksmith-message { border-top: 1px #555 solid; }","  .locksmith-message a { color: inherit; font-weight: bold; }","  .locksmith-message a:hover { color: inherit; opacity: 0.8; }","  a.locksmith-ab-toggle { font-weight: inherit; text-decoration: underline; }","  .locksmith-text { flex-grow: 1; }","  .locksmith-cta { flex-grow: 0; text-align: right; }","  .locksmith-cta button { transform: scale(0.8); transform-origin: left; }","  .locksmith-cta > * { display: block; }","  .locksmith-cta > * + * { margin-top: 10px; }","  .locksmith-message a.locksmith-close { flex-grow: 0; text-decoration: none; margin-left: 15px; font-size: 30px; font-family: monospace; display: block; padding: 2px 10px; }","  @media screen and (max-width: 600px) {","    .locksmith-wide-only { display: none !important; }","    .locksmith-flex { padding: 0 15px; }","    .locksmith-flex > * { margin-top: 5px; margin-bottom: 5px; }","    .locksmith-cta { text-align: left; }","  }","  @media screen and (min-width: 601px) {","    .locksmith-narrow-only { display: none !important; }","  }","</style>"].join("")+e.map(function(e){return'<div class="locksmith-message">'+e+"</div>"}).join(""),document.body.appendChild(t),document.body.style.position="relative",document.body.parentElement.style.paddingBottom=t.offsetHeight+"px",setTimeout(function(){t.style.bottom=0,t.style.opacity=1},50),s.util.on("click","locksmith-ab-toggle",function(e){e.preventDefault();for(var t=e.target.parentElement;-1===t.className.split(" ").indexOf("locksmith-ab");)t=t.parentElement;-1!==t.className.split(" ").indexOf("toggled")?t.className=t.className.replace("toggled",""):t.className=t.className+" toggled"}),s.util.enableActions(t)}}()}();</script>
3
4      
4<script data-locksmith>Locksmith.cache.cart=null</script>
4
5
6  
6<script data-locksmith>Locksmith.jsonTag="{\"version\":\"v346\",\"locked\":false,\"initialized\":true,\"scope\":\"search\",\"access_granted\":true,\"access_denied\":false,\"requires_customer\":false,\"manual_lock\":false,\"remote_lock\":false,\"has_timeout\":false,\"remote_rendered\":null,\"hide_resource\":false,\"hide_links_to_resource\":false,\"hide_price\":false,\"hide_add_to_cart\":false,\"transparent\":true,\"locks\":{\"all\":[],\"opened\":[]},\"keys\":[],\"keys_signature\":\"baeca00fc5cc9352c5421b5108a139dc8b79052b1bbe9120dd701ce1b012dd3e\",\"state\":{\"template\":\"search\",\"theme\":138608705734,\"product\":null,\"collection\":null,\"page\":null,\"blog\":null,\"article\":null,\"app\":null},\"now\":1790951906,\"path\":\"\\\/search\",\"locale_root_url\":\"\\\/\",\"canonical_url\":\"https:\\\/\\\/shop.frictionlabs.com\\\/search\",\"customer_id\":null,\"customer_id_signature\":\"baeca00fc5cc9352c5421b5108a139dc8b79052b1bbe9120dd701ce1b012dd3e\",\"cart\":null}";Locksmith.jsonTagSignature="bc89a1025848055333e5bd91622240b4868f043445d65859f9b277b961ab460d"</script>
6
7  <!-- Mode 4.1.2 -->
8
9  <title>Search &ndash; Friction Labs</title>
10
11  <meta charset="utf-8" />
12<meta name="viewport" content="width=device-width,initial-scale=1.0" />
13<meta http-equiv="X-UA-Compatible" content="IE=edge">
14
15<link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
16<link rel="preconnect" href="https://fonts.shopify.com" crossorigin>
17<link rel="preconnect" href="https://monorail-edge.shopifysvc.com"><link rel="preload" as="font" href="//frictionlabs.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//frictionlabs.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//frictionlabs.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//frictionlabs.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2" type="font/woff2" crossorigin><link rel="preload" href="//frictionlabs.com/cdn/shop/t/69/assets/vendor.min.js?v=171821347312696842561736281188" as="script">
18<link rel="preload" href="//frictionlabs.com/cdn/shop/t/69/assets/theme.js?v=49844615550430399751736281188" as="script"><link rel="canonical" href="https://shop.frictionlabs.com/search" /><link rel="icon" href="//frictionlabs.com/cdn/shop/files/Logo_FL_Beaker.png?crop=center&height=48&v=1745861425&width=48" type="image/png"><meta name="description" content="At Friction Labs, we manufacture clean, high performance chalk and hand care products for athletes who demand better grip. Better Grip = Better Performance = More Fun.">
19
20<style>
21    @font-face {
22  font-family: Poppins;
23  font-weight: 400;
24  font-style: normal;
25  font-display: fallback;
26  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
27       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
28}
29
30    @font-face {
31  font-family: Poppins;
32  font-weight: 700;
33  font-style: normal;
34  font-display: fallback;
35  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"),
36       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.f34f55d9b3d3205d2cd6f64955ff4b36f0cfd8da.woff") format("woff");
37}
38
39    @font-face {
40  font-family: Poppins;
41  font-weight: 600;
42  font-style: normal;
43  font-display: fallback;
44  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n6.aa29d4918bc243723d56b59572e18228ed0786f6.woff2") format("woff2"),
45       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n6.5f815d845fe073750885d5b7e619ee00e8111208.woff") format("woff");
46}
47
48    @font-face {
49  font-family: Poppins;
50  font-weight: 500;
51  font-style: normal;
52  font-display: fallback;
53  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n5.ad5b4b72b59a00358afc706450c864c3c8323842.woff2") format("woff2"),
54       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n5.33757fdf985af2d24b32fcd84c9a09224d4b2c39.woff") format("woff");
55}
56
57    @font-face {
58  font-family: Poppins;
59  font-weight: 400;
60  font-style: italic;
61  font-display: fallback;
62  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_i4.846ad1e22474f856bd6b81ba4585a60799a9f5d2.woff2") format("woff2"),
63       url("//frictionlabs.com/cdn/fonts/poppins/poppins_i4.56b43284e8b52fc64c1fd271f289a39e8477e9ec.woff") format("woff");
64}
65
66    @font-face {
67  font-family: Poppins;
68  font-weight: 700;
69  font-style: italic;
70  font-display: fallback;
71  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_i7.42fd71da11e9d101e1e6c7932199f925f9eea42d.woff2") format("woff2"),
72       url("//frictionlabs.com/cdn/fonts/poppins/poppins_i7.ec8499dbd7616004e21155106d13837fff4cf556.woff") format("woff");
73}
74
75    @font-face {
76  font-family: Poppins;
77  font-weight: 700;
78  font-style: normal;
79  font-display: fallback;
80  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"),
81       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.f34f55d9b3d3205d2
81cd6f64955ff4b36f0cfd8da.woff") format("woff");
82}
83
84    @font-face {
85  font-family: Poppins;
86  font-weight: 700;
87  font-style: normal;
88  font-display: fallback;
89  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"),
90       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.f34f55d9b3d3205d2cd6f64955ff4b36f0cfd8da.woff") format("woff");
91}
92
93    @font-face {
94  font-family: Poppins;
95  font-weight: 400;
96  font-style: normal;
97  font-display: fallback;
98  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
99       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
100}
101
102    @font-face {
103  font-family: Poppins;
104  font-weight: 600;
105  font-style: normal;
106  font-display: fallback;
107  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n6.aa29d4918bc243723d56b59572e18228ed0786f6.woff2") format("woff2"),
108       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n6.5f815d845fe073750885d5b7e619ee00e8111208.woff") format("woff");
109}
110
111    @font-face {
112  font-family: Poppins;
113  font-weight: 300;
114  font-style: normal;
115  font-display: fallback;
116  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n3.05f58335c3209cce17da4f1f1ab324ebe2982441.woff2") format("woff2"),
117       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n3.6971368e1f131d2c8ff8e3a44a36b577fdda3ff5.woff") format("woff");
118}
119
120  </style>
121
122  <meta property="og:site_name" content="Friction Labs">
123<meta property="og:url" content="https://shop.frictionlabs.com/search"><meta property="og:title" content="Search">
124<meta property="og:type" content="website">
125<meta property="og:description" content="At Friction Labs, we manufacture clean, high performance chalk and hand care products for athletes who demand better grip. Better Grip = Better Performance = More Fun.">
126<meta name="twitter:site" content="@frictionlabs"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Search">
127<meta name="twitter:description" content="At Friction Labs, we manufacture clean, high performance chalk and hand care products for athletes who demand better grip. Better Grip = Better Performance = More Fun.">
128
129
130  <link href="//frictionlabs.com/cdn/shop/t/69/assets/styles.css?v=36302328142793725301746646530" rel="stylesheet" type="text/css" media="all" />
131<script>
132    document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
133    window.theme = window.theme || {};
134    theme.money_format_with_product_code_preference = "${{amount}}";
135    theme.money_format = "${{amount}}";
136    theme.strings = {
137      previous: "Previous",
138      next: "Next",
139      addressError: "Error looking up that address",
140      addressNoResults: "No results for that address",
141      addressQueryLimit: "You have exceeded the Google API usage limit. Consider upgrading to a \u003ca href=\"https:\/\/developers.google.com\/maps\/premium\/usage-limits\"\u003ePremium Plan\u003c\/a\u003e.",
142      authError: "There was a problem authenticating your Google Maps API Key.",
143      icon_labels_left: "Left",
144      icon_labels_right: "Right",
145      icon_labels_down: "Down",
146      icon_labels_close: "Close",
147      icon_labels_plus: "Plus",
148      imageSlider: "Image slider",
149      cart_terms_confirmation: "You must agree to the terms and conditions before continuing.",
150      cart_general_quantity_too_high: "You can only have [QUANTITY] in your cart",
151      products_listing_from: "From",
152      products_product_add_to_cart: "Add to Cart",
153      products_variant_no_stock: "Sold out",
154      products_variant_non_existent: "Unavailable",
155      products_product_pick_a: "Pick a",
156      general_navigation_menu_toggle_aria_label: "Toggle menu",
157      general_accessibility_labels_close: "Close",
158      products_product_added_to_cart: "Added to cart",
159      general_quick_search_pages: "Pages",
160      general_quick_search_no_results: "Sorry, we couldn\u0026#39;t find any results"
161    };
162    theme.routes = {
163      search_url: '/search',
164      cart_url: '/cart',
165      cart_add_url: '/cart/add.js',
166      cart_change_url: '/cart/change.js',
167      cart_update_url: '/cart/update.js',
168      predictive_search_url: '/search/suggest'
169    };
170    theme.settings = {
171      cart_type: "drawer",
172      after_add_to_cart: "drawer",
173      quickbuy_style: "button-quick-add",
174      quickbuy_visibility: "hover",
175      avoid_orphans: true,
176      qb_enable_sticky_cols: true,
177      show_search_suggestions: true
178    };
179
180    theme.enqueueStyleUpdateQueue = [];
181    theme.enqueueStyleUpdateTimeoutId = null;
182    theme.enqueueStyleUpdate = (cb) => {
183      clearTimeout(theme.enqueueStyleUpdateTimeoutId);
184      theme.enqueueStyleUpdateQueue.push(cb);
185      theme.enqueueStyleUpdateTimeoutId = setTimeout(() => {
186        while (theme.enqueueStyleUpdateQueue.length > 0) {
187          theme.enqueueStyleUpdateQueue.pop()();
188        }
189      }, 0);
190    }
191  </script>
191
192
193  
193<script src="//frictionlabs.com/cdn/shop/t/69/assets/vendor.min.js?v=171821347312696842561736281188" defer></script>
193
194  
194<script src="//frictionlabs.com/cdn/shop/t/69/assets/theme.js?v=49844615550430399751736281188" defer></script>
194
195  
195<script src="https://cdn.optimizely.com/js/3600180105.js"></script>
195
196  
196<script>
vendor: 362 bytes, lines 196-203
196
197    
198    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
199    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
200    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
201    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
202  
203    ga('create', '
203UA-47553706-1
vendor: 39 bytes, lines 203-204
203', 'auto', {'allowLinker': true});
204    
204ga('require', 'linker');
205    ga('linker:autoLink', ['frictionlabs.com','shop.frictionlabs.com'
206                          ,'frictionlabs.co.uk','shop.frictionlabs.co.uk'
207                          ,'frictionlabs.eu','shop.frictionlabs.eu'
208                          ,'frictionlabs.de','shop.frictionlabs.de'
209                          ,'frictionlabs.fr','shop.frictionlabs.fr'
210                          ,'frictionlabs.es','shop.frictionlabs.es'
211                          ,'frictionlabs.at','shop.frictionlabs.at'
212                          ,'frictionlabs.it','shop.frictionlabs.it'
213                          ,'frictionlabs.myshopify.com'
214                          ,'frictionlabs-eu.myshopify.com'
215                          ,'frictionlabs-uk.myshopify.com'
216                          ] );
217    ga('set', 'forceSSL', true);
218    ga('require', 'displayfeatures');
219    ga('send', 'pageview');
220    
221  </script>
221
222  <meta name="p:domain_verify" content="f23953afb263459a3714876616a7a73f"/>
223
224  <!-- Facebook Pixel Code -->
225  
225<script>
vendor: 404 bytes, lines 225-232
225
226  !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
227  n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
228  n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
229  t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
230  document,'script','//connect.facebook.net/en_US/fbevents.js');
231  
232  fbq('init', '
232110882162578064
vendor: 6 bytes, lines 232-233
232');
233  
233fbq('track', "PageView", {});
234  </script>
234
235  
236  <noscript>
237  
238  <img height="1" width="1" style="display:none"
239  src="https://www.facebook.com/tr?id=110882162578064&amp;ev=PageView&amp;noscript=1"
240  />
241  </noscript>
241<script>!function(){window.ZipifyPages=window.ZipifyPages||{},window.ZipifyPages.analytics={},window.ZipifyPages.currency="USD",window.ZipifyPages.shopDomain="frictionlabs.myshopify.com",window.ZipifyPages.moneyFormat="${{amount}}",window.ZipifyPages.shopifyOptionsSelector=false,window.ZipifyPages.unitPriceEnabled=false,window.ZipifyPages.integrations="".split(","),window.ZipifyPages.crmUrl="https://crms.zipify.com",window.ZipifyPages.isPagesEntity=false,window.ZipifyPages.translations={soldOut:"Sold Out",unavailable:"Unavailable"},window.ZipifyPages.routes={root:"\/",cart:{index:"\/cart",add:"\/cart\/add",change:"\/cart\/change",clear:"\/cart\/clear",update:"\/cart\/update"}};window.ZipifyPages.eventsSubscriptions=[],window.ZipifyPages.on=function(i,a){window.ZipifyPages.eventsSubscriptions.push([i,a])}}();</script>
241<script>(() => {
242(()=>{class g{constructor(t={}){this.defaultConfig={sectionIds:[],rootMargin:"0px",onSectionViewed:()=>{},onSectionInteracted:()=>{},minViewTime:500,minVisiblePercentage:30,interactiveSelector:'a, button, input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])'},this.config={...this.defaultConfig,...t},this.viewedSections=new Set,this.observer=null,this.viewTimers=new Map,this.init()}init(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",this.setup.bind(this)):this.setup()}setup(){this.setupObserver(),this.setupGlobalClickTracking()}setupObserver(){const t={root:null,rootMargin:this.config.rootMargin,threshold:[0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1]};this.observer=new IntersectionObserver(e=>{e.forEach(i=>{this.calculateVisibility(i)?this.handleSectionVisible(i.target):this.handleSectionHidden(i.target)})},t),this.config.sectionIds.forEach(e=>{const i=document.getElementById(e);i&&this.observer.observe(i)})}calculateVisibility(t){const e=window.innerHeight,i=window.innerWidth,n=e*i,o=t.boundingClientRect,s=Math.max(0,o.top),c=Math.min(e,o.bottom),d=Math.max(0,o.left),a=Math.min(i,o.right),r=Math.max(0,c-s),l=Math.max(0,a-d)*r,m=n>0?l/n*100:0,h=o.width*o.height,p=h>0?l/h*100:0,S=m>=this.config.minVisiblePercentage,b=p>=80;return S||b}isSectionViewed(t){return this.viewedSections.has(Number(t))}setupGlobalClickTracking(){document.addEventListener("click",t=>{const e=this.findParentTrackedSection(t.target);if(e){const i=this.findInteractiveElement(t.target,e.el);i&&(this.isSectionViewed(e.id)||this.trackSectionView(e.id),this.trackSectionInteract(e.id,i,t))}})}findParentTrackedSection(t){let e=t;for(;e&&e!==document.body;){const i=e.id||e.dataset.zpSectionId,n=i?parseInt(i,10):null;if(n&&!isNaN(n)&&this.config.sectionIds.includes(n))return{el:e,id:n};e=e.parentElement}return null}findInteractiveElement(t,e){let i=t;for(;i&&i!==e;){if(i.matches(this.config.interactiveSelector))return i;i=i.parentElement}return null}trackSectionView(t){this.viewedSections.add(Number(t)),this.config.onSectionViewed(t)}trackSectionInteract(t,e,i){this.config.onSectionInteracted(t,e,i)}handleSectionVisible(t){const e=t.id,i=setTimeout(()=>{this.isSectionViewed(e)||this.trackSectionView(e)},this.config.minViewTime);this.viewTimers.set(e,i)}handleSectionHidden(t){const e=t.id;this.viewTimers.has(e)&&(clearTimeout(this.viewTimers.get(e)),this.viewTimers.delete(e))}addSection(t){if(!this.config.sectionIds.includes(t)){this.config.sectionIds.push(t);const e=document.getElementById(t);e&&this.observer&&this.observer.observe(e)}}}class f{constructor(){this.sectionTracker=new g({onSectionViewed:this.onSectionViewed.bind(this),onSectionInteracted:this.onSectionInteracted.bind(this)}),this.runningSplitTests=[]}getCookie(t){const e=document.cookie.match(new RegExp(`(?:^|; )${t}=([^;]*)`));return e?decodeURIComponent(e[1]):null}setCookie(t,e){let i=`${t}=${encodeURIComponent(e)}; path=/; SameSite=Lax`;location.protocol==="https:"&&(i+="; Secure");const n=new Date;n.setTime(n.getTime()+365*24*60*60*1e3),i+=`; expires=${n.toUTCString()}`,document.cookie=i}pickByWeight(t){const e=Object.entries(t).map(([o,s])=>[Number(o),s]),i=e.reduce((o,[,s])=>o+s,0);let n=Math.random()*i;for(const[o,s]of e){if(n<s)return o;n-=s}return e[e.length-1][0]}render(t){const e=t.blocks,i=t.test,n=i.id,o=`zpSectionSplitTest${n}`;let s=Number(this.getCookie(o));e.some(r=>r.id===s)||(s=this.pickByWeight(i.distribution),this.setCookie(o,s));const c=e.find(r=>r.id===s),d=`sectionSplitTest${c.id}`,a=document.querySelector(`template[data-id="${d}"]`);if(!a){console.error(`Template for split test ${c.id} not found`);return}document.currentScript.parentNode.insertBefore(a.content.cloneNode(!0),document.currentScript),this.runningSplitTests.push({id:n,block:c,templateId:d}),this.initTrackingForSection(c.id)}findSplitTestForSection(t){return this.runningSplitTests.find(e=>e.block.id===Number(t))}initTrackingForSection(t){this.sectionTracker.addSection(t)}onSectionViewed(t){this.trackEvent({sectionId:t,event:"zp_section_viewed"})}onSectionInteracted(t){this.trackEvent({sectionId:t,event:"zp_section_clicked"})}trackEvent({event:t,sectionId:e,payload:i={}}){const n=this.findSplitTestForSection(e);n&&window.Shopify.analytics.publish(t,{...i,sectionId:e,splitTestHash:n.id})}}window.ZipifyPages??={};window.ZipifyPages.SectionSplitTest=new f;})();
243
244})()</script>
244<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
244<meta name="google-site-verification" content="zgEplhFW82vqhphX716TleiwTeZWpYk0QHYPYiJ1gCc">
245<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/6663291/digital_wallets/dialog">
246<meta id="in-context-paypal-metadata" data-shop-id="6663291" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
247<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
247<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=395444422"></script>
247
248<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
249<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=395444422&shop_id=6663291" crossorigin="anonymous"></script>
vendor: 1 bytes, line 249
249
250<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":6663291,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/6663291","merchantName":"Friction Labs","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Friction Labs","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 250
250
251<script id="shopify-features" type="application/json">{"accessToken":"6bf66b46506992dafba773c8321a2230","betas":["rich-media-storefront-analytics"],"domain":"frictionlabs.com","predictiveSearch":true,"shopId":6663291,"locale":"en"}</script>
vendor: 1 bytes, line 251
251
252<script>var Shopify = Shopify || {};
253Shopify.shop = "frictionlabs.myshopify.com";
254Shopify.locale = "en";
255Shopify.currency = {"active":"USD","rate":"1.0"};
256Shopify.country = "US";
257Shopify.theme = {"name":"Mode","id":138608705734,"schema_name":"Mode","schema_version":"4.1.2","theme_store_id":1578,"role":"main"};
258Shopify.theme.handle = "null";
259Shopify.theme.style = {"id":null,"handle":null};
260Shopify.cdnHost = "frictionlabs.com/cdn";
261Shopify.routes = Shopify.routes || {};
262Shopify.routes.root = "/";
263Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
264Shopify.SignInWithShop = Shopify.SignInWithShop || {};
265Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
266Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 266
266
267<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 267
267
268<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 268
268
269<script>
270  window.ShopifyPay = window.ShopifyPay || {};
271  window.ShopifyPay.apiHost = "shop.app\/pay";
272  window.ShopifyPay.redirectState = null;
273</script>
vendor: 1 bytes, line 273
273
274<script>
275  window.Shopify = window.Shopify || {};
276  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
277  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
278  window.Shopify.SignInWithShop.eligible = true;
279</script>
vendor: 1 bytes, line 279
279
280<script id="shop-js-analytics" type="application/json">{"pageType":"search"}</script>
vendor: 1 bytes, line 280
280
281<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 281
281
282<script type="module">
283  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
284
285  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
286
287</script>
vendor: 1 bytes, line 287
287
288<script>
289  window.Shopify = window.Shopify || {};
290  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
291  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"]};
292</script>
vendor: 1 bytes, line 292
292
293<script>(function() {
294  var isLoaded = false;
295  function asyncLoad() {
296    if (isLoaded) return;
297    isLoaded = true;
298    var urls = ["https:\/\/id-shop.govx.com\/app\/frictionlabs.myshopify.com\/govx.js?shop=frictionlabs.myshopify.com"];
299    for (var i = 0; i < urls.length; i++) {
300      var s = document.createElement('script');
301      s.type = 'text/javascript';
302      s.async = true;
303      s.src = urls[i];
304      var x = document.getElementsByTagName('script')[0];
305      x.parentNode.insertBefore(s, x);
306    }
307  };
308  if(window.attachEvent) {
309    window.attachEvent('onload', asyncLoad);
310  } else {
311    window.addEventListener('load', asyncLoad, false);
312  }
313})();</script>
vendor: 1 bytes, line 313
313
314<script id="__st">var __st={"a":6663291,"offset":-21600,"reqid":"d2535192-f495-4124-a9db-942c502d6889-1790951906","pageurl":"frictionlabs.com\/search","u":"bb8397cf64e1","p":"searchresults"};</script>
vendor: 1 bytes, line 314
314
315<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 315
315
316<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 316
316
317<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//frictionlabs.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 317
317
318<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 = "//frictionlabs.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>
318<script crossorigin="anonymous" defer="defer" src="//frictionlabs.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 318
318
319<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 319
319
320<script>
321  window.Shopify = window.Shopify || {};
322  window.Shopify.MCP = window.Shopify.MCP || {};
323  window.Shopify.MCP.enabled = true;
324  window.Shopify.MCP.shop = "frictionlabs.myshopify.com";
325  window.Shopify.MCP.mcpEndpoint = "https:\/\/frictionlabs.com\/api\/mcp";
326  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
327</script>
vendor: 1 bytes, line 327
327
328<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("\/\/frictionlabs.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
329</script>
vendor: 1 bytes, line 329
329
330<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://frictionlabs.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
331</script>
vendor: 1 bytes, line 331
331
332<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
333  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);
334</script>
vendor: 1 bytes, line 334
334
335<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})}}));
336</script>
vendor: 1 bytes, line 336
336
337<script id='scb4127' type='text/javascript' async='' src='https://frictionlabs.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
337<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://frictionlabs.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
338<style id="shopify-accelerated-checkout-cart">
339        #shopify-buyer-consent {
340  margin-top: 1em;
341  display: inline-block;
342  width: 100%;
343}
344
345#shopify-buyer-consent.hidden {
346  display: none;
347}
348
349#shopify-subscription-policy-button {
350  background: none;
351  border: none;
352  padding: 0;
353  text-decoration: underline;
354  font-size: inherit;
355  cursor: pointer;
356}
357
358#shopify-subscription-policy-button::before {
359  box-shadow: none;
360}
361
362      </style>
363
364<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
364
365<!-- BEGIN app block: shopify://apps/securify/blocks/browser-blocker/e3ed2576-9111-486f-86eb-a36b6bee4e94 -->
366<script>(function(){var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))__hasOwnProp.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),SecurifyGuard=function(e){"use strict";const t=["/apps/proxy","/apps/proxy-1","/apps/proxy-2","/apps/proxy-3","/apps/proxy-4","/apps/proxy-5","/apps/proxy-6","/apps/proxy-7","/apps/proxy-8","/apps/proxy-9","/apps/proxy-10"],r=t[0];function n(e){return"string"==typeof e&&t.some(t=>t===e)}function o(e){try{return e()}catch(t){return}}function i(e){const{target:t}=e;let r="buffering",n=null,o=null,i=[],s=[];const a=new WeakSet;let c=!1,u=0;const l=(...e)=>{try{if("released-dropped"===r)return;return"released-delivered"===r&&n?n.apply(o,e):(i.push(e),void(u+=1))}catch(t){return}};function f(){const e=n,t=o;if(!e)return;const r=i;i=[];for(const n of r)try{e.apply(t,n)}catch(s){}}function d(e){e.fn!==l&&(n=e.fn,o=e.receiver,function(){const e=n,t=o;if(!e)return;const r=s;s=[];for(const n of r)try{e.call(t,n.name,n.payload)}catch(i){}}(),"released-delivered"===r&&f())}function p(e){if(a.has(e))return;a.add(e);const t=e.publish;"function"==typeof t&&(y&&(c=!0),d({fn:t,receiver:e})),Object.defineProperty(e,"publish",{configurable:!0,enumerable:!0,get:()=>l,set(t){"function"==typeof t&&d({fn:t,receiver:e})}})}function h(e){if(a.has(e))return;a.add(e);let t=e.analytics;t&&p(t),Object.defineProperty(e,"analytics",{configurable:!0,enumerable:!0,get:()=>t,set(e){t=e,e&&"object"==typeof e&&p(e)}})}let y=!0;let g=!1;try{!function(){const e=t.Shopify;if(e&&"object"==typeof e)return void h(e);let r;Object.defineProperty(t,"Shopify",{configurable:!0,enumerable:!0,get:()=>r,set(e){r=e,e&&"object"==typeof e&&h(e)}})}()}catch(b){}return y=!1,{release:function(e){g||(g=!0,e.deliver?(r="released-delivered",f()):(r="released-dropped",i=[]))},publishDirect:function(e){try{if(n)return void n.call(o,e.name,e.payload);s.push(e)}catch(b){}},getState:()=>r,wasPublishPreexisting:()=>c,getBufferedCount:()=>u}}function s(e){if("string"==typeof e||e instanceof URL)return e;try{return e.clone()}catch(t){return e}}function a(){return new Response(null,{status:204})}function c(e){const{target:t,isTelemetry:r}=e;let n="buffering",o=[];const i={fetch:0,beacon:0,xhr:0};function c(e){o.push(e),i[e.kind]+=1}
366const u=t.navigator,l=u&&u.sendBeacon?u.sendBeacon:null,f=t.fetch?t.fetch:null,d=t.XMLHttpRequest?t.XMLHttpRequest:null,p=d?d.prototype.open:null,h=d?d.prototype.setRequestHeader:null,y=d?d.prototype.send:null,g=new WeakMap;function b(e){if(!f)return;const r=e.init?__spreadProps(__spreadValues({},e.init),{keepalive:!0}):{keepalive:!0},n=s(e.input);f.call(t,n,r).catch(()=>{try{f.call(t,e.input,e.init).catch(()=>{})}catch(r){}})}function _(e){if(!(d&&p&&h&&y))return;const t=new d;p.call(t,e.method,e.url);for(const r of e.headers)h.call(t,r.name,r.value);t.withCredentials=e.withCredentials,y.call(t,e.body)}function v(e){const t=e.body;if(!f||function(e){return"undefined"!=typeof Document&&e instanceof Document}(t))return void _(e);const r=null==t?null:t,n={};for(const i of e.headers)n[i.name]=i.value;try{b({input:e.url,init:{method:e.method,headers:n,credentials:e.withCredentials?"include":"same-origin",body:r}})}catch(o){_(e)}}function m(e){try{if("beacon"===e.kind)return void(u&&l&&l.call(u,e.url,e.data));if("fetch"===e.kind)return void b({input:e.input,init:e.init});v(e)}catch(t){}}let P=!1;try{u&&l&&(u.sendBeacon=function(e,t){try{if(r(String(e))){if("buffering"===n)return c({kind:"beacon",url:e,data:t}),!0;if("released-dropped"===n)return!0}}catch(o){}return l.call(u,e,t)}),f&&(t.fetch=function(e,o){try{if(r(function(e){return"string"==typeof e?e:e instanceof URL?e.href:e.url}(e))){if("buffering"===n)return c({kind:"fetch",input:s(e),init:o}),Promise.resolve(a());if("released-dropped"===n)return Promise.resolve(a())}}catch(i){}return f.call(t,e,o)}),d&&p&&h&&y&&(d.prototype.open=function(e,t,...n){try{r(String(t))?g.set(this,{kind:"xhr",method:e,url:String(t),headers:[],body:void 0,withCredentials:!1}):g.delete(this)}catch(o){}p.call(this,e,t,...n)},d.prototype.setRequestHeader=function(e,t){try{const r=g.get(this);r&&r.headers.push({name:e,value:t})}catch(r){}h.call(this,e,t)},d.prototype.send=function(e){try{const t=g.get(this);if(t&&"buffering"===n)return t.body=e,t.withCredentials=this.withCredentials,void c(t);if(t&&"released-dropped"===n)return}catch(t){}y.call(this,e)})}catch(w){}return{release:function(e){if(!P)if(P=!0,e.deliver){n="released-delivered";const e=o;o=[];for(const t of e)m(t)}else n="released-dropped",o=[]},getState:()=>n,getBufferedCounts:()=>__spreadValues({},i)}}const u=/^\/apps\/proxy(-\d+)?\/front-request\//;const l=["bundle","ready","edgeStart","edgeSettle","fingerprint","sent","answered"];function f(e){try{const t=e.__securifyProgress;if(!t)return null;let r=null;for(const e of l){const n=t[e];"number"==typeof n&&isFinite(n)&&((r||(r={}))[e]=n)}return r}catch(t){return null}}const d=["canary","control"];function p(e){try{const t=e.__securifyCohort;return function(e){return"string"==typeof e&&d.some(t=>t===e)}(t)?t:void 0}catch(t){return}}function h(e){const{target:t}=e;try{if(t.__securifyGuard)return t.__securifyGuard;if(!0===t.SECURIFY_GUARD_DISABLED)return null;const e=t.location?t.location.href:"",a=r=>{const n=function(e){if(!e)return null;try{return new URL(e).hostname}catch(t){return null}}(t.SECURIFY_EDGE_URL);return function(e){try{const t=new URL(e.baseHref),r=new URL(e.url,t),n=r.hostname.toLowerCase(),o=r.pathname;if(e.excludedHosts)for(const i of e.excludedHosts)if(i&&n===i.toLowerCase())return!1;return!("tr.securification.ai"===n||u.test(o)||o.startsWith("/cart")||o.startsWith("/checkout")||"monorail-edge.shopifysvc.com"!==n&&(r.origin!==t.origin||!o.startsWith("/.well-known/shopify/monorail")&&!o.startsWith("/monorail/")&&"/api/collect"!==o))}catch(t){return!1}}({url:r,baseHref:e,excludedHosts:n?[n]:void 0})},l=i({target:t}),d=c({target:t,isTelemetry:a}),h=t.performance,y=()=>{try{return h?h.now():0}catch(e){return 0}},g=y();let b=0;try{if(h){const e=h.getEntriesByType("resource");for(const t of e)a(t.name)&&(b+=1)}}catch(s){}let _=!1,v=!1,m=null,P=null,w=null;const x=e=>{var i;try{const s=null==(i=t.navigator)?void 0:i.sendBeacon;if(!s||!t.navigator)return;const a=d.getBufferedCounts(),c={source:"guard",reason:e.reason,deliver:e.deliver,msToRelease:null===P?0:Math.round(P-g),bufferedPublish:l.getBufferedCount(),bufferedFetch:a.fetch,bufferedBeacon:a.beacon,bufferedXhr:a.xhr,leakedBeforeInstall:b,publishPreexisting:l.wasPublishPreexisting(),installedAt:Math.round(g),progress:f(t)||void 0,cohort:p(t)};s.call(t.navigator,function(e){const t=o(()=>e.__securifyProxyPath);if(n(t))return t;const i=o(()=>e.SECURIFY_PROXY_PATH);return n(i)?i:r}(t)+"/front-request/guard-release",JSON.stringify(c))}catch(s){}},S=e=>{try{if(_)return;_=!0,v=e.deliver,m=e.reason,P=y(),null!==w&&(clearTimeout(w),w=null),l.release({deliver:e.deliver}),d.release({deliver:e.deliver}),"decision"!==e.reason&&x({reason:e.reason,deliver:e.deliver})}catch(s){}};w=setTimeout(()=>{S({deliver:!0,reason:"watchdog"})},7e3),"function"==typeof t.addEventListener&&t.addEventListener("pagehide",()=>{S({deliver:!0,reason:"pagehide"})});const O={release:e=>S({deliver:e.deliver,reason:"decision"}),publishDirect:e=>l.publishDirect(e),getState:()=>_?v?"released-delivered":"released-dropped":"buffering",getStats:()=>{const e=d.getBufferedCounts();return{publishPreexisting:l.wasPublishPreexisting(),leakedBeforeInstall:b,bufferedPublish:l.getBufferedCount(),bufferedFetch:e.fetch,bufferedBeacon:e.beacon,bufferedXhr:e.xhr,msSinceInstall:Math.round(y()-g),installedAt:Math.round(g),releaseReason:m,releaseDeliver:_?v:null,msToRelease:null===P?null:Math.round(P-g)}}};return t.__securifyGuard=O,O}catch(s){return null}}return"undefined"!=typeof window&&h({target:window}),e.installGuard=h,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),e}({});})();</script>
366<script>
367  // Pass shop domain to the React app via global variable
368  window.SECURIFY_SHOP_DOMAIN = "shop.frictionlabs.com";
369  window.SECURIFY_CUSTOMER_ID = null;
370  // Generic per-visit rollout gate (src/signals/canary.ts). Read from an
371  // app-owned metafield synchronously at Liquid render time — zero added
372  // round trip. A rollout percent (0-100), not tied to any specific
373  // feature; whatever currently needs a percent rollout reads this same
374  // value. See app/lib/canary.server.ts for the write path and
375  // shopify.app.staging.toml for the metafield definition.
376  window.SECURIFY_CANARY_PERCENT = 0;
377  // SEC-1113: the app-proxy prefix the app last observed for this shop
378  // ("/apps/proxy-3" on a store where another app holds "/apps/proxy"),
379  // written by app/lib/proxy-path-metafield.server.ts. Raw and untrusted
380  // here; every beacon and the bundle's probe resolve the prefix when they
381  // fire (src/proxy-path.ts resolveProxyPrefix), accepting this only when it
382  // is one of the eleven known paths. null until the app has seen a decision
383  // request from this shop.
384  window.SECURIFY_PROXY_PATH = "\/apps\/proxy";
385</script>
385<link rel="preconnect" href="https://tr.securification.ai" crossorigin="anonymous">
386<link rel="dns-prefetch" href="//tr.securification.ai">
386<script>(function(){!function(){"use strict";function t(t){const{target:n,step:e}=t;try{const t=n.performance;if(!t)return;const r=n.__securifyProgress||(n.__securifyProgress={});if("number"==typeof r[e])return;r[e]=Math.round(t.now())}catch(r){}}const n=["/apps/proxy","/apps/proxy-1","/apps/proxy-2","/apps/proxy-3","/apps/proxy-4","/apps/proxy-5","/apps/proxy-6","/apps/proxy-7","/apps/proxy-8","/apps/proxy-9","/apps/proxy-10"],e=n[0];function r(t){return"string"==typeof t&&n.some(n=>n===t)}function o(t){try{return t()}catch(n){return}}const c=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function i(t){var n;return null!=(n=function(t){try{const n=null==t?void 0:t.randomUUID;if("function"!=typeof n)return null;const e=n.call(t);return"string"==typeof e&&c.test(e)?e.toLowerCase():null}catch(n){return null}}(t))?n:function(t){try{const n=null==t?void 0:t.getRandomValues;if("function"!=typeof n)return null;const e=n.call(t,new Uint8Array(16));if(!(e instanceof Uint8Array)||16!==e.length)return null;e[6]=15&e[6]|64,e[8]=63&e[8]|128;const r=[];for(let t=0;t<16;t+=1)r.push((256|e[t]).toString(16).slice(1));const o=[r.slice(0,4).join(""),r.slice(4,6).join(""),r.slice(6,8).join(""),r.slice(8,10).join(""),r.slice(10,16).join("")].join("-");return c.test(o)?o:null}catch(n){return null}}(t)}function s(t){const{target:n}=t,e=function(t){var n,e,r;const{target:o}=t;try{const t=o.__securifyVisitId;if("string"==typeof t&&c.test(t))return t.toLowerCase()}catch(i){}try{const t=null==(e=null==(n=o.document)?void 0:n.documentElement)?void 0:e.getAttribute;if("function"==typeof t){const n=t.call(null==(r=o.document)?void 0:r.documentElement,u);if("string"==typeof n&&c.test(n))return n.toLowerCase()}}catch(i){}return null}({target:n});if(e)return a({target:n,visitId:e}),e;const r=i(function(t){try{return t.crypto}catch(n){return}}(n));return r?(a({target:n,visitId:r}),r):null}const u="data-securify-visit-id";function a(t){var n,e,r;const{target:o,visitId:c}=t;try{o.__securifyVisitId=c}catch(i){}try{const t=null==(e=null==(n=o.document)?void 0:n.documentElement)?void 0:e.setAttribute;"function"==typeof t&&t.call(null==(r=o.document)?void 0:r.documentElement,u,c)}catch(i){}}function l(t){const{target:n,fetchImpl:c}=t;try{c.call(n,function(t){const n=o(()=>t.__securifyProxyPath);if(r(n))return n;const c=o(()=>t.SECURIFY_PROXY_PATH);return r(c)?c:e}(n)+"/ingest/edge-attempt",{method:"POST",keepalive:!0,credentials:"omit",cache:"no-store",mode:"same-origin"}).catch(()=>{})}catch(i){}}if("undefined"!=typeof window)try{s({target:window}),function(n){const{target:e}=n;try{if(e.__securifyEdgeCaptureFired)return}catch(i){}const r=e.fetch;if("function"!=typeof r)return;const o=s({target:e});if(!o)return;try{e.__securifyEdgeCaptureFired=!0}catch(i){}const c=()=>t({target:e,step:"edgeSettle"});try{t({target:e,step:"edgeStart"}),r.call(e,function(t){const{url:n,visitId:e}=t;if(!e)return n;const[r,o]=n.split("?",2),c=`${r.replace(/\/+$/,"")}/${e}`;return o?`${c}?${o}`:c}({url:e.SECURIFY_EDGE_URL||"https://tr.securification.ai/check",visitId:o}),{method:"GET",mode:"no-cors",keepalive:!0,credentials:"omit",cache:"no-store"}).then(c,c)}catch(i){return}l({target:e,fetchImpl:r})}({target:window})}catch(f){}}();})();</script>
386<link rel="preload" href="https://cdn.shopify.com/extensions/01a0fce1-fdfc-73c5-8d8f-c390d0759997/securify-294/assets/visitor-blocker-v2.iife.js" as="script" fetchpriority="high">
387
388<script src="https://cdn.shopify.com/extensions/01a0fce1-fdfc-73c5-8d8f-c390d0759997/securify-294/assets/visitor-blocker-v2.iife.js" async fetchpriority="high"></script>
388
389<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core -->
390
391
392
393
394
395
396
397<link rel="dns-prefetch" href="https://cdn.judge.me">
398<link rel="dns-prefetch" href="https://cdn1.judge.me">
399<link rel="dns-prefetch" href="https://api.judge.me">
400
401<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":true,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} review/reviews","badge_star_color":"#00b0ff","hide_badge_preview_if_no_reviews":false,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank y
401ou! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e FrictionLabs replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"last_initial","widget_rating_filter_color":"","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#00b0ff","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"country_iso_code","all_reviews_include_out_of_store_products":false,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"★ Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":true,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"text","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":true,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"vintage","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":true,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":false,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":true,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","widget_sorting_most_relevant_text":"Most Relevant","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":false,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":true,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":false,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
401itle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#108474","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"vertical","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#108474","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":false,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":true,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"review_widget","request_store_review_after_product_review":false,"request_review_other_products_in_order":false,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#108474","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#108474","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_
401youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":false,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":true,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":true,"review_widget_install_preference":"above-related","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":true,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":false,"review_widget_qna_enabled":false,"review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
401:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"We’ll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews/stores/shop.frictionlabs.com","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Friction Labs","shop_currency":"USD","widget_version":"2.1","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_use_review_site":true,"shop_locale":"en","enable_multi_locales_translations":true,"show_review_title_input":true,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_
401shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":false,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":true,"can_be_branded":true,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"Friction Labs"};</script>
401 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:not(.jdgm-prev-badge__stars)>.jdgm-star{color:#00b0ff}.jdgm-histogram .jdgm-star.jdgm-star{color:#00b0ff}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#00b0ff}.jdgm-author-fullname{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__replier:before{content:'Friction Labs'}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}
402</style> <style class='jdgm-settings-style'></style>
403
404  
405  
406  
407  <style class='jdgm-miracle-styles'>
408  @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/I
408azfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important}
409
410</style>
411
412
413  
414  
415   
416
417
418
419
420<script data-cfasync='false' class='jdgm-script'>
421!function(e){window.jdgm=window.jdgm||{};
422/* INF-1976 */
423var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}();
424if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;}
425jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a0fd03-c455-7b82-9766-74101e55572c/judgeme-771/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/",
426jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)?
427setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){
428!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d),
429(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!",
430a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))},
431jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest;
432t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))},
433t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll(
434".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting?
435parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"):
436jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css")
437)}))}(document);
438</script>
438
439<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a0fd03-c455-7b82-9766-74101e55572c/judgeme-771/assets/shopify_v2.css"></noscript>
440
441<!-- BEGIN app snippet: theme_fix_tags -->
441<script>
442  (function() {
443    var jdgmThemeFixes = null;
444    if (!jdgmThemeFixes) return;
445
446    // "All themes" fix: CSS and JS applied on every theme. CSS is injected
447    // before the per-theme fix so the theme-specific CSS wins the cascade.
448    // HTML is never applied globally (too risky).
449    var allThemesFix = jdgmThemeFixes['all'];
450    if (allThemesFix && allThemesFix.css) {
451      var allStyleTag = document.createElement('style');
452      allStyleTag.classList.add('jdgm-theme-fix-style-all');
453      allStyleTag.innerHTML = allThemesFix.css;
454      document.head.append(allStyleTag);
455    };
456
457    if (allThemesFix && allThemesFix.js) {
458      var allScriptTag = document.createElement('script');
459      allScriptTag.classList.add('jdgm-theme-fix-script-all');
460      allScriptTag.innerHTML = allThemesFix.js;
461      document.head.append(allScriptTag);
462    };
463
464    var thisThemeFix = jdgmThemeFixes[Shopify.theme.id];
465    if (!thisThemeFix) return;
466
467    if (thisThemeFix.html) {
468      document.addEventListener("DOMContentLoaded", function() {
469        var htmlDiv = document.createElement('div');
470        htmlDiv.classList.add('jdgm-theme-fix-html');
471        htmlDiv.innerHTML = thisThemeFix.html;
472        document.body.append(htmlDiv);
473      });
474    };
475
476    if (thisThemeFix.css) {
477      var styleTag = document.createElement('style');
478      styleTag.classList.add('jdgm-theme-fix-style');
479      styleTag.innerHTML = thisThemeFix.css;
480      document.head.append(styleTag);
481    };
482
483    if (thisThemeFix.js) {
484      var scriptTag = document.createElement('script');
485      scriptTag.classList.add('jdgm-theme-fix-script');
486      scriptTag.innerHTML = thisThemeFix.js;
487      document.head.append(scriptTag);
488    };
489  })();
490</script>
490
491<!-- END app snippet -->
492<!-- End of Judge.me Core -->
493
494
495
496<!-- END app block -->
496<script src="https://cdn.shopify.com/extensions/01a0fd03-c455-7b82-9766-74101e55572c/judgeme-771/assets/loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 496
496
497<script src="https://cdn.shopify.com/extensions/01a0f885-56f4-79de-af41-45a261d7aae9/forms-2605/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
497
498<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
499<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: 6663291,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "search"};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 499
499
500<script>
501  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
502</script>
vendor: 1 bytes, line 502
502
503<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}
503).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: 6663291,storefrontBaseUrl: "https://shop.frictionlabs.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://frictionlabs.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1985642694","configuration":"{\"ga4MeasurementId\":\"-\",\"ga4ApiSecret\":\"-\",\"securifyVisitClientUrl\":\"https:\/\/securify-app-production-d4wmn.ondigitalocean.app\/ingest\/visit-client\",\"securifyCheckoutUrl\":\"https:\/\/securify-app-production-d4wmn.ondigitalocean.app\/ingest\/checkout\",\"securifyCheckoutToken\":\"780e430eb0f6a3552f78fc938f5843
5030f7d039cf5174ce9ef\",\"securifyShopDomain\":\"frictionlabs.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"75b03dfecdf430d72900a460187f5266","type":"APP","apiClientId":37337956353,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1604485318","configuration":"{\"accountID\":\"tKNmsm\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1508999366","configuration":"{\"pixelCode\":\"CVVD6N3C77UC1KSFE5O0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"877691078","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"489554118","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-QDD316CGZ0\\\"],\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-QDD316CGZ0\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"202866886","configuration":"{\"pixel_id\":\"110882162578064\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"44925126","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"26","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Custom MetaPixel"}
503,{"id":"160399558","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Order Confirmation - Google Ad"},{"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":"Friction Labs","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"frictionlabs.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/shop.frictionlabs.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://frictionlabs.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"138608705734","themeStoreId":"1578","themePublished":"true","eventMetadataId":"86556527-d620-4460-8f3a-e115884e70ef","pageType":"searchresults","shopId":"6663291","storefrontBaseUrl":"https:\/\/shop.frictionlabs.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"search_submitted\",{\"searchResult\":{\"query\":\"\",\"productVariants\":[]}}]]"});})();</script>
503<script>
504  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
505  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
506  window.ShopifyAnalytics.meta.currency = 'USD';
507  var meta = {"products":[],"page":{"pageType":"searchresults","requestId":"d2535192-f495-4124-a9db-942c502d6889-1790951906"}};
508  for (var attr in meta) {
509    window.ShopifyAnalytics.meta[attr] = meta[attr];
510  }
511</script>
vendor: 1 bytes, line 511
511
512<script class="analytics">
513  (function () {
514    var customDocumentWrite = function(content) {
515      var jquery = null;
516
517      if (window.jQuery) {
518        jquery = window.jQuery;
519      } else if (window.Checkout && window.Checkout.$) {
520        jquery = window.Checkout.$;
521      }
522
523      if (jquery) {
524        jquery('body').append(content);
525      }
526    };
527
528    var hasLoggedConversion = function(token) {
529      if (token) {
530        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
531      }
532      return false;
533    }
534
535    var setCookieIfConversion = function(token) {
536      if (token) {
537        var twoMonthsFromNow = new Date(Date.now());
538        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
539
540        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
541      }
542    }
543
544    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
545    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
546    if (trekkie.integrations) {
547      return;
548    }
549    trekkie.methods = [
550      'identify',
551      'page',
552      'ready',
553      'track',
554      'trackForm',
555      'trackLink'
556    ];
557    trekkie.factory = function(method) {
558      return function() {
559        var args = Array.prototype.slice.call(arguments);
560        args.unshift(method);
561        trekkie.push(args);
562        if (method == 'track' || method == 'page') {
563          var pageUrl;
564          try {
565            pageUrl = window.location.href;
566          } catch (e) {}
567          var pageReferrer;
568          try {
569            pageReferrer = document.referrer;
570          } catch (e) {}
571          try {
572            if (window.__TREKKIE_SHIM_QUEUE == null) {
573              window.__TREKKIE_SHIM_QUEUE = [];
574            }
575            window.__TREKKIE_SHIM_QUEUE.push({
576              from: 'trekkie-stub',
577              method: method,
578              args: args.slice(1),
579              pageContext: {
580                url: pageUrl,
581                referrer: pageReferrer
582              }
583            });
584          } catch (e) {
585            // no-op
586          }
587        }
588        return trekkie;
589      };
590    };
591    for (var i = 0; i < trekkie.methods.length; i++) {
592      var key = trekkie.methods[i];
593      trekkie[key] = trekkie.factory(key);
594    }
595    trekkie.load = function(config) {
596      trekkie.config = config || {};
597      trekkie.config.initialDocumentCookie = document.cookie;
598      var first = document.getElementsByTagName('script')[0];
599var script = document.createElement('script');
600script.type = 'text/javascript';
601script.onerror = function(e) {
602  var scriptFallback = document.createElement('script');
603  scriptFallback.type = 'text/javascript';
604  scriptFallback.onerror = function(error) {
605          var Monorail = {
606      produce: function produce(monorailDomain, schemaId, payload) {
607        var currentMs = new Date().getTime();
608        var event = {
609          schema_id: schemaId,
610          payload: payload,
611          metadata: {
612            event_created_at_ms: currentMs,
613            event_sent_at_ms: currentMs
614          }
615        };
616        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
617      },
618      sendRequest: function sendRequest(endpointUrl, payload) {
619        // Try the sendBeacon API
620        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
621          var blobData = new window.Blob([payload], {
622            type: 'text/plain'
623          });
624
625          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
626            return true;
627          } // sendBeacon was not successful
628
629        } // XHR beacon
630
631        var xhr = new XMLHttpRequest();
632
633        try {
634          xhr.open('POST', endpointUrl);
635          xhr.setRequestHeader('Content-Type', 'text/plain');
636          xhr.send(payload);
637        } catch (e) {
638          console.log(e);
639        }
640
641        return false;
642      },
643      isIos12: function isIos12() {
644        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
645      }
646    };
647    Monorail.produce('monorail-edge.shopifysvc.com',
648      'trekkie_storefront_load_errors/1.1',
649      {shop_id: 6663291,
650      theme_id: 138608705734,
651      app_name: "storefront",
652      context_url: window.location.href,
653      source_url: "//frictionlabs.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
654
655  };
656  scriptFallback.async = true;
657  scriptFallback.src = '//frictionlabs.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
658  first.parentNode.insertBefore(scriptFallback, first);
659};
660script.async = true;
661script.src = '//frictionlabs.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
662first.parentNode.insertBefore(script, first);
663
664    };
665    trekkie.load(
666      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":6663291,"isMerchantRequest":null,"themeId":138608705734,"themeCityHash":"7814239851913059029","contentLanguage":"en","currency":"USD","eventMetadataId":"86556527-d620-4460-8f3a-e115884e70ef"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
667    );
668
669    var loaded = false;
670    trekkie.ready(function() {
671      if (loaded) return;
672      loaded = true;
673
674      window.ShopifyAnalytics.lib = window.trekkie;
675
676      var originalDocumentWrite = document.write;
677      document.write = customDocumentWrite;
678      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
679      document.write = originalDocumentWrite;
680
681      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
682      var token = match? match[1]: undefined;
683      if (!hasLoggedConversion(token)) {
684        setCookieIfConversion(token);
685        window.ShopifyAnalytics.lib.track("Performed Search",{"query":null},undefined,undefined,{"shopifyEmitted":true});
686      }
687    });
688
689    window.ShopifyAnalytics.lib.page(null,{"pageType":"searchresults","requestId":"d2535192-f495-4124-a9db-942c502d6889-1790951906","shopifyEmitted":true});
690
691    var eventsListenerScript = document.createElement('script');
692    eventsListenerScript.async = true;
693    eventsListenerScript.src = "//frictionlabs.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
694    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
695})();</script>
695
696  
696<script>
697  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
698    window.ga = function ga() {
699      (window.ga.q = window.ga.q || []).push(arguments);
700      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
701        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
702      }
703      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
704    };
705    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
706      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
707    }
708  }
709</script>
vendor: 1 bytes, line 709
709
710<script
711  defer
712  src="https://frictionlabs.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
713  data-application="storefront-renderer"
714  data-shop-id="6663291"
715  data-render-region="gcp-us-central1"
716  data-page-type="search"
717  data-theme-instance-id="138608705734"
718  data-theme-name="Mode"
719  data-theme-version="4.1.2"
720  data-monorail-region="shop_domain"
721  data-resource-timing-sampling-rate="10"
722  data-shs="true"
723  data-shs-beacon="true"
724  data-shs-export-with-fetch="true"
725  data-shs-logs-sample-rate="1"
726  data-shs-beacon-endpoint="https://frictionlabs.com/api/collect"
727></script>
727
728<meta name="shopify-y" content="0dbfc61c-fe5b-4da9-b815-c60949f3fbb5" data-expiration="1822509506000"><meta name="shopify-s" content="0a4c06b4-ae6b-44cb-aa82-86bd8bbe0ac6" data-expiration="1790953706000"><meta name="new-cookie-storage-activated" content="t">
729</head>
730
731<body class="template-search
732 image-load-anim-enabled" data-cc-animate-timeout="0">
732<script>
733      if ('IntersectionObserver' in window) {
734        document.body.classList.add("cc-animate-enabled");
735      }
736    </script>
736<a class="skip-link visually-hidden" href="#content">Skip to content</a><!-- BEGIN sections: header-group -->
737<div id="shopify-section-sections--17435907358918__announcement-bar" class="shopify-section shopify-section-group-header-group section-announcement-bar">
738<div class="wide-container" data-cc-animate>
739    <div id="section-id-sections--17435907358918__announcement-bar" class="announcement-bar
740        card
741        card--no-mb announcement-bar--with-announcement" data-section-type="announcement-bar">
742      <style data-shopify>
743        #section-id-sections--17435907358918__announcement-bar {
744          --announcement-background: #141414;
745          --announcement-text: #ffffff;
746          --link-underline: rgba(255, 255, 255, 0.6);
747          --announcement-font-size: 15px;
748        }
749      </style>
750
751      <div class="announcement-bar__left desktop-only">
752        
753      </div>
754
755      <div class="announcement-bar__middle"><div class="announcement-bar__announcements"><div class="announcement"
756                data-bg="#141414"
757                data-text="#ffffff"
758                data-underline="rgba(255, 255, 255, 0.6)" >
759                <div class="announcement__text"><p>NEW! <a href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" target="_blank" title="DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)"><strong>DWoods Precision Grip™</strong></a> ▶</p><p>Chunky chalk for your toughest projects </p></div>
760              </div></div></div>
761
762      <div class="announcement-bar__right desktop-only">
763        
764        
765          <div class="header-disclosures js-only">
766            <form method="post" action="/localization" id="localization_form_annbar" accept-charset="UTF-8" class="selectors-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/search" /></form>
767          </div>
768        
769      </div>
770    </div>
771  </div>
772</div><div id="shopify-section-sections--17435907358918__header" class="shopify-section shopify-section-group-header-group section-header"><style data-shopify>
773  .logo img {
774    width: 180px;
775  }
776  .logo-area__middle--logo-image {
777    max-width: 180px;
778  }
779  @media (max-width: 767.98px) {
780    .logo img {
781      width: 120px;
782    }
783    .logo-area__middle--logo-image {
784      max-width: 120px;
785    }
786  }.section-header {
787    position: -webkit-sticky;
788    position: sticky;
789    top: var(--magic-margin);
790  }</style>
791<div data-section-type="header" class="wide-container" data-cc-animate>
792  <div id="pageheader" class="pageheader pageheader--layout-inline-menu-center pageheader--layout-inline-permitted pageheader--sticky card card--header">
793    <div class="logo-area">
794      <div class="logo-area__left">
795        <div class="logo-area__left__inner">
796          <button class="btn--icon mobile-nav-toggle tap-target" aria-label="Toggle menu" aria-controls="MobileNavigationDrawer"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu" aria-hidden="true"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button>
797
798          
799            <a class="show-search-link mobile-only" href="/search">
800              <span class="show-search-link__text visually-hidden">Search</span>
801              <span class="show-search-link__icon"><svg width="26" height="26" viewBox="0 0 26 26" aria-hidden="true"><g fill="none" fill-rule="evenodd"><g transform="translate(1 1)" stroke="currentColor"><circle cx="10.364" cy="10.364" r="10.364"/><path stroke-linecap="square" d="m18 18 5.777 5.788"/></g></g></svg></span>
802            </a>
803          
804
805          <div class="navigation navigation--desktop" role="navigation" aria-label="Primary navigation">
806            <div class="navigation__tier-1-container">
807              <ul class="navigation__tier-1">
808<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
809      <a href="/pages/all-products" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-1">Products</a>
810
811      
812        <a class="navigation__children-toggle" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><title>Toggle menu</title><polyline points="6 9 12 15 18 9"></polyline></svg></a>
813
814        <div id="NavigationTier2-1" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
815              
816                
817<li class="navigation__item">
818                    <a href="/pages/products-loose-chalk" class="navigation__link" >Loose Chalk</a>
819                    
820
821                    
822                  </li>
823                
824<li class="navigation__item">
825                    <a href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" class="navigation__link" >NEW DWoods Precision Grip™</a>
826                    
827
828                    
829                  </li>
830                
831<li class="navigation__item">
832                    <a href="/pages/products-liquid-chalk" class="navigation__link" >Liquid Chalk</a>
833                    
834
835                    
836                  </li>
837                
838<li class="navigation__item">
839                    <a href="/pages/products-chalk-spheres" class="navigation__link" >Chalk Spheres</a>
840                    
841
842                    
843                  </li>
844                
845<li class="navigation__item">
846                    <a href="/pages/products-chalk-discs" class="navigation__link" >Chalk Discs</a>
847                    
848
849                    
850                  </li>
851                
852<li class="navigation__item">
853                    <a href="/pages/products-hand-care" class="navigation__link" >Hand Care</a>
854                    
855
856                    
857                  </li>
858                
859<li class="navigation__item">
860                    <a href="/pages/products-accessories" class="navigation__link" >Accessories</a>
861                    
862
863                    
864                  </li>
865                
866<li class="navigation__item">
867                    <a href="/pages/products-apparel" class="navigation__link" >Apparel</a>
868                    
869
870                    
871                  </li>
872                
873              
874</ul></div>
875      
876    </li>
877  
878<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
879      <a href="/pages/sports-all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-2">Sports</a>
880
881      
882        <a class="navigation__children-toggle" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><title>Toggle menu</title><polyline points="6 9 12 15 18 9"></polyline></svg></a>
883
884        <div id="NavigationTier2-2" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
885              
886                
887<li class="navigation__item">
888                    <a href="/pages/sports-climbing" class="navigation__link" >Climbing</a>
889                    
890
891                    
892                  </li>
893                
894<li class="navigation__item">
895                    <a href="/pages/sports-weightlifting" class="navigation__link" >Weightlifting</a>
896                    
897
898                    
899                  </li>
900                
901<li class="navigation__item">
902                    <a href="/pages/sports-hiit-wod" class="navigation__link" >HIIT/WOD</a>
903                    
904
905                    
906                  </li>
907                
908<li class="navigation__item">
909                    <a href="/pages/sports-gymnastics" class="navigation__link" >Gymnastics</a>
910                    
911
912                    
913                  </li>
914                
915<li class="navigation__item">
916                    <a href="/pages/sports-track-field" class="navigation__link" >Track &amp; Field</a>
917                    
918
919                    
920                  </li>
921                
922<li class="navigation__item">
923                    <a href="/pages/sports-other" class="navigation__link" >Other Sports</a>
924                    
925
926                    
927                  </li>
928                
929              
930</ul></div>
931      
932    </li>
933  
934<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
935      <a href="/pages/shop-all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-3">Shop</a>
936
937      
938        <a class="navigation__children-toggle" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><title>Toggle menu</title><polyline points="6 9 12 15 18 9"></polyline></svg></a>
939
940        <div id="NavigationTier2-3" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
941              
942                
943
944<li class="navigation__item">
945                    <a href="/products/friction-labs-loose-chalk-in-new-recyclable-packaging" class="navigation__link" >Loose Chalk</a>
946                    
947
948                    
949                  </li>
950                
951<li class="navigation__item">
952                    <a href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" class="navigation__link" >NEW DWoods Precision Grip™</a>
953                    
954
955                    
956                  </li>
957                
958<li class="navigation__item">
959                    <a href="/products/secret-stuff-liquid-chalk" class="navigation__link" >Liquid Chalk</a>
960                    
961
962                    
963                  </li>
964                
965<li class="navigation__item">
966                    <a href="/products/magic-reusable-chalk-ball" class="navigation__link" >Chalk Spheres</a>
967                    
968
969                    
970                  </li>
971                
972<li class="navigation__item">
973                    <a href="/products/the-chalk-disc" class="navigation__link" >Chalk Discs</a>
974                    
975
976                    
977                  </li>
978                
979<li class="navigation__item">
980                    <a href="/pages/products-hand-care" class="navigation__link" >Hand Care</a>
981                    
982
983                    
984                  </li>
985                
986<li class="navigation__item">
987                    <a href="/pages/products-accessories" class="navigation__link" >Accessories</a>
988                    
989
990                    
991                  </li>
992                
993<li class="navigation__item">
994                    <a href="/pages/products-apparel" class="navigation__link" >Apparel</a>
995                    
996
997                    
998                  </li>
999                
1000<li class="navigation__item">
1001                    <a href="/products/gift-card" class="navigation__link" >Gift Cards</a>
1002                    
1003
1004                    
1005                  </li>
1006                
1007              
1008</ul></div>
1009      
1010    </li>
1011  
1012<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1013      <a href="/pages/explore" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-4">Explore</a>
1014
1015      
1016        <a class="navigation__children-toggle" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><title>Toggle menu</title><polyline points="6 9 12 15 18 9"></polyline></svg></a>
1017
1018        <div id="NavigationTier2-4" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1019              
1020                
1021<li class="navigation__item">
1022                    <a href="/pages/about" class="navigation__link" >About</a>
1023                    
1024
1025                    
1026                  </li>
1027                
1028<li class="navigation__item">
1029                    <a href="/pages/athlete-team" class="navigation__link" >Athlete Team</a>
1030                    
1031
1032                    
1033                  </li>
1034                
1035<li class="navigation__item">
1036                    <a href="/pages/pro-program" class="navigation__link" >Pro Program</a>
1037                    
1038
1039                    
1040                  </li>
1041                
1042<li class="navigation__item">
1043                    <a href="/pages/cause-good" class="navigation__link" >Cause Good</a>
1044                    
1045
1046                    
1047                  </li>
1048                
1049<li class="navigation__item">
1050                    <a href="/pages/videos" class="navigation__link" >Videos</a>
1051                    
1052
1053                    
1054                  </li>
1055                
1056<li class="navigation__item">
1057                    <a href="/pages/press" class="navigation__link" >Press</a>
1058                    
1059
1060                    
1061                  </li>
1062                
1063<li class="navigation__item">
1064                    <a href="/pages/testimonials" class="navigation__link" >Testimonials</a>
1065                    
1066
1067                    
1068                  </li>
1069                
1070<li class="navigation__item">
1071                    <a href="/pages/store-locator" class="navigation__link" >Store Locator</a>
1072                    
1073
1074                    
1075                  </li>
1076                
1077<li class="navigation__item">
1078                    <a href="/pages/faq" class="navigation__link" >FAQ</a>
1079                    
1080
1081                    
1082                  </li>
1083                
1084              
1085</ul></div>
1086      
1087    </li>
1088  
1089<li class="navigation__item">
1090      <a href="/blogs/climb-your-impossible" class="navigation__link" >Blog</a>
1091
1092      
1093    </li>
1094  
1095<li class="navigation__item">
1096      <a href="/pages/wholesale-contact" class="navigation__link" >Wholesale/Retail</a>
1097
1098      
1099    </li>
1100  
1101<li class="navigation__item">
1102      <a href="/pages/contact" class="navigation__link" >Contact</a>
1103
1104      
1105    </li>
1106  
1107</ul>
1108
1109            </div>
1110          </div>
1111        </div>
1112      </div>
1113
1114      <div class="logo-area__middle logo-area__middle--logo-image">
1115        <div class="logo-area__middle__inner">
1116          <div class="logo" itemscope itemtype="http://schema.org/Organization">
1117            <meta itemprop="name" content="Friction Labs"><a class="logo__link" href="/" title="Friction Labs" itemprop="url"><img class="logo__image" src="//frictionlabs.com/cdn/shop/files/Logo_FL_Lockup_Horizontal_Black_1_c2d784e3-dbfe-4021-8a71-a8f0dd181b34_360x.png?v=1745861425" alt="Friction Labs" width="1000" height="159" itemprop="logo" /></a></div>
1118        </div>
1119      </div>
1120
1121      <div class="logo-area__right">
1122        <div class="logo-area__right__inner">
1123          <a href="https://shop.frictionlabs.co.uk/collections" class="header-account-link">
1124            <span class="header-account-link__icon">
1125  <svg height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
1126     viewBox="0 0 512 512" xml:space="preserve">
1127  <path style="fill:#41479B;" d="M473.655,88.276H38.345C17.167,88.276,0,105.443,0,126.621V385.38
1128    c0,21.177,17.167,38.345,38.345,38.345h435.31c21.177,0,38.345-17.167,38.345-38.345V126.621
1129    C512,105.443,494.833,88.276,473.655,88.276z"/>
1130  <path style="fill:#F5F5F5;" d="M511.469,120.282c-3.022-18.159-18.797-32.007-37.814-32.007h-9.977l-163.54,107.147V88.276h-88.276
1131    v107.147L48.322,88.276h-9.977c-19.017,0-34.792,13.847-37.814,32.007l139.778,91.58H0v88.276h140.309L0.531,391.717
1132    c3.022,18.159,18.797,32.007,37.814,32.007h9.977l163.54-107.147v107.147h88.276V316.577l163.54,107.147h9.977
1133    c19.017,0,34.792-13.847,37.814-32.007l-139.778-91.58H512v-88.276H371.691L511.469,120.282z"/>
1134  <g>
1135    <polygon style="fill:#FF4B55;" points="282.483,88.276 229.517,88.276 229.517,229.517 0,229.517 0,282.483 229.517,282.483 
1136      229.517,423.724 282.483,423.724 282.483,282.483 512,282.483 512,229.517 282.483,229.517 	"/>
1137    <path style="fill:#FF4B55;" d="M24.793,421.252l186.583-121.114h-32.428L9.224,410.31
1138      C13.377,415.157,18.714,418.955,24.793,421.252z"/>
1139    <path style="fill:#FF4B55;" d="M346.388,300.138H313.96l180.716,117.305c5.057-3.321,9.277-7.807,12.287-13.075L346.388,300.138z"
1140      />
1141    <path style="fill:#FF4B55;" d="M4.049,109.475l157.73,102.387h32.428L15.475,95.842C10.676,99.414,6.749,104.084,4.049,109.475z"/>
1142    <path style="fill:#FF4B55;" d="M332.566,211.862l170.035-110.375c-4.199-4.831-9.578-8.607-15.699-10.86L300.138,211.862H332.566z"
1143      />
1144  </g>
1145  </svg></span>
1146          </a>
1147          <a href="https://shop.frictionlabs.eu/collections" class="header-account-link">
1148            <span class="header-account-link__icon"><svg height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
1149  viewBox="0 0 512 512" xml:space="preserve">
1150<path style="fill:#41479B;" d="M473.655,88.275H38.345C17.167,88.275,0,105.442,0,126.62V385.38
1151 c0,21.177,17.167,38.345,38.345,38.345h435.31c21.177,0,38.345-17.167,38.345-38.345V126.62
1152 C512,105.442,494.833,88.275,473.655,88.275z"/>
1153<g>
1154 <path style="fill:#FFE15A;" d="M259.59,126.684l3.54,10.613l11.187,0.087c1.449,0.011,2.049,1.859,0.884,2.72l-9,6.646
1155   l3.374,10.666c0.437,1.38-1.135,2.524-2.314,1.681l-9.101-6.506l-9.101,6.506c-1.178,0.842-2.751-0.3-2.314-1.681l3.374-10.666
1156   l-9-6.646c-1.165-0.861-0.565-2.709,0.884-2.72l11.187-0.087l3.54-10.613C257.187,125.31,259.132,125.31,259.59,126.684z"/>
1157 <path style="fill:#FFE15A;" d="M259.59,354.547l3.54,10.613l11.187,0.087c1.449,0.011,2.049,1.859,0.884,2.72l-9,6.646
1158   l3.374,10.666c0.437,1.38-1.135,2.524-2.314,1.681l-9.101-6.506l-9.101,6.506c-1.178,0.842-2.751-0.3-2.314-1.681l3.374-10.666
1159   l-9-6.646c-1.165-0.861-0.565-2.709,0.884-2.72l11.187-0.087l3.54-10.613C257.187,353.172,259.132,353.172,259.59,354.547z"/>
1160 <path style="fill:#FFE15A;" d="M373.521,240.615l3.54,10.613l11.187,0.087c1.449,0.011,2.049,1.859,0.884,2.72l-9,6.646
1161   l3.374,10.666c0.437,1.38-1.135,2.524-2.314,1.681l-9.101-6.506l-9.101,6.506c-1.178,0.842-2.751-0.3-2.314-1.681l3.374-10.666
1162   l-9-6.646c-1.165-0.861-0.565-2.709,0.884-2.72l11.187-0.087l3.54-10.613C371.118,239.242,373.063,239.242,373.521,240.615z"/>
1163 <path style="fill:#FFE15A;" d="M145.658,240.615l3.54,10.613l11.187,0.087c1.449,0.011,2.049,1.859,0.884,2.72l-9,6.646
1164   l3.374,10.666c0.437,1.38-1.135,2.524-2.314,1.681l-9.101-6.506l-9.101,6.506c-1.178,0.842-2.751-0.3-2.314-1.681l3.374-10.666
1165   l-9-6.646c-1.165-0.861-0.565-2.709,0.884-2.72l11.187-0.087l3.54-10.613C143.256,239.242,145.201,239.242,145.658,240.615z"/>
1166 <path style="fill:#FFE15A;" d="M162.762,181.119l3.54,10.613l11.187,0.087c1.449,0.011,2.049,1.859,0.884,2.72l-9,6.646
1167   l3.374,10.666c0.437,1.38-1.135,2.524-2.314,1.681l-9.101-6.506l-9.101,6.506c-1.178,0.842-2.751-0.3-2.314-1.681l3.374-10.666
1168   l-9-6.646c-1.165-0.861-0.565-2.709,0.884-2.72l11.187-0.087l3.54-10.613C160.36,179.745,162.303,179.745,162.762,181.119z"/>
1169 <path style="fill:#FFE15A;" d="M360.096,295.05l3.54,10.613l11.187,0.087c1.449,0.011,2.049,1.859,0.884,2.72l-9,6.646
1170   l3.374,10.666c0.437,1.382-1.135,2.524-2.314,1.681l-9.101-6.506l-9.101,6.506c-1.178,0.842-2.751-0.3-2.314-1.681l3.374-10.666
1171   l-9-6.646c-1.165-0.861-0.565-2.709,0.884-2.72l11.187-0.087l3.54-10.613C357.694,293.677,359.638,293.677,360.096,295.05z"/>
1172 <path style="fill:#FFE15A;" d="M318.395,139.417l3.54,10.613l11.187,0.087c1.449,0.011,2.049,1.859,0.884,2.72l-9,6.646
1173   l3.374,10.666c0.437,1.38-1.135,2.524-2.314,1.681l-9.101-6.506l-9.102,6.506c-1.178,0.842-2.751-0.3-2.314-1.681l3.374-10.666
1174   l-9-6.646c-1.165-0.861-0.565-2.709,0.884-2.72l11.187-0.087l3.54-10.613C315.992,138.044,317.935,138.044,318.395,139.417z"/>
1175 <path style="fill:#FFE15A;" d="M204.463,336.753l3.54,10.613l11.187,0.087c1.449,0.011,2.049,1.859,0.884,2.72l-9,6.646
1176   l3.374,10.666c0.437,1.38-1.135,2.524-2.314,1.681l-9.101-6.506l-9.101,6.506c-1.178,0.842-2.751-0.3-2.314-1.681l3.374-10.666
1177   l-9-6.646c-1.165-0.861-0.565-2.709,0.884-2.72l11.187-0.086l3.54-10.613C202.061,335.378,204.006,335.378,204.463,336.753z"/>
1178 <path style="fill:#FFE15A;" d="M357.236,181.119l-3.54,10.613l-11.187,0.087c-1.449,0.011-2.049,1.859-0.884,2.72l9,6.646
1179   l-3.374,10.666c-0.437,1.38,1.135,2.524,2.314,1.681l9.101-6.506l9.101,6.506c1.178,0.842,2.751-0.3,2.314-1.681l-3.374-10.666
1180   l9-6.646c1.165-0.861,0.565-2.709-0.884-2.72l-11.187-0.087l-3.54-10.613C359.638,179.745,357.694,179.745,357.236,181.119z"/>
1181 <path style="fill:#FFE15A;" d="M159.902,295.05l-3.54,10.613l-11.187,0.087c-1.449,0.011-2.049,1.859-0.884,2.72l9,6.646
1182   l-3.374,10.666c-0.437,1.382,1.135,2.524,2.314,1.681l9.101-6.506l9.101,6.506c1.178,0.842,2.751-0.3,2.314-1.681l-3.374-10.666
1183   l9-6.646c1.165-0.861,0.565-2.709-0.884-2.72l-11.187-0.087l-3.54-10.
1183613C162.303,293.677,160.36,293.677,159.902,295.05z"/>
1184 <path style="fill:#FFE15A;" d="M201.603,139.417l-3.54,10.613l-11.187,0.087c-1.449,0.011-2.049,1.859-0.884,2.72l9,6.646
1185   l-3.374,10.666c-0.437,1.38,1.135,2.524,2.314,1.681l9.101-6.506l9.101,6.506c1.178,0.842,2.751-0.3,2.314-1.681l-3.374-10.666
1186   l9-6.646c1.165-0.861,0.565-2.709-0.884-2.72l-11.187-0.087l-3.54-10.613C204.004,138.044,202.061,138.044,201.603,139.417z"/>
1187 <path style="fill:#FFE15A;" d="M315.534,336.753l-3.54,10.613l-11.187,0.087c-1.449,0.011-2.049,1.859-0.884,2.72l9,6.646
1188   l-3.374,10.666c-0.437,1.38,1.135,2.524,2.314,1.681l9.101-6.506l9.101,6.506c1.178,0.842,2.751-0.3,2.314-1.681l-3.374-10.666
1189   l9-6.646c1.165-0.861,0.565-2.709-0.884-2.72l-11.187-0.086l-3.54-10.613C317.935,335.378,315.992,335.378,315.534,336.753z"/>
1190</g>
1191</svg></span>
1192          </a>
1193          
1194            
1195              <a class="header-account-link" href="https://shop.frictionlabs.com/customer_authentication/redirect?locale=en&region_country=US" aria-label="Account">
1196                <span class="header-account-link__text desktop-only visually-hidden">Account</span>
1197                <span class="header-account-link__icon"><svg width="26" height="26" viewBox="0 0 26 26" aria-hidden="true"><g fill="none" fill-rule="evenodd"><path d="M.5.5h25v25H.5z"/><g transform="translate(1 1)" stroke="currentColor"><g transform="translate(5.86 7)"><path d="M11.783 15.604A6 6 0 1 0 .186 15.49"/><circle cx="6" cy="3" r="3"/></g><circle cx="12" cy="12" r="12"/></g></g></svg></span>
1198              </a>
1199            
1200          
1201          
1202            <a class="show-search-link" href="/search">
1203              <span class="show-search-link__text visually-hidden">Search</span>
1204              <span class="show-search-link__icon"><svg width="26" height="26" viewBox="0 0 26 26" aria-hidden="true"><g fill="none" fill-rule="evenodd"><g transform="translate(1 1)" stroke="currentColor"><circle cx="10.364" cy="10.364" r="10.364"/><path stroke-linecap="square" d="m18 18 5.777 5.788"/></g></g></svg></span>
1205            </a>
1206          
1207          <a class="cart-link" href="/cart">
1208            <span class="cart-link__label visually-hidden">Cart</span>
1209            <span class="cart-link__icon"><svg width="24px" height="24px" viewBox="0 0 24 24" aria-hidden="true">
1210  <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
1211    <polygon stroke="currentColor" points="2 9.25 22 9.25 18 21.25 6 21.25"></polygon>
1212    <line x1="12" y1="9" x2="12" y2="3" stroke="currentColor" stroke-linecap="square"></line>
1213  </g>
1214</svg></span>
1215          </a>
1216        </div>
1217      </div>
1218    </div>
1219  </div><template class="mobile-navigation-drawer-template">
1220    <div id="MobileNavigationDrawer" class="mobile-navigation-drawer" data-mobile-expand-with-entire-link="true">
1221      <div class="navigation navigation--mobile" role="navigation" aria-label="Primary navigation">
1222        <div class="navigation__tier-1-container">
1223          <div class="navigation__mobile-header">
1224            <a href="#" class="mobile-nav-back ltr-icon tap-target" aria-label="Back"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-left"><title>Left</title><polyline points="15 18 9 12 15 6"></polyline></svg></a>
1225            <span class="mobile-nav-title"></span>
1226            <a href="#" class="mobile-nav-toggle tap-target"  aria-label="Close"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></a>
1227          </div>
1228          <ul class="navigation__tier-1">
1229<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1230      <a href="/pages/all-products" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-1-mob">Products</a>
1231
1232      
1233        <a class="navigation__children-toggle" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><title>Toggle menu</title><polyline points="6 9 12 15 18 9"></polyline></svg></a>
1234
1235        <div id="NavigationTier2-1-mob" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1236              
1237                
1238<li class="navigation__item">
1239                    <a href="/pages/products-loose-chalk" class="navigation__link" >Loose Chalk</a>
1240                    
1241
1242                    
1243                  </li>
1244                
1245<li class="navigation__item">
1246                    <a href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" class="navigation__link" >NEW DWoods Precision Grip™</a>
1247                    
1248
1249                    
1250                  </li>
1251                
1252<li class="navigation__item">
1253                    <a href="/pages/products-liquid-chalk" class="navigation__link" >Liquid Chalk</a>
1254                    
1255
1256                    
1257                  </li>
1258                
1259<li class="navigation__item">
1260                    <a href="/pages/products-chalk-spheres" class="navigation__link" >Chalk Spheres</a>
1261                    
1262
1263                    
1264                  </li>
1265                
1266<li class="navigation__item">
1267                    <a href="/pages/products-chalk-discs" class="navigation__link" >Chalk Discs</a>
1268                    
1269
1270                    
1271                  </li>
1272                
1273<li class="navigation__item">
1274                    <a href="/pages/products-hand-care" class="navigation__link" >Hand Care</a>
1275                    
1276
1277                    
1278                  </li>
1279                
1280<li class="navigation__item">
1281                    <a href="/pages/products-accessories" class="navigation__link" >Accessories</a>
1282                    
1283
1284                    
1285                  </li>
1286                
1287<li class="navigation__item">
1288                    <a href="/pages/products-apparel" class="navigation__link" >Apparel</a>
1289                    
1290
1291                    
1292                  </li>
1293                
1294              
1295</ul></div>
1296      
1297    </li>
1298  
1299<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1300      <a href="/pages/sports-all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-2-mob">Sports</a>
1301
1302      
1303        <a class="navigation__children-toggle" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><title>Toggle menu</title><polyline points="6 9 12 15 18 9"></polyline></svg></a>
1304
1305        <div id="NavigationTier2-2-mob" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1306              
1307                
1308<li class="navigation__item">
1309                    <a href="/pages/sports-climbing" class="navigation__link" >Climbing</a>
1310                    
1311
1312                    
1313                  </li>
1314                
1315<li class="navigation__item">
1316                    <a href="/pages/sports-weightlifting" class="navigation__link" >Weightlifting</a>
1317                    
1318
1319                    
1320                  </li>
1321                
1322<li class="navigation__item">
1323                    <a href="/pages/sports-hiit-wod" class="navigation__link" >HIIT/WOD</a>
1324                    
1325
1326                    
1327                  </li>
1328                
1329<li class="navigation__item">
1330                    <a href="/pages/sports-gymnastics" class="navigation__link" >Gymnastics</a>
1331                    
1332
1333                    
1334                  </li>
1335                
1336<li class="navigation__item">
1337                    <a href="/pages/sports-track-field" class="navigation__link" >Track &amp; Field</a>
1338                    
1339
1340                    
1341                  </li>
1342                
1343<li class="navigation__item">
1344                    <a href="/pages/sports-other" class="navigation__link" >Other Sports</a>
1345                    
1346
1347                    
1348                  </li>
1349                
1350              
1351</ul></div>
1352      
1353    </li>
1354  
1355<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1356      <a href="/pages/shop-all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-3-mob">Shop</a>
1357
1358      
1359        <a class="navigation__children-toggle" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><title>Toggle menu</title><polyline points="6 9 12 15 18 9"></polyline></svg></a>
1360
1361        <div id="NavigationTier2-3-mob" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1362              
1363                
1364
1365<li class="navigation__item">
1366                    <a href="/products/friction-labs-loose-chalk-in-new-recyclable-packaging" class="navigation__link" >Loose Chalk</a>
1367                    
1368
1369                    
1370                  </li>
1371                
1372<li class="navigation__item">
1373                    <a href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" class="navigation__link" >NEW DWoods Precision Grip™</a>
1374                    
1375
1376                    
1377                  </li>
1378                
1379<li class="navigation__item">
1380                    <a href="/products/secret-stuff-liquid-chalk" class="navigation__link" >Liquid Chalk</a>
1381                    
1382
1383                    
1384                  </li>
1385                
1386<li class="navigation__item">
1387                    <a href="/products/magic-reusable-chalk-ball" class="navigation__link" >Chalk Spheres</a>
1388                    
1389
1390                    
1391                  </li>
1392                
1393<li class="navigation__item">
1394                    <a href="/products/the-chalk-disc" class="navigation__link" >Chalk Discs</a>
1395                    
1396
1397                    
1398                  </li>
1399                
1400<li class="navigation__item">
1401                    <a href="/pages/products-hand-care" class="navigation__link" >Hand Care</a>
1402                    
1403
1404                    
1405                  </li>
1406                
1407<li class="navigation__item">
1408                    <a href="/pages/products-accessories" class="navigation__link" >Accessories</a>
1409                    
1410
1411                    
1412                  </li>
1413                
1414<li class="navigation__item">
1415                    <a href="/pages/products-apparel" class="navigation__link" >Apparel</a>
1416                    
1417
1418                    
1419                  </li>
1420                
1421<li class="navigation__item">
1422                    <a href="/products/gift-card" class="navigation__link" >Gift Cards</a>
1423                    
1424
1425                    
1426                  </li>
1427                
1428              
1429</ul></div>
1430      
1431    </li>
1432  
1433<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1434      <a href="/pages/explore" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-4-mob">Explore</a>
1435
1436      
1437        <a class="navigation__children-toggle" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><title>Toggle menu</title><polyline points="6 9 12 15 18 9"></polyline></svg></a>
1438
1439        <div id="NavigationTier2-4-mob" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1440              
1441                
1442<li class="navigation__item">
1443                    <a href="/pages/about" class="navigation__link" >About</a>
1444                    
1445
1446                    
1447                  </li>
1448                
1449<li class="navigation__item">
1450                    <a href="/pages/athlete-team" class="navigation__link" >Athlete Team</a>
1451                    
1452
1453                    
1454                  </li>
1455                
1456<li class="navigation__item">
1457                    <a href="/pages/pro-program" class="navigation__link" >Pro Program</a>
1458                    
1459
1460                    
1461                  </li>
1462                
1463<li class="navigation__item">
1464                    <a href="/pages/cause-good" class="navigation__link" >Cause Good</a>
1465                    
1466
1467                    
1468                  </li>
1469                
1470<li class="navigation__item">
1471                    <a href="/pages/videos" class="navigation__link" >Videos</a>
1472                    
1473
1474                    
1475                  </li>
1476                
1477<li class="navigation__item">
1478                    <a href="/pages/press" class="navigation__link" >Press</a>
1479                    
1480
1481                    
1482                  </li>
1483                
1484<li class="navigation__item">
1485                    <a href="/pages/testimonials" class="navigation__link" >Testimonials</a>
1486                    
1487
1488                    
1489                  </li>
1490                
1491<li class="navigation__item">
1492                    <a href="/pages/store-locator" class="navigation__link" >Store Locator</a>
1493                    
1494
1495                    
1496                  </li>
1497                
1498<li class="navigation__item">
1499                    <a href="/pages/faq" class="navigation__link" >FAQ</a>
1500                    
1501
1502                    
1503                  </li>
1504                
1505              
1506</ul></div>
1507      
1508    </li>
1509  
1510<li class="navigation__item">
1511      <a href="/blogs/climb-your-impossible" class="navigation__link" >Blog</a>
1512
1513      
1514    </li>
1515  
1516<li class="navigation__item">
1517      <a href="/pages/wholesale-contact" class="navigation__link" >Wholesale/Retail</a>
1518
1519      
1520    </li>
1521  
1522<li class="navigation__item">
1523      <a href="/pages/contact" class="navigation__link" >Contact</a>
1524
1525      
1526    </li>
1527  
1528</ul>
1529
1530          
1531        </div>
1532      </div>
1533    </div>
1534  </template></div>
1535
1536<script id="InlineNavigationCheckScript">
1537  theme.inlineNavigationCheck = function() {
1538    var pageHeader = document.querySelector('.pageheader'),
1539        inlineNavContainer = pageHeader.querySelector('.logo-area__left'),
1540        inlineNav = inlineNavContainer.querySelector('.navigation');
1541
1542    if (inlineNav && getComputedStyle(inlineNav).display != 'none') {
1543      var inlineMenuCentered = document.querySelector('.pageheader--layout-inline-menu-center'),
1544          logoContainer = pageHeader.querySelector('.logo-area__middle__inner'),
1545          availableNavWidth = inlineNavContainer.offsetWidth;
1546      if(inlineMenuCentered) {
1547        var rightWidth = pageHeader.querySelector('.logo-area__right__inner').clientWidth,
1548            middleWidth = logoContainer.clientWidth,
1549            logoArea = pageHeader.querySelector('.logo-area'),
1550            computedLogoAreaStyle = getComputedStyle(logoArea),
1551            logoAreaInnerWidth = logoArea.clientWidth - Math.ceil(parseFloat(computedLogoAreaStyle.paddingLeft)) - Math.ceil(parseFloat(computedLogoAreaStyle.paddingRight));
1552        availableNavWidth = logoAreaInnerWidth - Math.max(rightWidth, middleWidth) * 2 - 40;
1553      }
1554      theme.enqueueStyleUpdate(() => {
1555        pageHeader.classList.toggle('pageheader--layout-inline-permitted', availableNavWidth >= inlineNav.clientWidth);
1556      });
1557    }
1558  }
1559  setTimeout(theme.inlineNavigationCheck, 0);
1560</script>
1560
1561</div>
1562<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->
1563<div id="shopify-section-sections--17435907424454__cart-drawer" class="shopify-section shopify-section-group-overlay-group section-cart-drawer"><div data-section-id="sections--17435907424454__cart-drawer" data-section-type="cart-drawer" data-form-action="/cart" data-form-method="post">
1564  <div class="cart-drawer-modal cc-popup cc-popup--right" aria-hidden="true" data-freeze-scroll="true">
1565    <div class="cc-popup-background"></div>
1566    <div class="cc-popup-modal" role="dialog" aria-modal="true" aria-labelledby="CartDrawerModal-Title">
1567      <div class="cc-popup-container">
1568        <button type="button" class="cc-popup-close tap-target" aria-label="Close"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-x" viewBox="0 0 24 24"><path d="M18 6L6 18M6 6l12 12"/></svg></button>
1569
1570        <div class="cc-popup-content">
1571
1572          <cart-form data-section-id="sections--17435907424454__cart-drawer" class="cart-drawer" data-ajax-update="true">
1573            <div class="cart-drawer__content">
1574              <div class="cart-drawer__header">
1575                <h2 id="CartDrawerModal-Title" data-merge="header-title">
1576                  Shopping cart
1577                  
1578                </h2>
1579              </div><div class="cart-item-list">
1580                <div class="cart-item-list__body" data-merge-list="cart-items">
1581                  
1582                    <div class="fully-padded-row align-centre" data-merge-list-item="no-cart-item">
1583                      <p>Your cart is currently empty.</p>
1584                    </div>
1585                  
1586                </div>
1587              </div>
1588
1589              <div data-merge="cross-sells" data-merge-cache="blank"></div>
1590            </div>
1591
1592            <div class="cart-drawer__footer hidden" data-merge-attributes="footer-container">
1593              <div data-merge="footer">
1594                
1595              </div>
1596
1597              
1598
1599              <div class="checkout-buttons lightly-spaced-row-above hidden" data-merge-attributes="checkout-buttons">
1600                
1601                  <a href="/checkout" class="button button--large">Check out</a>
1602                
1603
1604                
1605                  <div class="additional-checkout-buttons">
1606                    <div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;shop_pay&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:6663291,&quot;merchantName&quot;:&quot;Friction Labs&quot;,&quot;personalized&quot;:true}},{&quot;supports_subs&quot;:false,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;amazon_pay&quot;,&quot;wallet_params&quot;:{&quot;checkoutLanguage&quot;:&quot;en_US&quot;,&quot;ledgerCurrency&quot;:&quot;USD&quot;,&quot;placement&quot;:&quot;Cart&quot;,&quot;sandbox&quot;:false,&quot;merchantId&quot;:&quot;A3BZYSMUAC8JVJ&quot;,&quot;productType&quot;:&quot;PayAndShip&quot;,&quot;design&quot;:&quot;C0002&quot;}},{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;paypal&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:6663291,&quot;countryCode&quot;:&quot;US&quot;,&quot;merchantName&quot;:&quot;Friction Labs&quot;,&quot;phoneRequired&quot;:false,&quot;companyRequired&quot;:false,&quot;shippingType&quot;:&quot;shipping&quot;,&quot;shopifyPaymentsEnabled&quot;:true,&quot;hasManagedSellingPlanState&quot;:false,&quot;requiresBillingAgreement&quot;:false,&quot;gatewayType&quot;:&quot;MANAGED&quot;,&quot;merchantId&quot;:&quot;3CTDL7TBZ7372&quot;,&quot;sdkUrl&quot;:&quot;https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AbasDhzlU0HbpiStJiN1KRJ_cNJJ7xYBip7JJoMO0GQpLi8ePNgdbLXkC7_KMeyTg8tnAKW4WKrh9qmf\u0026merchant-id=3CTDL7TBZ7372\u0026intent=authorize&quot;,&quot;serviceableCountryCodes&quot;:[&quot;AC&quot;,&quot;AD&quot;,&quot;AE&quot;,&quot;AF&quot;,&quot;AG&quot;,&quot;AI&quot;,&quot;AL&quot;,&quot;AM&quot;,&quot;AO&quot;,&quot;AR&quot;,&quot;AT&quot;,&quot;AU&quot;,&quot;AW&quot;,&quot;AX&quot;,&quot;AZ&quot;,&quot;BA&quot;,&quot;BB&quot;,&quot;BD&quot;,&quot;BE&quot;,&quot;BF&quot;,&quot;BG&quot;,&quot;BH&quot;,&quot;BI&quot;,&quot;BJ&quot;,&quot;BL&quot;,&quot;BM&quot;,&quot;BN&quot;,&quot;BO&quot;,&quot;BQ&quot;,&quot;BR&quot;,&quot;BS&quot;,&quot;BT&quot;,&quot;BW&quot;,&quot;BY&quot;,&quot;BZ&quot;,&quot;CA&quot;,&quot;CC&quot;,&quot;CD&quot;,&quot;CF&quot;,&quot;CG&quot;,&quot;CH&quot;,&quot;CI&quot;,&quot;CK&quot;,&quot;CL&quot;,&quot;CM&quot;,&quot;CN&quot;,&quot;CO&quot;,&quot;CR&quot;,&quot;CV&quot;,&quot;CW&quot;,&quot;CX&quot;,&quot;CY&quot;,&quot;CZ&quot;,&quot;DE&quot;,&quot;DJ&quot;,&quot;DK&quot;,&quot;DM&quot;,&quot;DO&quot;,&quot;DZ&quot;,&quot;EC&quot;,&quot;EE&quot;,&quot;EG&quot;,&quot;EH&quot;,&quot;ER&quot;,&quot;ES&quot;,&quot;ET&quot;,&quot;FI&quot;,&quot;FJ&quot;,&quot;FK&quot;,&quot;FO&quot;,&quot;FR&quot;,&quot;GA&quot;,&quot;GB&quot;,&quot;GD&quot;,&quot;GE&quot;,&quot;GF&quot;,&quot;GG&quot;,&quot;GH&quot;,&quot;GI&quot;,&quot;GL&quot;,&quot;GM&quot;,&quot;GN&quot;,&quot;GP&quot;,&quot;GQ&quot;,&quot;GR&quot;,&quot;GS&quot;,&quot;GT&quot;,&quot;GW&quot;,&quot;GY&quot;,&quot;HK&quot;,&quot;HN&quot;,&quot;HR&quot;,&quot;HT&quot;,&quot;HU&quot;,&quot;ID&quot;,&quot;IE&quot;,&quot;IL&quot;,&quot;IM&quot;,&quot;IN&quot;,&quot;IO&quot;,&quot;IQ&quot;,&quot;IS&quot;,&quot;IT&quot;,&quot;JE&quot;,&quot;JM&quot;,&quot;JO&quot;,&quot;JP&quot;,&quot;KE&quot;,&quot;KG&quot;,&quot;KH&quot;,&quot;KI&quot;,&quot;KM&quot;,&quot;KN&quot;,&quot;KR&quot;,&quot;KW&quot;,&quot;KY&quot;,&quot;KZ&quot;,&quot;LA&quot;,&quot;LB&quot;,&quot;LC&quot;,&quot;LI&quot;,&quot;LK&quot;,&quot;LR&quot;,&quot;LS&quot;,&quot;LT&quot;,&quot;LU&quot;,&quot;LV&quot;,&quot;LY&quot;,&quot;MA&quot;,&quot;MC&quot;,&quot;MD&quot;,&quot;ME&quot;,&quot;MF&quot;,&quot;MG&quot;,&quot;MK&quot;,&quot;ML&quot;,&quot;MM&quot;,&quot;MN&quot;,&quot;MO&quot;,&quot;MQ&quot;,&quot;MR&quot;,&quot;MS&quot;,&quot;MT&quot;,&quot;MU&quot;,&quot;MV&quot;,&quot;MW&quot;,&quot;MX&quot;,&quot;MY&quot;,&quot;MZ&quot;,&quot;NA&quot;,&quot;NC&quot;,&quot;NE&quot;,&quot;NF&quot;,&quot;NG&quot;,&quot;NI&quot;,&quot;NL&quot;,&quot;NO&quot;,&quot;NP&quot;,&quot;NR&quot;,&quot;NU&quot;,&quot;NZ&quot;,&quot;OM&quot;,&quot;PA&quot;,&quot;PE&quot;,&quot;PF&quot;,&quot;PG&quot;,&quot;PH&quot;,&quot;PK&quot;,&quot;PL&quot;,&quot;PM&quot;,&quot;PN&quot;,&quot;PS&quot;,&quot;PT&quot;,&quot;PY&quot;,&quot;QA&quot;,&quot;RE&quot;,&quot;RO&quot;,&quot;RS&quot;,&quot;RU&quot;,&quot;RW&quot;,&quot;SA&quot;,&quot;SB&quot;,&quot;SC&quot;,&quot;SD&quot;,&quot;SE&quot;,&quot;SG&quot;,&quot;SH&quot;,&quot;SI&quot;,&quot;SJ&quot;,&quot;SK&quot;,&quot;SL&quot;,&quot;SM&quot;,&quot;SN&quot;,&quot;SO&quot;,&quot;SR&quot;,&quot;SS&quot;,&quot;ST&quot;,&quot;SV&quot;,&quot;SX&quot;,&quot;SZ&quot;,&quot;TA&quot;,&quot;TC&quot;,&quot;TD&quot;,&quot;TF&quot;,&quot;TG&quot;,&quot;TH&quot;,&quot;TJ&quot;,&quot;TK&quot;,&quot;TL&quot;,&quot;TM&quot;,&quot;TN&quot;,&quot;TO&quot;,&quot;TR&quot;,&quot;TT&quot;,&quot;TV&quot;,&quot;TW&quot;,&quot;TZ&quot;,&quot;UA&quot;,&quot;UG&quot;,&quot;UM&quot;,&quot;US&quot;,&quot;UY&quot;,&quot;UZ&quot;,&quot;VA&quot;,&quot;VC&quot;,&quot;VE&quot;,&quot;VG&quot;,&quot;VN&quot;,&quot;VU&quot;,&quot;WF&quot;,&quot;WS&quot;,&quot;XK&quot;,&quot;YE&quot;,&quot;YT&quot;,&quot;ZA&quot;,&quot;ZM&quot;,&quot;ZW&quot;]}}]" access-token="6bf66b46506992dafba773c8321a2230" buyer-country="US" buyer-locale="en" buyer-currency="USD" shop-id="6663291" cart-id="a81c265dc9e7bce66b9e217108a1f52b" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'>&nbsp</div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'>&nbsp</div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'>&nbsp</div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div>
1607                  </div>
1608                
1609              </div>
1610            </div>
1611          </cart-form>
1612
1613        </div>
1614      </div>
1615    </div>
1616  </div>
1617</div>
1618</div>
1619<!-- END sections: overlay-group --><main id="content">
1620    <div class="main-container container">
1621
1622      <div id="shopify-section-template--17435907227846__main" class="shopify-section section-search-template page-section-spacing">
1623
1624<div data-section-id="template--17435907227846__main" data-filter-section-id="template--17435907227846__main" data-section-type="search-template" data-alter-location="true" data-search-while-typing="true" data-ajax-filter
1624ing="true" data-components="modal,price-range">
1625  <h1 class="visually-hidden">Search</h1>
1626
1627  <div class="main-search fully-spaced-row--medium" data-cc-animate data-ajax-scroll-to>
1628    <div class="main-search__container">
1629      <form class="main-search__form" action="/search" method="get" autocomplete="off">
1630        <input type="hidden" name="type" value="product,article,page" />
1631        <input type="hidden" name="options[prefix]" value="last" />
1632        <div class="main-search__input-container">
1633          <input
1634            class="main-search__input"
1635            type="search"
1636            name="q"
1637            autocomplete="off"
1638            placeholder="Search our store"
1639            aria-label="Search"
1640            value="" />
1641        </div>
1642        <button class="main-search__button main-search__button--submit btn--icon tap-target" type="submit" aria-label="Search"><svg width="26" height="26" viewBox="0 0 26 26" aria-hidden="true"><g fill="none" fill-rule="evenodd"><g transform="translate(1 1)" stroke="currentColor"><circle cx="10.364" cy="10.364" r="10.364"/><path stroke-linecap="square" d="m18 18 5.777 5.788"/></g></g></svg></button>
1643        <button class="main-search__button main-search__button--clear btn--icon tap-target" type="reset" aria-label="Clear"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button>
1644      </form>
1645    </div>
1646  </div>
1647
1648  <div class="container page-header page-header--triplet page-header--empty-right">
1649    <div class="page-header__left" data-ajax-container="filter-button"></div>
1650    <div class="page-header__middle" data-ajax-container="result-count"></div>
1651    <div class="page-header__right"></div>
1652  </div>
1653
1654  <div class="filter-container">
1655    <div class="filter-modal cc-popup cc-popup--left" aria-hidden="true" data-freeze-scroll="true">
1656      <div class="cc-popup-background"></div>
1657      <div class="cc-popup-modal" role="dialog" aria-modal="true" aria-labelledby="FilterHeading">
1658        <div class="cc-popup-container">
1659          <button type="button" class="cc-popup-close tap-target" aria-label="Close"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-x" viewBox="0 0 24 24"><path d="M18 6L6 18M6 6l12 12"/></svg></button>
1660          <div class="cc-popup-content" data-ajax-container="filters">
1661            
1662              <form id="CollectionFilterForm" class="hidden">
1663                <input type="hidden" name="q" value="" data-terms>
1664                <input type="hidden" name="type" value="product,article,page" />
1665                <input type="hidden" name="options[prefix]" value="last" />
1666              </form>
1667            
1668          </div>
1669        </div>
1670      </div>
1671    </div>
1672
1673    <div class="filters-adjacent collection-listing" data-ajax-container="products">
1674      
1675    </div>
1676
1677    <div data-cc-animate data-ajax-container="pagination"></div>
1678
1679    <div class="before-search-content" data-ajax-container="before-search-content">
1680      
1681        
1682
1683        
1684      
1685    </div>
1686  </div>
1687</div>
1688
1689
1690
1691
1692</div>
1692<script data-locksmith>
1693    var load = function () {
1694
1695          if (document.querySelectorAll('.locksmith-manual-trigger').length > 0) {
1696            Locksmith.ping();
1697          }
1698
1699
1700      Locksmith.util.on('submit', 'locksmith-resource-form', function (event) {
1701        event.preventDefault();
1702        var data = Locksmith.util.serializeForm(event.target);
1703        var options = { spinner: false, container: 'locksmith-content' };
1704        // a form rendered inline (section replacement) must keep that context
1705        // on resubmit: same enclosing container (there may be several on the
1706        // page), and no layout classes or cancel affordance in the re-render
1707        var inlineContainer = event.target.closest && event.target.closest('[id^="locksmith-content"]');
1708        if (inlineContainer) {
1709          options.container = inlineContainer;
1710        }
1711        if (event.target.getAttribute('data-locksmith-inline') === 'true') {
1712          options.include_layout_classes = false;
1713        }
1714        Locksmith.postResource(data, options);
1715      });
1716
1717      Locksmith.util.on('click', 'locksmith-manual-trigger', function (event) {
1718        event.preventDefault();
1719        Locksmith.postResource({}, { spinner: true, container: document });
1720      });
1721
1722      Locksmith.submitPasscode = function (passcode) {
1723        Locksmith.postResource(
1724          { passcode: passcode },
1725          { spinner: false, container: 'locksmith-content' }
1726        );
1727      };
1728    };
1729
1730    if (typeof Locksmith !== 'undefined') {
1731      load();
1732    } else {
1733      window.addEventListener('load', load);
1734    }
1735  </script>
1735
1736
1737    </div>
1738  </main>
1739
1740  
1741<!-- BEGIN sections: footer-group -->
1742<div id="shopify-section-sections--17435907293382__footer" class="shopify-section shopify-section-group-footer-group section-footer"><div class="section-footer__inner card card-content-padding" data-section-type="footer">
1743  
1744    <div class="section-footer__row-container">
1745      <div class="section-footer__row section-footer__row--blocks" data-num-blocks="3">
1746        
1747          
1748            <div class="section-footer__row__col section-footer__text-block section-footer__text-block--with-text" >
1749              
1750<h2 class="h6-style section-footer__title no-wrap">ABOUT</h2>
1751              
1752
1753              
1754                <div class="section-footer__text"><p><strong>Not all chalk is created equal</strong>.</p><p>Friction Labs redefines hand chalk by taking what other brands consider 'high-quality' and enhancing it through meticulous, proprietary testing and manufacturing.</p><p>Guided by the “3 Ps” standards, our chalk is crafted for ultimate grip performance and confidence. We guarantee you’ll feel the difference from your first use—or we’ll buy it back. No other chalk brand stands behind its product like we do.</p><p><strong>Don’t settle for less.</strong> Level up your training with the chalk most trusted by top athletes worldwide.</p></div>
1755              
1756
1757              
1758                <div class="section-footer__text-block__image"><img src="//frictionlabs.com/cdn/shop/files/hand_asset_20d0baa6-6cd3-47d5-8b8f-d04c2c5a4bda.png?v=1745861425&amp;width=41" alt="" srcset="//frictionlabs.com/cdn/shop/files/hand_asset_20d0baa6-6cd3-47d5-8b8f-d04c2c5a4bda.png?v=1745861425&amp;width=40 40w, //frictionlabs.com/cdn/shop/files/hand_asset_20d0baa6-6cd3-47d5-8b8f-d04c2c5a4bda.png?v=1745861425&amp;width=41 41w" width="40" loading="lazy" sizes="40px"></div>
1759              
1760
1761              
1762</div>
1763
1764          
1765        
1766          
1767            <div class="section-footer__row__col section-footer__menu-block" role="navigation" aria-label="Secondary navigation" >
1768              
1769<h2 class="h6-style section-footer__title no-wrap">Quick links</h2>
1770              
1771
1772              
1773                <ul class="section-footer__menu-block__menu" >
1774                  
1775<li>
1776                      <a href="/pages/all-products" class="no-wrap">Products</a>
1777                    </li>
1778                  
1779<li>
1780                      <a href="/pages/sports-all" class="no-wrap">Sports</a>
1781                    </li>
1782                  
1783<li>
1784                      <a href="/pages/shop-all" class="no-wrap">Shop</a>
1785                    </li>
1786                  
1787<li>
1788                      <a href="/pages/explore" class="no-wrap">Explore</a>
1789                    </li>
1790                  
1791<li>
1792                      <a href="/blogs/climb-your-impossible" class="no-wrap">Blog</a>
1793                    </li>
1794                  
1795<li>
1796                      <a href="/pages/wholesale-contact" class="no-wrap">Wholesale/Retail</a>
1797                    </li>
1798                  
1799<li>
1800                      <a href="/pages/contact" class="no-wrap">Contact</a>
1801                    </li>
1802                  
1803                </ul>
1804              
1805            </div>
1806
1807          
1808        
1809          
1810            <div class="section-footer__row__col section-footer__newsletter-block" >
1811              
1812<h2 class="h6-style section-footer__title no-wrap">Join The Fam</h2>
1813              
1814
1815              
1816                <div class="section-footer__text">
1817                  <p>Sign up for exclusive offers, special announcements, events and more.</p>
1818                </div>
1819              
1820
1821              <div class="signup-form">
1822                <form method="post" action="/contact#footer_newsletter_signup" id="footer_newsletter_signup" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
1823                  
1824                    
1825                    <input type="hidden" name="contact[tags]" value="prospect,newsletter"/>
1826                    <p>
1827                      <input type="email"
1828                        placeholder="Enter email"
1829                        class="signup-form__email"
1830                        value=""
1831                        name="contact[email]"
1832                        aria-label="Email"
1833                        required />
1834                    </p>
1835                    <button class="btn btn--secondary signup-form__button" type="submit">Sign up</button>
1836                  
1837                </form>
1838              </div>
1839
1840              
1841                <div class="section-footer__newsletter-block__social">
1842                  
1843                  
1844                  
1845
1846  <div class="social-links social-links--large">
1847    <ul class="social-links__list">
1848      
1849        <li><a aria-label="Facebook" class="facebook" target="_blank" rel="noopener" href="https://facebook.com/frictionlabs"><svg aria-hidden="true" focusable="false" class="icon icon-facebook" viewB
1849ox="2 2 16 16">
1850    <path fill="currentColor" d="M18 10.049C18 5.603 14.419 2 10 2c-4.419 0-8 3.603-8 8.049C2 14.067 4.925 17.396 8.75 18v-5.624H6.719v-2.328h2.03V8.275c0-2.017 1.195-3.132 3.023-3.132.874 0 1.79.158 1.79.158v1.98h-1.009c-.994 0-1.303.621-1.303 1.258v1.51h2.219l-.355 2.326H11.25V18c3.825-.604 6.75-3.933 6.75-7.951Z"/>
1851</svg></a></li>
1852      
1853      
1854        <li><a aria-label="Youtube" class="youtube" target="_blank" rel="noopener" href="https://www.youtube.com/channel/UCCRLKk_IsqEzM7xCh3Fh7tg"><svg width="48px" height="34px" viewBox="0 0 48 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
1855    <title>Youtube</title>
1856    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
1857        <g transform="translate(-567.000000, -302.000000)" fill="currentColor">
1858            <path d="M586.044,325.269916 L586.0425,311.687742 L599.0115,318.502244 L586.044,325.269916 Z M614.52,309.334163 C614.52,309.334163 614.0505,306.003199 612.612,304.536366 C610.7865,302.610299 608.7405,302.601235 607.803,302.489448 C601.086,302 591.0105,302 591.0105,302 L590.9895,302 C590.9895,302 580.914,302 574.197,302.489448 C573.258,302.601235 571.2135,302.610299 569.3865,304.536366 C567.948,306.003199 567.48,309.334163 567.48,309.334163 C567.48,309.334163 567,313.246723 567,317.157773 L567,320.82561 C567,324.73817 567.48,328.64922 567.48,328.64922 C567.48,328.64922 567.948,331.980184 569.3865,333.447016 C571.2135,335.373084 573.612,335.312658 574.68,335.513574 C578.52,335.885191 591,336 591,336 C591,336 601.086,335.984894 607.803,335.495446 C608.7405,335.382148 610.7865,335.373084 612.612,333.447016 C614.0505,331.980184 614.52,328.64922 614.52,328.64922 C614.52,328.64922 615,324.73817 615,320.82561 L615,317.157773 C615,313.246723 614.52,309.334163 614.52,309.334163 L614.52,309.334163 Z"></path>
1859        </g>
1860    </g>
1861</svg></a></li>
1862      
1863      
1864        <li><a aria-label="Instagram" class="instagram" target="_blank" rel="noopener" href="https://instagram.com/frictionlabs"><svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
1865    <title>Instagram</title>
1866    <defs></defs>
1867    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
1868        <g transform="translate(-642.000000, -295.000000)" fill="currentColor">
1869            <path d="M666.000048,295 C659.481991,295 658.664686,295.027628 656.104831,295.144427 C653.550311,295.260939 651.805665,295.666687 650.279088,296.260017 C648.700876,296.873258 647.362454,297.693897 646.028128,299.028128 C644.693897,300.362454 643.873258,301.700876 643.260017,303.279088 C642.666687,304.805665 642.260939,306.550311 642.144427,309.104831 C642.027628,311.664686 642,312.481991 642,319.000048 C642,325.518009 642.027628,326.335314 642.144427,328.895169 C642.260939,331.449689 642.666687,333.194335 643.260017,334.720912 C643.873258,336.299124 644.693897,337.637546 646.028128,338.971872 C647.362454,340.306103 648.700876,341.126742 650.279088,341.740079 C651.805665,342.333313 653.550311,342.739061 656.104831,342.855573 C658.664686,342.972372 659.481991,343 666.000048,343 C672.518009,343 673.335314,342.972372 675.895169,342.855573 C678.449689,342.739061 680.194335,342.333313 681.720912,341.740079 C683.299124,341.126742 684.637546,340.306103 685.971872,338.971872 C687.306103,337.637546 688.126742,336.299124 688.740079,334.720912 C689.333313,333.194335 689.739061,331.449689 689.855573,328.895169 C689.972372,326.335314 690,325.518009 690,319.000048 C690,312.481991 689.972372,311.664686 689.855573,309.104831 C689.739061,306.550311 689.333313,304.805665 688.740079,303.279088 C688.126742,301.700876 687.306103,300.362454 685.971872,299.028128 C684.637546,297.693897 683.299124,296.873258 681.720912,296.260017 C680.194335,295.666687 678.449689,295.260939 675.895169,295.144427 C673.335314,295.027628 672.518009,295 666.000048,295 Z M666.000048,299.324317 C672.40826,299.324317 673.167356,299.348801 675.69806,299.464266 C678.038036,299.570966 679.308818,299.961946 680.154513,300.290621 C681.274771,300.725997 682.074262,301.246066 682.91405,302.08595 C683.753934,302.925738 684.274003,303.725229 684.709379,304.845487 C685.038054,305.691182 685.429034,306.961964 685.535734,309.30194 C685.651199,311.832644 
1869685.675683,312.59174 685.675683,319.000048 C685.675683,325.40826 685.651199,326.167356 685.535734,328.69806 C685.429034,331.038036 685.038054,332.308818 684.709379,333.154513 C684.274003,334.274771 683.753934,335.074262 682.91405,335.91405 C682.074262,336.753934 681.274771,337.274003 680.154513,337.709379 C679.308818,338.038054 678.038036,338.429034 675.69806,338.535734 C673.167737,338.651199 672.408736,338.675683 666.000048,338.675683 C659.591264,338.675683 658.832358,338.651199 656.30194,338.535734 C653.961964,338.429034 652.691182,338.038054 651.845487,337.709379 C650.725229,337.274003 649.925738,336.753934 649.08595,335.91405 C648.246161,335.074262 647.725997,334.274771 647.290621,333.154513 C646.961946,332.308818 646.570966,331.038036 646.464266,328.69806 C646.348801,326.167356 646.324317,325.40826 646.324317,319.000048 C646.324317,312.59174 646.348801,311.832644 646.464266,309.30194 C646.570966,306.961964 646.961946,305.691182 647.290621,304.845487 C647.725997,303.725229 648.246066,302.925738 649.08595,302.08595 C649.925738,301.246066 650.725229,300.725997 651.845487,300.290621 C652.691182,299.961946 653.961964,299.570966 656.30194,299.464266 C658.832644,299.348801 659.59174,299.324317 666.000048,299.324317 Z M666.000048,306.675683 C659.193424,306.675683 653.675683,312.193424 653.675683,319.000048 C653.675683,325.806576 659.193424,331.324317 666.000048,331.324317 C672.806576,331.324317 678.324317,325.806576 678.324317,319.000048 C678.324317,312.193424 672.806576,306.675683 666.000048,306.675683 Z M666.000048,327 C661.581701,327 658,323.418299 658,319.000048 C658,314.581701 661.581701,311 666.000048,311 C670.418299,311 674,314.581701 674,319.000048 C674,323.418299 670.418299,327 666.000048,327 Z M681.691284,306.188768 C681.691284,307.779365 680.401829,309.068724 678.811232,309.068724 C677.22073,309.068724 675.931276,307.779365 675.931276,306.188768 C675.931276,304.598171 677.22073,303.308716 678.811232,303.308716 C680.401829,303.308716 681.691284,304.598171 681.691284,306.188768 Z"></path>
1870        </g>
1871    </g>
1872</svg></a></li>
1873      
1874      
1875      
1876      
1877      
1878      
1879        <li><a aria-label="Twitter" class="twitter" target="_blank" rel="noopener" href="https://twitter.com/frictionlabs"><svg class="icon icon-twitter icon-x" role="presentation" focusable="false" width="40" height="40" viewBox="1 1 22 22">
1880      <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" fill="currentColor"></path>
1881    </svg></a></li>
1882      
1883      
1884        <li><a aria-label="LinkedIn" class="linkedin" target="_blank" rel="noopener" href="https://www.linkedin.com/company/frictionlabs"><svg aria-hidden="true" focusable="false" role="presentation" class="icon svg-linkedin" viewBox="0 0 310 310">
1885  <path fill="currentColor" d="M72.16,99.73H9.927c-2.762,0-5,2.239-5,5v199.928c0,2.762,2.238,5,5,5H72.16c2.762,0,5-2.238,5-5V104.73 C77.16,101.969,74.922,99.73,72.16,99.73z"/>
1886  <path fill="currentColor" d="M41.066,0.341C18.422,0.341,0,18.743,0,41.362C0,63.991,18.422,82.4,41.066,82.4 c22.626,0,41.033-18.41,41.033-41.038C82.1,18.743,63.692,0.341,41.066,0.341z"/>
1887  <path fill="currentColor" d="M230.454,94.761c-24.995,0-43.472,10.745-54.679,22.954V104.73c0-2.761-2.238-5-5-5h-59.599 c-2.762,0-5,2.239-5,5v199.928c0,2.762,2.238,5,5,5h62.097c2.762,0,5-2.238,5-5v-98.918c0-33.333,9.054-46.319,32.29-46.319 c25.306,0,27.317,20.818,27.317,48.034v97.204c0,2.762,2.238,5,5,5H305c2.762,0,5-2.238,5-5V194.995 C310,145.43,300.549,94.761,230.454,94.761z"/>
1888</svg></a></li>
1889      
1890      
1891      
1892      
1893      
1894      
1895      
1896      
1897      
1898
1899      
1900    </ul>
1901  </div>
1902
1903
1904                </div>
1905              
1906            </div>
1907
1908          
1909        
1910      </div>
1911    </div>
1912  
1913<div class="section-footer__row-container ">
1914    <div class="section-footer__row section-footer__row-lower">
1915      <div class="section-footer__row__col">
1916        
1917        
1918      </div>
1919      <div class="section-footer__row__col">
1920        
1921
1922        <div class="copyright">
1923          <span class="copy">&copy; 2026 <a href="/">Friction Labs</a>.</span>
1924
1925          
1926
1927        </div>
1928      </div>
1929    </div>
1930  </div>
1931</div>
1932
1933
1934</div>
1935<!-- END sections: footer-group -->
1936<script>
1937  theme.getOffsetTopFromDoc = (el) => {
1938    return el ? theme.getOffsetTopFromDoc(el.offsetParent) + el.offsetTop : 0;
1939  }
1940
1941  theme.lazy = {
1942    _imageSizesBatch: [],
1943
1944    _computeSizes: (el) => {
1945      if (el.offsetParent) {
1946        if (getComputedStyle(el).objectFit == 'cover') {
1947          const ari = el.getAttribute('width') / el.getAttribute('height'),
1948                arc = el.offsetWidth / el.offsetHeight;
1949          if (ari > arc) {
1950            return Math.round(el.offsetHeight * ari) + 'px';
1951          } else {
1952            return Math.round(el.offsetWidth) + 'px';
1953          }
1954        } else {
1955          return Math.round(el.offsetWidth) + 'px';
1956        }
1957      }
1958      return false;
1959    },
1960
1961    _flushImageSizesBatch() {
1962      for (let i = 0; i < theme.lazy._imageSizesBatch.length; i++) {
1963        const item = theme.lazy._imageSizesBatch[i];
1964        item.el.src = ''; // reset element - assume attrs will be rectified below
1965
1966        if (item.onload) {
1967          item.el.addEventListener('load', () => { item.el.classList.add('loaded')});
1968        }
1969        if (item.sizes) {
1970          item.el.setAttribute('sizes', item.sizes);
1971        }
1972        if (item.srcset) {
1973          item.el.setAttribute('srcset', item.srcset);
1974        }
1975        if (item.src) {
1976          item.el.setAttribute('src', item.src);
1977          item.el.removeAttribute('data-src');
1978        }
1979        if (item.loading) {
1980          item.el.setAttribute('loading', item.loading);
1981        }
1982      }
1983      theme.lazy._imageSizesBatch = [];
1984    },
1985
1986    _loadSrcSets: (setEager) => {
1987      document.querySelectorAll('[data-src]').forEach((el) => {
1988        let batchItem = { el: el };
1989        if (el.dataset.srcset) {
1990          // stop if size not calculable
1991          let sizes = theme.lazy._computeSizes(el);
1992          if (sizes === false) return;
1993
1994          batchItem.sizes = sizes;
1995          batchItem.srcset = el.dataset.srcset;
1996
1997          if (setEager && el.loading && el.loading === 'lazy' && theme.getOffsetTopFromDoc(el) < window.innerHeight) {
1998            batchItem.loading = 'eager';
1999          }
2000        }
2001        if (el.dataset.src) {
2002          batchItem.src = el.dataset.src;
2003        }
2004        if (el.dataset.onload) {
2005          batchItem.onload = el.dataset.onload;
2006        }
2007        theme.lazy._imageSizesBatch.push(batchItem);
2008      });
2009      theme.lazy._flushImageSizesBatch();
2010    },
2011
2012    updateImgSizes: () => {
2013      document.querySelectorAll('[data-srcset]').forEach((el) => {
2014        let sizes = theme.lazy._computeSizes(el);
2015        if (sizes === false) return;
2016        theme.lazy._imageSizesBatch.push({
2017          el: el,
2018          sizes: sizes
2019        });
2020      });
2021      theme.lazy._flushImageSizesBatch();
2022    },
2023
2024    loadSrcSets: (runNow, firstRun) => {
2025      if (runNow) {
2026        clearTimeout(theme.lazy.loadSrcSetsThrottleTimeoutId);
2027        theme.lazy._loadSrcSets(firstRun);
2028      } else {
2029        clearTimeout(theme.lazy.loadSrcSetsThrottleTimeoutId);
2030        theme.lazy.loadSrcSetsThrottleTimeoutId = setTimeout(theme.lazy._loadSrcSets, 10);
2031      }
2032    },
2033
2034    initLoadObserver: () => {
2035      theme.lazy.imgLoadObserver = new MutationObserver(function(mutations) {
2036        for (let i = 0; i < mutations.length; i++) {
2037          if (mutations[i].addedNodes && mutations[i].addedNodes.length) {
2038            theme.lazy.loadSrcSets();
2039          }
2040        }
2041      });
2042
2043      theme.lazy.imgLoadObserver.observe(document, { attributes: false, childList: true, characterData: false, subtree: true });
2044    },
2045
2046    initScript: (element, callback, threshold = 500) => {
2047      if ('IntersectionObserver' in window) {
2048        const io = new IntersectionObserver((entries, observer) => {
2049          entries.forEach((entry) => {
2050            if (entry.isIntersecting) {
2051              if (typeof callback === 'function') {
2052                callback();
2053                observer.unobserve(entry.target);
2054              }
2055            }
2056          });
2057        }, { rootMargin: `0px 0px ${threshold}px 0px` });
2058
2059        io.observe(element);
2060      } else {
2061        callback();
2062      }
2063    }
2064  }
2065
2066  setTimeout(() => {
2067    theme.lazy.loadSrcSets(true, true);
2068    theme.lazy.initLoadObserver();
2069  }, 0);</script>
2069
2070<template id="ModalTemplate">
2071    <div class="quickbuy-modal cc-popup cc-popup--right" aria-hidden="true" data-freeze-scroll="true">
2072      <div class="cc-popup-background"></div>
2073      <div class="cc-popup-modal" role="dialog" aria-modal="true" aria-labelledby="">
2074        <div class="cc-popup-container">
2075          <button type="button" class="cc-popup-close tap-target" aria-label="Close"><svg aria-hidden="true" focusable="false" role="presentation" class="icon feather-x" viewBox="0 0 24 24"><path d="M18 6L6 18M6 6l12 12"/></svg></button>
2076          <div class="cc-popup-content">
2077            <div class="loading-spinner"></div>
2078          </div>
2079        </div>
2080      </div>
2081  	</div>
2082  </template>
2082<script>(()=>{if(window.ZipifyPages??={},!window.ZipifyPages.isGlobalSectionScriptsLoaded)return;window.ZipifyPages.isGlobalSectionScriptsLoaded=!1;"https://cdn03.zipify.com/javascript/page-published-scripts.min.js".split(",").map((i=>i.trim())).forEach((i=>{const e=document.createElement("script");Object.assign(e,{src:i,defer:!0,type:"module"}),document.body.appendChild(e)}))})();</script>
2082<script id="published-popup-template" type="text/template"><form class="zpa-crm-popup-form" id="zpa-crm-form" action="/subscribe" method="post" data-zpa-crm-form><header class="zpa-crm-popup-header"><button class="zpa-popup-btn-close" type="button"aria-label="Close Navigation" data-close-btn><svg class="zpa-popup-btn-close-icon" width="34" height="34" data-name="btn-close"><use href="#btn-close"></use></svg></button></header><div class="zpa-crm-popup-body" data-popup-content></div></form></script>
2082 
2082<script id="crm-button-popup" type="text/template">{! if (progress_image_option == 1)!}<div class="zpa-crm-popup-progressbar-wrap"><img class="zpa-crm-popup-img-progress zpa-img-fluid zpa-center-block" src="{!= progress_image.src !}"></div>{! !}<h1 class="zpa-crm-popup-title" style="color:{!= form_name_color !}; font-family:{!= form_name_font_family !}; font-size:{!= form_name_font_size !};">{!= form_name !}</h1><div class="zpa-crm-popup-form-container">{! if (form_image_option == 1) !}<div class="zpa-crm-popup-image-box"><img class="zpa-crm-popup-img-asside zpa-img-fluid zpa-center-block" style="border-radius:{!= form_image_shape !};" src="{!= form_image.src !}"></div>{! !}<div class="zpa-crm-popup-form-box"><div class="zpa-crm-popup-field-wrap">{! if (first_name_option == 1) !}<label class="zpa-crm-popup-field-wrap zpa-crm-popup-field-first-name zpa-text-field zpa-offset-bottom-xs"><input class="zpa-text-field__input" type="text" name="first_name" data-user-fname data-zp-input><span class="zpa-text-field__label">First Name</span></label>{! !}{! if (last_name_option == 1) !}<label class="zpa-crm-popup-field-wrap zpa-crm-popup-field-last-name zpa-text-field zpa-offset-bottom-xs"><input class="zpa-text-field__input" type="text" name="last_name" data-user-lname data-zp-input><span class="zpa-text-field__label">Last Name</span></label>{! !}</div><label class="zpa-text-field"><input class="zpa-text-field__input" type="email" name="email" required data-user-email data-zp-input><span class="zpa-text-field__label">Email Address</span></label>{! if (phone_option == 1) !}<label class="zpa-text-field zpa-crm-popup-field-phone"><input class="zpa-text-field__input" name="phone" type="tel" data-user-phone data-zp-input><span class="zpa-text-field__label">Phone Number</span></label>{! !}</div></div>{! if (gdpr_status != 'disable') !}<div>{! if (gdpr_status == 'enable_with_checkbox') !}<label class="zpa-control zpa-control--top zpa-control-checkbox zpa-offset-bottom-xs hidden" data-gdpr-checkbox-section><input class="zpa-control__field" type="checkbox" name="gdpr" data-gdpr-checkbox><span class="zpa-control__indicator zpa-offset-right-xs"></span><span class="zpa-fsize-xs" data-gdpr-checkbox-text></span></label>{! !}{! if (gdpr_status == 'enable_without_checkbox') !}<p class="zpa-fsize-xs zpa-text-center zpa-offset-top-none zpa-offset-bottom-xs hidden" data-gdpr-message-section></p>{! !}</div>{! !}<button class="zpa-crm-button-checkout zpa-btn-custom" type="submit" style="color:{!= checkout_button_color !}; background-color: {!= checkout_button_background_color !}" data-checkout-btn data-zpa-submit-button>{!= checkout_button_caption !}</button>{! if (comment_text_status == 1) !}<p class="zpa-crm-popup-description" style="color: {!= comment_text_font_color !}" data-comment-text-status>{!= comment_text !}</p>{! !}{! if (banner_image_option == 1)!}<img class="zpa-crm-popup-img-footer zpa-img-fluid zpa-center-block" src="{!= banner_image.src !}">{! !}</script>
2082<div id="shopify-block-AZFd6aGFnS21FS1hVa__13768625480086291342" class="shopify-block shopify-app-block">
2082<script>
2083  window['ShopifyForms'] = {
2084    ...window['ShopifyForms'],
2085    currentPageType: "search"
2086  };
2087</script>
2087
2088
2089
2090</div>
2090<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2090
2091</body>
2092</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.