PageSourceSearch

https://frictionlabs.com/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz

html frictionlabs.com collected 2026-10-02 14:38:30 UTC 283,723 bytes, 2,851 lines download raw bytes

1<!DOCTYPE html><html lang="en" dir="ltr" class="no-js">
2<head>
2<script data-source-attribution="shopify.event_observer.bootstrap">
3(function(){let e=navigator,t=`prototype`,n=`sendBeacon`,r=e[n],i=fetch,a=XMLHttpRequest[t],{open:o,send:s}=a,c=`EventListener`,l=`add${c}`,u=`remove${c}`,d=EventTarget[t],f=d[l],p=d[u],m=e=>Error((e=document.currentScript)&&[e?.src,e?.id||e?.dataset?.sourceAttribution]),h=(e=[],t=0)=>(e.p=n=>e[t++%1e3]=n,[e,t=>(e.forEach(e.p=t),e.length=0)]),[g,_]=h(),[v,y]=h(),b,x=new WeakMap,S=e=>e&&g.p([e,b||[m()]]);d[l]=function(e,t,n){let r=this,i=t?.handleEvent||t,a=x.get(t),o=m();i?.call&&!a&&x.set(t,a=function(e){b=[o,e.type];try{i.call(t==i?this:t,e)}finally{b=null}}),v.p([e,o,a,r?.tagName||r+``,r?.id]),f.call(r,e,a||t,n)},d[u]=function(e,t,n){p.call(this,e,x.get(t)||t,n)},a.open=function(e,t){x.set(this,[t+``,e]),o.apply(this,arguments)},a.send=function(e){S(x.get(this)),s.call(this,e)},fetch=(e,t)=>(S([(e?.url||e)+``,t?.method]),i(e,t)),e[n]=(t,n)=>(S([t+``,``]),r.call(e,t,n)),setTimeout(()=>import("//frictionlabs.com/cdn/shopifycloud/storefront/assets/storefront/event_observer_reporter-ed358274.js").then(e=>e.$(_,y,f,i,`6663291`)))})();
4//# sourceURL=event-observer-collector.js
5</script>
5
6
7  
7<script type="application/vnd.locksmith+json" data-locksmith>{"version":"v346","locked":false,"initialized":true,"scope":"product","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":"product","theme":138608705734,"product":"dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","collection":null,"page":null,"blog":null,"article":null,"app":null},"now":1790951908,"path":"\/products\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","locale_root_url":"\/","canonical_url":"https:\/\/shop.frictionlabs.com\/products\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","customer_id":null,"customer_id_signature":"baeca00fc5cc9352c5421b5108a139dc8b79052b1bbe9120dd701ce1b012dd3e","cart":null}</script>
7<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;
7color:#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>
7
8      
8<script data-locksmith>Locksmith.cache.cart=null</script>
8
9
10  
10<script data-locksmith>Locksmith.jsonTag="{\"version\":\"v346\",\"locked\":false,\"initialized\":true,\"scope\":\"product\",\"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\":\"product\",\"theme\":138608705734,\"product\":\"dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz\",\"collection\":null,\"page\":null,\"blog\":null,\"article\":null,\"app\":null},\"now\":1790951908,\"path\":\"\\\/products\\\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz\",\"locale_root_url\":\"\\\/\",\"canonical_url\":\"https:\\\/\\\/shop.frictionlabs.com\\\/products\\\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz\",\"customer_id\":null,\"customer_id_signature\":\"baeca00fc5cc9352c5421b5108a139dc8b79052b1bbe9120dd701ce1b012dd3e\",\"cart\":null}";Locksmith.jsonTagSignature="4807cb4c86ccc7186b3599c8a685cb8a07120cadb4544861b8fb11fcce1b8875"</script>
10
11  <!-- Mode 4.1.2 -->
12
13  <title>DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz) &ndash; Friction Labs</title>
14
15  <meta charset="utf-8" />
16<meta name="viewport" content="width=device-width,initial-scale=1.0" />
17<meta http-equiv="X-UA-Compatible" content="IE=edge">
18
19<link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
20<link rel="preconnect" href="https://fonts.shopify.com" crossorigin>
21<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">
22<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/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" /><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="DWoods Precision Grip™ by Friction Labs® is chalk engineered for performance at the highest level. When your hardest projects demand absolute perfection, your grip shouldn’t hold you back. We partnered with climbing legend and Friction Labs Pro Daniel Woods to engineer the ultimate solution. DWoods Precision Grip featu">
23
24<style>
25    @font-face {
26  font-family: Poppins;
27  font-weight: 400;
28  font-style: normal;
29  font-display: fallback;
30  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
31       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
32}
33
34    @font-face {
35  font-family: Poppins;
36  font-weight: 700;
37  font-style: normal;
38  font-display: fallback;
39  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"),
40       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.f34f55d9b3d3205d2cd6f64955ff4b36f0cfd8da.woff") format("woff");
41}
42
43    @font-face {
44  font-family: Poppins;
45  font-weight: 600;
46  font-style: normal;
47  font-display: fallback;
48  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n6.aa29d4918bc243723d56b59572e18228ed0786f6.woff2") format("woff2"),
49       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n6.5f815d845fe073750885d5b7e619ee00e8111208.woff") format("woff");
50}
51
52    @font-face {
53  font-family: Poppins;
54  font-weight: 500;
55  font-style: normal;
56  font-display: fallback;
57  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n5.ad5b4b72b59a00358afc706450c864c3c8323842.woff2") format("woff2"),
58       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n5.33757fdf985af2d24b32fcd84c9a09224d4b2c39.woff") format("woff");
59}
60
61    @font-face {
62  font-family: Poppins;
63  font-weight: 400;
64  font-style: italic;
65  font-display: fallback;
66  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_i4.846ad1e22474f856bd6b81ba4585a60799a9f5d2.woff2") format("woff2"),
67       url("//frictionlabs.com/cdn/fonts/poppins/poppins_i4.56b43284e8b52fc64c1fd271f289a39e8477e9ec.woff") format("woff");
68}
69
70    @font-face {
71  font-family: Poppins;
72  font-weight: 700;
73  font-style: italic;
74  font-display: fallback;
75  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_i7.42fd71da11e9d101e1e6c7932199f925f9eea42d.woff2") format("woff2"),
76       url("//frictionlabs.com/cdn/fonts/poppins/poppins_i7.ec8499dbd7616004e21155106d13837fff4cf556.woff") format("woff");
77}
78
79    @font-face {
80  font-family: Poppins;
81  font-weight: 700;
82  font-style: normal;
83  font-display: fallback;
84  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"),
85       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.f34f55d9b3d3205d2
85cd6f64955ff4b36f0cfd8da.woff") format("woff");
86}
87
88    @font-face {
89  font-family: Poppins;
90  font-weight: 700;
91  font-style: normal;
92  font-display: fallback;
93  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"),
94       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n7.f34f55d9b3d3205d2cd6f64955ff4b36f0cfd8da.woff") format("woff");
95}
96
97    @font-face {
98  font-family: Poppins;
99  font-weight: 400;
100  font-style: normal;
101  font-display: fallback;
102  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
103       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
104}
105
106    @font-face {
107  font-family: Poppins;
108  font-weight: 600;
109  font-style: normal;
110  font-display: fallback;
111  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n6.aa29d4918bc243723d56b59572e18228ed0786f6.woff2") format("woff2"),
112       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n6.5f815d845fe073750885d5b7e619ee00e8111208.woff") format("woff");
113}
114
115    @font-face {
116  font-family: Poppins;
117  font-weight: 300;
118  font-style: normal;
119  font-display: fallback;
120  src: url("//frictionlabs.com/cdn/fonts/poppins/poppins_n3.05f58335c3209cce17da4f1f1ab324ebe2982441.woff2") format("woff2"),
121       url("//frictionlabs.com/cdn/fonts/poppins/poppins_n3.6971368e1f131d2c8ff8e3a44a36b577fdda3ff5.woff") format("woff");
122}
123
124  </style>
125
126  <meta property="og:site_name" content="Friction Labs">
127<meta property="og:url" content="https://shop.frictionlabs.com/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz"><meta property="og:title" content="DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)">
128<meta property="og:type" content="product">
129<meta property="og:description" content="DWoods Precision Grip™ by Friction Labs® is chalk engineered for performance at the highest level. When your hardest projects demand absolute perfection, your grip shouldn’t hold you back. We partnered with climbing legend and Friction Labs Pro Daniel Woods to engineer the ultimate solution. DWoods Precision Grip featu">
130<meta property="og:image" content="http://frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground_1200x1200.jpg?v=1787608202">
131<meta property="og:image:secure_url" content="https://frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground_1200x1200.jpg?v=1787608202">
132<meta property="og:image:width" content="600">
133  <meta property="og:image:height" content="600"><meta property="og:price:amount" content="29.99">
134<meta property="og:price:currency" content="USD">
135<meta name="twitter:site" content="@frictionlabs"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)">
136<meta name="twitter:description" content="DWoods Precision Grip™ by Friction Labs® is chalk engineered for performance at the highest level. When your hardest projects demand absolute perfection, your grip shouldn’t hold you back. We partnered with climbing legend and Friction Labs Pro Daniel Woods to engineer the ultimate solution. DWoods Precision Grip featu">
137
138
139  <link href="//frictionlabs.com/cdn/shop/t/69/assets/styles.css?v=36302328142793725301746646530" rel="stylesheet" type="text/css" media="all" />
140<script>
141    document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
142    window.theme = window.theme || {};
143    theme.money_format_with_product_code_preference = "${{amount}}";
144    theme.money_format = "${{amount}}";
145    theme.strings = {
146      previous: "Previous",
147      next: "Next",
148      addressError: "Error looking up that address",
149      addressNoResults: "No results for that address",
150      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.",
151      authError: "There was a problem authenticating your Google Maps API Key.",
152      icon_labels_left: "Left",
153      icon_labels_right: "Right",
154      icon_labels_down: "Down",
155      icon_labels_close: "Close",
156      icon_labels_plus: "Plus",
157      imageSlider: "Image slider",
158      cart_terms_confirmation: "You must agree to the terms and conditions before continuing.",
159      cart_general_quantity_too_high: "You can only have [QUANTITY] in your cart",
160      products_listing_from: "From",
161      products_product_add_to_cart: "Add to Cart",
162      products_variant_no_stock: "Sold out",
163      products_variant_non_existent: "Unavailable",
164      products_product_pick_a: "Pick a",
165      general_navigation_menu_toggle_aria_label: "Toggle menu",
166      general_accessibility_labels_close: "Close",
167      products_product_added_to_cart: "Added to cart",
168      general_quick_search_pages: "Pages",
169      general_quick_search_no_results: "Sorry, we couldn\u0026#39;t find any results"
170    };
171    theme.routes = {
172      search_url: '/search',
173      cart_url: '/cart',
174      cart_add_url: '/cart/add.js',
175      cart_change_url: '/cart/change.js',
176      cart_update_url: '/cart/update.js',
177      predictive_search_url: '/search/suggest'
178    };
179    theme.settings = {
180      cart_type: "drawer",
181      after_add_to_cart: "drawer",
182      quickbuy_style: "button-quick-add",
183      quickbuy_visibility: "hover",
184      avoid_orphans: true,
185      qb_enable_sticky_cols: true,
186      show_search_suggestions: true
187    };
188
189    theme.enqueueStyleUpdateQueue = [];
190    theme.enqueueStyleUpdateTimeoutId = null;
191    theme.enqueueStyleUpdate = (cb) => {
192      clearTimeout(theme.enqueueStyleUpdateTimeoutId);
193      theme.enqueueStyleUpdateQueue.push(cb);
194      theme.enqueueStyleUpdateTimeoutId = setTimeout(() => {
195        while (theme.enqueueStyleUpdateQueue.length > 0) {
196          theme.enqueueStyleUpdateQueue.pop()();
197        }
198      }, 0);
199    }
200  </script>
200
201
202  
202<script src="//frictionlabs.com/cdn/shop/t/69/assets/vendor.min.js?v=171821347312696842561736281188" defer></script>
202
203  
203<script src="//frictionlabs.com/cdn/shop/t/69/assets/theme.js?v=49844615550430399751736281188" defer></script>
203
204  
204<script src="https://cdn.optimizely.com/js/3600180105.js"></script>
204
205  
205<script>
vendor: 362 bytes, lines 205-212
205
206    
207    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
208    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
209    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
210    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
211  
212    ga('create', '
212UA-47553706-1
vendor: 39 bytes, lines 212-213
212', 'auto', {'allowLinker': true});
213    
213ga('require', 'linker');
214    ga('linker:autoLink', ['frictionlabs.com','shop.frictionlabs.com'
215                          ,'frictionlabs.co.uk','shop.frictionlabs.co.uk'
216                          ,'frictionlabs.eu','shop.frictionlabs.eu'
217                          ,'frictionlabs.de','shop.frictionlabs.de'
218                          ,'frictionlabs.fr','shop.frictionlabs.fr'
219                          ,'frictionlabs.es','shop.frictionlabs.es'
220                          ,'frictionlabs.at','shop.frictionlabs.at'
221                          ,'frictionlabs.it','shop.frictionlabs.it'
222                          ,'frictionlabs.myshopify.com'
223                          ,'frictionlabs-eu.myshopify.com'
224                          ,'frictionlabs-uk.myshopify.com'
225                          ] );
226    ga('set', 'forceSSL', true);
227    ga('require', 'displayfeatures');
228    ga('send', 'pageview');
229    
230  </script>
230
231  <meta name="p:domain_verify" content="f23953afb263459a3714876616a7a73f"/>
232
233  <!-- Facebook Pixel Code -->
234  
234<script>
vendor: 404 bytes, lines 234-241
234
235  !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
236  n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
237  n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
238  t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
239  document,'script','//connect.facebook.net/en_US/fbevents.js');
240  
241  fbq('init', '
241110882162578064
vendor: 6 bytes, lines 241-242
241');
242  
242fbq('track', "PageView", {});
243  </script>
243
244  
245  <noscript>
246  
247  <img height="1" width="1" style="display:none"
248  src="https://www.facebook.com/tr?id=110882162578064&amp;ev=PageView&amp;noscript=1"
249  />
250  </noscript>
250<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>
250<script>(() => {
251(()=>{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;})();
252
253})()</script>
253<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
253<meta name="google-site-verification" content="zgEplhFW82vqhphX716TleiwTeZWpYk0QHYPYiJ1gCc">
254<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/6663291/digital_wallets/dialog">
255<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">
256<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/45839261499590:1?ucp/version=2026-08-25&amp;context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://shop.frictionlabs.com/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz.oembed">
257<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=395444422"></script>
257
258<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
259<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 259
259
260<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 260
260
261<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 261
261
262<script>var Shopify = Shopify || {};
263Shopify.shop = "frictionlabs.myshopify.com";
264Shopify.locale = "en";
265Shopify.currency = {"active":"USD","rate":"1.0"};
266Shopify.country = "US";
267Shopify.theme = {"name":"Mode","id":138608705734,"schema_name":"Mode","schema_version":"4.1.2","theme_store_id":1578,"role":"main"};
268Shopify.theme.handle = "null";
269Shopify.theme.style = {"id":null,"handle":null};
270Shopify.cdnHost = "frictionlabs.com/cdn";
271Shopify.routes = Shopify.routes || {};
272Shopify.routes.root = "/";
273Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
274Shopify.SignInWithShop = Shopify.SignInWithShop || {};
275Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
276Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 276
276
277<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 277
277
278<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 278
278
279<script>
280  window.ShopifyPay = window.ShopifyPay || {};
281  window.ShopifyPay.apiHost = "shop.app\/pay";
282  window.ShopifyPay.redirectState = null;
283</script>
vendor: 1 bytes, line 283
283
284<script>
285  window.Shopify = window.Shopify || {};
286  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
287  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
288  window.Shopify.SignInWithShop.eligible = true;
289</script>
vendor: 1 bytes, line 289
289
290<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 290
290
291<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 291
291
292<script type="module">
293  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
294
295  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
296
297</script>
vendor: 1 bytes, line 297
297
298<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.payment-terms.en.esm.js"></script>
vendor: 1 bytes, line 298
298
299<script type="module">
300  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.payment-terms.en.esm.js");
301
302  
303</script>
vendor: 1 bytes, line 303
303
304<script>
305  window.Shopify = window.Shopify || {};
306  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
307  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"]};
308</script>
vendor: 1 bytes, line 308
308
309<script>(function() {
310  var isLoaded = false;
311  function asyncLoad() {
312    if (isLoaded) return;
313    isLoaded = true;
314    var urls = ["https:\/\/id-shop.govx.com\/app\/frictionlabs.myshopify.com\/govx.js?shop=frictionlabs.myshopify.com"];
315    for (var i = 0; i < urls.length; i++) {
316      var s = document.createElement('script');
317      s.type = 'text/javascript';
318      s.async = true;
319      s.src = urls[i];
320      var x = document.getElementsByTagName('script')[0];
321      x.parentNode.insertBefore(s, x);
322    }
323  };
324  if(window.attachEvent) {
325    window.attachEvent('onload', asyncLoad);
326  } else {
327    window.addEventListener('load', asyncLoad, false);
328  }
329})();</script>
vendor: 1 bytes, line 329
329
330<script id="__st">var __st={"a":6663291,"offset":-21600,"reqid":"b21582d0-94fa-40f9-8963-e8c2ab12cdff-1790951907","pageurl":"frictionlabs.com\/products\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","u":"ee47277dd31c","p":"product","rtyp":"product","rid":8877912883398};</script>
vendor: 1 bytes, line 330
330
331<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 331
331
332<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 332
332
333<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 333
333
334<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>
334<script crossorigin="anonymous" defer="defer" src="//frictionlabs.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 334
334
335<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 335
335
336<script>
337  window.Shopify = window.Shopify || {};
338  window.Shopify.MCP = window.Shopify.MCP || {};
339  window.Shopify.MCP.enabled = true;
340  window.Shopify.MCP.shop = "frictionlabs.myshopify.com";
341  window.Shopify.MCP.mcpEndpoint = "https:\/\/frictionlabs.com\/api\/mcp";
342  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"]}}];
343</script>
vendor: 1 bytes, line 343
343
344<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=");})();
345</script>
vendor: 1 bytes, line 345
345
346<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)}};
347</script>
vendor: 1 bytes, line 347
347
348<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
349  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);
350</script>
vendor: 1 bytes, line 350
350
351<script>
352  function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule);
353</script>
353
354
355<script type="module" src="https://frictionlabs.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 355
355
356<script nomodule>
357  document.addEventListener("DOMContentLoaded", portableWalletsCleanup);
358</script>
358
359
360<script id='scb4127' type='text/javascript' async='' src='https://frictionlabs.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
360<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">
361<style id="shopify-accelerated-checkout-cart">
362        #shopify-buyer-consent {
363  margin-top: 1em;
364  display: inline-block;
365  width: 100%;
366}
367
368#shopify-buyer-consent.hidden {
369  display: none;
370}
371
372#shopify-subscription-policy-button {
373  background: none;
374  border: none;
375  padding: 0;
376  text-decoration: underline;
377  font-size: inherit;
378  cursor: pointer;
379}
380
381#shopify-subscription-policy-button::before {
382  box-shadow: none;
383}
384
385      </style>
386
387<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
387
388<!-- BEGIN app block: shopify://apps/securify/blocks/browser-blocker/e3ed2576-9111-486f-86eb-a36b6bee4e94 -->
389<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}
389const 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>
389<script>
390  // Pass shop domain to the React app via global variable
391  window.SECURIFY_SHOP_DOMAIN = "shop.frictionlabs.com";
392  window.SECURIFY_CUSTOMER_ID = null;
393  // Generic per-visit rollout gate (src/signals/canary.ts). Read from an
394  // app-owned metafield synchronously at Liquid render time — zero added
395  // round trip. A rollout percent (0-100), not tied to any specific
396  // feature; whatever currently needs a percent rollout reads this same
397  // value. See app/lib/canary.server.ts for the write path and
398  // shopify.app.staging.toml for the metafield definition.
399  window.SECURIFY_CANARY_PERCENT = 0;
400  // SEC-1113: the app-proxy prefix the app last observed for this shop
401  // ("/apps/proxy-3" on a store where another app holds "/apps/proxy"),
402  // written by app/lib/proxy-path-metafield.server.ts. Raw and untrusted
403  // here; every beacon and the bundle's probe resolve the prefix when they
404  // fire (src/proxy-path.ts resolveProxyPrefix), accepting this only when it
405  // is one of the eleven known paths. null until the app has seen a decision
406  // request from this shop.
407  window.SECURIFY_PROXY_PATH = "\/apps\/proxy";
408</script>
408<link rel="preconnect" href="https://tr.securification.ai" crossorigin="anonymous">
409<link rel="dns-prefetch" href="//tr.securification.ai">
409<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>
409<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">
410
411<script src="https://cdn.shopify.com/extensions/01a0fce1-fdfc-73c5-8d8f-c390d0759997/securify-294/assets/visitor-blocker-v2.iife.js" async fetchpriority="high"></script>
411
412<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core -->
413
414
415
416
417
418
419
420<link rel="dns-prefetch" href="https://cdn.judge.me">
421<link rel="dns-prefetch" href="https://cdn1.judge.me">
422<link rel="dns-prefetch" href="https://api.judge.me">
423
424<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
424ou! 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
424itle":"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_
424youtube_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"
424:"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_
424shop_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>
424 <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}
425</style> <style class='jdgm-settings-style'></style>
426
427  
428  
429  
430  <style class='jdgm-miracle-styles'>
431  @-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
431azfD8HEODtmQCfoANwNsyp2/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}
432
433</style>
434
435
436  
437  
438   
439
440
441
442
443<script data-cfasync='false' class='jdgm-script'>
444!function(e){window.jdgm=window.jdgm||{};
445/* INF-1976 */
446var _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;}();
447if(_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;}
448jdgm.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/",
449jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)?
450setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){
451!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d),
452(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!",
453a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))},
454jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest;
455t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))},
456t.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(
457".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting?
458parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"):
459jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css")
460)}))}(document);
461</script>
461
462<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>
463
464<!-- BEGIN app snippet: theme_fix_tags -->
464<script>
465  (function() {
466    var jdgmThemeFixes = null;
467    if (!jdgmThemeFixes) return;
468
469    // "All themes" fix: CSS and JS applied on every theme. CSS is injected
470    // before the per-theme fix so the theme-specific CSS wins the cascade.
471    // HTML is never applied globally (too risky).
472    var allThemesFix = jdgmThemeFixes['all'];
473    if (allThemesFix && allThemesFix.css) {
474      var allStyleTag = document.createElement('style');
475      allStyleTag.classList.add('jdgm-theme-fix-style-all');
476      allStyleTag.innerHTML = allThemesFix.css;
477      document.head.append(allStyleTag);
478    };
479
480    if (allThemesFix && allThemesFix.js) {
481      var allScriptTag = document.createElement('script');
482      allScriptTag.classList.add('jdgm-theme-fix-script-all');
483      allScriptTag.innerHTML = allThemesFix.js;
484      document.head.append(allScriptTag);
485    };
486
487    var thisThemeFix = jdgmThemeFixes[Shopify.theme.id];
488    if (!thisThemeFix) return;
489
490    if (thisThemeFix.html) {
491      document.addEventListener("DOMContentLoaded", function() {
492        var htmlDiv = document.createElement('div');
493        htmlDiv.classList.add('jdgm-theme-fix-html');
494        htmlDiv.innerHTML = thisThemeFix.html;
495        document.body.append(htmlDiv);
496      });
497    };
498
499    if (thisThemeFix.css) {
500      var styleTag = document.createElement('style');
501      styleTag.classList.add('jdgm-theme-fix-style');
502      styleTag.innerHTML = thisThemeFix.css;
503      document.head.append(styleTag);
504    };
505
506    if (thisThemeFix.js) {
507      var scriptTag = document.createElement('script');
508      scriptTag.classList.add('jdgm-theme-fix-script');
509      scriptTag.innerHTML = thisThemeFix.js;
510      document.head.append(scriptTag);
511    };
512  })();
513</script>
513
514<!-- END app snippet -->
515<!-- End of Judge.me Core -->
516
517
518
519<!-- END app block -->
519<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 519
519
520<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>
520
521<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
522<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: "product"};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 522
522
523<script>
524  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
525</script>
vendor: 1 bytes, line 525
525
526<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}
526).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
5260f7d039cf5174ce9ef\",\"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"}
526,{"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":[{"price":{"amount":29.99,"currencyCode":"USD"},"product":{"title":"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)","vendor":"Friction Labs","id":"8877912883398","untranslatedTitle":"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)","url":"\/products\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","type":"Chalk"},"id":"45839261499590","image":{"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202"},"sku":"FL-CHALK-DWOODS-PRECISIONGRIP-6-RECYCLABLE","title":"Default Title","untranslatedTitle":"Default Title"}],"products":[{"id":"8877912883398","handle":"dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","isCollective":null,"title":"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)","type":"Chalk","untranslatedTitle":"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)","url":"\/products\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","vendor":"Friction Labs","remoteShopId":null,"variants":[{"id":"45839261499590","image":{"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202"},"price":{"amount":29.99,"currencyCode":"USD"},"sku":"FL-CHALK-DWOODS-PRECISIONGRIP-6-RECYCLABLE","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"7771245936838","handle":"friction-labs-loose-chalk-in-new-recyclable-packaging","isCollective":null,"title":"Friction Labs® Loose Chalk in New Recyclable Packaging","type":"Chalk","untranslatedTitle":"Friction Labs® Loose Chalk in New Recyclable Packaging","url":"\/products\/friction-labs-loose-chalk-in-new-recyclable-packaging","vendor":"Friction Labs","remoteShopId":null,"variants":[{"id":"42631627964614","image":{"src":"\/\/frictionlabs.com\/cdn\/shop\/products\/UDFamilyStoneswithLoose_600x600_d2ab1af5-e3df-45b6-9824-1465da9c24ba.jpg?v=1678933734"},"price":{"amount":9.99,"currencyCode":"USD"},"sku":"FL-CHALK-UD-2.5-RECYCLABLE","title":"Unicorn Dust® (powder+chunks) \/ 2.5 oz","untranslatedTitle":"Unicorn Dust® (powder+chunks) \/ 2.5 oz"}]},{"id":"8507148042438","handle":"secret-stuff-liquid-chalk","isCollective":null,"title":"Secret Stuff® Liquid Chalk","type":"Secret Stuff","untranslatedTitle":"Secret Stuff® Liquid Chalk","url":"\/products\/secret-stuff-liquid-chalk","vendor":"FrictionLabs","remoteShopId":null,"variants":[{"id":"44613572427974","image":{"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/ss-original-square.png?v=1745861471"},"price":{"amount":19.0,"currencyCode":"USD"},"sku":"FL-CHALK-SS-75","title":"45% Alcohol (Original)","untranslatedTitle":"45% Alcohol (Original)"}]},{"id":"3842212934","handle":"magic-reusable-chalk-ball","isCollective":null,"title":"Magic - Reusable Chalk Sphere","type":"Chalk","untranslatedTitle":"Magic - Reusable Chalk Sphere","url":"\/products\/magic-reusable-chalk-ball","vendor":"FrictionLabs","remoteShopId":null,"variants":[{"id":"42778084835526","image":{"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/1_bf4a486b-1d73-41cd-8c81-678f557aa178.jpg?v=1692291391"},"price":{"amount":9.99,"currencyCode":"USD"},"sku":"FL-CHALK-MAGIC-2.2-RECYCLABLE","title":"Original","untranslatedTitle":"Original"}]},{"id":"7830483108038","handle":"the-chalk-disc","isCollective":null,"title":"The Chalk Disc","type":"Chalk","untranslatedTitle":"The Chalk Disc","url":"\/products\/the-chalk-disc","vendor":"Friction Labs","remoteShopId":null,"variants":[{"id":"42815787008198","image":{"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/chalk-discs-hero_1b2003b0-a9dd-4dab-b564-a370be59f844.png?v=1746645594"},"price":{"amount":14.99,"currencyCode":"USD"},"sku":"FL-CHALK-DISC-5-TUBE-1","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"4432518854","handle":"gift-card","isCollective":null,"title":"Friction Labs E-Gift Card","type":"Gift Cards","untranslatedTitle":"Friction Labs E-Gift Card","url":"\/products\/gift-card","vendor":"FrictionLabs","remoteShopId":null,"variants":[{"id":"
52614497399430","image":{"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/Shop_All_Gift_Cards_Hero.png?v=1745861471"},"price":{"amount":10.0,"currencyCode":"USD"},"sku":"FL-ACCESSORIES-GIFTCARD-10","title":"$10.00","untranslatedTitle":"$10.00"}]}],"purchasingCompany":null},},"https://frictionlabs.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"138608705734","themeStoreId":"1578","themePublished":"true","eventMetadataId":"d9a1e5dc-de69-448f-8ace-a5cc0605d85e","pageType":"product","resourceId":"8877912883398","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\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":29.99,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)\",\"vendor\":\"Friction Labs\",\"id\":\"8877912883398\",\"untranslatedTitle\":\"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)\",\"url\":\"\/products\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz\",\"type\":\"Chalk\"},\"id\":\"45839261499590\",\"image\":{\"src\":\"\/\/frictionlabs.com\/cdn\/shop\/files\/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202\"},\"sku\":\"FL-CHALK-DWOODS-PRECISIONGRIP-6-RECYCLABLE\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});})();</script>
526<script>
527  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
528  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
529  window.ShopifyAnalytics.meta.currency = 'USD';
530  var meta = {"product":{"id":8877912883398,"gid":"gid:\/\/shopify\/Product\/8877912883398","vendor":"Friction Labs","type":"Chalk","handle":"dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","variants":[{"id":45839261499590,"price":2999,"name":"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)","public_title":null,"sku":"FL-CHALK-DWOODS-PRECISIONGRIP-6-RECYCLABLE"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8877912883398,"requestId":"b21582d0-94fa-40f9-8963-e8c2ab12cdff-1790951907"}};
531  for (var attr in meta) {
532    window.ShopifyAnalytics.meta[attr] = meta[attr];
533  }
534</script>
vendor: 1 bytes, line 534
534
535<script class="analytics">
536  (function () {
537    var customDocumentWrite = function(content) {
538      var jquery = null;
539
540      if (window.jQuery) {
541        jquery = window.jQuery;
542      } else if (window.Checkout && window.Checkout.$) {
543        jquery = window.Checkout.$;
544      }
545
546      if (jquery) {
547        jquery('body').append(content);
548      }
549    };
550
551    var hasLoggedConversion = function(token) {
552      if (token) {
553        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
554      }
555      return false;
556    }
557
558    var setCookieIfConversion = function(token) {
559      if (token) {
560        var twoMonthsFromNow = new Date(Date.now());
561        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
562
563        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
564      }
565    }
566
567    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
568    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
569    if (trekkie.integrations) {
570      return;
571    }
572    trekkie.methods = [
573      'identify',
574      'page',
575      'ready',
576      'track',
577      'trackForm',
578      'trackLink'
579    ];
580    trekkie.factory = function(method) {
581      return function() {
582        var args = Array.prototype.slice.call(arguments);
583        args.unshift(method);
584        trekkie.push(args);
585        if (method == 'track' || method == 'page') {
586          var pageUrl;
587          try {
588            pageUrl = window.location.href;
589          } catch (e) {}
590          var pageReferrer;
591          try {
592            pageReferrer = document.referrer;
593          } catch (e) {}
594          try {
595            if (window.__TREKKIE_SHIM_QUEUE == null) {
596              window.__TREKKIE_SHIM_QUEUE = [];
597            }
598            window.__TREKKIE_SHIM_QUEUE.push({
599              from: 'trekkie-stub',
600              method: method,
601              args: args.slice(1),
602              pageContext: {
603                url: pageUrl,
604                referrer: pageReferrer
605              }
606            });
607          } catch (e) {
608            // no-op
609          }
610        }
611        return trekkie;
612      };
613    };
614    for (var i = 0; i < trekkie.methods.length; i++) {
615      var key = trekkie.methods[i];
616      trekkie[key] = trekkie.factory(key);
617    }
618    trekkie.load = function(config) {
619      trekkie.config = config || {};
620      trekkie.config.initialDocumentCookie = document.cookie;
621      var first = document.getElementsByTagName('script')[0];
622var script = document.createElement('script');
623script.type = 'text/javascript';
624script.onerror = function(e) {
625  var scriptFallback = document.createElement('script');
626  scriptFallback.type = 'text/javascript';
627  scriptFallback.onerror = function(error) {
628          var Monorail = {
629      produce: function produce(monorailDomain, schemaId, payload) {
630        var currentMs = new Date().getTime();
631        var event = {
632          schema_id: schemaId,
633          payload: payload,
634          metadata: {
635            event_created_at_ms: currentMs,
636            event_sent_at_ms: currentMs
637          }
638        };
639        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
640      },
641      sendRequest: function sendRequest(endpointUrl, payload) {
642        // Try the sendBeacon API
643        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
644          var blobData = new window.Blob([payload], {
645            type: 'text/plain'
646          });
647
648          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
649            return true;
650          } // sendBeacon was not successful
651
652        } // XHR beacon
653
654        var xhr = new XMLHttpRequest();
655
656        try {
657          xhr.open('POST', endpointUrl);
658          xhr.setRequestHeader('Content-Type', 'text/plain');
659          xhr.send(payload);
660        } catch (e) {
661          console.log(e);
662        }
663
664        return false;
665      },
666      isIos12: function isIos12() {
667        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
668      }
669    };
670    Monorail.produce('monorail-edge.shopifysvc.com',
671      'trekkie_storefront_load_errors/1.1',
672      {shop_id: 6663291,
673      theme_id: 138608705734,
674      app_name: "storefront",
675      context_url: window.location.href,
676      source_url: "//frictionlabs.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
677
678  };
679  scriptFallback.async = true;
680  scriptFallback.src = '//frictionlabs.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
681  first.parentNode.insertBefore(scriptFallback, first);
682};
683script.async = true;
684script.src = '//frictionlabs.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
685first.parentNode.insertBefore(script, first);
686
687    };
688    trekkie.load(
689      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":6663291,"isMerchantRequest":null,"themeId":138608705734,"themeCityHash":"7814239851913059029","contentLanguage":"en","currency":"USD","eventMetadataId":"d9a1e5dc-de69-448f-8ace-a5cc0605d85e"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
690    );
691
692    var loaded = false;
693    trekkie.ready(function() {
694      if (loaded) return;
695      loaded = true;
696
697      window.ShopifyAnalytics.lib = window.trekkie;
698
699      var originalDocumentWrite = document.write;
700      document.write = customDocumentWrite;
701      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
702      document.write = originalDocumentWrite;
703
704      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
705      var token = match? match[1]: undefined;
706      if (!hasLoggedConversion(token)) {
707        setCookieIfConversion(token);
708        window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":45839261499590,"productId":8877912883398,"productGid":"gid:\/\/shopify\/Product\/8877912883398","name":"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)","price":"29.99","sku":"FL-CHALK-DWOODS-PRECISIONGRIP-6-RECYCLABLE","brand":"Friction Labs","variant":null,"category":"Chalk","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true});
709      }
710    });
711
712    window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8877912883398,"requestId":"b21582d0-94fa-40f9-8963-e8c2ab12cdff-1790951907","shopifyEmitted":true});
713
714    var eventsListenerScript = document.createElement('script');
715    eventsListenerScript.async = true;
716    eventsListenerScript.src = "//frictionlabs.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
717    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
718})();</script>
718
719  
719<script>
720  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
721    window.ga = function ga() {
722      (window.ga.q = window.ga.q || []).push(arguments);
723      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
724        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
725      }
726      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.");
727    };
728    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
729      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
730    }
731  }
732</script>
vendor: 1 bytes, line 732
732
733<script
734  defer
735  src="https://frictionlabs.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
736  data-application="storefront-renderer"
737  data-shop-id="6663291"
738  data-render-region="gcp-us-central1"
739  data-page-type="product"
740  data-theme-instance-id="138608705734"
741  data-theme-name="Mode"
742  data-theme-version="4.1.2"
743  data-monorail-region="shop_domain"
744  data-resource-timing-sampling-rate="10"
745  data-shs="true"
746  data-shs-beacon="true"
747  data-shs-export-with-fetch="true"
748  data-shs-logs-sample-rate="1"
749  data-shs-beacon-endpoint="https://frictionlabs.com/api/collect"
750></script>
750
751<meta name="shopify-y" content="6b1c4f67-1c40-4a31-9e14-8c9bb6d138c7" data-expiration="1822509507000"><meta name="shopify-s" content="0f7c1004-f09d-46f8-9d17-9c5c6fb78b78" data-expiration="1790953707000"><meta name="new-cookie-storage-activated" content="t">
752</head>
753
754<body class="template-product
755 image-load-anim-enabled" data-cc-animate-timeout="0">
755<script>
756      if ('IntersectionObserver' in window) {
757        document.body.classList.add("cc-animate-enabled");
758      }
759    </script>
759<a class="skip-link visually-hidden" href="#content">Skip to content</a><!-- BEGIN sections: header-group -->
760<div id="shopify-section-sections--17435907358918__announcement-bar" class="shopify-section shopify-section-group-header-group section-announcement-bar">
761<div class="wide-container" data-cc-animate>
762    <div id="section-id-sections--17435907358918__announcement-bar" class="announcement-bar
763        card
764        card--no-mb announcement-bar--with-announcement" data-section-type="announcement-bar">
765      <style data-shopify>
766        #section-id-sections--17435907358918__announcement-bar {
767          --announcement-background: #141414;
768          --announcement-text: #ffffff;
769          --link-underline: rgba(255, 255, 255, 0.6);
770          --announcement-font-size: 15px;
771        }
772      </style>
773
774      <div class="announcement-bar__left desktop-only">
775        
776      </div>
777
778      <div class="announcement-bar__middle"><div class="announcement-bar__announcements"><div class="announcement"
779                data-bg="#141414"
780                data-text="#ffffff"
781                data-underline="rgba(255, 255, 255, 0.6)" >
782                <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>
783              </div></div></div>
784
785      <div class="announcement-bar__right desktop-only">
786        
787        
788          <div class="header-disclosures js-only">
789            <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="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" /></form>
790          </div>
791        
792      </div>
793    </div>
794  </div>
795</div><div id="shopify-section-sections--17435907358918__header" class="shopify-section shopify-section-group-header-group section-header"><style data-shopify>
796  .logo img {
797    width: 180px;
798  }
799  .logo-area__middle--logo-image {
800    max-width: 180px;
801  }
802  @media (max-width: 767.98px) {
803    .logo img {
804      width: 120px;
805    }
806    .logo-area__middle--logo-image {
807      max-width: 120px;
808    }
809  }.section-header {
810    position: -webkit-sticky;
811    position: sticky;
812    top: var(--magic-margin);
813  }</style>
814<div data-section-type="header" class="wide-container" data-cc-animate>
815  <div id="pageheader" class="pageheader pageheader--layout-inline-menu-center pageheader--layout-inline-permitted pageheader--sticky card card--header">
816    <div class="logo-area">
817      <div class="logo-area__left">
818        <div class="logo-area__left__inner">
819          <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>
820
821          
822            <a class="show-search-link mobile-only" href="/search">
823              <span class="show-search-link__text visually-hidden">Search</span>
824              <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>
825            </a>
826          
827
828          <div class="navigation navigation--desktop" role="navigation" aria-label="Primary navigation">
829            <div class="navigation__tier-1-container">
830              <ul class="navigation__tier-1">
831<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
832      <a href="/pages/all-products" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-1">Products</a>
833
834      
835        <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>
836
837        <div id="NavigationTier2-1" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
838              
839                
840<li class="navigation__item">
841                    <a href="/pages/products-loose-chalk" class="navigation__link" >Loose Chalk</a>
842                    
843
844                    
845                  </li>
846                
847<li class="navigation__item">
848                    <a href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" class="navigation__link" >NEW DWoods Precision Grip™</a>
849                    
850
851                    
852                  </li>
853                
854<li class="navigation__item">
855                    <a href="/pages/products-liquid-chalk" class="navigation__link" >Liquid Chalk</a>
856                    
857
858                    
859                  </li>
860                
861<li class="navigation__item">
862                    <a href="/pages/products-chalk-spheres" class="navigation__link" >Chalk Spheres</a>
863                    
864
865                    
866                  </li>
867                
868<li class="navigation__item">
869                    <a href="/pages/products-chalk-discs" class="navigation__link" >Chalk Discs</a>
870                    
871
872                    
873                  </li>
874                
875<li class="navigation__item">
876                    <a href="/pages/products-hand-care" class="navigation__link" >Hand Care</a>
877                    
878
879                    
880                  </li>
881                
882<li class="navigation__item">
883                    <a href="/pages/products-accessories" class="navigation__link" >Accessories</a>
884                    
885
886                    
887                  </li>
888                
889<li class="navigation__item">
890                    <a href="/pages/products-apparel" class="navigation__link" >Apparel</a>
891                    
892
893                    
894                  </li>
895                
896              
897</ul></div>
898      
899    </li>
900  
901<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
902      <a href="/pages/sports-all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-2">Sports</a>
903
904      
905        <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>
906
907        <div id="NavigationTier2-2" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
908              
909                
910<li class="navigation__item">
911                    <a href="/pages/sports-climbing" class="navigation__link" >Climbing</a>
912                    
913
914                    
915                  </li>
916                
917<li class="navigation__item">
918                    <a href="/pages/sports-weightlifting" class="navigation__link" >Weightlifting</a>
919                    
920
921                    
922                  </li>
923                
924<li class="navigation__item">
925                    <a href="/pages/sports-hiit-wod" class="navigation__link" >HIIT/WOD</a>
926                    
927
928                    
929                  </li>
930                
931<li class="navigation__item">
932                    <a href="/pages/sports-gymnastics" class="navigation__link" >Gymnastics</a>
933                    
934
935                    
936                  </li>
937                
938<li class="navigation__item">
939                    <a href="/pages/sports-track-field" class="navigation__link" >Track &amp; Field</a>
940                    
941
942                    
943                  </li>
944                
945<li class="navigation__item">
946                    <a href="/pages/sports-other" class="navigation__link" >Other Sports</a>
947                    
948
949                    
950                  </li>
951                
952              
953</ul></div>
954      
955    </li>
956  
957<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
958      <a href="/pages/shop-all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-3">Shop</a>
959
960      
961        <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>
962
963        <div id="NavigationTier2-3" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
964              
965                
966
967<li class="navigation__item">
968                    <a href="/products/friction-labs-loose-chalk-in-new-recyclable-packaging" class="navigation__link" >Loose Chalk</a>
969                    
970
971                    
972                  </li>
973                
974<li class="navigation__item">
975                    <a href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" class="navigation__link" >NEW DWoods Precision Grip™</a>
976                    
977
978                    
979                  </li>
980                
981<li class="navigation__item">
982                    <a href="/products/secret-stuff-liquid-chalk" class="navigation__link" >Liquid Chalk</a>
983                    
984
985                    
986                  </li>
987                
988<li class="navigation__item">
989                    <a href="/products/magic-reusable-chalk-ball" class="navigation__link" >Chalk Spheres</a>
990                    
991
992                    
993                  </li>
994                
995<li class="navigation__item">
996                    <a href="/products/the-chalk-disc" class="navigation__link" >Chalk Discs</a>
997                    
998
999                    
1000                  </li>
1001                
1002<li class="navigation__item">
1003                    <a href="/pages/products-hand-care" class="navigation__link" >Hand Care</a>
1004                    
1005
1006                    
1007                  </li>
1008                
1009<li class="navigation__item">
1010                    <a href="/pages/products-accessories" class="navigation__link" >Accessories</a>
1011                    
1012
1013                    
1014                  </li>
1015                
1016<li class="navigation__item">
1017                    <a href="/pages/products-apparel" class="navigation__link" >Apparel</a>
1018                    
1019
1020                    
1021                  </li>
1022                
1023<li class="navigation__item">
1024                    <a href="/products/gift-card" class="navigation__link" >Gift Cards</a>
1025                    
1026
1027                    
1028                  </li>
1029                
1030              
1031</ul></div>
1032      
1033    </li>
1034  
1035<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1036      <a href="/pages/explore" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-4">Explore</a>
1037
1038      
1039        <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>
1040
1041        <div id="NavigationTier2-4" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1042              
1043                
1044<li class="navigation__item">
1045                    <a href="/pages/about" class="navigation__link" >About</a>
1046                    
1047
1048                    
1049                  </li>
1050                
1051<li class="navigation__item">
1052                    <a href="/pages/athlete-team" class="navigation__link" >Athlete Team</a>
1053                    
1054
1055                    
1056                  </li>
1057                
1058<li class="navigation__item">
1059                    <a href="/pages/pro-program" class="navigation__link" >Pro Program</a>
1060                    
1061
1062                    
1063                  </li>
1064                
1065<li class="navigation__item">
1066                    <a href="/pages/cause-good" class="navigation__link" >Cause Good</a>
1067                    
1068
1069                    
1070                  </li>
1071                
1072<li class="navigation__item">
1073                    <a href="/pages/videos" class="navigation__link" >Videos</a>
1074                    
1075
1076                    
1077                  </li>
1078                
1079<li class="navigation__item">
1080                    <a href="/pages/press" class="navigation__link" >Press</a>
1081                    
1082
1083                    
1084                  </li>
1085                
1086<li class="navigation__item">
1087                    <a href="/pages/testimonials" class="navigation__link" >Testimonials</a>
1088                    
1089
1090                    
1091                  </li>
1092                
1093<li class="navigation__item">
1094                    <a href="/pages/store-locator" class="navigation__link" >Store Locator</a>
1095                    
1096
1097                    
1098                  </li>
1099                
1100<li class="navigation__item">
1101                    <a href="/pages/faq" class="navigation__link" >FAQ</a>
1102                    
1103
1104                    
1105                  </li>
1106                
1107              
1108</ul></div>
1109      
1110    </li>
1111  
1112<li class="navigation__item">
1113      <a href="/blogs/climb-your-impossible" class="navigation__link" >Blog</a>
1114
1115      
1116    </li>
1117  
1118<li class="navigation__item">
1119      <a href="/pages/wholesale-contact" class="navigation__link" >Wholesale/Retail</a>
1120
1121      
1122    </li>
1123  
1124<li class="navigation__item">
1125      <a href="/pages/contact" class="navigation__link" >Contact</a>
1126
1127      
1128    </li>
1129  
1130</ul>
1131
1132            </div>
1133          </div>
1134        </div>
1135      </div>
1136
1137      <div class="logo-area__middle logo-area__middle--logo-image">
1138        <div class="logo-area__middle__inner">
1139          <div class="logo" itemscope itemtype="http://schema.org/Organization">
1140            <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>
1141        </div>
1142      </div>
1143
1144      <div class="logo-area__right">
1145        <div class="logo-area__right__inner">
1146          <a href="https://shop.frictionlabs.co.uk/collections" class="header-account-link">
1147            <span class="header-account-link__icon">
1148  <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.276H38.345C17.167,88.276,0,105.443,0,126.621V385.38
1151    c0,21.177,17.167,38.345,38.345,38.345h435.31c21.177,0,38.345-17.167,38.345-38.345V126.621
1152    C512,105.443,494.833,88.276,473.655,88.276z"/>
1153  <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
1154    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
1155    c3.022,18.159,18.797,32.007,37.814,32.007h9.977l163.54-107.147v107.147h88.276V316.577l163.54,107.147h9.977
1156    c19.017,0,34.792-13.847,37.814-32.007l-139.778-91.58H512v-88.276H371.691L511.469,120.282z"/>
1157  <g>
1158    <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 
1159      229.517,423.724 282.483,423.724 282.483,282.483 512,282.483 512,229.517 282.483,229.517 	"/>
1160    <path style="fill:#FF4B55;" d="M24.793,421.252l186.583-121.114h-32.428L9.224,410.31
1161      C13.377,415.157,18.714,418.955,24.793,421.252z"/>
1162    <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"
1163      />
1164    <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"/>
1165    <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"
1166      />
1167  </g>
1168  </svg></span>
1169          </a>
1170          <a href="https://shop.frictionlabs.eu/collections" class="header-account-link">
1171            <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" 
1172  viewBox="0 0 512 512" xml:space="preserve">
1173<path style="fill:#41479B;" d="M473.655,88.275H38.345C17.167,88.275,0,105.442,0,126.62V385.38
1174 c0,21.177,17.167,38.345,38.345,38.345h435.31c21.177,0,38.345-17.167,38.345-38.345V126.62
1175 C512,105.442,494.833,88.275,473.655,88.275z"/>
1176<g>
1177 <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
1178   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
1179   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"/>
1180 <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
1181   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
1182   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"/>
1183 <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
1184   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
1185   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"/>
1186 <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
1187   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
1188   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"/>
1189 <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
1190   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
1191   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"/>
1192 <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
1193   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
1194   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"/>
1195 <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
1196   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
1197   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"/>
1198 <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
1199   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
1200   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"/>
1201 <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
1202   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
1203   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"/>
1204 <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
1205   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
1206   l9-6.646c1.165-0.861,0.565-2.709-0.884-2.72l-11.187-0.087l-3.54-10.
1206613C162.303,293.677,160.36,293.677,159.902,295.05z"/>
1207 <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
1208   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
1209   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"/>
1210 <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
1211   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
1212   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"/>
1213</g>
1214</svg></span>
1215          </a>
1216          
1217            
1218              <a class="header-account-link" href="https://shop.frictionlabs.com/customer_authentication/redirect?locale=en&region_country=US" aria-label="Account">
1219                <span class="header-account-link__text desktop-only visually-hidden">Account</span>
1220                <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>
1221              </a>
1222            
1223          
1224          
1225            <a class="show-search-link" href="/search">
1226              <span class="show-search-link__text visually-hidden">Search</span>
1227              <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>
1228            </a>
1229          
1230          <a class="cart-link" href="/cart">
1231            <span class="cart-link__label visually-hidden">Cart</span>
1232            <span class="cart-link__icon"><svg width="24px" height="24px" viewBox="0 0 24 24" aria-hidden="true">
1233  <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
1234    <polygon stroke="currentColor" points="2 9.25 22 9.25 18 21.25 6 21.25"></polygon>
1235    <line x1="12" y1="9" x2="12" y2="3" stroke="currentColor" stroke-linecap="square"></line>
1236  </g>
1237</svg></span>
1238          </a>
1239        </div>
1240      </div>
1241    </div>
1242  </div><template class="mobile-navigation-drawer-template">
1243    <div id="MobileNavigationDrawer" class="mobile-navigation-drawer" data-mobile-expand-with-entire-link="true">
1244      <div class="navigation navigation--mobile" role="navigation" aria-label="Primary navigation">
1245        <div class="navigation__tier-1-container">
1246          <div class="navigation__mobile-header">
1247            <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>
1248            <span class="mobile-nav-title"></span>
1249            <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>
1250          </div>
1251          <ul class="navigation__tier-1">
1252<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1253      <a href="/pages/all-products" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-1-mob">Products</a>
1254
1255      
1256        <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>
1257
1258        <div id="NavigationTier2-1-mob" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1259              
1260                
1261<li class="navigation__item">
1262                    <a href="/pages/products-loose-chalk" class="navigation__link" >Loose Chalk</a>
1263                    
1264
1265                    
1266                  </li>
1267                
1268<li class="navigation__item">
1269                    <a href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" class="navigation__link" >NEW DWoods Precision Grip™</a>
1270                    
1271
1272                    
1273                  </li>
1274                
1275<li class="navigation__item">
1276                    <a href="/pages/products-liquid-chalk" class="navigation__link" >Liquid Chalk</a>
1277                    
1278
1279                    
1280                  </li>
1281                
1282<li class="navigation__item">
1283                    <a href="/pages/products-chalk-spheres" class="navigation__link" >Chalk Spheres</a>
1284                    
1285
1286                    
1287                  </li>
1288                
1289<li class="navigation__item">
1290                    <a href="/pages/products-chalk-discs" class="navigation__link" >Chalk Discs</a>
1291                    
1292
1293                    
1294                  </li>
1295                
1296<li class="navigation__item">
1297                    <a href="/pages/products-hand-care" class="navigation__link" >Hand Care</a>
1298                    
1299
1300                    
1301                  </li>
1302                
1303<li class="navigation__item">
1304                    <a href="/pages/products-accessories" class="navigation__link" >Accessories</a>
1305                    
1306
1307                    
1308                  </li>
1309                
1310<li class="navigation__item">
1311                    <a href="/pages/products-apparel" class="navigation__link" >Apparel</a>
1312                    
1313
1314                    
1315                  </li>
1316                
1317              
1318</ul></div>
1319      
1320    </li>
1321  
1322<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1323      <a href="/pages/sports-all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-2-mob">Sports</a>
1324
1325      
1326        <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>
1327
1328        <div id="NavigationTier2-2-mob" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1329              
1330                
1331<li class="navigation__item">
1332                    <a href="/pages/sports-climbing" class="navigation__link" >Climbing</a>
1333                    
1334
1335                    
1336                  </li>
1337                
1338<li class="navigation__item">
1339                    <a href="/pages/sports-weightlifting" class="navigation__link" >Weightlifting</a>
1340                    
1341
1342                    
1343                  </li>
1344                
1345<li class="navigation__item">
1346                    <a href="/pages/sports-hiit-wod" class="navigation__link" >HIIT/WOD</a>
1347                    
1348
1349                    
1350                  </li>
1351                
1352<li class="navigation__item">
1353                    <a href="/pages/sports-gymnastics" class="navigation__link" >Gymnastics</a>
1354                    
1355
1356                    
1357                  </li>
1358                
1359<li class="navigation__item">
1360                    <a href="/pages/sports-track-field" class="navigation__link" >Track &amp; Field</a>
1361                    
1362
1363                    
1364                  </li>
1365                
1366<li class="navigation__item">
1367                    <a href="/pages/sports-other" class="navigation__link" >Other Sports</a>
1368                    
1369
1370                    
1371                  </li>
1372                
1373              
1374</ul></div>
1375      
1376    </li>
1377  
1378<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1379      <a href="/pages/shop-all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-3-mob">Shop</a>
1380
1381      
1382        <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>
1383
1384        <div id="NavigationTier2-3-mob" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1385              
1386                
1387
1388<li class="navigation__item">
1389                    <a href="/products/friction-labs-loose-chalk-in-new-recyclable-packaging" class="navigation__link" >Loose Chalk</a>
1390                    
1391
1392                    
1393                  </li>
1394                
1395<li class="navigation__item">
1396                    <a href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz" class="navigation__link" >NEW DWoods Precision Grip™</a>
1397                    
1398
1399                    
1400                  </li>
1401                
1402<li class="navigation__item">
1403                    <a href="/products/secret-stuff-liquid-chalk" class="navigation__link" >Liquid Chalk</a>
1404                    
1405
1406                    
1407                  </li>
1408                
1409<li class="navigation__item">
1410                    <a href="/products/magic-reusable-chalk-ball" class="navigation__link" >Chalk Spheres</a>
1411                    
1412
1413                    
1414                  </li>
1415                
1416<li class="navigation__item">
1417                    <a href="/products/the-chalk-disc" class="navigation__link" >Chalk Discs</a>
1418                    
1419
1420                    
1421                  </li>
1422                
1423<li class="navigation__item">
1424                    <a href="/pages/products-hand-care" class="navigation__link" >Hand Care</a>
1425                    
1426
1427                    
1428                  </li>
1429                
1430<li class="navigation__item">
1431                    <a href="/pages/products-accessories" class="navigation__link" >Accessories</a>
1432                    
1433
1434                    
1435                  </li>
1436                
1437<li class="navigation__item">
1438                    <a href="/pages/products-apparel" class="navigation__link" >Apparel</a>
1439                    
1440
1441                    
1442                  </li>
1443                
1444<li class="navigation__item">
1445                    <a href="/products/gift-card" class="navigation__link" >Gift Cards</a>
1446                    
1447
1448                    
1449                  </li>
1450                
1451              
1452</ul></div>
1453      
1454    </li>
1455  
1456<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu">
1457      <a href="/pages/explore" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-4-mob">Explore</a>
1458
1459      
1460        <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>
1461
1462        <div id="NavigationTier2-4-mob" class="navigation__tier-2-container navigation__child-tier"><ul class="navigation__tier-2">
1463              
1464                
1465<li class="navigation__item">
1466                    <a href="/pages/about" class="navigation__link" >About</a>
1467                    
1468
1469                    
1470                  </li>
1471                
1472<li class="navigation__item">
1473                    <a href="/pages/athlete-team" class="navigation__link" >Athlete Team</a>
1474                    
1475
1476                    
1477                  </li>
1478                
1479<li class="navigation__item">
1480                    <a href="/pages/pro-program" class="navigation__link" >Pro Program</a>
1481                    
1482
1483                    
1484                  </li>
1485                
1486<li class="navigation__item">
1487                    <a href="/pages/cause-good" class="navigation__link" >Cause Good</a>
1488                    
1489
1490                    
1491                  </li>
1492                
1493<li class="navigation__item">
1494                    <a href="/pages/videos" class="navigation__link" >Videos</a>
1495                    
1496
1497                    
1498                  </li>
1499                
1500<li class="navigation__item">
1501                    <a href="/pages/press" class="navigation__link" >Press</a>
1502                    
1503
1504                    
1505                  </li>
1506                
1507<li class="navigation__item">
1508                    <a href="/pages/testimonials" class="navigation__link" >Testimonials</a>
1509                    
1510
1511                    
1512                  </li>
1513                
1514<li class="navigation__item">
1515                    <a href="/pages/store-locator" class="navigation__link" >Store Locator</a>
1516                    
1517
1518                    
1519                  </li>
1520                
1521<li class="navigation__item">
1522                    <a href="/pages/faq" class="navigation__link" >FAQ</a>
1523                    
1524
1525                    
1526                  </li>
1527                
1528              
1529</ul></div>
1530      
1531    </li>
1532  
1533<li class="navigation__item">
1534      <a href="/blogs/climb-your-impossible" class="navigation__link" >Blog</a>
1535
1536      
1537    </li>
1538  
1539<li class="navigation__item">
1540      <a href="/pages/wholesale-contact" class="navigation__link" >Wholesale/Retail</a>
1541
1542      
1543    </li>
1544  
1545<li class="navigation__item">
1546      <a href="/pages/contact" class="navigation__link" >Contact</a>
1547
1548      
1549    </li>
1550  
1551</ul>
1552
1553          
1554        </div>
1555      </div>
1556    </div>
1557  </template>
1557<script type="text/template" class="header-search-template">
1558      <div class="header-search-content wide-container">
1559        <div data-section-id="sections--17435907358918__header-Search" data-section-type="search-template" data-filter-section-id="" data-alter-location="false" data-search-while-typing="true" data-ajax-filtering="true" data-components="modal,price-range">
1560          <h2 class="visually-hidden">Search</h2>
1561
1562          <div class="main-search fully-spaced-row--medium" data-ajax-scroll-to>
1563            <span class="main-search__btn-offset" aria-hidden="true">Close</span>
1564            <div class="main-search__container">
1565              <form class="main-search__form" action="/search" method="get" autocomplete="off">
1566                <input type="hidden" name="type" value="product,article,page" />
1567                <input type="hidden" name="options[prefix]" value="last" />
1568                <div class="main-search__input-container">
1569                  <input
1570                    class="main-search__input"
1571                    type="search"
1572                    name="q"
1573                    autocomplete="off"
1574                    placeholder="Search our store"
1575                    aria-label="Search"
1576                    value="" />
1577                </div>
1578                <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>
1579                <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>
1580              </form>
1581            </div>
1582            <button class="btn btn--plain-text main-search__close">Close</button>
1583          </div>
1584
1585          <div class="container page-header page-header--triplet page-header--empty-right" data-ajax-scroll-to>
1586            <div class="page-header__left" data-ajax-container="filter-button">
1587            </div>
1588            <div class="page-header__middle" data-ajax-container="result-count">
1589            </div>
1590            <div class="page-header__right"></div>
1591          </div>
1592
1593          <div class="filter-container">
1594            <div class="filter-modal cc-popup cc-popup--left" aria-hidden="true" data-freeze-scroll="true">
1595              <div class="cc-popup-background"></div>
1596              <div class="cc-popup-modal" role="dialog" aria-modal="true" aria-labelledby="FilterHeading">
1597                <div class="cc-popup-container">
1598                  <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>
1599                  <div class="cc-popup-content" data-ajax-container="filters">>
1600                    <form id="CollectionFilterForm" class="hidden">
1601                      <input type="hidden" name="q" value="" data-terms>
1602                      <input type="hidden" name="type" value="product,article,page" />
1603                      <input type="hidden" name="options[prefix]" value="last" />
1604                    </form>
1605                  </div>
1606                </div>
1607              </div>
1608            </div>
1609            <div class="filters-adjacent collection-listing" data-ajax-container="products">
1610          </div>
1611          <div class="pagination-row" data-ajax-container="pagination"></div>
1612        </div>
1613        <div class="before-search-content" data-ajax-container="before-search-content"></div>
1614      </div>
1615    </script>
1615</div>
1616
1617<script id="InlineNavigationCheckScript">
1618  theme.inlineNavigationCheck = function() {
1619    var pageHeader = document.querySelector('.pageheader'),
1620        inlineNavContainer = pageHeader.querySelector('.logo-area__left'),
1621        inlineNav = inlineNavContainer.querySelector('.navigation');
1622
1623    if (inlineNav && getComputedStyle(inlineNav).display != 'none') {
1624      var inlineMenuCentered = document.querySelector('.pageheader--layout-inline-menu-center'),
1625          logoContainer = pageHeader.querySelector('.logo-area__middle__inner'),
1626          availableNavWidth = inlineNavContainer.offsetWidth;
1627      if(inlineMenuCentered) {
1628        var rightWidth = pageHeader.querySelector('.logo-area__right__inner').clientWidth,
1629            middleWidth = logoContainer.clientWidth,
1630            logoArea = pageHeader.querySelector('.logo-area'),
1631            computedLogoAreaStyle = getComputedStyle(logoArea),
1632            logoAreaInnerWidth = logoArea.clientWidth - Math.ceil(parseFloat(computedLogoAreaStyle.paddingLeft)) - Math.ceil(parseFloat(computedLogoAreaStyle.paddingRight));
1633        availableNavWidth = logoAreaInnerWidth - Math.max(rightWidth, middleWidth) * 2 - 40;
1634      }
1635      theme.enqueueStyleUpdate(() => {
1636        pageHeader.classList.toggle('pageheader--layout-inline-permitted', availableNavWidth >= inlineNav.clientWidth);
1637      });
1638    }
1639  }
1640  setTimeout(theme.inlineNavigationCheck, 0);
1641</script>
1641
1642</div>
1643<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->
1644<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">
1645  <div class="cart-drawer-modal cc-popup cc-popup--right" aria-hidden="true" data-freeze-scroll="true">
1646    <div class="cc-popup-background"></div>
1647    <div class="cc-popup-modal" role="dialog" aria-modal="true" aria-labelledby="CartDrawerModal-Title">
1648      <div class="cc-popup-container">
1649        <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>
1650
1651        <div class="cc-popup-content">
1652
1653          <cart-form data-section-id="sections--17435907424454__cart-drawer" class="cart-drawer" data-ajax-update="true">
1654            <div class="cart-drawer__content">
1655              <div class="cart-drawer__header">
1656                <h2 id="CartDrawerModal-Title" data-merge="header-title">
1657                  Shopping cart
1658                  
1659                </h2>
1660              </div><div class="cart-item-list">
1661                <div class="cart-item-list__body" data-merge-list="cart-items">
1662                  
1663                    <div class="fully-padded-row align-centre" data-merge-list-item="no-cart-item">
1664                      <p>Your cart is currently empty.</p>
1665                    </div>
1666                  
1667                </div>
1668              </div>
1669
1670              <div data-merge="cross-sells" data-merge-cache="blank"></div>
1671            </div>
1672
1673            <div class="cart-drawer__footer hidden" data-merge-attributes="footer-container">
1674              <div data-merge="footer">
1675                
1676              </div>
1677
1678              
1679
1680              <div class="checkout-buttons lightly-spaced-row-above hidden" data-merge-attributes="checkout-buttons">
1681                
1682                  <a href="/checkout" class="button button--large">Check out</a>
1683                
1684
1685                
1686                  <div class="additional-checkout-buttons">
1687                    <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="723ebf4567d9779ac16beb71e4c53a02" 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>
1688                  </div>
1689                
1690              </div>
1691            </div>
1692          </cart-form>
1693
1694        </div>
1695      </div>
1696    </div>
1697  </div>
1698</div>
1699</div>
1700<!-- END sections: overlay-group --><main id="content">
1701    <div class="main-container container">
1702
1703      <section id="shopify-section-template--17882026967238__zp-product-header-content" 
1703class="shopify-section zpa-published-page-holder">
1704</section><div id="shopify-section-template--17882026967238__main" class="shopify-section section-main-product card-margin"><div data-section-type="main-product" data-components="accordion,custom-select,modal">
1705  <div class="product-detail quickbuy-content">
1706    <div class="gallery gallery--layout-carousel-under gallery--size-medium gallery--cards- card-scheme-vars--2 product-column-left has-thumbnails"
1707      
1708      data-cc-animate
1709      data-cc-animate-delay="0.2s"
1710      data-variant-image-grouping="true"
1711      data-variant-image-grouping-option="Color,Colour,Couleur,Farbe"
1712      data-variant-image-grouping-option-index="">
1713      <div class="gallery__inner">
1714        <div class="main-image"><div class="slideshow product-slideshow slideshow--custom-initial" data-slick='{"adaptiveHeight":true,"initialSlide":0}'><div class="slide slide--custom-initial" data-media-id="35080103854278"><a class="show-gallery focus-inset" href="//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202"><div id="FeaturedMedia-template--17882026967238__main-35080103854278-wrapper"
1715    class="product-media-wrapper card-br-oh"
1716    data-media-id="template--17882026967238__main-35080103854278">
1717  
1718      <div class="product-media product-media--image">
1719        <div class="inline-image "
1720  
1721  style="--ar-padding: 100.0%;
1722         --content-fit: contain;
1723         --full-url: url(//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=600);
1724max-width: 600px;">
1725  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=600" alt="DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)" data-srcset="//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=600 600w" width="600" height="600" loading="eager" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
1726</div>
1727
1728      </div>
1729    
1730</div>
1731</a></div><div class="slide" data-media-id="35080103887046"><a class="show-gallery focus-inset" href="//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202"><div id="FeaturedMedia-template--17882026967238__main-35080103887046-wrapper"
1732    class="product-media-wrapper card-br-oh"
1733    data-media-id="template--17882026967238__main-35080103887046">
1734  
1735      <div class="product-media product-media--image">
1736        <div class="inline-image "
1737  
1738  style="--ar-padding: 100.0%;
1739         --content-fit: contain;
1740         --full-url: url(//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=600);
1741max-width: 600px;">
1742  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=600" alt="DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)" data-srcset="//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=600 600w" width="600" height="600" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
1743</div>
1744
1745      </div>
1746    
1747</div>
1748</a></div><div class="slide" data-media-id="35080106213574"><a class="show-gallery focus-inset" href="//frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528"><div id="FeaturedMedia-template--17882026967238__main-35080106213574-wrapper"
1749    class="product-media-wrapper card-br-oh"
1750    data-media-id="template--17882026967238__main-35080106213574">
1751  
1752      <div class="product-media product-media--image">
1753        <div class="inline-image "
1754  
1755  style="--ar-padding: 66.38013371537727%;
1756         --content-fit: contain;
1757         --full-url: url(//frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&width=2094);
1758max-width: 2094px;">
1759  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=2094" alt="Three men are seen bouldering in front of a large rock face. Several white FrictionLabs climbing chalk bags are lined up in the foreground on the ground." data-srcset="//frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=720 720w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=900 900w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1080 1080w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1296 1296w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1512 1512w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1728 1728w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1950 1950w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=2094 2094w" width="2094" height="1390" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
1760</div>
1761
1762      </div>
1763    
1764</div>
1765</a></div><div class="slide" data-media-id="35080106574022"><a class="show-gallery focus-inset" href="//frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593"><div id="FeaturedMedia-template--17882026967238__main-35080106574022-wrapper"
1766    class="product-media-wrapper card-br-oh"
1767    data-media-id="template--17882026967238__main-35080106574022">
1768  
1769      <div class="product-media product-media--image">
1770        <div class="inline-image "
1771  
1772  style="--ar-padding: 67.88177339901478%;
1773         --content-fit: contain;
1774         --full-url: url(//frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=2030);
1775max-width: 2030px;">
1776  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=2030" alt="Pro Climber Daniel Woods in a black long-sleeve shirt sits outdoors on a rocky mountain slope at sunset, holding up a black bag of DWoods Precision Grip Chunky Loose Chalk. The background shows rugged mountains and a soft sky." data-srcset="//frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=720 720w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=900 900w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1080 1080w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1296 1296w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1512 1512w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1728 1728w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1950 1950w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=2030 2030w" width="2030" height="1378" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
1777</div>
1778
1779      </div>
1780    
1781</div>
1782</a></div></div>
1783
1784          <div class="slideshow-controls">
1785            <div class="slideshow-controls__arrows"></div>
1786          </div>
1787
1788          <div class="product-label-list">
1788<script id="variant-label-8877912883398-45839261499590" type="text/template"></script>
1788<div class="product-label-container"></div></div>
1789
1790        </div>
1791
1792        
1793          <cc-carousel class="cc-carousel" allow-mouse-drag set-item-classes rebuild-on-resize>
1794            <div class="cc-carousel__scroll-outer">
1795              <div class="thumbnails cc-carousel__scroll-area">
1796                
1797                  <a class="thumbnail thumbnail--media-image" href="//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202" data-media-id="35080103854278">
1798                    <div class="thumbnail__media card-br-oh-less">
1799                      <div class="inline-image "
1800  
1801  style="--ar-padding: 100.0%;
1802         --content-fit: contain;
1803         --full-url: url(//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=600);
1804max-width: 600px;">
1805  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=600" alt="" data-srcset="//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&amp;width=600 600w" width="600" height="600" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
1806</div>
1807
1808                    </div></a>
1809                
1810                  <a class="thumbnail thumbnail--media-image" href="//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202" data-media-id="35080103887046">
1811                    <div class="thumbnail__media card-br-oh-less">
1812                      <div class="inline-image "
1813  
1814  style="--ar-padding: 100.0%;
1815         --content-fit: contain;
1816         --full-url: url(//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=600);
1817max-width: 600px;">
1818  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=600" alt="" data-srcset="//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&amp;width=600 600w" width="600" height="600" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
1819</div>
1820
1821                    </div></a>
1822                
1823                  <a class="thumbnail thumbnail--media-image" href="//frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528" data-media-id="35080106213574">
1824                    <div class="thumbnail__media card-br-oh-less">
1825                      <div class="inline-image "
1826  
1827  style="--ar-padding: 66.38013371537727%;
1828         --content-fit: contain;
1829         --full-url: url(//frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&width=2094);
1830max-width: 2094px;">
1831  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=2094" alt="Three men are seen bouldering in front of a large rock face. Several white FrictionLabs climbing chalk bags are lined up in the foreground on the ground." data-srcset="//frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;
1831width=180 180w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=720 720w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=900 900w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1080 1080w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1296 1296w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1512 1512w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1728 1728w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=1950 1950w, //frictionlabs.com/cdn/shop/files/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528&amp;width=2094 2094w" width="2094" height="1390" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
1832</div>
1833
1834                    </div></a>
1835                
1836                  <a class="thumbnail thumbnail--media-image" href="//frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593" data-media-id="35080106574022">
1837                    <div class="thumbnail__media card-br-oh-less">
1838                      <div class="inline-image "
1839  
1840  style="--ar-padding: 67.88177339901478%;
1841         --content-fit: contain;
1842         --full-url: url(//frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=2030);
1843max-width: 2030px;">
1844  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=2030" alt="Pro Climber Daniel Woods in a black long-sleeve shirt sits outdoors on a rocky mountain slope at sunset, holding up a black bag of DWoods Precision Grip Chunky Loose Chalk. The background shows rugged mountains and a soft sky." data-srcset="//frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=720 720w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=900 900w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1080 1080w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1296 1296w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1512 1512w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1728 1728w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=1950 1950w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&amp;width=2030 2030w" width="2030" height="1378" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
1845</div>
1846
1847                    </div></a>
1848                
1849              </div>
1850            </div>
1851          </cc-carousel>
1852        
1853      </div>
1854    </div>
1855
1856    <div class="detail product-column-right" data-cc-animate data-cc-animate-delay="0.2s">
1857      <div class="product-form off-card-container" data-ajax-add-to-cart="true" data-product-id="8877912883398" data-enable-history-state="true">
1858          
1859              <div class="title-row" >
1860                <h1 class="title">DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)</h1>
1861              </div>
1862
1863            
1864        
1865          
1866              <div class="price-container" >
1867                <div class="variant-visibility-area">
1867<script type="text/template" data-variant-id="45839261499590"><div class="price-area">
1868                          <div class="price h4-style ">
1869                            <span class="current-price theme-money">$29.99</span>
1870                            
1871                          </div>
1872
1873                          
1874                        </div></script>
1874<div class="price-area">
1875                          <div class="price h4-style ">
1876                            <span class="current-price theme-money">$29.99</span>
1877                            
1878                          </div>
1879
1880                          
1881                        </div>
1881<script type="text/template" data-variant-id=""><div class="price-area"><div class="price h4-style ">
1882                          
1883                          <span class="current-price theme-money">$29.99
1884</span>
1885                          
1886
1887                          
1888                        </div>
1889                      </div></script>
1889
1890
1891                  
1892                </div>
1893
1894                <div class="price-descriptors"><form method="post" action="/cart/add" id="product-form-template--17882026967238__main-8877912883398-installments" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="id" value="45839261499590">
1895                    <shopify-payment-terms variant-id="45839261499590" shopify-meta="{&quot;type&quot;:&quot;product&quot;,&quot;currency_code&quot;:&quot;USD&quot;,&quot;country_code&quot;:&quot;US&quot;,&quot;variants&quot;:[{&quot;id&quot;:45839261499590,&quot;price_per_term&quot;:&quot;$14.99&quot;,&quot;price_per_term_amount&quot;:14.99,&quot;full_price&quot;:&quot;$29.99&quot;,&quot;full_price_amount&quot;:29.99,&quot;eligible&quot;:false,&quot;available&quot;:true,&quot;number_of_payment_terms&quot;:2}],&quot;min_price&quot;:&quot;$35.00&quot;,&quot;min_price_amount&quot;:35.0,&quot;max_price&quot;:&quot;$30,000.00&quot;,&quot;max_price_amount&quot;:30000.0,&quot;financing_plans&quot;:[{&quot;min_price&quot;:&quot;$35.00&quot;,&quot;max_price&quot;:&quot;$49.99&quot;,&quot;terms&quot;:[{&quot;apr&quot;:0,&quot;loan_type&quot;:&quot;split_pay&quot;,&quot;installments_count&quot;:2}],&quot;min_price_amount&quot;:35.0,&quot;max_price_amount&quot;:49.99},{&quot;min_price&quot;:&quot;$50.00&quot;,&quot;max_price&quot;:&quot;$999.99&quot;,&quot;terms&quot;:[{&quot;apr&quot;:0,&quot;loan_type&quot;:&quot;split_pay&quot;,&quot;installments_count&quot;:3},{&quot;apr&quot;:0,&quot;loan_type&quot;:&quot;split_pay&quot;,&quot;installments_count&quot;:4},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:3},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:6},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:12}],&quot;min_price_amount&quot;:50.0,&quot;max_price_amount&quot;:999.99},{&quot;min_price&quot;:&quot;$1,000.00&quot;,&quot;max_price&quot;:&quot;$30,000.00&quot;,&quot;terms&quot;:[{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:3},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:6},{&quot;apr&quot;:15,&quot;loan_type&quot;:&quot;interest&quot;,&quot;installments_count&quot;:12}],&quot;min_price_amount&quot;:1000.0,&quot;max_price_amount&quot;:30000.0}],&quot;installments_buyer_prequalification_enabled&quot;:false,&quot;seller_id&quot;:544616}"></shopify-payment-terms>
1896<input type="hidden" name="product-id" value="8877912883398" /><input type="hidden" name="section-id" value="template--17882026967238__main" /></form>
1897                    <div class="product-inventory-transfer product-inventory-transfer--none"></div>
1898                  
1899                </div></div>
1900
1901            
1902        
1903          
1904              <div class="">
1905                <div id="shopify-block-AL08vTmFYa2pZVDcxV__judge_me_reviews_preview_badge_qAABWL" class="shopify-block shopify-app-block">
1906<div class='jdgm-widget jdgm-preview-badge'
1907    data-id='8877912883398'
1908    data-template='manual-installation'>
1909  <div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='2' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 2 reviews </span> </div>
1910</div>
1911
1912
1913
1914
1915</div>
1916              </div>
1917
1918            
1919        
1920          
1921              <div class="input-row" >
1922                
1923              </div>
1924
1925            
1926        
1927          
1928              <hr class="not-in-quickbuy" >
1929
1930            
1931        
1932          
1933<div class="buy-buttons-row" >
1934                <form method="post" action="/cart/add" id="product-form-template--17882026967238__main-8877912883398" accept-charset="UTF-8" class="form product-purchase-form" enctype="multipart/form-data" data-product-id="8877912883398"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
1935<select name="id" class="original-selector hidden" aria-label="Options">
1936            
1937            
1938            <option value="45839261499590"
1939               selected="selected"
1940              
1941              
1942              data-stock="">Default Title</option>
1943            
1944          </select>
1945<div class="quantity-submit-row input-row has-spb">
1946                      
1947                        <label class="label" for="quantity">Quantity</label>
1948                        <div class="quantity-wrapper">
1949                          <a href="#" data-quantity="down"><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-minus"><title>Minus</title><line x1="5" y1="12" x2="19" y2="12"></line></svg></a>
1950                          <input aria-label="Quantity" type="number" id="quantity" name="quantity" value="1" />
1951                          <a href="#" data-quantity="up"><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-plus"><title>Plus</title><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></a>
1952                        </div>
1953                      
1954
1955                      
1956
1957                      <div class="quantity-submit-row__submit input-row"><button class="button button--large" type="submit" data-add-to-cart-text="Add to Cart">Add to Cart</button>
1958                      </div>
1959
1960                      
1961                        
1961<script class="dynamic-payment-button-template" type="text/template">
1962                          <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{&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}}" fallback="{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:true,&quot;name&quot;:&quot;buy_it_now&quot;,&quot;wallet_params&quot;:{}}" access-token="6bf66b46506992dafba773c8321a2230" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{&quot;id&quot;:45839261499590,&quot;requiresShipping&quot;:true}]" shop-id="6663291" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton">&nbsp;</div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true">&nbsp;</div> </shopify-accelerated-checkout> </div>
1963                        </script>
1963
1964                      
1965
1966                      
1967                        
1968
1969  
1970  
1971    <div class="backorder hidden">
1972      
1973    <p>
1974      <span class="backorder__variant">
1975        DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)
1976        
1977      </span>
1978      is in pre-order and will ship as soon as possible.
1979    </p>
1980  
1981    </div>
1982  
1983
1984
1985                      
1986                    </div>
1987
1988<div
1989  class="store-availability-container-outer"
1990  data-store-availability-container="8877912883398"
1991  data-section-url="/variants/VARIANT_ID/?section_id=store-availability"
1992
1993  
1994    data-has-only-default-variant="true"
1995  
1996
1997  
1998    data-single-variant-id="45839261499590"
1999    data-single-variant-product-title="DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)"
2000    data-single-variant-product-available="true"
2001  >
2002</div>
2003
2004
2005                <input type="hidden" name="product-id" value="8877912883398" /><input type="hidden" name="section-id" value="template--17882026967238__main" /></form>
2006              </div>
2007
2008            
2009        
2010          
2011              <div class="not-in-quickbuy" >
2012                
2013                  <div class="product-description spaced-text-row rte cf"><p>DWoods Precision Grip™ by Friction Labs® is chalk engineered for performance at the highest level.</p>
2014<p>When your hardest projects demand absolute perfection, your grip shouldn’t hold you back. We partnered with climbing legend and Friction Labs Pro Daniel Woods to engineer the ultimate solution. DWoods Precision Grip features a custom magnesium carbonate formulation that delivers elite performance, allowing you to hold the impossible.</p>
2015<p>Learn more about it <a href="https://frictionlabs.com/blogs/climb-your-impossible/how-friction-labs-made-a-new-chalk-blend-dwoods-precision-grip" title="DWoods Precision Grip Blog Post Story" rel="noopener" target="_blank">here</a>.</p>
2016<p>Made in Colorado, USA in fully recyclable packaging.</p>
2017<p>Use the chalk. Recycle the rest. With your help, no part of this packaging should ever end up in a landfill.</p></div>
2018                
2019              </div>
2020
2021            
2022        
2023<div class="lightish-spaced-row-above only-in-quickbuy">
2024          <a class="read-more" href="/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz">
2025            <span class="beside-svg underline">More details</span>
2026            <span class="icon icon--small icon-natcol ltr-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-right"><title>Right</title><polyline points="9 18 15 12 9 6"></polyline></svg></span>
2027          </a>
2028        </div>
2029      </div>
2030
2031      
2031<script type="application/json" data-product-json="8877912883398">{"id":8877912883398,"title":"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)","handle":"dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","description":"\u003cp\u003eDWoods Precision Grip™ by Friction Labs® is chalk engineered for performance at the highest level.\u003c\/p\u003e\n\u003cp\u003eWhen your hardest projects demand absolute perfection, your grip shouldn’t hold you back. We partnered with climbing legend and Friction Labs Pro Daniel Woods to engineer the ultimate solution. DWoods Precision Grip features a custom magnesium carbonate formulation that delivers elite performance, allowing you to hold the impossible.\u003c\/p\u003e\n\u003cp\u003eLearn more about it \u003ca href=\"https:\/\/frictionlabs.com\/blogs\/climb-your-impossible\/how-friction-labs-made-a-new-chalk-blend-dwoods-precision-grip\" title=\"DWoods Precision Grip Blog Post Story\" rel=\"noopener\" target=\"_blank\"\u003ehere\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp\u003eMade in Colorado, USA in fully recyclable packaging.\u003c\/p\u003e\n\u003cp\u003eUse the chalk. Recycle the rest. With your help, no part of this packaging should ever end up in a landfill.\u003c\/p\u003e","published_at":"2026-08-25T15:19:38-06:00","created_at":"2026-05-13T10:58:52-06:00","vendor":"Friction Labs","type":"Chalk","tags":["Public"],"price":2999,"price_min":2999,"price_max":2999,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":45839261499590,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"FL-CHALK-DWOODS-PRECISIONGRIP-6-RECYCLABLE","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)","public_title":null,"options":["Default Title"],"price":2999,"weight":174,"compare_at_price":null,"inventory_quantity":100,"inventory_management":"shopify","inventory_policy":"deny","barcode":"855294006869","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/frictionlabs.com\/cdn\/shop\/files\/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202","\/\/frictionlabs.com\/cdn\/shop\/files\/DSC04978.jpg?v=1787608202","\/\/frictionlabs.com\/cdn\/shop\/files\/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528","\/\/frictionlabs.com\/cdn\/shop\/files\/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593"],"featured_image":"\/\/frictionlabs.com\/cdn\/shop\/files\/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202","options":["Title"],"media":[{"alt":null,"id":35080103854278,"position":1,"preview_image":{"aspect_ratio":1.0,"height":600,"width":600,"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202"},"aspect_ratio":1.0,"height":600,"media_type":"image","src":"\/\/frictionlabs.com\/cdn\/shop\/files\/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202","width":600},{"alt":null,"id":35080103887046,"position":2,"preview_image":{"aspect_ratio":1.0,"height":600,"width":600,"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/DSC04978.jpg?v=1787608202"},"aspect_ratio":1.0,"height":600,"media_type":"image","src":"\/\/frictionlabs.com\/cdn\/shop\/files\/DSC04978.jpg?v=1787608202","width":600},{"alt":"Three men are seen bouldering in front of a large rock face. Several white FrictionLabs climbing chalk bags are lined up in the foreground on the ground.","id":35080106213574,"position":3,"preview_image":{"aspect_ratio":1.506,"height":1390,"width":2094,"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528"},"aspect_ratio":1.506,"height":1390,"media_type":"image","src":"\/\/frictionlabs.com\/cdn\/shop\/files\/Daniel_Woods_Yannick_Flohe_and_Colin_Duffy_trying_out_different_samples_on_No_One_Mourns_The_Wicked_V17.png?v=1787608528","width":2094},{"alt":"Pro Climber Daniel Woods in a black long-sleeve shirt sits outdoors on a rocky mountain slope at sunset, holding up a black bag of DWoods Precision Grip Chunky Loose Chalk. The background shows rugged mountains and a soft sky.","id":35080106574022,"position":4,"preview_image":{"aspect_ratio":1.473,"height":1378,"width":2030,"src":"\/\/frictionlabs.com\/cdn\/shop\/files\/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593"},"aspect_ratio":1.473,"height":1378,"media_type":"image","src":"\/\/frictionlabs.com\/cdn\/shop\/files\/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593","width":2030}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eDWoods Precision Grip™ by Friction Labs® is chalk engineered for performance at the highest level.\u003c\/p\u003e\n\u003cp\u003eWhen your hardest projects demand absolute perfection, your grip shouldn’t hold you back. We partnered with climbing legend and Friction Labs Pro Daniel Woods to engineer the ultimate solution. DWoods Precision Grip features a custom magnesium carbonate formulation that delivers elite performance, allowing you to hold the impossible.\u003c\/p\u003e\n\u003cp\u003eLearn more about it \u003ca href=\"https:\/\/frictionlabs.com\/blogs\/climb-your-impossible\/how-friction-labs-made-a-new-chalk-blend-dwoods-precision-grip\" title=\"DWoods Precision Grip Blog Post Story\" rel=\"noopener\" target=\"_blank\"\u003ehere\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp\u003eMade in Colorado, USA in fully recyclable packaging.\u003c\/p\u003e\n\u003cp\u003eUse the chalk. Recycle the rest. With your help, no part of this packaging should ever end up in a landfill.\u003c\/p\u003e"}</script>
2031
2032    </div>
2033  </div>
2034
2035  
2036</div>
2037
2038<script type="application/ld+json">
2039{
2040  "@context": "http://schema.org/",
2041  "@type": "Product",
2042  "name": "DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)",
2043  "url": "https:\/\/shop.frictionlabs.com\/products\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz","image": [
2044      "https:\/\/frictionlabs.com\/cdn\/shop\/files\/DwoodsPrecisionGripBlackBackground_600x.jpg?v=1787608202"
2045    ],"description": "DWoods Precision Grip™ by Friction Labs® is chalk engineered for performance at the highest level.\nWhen your hardest projects demand absolute perfection, your grip shouldn’t hold you back. We partnered with climbing legend and Friction Labs Pro Daniel Woods to engineer the ultimate solution. DWoods Precision Grip features a custom magnesium carbonate formulation that delivers elite performance, allowing you to hold the impossible.\nLearn more about it here.\nMade in Colorado, USA in fully recyclable packaging.\nUse the chalk. Recycle the rest. With your help, no part of this packaging should ever end up in a landfill.","sku": "FL-CHALK-DWOODS-PRECISIONGRIP-6-RECYCLABLE","brand": {
2046    "@type": "Brand",
2047    "name": "Friction Labs"
2048  },
2049  
2050    "mpn": "855294006869",
2051  
2052  "offers": [{
2053        "@type" : "Offer","sku": "FL-CHALK-DWOODS-PRECISIONGRIP-6-RECYCLABLE","availability" : "http://schema.org/InStock",
2054        "price" : 29.99,
2055        "priceCurrency" : "USD",
2056        "url" : "https:\/\/shop.frictionlabs.com\/products\/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz?variant=45839261499590",
2057        "seller": {
2058          "@type": "Organization",
2059          "name": "Friction Labs"
2060        }
2061      }
2062]
2063}
2064</script>
2064
2065
2066
2067
2068
2069</div><div id="shopify-section-template--17882026967238__17473314335eaf5aa5" class="shopify-section section-apps"><div class="fully-spaced-row--medium"><div id="shopify-block-AZTJCRUFtcVdhNHRGa__judge_me_reviews_review_widget_FX3zyn" class="shopify-block shopify-app-block">
2070
2071
2072<div style='clear:both'></div>
2073<div id='judgeme_product_reviews'
2074    class='jdgm-widget jdgm-review-widget'
2075    data-product-title='DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)'
2076    data-id='8877912883398'
2077    data-product-id='8877912883398'
2078    data-widget="review"
2079    data-shop-reviews="false"
2080    data-shop-reviews-count="0"
2081    data-cart-eligible-template="false"
2082    data-shop-average-rating="4.83"
2083    data-shop-review-count="1128"
2084    data-empty-state="empty_widget"
2085    data-entry-point="review_widget.js"
2086    data-entry-key="review-widget/main.js"
2087    data-block-id="AZTJCRUFtcVdhNHRGa__judge_me_reviews_review_widget_FX3zyn"
2088    data-customer-logged-in="false"
2089    
2090    
2091    style='max-width: 1200px; margin: 0 auto;'>
2092
2093  
2094    
2095      <div class='jdgm-legacy-widget-content' style='display: none;'>
2096        <div class='jdgm-rev-widg' data-updated-at='2026-09-25T15:14:07Z' data-average-rating='5.00' data-number-of-reviews='2' data-number-of-questions='0' data-image-url='https://cdn.shopify.com/s/files/1/0666/3291/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202'> <style class='jdgm-temp-hiding-style'>.jdgm-rev-widg{ display: none }</style> <div class='jdgm-rev-widg__header'> <h2 class='jdgm-rev-widg__title'>Customer Reviews</h2>  <div class='jdgm-rev-widg__summary'> <div class='jdgm-rev-widg__summary-stars' aria-label='Average rating is 5.00 stars' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </div> <div class='jdgm-rev-widg__summary-text'>Based on 2 reviews</div> </div> <a style='display: none' href='#' class='jdgm-write-rev-link' role='button'>Write a review</a> <div class='jdgm-histogram jdgm-temp-hidden'>  <div class='jdgm-histogram__row' data-rating='5' data-frequency='2' data-percentage='100'>  <div class='jdgm-histogram__star' role='button' aria-label="100% (2) reviews with 5 star rating"  tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 100%;'> </div> </div> <div class='jdgm-histogram__percentage'>100%</div> <div class='jdgm-histogram__frequency'>(2)</div> </div>  <div class='jdgm-histogram__row' data-rating='4' data-frequency='0' data-percentage='0'>  <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 4 star rating"  tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div>  <div class='jdgm-histogram__row' data-rating='3' data-frequency='0' data-percentage='0'>  <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 3 star rating"  tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div>  <div class='jdgm-histogram__row' data-rating='2' data-frequency='0' data-percentage='0'>  <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 2 star rating"  tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div>  <div class='jdgm-histogram__row' data-rating='1' data-frequency='0' data-percentage='0'>  <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 1 star rating"  tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div>  <div class='jdgm-histogram__row jdgm-histogram__clear-filter' data-rating=null tabindex='0'></div> </div>     <div class='jdgm-rev-widg__sort-wrapper'></div> </div> <div class='jdgm-rev-widg__body'>  <div class='jdgm-rev-widg__reviews'><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='true' data-review-id='814e7e2a-6fde-4026-8f94-649750058c9f' data-review-language='' data-product-title='DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)' data-product-url='/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'>  <div class='jdgm-rev__icon' > A </div>  <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 
2096star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <time class='jdgm-rev__timestamp jdgm-spinner' datetime='2026-09-25T15:10:18Z' data-content='2026-09-25 15:10:18 UTC'></time>    <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> <span class='jdgm-rev__buyer-badge'></span> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Albert K.</span> <span class='jdgm-rev__location' >  </span>  </span> </div> <div class='jdgm-rev__content'>  <div class='jdgm-rev__custom-form'>  </div> <b class='jdgm-rev__title'>bomber</b> <div class='jdgm-rev__body'><p>love the feel of the new chalk. If you've got the money to burn, give it a shot</p></div> <div class='jdgm-rev__pics'>  </div> <div class='jdgm-rev__vids'>   </div> <div class='jdgm-rev__transparency-badge-wrapper'>  <div class='jdgm-rev__transparency-badge' data-badge-type=review_collected_via_store_invitation></div>  </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'>  </div> </div><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='true' data-review-id='f1192985-e293-4c03-aec9-38cf8cbe1fbf' data-review-language='' data-product-title='DWoods Precision Grip™ Chunky Loose Climbing Chalk (6 oz)' data-product-url='/products/dwoods-precision-grip-chunky-loose-climbing-chalk-6-oz' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'>  <div class='jdgm-rev__icon' > J </div>  <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <time class='jdgm-rev__timestamp jdgm-spinner' datetime='2026-09-07T13:00:33Z' data-content='2026-09-07 13:00:33 UTC'></time>    <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> <span class='jdgm-rev__buyer-badge'></span> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Jeramey L.</span> <span class='jdgm-rev__location' >  </span>  </span> </div> <div class='jdgm-rev__content'>  <div class='jdgm-rev__custom-form'>  </div> <b class='jdgm-rev__title'>I didn&#39;t think it would be this good...</b> <div class='jdgm-rev__body'><p>I ordered this because, well, Daniel woods of course. Thought it would be just as good as the other chalk they make, which is already my favorite stuff. I realized this stuff is different right away. It feels like it isn't affected by my skin oils and sweat nearly as fast as any other chalk I've used. I climbed on slopey problems and when I hit the Matt, still have chalk on my hands. I was amazed. And the texture feels just like it adhering much better to my skin becoming part of it not just a layer over the top. This is for sure my new favorite stuff. </p>
2097
2098<p>And I had a lot of fun discovering the little surprise inside my chalk pot they put in there....</p></div> <div class='jdgm-rev__pics'>  </div> <div class='jdgm-rev__vids'>   </div> <div class='jdgm-rev__transparency-badge-wrapper'>  <div class='jdgm-rev__transparency-badge' data-badge-type=review_collected_via_store_invitation></div>  <div class='jdgm-rev__transparency-badge' data-badge-type=review_earned_for_future_purchase></div>  </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'>  </div> </div></div> <div class='jdgm-paginate' data-per-page='5' data-url='https://api.judge.me/reviews/reviews_for_widget' style="display: none;"></div>  </div> <div class='jdgm-rev-widg__paginate-spinner-wrapper'> <div class='jdgm-spinner'></div> </div> </div>
2099      </div>
2100    
2101    
2102    
2103  
2104
2105  
2106</div>
2107
2108
2109
2110
2111
2112
2113
2114
2115</div>
2116</div>
2117
2118</div><div id="shopify-section-template--17882026967238__scrolling_banner_gLfaXA" class="shopify-section section-scrolling-banner"><div id="section-id-template--17882026967238__scrolling_banner_gLfaXA" class="card card-scheme card-scheme--none" data-section-type="scrolling-banner" data-cc-animate>
2119  <style data-shopify>
2120    #section-id-template--17882026967238__scrolling_banner_gLfaXA {--vert
2120ical-padding: 20px;
2121    }
2122  </style>
2123
2124  <div class="marquee-container">
2125    <div class="marquee marquee--left
2126         heading-font"
2127          style="--duration: 7s; --space: 50px; --text-size: 50px" role="marquee"><span class="marquee-content">
2128<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2129</span><span class="marquee-content" aria-hidden="true">
2130<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2131</span><span class="marquee-content" aria-hidden="true">
2132<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2133</span><span class="marquee-content" aria-hidden="true">
2134<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2135</span><span class="marquee-content" aria-hidden="true">
2136<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2137</span><span class="marquee-content" aria-hidden="true">
2138<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2139</span><span class="marquee-content" aria-hidden="true">
2140<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2141</span><span class="marquee-content" aria-hidden="true">
2142<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2143</span><span class="marquee-content" aria-hidden="true">
2144<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2145</span><span class="marquee-content" aria-hidden="true">
2146<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2147</span><span class="marquee-content" aria-hidden="true">
2148<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2149</span><span class="marquee-content" aria-hidden="true">
2150<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2151</span><span class="marquee-content" aria-hidden="true">
2152<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2153</span><span class="marquee-content" aria-hidden="true">
2154<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2155</span><span class="marquee-content" aria-hidden="true">
2156<span class="marquee-item marquee-text" style="" ><span class="text-highlight text-highlight--stencil">CHALK</span> UP THE WINS.</span>
2157</span></div>
2158  </div>
2159</div>
2160
2161
2162</div><div id="shopify-section-template--17882026967238__custom_footer_FLpdHX" class="shopify-section section-custom-footer"><div class="card" id="section-id-template--17882026967238__custom_footer_FLpdHX" data-section-type="custom-footer"><style data-shopify>
2163      #section-id-template--17882026967238__custom_footer_FLpdHX .footer__item {
2164        min-height: 200px;
2165      }
2166
2167      @media (min-width: 768px) {
2168        #section-id-template--17882026967238__custom_footer_FLpdHX .footer__item {
2169          min-height: 300px;
2170        }
2171        #section-id-template--17882026967238__custom_footer_FLpdHX .footer__item--large {
2172          min-height: 600px;
2173        }
2174      }
2175    </style>
2176<div class="footer-grid" data-grid="3">
2177    <div class="footer-grid__left"><div class="footer__item footer__item--large
2178          card-br-oh
2179          image-overlay
2180          image-overlay--bg-full" 
2181          data-cc-animate><div class="footer__image scale-on-hover__target">
2182            <img src="//frictionlabs.com/cdn/shop/files/chalk300.png?v=1745861425&amp;width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/chalk300.png?v=1745861425&amp;width=352 352w, //frictionlabs.com/cdn/shop/files/chalk300.png?v=1745861425&amp;width=800 800w" width="800" height="1297" loading="lazy" class="scale-on-hover__target">
2183          </div></div>
2184    </div>
2185
2186    <div class="footer-grid__right">
2187      <div class="footer-grid__row"><div class="footer__item
2188              card-br-oh
2189              image-overlay
2190              image-overlay--bg-full" 
2191              data-cc-animate><a class="image-overlay__image-link focus-inset scale-on-hover" href="/pages/sports-weightlifting"><div class="footer__image scale-on-hover__target">
2192                <img src="//frictionlabs.com/cdn/shop/files/Sport_Module_Weightlifting.png?v=1745861471&amp;width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Weightlifting.png?v=1745861471&amp;width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Weightlifting.png?v=1745861471&amp;width=800 800w" width="800" height="642" loading="lazy" class="scale-on-hover__target">
2193              </div><div class="overlay-text overlay--v-bottom overlay--h-left image-overlay__over">
2194              <div class="overlay-text__inner overlay-text__inner__button">
2195                <div class="overlay-text__text"><h2 class="overlay-text__title h3-style">weightlifting</h2></div>
2196              </div>
2197            </div></a></div><div class="footer__item
2198              card-br-oh
2199              image-overlay
2200              image-overlay--bg-full" 
2201              data-cc-animate><a class="image-overlay__image-link focus-inset scale-on-hover" href="/pages/sports-hiit-wod"><div class="footer__image scale-on-hover__target">
2202                <img src="//frictionlabs.com/cdn/shop/files/Sports_HIIT_WOD_Hero.png?v=1745861471&amp;width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sports_HIIT_WOD_Hero.png?v=1745861471&amp;width=352 352w, //frictionlabs.com/cdn/shop/files/Sports_HIIT_WOD_Hero.png?v=1745861471&amp;width=800 800w" width="800" height="674" loading="lazy" class="scale-on-hover__target">
2203              </div><div class="overlay-text overlay--v-bottom overlay--h-left image-overlay__over">
2204              <div class="overlay-text__inner overlay-text__inner__button">
2205                <div class="overlay-text__text"><h2 class="overlay-text__title h3-style">hiit/wod</h2></div>
2206              </div>
2207            </div></a></div><div class="footer__item
2208              card-br-oh
2209              image-overlay
2210              image-overlay--bg-full" 
2211              data-cc-animate><a class="image-overlay__image-link focus-inset scale-on-hover" href="/pages/sports-climbing"><div class="footer__image scale-on-hover__target">
2212                <img src="//frictionlabs.com/cdn/shop/files/Sport_Module_Climb
2212ing.png?v=1746805906&amp;width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Climbing.png?v=1746805906&amp;width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Climbing.png?v=1746805906&amp;width=800 800w" width="800" height="640" loading="lazy" class="scale-on-hover__target">
2213              </div><div class="overlay-text overlay--v-bottom overlay--h-left image-overlay__over">
2214              <div class="overlay-text__inner overlay-text__inner__button">
2215                <div class="overlay-text__text"><h2 class="overlay-text__title h3-style">climbing</h2></div>
2216              </div>
2217            </div></a></div></div>
2218
2219      <div class="footer-grid__row"><div class="footer__item
2220              card-br-oh
2221              image-overlay
2222              image-overlay--bg-full" 
2223              data-cc-animate><a class="image-overlay__image-link focus-inset scale-on-hover" href="/pages/sports-gymnastics"><div class="footer__image scale-on-hover__target">
2224                <img src="//frictionlabs.com/cdn/shop/files/Sport_Module_Gymnastics.png?v=1745861471&amp;width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Gymnastics.png?v=1745861471&amp;width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Gymnastics.png?v=1745861471&amp;width=800 800w" width="800" height="641" loading="lazy" class="scale-on-hover__target">
2225              </div><div class="overlay-text overlay--v-bottom overlay--h-left image-overlay__over">
2226              <div class="overlay-text__inner overlay-text__inner__button">
2227                <div class="overlay-text__text"><h2 class="overlay-text__title h3-style">gymnastics</h2></div>
2228              </div>
2229            </div></a></div><div class="footer__item
2230              card-br-oh
2231              image-overlay
2232              image-overlay--bg-full" 
2233              data-cc-animate><a class="image-overlay__image-link focus-inset scale-on-hover" href="/pages/sports-track-field"><div class="footer__image scale-on-hover__target">
2234                <img src="//frictionlabs.com/cdn/shop/files/Sport_Module_Track___Field.png?v=1745861471&amp;width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Track___Field.png?v=1745861471&amp;width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Track___Field.png?v=1745861471&amp;width=800 800w" width="800" height="642" loading="lazy" class="scale-on-hover__target">
2235              </div><div class="overlay-text overlay--v-bottom overlay--h-left image-overlay__over">
2236              <div class="overlay-text__inner overlay-text__inner__button">
2237                <div class="overlay-text__text"><h2 class="overlay-text__title h3-style">track &amp; field</h2></div>
2238              </div>
2239            </div></a></div><div class="footer__item
2240              card-br-oh
2241              image-overlay
2242              image-overlay--bg-full" 
2243              data-cc-animate><a class="image-overlay__image-link focus-inset scale-on-hover" href="/pages/sports-other"><div class="footer__image scale-on-hover__target">
2244                <img src="//frictionlabs.com/cdn/shop/files/Sport_Module_Other_Sports.png?v=1746637688&amp;width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Other_Sports.png?v=1746637688&amp;width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Other_Sports.png?v=1746637688&amp;width=800 800w" width="800" height="639" loading="lazy" class="scale-on-hover__target">
2245              </div><div class="overlay-text overlay--v-bottom overlay--h-left image-overlay__over">
2246              <div class="overlay-text__inner overlay-text__inner__button">
2247                <div class="overlay-text__text"><h2 class="overlay-text__title h3-style">other sports</h2></div>
2248              </div>
2249            </div></a></div></div>
2250    </div>
2251  </div>
2252</div>
2253
2254<style>
2255.footer-grid {
2256  display: grid;
2257  grid-template-columns: 1fr 3fr;
2258  column-gap: 5px;
2259}
2260
2261.footer-grid__right {
2262  display: flex;
2263  flex-direction: column;
2264  gap: 5px;
2265}
2266
2267.footer-grid__row {
2268  display: grid;
2269  grid-template-columns: repeat(3, 1fr);
2270  gap: 5px;
2271}
2272
2273.footer__item {
2274  position: relative;
2275  width: 100%;
2276}
2277
2278.footer__item--large {
2279  grid-row: span 2;
2280  height: 100%;
2281}
2282
2283.footer__image {
2284  position: relative;
2285  width: 100%;
2286  height: 100%;
2287  overflow: hidden;
2288}
2289
2290.footer__image img {
2291  width: 100%;
2292  height: 100%;
2293  object-fit: cover;
2294  transition: transform 0.3s ease;
2295}
2296
2297.overlay-text__inner__button {
2298  background-color: rgba(0, 0, 0, 0.85);
2299  height: 33%;
2300  padding-left: 30px;
2301  position: relative;
2302  display: flex;
2303  align-items: center;
2304  justify-content: left;
2305  text-align: left;
2306}
2307
2308.overlay-text__inner__button::after {
2309  content: ">";
2310  position: absolute;
2311  right: 5%;
2312  top: 50%;
2313  transform: translateY(-50%);
2314  height: 40%;
2315  aspect-ratio: 1/1;
2316  background-color: #fff;
2317  color: black;
2318  border-radius: 50%;
2319  display: flex;
2320  align-items: center;
2321  justify-content: center;
2322  font-size: clamp(24px, 4vw, 40px);
2323  font-weight: 500;
2324}
2325
2326@media (max-width: 767px) {
2327  .footer-grid {
2328    grid-template-columns: 1fr;
2329  }
2330  
2331  .footer-grid__row {
2332    grid-template-columns: 1fr;
2333  }
2334  
2335  .footer__item--large {
2336    grid-row: auto;
2337  }
2338}
2339</style>
2340
2341
2342</div><div id="shopify-section-template--17882026967238__multi_column_TTEXQw" class="shopify-section section-multi-column"><div id="section-id-template--17882026967238__multi_column_TTEXQw">
2343  <style data-shopify>
2344
2345        #section-id-template--17882026967238__multi_column_TTEXQw #block-id-text_block_iCYDz4 .text-column__image {
2346          margin-top: var(--gutter-content);
2347          max-width: 20%;
2348        }
2349        #section-id-template--17882026967238__multi_column_TTEXQw #block-id-text_block_6rgYEw .text-column__image {
2350          margin-top: var(--gutter-content);
2351          max-width: 20%;
2352        }
2353        #section-id-template--17882026967238__multi_column_TTEXQw #block-id-text_block_bgJhqa .text-column__image {
2354          margin-top: var(--gutter-content);
2355          max-width: 20%;
2356        }</style>
2357
2358  
2359    <h2 class="section-title visually-hidden" data-cc-animate>Multi-column</h2>
2360  
2361
2362  <div class="flexible-layout flexible-layout--variable-columns flexible-layout--columns-3 align-center">
2363    
2364      <div id="block-id-text_block_iCYDz4" class="column text-column card-scheme card-scheme--1 card-br-oh" 
2365            data-cc-animate="cc-fade-in-up" data-cc-animate-delay="0.15s">
2366        
2367          <div class="text-column__image lightly-spaced-row card-br-oh"><div class="inline-image scale-on-hover__target"
2368  
2369  style="--ar-padding: 100.0%;
2370         --content-fit: contain;
2371         --full-url: url(//frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&width=1118);
2372max-width: 1118px;">
2373  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&amp;width=1118" data-srcset="//frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&amp;width=720 720w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&amp;width=900 900w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&amp;width=1080 1080w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&amp;width=1118 1118w" width="1118" height="1118" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
2374</div>
2375</div>
2376        
2377
2378        <div class="card-content-padding-x padded-row-bottom--medium">
2379          
2380            <h3 class="text-column__title h3-style">FREE SHIPPING</h3>
2381          
2382
2383          
2384            <div class="text-column__text rte"><p>On orders over $49—in the U.S. and Canada.</p></div>
2385          
2386
2387          
2388        </div>
2389      </div>
2390    
2391      <div id="block-id-text_block_6rgYEw" class="column text-column card-scheme card-scheme--1 card-br-oh" 
2392            data-cc-animate="cc-fade-in-up" data-cc-animate-delay="0.3s">
2393        
2394          <div class="text-column__image lightly-spaced-row card-br-
2394oh"><div class="inline-image scale-on-hover__target"
2395  
2396  style="--ar-padding: 100.0%;
2397         --content-fit: contain;
2398         --full-url: url(//frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&width=1118);
2399max-width: 1118px;">
2400  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&amp;width=1118" data-srcset="//frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&amp;width=720 720w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&amp;width=900 900w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&amp;width=1080 1080w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&amp;width=1118 1118w" width="1118" height="1118" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
2401</div>
2402</div>
2403        
2404
2405        <div class="card-content-padding-x padded-row-bottom--medium">
2406          
2407            <h3 class="text-column__title h3-style">RISK FREE GUARANTEE</h3>
2408          
2409
2410          
2411            <div class="text-column__text rte"><p>If you don’t love it, we’ll buy it back. </p></div>
2412          
2413
2414          
2415        </div>
2416      </div>
2417    
2418      <div id="block-id-text_block_bgJhqa" class="column text-column card-scheme card-scheme--1 card-br-oh" 
2419            data-cc-animate="cc-fade-in-up" data-cc-animate-delay="0.45s">
2420        
2421          <div class="text-column__image lightly-spaced-row card-br-oh"><div class="inline-image scale-on-hover__target"
2422  
2423  style="--ar-padding: 100.0%;
2424         --content-fit: contain;
2425         --full-url: url(//frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&width=1118);
2426max-width: 1118px;">
2427  <div class="inline-image__pad"><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="//frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&amp;width=1118" data-srcset="//frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&amp;width=180 180w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&amp;width=360 360w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&amp;width=540 540w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&amp;width=720 720w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&amp;width=900 900w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&amp;width=1080 1080w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&amp;width=1118 1118w" width="1118" height="1118" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add(&quot;loaded&quot;)"></div>
2428</div>
2429</div>
2430        
2431
2432        <div class="card-content-padding-x padded-row-bottom--medium">
2433          
2434            <h3 class="text-column__title h3-style">GET 20% OFF</h3>
2435          
2436
2437          
2438            <div class="text-column__text rte"><p>First time customers only. <br/><br/></p></div>
2439          
2440
2441          
2442        </div>
2443      </div>
2444    
2445  </div>
2446</div>
2447
2448
2449
2450</div><section id="shopify-section-template--17882026967238__zp-product-footer-content" 
2450class="shopify-section zpa-published-page-holder">
2451</section>
2451<script data-locksmith>
2452    var load = function () {
2453
2454          if (document.querySelectorAll('.locksmith-manual-trigger').length > 0) {
2455            Locksmith.ping();
2456          }
2457
2458
2459      Locksmith.util.on('submit', 'locksmith-resource-form', function (event) {
2460        event.preventDefault();
2461        var data = Locksmith.util.serializeForm(event.target);
2462        var options = { spinner: false, container: 'locksmith-content' };
2463        // a form rendered inline (section replacement) must keep that context
2464        // on resubmit: same enclosing container (there may be several on the
2465        // page), and no layout classes or cancel affordance in the re-render
2466        var inlineContainer = event.target.closest && event.target.closest('[id^="locksmith-content"]');
2467        if (inlineContainer) {
2468          options.container = inlineContainer;
2469        }
2470        if (event.target.getAttribute('data-locksmith-inline') === 'true') {
2471          options.include_layout_classes = false;
2472        }
2473        Locksmith.postResource(data, options);
2474      });
2475
2476      Locksmith.util.on('click', 'locksmith-manual-trigger', function (event) {
2477        event.preventDefault();
2478        Locksmith.postResource({}, { spinner: true, container: document });
2479      });
2480
2481      Locksmith.submitPasscode = function (passcode) {
2482        Locksmith.postResource(
2483          { passcode: passcode },
2484          { spinner: false, container: 'locksmith-content' }
2485        );
2486      };
2487    };
2488
2489    if (typeof Locksmith !== 'undefined') {
2490      load();
2491    } else {
2492      window.addEventListener('load', load);
2493    }
2494  </script>
2494
2495
2496    </div>
2497  </main>
2498
2499  
2500<!-- BEGIN sections: footer-group -->
2501<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">
2502  
2503    <div class="section-footer__row-container">
2504      <div class="section-footer__row section-footer__row--blocks" data-num-blocks="3">
2505        
2506          
2507            <div class="section-footer__row__col section-footer__text-block section-footer__text-block--with-text" >
2508              
2509<h2 class="h6-style section-footer__title no-wrap">ABOUT</h2>
2510              
2511
2512              
2513                <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>
2514              
2515
2516              
2517                <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>
2518              
2519
2520              
2521</div>
2522
2523          
2524        
2525          
2526            <div class="section-footer__row__col section-footer__menu-block" role="navigation" aria-label="Secondary navigation" >
2527              
2528<h2 class="h6-style section-footer__title no-wrap">Quick links</h2>
2529              
2530
2531              
2532                <ul class="section-footer__menu-block__menu" >
2533                  
2534<li>
2535                      <a href="/pages/all-products" class="no-wrap">Products</a>
2536                    </li>
2537                  
2538<li>
2539                      <a href="/pages/sports-all" class="no-wrap">Sports</a>
2540                    </li>
2541                  
2542<li>
2543                      <a href="/pages/shop-all" class="no-wrap">Shop</a>
2544                    </li>
2545                  
2546<li>
2547                      <a href="/pages/explore" class="no-wrap">Explore</a>
2548                    </li>
2549                  
2550<li>
2551                      <a href="/blogs/climb-your-impossible" class="no-wrap">Blog</a>
2552                    </li>
2553                  
2554<li>
2555                      <a href="/pages/wholesale-contact" class="no-wrap">Wholesale/Retail</a>
2556                    </li>
2557                  
2558<li>
2559                      <a href="/pages/contact" class="no-wrap">Contact</a>
2560                    </li>
2561                  
2562                </ul>
2563              
2564            </div>
2565
2566          
2567        
2568          
2569            <div class="section-footer__row__col section-footer__newsletter-block" >
2570              
2571<h2 class="h6-style section-footer__title no-wrap">Join The Fam</h2>
2572              
2573
2574              
2575                <div class="section-footer__text">
2576                  <p>Sign up for exclusive offers, special announcements, events and more.</p>
2577                </div>
2578              
2579
2580              <div class="signup-form">
2581                <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="✓" />
2582                  
2583                    
2584                    <input type="hidden" name="contact[tags]" value="prospect,newsletter"/>
2585                    <p>
2586                      <input type="email"
2587                        placeholder="Enter email"
2588                        class="signup-form__email"
2589                        value=""
2590                        name="contact[email]"
2591                        aria-label="Email"
2592                        required />
2593                    </p>
2594                    <button class="btn btn--secondary signup-form__button" type="submit">Sign up</button>
2595                  
2596                </form>
2597              </div>
2598
2599              
2600                <div class="section-footer__newsletter-block__social">
2601                  
2602                  
2603                  
2604
2605  <div class="social-links social-links--large">
2606    <ul class="social-links__list">
2607      
2608        <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
2608ox="2 2 16 16">
2609    <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"/>
2610</svg></a></li>
2611      
2612      
2613        <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">
2614    <title>Youtube</title>
2615    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
2616        <g transform="translate(-567.000000, -302.000000)" fill="currentColor">
2617            <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>
2618        </g>
2619    </g>
2620</svg></a></li>
2621      
2622      
2623        <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">
2624    <title>Instagram</title>
2625    <defs></defs>
2626    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
2627        <g transform="translate(-642.000000, -295.000000)" fill="currentColor">
2628            <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 
2628685.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>
2629        </g>
2630    </g>
2631</svg></a></li>
2632      
2633      
2634      
2635      
2636      
2637      
2638        <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">
2639      <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>
2640    </svg></a></li>
2641      
2642      
2643        <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">
2644  <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"/>
2645  <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"/>
2646  <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"/>
2647</svg></a></li>
2648      
2649      
2650      
2651      
2652      
2653      
2654      
2655      
2656      
2657
2658      
2659    </ul>
2660  </div>
2661
2662
2663                </div>
2664              
2665            </div>
2666
2667          
2668        
2669      </div>
2670    </div>
2671  
2672<div class="section-footer__row-container ">
2673    <div class="section-footer__row section-footer__row-lower">
2674      <div class="section-footer__row__col">
2675        
2676        
2677      </div>
2678      <div class="section-footer__row__col">
2679        
2680
2681        <div class="copyright">
2682          <span class="copy">&copy; 2026 <a href="/">Friction Labs</a>.</span>
2683
2684          
2685
2686        </div>
2687      </div>
2688    </div>
2689  </div>
2690</div>
2691
2692
2693</div>
2694<!-- END sections: footer-group -->
2695<script>
2696  theme.getOffsetTopFromDoc = (el) => {
2697    return el ? theme.getOffsetTopFromDoc(el.offsetParent) + el.offsetTop : 0;
2698  }
2699
2700  theme.lazy = {
2701    _imageSizesBatch: [],
2702
2703    _computeSizes: (el) => {
2704      if (el.offsetParent) {
2705        if (getComputedStyle(el).objectFit == 'cover') {
2706          const ari = el.getAttribute('width') / el.getAttribute('height'),
2707                arc = el.offsetWidth / el.offsetHeight;
2708          if (ari > arc) {
2709            return Math.round(el.offsetHeight * ari) + 'px';
2710          } else {
2711            return Math.round(el.offsetWidth) + 'px';
2712          }
2713        } else {
2714          return Math.round(el.offsetWidth) + 'px';
2715        }
2716      }
2717      return false;
2718    },
2719
2720    _flushImageSizesBatch() {
2721      for (let i = 0; i < theme.lazy._imageSizesBatch.length; i++) {
2722        const item = theme.lazy._imageSizesBatch[i];
2723        item.el.src = ''; // reset element - assume attrs will be rectified below
2724
2725        if (item.onload) {
2726          item.el.addEventListener('load', () => { item.el.classList.add('loaded')});
2727        }
2728        if (item.sizes) {
2729          item.el.setAttribute('sizes', item.sizes);
2730        }
2731        if (item.srcset) {
2732          item.el.setAttribute('srcset', item.srcset);
2733        }
2734        if (item.src) {
2735          item.el.setAttribute('src', item.src);
2736          item.el.removeAttribute('data-src');
2737        }
2738        if (item.loading) {
2739          item.el.setAttribute('loading', item.loading);
2740        }
2741      }
2742      theme.lazy._imageSizesBatch = [];
2743    },
2744
2745    _loadSrcSets: (setEager) => {
2746      document.querySelectorAll('[data-src]').forEach((el) => {
2747        let batchItem = { el: el };
2748        if (el.dataset.srcset) {
2749          // stop if size not calculable
2750          let sizes = theme.lazy._computeSizes(el);
2751          if (sizes === false) return;
2752
2753          batchItem.sizes = sizes;
2754          batchItem.srcset = el.dataset.srcset;
2755
2756          if (setEager && el.loading && el.loading === 'lazy' && theme.getOffsetTopFromDoc(el) < window.innerHeight) {
2757            batchItem.loading = 'eager';
2758          }
2759        }
2760        if (el.dataset.src) {
2761          batchItem.src = el.dataset.src;
2762        }
2763        if (el.dataset.onload) {
2764          batchItem.onload = el.dataset.onload;
2765        }
2766        theme.lazy._imageSizesBatch.push(batchItem);
2767      });
2768      theme.lazy._flushImageSizesBatch();
2769    },
2770
2771    updateImgSizes: () => {
2772      document.querySelectorAll('[data-srcset]').forEach((el) => {
2773        let sizes = theme.lazy._computeSizes(el);
2774        if (sizes === false) return;
2775        theme.lazy._imageSizesBatch.push({
2776          el: el,
2777          sizes: sizes
2778        });
2779      });
2780      theme.lazy._flushImageSizesBatch();
2781    },
2782
2783    loadSrcSets: (runNow, firstRun) => {
2784      if (runNow) {
2785        clearTimeout(theme.lazy.loadSrcSetsThrottleTimeoutId);
2786        theme.lazy._loadSrcSets(firstRun);
2787      } else {
2788        clearTimeout(theme.lazy.loadSrcSetsThrottleTimeoutId);
2789        theme.lazy.loadSrcSetsThrottleTimeoutId = setTimeout(theme.lazy._loadSrcSets, 10);
2790      }
2791    },
2792
2793    initLoadObserver: () => {
2794      theme.lazy.imgLoadObserver = new MutationObserver(function(mutations) {
2795        for (let i = 0; i < mutations.length; i++) {
2796          if (mutations[i].addedNodes && mutations[i].addedNodes.length) {
2797            theme.lazy.loadSrcSets();
2798          }
2799        }
2800      });
2801
2802      theme.lazy.imgLoadObserver.observe(document, { attributes: false, childList: true, characterData: false, subtree: true });
2803    },
2804
2805    initScript: (element, callback, threshold = 500) => {
2806      if ('IntersectionObserver' in window) {
2807        const io = new IntersectionObserver((entries, observer) => {
2808          entries.forEach((entry) => {
2809            if (entry.isIntersecting) {
2810              if (typeof callback === 'function') {
2811                callback();
2812                observer.unobserve(entry.target);
2813              }
2814            }
2815          });
2816        }, { rootMargin: `0px 0px ${threshold}px 0px` });
2817
2818        io.observe(element);
2819      } else {
2820        callback();
2821      }
2822    }
2823  }
2824
2825  setTimeout(() => {
2826    theme.lazy.loadSrcSets(true, true);
2827    theme.lazy.initLoadObserver();
2828  }, 0);</script>
2828
2829<template id="ModalTemplate">
2830    <div class="quickbuy-modal cc-popup cc-popup--right" aria-hidden="true" data-freeze-scroll="true">
2831      <div class="cc-popup-background"></div>
2832      <div class="cc-popup-modal" role="dialog" aria-modal="true" aria-labelledby="">
2833        <div class="cc-popup-container">
2834          <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>
2835          <div class="cc-popup-content">
2836            <div class="loading-spinner"></div>
2837          </div>
2838        </div>
2839      </div>
2840  	</div>
2841  </template>
2841<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>
2841<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>
2841 
2841<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>
2841<div id="shopify-block-AZFd6aGFnS21FS1hVa__13768625480086291342" class="shopify-block shopify-app-block">
2841<script>
2842  window['ShopifyForms'] = {
2843    ...window['ShopifyForms'],
2844    currentPageType: "product"
2845  };
2846</script>
2846
2847
2848
2849</div>
2849<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2849
2850</body>
2851</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.