1 2<!DOCTYPE html> 3<html class="no-js" lang="en"> 4 <head><link rel="stylesheet" href="/makeswift-stencil-static/styles.css">
4<script type="module" src="/makeswift-stencil-static/client.js"></script>
4<script>window.__MAKESWIFT_ENV__={"MAKESWIFT_API_ORIGIN":"https://api.makeswift.com","MAKESWIFT_APP_ORIGIN":"https://app.makeswift.com"};</script>
4 5 <title>Kahtoola - Shopping Cart</title> 6 <link rel="dns-prefetch preconnect" href="https://cdn11.bigcommerce.com/s-m69x292sg4" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.googleapis.com/" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.gstatic.com/" crossorigin> 7 <meta name="keywords" content="Kahtoola, traction, gaiters, hiking gaiters, trail running gaiters, microspikes, nanospikes, exospikes, instagaiter, levagaiter, navagaiter, renagaiter, k10, kts, crampons, ice cleats, yaktrax, black diamond, blitz spike"><meta name="description" content="Kahtoola designs award-winning MICROspikes®, EXOspikesâ¢, and NANOspikes® traction, plus innovative hiking and trail running gaiters and hiking crampons."><meta name='platform' content='bigcommerce.stencil' /> 8 9 10 11 <link href="https://cdn11.bigcommerce.com/s-m69x292sg4/product_images/kahtoola-favicon.png?t=1636591361" rel="shortcut icon"> 12 <meta name="viewport" content="width=device-width, initial-scale=1"> 13 14
14<script> 15 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 16 </script>
16 17 18
18<script> 19 function browserSupportsAllFeatures() { 20 return window.Promise 21 && window.fetch 22 && window.URL 23 && window.URLSearchParams 24 && window.WeakMap 25 // object-fit support 26 && ('objectFit' in document.documentElement.style); 27 } 28 29 function loadScript(src) { 30 var js = document.createElement('script'); 31 js.src = src; 32 js.onerror = function () { 33 console.error('Failed to load polyfill script ' + src); 34 }; 35 document.head.appendChild(js); 36 } 37 38 if (!browserSupportsAllFeatures()) { 39 loadScript('https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/dist/theme-bundle.polyfills.js'); 40 } 41</script>
41 42
42<script>window.consentManagerTranslations = `{"locale":"en","locales":{"consent_manager.data_collection_warning":"en","consent_manager.accept_all_cookies":"en","consent_manager.gdpr_settings":"en","consent_manager.data_collection_preferences":"en","consent_manager.manage_data_collection_preferences":"en","consent_manager.use_data_by_cookies":"en","consent_manager.data_categories_table":"en","consent_manager.allow":"en","consent_manager.accept":"en","consent_manager.deny":"en","consent_manager.dismiss":"en","consent_manager.reject_all":"en","consent_manager.category":"en","consent_manager.purpose":"en","consent_manager.functional_category":"en","consent_manager.functional_purpose":"en","consent_manager.analytics_category":"en","consent_manager.analytics_purpose":"en","consent_manager.targeting_category":"en","consent_manager.advertising_category":"en","consent_manager.advertising_purpose":"en","consent_manager.essential_category":"en","consent_manager.esential_purpose":"en","consent_manager.yes":"en","consent_manager.no":"en","consent_manager.not_available":"en","consent_manager.cancel":"en","consent_manager.save":"en","consent_manager.back_to_preferences":"en","consent_manager.close_without_changes":"en","consent_manager.unsaved_changes":"en","consent_manager.by_using":"en","consent_manager.agree_on_data_collection":"en","consent_manager.change_preferences":"en","consent_manager.cancel_dialog_title":"en","consent_manager.privacy_policy":"en","consent_manager.allow_category_tracking":"en","consent_manager.disallow_category_tracking":"en"},"translations":{"consent_manager.data_collection_warning":"We use cookies (and other similar technologies) to collect data to improve your shopping experience.","consent_manager.accept_all_cookies":"Accept All Cookies","consent_manager.gdpr_settings":"Settings","consent_manager.data_collection_preferences":"Website Data Collection Preferences","consent_manager.manage_data_collection_preferences":"Manage Website Data Collection Preferences","consent_manager.use_data_by_cookies":" uses data collected by cookies and JavaScript libraries to improve your shopping experience.","consent_manager.data_categories_table":"The table below outlines how we use this data by category. To opt out of a category of data collection, select 'No' and save your preferences.","consent_manager.allow":"Allow","consent_manager.accept":"Accept","consent_manager.deny":"Deny","consent_manager.dismiss":"Dismiss","consent_manager.reject_all":"Reject all","consent_manager.category":"Category","consent_manager.purpose":"Purpose","consent_manager.functional_category":"Functional","consent_manager.functional_purpose":"Enables enhanced functionality, such as videos and live chat. If you do not allow these, then some or all of these functions may not work properly.","consent_manager.analytics_category":"Analytics","consent_manager.analytics_purpose":"Provide statistical information on site usage, e.g., web analytics so we can improve this website over time.","consent_manager.targeting_category":"Targeting","consent_manager.advertising_category":"Advertising","consent_manager.advertising_purpose":"Used to create profiles or personalize content to enhance your shopping experience.","consent_manager.essential_category":"Essential","consent_manager.esential_purpose":"Essential for the site and any requested services to work, but do not perform any additional or secondary function.","consent_manager.yes":"Yes","consent_manager.no":"No","consent_manager.not_available":"N/A","consent_manager.cancel":"Cancel","consent_manager.save":"Save","consent_manager.back_to_preferences":"Back to Preferences","consent_manager.close_without_changes":"You have unsaved changes to your data collection preferences. Are you sure you want to close without saving?","consent_manager.unsaved_changes":"You have unsaved changes","consent_manager.by_using":"By using our website, you're agreeing to our","consent_manager.agree_on_data_collection":"By using our website, you're agreeing to the collection of data as described in our ","consent_manager.change_preferences":"You can change your preferences at any time","consent_manager.cancel_dialog_title":"Are you sure you want to cancel?","consent_manager.privacy_policy":"Privacy Policy","consent_manager.allow_category_tracking":"Allow [CATEGORY_NAME] tracking","consent_manager.disallow_category_tracking":"Disallow [CATEGORY_NAME] tracking"}}`;</script>
42 43 44
44<script> 45 window.lazySizesConfig = window.lazySizesConfig || {}; 46 window.lazySizesConfig.loadMode = 1; 47 </script>
47 48
48<script async src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/dist/theme-bundle.head_async.js"></script>
48 49 50 <link href="https://fonts.googleapis.com/css?family=Open+Sans:700,300,400,900,500,800,600%7COswald:700,300,100,600,200,800,400,500,900&display=block" rel="stylesheet"> 51 52
52<script async src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/dist/theme-bundle.font.js"></script>
52 53 54 <style type="text/css" media="screen, print"> 55 @font-face { 56 font-family: "Conthrax"; 57 src: url("https://cdn11.bigcommerce.com/s-m69x292sg4/content/conthrax.ttf"); 58 } 59 </style> 60 61 <link data-stencil-stylesheet href="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/css/theme-175bde10-98f9-013f-b7d3-0e5b93ef24ad.css" rel="stylesheet"> 62 63 <!-- Start Tracking Code for analytics_facebook --> 64
65<script data-bc-cookie-consent="4" type="text/plain"> 66!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js'); 67 68fbq('set', 'autoConfig', 'false', '390753516143007'); 69fbq('dataProcessingOptions', []); 70fbq('init', '390753516143007', {"external_id":"2ab1be7a-d694-4c76-97f3-7b8931519db8"}); 71fbq('set', 'agent', 'bigcommerce', '390753516143007'); 72 73function trackEvents() { 74 var pathName = window.location.pathname; 75 76 77 78 // Search events start -- only fire if the shopper lands on the /search.php page 79 if (pathName.indexOf('/search.php') === 0 && getUrlParameter('search_query')) { 80 fbq('trackSingle', '390753516143007', 'Search', { 81 content_type: 'product_group', 82 content_ids: [], 83 search_string: getUrlParameter('search_query') 84 }); 85 } 86 // Search events end 87 88 // Wishlist events start -- only fire if the shopper attempts to add an item to their wishlist 89 if (pathName.indexOf('/wishlist.php') === 0 && getUrlParameter('added_product_id')) { 90 fbq('trackSingle', '390753516143007', 'AddToWishlist', { 91 content_type: 'product_group', 92 content_ids: [] 93 }); 94 } 95 // Wishlist events end 96 97 // Lead events start -- only fire if the shopper subscribes to newsletter 98 if (pathName.indexOf('/subscribe.php') === 0 && getUrlParameter('result') === 'success') { 99 fbq('trackSingle', '390753516143007', 'Lead', {}); 100 } 101 // Lead events end 102 103 // Registration events start -- only fire if the shopper registers an account 104 if (pathName.indexOf('/login.php') === 0 && getUrlParameter('action') === 'account_created') { 105 fbq('trackSingle', '390753516143007', 'CompleteRegistration', {}, ""); 106 } 107 // Registration events end 108 109 110 111 function getUrlParameter(name) { 112 var cleanName = name.replace(/[\[]/, '\[').replace(/[\]]/, '\]'); 113 var regex = new RegExp('[\?&]' + cleanName + '=([^&#]*)'); 114 var results = regex.exec(window.location.search); 115 return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); 116 } 117} 118 119if (window.addEventListener) { 120 window.addEventListener("load", trackEvents, false) 121} 122</script>
122 123<noscript><img height="1" width="1" style="display:none" alt="null" src="https://www.facebook.com/tr?id=390753516143007&ev=PageView&noscript=1&a=plbigcommerce1.2&eid="/></noscript> 124 125<!-- End Tracking Code for analytics_facebook --> 126 127<!-- Start Tracking Code for analytics_siteverification --> 128 129<meta name="google-site-verification" content="KGwA_qo8_LEutAiwCnTZVH2VSmqeFc2l1ge0MFiUSr8" /> 130<meta name="facebook-domain-verification" content="4l0fle9butuulfm2x0p5ix85tp73cl" /> 131 132<!-- End Tracking Code for analytics_siteverification --> 133 134<!-- Start Tracking Code for analytics_visualwebsiteoptimizer --> 135 136<!-- Start VWO Async SmartCode -->
137<script data-bc-cookie-consent="4" type="text/plain" id='vwoCode'> 138window._vwo_code=window._vwo_code || (function() { 139var account_id=693359, 140version = 1.5, 141settings_tolerance=2000, 142library_tolerance=2500, 143use_existing_jquery=false, 144is_spa=1, 145hide_element='body', 146hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important', 147/* DO NOT EDIT BELOW THIS LINE */ 148f=false,d=document,vwoCodeEl=d.querySelector('#vwoCode'),code={use_existing_jquery:function(){return use_existing_jquery},library_tolerance:function(){return library_tolerance},hide_element_style:function(){return'{'+hide_element_style+'}'},finish:function(){if(!f){f=true;var e=d.getElementById('_vis_opt_path_hides');if(e)e.parentNode.removeChild(e)}},finished:function(){return f},load:function(e){var t=d.createElement('script');t.fetchPriority='high';t.src=e;t.type='text/javascript';t.innerText;t.onerror=function(){_vwo_code.finish()};d.getElementsByTagName('head')[0].appendChild(t)},getVersion:function(){return version},getMatchedCookies:function(e){var t=[];if(document.cookie){t=document.cookie.match(e)||[]}return t},getCombinationCookie:function(){var e=code.getMatchedCookies(/(?:^|;)\s?(_vis_opt_exp_\d+_combi=[^;$]*)/gi);e=e.map(function(e){try{var t=decodeURIComponent(e);if(!/_vis_opt_exp_\d+_combi=(?:\d+,?)+\s*$/.test(t)){return''}return t}catch(e){return''}});var i=[];e.forEach(function(e){var t=e.match(/([\d,]+)/g);t&&i.push(t.join('-'))});return i.join('|')},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;window.settings_timer=setTimeout(function(){_vwo_code.finish()},settings_tolerance);var e=d.createElement('style'),t=hide_element?hide_element+'{'+hide_element_style+'}':'',i=d.getElementsByTagName('head')[0];e.setAttribute('id','_vis_opt_path_hides');vwoCodeEl&&e.setAttribute('nonce',vwoCodeEl.nonce);e.setAttribute('type','text/css');if(e.styleSheet)e.styleSheet.cssText=t;else e.appendChild(d.createTextNode(t));i.appendChild(e);var n=this.getCombinationCookie();this.load('https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&f='+ +is_spa+'&vn='+version+(n?'&c='+n:''));return settings_timer}};window._vwo_settings_timer = code.init();return code;}()); 149</script>
149 150<!-- End VWO Async SmartCode --> 151 152<!-- End Tracking Code for analytics_visualwebsiteoptimizer --> 153 154
155<script type="text/javascript" src="https://checkout-sdk.bigcommerce.com/v1/loader.js" defer ></script>
vendor: 1 bytes, line 155
155
156<script>window.consentManagerStoreConfig = function () { return {"storeName":"Kahtoola","privacyPolicyUrl":"https:\/\/kahtoola.com\/privacy-policy\/","writeKey":null,"improvedConsentManagerEnabled":true,"AlwaysIncludeScriptsWithConsentTag":true}; };</script>
vendor: 1 bytes, line 156
156
157<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/bodl-consent-32a446f5a681a22e8af09a4ab8f4e4b6deda6487.js" integrity="sha256-uitfaufFdsW9ELiQEkeOgsYedtr3BuhVvA4WaPhIZZY=" crossorigin="anonymous" defer></script>
vendor: 1 bytes, line 157
157
158<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/storefront/consent-manager-config-d53a4773861141b0624d84967b4c0a379d13a5fe.js" defer></script>
vendor: 1 bytes, line 158
158
159<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/storefront/consent-manager-08633fe15aba542118c03f6d45457262fa9fac88.js" defer></script>
vendor: 1 bytes, line 159
159
160<script type="text/javascript"> 161var BCData = {}; 162</script>
vendor: 1 bytes, line 162
162
163<script src='https://www.powr.io/powr.js?external-type=bigcommerce' async ></script>
163<script defer> 164 /*! iFrame Resizer (iframeSizer.min.js ) - v4.3.2 - 2021-04-26 165 * Desc: Force cross domain iframes to size to content. 166 * Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame. 167 * Copyright: (c) 2021 David J. Bradshaw - [email protected] 168 * License: MIT 169 */ 170 171!function(u){var f,l,a,x,M,I,k,r,m,F,t,g,z;function h(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function O(e,n,t){e.addEventListener(n,t,!1)}function R(e,n,t){e.removeEventListener(n,t,!1)}function o(e){return M+"["+(e="Host page: "+(n=e),e=window.top!==window.self?window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+n:"Nested host page: "+n:e)+"]";var n}function i(e){return F[e]?F[e].log:l}function T(e,n){s("log",e,n,i(e))}function E(e,n){s("info",e,n,i(e))}function N(e,n){s("warn",e,n,!0)}function s(e,n,t,i){!0===i&&"object"==typeof window.console&&console[e](o(n),t)}function e(n){function t(){i("Height"),i("Width"),L(function(){A(y),H(v),l("onResized",y)},y,"init")}function e(){var e=b.substr(I).split(":"),n=e[1]?parseInt(e[1],10):0,t=F[e[0]]&&F[e[0]].iframe,i=getComputedStyle(t);return{iframe:t,id:e[0],height:n+function(e){if("border-box"!==e.boxSizing)return 0;var n=e.paddingTop?parseInt(e.paddingTop,10):0,e=e.paddingBottom?parseInt(e.paddingBottom,10):0;return n+e}(i)+function(e){if("border-box"!==e.boxSizing)return 0;var n=e.borderTopWidth?parseInt(e.borderTopWidth,10):0,e=e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0;return n+e}(i),width:e[2],type:e[3]}}function i(e){var n=Number(F[v]["max"+e]),t=Number(F[v]["min"+e]),i=e.toLowerCase(),e=Number(y[i]);T(v,"Checking "+i+" is in range "+t+"-"+n),e<t&&(e=t,T(v,"Set "+i+" to min value")),n<e&&(e=n,T(v,"Set "+i+" to max value")),y[i]=""+e}function o(){function e(){return i.constructor===Array?function(){var e=0,n=!1;for(T(v,"Checking connection is from allowed list of origins: "+i);e<i.length;e++)if(i[e]===t){n=!0;break}return n}():(e=F[v]&&F[v].remoteHost,T(v,"Checking connection is from: "+e),t===e);var e}var t=n.origin,i=F[v]&&F[v].checkOrigin;if(i&&""+t!="null"&&!e())throw new Error("Unexpected message received from: "+t+" for "+y.iframe.id+". Message was: "+n.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return 1}function a(e){return b.substr(b.indexOf(":")+x+e)}function s(t,i){var e,n,o;e=function(){var e,n;B("Send Page Info","pageInfo:"+(e=document.body.getBoundingClientRect(),n=y.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:n.height,iframeWidth:n.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(n.top-e.top,10),offsetLeft:parseInt(n.left-e.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),t,i)},n=32,z[o=i]||(z[o]=setTimeout(function(){z[o]=null,e()},n))}function r(e){e=e.getBoundingClientRect();return S(v),{x:Math.floor(Number(e.left)+Number(k.x)),y:Math.floor(Number(e.top)+Number(k.y))}}function d(e){var n=e?r(y.iframe):{x:0,y:0},t={x:Number(y.width)+n.x,y:Number(y.height)+n.y};T(v,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top!==window.self?window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](t.x,t.y):N(v,"Unable to scroll to requested position, window.parentIFrame not found"):(k=t,c(),T(v,"--"))}function c(){!1!==l("onScroll",k)?H(v):j()}function u(e){var n,t=e.split("#")[1]||"",e=decodeURIComponent(t),i=document.getElementById(e)||document.getElementsByName(e)[0];i?(n=r(i),T(v,"Moving to in page link (#"+t+") at x: "+n.x+" y: "+n.y),k={x:n.x,y:n.y},c(),T(v,"--")):window.top!==window.self?window.parentIFrame?window.parentIFrame.moveToAnchor(t):T(v,"In page link #"+t+" not found and window.parentIFrame not found"):T(v,"In page link #"+t+" not found")}function f(e){var n,t={};t=0===Number(y.width)&&0===Number(y.height)?{x:(n=a(9).split(":"))[1],y:n[0]}:{x:y.width,y:y.height},l(e,{iframe:y.iframe,screenX:Number(t.x),screenY:Number(t.y),type:y.type})}function l(e,n){return W(v,e,n)}function m(){switch(F[v]&&F[v].firstRun&&F[v]&&(F[v].firstRun=!1),y.type){case"close"
171:C(y.iframe);break;case"message":n=a(6),T(v,"onMessage passed: {iframe: "+y.iframe.id+", message: "+n+"}"),l("onMessage",{iframe:y.iframe,message:JSON.parse(n)}),T(v,"--");break;case"mouseenter":f("onMouseEnter");break;case"mouseleave":f("onMouseLeave");break;case"autoResize":F[v].autoResize=JSON.parse(a(9));break;case"scrollTo":d(!1);break;case"scrollToOffset":d(!0);break;case"pageInfo":s(F[v]&&F[v].iframe,v),r=v,e("Add ",O),F[r]&&(F[r].stopPageInfo=o);break;case"pageInfoStop":F[v]&&F[v].stopPageInfo&&(F[v].stopPageInfo(),delete F[v].stopPageInfo);break;case"inPageLink":u(a(9));break;case"reset":P(y);break;case"init":t(),l("onInit",y.iframe);break;default:0===Number(y.width)&&0===Number(y.height)?N("Unsupported message received ("+y.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):t()}function e(n,t){function i(){F[r]?s(F[r].iframe,r):o()}["scroll","resize"].forEach(function(e){T(r,n+e+" listener for sendPageInfo"),t(window,e,i)})}function o(){e("Remove ",R)}var r,n}var g,h,p,w,b=n.data,y={},v=null;"[iFrameResizerChild]Ready"===b?function(){for(var e in F)B("iFrame requested init",q(e),F[e].iframe,e)}():M===(""+b).substr(0,I)&&b.substr(I).split(":")[0]in F?(y=e(),v=y.id,F[v]&&(F[v].loaded=!0),(w=y.type in{true:1,false:1,undefined:1})&&T(v,"Ignoring init message from meta parent page"),!w&&(p=!0,F[h=v]||(p=!1,N(y.type+" No settings for "+h+". Message was: "+b)),p)&&(T(v,"Received: "+b),g=!0,null===y.iframe&&(N(v,"IFrame ("+y.id+") not found"),g=!1),g&&o()&&m())):E(v,"Ignored: "+b)}function W(e,n,t){var i=null,o=null;if(F[e]){if("function"!=typeof(i=F[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=i(t)}return o}function p(e){e=e.id;delete F[e]}function C(e){var n=e.id;if(!1!==W(n,"onClose",n)){T(n,"Removing iFrame: "+n);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){N(e)}W(n,"onClosed",n),T(n,"--"),p(e)}else T(n,"Close iframe cancelled by onClose event")}function S(e){null===k&&T(e,"Get page position: "+(k={x:window.pageXOffset!==u?window.pageXOffset:document.documentElement.scrollLeft,y:window.pageYOffset!==u?window.pageYOffset:document.documentElement.scrollTop}).x+","+k.y)}function H(e){null!==k&&(window.scrollTo(k.x,k.y),T(e,"Set page position: "+k.x+","+k.y),j())}function j(){k=null}function P(e){T(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),S(e.id),L(function(){A(e),B("reset","reset",e.iframe,e.id)},e,"reset")}function A(o){function t(e){function n(){Object.keys(F).forEach(function(e){function n(e){return"0px"===(F[t]&&F[t].iframe.style[e])}var t;F[t=e]&&null!==F[t].iframe.offsetParent&&(n("height")||n("width"))&&B("Visibility change","resize",F[t].iframe,t)})}function t(e){T("window","Mutation observed: "+e[0].target+" "+e[0].type),c(n,16)}var i;a||"0"!==o[e]||(a=!0,T(r,"Hidden iFrame detected, creating visibility listener"),(i=h())&&function(){var e=document.querySelector("body");new i(t).observe(e,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0})}())}function e(e){var n;n=e,o.id?(o.iframe.style[n]=o[n]+"px",T(o.id,"IFrame ("+r+") "+n+" set to "+o[n]+"px")):T("undefined","messageData id not set"),t(e)}var r=o.iframe.id;F[r]&&(F[r].sizeHeight&&e("height"),F[r].sizeWidth&&e("width"))}function L(e,n,t){t!==n.type&&r&&!window.jasmine?(T(n.id,"Requesting animation frame"),r(e)):e()}function B(n,t,i,o,e){function r(){var e;i&&"contentWindow"in i&&null!==i.contentWindow?(e=F[o]&&F[o].targetOrigin,T(o,"["+n+"] Sending msg to iframe["+o+"] ("+t+") targetOrigin: "+e),i.contentWindow.postMessage(M+t,e)):N(o,"["+n+"] IFrame("+o+") not found")}function a(){e&&F[o]&&F[o].warningTimeout&&(F[o].msgTimeout=setTimeout(function(){!F[o]||F[o].loaded||s||(s=!0,N(o,"IFrame has not responded within "+F[o].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))},F[o].warningTimeout))}var s=!1;
171o=o||i.id,F[o]&&(r(),a())}function q(e){return e+":"+F[e].bodyMarginV1+":"+F[e].sizeWidth+":"+F[e].log+":"+F[e].interval+":"+F[e].enablePublicMethods+":"+F[e].autoResize+":"+F[e].bodyMargin+":"+F[e].heightCalculationMethod+":"+F[e].bodyBackground+":"+F[e].bodyPadding+":"+F[e].tolerance+":"+F[e].inPageLinks+":"+F[e].resizeFrom+":"+F[e].widthCalculationMethod+":"+F[e].mouseEvents}function d(i,e){function n(t){var e,n=h();n&&(e=n,i.parentNode&&new e(function(e){e.forEach(function(e){Array.prototype.slice.call(e.removedNodes).forEach(function(e){e===i&&C(i)})})}).observe(i.parentNode,{childList:!0})),O(i,"load",function(){var e,n;B("iFrame.onload",t,i,u,!0),e=F[s]&&F[s].firstRun,n=F[s]&&F[s].heightCalculationMethod in m,!e&&n&&P({iframe:i,height:0,width:0,type:"init"})}),B("init",t,i,u,!0)}function t(e){var n=e.split("Callback");2===n.length&&(this[n="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1)]=this[e],delete this[e],N(s,"Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version."))}function o(e){e=e||{},F[s]={firstRun:!0,iframe:i,remoteHost:i.src&&i.src.split("/").slice(0,3).join("/")},function(e){if("object"!=typeof e)throw new TypeError("Options is not an object")}(e),Object.keys(e).forEach(t,e),function(e){for(var n in g)Object.prototype.hasOwnProperty.call(g,n)&&(F[s][n]=(Object.prototype.hasOwnProperty.call(e,n)?e:g)[n])}(e),F[s]&&(F[s].targetOrigin=!0===F[s].checkOrigin?""===(e=F[s].remoteHost)||null!==e.match(/^(about:blank|javascript:|file:\/\/)/)?"*":e:"*")}var r,a,s=(""===(r=i.id)&&(i.id=(a=e&&e.id||g.id+f++,null!==document.getElementById(a)&&(a+=f++),r=a),l=(e||{}).log,T(r,"Added missing iframe ID: "+r+" ("+i.src+")")),r);function d(e){var n=F[s][e];1/0!==n&&0!==n&&(i.style[e]="number"==typeof n?n+"px":n,T(s,"Set "+e+" = "+i.style[e]))}function c(e){if(F[s]["min"+e]>F[s]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}s in F&&"iFrameResizer"in i?N(s,"Ignored iFrame, already setup."):(o(e),function(){switch(T(s,"IFrame scrolling "+(F[s]&&F[s].scrolling?"enabled":"disabled")+" for "+s),i.style.overflow=!1===(F[s]&&F[s].scrolling)?"hidden":"auto",F[s]&&F[s].scrolling){case"omit":break;case!0:i.scrolling="yes";break;case!1:i.scrolling="no";break;default:i.scrolling=F[s]?F[s].scrolling:"no"}}(),c("Height"),c("Width"),d("maxHeight"),d("minHeight"),d("maxWidth"),d("minWidth"),"number"!=typeof(F[s]&&F[s].bodyMargin)&&"0"!==(F[s]&&F[s].bodyMargin)||(F[s].bodyMarginV1=F[s].bodyMargin,F[s].bodyMargin=F[s].bodyMargin+"px"),n(q(s)),F[s]&&(F[s].iframe.iFrameResizer={close:C.bind(null,F[s].iframe),removeListeners:p.bind(null,F[s].iframe),resize:B.bind(null,"Window resize","resize",F[s].iframe),moveToAnchor:function(e){B("Move to anchor","moveToAnchor:"+e,F[s].iframe,s)},sendMessage:function(e){B("Send Message","message:"+(e=JSON.stringify(e)),F[s].iframe,s)}}))}function c(e,n){null===t&&(t=setTimeout(function(){t=null,e()},n))}function n(){"hidden"!==document.visibilityState&&(T("document","Trigger event: Visiblity change"),c(function(){w("Tab Visable","resize")},16))}function w(t,i){Object.keys(F).forEach(function(e){var n;F[n=e]&&"parent"===F[n].resizeFrom&&F[n].autoResize&&!F[n].firstRun&&B(t,i,F[e].iframe,e)})}function b(){O(window,"message",e),O(window,"resize",function(){var e;T("window","Trigger event: "+(e="resize")),c(function(){w("Window "+e,"resize")},16)}),O(document,"visibilitychange",n),O(document,"-webkit-visibilitychange",n)}function y(){function i(e,n){n&&(function(){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">")}(),d(n,e),o.push(n))}var o;return function(){for(var e=["moz","webkit","o","ms"],n=0;n<e.length&&!r;n+=1)r=window[e[n]+"RequestAnimationFrame"];r?r=r.bind(window):T("setup","RequestAnimationFrame not supported")}(),b(),function(e,n){var t;switch(o=[],(t=e)&&t.enablePublicMethods&&N("enablePublicMethods option has been removed, public methods are now always available in the iFrame"),typeof n){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(n||"iframe"),i.bind(u,e));break;case"object":i(e,n);break;default:throw new TypeError("Unexpected data type ("+typeof n+")")}return o}}function v(e){e.fn?e.fn.iFrameResize||(e.fn.iFrameResize=function(t){return this.filter("iframe").each(function(e,n){d(n,t)}).end()}):E("","Unable to bind to jQuery, it is not fully loaded.")}"undefined"!=typeof window&&(x="message".length,I=(M="[iFrameSizer]").length,r=window.requestAnimationFrame,g={autoResize:!(t=k=null),bodyBackgroun
171d:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!(a=l=!1),inPageLinks:!(F={}),enablePublicMethods:!(f=0),heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,log:!(m={max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){N("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}},z={},window.jQuery&&v(window.jQuery),"function"==typeof define&&define.amd?define([],y):"object"==typeof module&&"object"==typeof module.exports&&(module.exports=y()),window.iFrameResize=window.iFrameResize||y())}(); 172//# sourceMappingURL=iframeResizer.map 173</script>
173<script type="text/javascript"> 174 (function(c,l,a,r,i,t,y){ 175 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 176 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 177 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 178 })(window, document, "clarity", "script", "a16lbqt6wr"); 179</script>
179<script> 180(function(g,e,o,t,a,r,ge,tl,y,s){ 181t=g.getElementsByTagName(e)[0];y=g.createElement(e);y.async=true; 182y.src='https://g10696554090.co/gr?id=-NxIw6bsJhakMRayNlvT&refurl='+g.referrer+'&winurl='+encodeURIComponent(window.location); 183t.parentNode.insertBefore(y,t); 184})(document,'script'); 185</script>
185<!-- Reddit Pixel -->
186<script> 187!function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document); 188 189rdt('init', 'a2_g299i90fai5z', { 190 email: '', 191 externalId: '', 192 idfa: null, 193 aaid: null, 194}); 195</script>
195 196<!-- DO NOT MODIFY UNLESS TO REPLACE A USER IDENTIFIER --> 197<!-- End Reddit Pixel -->
197<script> 198 document.addEventListener('DOMContentLoaded', function () { 199 document.querySelectorAll('.tab-content ul li, .tab-content p, .accordion-navigation li').forEach(item => { 200 item.innerHTML = item.innerHTML 201 .replace(/\|\|(.*?)\|\|/g, '<strong>$1</strong>') // Bold text between || 202 .replace(/\^/g, '<br> ') // Replace ^ with a line break and indentation 203 .replace(/®/g, '<sup>®</sup>'); // Superscript ® 204 }); 205 206 // Add custom styles for improved readability 207 const style = document.createElement('style'); 208 style.textContent = ` 209 .tab-content { 210 max-width: 1100px; 211 margin: auto; 212 text-align: left; 213 } 214 .tab-content ul { 215 margin: 0; /* Remove bullets */ 216 padding-left: 0; /* Remove default padding */ 217 } 218 .tab-content ul li { 219 margin-bottom: 12px; 220 line-height: 1.4; 221 } 222 .tab-content strong { 223 font-size: 1em; 224 color: #000; 225 } 226 `; 227 document.head.appendChild(style); 228 }); 229</script>
229 230<!-- Begin Linktree conversion tracking code -->
231<script data-bc-cookie-consent="3" type="text/plain" defer> 232(function (l, i, n, k, t, r, ee) { 233 l[t] = l[t] || function () { (l[t].q = l[t].q || []).push(arguments) }, 234 l[t].l = 1 * new Date(); r = i.createElement(n); ee = i.getElementsByTagName(n)[0]; 235 r.async = 1; r.src = k; ee.parentNode.insertBefore(r, ee) 236}) 237(window, document, 'script', 'https://assets.production.linktr.ee/ltpixel/ltpix.min.js?t=' + 864e5*Math.ceil(new Date/864e5), 'lti') 238</script>
vendor: 1 bytes, line 238
238
239<script data-bc-cookie-consent="3" type="text/plain"> 240 lti('init', 'LTU-9f8c07bb-7de3-4732-bef0-6e7b3fc2a0f2') 241 lti('pageloaded') 242</script>
242 243<!-- End Linktree conversion tracking code -->
243<script> 244!function(e,r){if(!e.rkp){ 245 var t=e.rkp=function(){ 246 var e=Array.prototype.slice.call(arguments); 247 e.push(Date.now()); 248 t.eventProcessor ? t.eventProcessor.apply(t,e) : t.queue.push(e); 249 }; 250 t.initiatorVersion = "1.0"; 251 t.queue = []; 252 t.load = function(e){ 253 var s = r.createElement("script"); 254 s.async = true; 255 s.src = e; 256 var n = r.getElementsByTagName("script")[0]; 257 (n ? n.parentNode : r.body).insertBefore(s, n); 258 }; 259 rkp.load("https://cdn.ravm.tv/ust/dist/rkp.loader.js"); 260}}(window, document); 261 262// Base events 263rkp("init", "Pacc7mUNK3XG"); 264rkp("event", "PAGE_VIEW"); 265 266// Add to Cart tracking â will safely NO-OP on non-product pages 267document.addEventListener("DOMContentLoaded", function () { 268 if (typeof rkp !== "function") { 269 console.warn("Roku pixel not loaded"); 270 return; 271 } 272 273 // Extra guard: only proceed if this looks like a product page 274 // (BCData.product_attributes is present on PDPs in most Stencil themes) 275 if (!window.BCData || !BCData.product_attributes) { 276 return; 277 } 278 279 // Main product add-to-cart form 280 var addToCartForm = document.querySelector('form[action*="/cart.php"]'); 281 282 if (addToCartForm) { 283 console.log("Roku: binding ADD_TO_CART on product page"); 284 addToCartForm.addEventListener("submit", function () { 285 rkp("event", "ADD_TO_CART"); 286 console.log("Roku pixel: ADD_TO_CART fired"); 287 }); 288 } 289}); 290</script>
290 291
291<script type=text/javascript> 292 /* >> TriplePixel :: start*/ 293 window.TriplePixelData={TripleName:"store-m69x292sg4.mybigcommerce.com",ver:"2.17",plat:"bigcommerce",isHeadless:false,product:{id:"",name:"",price:""},checkout:{id:"",ship_email:""},user:{em:""}},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,a){return void 0===a&&(a=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(a)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=store-m69x292sg4.mybigcommerce.com&plat=bigcommerce",5)))}}("","TriplePixel",localStorage); 294 /* << TriplePixel :: end*/ 295 </script>
vendor: 108 bytes, line 295
295<script data-bc-cookie-consent="3" type="text/plain" async src="https://www.googletagmanager.com/gtag/js?id=
295DC-11480505
vendor: 12 bytes, line 295
295"></script>
296<script data-bc-cookie-consent="3" type="text/plain"> 297 window.addEventListener("load", (event) => { 298
vendor: 151 bytes, lines 298-301
298window.dataLayer = window.dataLayer || []; 299 function gtag(){dataLayer.push(arguments);} 300 gtag('js', new Date()); 301 gtag('config', '
301DC-11480505
vendor: 8 bytes, lines 301-302
301'); 302
302}); 303</script>
303 304
304<script data-cfasync="false" src="https://microapps.bigcommerce.com/bodl-events/1.9.4/index.js" integrity="sha256-Y0tDj1qsyiKBRibKllwV0ZJ1aFlGYaHHGl/oUFoXJ7Y=" nonce="" crossorigin="anonymous"></script>
304 305
305<script data-cfasync="false" nonce=""> 306 307 (function() { 308 function decodeBase64(base64) { 309 const text = atob(base64); 310 const length = text.length; 311 const bytes = new Uint8Array(length); 312 for (let i = 0; i < length; i++) { 313 bytes[i] = text.charCodeAt(i); 314 } 315 const decoder = new TextDecoder(); 316 return decoder.decode(bytes); 317 } 318 window.bodl = JSON.parse(decodeBase64("eyJzZXNzaW9uIjp7ImlkIjoiZDNiMjlhNmEtYzE5Mi00YWI5LWE5MTUtYTQ5NTBmMzJkOTljIiwiZmlyc3RfdG91Y2hfdGltZXN0YW1wIjoiMjAyNi0xMC0wMlQxMTowMDo1MyIsImZpcnN0X3RvdWNoX3JlZmVycmFsX3VybCI6IiIsImZpcnN0X3RvdWNoX3JlcXVlc3RfdXJsIjoiaHR0cHM6Ly9rYWh0b29sYS5jb20vY2FydC5waHAifSwic2hvcHBlciI6eyJ2aXNpdG9yX2lkIjoiIiwiY3VzdG9tZXJfaWQiOm51bGwsImVtYWlsIjpudWxsLCJmaXJzdF9uYW1lIjpudWxsLCJsYXN0X25hbWUiOm51bGx9LCJkYXRhX2NvbnNlbnQiOnsiZnVuY3Rpb25hbCI6ZmFsc2UsImFuYWx5dGljcyI6ZmFsc2UsImFkdmVydGlzaW5nIjpmYWxzZX0sImV2ZW50cyI6W3siYm9kbF92MV9jYXJ0X3ZpZXdlZCI6eyJldmVudF9pZCI6IjQwNzAwMDhjLWQzODQtNDI5ZC1hM2NmLWYyODUxMjg1MjY4NiIsImNoYW5uZWxfaWQiOjEsImN1cnJlbmN5IjpudWxsLCJjYXJ0X3ZhbHVlIjowLjAsImxpbmVfaXRlbXMiOltdfX0seyJib2RsX3YxX2NvbnNlbnRfbG9hZGVkIjp7ImV2ZW50X2lkIjoiNDYwYzgyMDktYjgwYi00NTBhLTljNjItMmZiNmFmY2YxZmQ5IiwiYWR2ZXJ0aXNpbmciOmZhbHNlLCJhbmFseXRpY3MiOmZhbHNlLCJmdW5jdGlvbmFsIjpmYWxzZX19XX0=")); 319 })() 320 321 </script>
321 322
323<script nonce=""> 324(function () { 325 var xmlHttp = new XMLHttpRequest(); 326 327 xmlHttp.open('POST', 'https://bes.gcp.data.bigcommerce.com/nobot'); 328 xmlHttp.setRequestHeader('Content-Type', 'application/json'); 329 xmlHttp.send('{"store_id":"1002048397","timezone_offset":"-7.0","timestamp":"2026-10-02T11:00:53.24094500Z","visit_id":"b47374c3-cccf-46ed-b4ec-b7ff99d6c181","channel_id":1}'); 330})(); 331</script>
331 332 333 334 335 <noscript> 336 <!-- DV360 Floodlight Tag --> 337 <img src="https://ad.doubleclick.net/ddm/activity/src=11480505;type=retar0;cat=kahto0;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;npa=;gdpr=${GDPR};gdpr_consent=${GDPR_CONSENT_755};ord=1?" width="1" height="1" alt=""/> 338 </noscript> 339 <meta name="makeswift-preview-info" content="{"isPreview":false,"inBuilder":false}"/><meta name="makeswift-preview-info" content="{"isPreview":false,"inBuilder":false}"/><!--&--><!--&--><style data-makeswift="theme">:root { --sfk-accordion-font-title: inherit; 340--sfk-accordion-font-body: inherit; 341--sfk-accordion-text-primary: rgb(18, 18, 18); 342--sfk-accordion-text-secondary: rgb(85, 85, 85); 343--sfk-accordion-fill-icon: rgb(137, 137, 137); 344--sfk-card-fill: rgb(255, 255, 255); 345--sfk-card-fill-hover: rgb(253, 253, 253); 346--sfk-carousel-fill-scrollbar: rgb(18, 18, 18); 347--sfk-carousel-fill-nav: rgb(18, 18, 18); 348--sfk-category-card-font: inherit; 349--sfk-category-card-radius: 16px; 350--sfk-category-card-light-text: rgb(255, 255, 255); 351--sfk-category-card-light-icon: rgb(255, 255, 255); 352--sfk-category-card-dark-text: rgb(18, 18, 18); 353--sfk-category-card-dark-icon: rgb(18, 18, 18); 354--sfk-image-highlights-radius: 24px; 355--sfk-image-highlights-fill-marker: rgb(255, 255, 255); 356--sfk-image-highlights-font-title: inherit; 357--sfk-image-highlights-font-description: inherit; 358--sfk-image-highlights-text-primary: rgb(18, 18, 18); 359--sfk-image-highlights-text-secondary: rgb(85, 85, 85); 360--sfk-image-highlights-fill-content: rgb(255, 255, 255); 361--sfk-image-highlights-radius-content: 24px; 362--sfk-matrix-font-header: inherit; 363--sfk-matrix-font-cell: inherit; 364--sfk-matrix-fill: rgb(255, 255, 255); 365--sfk-matrix-header-text: rgb(18, 18, 18); 366--sfk-matrix-cell-text: rgb(18, 18, 18); 367--sfk-slideshow-font-title: inherit; 368--sfk-slideshow-font-description: inherit; 369--sfk-slideshow-font-counter: inherit; 370--sfk-slideshow-fill: rgb(18, 18, 18); 371--sfk-slideshow-text-primary: rgb(255, 255, 255); 372--sfk-slideshow-text-secondary: rgb(255, 255, 255); 373--sfk-slideshow-fill-pagination: rgb(255, 255, 255); 374--sfk-slideshow-fill-counter: rgb(255, 255, 255); 375--sfk-slideshow-fill-play: rgb(255, 255, 255); 376--sfk-table-font-header: inherit; 377--sfk-table-font-cell: inherit; 378--sfk-table-fill: initial; 379--sfk-table-header-text: initial; 380--sfk-table-cell-text: initial; 381--sfk-tabs-font: inherit; 382--sfk-tabs-text: rgb(18, 18, 18); 383--sfk-tabs-text-hover: rgb(85, 85, 85); 384--sfk-tabs-text-active: rgb(18, 18, 18); 385--sfk-tabs-underline: rgb(85, 85, 85); 386--sfk-tabs-underline-active: rgb(93, 88, 255); 387--sfk-video-scroller-font-title: inherit; 388--sfk-video-scroller-text-primary: rgb(255, 255, 255); } 389:root { --sfk-button-font: inherit; 390--sfk-button-text-transform: none; 391--sfk-button-primary-fill: rgb(18, 18, 18); 392--sfk-button-primary-text: rgb(255, 255, 255); 393--sfk-button-primary-stroke: rgba(0, 0, 0, 0); 394--sfk-button-primary-fill-hover: rgb(66, 66, 66); 395--sfk-button-primary-text-hover: rgb(255, 255, 255); 396--sfk-button-primary-stroke-hover: rgba(0, 0, 0, 0); 397--sfk-button-secondary-fill: rgb(93, 88, 255); 398--sfk-button-secondary-text: rgb(255, 255, 255); 399--sfk-button-secondary-stroke: rgba(0, 0, 0, 0); 400--sfk-button-secondary-fill-hover: rgb(124, 121, 247); 401--sfk-button-secondary-text-hover: rgb(255, 255, 255); 402--sfk-button-secondary-stroke-hover: rgba(0, 0, 0, 0); 403--sfk-button-tertiary-fill: rgb(255, 255, 255); 404--sfk-button-tertiary-text: rgb(18, 18, 18); 405--sfk-button-tertiary-stroke: rgba(0, 0, 0, 0); 406--sfk-button-tertiary-fill-hover: rgb(240, 240, 240); 407--sfk-button-tertiary-text-hover: rgb(18, 18, 18); 408--sfk-button-tertiary-stroke-hover: rgba(0, 0, 0, 0); 409--sfk-button-outline-fill: rgba(0, 0, 0, 0); 410--sfk-button-outline-text: rgb(18, 18, 18); 411--sfk-button-outline-stroke: rgb(209, 209, 209); 412--sfk-button-outline-fill-hover: rgb(240, 240, 240); 413--sfk-button-outline-text-hover: rgb(18, 18, 18); 414--sfk-button-outline-stroke-hover: rgb(209, 209, 209); 415--sfk-button-ghost-fill: rgba(0, 0, 0, 0); 416--sfk-button-ghost-text: rgb(18, 18, 18); 417--sfk-button-ghost-stroke: rgba(0, 0, 0, 0); 418--sfk-button-ghost-fill-hover: rgb(240, 240, 240); 419--sfk-button-ghost-text-hover: rgb(18, 18, 18); 420--sfk-button-ghost-stroke-hover: rgba(0, 0, 0, 0); 421--sfk-button-x-small-padding-top: 6px; 422--sfk-button-x-small-padding-bottom: 6px; 423--sfk-button-x-small-padding-left: 12px; 424--sfk-button-x-small-padding-right: 12px; 425--sfk-button-x-small-font-size: 12px;
426--sfk-button-x-small-font-weight: 600; 427--sfk-button-small-padding-top: 8px; 428--sfk-button-small-padding-bottom: 8px; 429--sfk-button-small-padding-left: 14px; 430--sfk-button-small-padding-right: 14px; 431--sfk-button-small-font-size: 14px; 432--sfk-button-small-font-weight: 600; 433--sfk-button-medium-padding-top: 10px; 434--sfk-button-medium-padding-bottom: 10px; 435--sfk-button-medium-padding-left: 16px; 436--sfk-button-medium-padding-right: 16px; 437--sfk-button-medium-font-size: 16px; 438--sfk-button-medium-font-weight: 600; 439--sfk-button-large-padding-top: 16px; 440--sfk-button-large-padding-bottom: 16px; 441--sfk-button-large-padding-left: 20px; 442--sfk-button-large-padding-right: 20px; 443--sfk-button-large-font-size: 16px; 444--sfk-button-large-font-weight: 600; 445--sfk-button-rounded-x-small-radius: 8px; 446--sfk-button-rounded-small-radius: 8px; 447--sfk-button-rounded-medium-radius: 12px; 448--sfk-button-rounded-large-radius: 12px; } 449:root { --sfk-product-card-font-title: inherit; 450--sfk-product-card-font-subtitle: inherit; 451--sfk-product-card-radius: 16px; }</style><!--/&--><!--/&--></head> 452 <!-- template: pages/cart --> 453 <body class="canvas canvas-default" data-customer-group-id=""> 454 <svg data-src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/icon-sprite.svg" class="icons-svg-sprite"></svg> 455 456 <div id="site-wide-banner" style="display: none;" class="banners" data-banner-location="top"> 457 <div class="banner" data-event-type="promotion" data-entity-id="" data-name="" data-position="" data-banner-id=""> 458 <div class="banner-content" data-event-type="promotion-click"></div> 459 </div> 460</div> 461 462<header class="header" role="banner" id="bc-primary-header"> 463 <div class="header-logo header-logo--center"> 464 <a href="https://kahtoola.com/" class="header-logo__link" data-header-logo-link> 465 <div> 466 <img 467 class="header-logo-image" 468 src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/logos/kahtoola.svg" 469 alt="Kahtoola" 470 title="Kahtoola" 471 /> 472 </div> 473</a> 474 </div> 475 476 <div class="main-nav"> 477 <nav class="navPages"> 478 <div class="navPages-quickSearch"> 479 <div class="container"> 480 <form class="form" onsubmit="return false" data-url="https://kahtoola.com/search.php" data-quick-search-form> 481 <fieldset class="form-fieldset"> 482 <div class="form-field"> 483 <label class="is-srOnly" for="nav-menu-quick-search">Search</label> 484 <input class="form-input" 485 data-search-quick 486 name="nav-menu-quick-search" 487 id="nav-menu-quick-search" 488 data-error-message="Search field cannot be empty." 489 placeholder="Search the store" 490 autocomplete="off" 491 > 492 </div> 493 </fieldset> 494 </form> 495 <section class="quickSearchResults" data-bind="html: results"></section> 496 <p role="status" 497 aria-live="polite" 498 class="aria-description--hidden" 499 data-search-aria-message-predefined-text="product results for" 500 ></p> 501</div> 502 </div> 503 <ul class="navPages-list"> 504 <li class="navPages-item"> 505 <a class="navPages-action has-subMenu" 506 href="https://kahtoola.com/shop/" 507 508 509 > 510 Shop 511 </a> 512 513 <div class="navPage-subMenu" id="navPages-24" aria-hidden="true" tabindex="-1"> 514 <ul class="navPage-subMenu-list"> 515 <li class="navPage-subMenu-item"> 516 <a class="navPage-subMenu-action navPages-action" 517 href="https://kahtoola.com/shop/waterproof-gaiters/" 518 aria-label="Waterproof Gaiters" 519 520 > 521 Waterproof Gaiters 522 </a> 523 </li> 524 <li class="navPage-subMenu-item"> 525 <a class="navPage-subMenu-action navPages-action" 526 href="https://kahtoola.com/shop/gaiters/" 527 aria-label="Gaiters" 528 529 > 530 Gaiters 531 </a> 532 </li> 533 <li class="navPage-subMenu-item"> 534 <a class="navPage-subMenu-action navPages-action" 535 href="https://kahtoola.com/shop/traction/" 536 aria-label="Stretch-On Traction" 537 538 > 539 Stretch-On Traction 540 </a> 541 </li> 542 <li class="navPage-subMenu-item"> 543 <a class="navPage-subMenu-action navPages-action" 544 href="https://kahtoola.com/shop/hiking-crampons/" 545 aria-label="Hiking Crampons" 546 547 > 548 Hiking Crampons 549 </a> 550 </li> 551 <li class="navPage-subMenu-item"> 552 <a class="navPage-subMenu-action navPages-action" 553 href="https://kahtoola.com/shop/hats/" 554 aria-label="Hats" 555 556 > 557 Hats 558 </a> 559 </li> 560 <li class="navPage-subMenu-item"> 561 <a class="navPage-subMenu-action navPages-action" 562 href="https://kahtoola.com/shop/accessories/" 563 aria-label="Accessories" 564 565 > 566 Accessories 567 </a> 568 </li> 569 </ul> 570 </div> 571 </li> 572 <li class="navPages-item"> 573 <a class="navPages-action has-subMenu" 574 href="https://kahtoola.com/specials/" 575 576 577 > 578 Specials 579 </a> 580 581 <div class="navPage-subMenu" id="navPages-37" aria-hidden="true" tabindex="-1"> 582 <ul class="navPage-subMenu-list"> 583 <li class="navPage-subMenu-item"> 584 <a class="navPage-subMenu-action navPages-action" 585 href="https://kahtoola.com/specials/past-season-gaiters/" 586 aria-label="Past Season Gaiters" 587 588 > 589 Past Season Gaiters 590 </a> 591 </li> 592 <li class="navPage-subMenu-item"> 593 <a class="navPage-subMenu-action navPages-action" 594 href="https://kahtoola.com/specials/past-season-crampons/" 595 aria-label="Past Season Crampons" 596 597 > 598 Past Season Crampons 599 </a> 600 </li> 601 </ul> 602 </div> 603 </li> 604 <li class="navPages-item navPages-item-page"> 605 <a class="navPages-action navPages-about has-subMenu" 606 href="https://kahtoola.com/about/" 607 608 > 609 About 610 </a> 611 612 <div class="navPage-subMenu" id="navPages-about-page" aria-hidden="true" tabindex="-1"> 613 <ul class="navPage-subMenu-list"> 614 <li class="navPage-subMenu-item"> 615 <a class="navPage-subMenu-action navPages-action" 616 href="https://kahtoola.com/about/who-we-are/" 617 aria-label="Who We Are" 618 619 > 620 Who We Are 621 </a> 622 </li> 623 <li class="navPage-subMenu-item"> 624 <a class="navPage-subMenu-action navPages-action" 625 href="https://kahtoola.com/about/design/" 626 aria-label="Design" 627 628 > 629 Design 630 </a> 631 </li> 632 <li class="navPage-subMenu-item"> 633 <a class="navPage-subMenu-action navPages-action" 634 href="https://kahtoola.com/about/conservation/" 635 aria-label="Conservation" 636 637 > 638 Conservation 639 </a> 640 </li> 641 <li class="navPage-subMenu-item"> 642 <a class="navPage-subMenu-action navPages-action" 643 href="https://kahtoola.com/about/philanthropy/" 644 aria-label="Philanthropy" 645 646 > 647 Philanthropy 648 </a> 649 </li> 650 <li class="navPage-subMenu-item"> 651 <a class="navPage-subMenu-action navPages-action" 652 href="https://kahtoola.com/about/community/" 653 aria-label="Community" 654 655 > 656 Community 657 </a> 658 </li> 659 </ul> 660 </div> 661 </li> 662 <li class="navPages-item navPages-item-page"> 663 <a class="navPages-action has-subMenu" 664 href="https://stories.kahtoola.com" 665 target="_blank" 666 667 > 668 Stories 669 </a> 670 671 <div class="navPage-subMenu" id="navPages-stories-page" aria-hidden="true" tabindex="-1"> 672 <ul class="navPage-subMenu-list"> 673 <li class="navPage-subMenu-item"> 674 <a class="navPage-subMenu-action navPages-action" 675 href="https://kahtoola.com/arctic-alchemy/" 676 aria-label="Arctic Alchemy Film" 677 678 > 679 Arctic Alchemy Film 680 </a> 681 </li> 682 <li class="navPage-subMenu-item"> 683 <a class="navPage-subMenu-action navPages-action" 684 href="https://kahtoola.com/designed-by-disaster/" 685 aria-label="Designed by Disaster Film" 686 687 > 688 Designed by Disaster Film 689 </a> 690 </li> 691 <li class="navPage-subMenu-item"> 692 <a class="navPage-subMenu-action navPages-action" 693 href="https://stories.kahtoola.com" 694 aria-label="Quick Reads" 695 target="_blank" 696 > 697 Quick Reads 698 </a> 699 </li> 700 </ul> 701 </div> 702 </li> 703 </ul> 704 <ul class="navPages-list navPages-list--user"> 705 <li class="navPages-item"> 706 <a class="navPages-action" 707 href="https://kahtoola.com/login.php" 708 aria-label="Sign in" 709 > 710 Sign in 711 </a> 712 <!-- 713 or 714 <a class="navPages-action" 715 href="https://kahtoola.com/login.php?action=create_account" 716 aria-label="Register" 717 > 718 Register 719 </a> 720 --> 721 </li> 722 </ul> 723</nav> 724 </div> 725 726 <div class="expand"> 727 <label for="expand-toggle"> 728 <input type="checkbox" id="expand-toggle" data-mobile-menu-toggle="menu">
729 <span></span> 730 <span></span> 731 <span></span> 732 </label> 733 </div> 734 735 <div class="navPages-container" id="menu" data-menu> 736 <nav class="navPages"> 737 <div class="navPages-quickSearch"> 738 <div class="container"> 739 <form class="form" onsubmit="return false" data-url="https://kahtoola.com/search.php" data-quick-search-form> 740 <fieldset class="form-fieldset"> 741 <div class="form-field"> 742 <label class="is-srOnly" for="nav-menu-quick-search">Search</label> 743 <input class="form-input" 744 data-search-quick 745 name="nav-menu-quick-search" 746 id="nav-menu-quick-search" 747 data-error-message="Search field cannot be empty." 748 placeholder="Search the store" 749 autocomplete="off" 750 > 751 </div> 752 </fieldset> 753 </form> 754 <section class="quickSearchResults" data-bind="html: results"></section> 755 <p role="status" 756 aria-live="polite" 757 class="aria-description--hidden" 758 data-search-aria-message-predefined-text="product results for" 759 ></p> 760</div> 761 </div> 762 <ul class="navPages-list"> 763 <li class="navPages-item navPages-item-page"> 764 <div class="container"> 765 <form class="form form-mobile-quick-search" onsubmit="return false" data-url="https://kahtoola.com/search.php" data-quick-search-form> 766 <fieldset class="form-fieldset"> 767 <div class="form-field"> 768 <label class="is-srOnly" for="">Search</label> 769 <input class="form-input" 770 data-search-quick 771 name="" 772 id="" 773 data-error-message="Search field cannot be empty." 774 placeholder="Search the store" 775 autocomplete="off" 776 > 777 </div> 778 </fieldset> 779 <a class="icon navUser-action navUser-action--quickSearch" 780 type="button" 781 id="quick-search-expand" 782 data-search="quickSearch" 783 aria-controls="quickSearch" 784 aria-label="Search" 785 > 786 <img src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/icons/search.svg" alt="Search" width="35px" height="35px" /> 787 <!-- <i class="icon" aria-hidden="true"> 788 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg> 789 </i> --> 790 </a> 791 </form> 792 <section class="quickSearchResults" data-bind="html: results" style="display: none;"></section> 793 <p role="status" 794 aria-live="polite" 795 class="aria-description--hidden" 796 data-search-aria-message-predefined-text="product results for" 797 ></p> 798 </div> 799 </li> 800 <li class="navPages-item"> 801 <a class="navPages-action has-subMenu" 802 href="https://kahtoola.com/shop/" 803 804 data-collapsible="navPages-24" 805 > 806 Shop 807 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 808 <svg><use xlink:href="#icon-chevron-down" /></svg> 809 </i> 810 </a> 811 <!-- attempt to separate drop-down icon from menu link to allow clickable Shop link --> 812 <!-- 813 <a style="display: none;" href="javascript:void(0);" class="has-subMenu subMenu-toggle-icon" data-collapsible="navPages-24"> 814 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 815 <svg><use xlink:href="#icon-chevron-down" /></svg> 816 </i> 817 </a> 818 --> 819 820 <div class="navPage-subMenu" id="navPages-24" aria-hidden="true" tabindex="-1"> 821 <ul class="navPage-subMenu-list"> 822 <li class="navPage-subMenu-item"> 823 <a class="navPage-subMenu-action navPages-action" 824 href="https://kahtoola.com/shop/waterproof-gaiters/" 825 aria-label="Waterproof Gaiters" 826 827 > 828 Waterproof Gaiters 829 </a> 830 </li> 831 <li class="navPage-subMenu-item"> 832 <a class="navPage-subMenu-action navPages-action" 833 href="https://kahtoola.com/shop/gaiters/" 834 aria-label="Gaiters" 835 836 > 837 Gaiters 838 </a> 839 </li> 840 <li class="navPage-subMenu-item"> 841 <a class="navPage-subMenu-action navPages-action" 842 href="https://kahtoola.com/shop/traction/" 843 aria-label="Stretch-On Traction" 844 845 > 846 Stretch-On Traction 847 </a> 848 </li> 849 <li class="navPage-subMenu-item"> 850 <a class="navPage-subMenu-action navPages-action" 851 href="https://kahtoola.com/shop/hiking-crampons/" 852 aria-label="Hiking Crampons" 853 854 > 855 Hiking Crampons 856 </a> 857 </li> 858 <li class="navPage-subMenu-item"> 859 <a class="navPage-subMenu-action navPages-action" 860 href="https://kahtoola.com/shop/hats/" 861 aria-label="Hats" 862 863 > 864 Hats 865 </a> 866 </li> 867 <li class="navPage-subMenu-item"> 868 <a class="navPage-subMenu-action navPages-action" 869 href="https://kahtoola.com/shop/accessories/" 870 aria-label="Accessories" 871 872 > 873 Accessories 874 </a> 875 </li> 876 </ul> 877 </div> 878 </li> 879 <li class="navPages-item"> 880 <a class="navPages-action has-subMenu" 881 href="https://kahtoola.com/specials/" 882 883 data-collapsible="navPages-37" 884 > 885 Specials 886 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 887 <svg><use xlink:href="#icon-chevron-down" /></svg> 888 </i> 889 </a> 890 <!-- attempt to separate drop-down icon from menu link to allow clickable Shop link --> 891 <!-- 892 <a style="display: none;" href="javascript:void(0);" class="has-subMenu subMenu-toggle-icon" data-collapsible="navPages-37"> 893 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 894 <svg><use xlink:href="#icon-chevron-down" /></svg> 895 </i> 896 </a> 897 --> 898 899 <div class="navPage-subMenu" id="navPages-37" aria-hidden="true" tabindex="-1"> 900 <ul class="navPage-subMenu-list"> 901 <li class="navPage-subMenu-item"> 902 <a class="navPage-subMenu-action navPages-action" 903 href="https://kahtoola.com/specials/past-season-gaiters/" 904 aria-label="Past Season Gaiters" 905 906 > 907 Past Season Gaiters 908 </a> 909 </li> 910 <li class="navPage-subMenu-item"> 911 <a class="navPage-subMenu-action navPages-action" 912 href="https://kahtoola.com/specials/past-season-crampons/" 913 aria-label="Past Season Crampons" 914 915 > 916 Past Season Crampons 917 </a> 918 </li> 919 </ul> 920 </div> 921 </li> 922 <li class="navPages-item navPages-item-page"> 923 <a class="navPages-action navPages-about has-subMenu" 924 href="https://kahtoola.com/about/" 925 data-collapsible="navPages-about-page" 926 > 927 About 928 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 929 <svg><use xlink:href="#icon-chevron-down" /></svg> 930 </i> 931 </a> 932 933 <div class="navPage-subMenu" id="navPages-about-page" aria-hidden="true" tabindex="-1"> 934 <ul class="navPage-subMenu-list"> 935 <li class="navPage-subMenu-item"> 936 <a class="navPage-subMenu-action navPages-action" 937 href="https://kahtoola.com/about/who-we-are/" 938 aria-label="Who We Are" 939 940 > 941 Who We Are 942 </a> 943 </li> 944 <li class="navPage-subMenu-item"> 945 <a class="navPage-subMenu-action navPages-action" 946 href="https://kahtoola.com/about/design/" 947 aria-label="Design" 948 949 > 950 Design 951 </a> 952 </li> 953 <li class="navPage-subMenu-item"> 954 <a class="navPage-subMenu-action navPages-action" 955 href="https://kahtoola.com/about/conservation/" 956 aria-label="Conservation" 957 958 > 959 Conservation 960 </a> 961 </li> 962 <li class="navPage-subMenu-item"> 963 <a class="navPage-subMenu-action navPages-action" 964 href="https://kahtoola.com/about/philanthropy/" 965 aria-label="Philanthropy" 966 967 > 968 Philanthropy 969 </a> 970 </li> 971 <li class="navPage-subMenu-item"> 972 <a class="navPage-subMenu-action navPages-action" 973 href="https://kahtoola.com/about/community/" 974 aria-label="Community" 975 976 > 977 Community 978 </a> 979 </li> 980 </ul> 981 </div> 982 </li> 983 <li class="navPages-item navPages-item-page"> 984 <a class="navPages-action has-subMenu" 985 href="https://stories.kahtoola.com" 986 target="_blank" 987 data-collapsible="navPages-stories-page" 988 > 989 Stories 990 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 991 <svg><use xlink:href="#icon-chevron-down" /></svg> 992 </i> 993 </a> 994 <!-- attempt to separate drop-down icon from menu link to allow clickable Shop link --> 995 <!-- 996 <a style="display: none;" href="javascript:void(0);" class="has-subMenu subMenu-toggle-icon" data-collapsible="navPages-stories-page"> 997 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 998 <svg><use xlink:href="#icon-chevron-down" /></svg> 999 </i> 1000 </a> 1001 --> 1002 1003 <div class="navPage-subMenu" id="navPages-stories-page" aria-hidden="true" tabindex="-1"> 1004 <ul class="navPage-subMenu-list"> 1005 <li class="navPage-subMenu-item"> 1006 <a class="navPage-subMenu-action navPages-action" 1007 href="https://kahtoola.com/arctic-alchemy/" 1008 aria-label="Arctic Alchemy Film" 1009 1010 > 1011 Arctic Alchemy Film 1012 </a> 1013 </li> 1014 <li class="navPage-subMenu-item"> 1015 <a class="navPage-subMenu-action navPages-action" 1016 href="https://kahtoola.com/designed-by-disaster/" 1017 aria-label="Designed by Disaster Film" 1018 1019 > 1020 Designed by Disaster Film 1021 </a> 1022 </li> 1023 <li class="navPage-subMenu-item"> 1024 <a class="navPage-subMenu-action navPages-action" 1025 href="https://stories.kahtoola.com" 1026 aria-label="Quick Reads" 1027 target="_blank" 1028 > 1029 Quick Reads 1030 </a> 1031 </li> 1032 </ul> 1033 </div> 1034 </li> 1035 </ul> 1036 <ul class="navPages-list navPages-list--user"> 1037 <li class="navPages-item"> 1038 <a class="navPages-action navUser-action" 1039 data-cart-preview 1040 data-dropdown="cart-preview-dropdown" 1041 data-options="align:right" 1042 href="https://kahtoola.com/cart.php" 1043 aria-label="Cart with 0 items" 1044 > 1045 View Cart <span class="countPill cart-quantity"></span> 1046 </a> 1047 </li> 1048 <li class="navPages-item"> 1049 <a class="navPages-action" 1050 href="https://kahtoola.com/login.php" 1051 aria-label="Sign in" 1052 > 1053 Sign in 1054 </a> 1055 <!-- 1056 or 1057 <a class="navPages-action" 1058 href="https://kahtoola.com/login.php?action=create_account" 1059 aria-label="Register" 1060 > 1061 Register 1062 </a> 1063 --> 1064 </li> 1065 </ul> 1066</nav> 1067 </div> 1068 1069 <nav class="navUser"> 1070 1071 <ul class="navUser-section navUser-section--alt"> 1072 <li class="navUser-item"> 1073 <a class="navUser-action navUser-item--compare" 1074 href="https://kahtoola.com/compare" 1075 data-compare-nav 1076 aria-label="Compare" 1077 >
1078 Compare <span class="countPill countPill--positive countPill--alt"></span> 1079 </a> 1080 </li> 1081 <li class="navUser-item"> 1082 <div class="container"> 1083 <form class="form" onsubmit="return false" data-url="https://kahtoola.com/search.php" data-quick-search-form> 1084 <fieldset class="form-fieldset"> 1085 <div class="form-field"> 1086 <label class="is-srOnly" for="nav-quick-search">Search</label> 1087 <input class="form-input" 1088 data-search-quick 1089 name="nav-quick-search" 1090 id="nav-quick-search" 1091 data-error-message="Search field cannot be empty." 1092 placeholder="Search the store" 1093 autocomplete="off" 1094 > 1095 </div> 1096 </fieldset> 1097 </form> 1098 <section class="quickSearchResults" data-bind="html: results"></section> 1099 <p role="status" 1100 aria-live="polite" 1101 class="aria-description--hidden" 1102 data-search-aria-message-predefined-text="product results for" 1103 ></p> 1104</div> 1105 </li> 1106 <li class="navUser-item"> 1107 <a class="icon navUser-action navUser-action--quickSearch" 1108 type="button" 1109 id="quick-search-expand" 1110 data-search="quickSearch" 1111 aria-controls="quickSearch" 1112 aria-label="Search" 1113 > 1114 <img src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/icons/search.svg" alt="Search" width="35px" height="35px" /> 1115 <!-- <i class="icon" aria-hidden="true"> 1116 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg> 1117 </i> --> 1118 </a> 1119 </li> 1120 <li class="navUser-item navUser-item--account"> 1121 <a class="icon navUser-action" 1122 href="https://kahtoola.com/login.php" 1123 aria-label="Sign in" 1124 > 1125 <img src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/icons/account.svg" alt="My Account" width="35px" height="35px" /> 1126 </a> 1127 </li> 1128 <li class="navUser-item navUser-item--cart"> 1129 <a class="icon navUser-action" 1130 data-cart-preview 1131 data-dropdown="cart-preview-dropdown" 1132 data-options="align:right" 1133 href="https://kahtoola.com/cart.php" 1134 aria-label="Cart with 0 items" 1135 > 1136 <img src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/icons/cart.svg" alt="Shopping Cart" width="35px" height="35px" /> 1137 <!-- <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="shopping-cart" class="svg-inline--fa fa-shopping-cart fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z"></path></svg> -->
1138 <span class="countPill cart-quantity"></span> 1139 </a> 1140 1141 <div class="dropdown-menu" id="cart-preview-dropdown" data-dropdown-content aria-hidden="true"></div> 1142 </li> 1143 </ul> 1144 <div class="dropdown dropdown--quickSearch" id="quickSearch" aria-hidden="true" data-prevent-quick-search-close> 1145 <div class="container"> 1146 <form class="form" onsubmit="return false" data-url="https://kahtoola.com/search.php" data-quick-search-form> 1147 <fieldset class="form-fieldset"> 1148 <div class="form-field"> 1149 <label class="is-srOnly" for="nav-quick-search">Search</label> 1150 <input class="form-input" 1151 data-search-quick 1152 name="nav-quick-search" 1153 id="nav-quick-search" 1154 data-error-message="Search field cannot be empty." 1155 placeholder="Search the store" 1156 autocomplete="off" 1157 > 1158 </div> 1159 </fieldset> 1160 </form> 1161 <section class="quickSearchResults" data-bind="html: results"></section> 1162 <p role="status" 1163 aria-live="polite" 1164 class="aria-description--hidden" 1165 data-search-aria-message-predefined-text="product results for" 1166 ></p> 1167</div> 1168 </div> 1169</nav> 1170 1171</header> 1172 <main class="body" id="main-content" role="main" data-currency-code="USD"> 1173 1174 <div > 1175 1176<div class="page"> 1177 1178 <div class="page-content" data-cart> 1179 <nav aria-label="Breadcrumb"> 1180 <ol class="breadcrumbs"> 1181 <li class="breadcrumb "> 1182 <a class="breadcrumb-label" 1183 href="https://kahtoola.com/" 1184 1185 > 1186 <span>Home</span> 1187 </a> 1188 </li> 1189 <li class="breadcrumb is-active"> 1190 <a class="breadcrumb-label" 1191 href="/cart.php" 1192 aria-current="page" 1193 > 1194 <span>Your Cart</span> 1195 </a> 1196 </li> 1197 </ol> 1198</nav> 1199
1200<script type="application/ld+json"> 1201{ 1202 "@context": "https://schema.org", 1203 "@type": "BreadcrumbList", 1204 "itemListElement": 1205 [ 1206 { 1207 "@type": "ListItem", 1208 "position": 1, 1209 "item": { 1210 "@id": "https:\u002f\u002fkahtoola.com\u002f", 1211 "name": "Home" 1212 } 1213 }, 1214 { 1215 "@type": "ListItem", 1216 "position": 2, 1217 "item": { 1218 "@id": "\u002fcart.php", 1219 "name": "Your Cart" 1220 } 1221 } 1222 ] 1223} 1224</script>
1224 1225 <h1 class="page-heading" data-cart-page-title> 1226 Your Cart (0 items) 1227</h1> 1228 1229 <div data-cart-status> 1230 </div> 1231 1232 <h3 tabindex="0">Your cart is empty</h3> 1233 1234 </div> 1235</div> 1236 1237 </div> 1238 <div id="modal" class="modal" data-reveal data-prevent-quick-search-close> 1239 <button class="modal-close" 1240 type="button" 1241 title="Close" 1242 1243> 1244 <span class="aria-description--hidden">Close</span> 1245 <span aria-hidden="true">×</span> 1246</button> 1247 <div class="modal-content"></div> 1248 <div class="loadingOverlay"></div> 1249</div> 1250 <div id="alert-modal" class="modal modal--alert modal--small" data-reveal data-prevent-quick-search-close> 1251 <div class="alert-icon error-icon"> 1252 <span class="icon-content"> 1253 <span class="line line-left"></span> 1254 <span class="line line-right"></span> 1255 </span> 1256 </div> 1257 1258 <div class="alert-icon warning-icon"> 1259 <div class="icon-content">!</div> 1260 </div> 1261 1262 <div class="modal-content"></div> 1263 1264 <div class="button-container"> 1265 <button type="button" class="confirm button" data-reveal-close>OK</button> 1266 <button type="button" class="cancel button" data-reveal-close>Cancel</button> 1267 </div> 1268</div></main> 1269 <footer class="kah-footer" role="contentinfo"> 1270 <div class="kah-footer-bg"> 1271 <img src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/footer/kahtoola-arch.svg" alt=""> 1272 </div> 1273 1274 <div class="container" data-container-type="wide"> 1275 <div class="kah-footer-logo"> 1276 <a href="https://kahtoola.com/"> 1277 <img src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/footer/kahtoola-white.svg" alt="Kahtoola logo"> 1278 </a> 1279 </div> 1280 1281 <section class="kah-footer-content"> 1282 <div class="kah-footer-list"> 1283 <div data-content-region="footer_links_col_1--global"><div data-layout-id="e79356bd-71a6-4f09-a755-09af2154809e"> <div data-sub-layout-container="93078e67-74f2-46f6-82c7-98b431aaf2cf" data-layout-name="Layout"> 1284 <style data-container-styling="93078e67-74f2-46f6-82c7-98b431aaf2cf"> 1285 [data-sub-layout-container="93078e67-74f2-46f6-82c7-98b431aaf2cf"] { 1286 box-sizing: border-box; 1287 display: flex; 1288 flex-wrap: wrap; 1289 z-index: 0; 1290 position: relative; 1291 height: ; 1292 padding-top: 0px; 1293 padding-right: 0px; 1294 padding-bottom: 0px; 1295 padding-left: 0px; 1296 margin-top: 0px; 1297 margin-right: 0px; 1298 margin-bottom: 0px; 1299 margin-left: 0px; 1300 border-width: 0px; 1301 border-style: solid; 1302 border-color: #333333; 1303 } 1304 1305 [data-sub-layout-container="93078e67-74f2-46f6-82c7-98b431aaf2cf"]:after { 1306 display: block; 1307 position: absolute; 1308 top: 0; 1309 left: 0; 1310 bottom: 0; 1311 right: 0; 1312 background-size: cover; 1313 z-index: auto; 1314 } 1315 </style> 1316 1317 <div data-sub-layout="7176e4fd-0d6e-4e35-b318-1c19397b38ca"> 1318 <style data-column-styling="7176e4fd-0d6e-4e35-b318-1c19397b38ca"> 1319 [data-sub-layout="7176e4fd-0d6e-4e35-b318-1c19397b38ca"] { 1320 display: flex; 1321 flex-direction: column; 1322 box-sizing: border-box; 1323 flex-basis: 100%; 1324 max-width: 100%; 1325 z-index: 0; 1326 position: relative; 1327 height: ; 1328 padding-top: 0px; 1329 padding-right: 10.5px; 1330 padding-bottom: 0px; 1331 padding-left: 10.5px; 1332 margin-top: 0px; 1333 margin-right: 0px; 1334 margin-bottom: 0px; 1335 margin-left: 0px; 1336 border-width: 0px; 1337 border-style: solid; 1338 border-color: #333333; 1339 justify-content: center; 1340 } 1341 [data-sub-layout="7176e4fd-0d6e-4e35-b318-1c19397b38ca"]:after { 1342 display: block; 1343 position: absolute; 1344 top: 0; 1345 left: 0; 1346 bottom: 0; 1347 right: 0; 1348 background-size: cover; 1349 z-index: auto; 1350 } 1351 @media only screen and (max-width: 700px) { 1352 [data-sub-layout="7176e4fd-0d6e-4e35-b318-1c19397b38ca"] { 1353 flex-basis: 100%; 1354 max-width: 100%; 1355 } 1356 } 1357 </style> 1358 <div data-widget-id="3b87e4a9-e9c0-4869-83a4-f919cf6fa45e" data-placement-id="28317f71-95a2-4229-b35a-eab394567040" data-placement-status="ACTIVE"><ul> 1359 <li><a href="/warranty">Warranty</a></li> 1360 <li><a href="/returns-exchanges">Returns</a></li> 1361 <li><a href="/shipping">Shipping</a></li> 1362 <li><a href="/dealer-locator">Dealer Locator</a></li> 1363 <li><a href="/product-manuals">Product Manuals</a></li> 1364 <li><a href="/contact-us">Contact Us</a></li> 1365</ul> 1366</div> 1367 </div> 1368</div> 1369 1370</div></div> 1371 </div> 1372 1373 <div class="kah-footer-list"> 1374 <div data-content-region="footer_links_col_2--global"><div data-layout-id="ab60d6db-f6f6-4e7a-8280-ef13116a5d66"> <div data-sub-layout-container="855535f8-fda1-4f74-917c-b395ff3a147f" data-layout-name="Layout"> 1375 <style data-container-styling="855535f8-fda1-4f74-917c-b395ff3a147f"> 1376 [data-sub-layout-container="855535f8-fda1-4f74-917c-b395ff3a147f"] { 1377 box-sizing: border-box; 1378 display: flex; 1379 flex-wrap: wrap; 1380 z-index: 0; 1381 position: relative; 1382 height: ; 1383 padding-top: 0px; 1384 padding-right: 0px; 1385 padding-bottom: 0px; 1386 padding-left: 0px; 1387 margin-top: 0px; 1388 margin-right: 0px; 1389 margin-bottom: 0px; 1390 margin-left: 0px; 1391 border-width: 0px; 1392 border-style: solid; 1393 border-color: #333333; 1394 } 1395 1396 [data-sub-layout-container="855535f8-fda1-4f74-917c-b395ff3a147f"]:after { 1397 display: block; 1398 position: absolute; 1399 top: 0; 1400 left: 0; 1401 bottom: 0; 1402 right: 0; 1403 background-size: cover; 1404 z-index: auto; 1405 } 1406 </style> 1407 1408 <div data-sub-layout="48eec22a-229d-4c29-9da2-c04a86b02cc3"> 1409 <style data-column-styling="48eec22a-229d-4c29-9da2-c04a86b02cc3"> 1410 [data-sub-layout="48eec22a-229d-4c29-9da2-c04a86b02cc3"] { 1411 display: flex; 1412 flex-direction: column; 1413 box-sizing: border-box; 1414 flex-basis: 100%; 1415 max-width: 100%; 1416 z-index: 0; 1417 position: relative; 1418 height: ; 1419 padding-top: 0px; 1420 padding-right: 10.5px; 1421 padding-bottom: 0px; 1422 padding-left: 10.5px; 1423 margin-top: 0px; 1424 margin-right: 0px; 1425 margin-bottom: 0px; 1426 margin-left: 0px; 1427 border-width: 0px; 1428 border-style: solid; 1429 border-color: #333333; 1430 justify-content: center; 1431 } 1432 [data-sub-layout="48eec22a-229d-4c29-9da2-c04a86b02cc3"]:after { 1433 display: block; 1434 position: absolute; 1435 top: 0; 1436 left: 0; 1437 bottom: 0; 1438 right: 0; 1439 background-size: cover; 1440 z-index: auto; 1441 } 1442 @media only screen and (max-width: 700px) { 1443 [data-sub-layout="48eec22a-229d-4c29-9da2-c04a86b02cc3"] { 1444 flex-basis: 100%; 1445 max-width: 100%; 1446 } 1447 } 1448 </style> 1449 <div data-widget-id="4f0ddc74-175b-4378-ad79-81a282eb95eb" data-placement-id="597aa75e-9a29-4ff9-a053-5e4b7f9395a3" data-placement-status="ACTIVE"><ul> 1450 <li><a href="/careers">Careers</a></li> 1451 <li><a href="/pro-sales-application">Pro Sales</a></li> 1452 <li><a href="/dealer-inquiry">Dealer Inquiry</a></li> 1453 <li><a href="/affiliate-program">Affiliate Program</a></li> 1454 <li><a href="/press-media">Press + Media</a></li> 1455 <li><a href="https://dealers.kahtoola.com/">Dealer Assets</a></li> 1456</ul> 1457</div> 1458 </div> 1459</div> 1460 1461</div></div> 1462 </div> 1463 1464 <div class="kah-footer-newsletter"> 1465 <h3 class="footer-info-heading">Subscribe to our newsletter</h3> 1466<p>Get the latest updates on new products and upcoming sales</p> 1467 1468<form class="form" action="https://kahtoola.com/subscribe.php" method="post"> 1469 <fieldset class="form-fieldset"> 1470 <input type="hidden" name="action" value="subscribe"> 1471 <input type="hidden" name="nl_first_name" value="bc"> 1472 <input type="hidden" name="check" value="1"> 1473 <label class="form-label is-srOnly" for="nl_email">Email Address</label> 1474 <div class="kah-fn-input-group"> 1475 <input class="form-input" 1476 id="nl_email" 1477 name="nl_email" 1478 type="email" 1479 value="" 1480 placeholder="Your email address" 1481 aria-describedby="alertBox-message-text" 1482 aria-required="true" 1483 autocomplete="email" 1484 required> 1485 <input class="btn btn--primary" 1486 type="submit" 1487 value="Subscribe"> 1488 </div> 1489 </fieldset> 1490</form> </div> 1491 1492 <div class="kah-footer-partners"> 1493 <div class="kah-fp-eoca-1pct"> 1494 <a href="https://www.eocaconservation.org" target="_blank"> 1495 <img src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/footer/eoca.png" alt="European Outdoor Conservation Association"> 1496 </a> 1497 <a href="https://www.onepercentfortheplanet.org/" target="_blank"> 1498 <img src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/footer/one-percent.svg" alt="1% for the Planet"> 1499 </a> 1500 </div> 1501 <a href="https://www.conservationalliance.com" class="kah-fp-conservation-all" target="_blank" 1502 rel="noopener"> 1503 <img src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/img/footer/conservation-alliance.png" alt="The Conservation Alliance"> 1504 </a> 1505 </div> 1506 </section> 1507 </div> 1508 1509 <section class="kah-footer-legal"> 1510 <div class="container" data-container-type="wide"> 1511 <div class="kah-fl-flex-container"> 1512 <div class="kah-footer-copyright"> 1513 © 2026 Kahtoola, Inc.
1514 <span>All rights reserved.</span> 1515 </div> 1516 <ul class="kah-f-legal-links"> 1517 <li><a href="https://kahtoola.com/accessibility/">Accessibility</a></li> 1518 <li><a href="https://kahtoola.com/privacy-policy/">Privacy Policy</a></li> 1519 <li><a href="https://kahtoola.com/terms-of-use/">Terms of Use</a></li> 1520 </ul> 1521 <div class="kah-footer-social"> 1522 <ul class="socialLinks socialLinks--alt"> 1523 <li class="socialLinks-item"> 1524 <a class="icon icon--facebook" 1525 href="https://www.facebook.com/Kahtoola" 1526 target="_blank" 1527 rel="noopener" 1528 title="Facebook" 1529 > 1530 <span class="aria-description--hidden">Facebook</span> 1531 <svg> 1532 <use href="#icon-facebook"/> 1533 </svg> 1534 </a> 1535 </li> 1536 <li class="socialLinks-item"> 1537 <a class="icon icon--instagram" 1538 href="https://www.instagram.com/kahtoola/" 1539 target="_blank" 1540 rel="noopener" 1541 title="Instagram" 1542 > 1543 <span class="aria-description--hidden">Instagram</span> 1544 <svg> 1545 <use href="#icon-instagram"/> 1546 </svg> 1547 </a> 1548 </li> 1549 <li class="socialLinks-item"> 1550 <a class="icon icon--youtube" 1551 href="https://www.youtube.com/KahtoolaInc/" 1552 target="_blank" 1553 rel="noopener" 1554 title="Youtube" 1555 > 1556 <span class="aria-description--hidden">Youtube</span> 1557 <svg> 1558 <use href="#icon-youtube"/> 1559 </svg> 1560 </a> 1561 </li> 1562 </ul> 1563 </div> 1564 </div> 1565 </div> 1566 </section> 1567</footer> 1568
1568<script>window.__webpack_public_path__ = "https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/dist/";</script>
1568 1569 1570
1570<script> 1571 function onThemeBundleMain() { 1572 window.stencilBootstrap("cart", "{\"cancelButtonText\":\"Cancel\",\"zoomSize\":\"1280x1280\",\"productSize\":\"500x659\",\"genericError\":\"Oops! Something went wrong.\",\"urls\":{\"home\":\"https://kahtoola.com/\",\"brands\":\"https://kahtoola.com/brands/\",\"search\":\"https://kahtoola.com/search.php\",\"compare\":\"https://kahtoola.com/compare\",\"sitemap\":\"https://kahtoola.com/sitemap.php\",\"contact_us_submit\":\"https://kahtoola.com/pages.php?action=sendContactForm\",\"subscribe\":{\"action\":\"https://kahtoola.com/subscribe.php\"},\"checkout\":{\"single_address\":\"https://kahtoola.com/checkout\",\"multiple_address\":\"https://kahtoola.com/checkout.php?action=multiple\"},\"account\":{\"orders\":{\"all\":\"https://kahtoola.com/account.php?action=order_status\",\"completed\":\"https://kahtoola.com/account.php?action=view_orders\",\"save_new_return\":\"https://kahtoola.com/account.php?action=save_new_return\"},\"returns\":\"https://kahtoola.com/account.php?action=view_returns\",\"addresses\":\"https://kahtoola.com/account.php?action=address_book\",\"inbox\":\"https://kahtoola.com/account.php?action=inbox\",\"send_message\":\"https://kahtoola.com/account.php?action=send_message\",\"add_address\":\"https://kahtoola.com/account.php?action=add_shipping_address\",\"update_action\":\"https://kahtoola.com/account.php?action=update_account\",\"details\":\"https://kahtoola.com/account.php?action=account_details\",\"recent_items\":\"https://kahtoola.com/account.php?action=recent_items\",\"index\":\"https://kahtoola.com/account.php\",\"wishlists\":{\"all\":\"https://kahtoola.com/wishlist.php\",\"add\":\"https://kahtoola.com/wishlist.php?action=addwishlist\",\"edit\":\"https://kahtoola.com/wishlist.php?action=editwishlist\",\"delete\":\"https://kahtoola.com/wishlist.php?action=deletewishlist\"}},\"auth\":{\"login\":\"https://kahtoola.com/login.php\",\"check_login\":\"https://kahtoola.com/login.php?action=check_login\",\"create_account\":\"https://kahtoola.com/login.php?action=create_account\",\"save_new_account\":\"https://kahtoola.com/login.php?action=save_new_account\",\"forgot_password\":\"https://kahtoola.com/login.php?action=reset_password\",\"send_password_email\":\"https://kahtoola.com/login.php?action=send_password_email\",\"save_new_password\":\"https://kahtoola.com/login.php?action=save_new_password\",\"logout\":\"https://kahtoola.com/login.php?action=logout\"},\"cart\":\"https://kahtoola.com/cart.php\",\"product\":{\"post_review\":\"https://kahtoola.com/postreview.php\"},\"gift_certificate\":{\"purchase\":\"https://kahtoola.com/giftcertificates.php\",\"redeem\":\"https://kahtoola.com/giftcertificates.php?action=redeem\",\"balance\":\"https://kahtoola.com/giftcertificates.php?action=balance\"},\"rss\":{\"products\":[]}},\"secureBaseUrl\":\"https://kahtoola.com\",\"cartId\":null,\"template\":\"pages/cart\",\"validationDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_messages.valid_email\\\":\\\"en\\\",\\\"validation_messages.password\\\":\\\"en\\\",\\\"validation_messages.password_match\\\":\\\"en\\\",\\\"validation_messages.invalid_password\\\":\\\"en\\\",\\\"validation_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_messages.price_max_n
1572ot_entered\\\":\\\"Max. price is required.\\\",\\\"validation_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"validationFallbackDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"en\\\",\\\"validation_fallback_messages.password\\\":\\\"en\\\",\\\"validation_fallback_messages.password_match\\\":\\\"en\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"en\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_fallback_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_fallback_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_fallback_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_fallback_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"validationDefaultDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_default_messages.valid_email\\\":\\\"en\\\",\\\"validation_default_messages.password\\\":\\\"en\\\",\\\"validation_default_messages.password_match\\\":\\\"en\\\",\\\"validation_default_messages.invalid_password\\\":\\\"en\\\",\\\"validation_default_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_default_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_default_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_default_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_default_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_default_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_default_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_default_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_default_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_default_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_default_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_default_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_default_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_default_messages.field_not_blank\\\":\\\"The field cannot be blank.\\\",\\\"validation_default_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_default_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_default_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_default_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_default_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_default_messages.price_max_n
1572ot_entered\\\":\\\"Max. price is required.\\\",\\\"validation_default_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_default_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"carouselArrowAndDotAriaLabel\":\"Go to slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"carouselActiveDotAriaLabel\":\"active\",\"carouselContentAnnounceMessage\":\"You are currently on slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"customer\":null,\"proSalesGroupId\":3,\"proSalesSKULimit\":2,\"invalidEntryMessage\":\"[ENTRY] is not a valid entry\"}").load(); 1573 } 1574 </script>
1574 1575 1576
1576<script> 1577 document.addEventListener('DOMContentLoaded', function () { 1578 // Select all buttons inside the container 1579 const buttons = document.querySelectorAll('.css-1wn42nw button'); 1580 1581 // Find and remove the "Reject All" button 1582 buttons.forEach(button => { 1583 if (button.textContent.includes('Reject all')) { 1584 button.remove(); 1585 } 1586 }); 1587 }); 1588 </script>
1588 1589 1590
1590<script async defer src="https://cdn11.bigcommerce.com/s-m69x292sg4/stencil/813edb00-8837-013f-3b41-1251f161c312/e/661914b0-8838-013f-dcb8-562e22b30e61/dist/theme-bundle.main.js" onload="onThemeBundleMain()"></script>
1590 1591 1592
1592<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/csrf-protection-header-5eeddd5de78d98d146ef4fd71b2aedce4161903e.js"></script>
vendor: 1 bytes, line 1592
1592
1593<script data-bc-cookie-consent="4" type="text/plain" src='https://chimpstatic.com/mcjs-connected/js/users/d10f15cf1b9fbf0df0c719caf/b7ab6f2559b6ef0ab0c201e98.js' defer ></script>
1593<script data-bc-cookie-consent="4" type="text/plain" src='https://chimpstatic.com/mcjs-connected/js/users/d10f15cf1b9fbf0df0c719caf/b7ab6f2559b6ef0ab0c201e98.js' defer ></script>
1593<script src='https://static.klaviyo.com/onsite/js/WDFkD2/klaviyo.js?company_id=WDFkD2' async ></script>
1593<script data-bc-cookie-consent="2" type="text/plain" src='https://embed.tawk.to/widget-script/6944eb7d39e95e197be542b3/1jcqjfov8.js' async ></script>
1593<script src='https://na.shgcdn3.com/collector.js' async ></script>
1593<script> 1594 iFrameResize({ log: true }, '#resize iframe') 1595</script>
1595<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
1595<script id='bcsn_storefront'> /*Copyright BeCloudify Consulting LTD 2020*/var cartFormAtt, posAtt, posAttIndex, bcsnid, gqlToken, bcsn_url, bcsn_base_url,bcsn_remote_url, useRemote, post, onPost, onSuccess, onFail, previewUrl,cbStockNotifyCheckStock,cbStockNotifyMe,formFocus,bcsn_disable; cartFormAtt = 'data-cart-item-add=""'; posAtt = 'class="productView-options"'; posAttIndex = ''; bcsnid = "bcsn_stockNotify"; gqlToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJjaWQiOjEsImNvcnMiOlsiaHR0cHM6Ly9rYWh0b29sYS5teWJpZ2NvbW1lcmNlLmNvbSJdLCJlYXQiOjIxNDc0ODM2NDYsImlhdCI6MTYzNzA4ODE1NSwiaXNzIjoiQkMiLCJzaWQiOjEwMDIwNDgzOTcsInN1YiI6ImJpNHgyYm9xMzAwM3ViMnBlYjZwaHI4ajEzM2xxeHYiLCJzdWJfdHlwZSI6MiwidG9rZW5fdHlwZSI6MX0.JKZcX-7Nr29dKaFdBRq0JBsY_6rG2xot_quw48oq-cIsS8fyiOLEzOpvmwLi_n0FAFSH3mW4B9-X5PHYQFmG3A'; bcsn_url = "https://kahtoola.com/graphql"; bcsn_base_url = "https://kahtoola.com"; bcsn_useRemote = "true"; post = "https://stocknotify.becloudify.com/stocknotify/api/notify/m69x292sg4";var h = '<div id="bcsn_div" class="alertBox productAttributes-message" style="border: 0; padding: 20px 0 0 0; background-color: transparent;"><h1>SIGN UP TO BE NOTIFIED</h1><p><b>Get an email as soon as this product becomes available.</b> <a href="https://kahtoola.com/dealer-locator" target="_blank">Click here</a> to view dealers near you.</p> <p id="bcsn_form_err" style="color:red;display:none">Please enter all required product options.</p> <p id="bcsn_email_err" style="color:red;display:none">Please enter a valid email address.</p> <input style="width:100%" class="form-input" type="text" id="bcsn_email" name="bcsn_email" value="" placeholder="Enter your email address"><br> <input type="hidden" id="recaptchaToken" name="recaptchaToken" value=""> <div id="recaptchaV2"></div> <div style="text-align:right;padding-top:10px;padding-bottom:10px"><a id="bcsn_formSubmitButton" style="margin:0;width:100%;font-size:14px" class="button button--primary" href="javascript:cbStockNotifyMeFunction();">Notify Me</a></div></div><div> <p id="bcsn_email_confirm" style="color:red;display:none">Thank you, we will let you know once this product is back in stock.</p> <div> <div> <p id="bcsn_email_post_err" style="color:red;display:none">Sorry, something went wrong. Please <a href="javascript:cbStockNotifyForm(bcsn_formDisplay);">try again</a>.</p> <div></div> </div> </div></div>';var bcsn_recaptchaSiteKey = '';var modal = '#modal';var modalEnabled = true;var bcsn_preorderEnabled = false;var bcsn_preorderLabel = 'Pre-Order Now';var bcsn_nonPurchasableEnabled = false; onLoad = function(data){$("#bcsn_form_err").css("display", "none");$("#bcsn_email_err").css("display", "none");$("#bcsn_div").css("display", "block");$("#bcsn_email_post_err").css("display", "none");$("#bcsn_email_confirm").css("display", "none");if(bcsn_recaptchaSiteKey.trim().length >0){$("#bcsn_formSubmitButton").css("display", "none");};;}; onLoaded = function(data){return;}; onPost = function(data){if(!bcsn_validForm()){$("#bcsn_form_err").css("display", "block");return null;};if(cbIsEmail($("#bcsn_email").val())){return data;}else{$("#bcsn_email_err").css("display", "block");return null;};;}; onSuccess = function(data){$("#bcsn_div").css("display", "none");$("#bcsn_email_confirm").css("display", "block");;}; onFail = function(data){$("#bcsn_div").css("display", "none");$("#bcsn_email_post_err").css("display", "block");;}; var previewUrlPath = "https://stocknotify.becloudify.com/stocknotify/api/script/m69x292sg4"; var cbStockNotifyCheckStockFunctionString = "cbStockNotifyCheckStock"; var cbStockNotifyCheckStockRemoteFunctionString = "cbStockNotifyCheckStockRemote"; var cbStockNotifyMeFunctionString = "cbStockNotifyMe"; formFocus = false; bcsn_disable = false; bcsn_oosDropdownEnabled = false; var bcsn_posAttArray = ["class='alertBox productAttributes-message'", "data-cart-item-add=''", "data-quantity-change=''", "class='socialLinks'", "data-wishlist-add=''", "class='alertBox alertBox--error'", "data-product-option-change=''"]; bcsn_channelId = 1;window.jQuery = window.$ = jQuery; var cbStockNotifyCheckStockFunction = eval(cbStockNotifyCheckStockFunctionString), cbStockNotifyCheckStockRemoteFunction = eval(cbStockNotifyCheckStockRemoteFunctionString), cbStockNotifyMeFunction = eval(cbStockNotifyMeFunctionString), cf = "", pos = "", bcsn = "", baseUrl2 = window.location.origin, bcsn_remote_url, bcsn_remote_url2, bcsn_formDisplay, bcsnName, bcsnidBase = bcsnid, body = "body", currentBody = body, modalObserver, modalObserver2, bcsn_blacklisted = ["[email protected]", "[email protected]"], bcsn_remoteData, bcsn_graphqlData; function bcsn_init() { if ($(bcsnName) && $(bcsnName).length > 0 && $(bcsnName).remove(), bcsnid = "body" != currentBody ? bcsnidBase + "_" + currentBody.replace("#", "") : bcsnidBase, bcsnName = "#" + bcsnid, null == (bcsn = $(bcsnName)) || 0 == bcsn.length) { if (modalEnabled) try { bcsn_deregisterObserve(
1595) } catch (err) { } if (cf = $(currentBody).find("[" + cartFormAtt + "]"), (pos = $(currentBody).find("[" + posAtt + "]")) && pos.length > 0) posAttIndex && parseInt(posAttIndex) && pos && (pos = pos[parseInt(posAttIndex)]); else { let k = 0; for (; 0 == pos.length && k < bcsn_posAttArray.length;)pos = $(currentBody).find("[" + bcsn_posAttArray[k++] + "]") } "true" == bcsn_useRemote || 1 == bcsn_useRemote ? (cf.on("change", cbStockNotifyCheckStockRemoteFunction), bcsn_nonPurchasableEnabled && (cf.on("change", (() => { setTimeout(cbStockNotifyCheckStockRemoteFunction, 500) })), cf.on("change", (() => { setTimeout(cbStockNotifyCheckStockRemoteFunction, 1e3) })))) : cf.on("change", cbStockNotifyCheckStockFunction); var div = document.createElement("div"); if (div.style = "display:none", div.id = bcsnid, pos && pos.after(div), (bcsn = $(bcsnName)).append('<form id="bcsn_stockNotifyForm">' + h + "</from>"), modalEnabled) try { bcsn_registerObserve() } catch (err) { } } bcsn_formDisplay = !1, bcsn_remote_url = bcsn_base_url + "/remote/v1/product-attributes/", bcsn_remote_url2 = baseUrl2 + "/remote/v1/product-attributes/", $.bcsnUrlParam = function (name) { var results = new RegExp("[?&]" + name + "=([^&#]*)").exec(window.location.search); return null !== results && (results[1] || 0) }, bcsnCheckPreview(), "true" == bcsn_useRemote || 1 == bcsn_useRemote ? cbStockNotifyCheckStockRemoteFunction() : cbStockNotifyCheckStockFunction(), bcsn_preorderEnabled && (bcsn_checkPreOrder(), setTimeout(bcsn_checkPreOrder, 500), setTimeout(bcsn_checkPreOrder, 1e3), setTimeout(bcsn_checkPreOrder, 2e3)), bcsn_oosDropdownEnabled && (bcsn_selectOnClick(), bcsn_removeDisabledOptionWithTimer()) } function bcsnCheckPreview() { if ("true" == $.bcsnUrlParam("bcsn_preview") && $("#bcsn_storefront_preview").length <= 0) { $(bcsnName) && $(bcsnName).length >= 0 && $(bcsnName).remove(), $("#bcsn_storefront").html(""); var s = "script"; $("<" + s + ">").attr("id", "bcsn_storefront_preview").attr("src", previewUrlPath).appendTo("head") } } function cbStockNotifyCheckStock() { var data = cf.serialize(), body = ($("dl").find('*[itemprop="sku"]').html(), (data = unescape(data)).split("&")), pId = "", attrs = "["; body.forEach((e => { if (0 == e.indexOf("product_id=")) pId = e.substring(11, e.length); else if (0 == e.indexOf("attribute[") && e.indexOf("]=") + 2 < e.length) { var i = e.indexOf("]"); attrs += "{optionEntityId:" + parseInt(e.substring(10, i)) + ",valueEntityId:" + parseInt(e.substring(i + 2, e.length)) + "}" } })), attrs += "]", query = "query{site{product(entityId:" + pId + " optionValueIds: " + attrs + "){name sku availabilityV2{status} inventory{isInStock}
1595 variants(optionValueIds: " + attrs + "){edges{node{sku entityId}}} }}}"; try { pId && (fetch(bcsn_url, { method: "POST", credentials: "include", mode: "cors", headers: { "Content-Type": "application/json", Authorization: "Bearer " + gqlToken }, body: JSON.stringify({ query: query }) }).catch((function () { })).then((res => res.json())).then((data => { bcsn_graphqlData = data, data && data.data && data.data.site && cbStockNotifyForm(0 == data.data.site.product.inventory.isInStock && (!0 === bcsn_nonPurchasableEnabled || "Available" == data.data.site.product.availabilityV2.status)) })).catch((function () { })), bcsn_base_url != baseUrl2 && fetch(baseUrl2 + "/graphql", { method: "POST", credentials: "include", mode: "cors", headers: { "Content-Type": "application/json", Authorization: "Bearer " + gqlToken }, body: JSON.stringify({ query: query }) }).catch((function () { })).then((res => res.json())).then((data => { data && data.data && data.data.site && cbStockNotifyForm(0 == data.data.site.product.inventory.isInStock && (!0 === bcsn_nonPurchasableEnabled || "Available" == data.data.site.product.availabilityV2.status)) })).catch((function () { }))) } catch (err) { } } function cbStockNotifyCheckStock_purchasableOnly() { var data = cf.serialize(), body = ($("dl").find('*[itemprop="sku"]').html(), (data = unescape(data)).split("&")), pId = "", attrs = "["; body.forEach((e => { if (0 == e.indexOf("product_id=")) pId = e.substring(11, e.length); else if (0 == e.indexOf("attribute[") && e.indexOf("]=") + 2 < e.length) { var i = e.indexOf("]"); attrs += "{optionEntityId:" + parseInt(e.substring(10, i)) + ",valueEntityId:" + parseInt(e.substring(i + 2, e.length)) + "}" } })), attrs += "]", query = "query{site{product(entityId:" + pId + " optionValueIds: " + attrs + "){name sku availabilityV2{status} inventory{isInStock}
1595 variants(optionValueIds: " + attrs + "){edges{node{sku entityId}}} }}}"; try { pId && (fetch(bcsn_url, { method: "POST", credentials: "include", mode: "cors", headers: { "Content-Type": "application/json", Authorization: "Bearer " + gqlToken }, body: JSON.stringify({ query: query }) }).catch((function () { })).then((res => res.json())).then((data => { bcsn_graphqlData = data, data && data.data && data.data.site && cbStockNotifyForm("Unavailable" == data.data.site.product.availabilityV2.status) })).catch((function () { })), bcsn_base_url != baseUrl2 && fetch(baseUrl2 + "/graphql", { method: "POST", credentials: "include", mode: "cors", headers: { "Content-Type": "application/json", Authorization: "Bearer " + gqlToken }, body: JSON.stringify({ query: query }) }).catch((function () { })).then((res => res.json())).then((data => { data && data.data && data.data.site && cbStockNotifyForm("Unavailable" == data.data.site.product.availabilityV2.status) })).catch((function () { }))) } catch (err) { } } function cbStockNotifyCheckStockWP() { var pid = $(currentBody).find("[data-js='bc-product-pricing']").data("product-price-id"), vid = $(currentBody).find("[data-js='variant_id']").val(), variants = $(currentBody).find("[data-js='product-variants-object']").data("variants"); if (null != variants && 0 != variants.length || cbStockNotifyForm(!0), pid && vid && variants) { var variantArray = variants.filter((x => x.variant_id == vid)); if (variantArray && variantArray.length > 0) { var inventory = variantArray[0].inventory; inventory && inventory > 0 ? cbStockNotifyForm(!1) : cbStockNotifyForm(!0) } } else cbStockNotifyForm(!0) } function cbStockNotifyCheckStockRemote() { var data = cf.serialize(), body = ($("dl").find('*[itemprop="sku"]').html(), (data = unescape(data)).split("&")), pId = "", attrs = "["; body.forEach((e => { if (0 == e.indexOf("product_id=")) pId = e.substring(11, e.length); else if (0 == e.indexOf("attribute[") && e.indexOf("]=") + 2 < e.length) { var i = e.indexOf("]"); attrs += "{optionEntityId:" + parseInt(e.substring(10, i)) + ",valueEntityId:" + parseInt(e.substring(i + 2, e.length)) + "}" } })), attrs += "]", query = "query{site{product(entityId:" + pId + " optionValueIds: " + attrs + "){name sku availabilityV2{status} inventory{isInStock}
1595 variants(optionValueIds: " + attrs + "){edges{node{sku entityId}}} }}}"; try { pId && fetch(bcsn_remote_url + pId, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: data }).catch((function () { })).then((res => res.json())).then((data => { data && data.data && (bcsn_remoteData = data, cbStockNotifyForm(0 == data.data.instock && (!0 === bcsn_nonPurchasableEnabled || !0 === data.data.purchasable) || !0 === bcsn_nonPurchasableEnabled && !1 === data.data.purchasable)) })).catch((function () { })) } catch (err) { } bcsn_base_url != baseUrl2 && pId && fetch(bcsn_remote_url2 + pId, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: data }).catch((function () { })).then((res => res.json())).then((data => { data && data.data && (bcsn_remoteData = data, cbStockNotifyForm(0 == data.data.instock && (!0 === bcsn_nonPurchasableEnabled || !0 === data.data.purchasable) || !0 === bcsn_nonPurchasableEnabled && !1 === data.data.purchasable)) })).catch((function () { })) } function cbStockNotifyCheckStockRemote_purchasableOnly() { var data = cf.serialize(), body = ($("dl").find('*[itemprop="sku"]').html(), (data = unescape(data)).split("&")), pId = "", attrs = "["; body.forEach((e => { if (0 == e.indexOf("product_id=")) pId = e.substring(11, e.length); else if (0 == e.indexOf("attribute[") && e.indexOf("]=") + 2 < e.length) { var i = e.indexOf("]"); attrs += "{optionEntityId:" + parseInt(e.substring(10, i)) + ",valueEntityId:" + parseInt(e.substring(i + 2, e.length)) + "}" } })), attrs += "]", query = "query{site{product(entityId:" + pId + " optionValueIds: " + attrs + "){name sku availabilityV2{status} inventory{isInStock}
1595 variants(optionValueIds: " + attrs + "){edges{node{sku entityId}}} }}}"; try { pId && fetch(bcsn_remote_url + pId, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: data }).catch((function () { })).then((res => res.json())).then((data => { data && data.data && (bcsn_remoteData = data, setTimeout(cbStockNotifyForm(!1 === data.data.purchasable), 2e3)) })).catch((function () { })) } catch (err) { } bcsn_base_url != baseUrl2 && pId && fetch(bcsn_remote_url2 + pId, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: data }).catch((function () { })).then((res => res.json())).then((data => { data && data.data && (bcsn_remoteData = data, setTimeout(cbStockNotifyForm(!1 === data.data.purchasable), 2e3)) })).catch((function () { })) } function cbStockNotifyMe() { bcsn_blacklisted.includes($("#bcsn_email").val()) && cbStockNotifyFail("error"); var data = cf.serialize(); $("dl").find('*[itemprop="sku"]') && $("dl").find('*[itemprop="sku"]').length > 0 && (data = data + "&sku=" + $("dl").find('*[itemprop="sku"]').html()); var data2 = ""; if ($("#bcsn_stockNotifyForm") && (data2 = $("#bcsn_stockNotifyForm").serialize()) && (data += "&" + data2), "" == bcsn_channelId || "1" == bcsn_channelId ? data += "&channelId=1" : data += "&channelId=" + bcsn_channelId, bcsn_remoteData && bcsn_remoteData.data) data += "&variantId=" + bcsn_remoteData.data.v3_variant_id; else if (bcsn_graphqlData && bcsn_graphqlData.data) try { data += "&variantId=" + bcsn_graphqlData.data.site.product.variants.edges[0].node.entityId } catch (err) { } try { (data = cbStockNotifyPost(data)) && $.post(post, data).done((function (value) { 200 === value.code ? cbStockNotifySuccess(data) : cbStockNotifyFail(data) })).fail((function () { cbStockNotifyFail(data) })) } catch (err) { } } function cbStockNotifyMeWP() { var data = cf.serialize(), pid = $(currentBody).find("[data-js='bc-product-pricing']").data("product-price-id"); $(currentBody).find("[data-js='variant_id']").val(); $("dl").find('*[itemprop="sku"]') && (data = data + "&sku=" + $("dl").find('*[itemprop="sku"]').html()), data = data + "&product_id=" + pid; var data2 = ""; $("#bcsn_stockNotifyForm") && (data2 = $("#bcsn_stockNotifyForm").serialize()) && (data += "&" + data2); try { (data = cbStockNotifyPost(data)) && $.post(post, data).done((function (value) { 200 === value.code ? cbStockNotifySuccess(data) : cbStockNotifyFail(data) })).fail((function () { cbStockNotifyFail(data) })) } catch (err) { } } function cbStockNotifyLoad(data) { onLoad(data) } function cbStockNotifyLoaded(data) { onLoaded(data) } function cbStockNotifyPost(data) { return onPost(data) } function cbStockNotifySuccess(data) { return onSuccess(data) } function cbStockNotifyFail(data) { return onFail(data) } function cbIsEmail(value) { return !bcsn_blacklisted.includes(value) && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value) } $(document).ready((function () { var state = document.readyState; try { ("interactive" == state || "complete" == state) && (modalEnabled && bcsn_registerObserve(), bcsn_init()) } catch (err) { } })), $(window).on("beforeunload", (function () { if (modalObserver) try { modalObserver.disconnect() } catch (err) { } if (modalObserver2) try { modalObserver2.disconnect() } catch (err) { } })), bcsn_deregisterObserve = function () { modalObserver.disconnect(), modalObserver2 && modalObserver2.disconnect() }, bcsn_registerObserve = function () { const callback = function (mutationsList, modalObserver) { setTimeout(bcsn_reinit(), 1e3), setTimeout(bcsn_reinit(), 2e3) }; if ("visible" == $(modal).css("visibility")) { const config2 = { attributes: !0, attributeFilter: ["style", "class"], attributeOldValue: !0 }; (modalObserver2 = new MutationObserver(callback)).observe($(modal)[0], config2) } else { const config = { attributes: !0, childList: !0 }; modalObserver = new MutationObserver(callback), $(modal).find('[class="modal-content"]')[0] && modalObserver.observe($(modal).find('[class="modal-content"]')[0], config) } }, bcsn_isQuickView = function () { return $(modal + " div").hasClass("quickView") }, bcsn_reinit = function () { bcsn_isQuickView() && ("visible" == $(modal).css("visibility") ? currentBody = modal : (currentBody = body, $(modal).find('[class="modal-content"]') && $(modal).find('[class="modal-content"]').length > 0 && $(modal).find('[class="modal-content"]').empty()), bcsn_init()) }, bcsn_checkPreOrder = function () { var ele = $("body").find('input[value="' + bcsn_preorderLabel + '"]', cf); ele && 0 !== ele.length || (ele = $("body").find('button:contains("' + bcsn_preorderLabel + '")', cf)), ele && ele.length > 0 && (cbStockNotifyForm(!0), $("#bcsn_formDiv").css("display", "block")) }, cbStockNotifyForm = function (b) { if (!bcsn_disable) { bcsn_formDisplay = b; try { cbStockNotifyLoad(b) } catch (err) { } bcsn_formDisplay ? (bcsn.css("display", "block"), bcsn_recaptchaSiteKey && bcsn_recaptchaSiteKey.trim().length > 0 && bcsn_recaptchaCallback(), (formFocus || "true" === formFocus) && (window.location.hash = null, window.location.hash = bcsnName)) : bcsn.css("display", "none"); try { cbStockNotifyLoaded(bcsn_formDisplay) } catch (err) { } } }; var bcsn_recaptchaCallback = function () { var pending = !0; null != $("#recaptchaV2") && $("#recaptchaV2").length > 0 && (bcsn_performreCaptchaCallback(), pending = !1), setTimeout((function () { pending && null != $("#recaptchaV2") && $("#recaptchaV2").length > 0 && (bcsn_performreCaptchaCallback(), pending = !1) }), 500), setTimeout((function () { pending && null != $("#recaptchaV2") && $("#recaptchaV2").length > 0 && (bcsn_performreCaptchaCallback(), pending = !1) }), 1e3), setTimeout((function () { pending && null != $("#recaptchaV2") && $("#recaptchaV2").length > 0 && (bcsn_performreCaptchaCallback(), pending = !1) }), 2e3) }, bcsn_performreCaptchaCallback = function () { bcsn_recaptchaSiteKey && bcsn_recaptchaSiteKey.trim().length > 0 && grecaptcha.render("recaptchaV2", { sitekey: bcsn_recaptchaSiteKey, callback: bcsn_verifyCallback }) }, bcsn_verifyCallback = function (response) { $("#recaptchaToken").val(response), $("#bcsn_formSubmitButton").css("display", "block"), $("#bcsn_formSubmitButton").attr("disabled", !1) }, bcsn_validForm = function () { let valid = !0, data = cf.serialize(); data = new URLSearchParams(data); let fields = {}; return $("body").find("[" + cartFormAtt + "]").find('*[required=""]').map((function () { fields[$(this).attr("name")] || (fields[$(this).attr("name")] = !0) }
1595)), Object.keys(fields).forEach((function (e) { if (null === data.get(e) || "" === data.get(e)) return valid = !1, !1 })), valid }; function bcsn_removeDisabledOptionWithTimer() { bcsn_removeDisabledOption(), setTimeout((function () { bcsn_removeDisabledOption() }), 500), setTimeout((function () { bcsn_removeDisabledOption() }), 1e3) } function bcsn_removeDisabledOption() { for (var options = $("select").find('*[disabled="disabled"]'), i = 0; i < options.length; i++)options[i].removeAttribute("disabled") } function bcsn_selectOnClick() { $("body").find('*[class="form-select form-select--small"]').change(bcsn_removeDisabledOptionWithTimer) }/*Copyright BeCloudify Consulting LTD 2020*/ </script>
1595<script type="text/javascript"> 1596 var _AvantMetrics = _AvantMetrics || []; 1597 (async function() { 1598 if ('') { 1599 await buildAvMetrics(); 1600 } 1601 var avm = document.createElement('script'); 1602 avm.type = 'text/javascript'; avm.async = true; 1603 avm.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.avmws.com/1024621/'; 1604 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(avm, s); 1605 console.log(_AvantMetrics); 1606 })(); 1607 1608 async function setOrderData() { 1609 var order = await getData('/api/storefront/order/'); 1610 return order; 1611 } 1612 1613 async function getData(url = '') { 1614 var res = ''; 1615 if(url !== ''){ 1616 const response = await fetch(url, { 1617 credentials: 'include' 1618 }); 1619 res = response.json(); 1620 } 1621 return res; 1622 } 1623 1624 async function buildAvMetrics() { 1625 let orderData = await setOrderData(); 1626 window._AvantMetrics.push(['order', { order_id: orderData.orderId, amount: orderData.orderAmount - orderData.taxTotal - orderData.shippingCostTotal, state: orderData.billingAddress.stateOrProvinceCode, country: orderData.billingAddress.countryCode, ecc: orderData.coupons.length > 0 ? orderData.coupons[0].code: '', tax: orderData.taxTotal, currency: orderData.currency.code, new_customer: orderData.customerId ? 'N' : 'Y' }]); 1627 for (line of orderData.lineItems.physicalItems) { 1628 window._AvantMetrics.push(['item', { order_id: orderData.orderId, variant_sku: line.sku, price: line.salePrice, qty: line.quantity }]); 1629 } 1630 for (line of orderData.lineItems.digitalItems) { 1631 window._AvantMetrics.push(['item', { order_id: orderData.orderId, variant_sku: line.sku, price: line.salePrice, qty: line.quantity }]); 1632 } 1633 } 1634</script>
1634 1635
1636<script type="text/javascript"> 1637 var _AvantMetrics = _AvantMetrics || []; 1638 (async function() { 1639 if ('') { 1640 await buildAvMetrics(); 1641 } 1642 var avm = document.createElement('script'); 1643 avm.type = 'text/javascript'; avm.async = true; 1644 avm.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.avmws.com/1024621/â; 1645 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(avm, s); 1646 console.log(_AvantMetrics); 1647 })(); 1648 1649 async function setOrderData() { 1650 var order = await getData('/api/storefront/order/'); 1651 return order; 1652 } 1653 1654 async function getData(url = '') { 1655 var res = ''; 1656 if(url !== ''){ 1657 const response = await fetch(url, { 1658 credentials: 'include' 1659 }); 1660 res = response.json(); 1661 } 1662 return res; 1663 } 1664 1665 async function buildAvMetrics() { 1666 let orderData = await setOrderData(); 1667 window._AvantMetrics.push(['order', { order_id: orderData.orderId, amount: orderData.orderAmount - orderData.taxTotal - orderData.shippingCostTotal, state: orderData.billingAddress.stateOrProvinceCode, country: orderData.billingAddress.countryCode, ecc: orderData.coupons.length > 0 ? orderData.coupons[0].code: '', tax: orderData.taxTotal, currency: orderData.currency.code, new_customer: orderData.customerId ? 'N' : 'Y' }]); 1668 for (line of orderData.lineItems.physicalItems) { 1669 window._AvantMetrics.push(['item', { order_id: orderData.orderId, variant_sku: line.sku, price: line.salePrice, qty: line.quantity }]); 1670 } 1671 for (line of orderData.lineItems.digitalItems) { 1672 window._AvantMetrics.push(['item', { order_id: orderData.orderId, variant_sku: line.sku, price: line.salePrice, qty: line.quantity }]); 1673 } 1674 } 1675</script>
1675<script type='text/javascript'> 1676</script>
1676 1677
1678<script async id='stamped-script-widget' data-store-hash='m69x292sg4' src='https://cdn1.stamped.io/files/bigcommerce.min.js'></script>
1678<script data-bc-cookie-consent="4" type="text/plain" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
1678 1679
1680<script data-bc-cookie-consent="4" type="text/plain"> 1681 1682var v2_block_html = `<div id="get-store-hash" data-store_hash="m69x292sg4"></div> 1683<div id="ult-upsell-native-block" style="display: none;"> 1684 1685</div>` 1686 1687var v2_bundle_block_html = `<div id="get-store-hash" data-store_hash="m69x292sg4"></div> 1688<div id="ult-upsell-native-bundle-block" style="display: none;"> 1689 1690</div>` 1691 1692var v2_qty_discount_block_html = `<div id="get-store-hash" data-store_hash="m69x292sg4"></div> 1693<div id="ult-upsell-native-qty-discount-block" style="display: none;"> 1694 1695</div>` 1696 1697var v2_purchase_crosssell_block_html = `<div id="get-store-hash" data-store_hash="m69x292sg4"></div> 1698<div id="purchase-crosssell-block" style="display: none;"> 1699 1700</div>` 1701 1702var v2_purchase_product_recommendation_block_html = `<div id="get-store-hash" data-store_hash="m69x292sg4"></div> 1703<div id="purchase-product-recommendation-block" style="display: none;"> 1704 1705</div>` 1706 1707var v2_in_cart_crosssell_block_html = `<div id="get-store-hash" data-store_hash="m69x292sg4"></div> 1708<div id="in-cart-crosssell-block" style="display: none;"> 1709 1710</div>` 1711 1712var v2_in_cart_recommendation_block_html = `<div id="get-store-hash" data-store_hash="m69x292sg4"></div> 1713<div id="in-cart-product-recommendation-block" style="display: none;"> 1714 1715</div>` 1716 1717var v2_product_id = $("input[name='product_id']").val() 1718var v2_store_hash = "m69x292sg4"; 1719var v2_product_qty = 1; 1720var v2_trigger_product_variant_id = 0; 1721var v2_trigger_product_variants = []; 1722var v2_offer_id = null; 1723var v2_cart_id = ''; 1724var v2_cart_items = []; 1725var v2_hasOffer = false; 1726var v2_apiUri = "https://recommender.peasisoft.com"; 1727var v2_position = 0; 1728var v2_offer_showed = false; 1729var v2_trigger_product_ids = []; 1730var v2_products_in_cart = []; 1731var v2_offer_type_arr = []; 1732var v2_trigger_variant_ids = []; 1733var v2_req_data; 1734// var currency = '$'; 1735var v2_trigger_clicked = false; 1736var v2_loading = true; 1737// task currency 1738var v2_currency_code = ""; 1739var v2_currency = { 1740 token_location: "left", 1741 token: "$", 1742 decimal_token: ".", 1743 thousands_token: ",", 1744 decimal_places: 2, 1745 is_transactional: true, 1746}; 1747var v2_base_currency_code = "USD"; 1748var v2_dest_currency_code = v2_base_currency_code; 1749var v2_rate = 1; 1750var v2_is_user_logged_in = 0; 1751var v2_token_user = '' 1752 1753var v2_check_existed_page_crosssell = false; 1754var v2_check_existed_page_bundle = false; 1755var v2_check_existed_page_qty_discount = false; 1756var v2_check_existed_thank_product_recommendation = false; 1757var v2_check_existed_purchase_crosssell = false; 1758var v2_check_existed_in_cart_crosssell = false; 1759var v2_check_existed_in_cart_recommendation = false; 1760 1761$(function() { 1762 var v2_start_time = new Date().getTime(); 1763 if (window.location.pathname.includes("order-confirmation")) { 1764 //type 2 crosssell 1765 // type 4 product recommendation 1766 v2_offer_type_arr = [2, 4]; 1767 v2_position = 3; 1768 } else if (window.location.pathname.includes("cart.php")) { 1769 v2_offer_type_arr = [2, 4]; 1770 v2_position = 2; 1771 } else if(v2_product_id){ 1772 // type 2 crosssell 1773 // type 3 bundle 1774 // type 5 qty discount 1775 v2_offer_type_arr = [2, 3, 5]; 1776 v2_position = 1; 1777 } 1778 if (v2_position === 1) { 1779 $('head').append(' <link rel="stylesheet" type="text/css" href="https://recommender.peasisoft.com/v2/storefront/css/product-page-crossell.css?v=' + new Date().getTime() + '"" type="text/css" media="all" />'); 1780 $('head').append(' <link rel="stylesheet" type="text/css" href="https://recommender.peasisoft.com/v2/storefront/css/product-page-together.css?v=' + new Date().getTime() + '"" type="text/css" media="all" />'); 1781 $('head').append(' <link rel="stylesheet" type="text/css" href="https://recommender.peasisoft.com/v2/storefront/css/product-page-discount_quantity.css?v=' + new Date().getTime() + '"" type="text/css" media="all" />'); 1782 } else if(v2_position === 3) { 1783 $('head').append(' <link rel="stylesheet" type="text/css" href="https://recommender.peasisoft.com/v2/storefront/css/list-product-thank.css?v=' + new Date().getTime() + '"" type="text/css" media="all" />'); 1784 $('head').append(' <link rel="stylesheet" type="text/css" href="https://recommender.peasisoft.com/v2/storefront/css/thank-crosssell.css?v=' + new Date().getTime() + '"" type="text/css" media="all" />'); 1785 }else if(v2_position === 2) { 1786 $('head').append(' <link rel="stylesheet" type="text/css" href="https://recommender.peasisoft.com/v2/storefront/css/cart-page-crosssell.css?v=' + new Date().getTime() + '"" type="text/css" media="all" />'); 1787 $('head').append(' <link rel="stylesheet" type="text/css" href="https://recommender.peasisoft.com/v2/storefront/css/cart-page-recommendation.css?v=' + new Date().getTime() + '"" type="text/css" media="all" />') 1788 } 1789 v2_req_data = { 1790 id: v2_product_id, 1791 store_hash: v2_store_hash, 1792 position: v2_position, 1793 trigger_product_ids: v2_trigger_product_ids, 1794 products_in_cart: v2_products_in_cart, 1795 currency_code: v2_currency_code, 1796 screen_width: $(window).width(), 1797 is_user_logged_in: v2_is_user_logged_in, 1798 user_token: v2_token_user, 1799 trigger_variant_ids: v2_trigger_variant_ids, 1800 cart_items: [] 1801 }; 1802 1803 $.getScript("https://recommender.peasisoft.com/storefront/js/popup-widget.js", () => { 1804 $.get({ 1805 url: '/customer/current.jwt?app_client_id=ssearhvcx7ny3fefhmjhsqezf55stq1', 1806 success: function (response) { 1807 if(!response.includes("DOCTYPE")) { 1808 v2_req_data.is_user_logged_in = 1 1809 v2_req_data.user_token = response 1810 } 1811 getPopupContent(); 1812 }, 1813 error: function (error) { 1814 console.log('failed to get current user') 1815 console.log(error); 1816 getPopupContent(); 1817 } 1818 }) 1819 1820 function getPopupContent(){ 1821 console.log('get carts') 1822 $.get('/api/storefront/carts', function(cart_data) { 1823 if (cart_data && cart_data.length > 0) { 1824 v2_cart_id = cart_data[0]['id']; 1825 v2_cart_items = cart_data[0]["lineItems"]["physicalItems"].concat(cart_data[0]["lineItems"]["digitalItems"]); 1826 v2_req_data.products_in_cart = v2_cart_items; 1827 v2_req_data.trigger_product_ids = v2_cart_items.map(x => x.productId); 1828 localStorage.setItem('v2_cart_items', v2_req_data.trigger_product_ids) 1829 if (localStorage.getItem('v2_offer_showed')) { 1830 return false 1831 } 1832 localStorage.removeItem('offer_showed') 1833 v2_req_data.trigger_variant_ids = v2_cart_items.map(x => x.variantId); 1834 localStorage.setItem('v2_variant_ids', v2_req_data.trigger_variant_ids); 1835 localStorage.setItem('v2_cart_items_full', JSON.stringify(v2_cart_items)) 1836 } 1837 if (v2_position === 3 && localStorage.getItem('v2_cart_items')) { 1838 v2_req_data.trigger_product_ids = localStorage.getItem('v2_cart_items').split(",") 1839 v2_req_data.products_in_cart = v2_req_data.trigger_product_ids.slice() 1840 localStorage.removeItem('v2_cart_items') 1841 v2_req_data.trigger_variant_ids = localStorage.getItem('v2_variant_ids').split(",") 1842 localStorage.removeItem('v2_variant_ids') 1843 if(localStorage.getItem('v2_cart_items_full')) { 1844 v2_req_data.cart_items = JSON.parse(localStorage.getItem('v2_cart_items_full')) 1845 localStorage.removeItem('v2_cart_items_full') 1846 } 1847 } 1848 v2_dest_currency_code = $('.body').attr('data-currency-code'); 1849 if (typeof v2_dest_currency_code !== "undefined" && v2_dest_currency_code !== v2_base_currency_code) { 1850 localStorage.setItem('v2_dest_currency_code', v2_dest_currency_code); 1851 } else if (typeof v2_dest_currency_code !== "undefined" && v2_dest_currency_code === v2_base_currency_code) { 1852 v2_dest_currency_code = v2_base_currency_code; 1853 localStorage.setItem('v2_dest_currency_code', v2_dest_currency_code); 1854 } else { 1855 if (localStorage.getItem('v2_dest_currency_code') && localStorage.getItem('v2_dest_currency_code') !== v2_base_currency_code) { 1856 v2_dest_currency_code = localStorage.getItem('v2_dest_currency_code'); 1857 } else { 1858 v2_dest_currency_code = v2_base_currency_code; 1859 } 1860 } 1861 v2_req_data.currency_code = v2_dest_currency_code; 1862 1863 if ((v2_req_data.trigger_product_ids.length < 1 && v2_product_id == null) || v2_position === 0) {
1864 console.log('Request data invalid. Request fail.') 1865 v2_loading = false; 1866 v2_hasOffer = false; 1867 return false 1868 } 1869 v2_offer_type_arr.forEach(element => { 1870 v2_req_data['type'] = element; 1871 $.ajax({ 1872 url: v2_apiUri + "/api/popup-content", 1873 headers: { 1874 "Access-Control-Allow-Headers": "*" 1875 }, 1876 type: "GET", 1877 crossDomain: true, 1878 data: v2_req_data, 1879 dataType: "json", 1880 success: function(res) { 1881 v2_loading = false; 1882 if (res.responseText) { 1883 //set position of offer 1884 if (window.location.pathname.includes("cart.php")) { 1885 v2_position = 2; 1886 $(`.${res.cartPageCrossSell}`).first().after(v2_in_cart_crosssell_block_html) 1887 res.cartPageRecommendationClassPosition == 'after' ? $(`.${res.cartPageRecommendation}`).first().after(v2_in_cart_recommendation_block_html) : $(`.${res.cartPageRecommendation}`).first().before(v2_in_cart_recommendation_block_html); 1888 } else if (typeof v2_product_id !== "undefined") { 1889 res.productPageCrossSellClassPosition == 'before' ? $(`.${res.productPageCrossSell}`).first().before(v2_block_html) : $(`.${res.productPageCrossSell}`).first().after(v2_block_html); 1890 res.productPageBundleClassPosition == 'after' ? $(`.${res.productPageBundle}`).first().after(v2_bundle_block_html) : $(`.${res.productPageBundle}`).first().before(v2_bundle_block_html); 1891 res.productPageQtyDiscountClassPosition == 'after' ? $(`.${res.productPageQtyDiscount}`).first().after(v2_qty_discount_block_html) : $(`.${res.productPageQtyDiscount}`).first().before(v2_qty_discount_block_html); 1892 } else if(window.location.pathname.includes("order-confirmation")){ 1893 res.thankPageCrossSellClassPosition == 'after' ? $(`.${res.thankPageCrossSell}`).first().after(v2_purchase_crosssell_block_html) : $(`.${res.thankPageCrossSell}`).first().before(v2_purchase_crosssell_block_html); 1894 res.thankPageRecommendationClassPosition == 'after' ? $(`.${res.thankPageRecommendation}`).first().after(v2_purchase_product_recommendation_block_html) : $(`.${res.thankPageRecommendation}`).first().before(v2_purchase_product_recommendation_block_html); 1895 } 1896 if(res.templateName){ 1897 let v2_subStrings = res.templateName.split("-"); 1898 if(v2_subStrings[1] === 'page' && v2_subStrings[2] === 'crosssell' && !v2_check_existed_page_crosssell){ 1899 $('#ult-upsell-native-block').html(res.responseText); 1900 v2_check_existed_page_crosssell = true; 1901 }else if(v2_subStrings[2] === 'bundle' && !v2_check_existed_page_bundle){ 1902 $('#ult-upsell-native-bundle-block').html(res.responseText); 1903 v2_check_existed_page_bundle = true; 1904 }else if(v2_subStrings[1] !== 'cart' && v2_subStrings[2] === 'product_recommendation' && !v2_check_existed_thank_product_recommendation){ 1905 $('#purchase-product-recommendation-block').html(res.responseText); 1906 v2_check_existed_thank_product_recommendation = true; 1907 }else if(v2_subStrings[1] === 'purchase' && v2_subStrings[2] === 'crosssell' && !v2_check_existed_purchase_crosssell){ 1908 $('#purchase-crosssell-block').html(res.responseText); 1909 v2_check_existed_purchase_crosssell = true; 1910 }else if(v2_subStrings[1] === 'cart' && v2_subStrings[2] === 'crosssell' && !v2_check_existed_in_cart_crosssell){ 1911 $('#in-cart-crosssell-block').html(res.responseText) 1912 v2_check_existed_in_cart_crosssell = true; 1913 }else if(v2_subStrings[2] === 'discount_quantity' && !v2_check_existed_page_qty_discount){ 1914 $('#ult-upsell-native-qty-discount-block').html(res.responseText); 1915 v2_check_existed_page_qty_discount = true; 1916 }else if(v2_subStrings[1] === 'cart' && v2_subStrings[2] === 'product_recommendation' && !v2_check_existed_in_cart_recommendation){ 1917 $('#in-cart-product-recommendation-block').html(res.responseText); 1918 v2_check_existed_in_cart_recommendation = true; 1919 } 1920 v2_hasOffer = true; 1921 console.log("(v2) Found offer"); 1922 v2_offer_id = res.offer_id 1923 v2_product_id = res.trigger_product_id 1924 v2ShowOfferBlock(v2_subStrings[1], v2_subStrings[2]); 1925 } 1926 }
1927 console.log("(v2) Load completed. Request time: ", new Date().getTime() - v2_start_time); 1928 }, 1929 error: function(res) { 1930 v2_loading = false; 1931 let v2_subStrings = res.templateName.split("-"); 1932 if(v2_subStrings[1] === 'page' && v2_subStrings[2] === 'crosssell'){ 1933 $('#ult-upsell-native-block').html(res.responseText); 1934 }else if(v2_subStrings[2] === 'bundle'){ 1935 $('#ult-upsell-native-bundle-block').html(res.responseText); 1936 }else if(v2_subStrings[2] === 'product_recommendation'){ 1937 $('#purchase-product-recommendation-block').html(res.responseText); 1938 }else if(v2_subStrings[1] === 'purchase' && v2_subStrings[2] === 'crosssell'){ 1939 $('#purchase-crosssell-block').html(res.responseText); 1940 }else if(v2_subStrings[1] === 'cart' && v2_subStrings[2] === 'crosssell'){ 1941 $('#in-cart-crosssell-block').html(res.responseText) 1942 }else if(v2_subStrings[2] === 'discount_quantity'){ 1943 $('#ult-upsell-native-qty-discount-block').html(res.responseText); 1944 }else if(v2_subStrings[1] === 'cart' && v2_subStrings[2] === 'product_recommendation'){ 1945 $('#in-cart-product-recommendation-block').html(res.responseText); 1946 } 1947 console.log("(v2) Error occured. Request time: ", new Date().getTime() - v2_start_time); 1948 }, 1949 }); 1950 }) 1951 }) 1952 } 1953 }) 1954}); 1955</script>
1955<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
1955 1956
1957<script> 1958 1959var modal_html = `<div id="get-store-hash" data-store_hash="m69x292sg4"></div> 1960<div id="ult-upsell-popup-modal" class="tds-new-modal new-modal"> 1961 <div class="new-modal-content ult-upsell-modal-body"> 1962 1963 </div> 1964</div>`; 1965 1966var product_id = $("input[name='product_id']").val(); 1967var store_hash = "m69x292sg4"; 1968var product_qty = 1; 1969var trigger_product_variant_id = 0; 1970var trigger_product_variants = []; 1971var offer_id = null; 1972var cart_id = ''; 1973var cart_items = []; 1974var hasOffer = false; 1975var apiUri = "https://peasisoft.com"; 1976var position = 1; 1977var offer_showed = false; 1978var trigger_product_ids = []; 1979var products_in_cart = []; 1980var req_data; 1981var currency_v1 = { 1982 token_location: "left", 1983 token: "$", 1984 decimal_token: ".", 1985 thousands_token: ",", 1986 decimal_places: 2, 1987 is_transactional: true, 1988}; 1989var base_currency_code = "USD"; 1990var dest_currency_code = base_currency_code; 1991var rate = 1; 1992var trigger_clicked = false; 1993var loading = true; 1994var cartValue = 0; 1995var qtyCart = 0; 1996var is_has_coupons_in_cart = 0; 1997var is_user_logged_in = 0; 1998var token_user = '' 1999 2000$(function() { 2001 $('body').prepend(modal_html); 2002 2003 var start_time = new Date().getTime(); 2004 2005 if (window.location.pathname.includes("order-confirmation")) { 2006 position = 3; 2007 } else if (window.location.pathname.includes("checkout")) { 2008 position = 2; 2009 } else if (window.location.pathname.includes("cart.php")) { 2010 position = 4; 2011 } 2012 2013 $('head').append('<link rel="stylesheet" href="https://peasisoft.com/storefront/css/loader.css?v=' + new Date().getTime() +'" type="text/css" media="all" />'); 2014 $('head').append('<link rel="stylesheet" href="https://peasisoft.com/css/css/app.css?v=' + new Date().getTime() +'"" type="text/css" media="all" />'); 2015 2016 req_data = { 2017 id: product_id, 2018 store_hash: store_hash, 2019 position: position, 2020 trigger_product_ids: trigger_product_ids, 2021 products_in_cart: products_in_cart, 2022 cartValue : cartValue, 2023 qtyCart : qtyCart, 2024 is_has_coupons_in_cart: is_has_coupons_in_cart, 2025 offerIDs: [], 2026 is_user_logged_in: is_user_logged_in, 2027 user_token: token_user, 2028 triggerVariantIds: [], 2029 currency_code: '' 2030 }; 2031 2032 $.getScript("https://peasisoft.com/storefront/js/popup-widget.js", () => { 2033 2034 $.get({ 2035 url: '/customer/current.jwt?app_client_id=qbwksajte9ec5bceih54u0207z7j6sv', 2036 success: function (response) { 2037 req_data.is_user_logged_in = 1 2038 req_data.user_token = response 2039 getPopupContent(); 2040 }, 2041 error: function (error) { 2042 console.log('failed to get current user') 2043 console.log(error); 2044 getPopupContent(); 2045 } 2046 }) 2047 2048 function getPopupContent() { 2049 $.get('/api/storefront/carts', function(cart_data) { 2050 if (cart_data && cart_data.length > 0) { 2051 for (var cart_item of cart_data) { 2052 if (cart_item.coupons.length > 0) { 2053 req_data.is_has_coupons_in_cart = 1; 2054 break; 2055 } 2056 } 2057 cart_id = cart_data[0]['id']; 2058 cart_items = cart_data[0]["lineItems"]["physicalItems"].concat(cart_data[0]["lineItems"]["digitalItems"].concat(cart_data[0]["lineItems"]["customItems"])); 2059 req_data.products_in_cart = cart_items.map(x => x.productId); 2060 2061 req_data.cartValue = cart_data[0]['baseAmount']; 2062 req_data.qtyCart = getQtyCart(cart_items); 2063 if (position == 2) { 2064 req_data.trigger_product_ids = cart_items.map(x => x.productId); 2065 localStorage.setItem('cart_items', req_data.trigger_product_ids); 2066 localStorage.setItem('cartValue', req_data.cartValue); 2067 localStorage.setItem('qtyCart', req_data.qtyCart); 2068 if (localStorage.getItem('offer_showed_before_co')) { 2069 return false;
2070 } 2071 } 2072 2073 if (position == 4) { 2074 req_data.trigger_product_ids = cart_items.map(x => x.productId); 2075 if (localStorage.getItem('offer_showed_in_cart')) { 2076 return false; 2077 } 2078 } 2079 2080 if(position == 2 || position == 4) { 2081 req_data.triggerVariantIds = getTriggerProductsVariants(cart_items) 2082 localStorage.setItem('triggerVariantIds',JSON.stringify(req_data.triggerVariantIds)) 2083 } 2084 } 2085 2086 localStorage.removeItem('offer_showed_before_co'); 2087 localStorage.removeItem('offer_showed_in_cart'); 2088 2089 if (position == 3 && localStorage.getItem('cart_items')) { 2090 req_data.trigger_product_ids = localStorage.getItem('cart_items').split(","); 2091 req_data.products_in_cart = req_data.trigger_product_ids.slice(); 2092 req_data.cartValue = localStorage.getItem('cartValue'); 2093 req_data.qtyCart = localStorage.getItem('qtyCart'); 2094 req_data.triggerVariantIds = JSON.parse(localStorage.getItem('triggerVariantIds')); 2095 localStorage.removeItem('cart_items'); 2096 localStorage.removeItem('cartValue'); 2097 localStorage.removeItem('cart_items'); 2098 localStorage.removeItem('triggerVariantIds'); 2099 } 2100 2101 // dest_currency_code = $('#currencySelection strong').parent().attr('data-currency-code') 2102 dest_currency_code = $('.body').attr('data-currency-code'); 2103 2104 console.log(dest_currency_code); 2105 if (typeof dest_currency_code !== "undefined" && dest_currency_code !== base_currency_code) { 2106 req_data.currency_code = dest_currency_code; 2107 localStorage.setItem('dest_currency_code', dest_currency_code); 2108 } 2109 else if (typeof dest_currency_code !== "undefined" && dest_currency_code === base_currency_code) { 2110 dest_currency_code = base_currency_code; 2111 localStorage.setItem('dest_currency_code', dest_currency_code); 2112 } 2113 else { 2114 if (localStorage.getItem('dest_currency_code') && localStorage.getItem('dest_currency_code') !== base_currency_code) { 2115 dest_currency_code = localStorage.getItem('dest_currency_code'); 2116 req_data.currency_code = dest_currency_code; 2117 } 2118 else { 2119 dest_currency_code = base_currency_code; 2120 } 2121 } 2122 req_data.currency_code = dest_currency_code 2123 let offerIDs = getCookieMatch('_v1_offerId_'); 2124 req_data.offerIDs = offerIDs; 2125 if (req_data.trigger_product_ids.length < 1 && product_id == null) {
2126 console.log('Request data invalid. Request fail.'); 2127 hasOffer = false; 2128 return false; 2129 } 2130 2131 $.ajax({ 2132 url: apiUri + "/api/popup-content", 2133 headers: { 2134 "Access-Control-Allow-Headers": "*" 2135 }, 2136 type: "GET", 2137 crossDomain: true, 2138 data: req_data, 2139 dataType: "json", 2140 success: function(res) { 2141 if (res.responseText) { 2142 handleOfferExist(res); 2143 } 2144 console.log("Load completed. Request time: ", new Date().getTime() - start_time); 2145 }, 2146 error: function(res) { 2147 $('.ult-upsell-modal-body').html(res.responseText); 2148 console.log("Error occured. Request time: ", new Date().getTime() - start_time); 2149 console.log(res); 2150 }, 2151 }); 2152 }) 2153 } 2154 }) 2155}); 2156</script>
vendor: 1 bytes, line 2156
2156
2157<script src="https://appdevelopergroup.co/apps/bc_smartbadge/js/smartbadge.js" ></script>
2157<script> var _smbdg_shopname="0f57d75a84ec722ab72c23086da5c9b2"; var _smbdg_products=[ {} ]; </script>
2157<script type="text/javascript"> 2158$(document).ready(function() { 2159 setTimeout(function() { 2160 let promoItem = $('.navPage-subMenu a[href="https://kahtoola.com/shop/spring-sale/"], .navPages-item a[href="https://kahtoola.com/specials/"]'); 2161 2162 if (promoItem.length) { 2163 promoItem.css({ 2164 "color": "#c00416", 2165 "font-weight": "600;" 2166 }); 2167 } 2168 }, 500); 2169}); 2170</script>
2170<script> 2171 var dfCurrencyCode = 'USD'; 2172 var dfGroupId = parseInt(""); 2173 var dfChannelId = parseInt("1"); 2174 var dfPageType = 'cart'; 2175 var dfProductId = ''; 2176 2177 var dfCategoryName = ''; 2178 var dfBreadcrumbs = [{"url":"https:\u002f\u002fkahtoola.com\u002f","name":"Home"},{"url":"\u002fcart.php","name":"Your Cart"}]; 2179 var items = dfBreadcrumbs.slice(1); 2180 if (dfPageType === 'product') { 2181 items = items.slice(0, -1); 2182 } 2183 if (items.length > 0) { 2184 dfCategoryName = items 2185 .map(function(item) { return item.name; }) 2186 .join(' > '); 2187 } 2188 2189</script>
vendor: 1 bytes, line 2189
2189
2190<script src="https://us1-config.doofinder.com/2.x/e0ca65f5-e96e-4cb8-a14f-67ae6bbd0fd8.js" async></script>
2190<script>function myInit(){ StampedFn.init({ apiKey: 'pubkey-3u7co21XqGil2U09r998hz7gDersd7', sId: '279444' }); }</script>
vendor: 1 bytes, line 2190
2190
2191<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
2191 2192
2193<script defer src="https://cdn-client.fueled.io/fueled/53616c7465645f5fdffc8e5a034c63d4887ff5b0f996f649408b4d48fcfd1c6ed237d2b915694ae9f287f4310f37bd63cc312f25124f642fd2643a3928c73153/bigcommerce/js"></script>
2193 2194
2195<script> 2196 2197 (function () { 2198 function getCustomer() { 2199 const name = null; 2200 let firstName = ""; 2201 let lastName = ""; 2202 2203 if (!firstName) { 2204 const parts = name?.split(' '); 2205 firstName = parts ? parts[0] : null; 2206 lastName = parts.length >= 1 ? parts[1] : null; 2207 } 2208 2209 return { 2210 name: name, 2211 externalCustomerId: "", 2212 email: "", 2213 firstName: firstName, 2214 lastName: lastName, 2215 shipping_address: { 2216 street: null, 2217 city: null, 2218 state: null, 2219 postalCode: '', 2220 country: null 2221 } 2222 }; 2223 } 2224 2225 function getProductPageProduct() { 2226 const categories = [] ; 2227 let price = parseFloat(''); 2228 if (!price) { 2229 price = BCData?.product_attributes?.price?.with_tax?.value; 2230 } 2231 2232 return { 2233 productId: '', 2234 sku: '', 2235 brand: null, 2236 category: categories.length > 0 ? categories[0] : null, 2237 price: price, 2238 url: '', 2239 imageUrl: '' 2240 }; 2241 } 2242 2243 function getCartPageProducts() { 2244 const cartItems = [] ; 2245 const products = []; 2246 for (let i = 0; i < cartItems.length; i++) { 2247 const product = { 2248 productId: cartItems[i].product_id.toString(), 2249 sku: cartItems[i].sku, 2250 quantity: cartItems[i].quantity, 2251 name: cartItems[i].name, 2252 price: cartItems[i].price.value, 2253 brand: cartItems[i].brand?.name, 2254 position: i + 1, 2255 url: cartItems[i].url, 2256 imageUrl: cartItems[i].image?.data?.replace("{:size}", "200x200"), 2257 }; 2258 products.push(product); 2259 } 2260 return products; 2261 } 2262 2263 function getCollectionPageProducts() { 2264 return {}; 2265 } 2266 2267 function getProductsOnPage() { 2268 const products = []; 2269 let productsOnPage = []; 2270 const pageType = "cart"; 2271 2272 switch (pageType) { 2273 case 'category': { 2274 productsOnPage = [] ; 2275 break; 2276 } 2277 case 'default': { 2278 productsOnPage = [] ; 2279 productsOnPage = productsOnPage.concat( [] ); 2280 break; 2281 } 2282 case 'product': { 2283 productsOnPage = [] ; 2284 break; 2285 } 2286 case 'search': { 2287 productsOnPage = [] ; 2288 break; 2289 } 2290 case 'brand': { 2291 productsOnPage = [] ; 2292 break; 2293 } 2294 case 'compare': { 2295 productsOnPage = [] ; 2296 break; 2297 } 2298 case 'wishlist': { 2299 productsOnPage = [] ; 2300 break; 2301 } 2302 case 'account_recentitems': { 2303 productsOnPage = [] ; 2304 break; 2305 } 2306 default: { 2307 productsOnPage = [] ; 2308 } 2309 } 2310 2311 for (let i = 0; i < productsOnPage.length; i++) { 2312 const product = { 2313 productId: (productsOnPage[i]?.product_id || productsOnPage[i].id).toString(), 2314 sku: productsOnPage[i].sku, 2315 quantity: productsOnPage[i].quantity, 2316 name: productsOnPage[i].name, 2317 price: productsOnPage[i]?.price?.without_tax?.value ?? productsOnPage[i]?.price?.with_tax?.value, 2318 brand: productsOnPage[i].brand?.name, 2319 position: i + 1, 2320 url: productsOnPage[i].url, 2321 imageUrl: productsOnPage[i].image?.data?.replace("{:size}", "200x200"), 2322 }; 2323 2324 products.push(product); 2325 } 2326 2327 return products; 2328 } 2329 2330 2331 window.addEventListener('fueled-load', () => { 2332 window.Fueled.setDataLayerItem('page', 'cart'); 2333 window.Fueled.setDataLayerItem('currency', 'USD'); 2334 window.Fueled.setDataLayerItem('country_code', ''); 2335 window.Fueled.setDataLayerItem('cart_id', ''); 2336 2337 2338 2339 2340 2341 window.Fueled.setDataLayerItem('cart', { 2342 id: '', 2343 total: 0, 2344 subtotal: 0, 2345 quantity: 0, 2346 }); 2347 window.Fueled.setDataLayerItem('products', getCartPageProducts()); 2348 2349 2350 2351 if (window.Fueled.getDataLayerItem('products') === undefined) 2352 window.Fueled.setDataLayerItem('products', getProductsOnPage()); 2353 }); 2354 })(); 2355</script>
2355 2356
2356<script> 2357 (function() { 2358 window.shogunVariables = {}; 2359 window.shogunVariables.orderId = ''; 2360 })(); 2361 </script>
vendor: 1 bytes, line 2361
2361
2362<script> 2363(function () { 2364 if (document.getElementById('kahtoola-price-display-styles')) { 2365 return; 2366 } 2367 2368 var style = document.createElement('style'); 2369 style.id = 'kahtoola-price-display-styles'; 2370 2371 style.textContent = ` 2372 /* 2373 * CATEGORY PAGES 2374 * Align reviews, titles and prices together on the left. 2375 */ 2376 [data-list-name^="Category:"] .card-body, 2377 [data-list-name^="Category:"] .card-title, 2378 [data-list-name^="Category:"] .card-text[data-test-info-type="price"], 2379 [data-list-name^="Category:"] .stamped-product-reviews-badge { 2380 text-align: left !important; 2381 } 2382 2383 /* 2384 * HOMEPAGE FEATURED PRODUCTS 2385 * Keep reviews, titles and prices centered. 2386 */ 2387 .featured .productGrid[data-product-type="featured"] .card-body, 2388 .featured .productGrid[data-product-type="featured"] .card-title, 2389 .featured .productGrid[data-product-type="featured"] 2390 .card-text[data-test-info-type="price"], 2391 .featured .productGrid[data-product-type="featured"] 2392 .stamped-product-reviews-badge { 2393 text-align: center !important; 2394 } 2395 2396 /* Keep PDP and Quick View pricing left-aligned */ 2397 .productView-price { 2398 text-align: left !important; 2399 } 2400 2401 /* Hide MSRP text while retaining the crossed-out price */ 2402 .card-text[data-test-info-type="price"] 2403 .rrp-price--withoutTax > span:first-child, 2404 .card-text[data-test-info-type="price"] 2405 .rrp-price--withTax > span:first-child, 2406 .productView-price 2407 .rrp-price--withoutTax > span:first-child, 2408 .productView-price 2409 .rrp-price--withTax > span:first-child { 2410 display: none !important; 2411 } 2412 2413 /* Place original and current prices on the same line */ 2414 .card-text[data-test-info-type="price"] > .price-section, 2415 .productView-price > .price-section:not(.price-section--saving) { 2416 display: inline-block; 2417 vertical-align: baseline; 2418 margin: 0; 2419 } 2420 2421 /* Add space between original and current prices */ 2422 .card-text[data-test-info-type="price"] > .rrp-price--withoutTax, 2423 .card-text[data-test-info-type="price"] > .rrp-price--withTax, 2424 .productView-price > .rrp-price--withoutTax, 2425 .productView-price > .rrp-price--withTax { 2426 margin-right: 0.35em; 2427 } 2428 2429 /* De-emphasize the original price */ 2430 .card-text[data-test-info-type="price"] .price--rrp, 2431 .productView-price .price--rrp { 2432 color: #707070; 2433 } 2434 2435 /* Keep the savings amount below PDP pricing */ 2436 .productView-price > .price-section--saving { 2437 display: block; 2438 text-align: left; 2439 } 2440 `; 2441 2442 document.head.appendChild(style); 2443})(); 2444</script>
2444<script> 2445(function () { 2446 if (document.getElementById('kahtoola-waterproof-gaiters-new-badge')) { 2447 return; 2448 } 2449 2450 var style = document.createElement('style'); 2451 style.id = 'kahtoola-waterproof-gaiters-new-badge'; 2452 2453 style.textContent = ` 2454 .navPage-subMenu-action[aria-label="Waterproof Gaiters"]::after { 2455 content: "New"; 2456 display: inline-block; 2457 margin-left: 0.45rem; 2458 padding: 1px 6px 2px; 2459 position: relative; 2460 top: -1px; 2461 border-radius: 4px; 2462 background-color: #c7202f; 2463 color: #ffffff; 2464 font-family: inherit; 2465 font-size: 11px; 2466 font-weight: 400; 2467 line-height: 1.35; 2468 letter-spacing: 0; 2469 text-transform: none; 2470 vertical-align: middle; 2471 white-space: nowrap; 2472 } 2473 `; 2474 2475 document.head.appendChild(style); 2476})(); 2477</script>
2477 2478
2478<script>window.__CF$cv$params={r:'a44334b7fdd32af4',t:'MTc5MDkzODg1Mw==',u:'01a0fc4630d875df809f6107995beb94',ut:'09CLfe3ra04geBfnBY6R8JRBQtN7nLvTRslfQ4Qfe9k-1790938853-1.2.1.1-pwr9cc74AT1q74DHtKf5jrPT83FBlGUTs_lsq5R9myMa5CLZtsjqgyugZYDV1joVZGoned6_xl.Vy44dGKxY4CED3P.YlsgkQH8bBrmP1Eo',i:60};(function(){if(!document.body)return;var s=document.createElement('script');s.src='/cdn-cgi/challenge-platform/scripts/precursor/main.js';document.head.appendChild(s);})();</script>
2478<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a44334b7fdd32af4',t:'MTc5MDkzODg1Mw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
2478</body> 2479</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.