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