PageSourceSearch

https://kahtoola.com/cart.php

html kahtoola.com collected 2026-10-02 11:00:54 UTC 162,723 bytes, 2,479 lines download raw bytes

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&#x3D;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>&nbsp;&nbsp;&nbsp;&nbsp;') // 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="{&quot;isPreview&quot;:false,&quot;inBuilder&quot;:false}"/><meta name="makeswift-preview-info" content="{&quot;isPreview&quot;:false,&quot;inBuilder&quot;: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&#x3D;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&#x3D;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">&#215;</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                    &copy; 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>&nbsp;<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.