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) – 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&ev=PageView&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&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 & 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®ion_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 & 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="[{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":6663291,"merchantName":"Friction Labs","personalized":true}},{"supports_subs":false,"supports_def_opts":false,"name":"amazon_pay","wallet_params":{"checkoutLanguage":"en_US","ledgerCurrency":"USD","placement":"Cart","sandbox":false,"merchantId":"A3BZYSMUAC8JVJ","productType":"PayAndShip","design":"C0002"}},{"supports_subs":true,"supports_def_opts":false,"name":"paypal","wallet_params":{"shopId":6663291,"countryCode":"US","merchantName":"Friction Labs","phoneRequired":false,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":true,"hasManagedSellingPlanState":false,"requiresBillingAgreement":false,"gatewayType":"MANAGED","merchantId":"3CTDL7TBZ7372","sdkUrl":"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","serviceableCountryCodes":["AC","AD","AE","AF","AG","AI","AL","AM","AO","AR","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MK","ML","MM","MN","MO","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PS","PT","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"]}}]" access-token="6bf66b46506992dafba773c8321a2230" buyer-country="US" buyer-locale="en" buyer-currency="USD" shop-id="6663291" cart-id="723ebf4567d9779ac16beb71e4c53a02" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <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'> </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'> </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'> </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&width=600" alt="DWoods Precision Grip⢠Chunky Loose Climbing Chalk (6 oz)" data-srcset="//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=180 180w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=360 360w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=540 540w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=600 600w" width="600" height="600" loading="eager" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&width=600" alt="DWoods Precision Grip⢠Chunky Loose Climbing Chalk (6 oz)" data-srcset="//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=180 180w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=360 360w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=540 540w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=600 600w" width="600" height="600" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&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&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&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&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&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&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&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&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&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&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&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&width=2094 2094w" width="2094" height="1390" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&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&width=180 180w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=360 360w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=540 540w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=720 720w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=900 900w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1080 1080w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1296 1296w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1512 1512w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1728 1728w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1950 1950w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=2030 2030w" width="2030" height="1378" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&width=600" alt="" data-srcset="//frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=180 180w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=360 360w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=540 540w, //frictionlabs.com/cdn/shop/files/DwoodsPrecisionGripBlackBackground.jpg?v=1787608202&width=600 600w" width="600" height="600" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&width=600" alt="" data-srcset="//frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=180 180w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=360 360w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=540 540w, //frictionlabs.com/cdn/shop/files/DSC04978.jpg?v=1787608202&width=600 600w" width="600" height="600" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&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&
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&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&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&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&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&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&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&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&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&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&width=2094 2094w" width="2094" height="1390" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&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&width=180 180w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=360 360w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=540 540w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=720 720w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=900 900w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1080 1080w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1296 1296w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1512 1512w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1728 1728w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=1950 1950w, //frictionlabs.com/cdn/shop/files/Pro_Climber_Daniel_Woods_with_DWoods_Precision_Grip.png?v=1787608593&width=2030 2030w" width="2030" height="1378" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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="{"type":"product","currency_code":"USD","country_code":"US","variants":[{"id":45839261499590,"price_per_term":"$14.99","price_per_term_amount":14.99,"full_price":"$29.99","full_price_amount":29.99,"eligible":false,"available":true,"number_of_payment_terms":2}],"min_price":"$35.00","min_price_amount":35.0,"max_price":"$30,000.00","max_price_amount":30000.0,"financing_plans":[{"min_price":"$35.00","max_price":"$49.99","terms":[{"apr":0,"loan_type":"split_pay","installments_count":2}],"min_price_amount":35.0,"max_price_amount":49.99},{"min_price":"$50.00","max_price":"$999.99","terms":[{"apr":0,"loan_type":"split_pay","installments_count":3},{"apr":0,"loan_type":"split_pay","installments_count":4},{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}],"min_price_amount":50.0,"max_price_amount":999.99},{"min_price":"$1,000.00","max_price":"$30,000.00","terms":[{"apr":15,"loan_type":"interest","installments_count":3},{"apr":15,"loan_type":"interest","installments_count":6},{"apr":15,"loan_type":"interest","installments_count":12}],"min_price_amount":1000.0,"max_price_amount":30000.0}],"installments_buyer_prequalification_enabled":false,"seller_id":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="{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":6663291,"merchantName":"Friction Labs","personalized":true}}" fallback="{"supports_subs":true,"supports_def_opts":true,"name":"buy_it_now","wallet_params":{}}" access-token="6bf66b46506992dafba773c8321a2230" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{"id":45839261499590,"requiresShipping":true}]" shop-id="6663291" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton"> </div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true"> </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'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&width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/chalk300.png?v=1745861425&width=352 352w, //frictionlabs.com/cdn/shop/files/chalk300.png?v=1745861425&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&width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Weightlifting.png?v=1745861471&width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Weightlifting.png?v=1745861471&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&width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sports_HIIT_WOD_Hero.png?v=1745861471&width=352 352w, //frictionlabs.com/cdn/shop/files/Sports_HIIT_WOD_Hero.png?v=1745861471&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&width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Climbing.png?v=1746805906&width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Climbing.png?v=1746805906&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&width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Gymnastics.png?v=1745861471&width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Gymnastics.png?v=1745861471&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&width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Track___Field.png?v=1745861471&width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Track___Field.png?v=1745861471&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 & 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&width=800" alt="" srcset="//frictionlabs.com/cdn/shop/files/Sport_Module_Other_Sports.png?v=1746637688&width=352 352w, //frictionlabs.com/cdn/shop/files/Sport_Module_Other_Sports.png?v=1746637688&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&width=1118" data-srcset="//frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&width=180 180w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&width=360 360w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&width=540 540w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&width=720 720w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&width=900 900w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&width=1080 1080w, //frictionlabs.com/cdn/shop/files/Icon_Truck-2.png?v=1745861425&width=1118 1118w" width="1118" height="1118" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&width=1118" data-srcset="//frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&width=180 180w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&width=360 360w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&width=540 540w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&width=720 720w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&width=900 900w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&width=1080 1080w, //frictionlabs.com/cdn/shop/files/Icon_Box-2.png?v=1745861425&width=1118 1118w" width="1118" height="1118" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&width=1118" data-srcset="//frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&width=180 180w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&width=360 360w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&width=540 540w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&width=720 720w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&width=900 900w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&width=1080 1080w, //frictionlabs.com/cdn/shop/files/Icon_Heart-2.png?v=1745861425&width=1118 1118w" width="1118" height="1118" loading="lazy" class="inline-image__image load-trans" data-onload="this.classList.add("loaded")"></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&width=41" alt="" srcset="//frictionlabs.com/cdn/shop/files/hand_asset_20d0baa6-6cd3-47d5-8b8f-d04c2c5a4bda.png?v=1745861425&width=40 40w, //frictionlabs.com/cdn/shop/files/hand_asset_20d0baa6-6cd3-47d5-8b8f-d04c2c5a4bda.png?v=1745861425&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">© 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.