PageSourceSearch

https://nsor.com/customer/account/login/referer/aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2luZGV4Lw~~/

html nsor.com collected 2026-10-04 03:33:28 UTC 114,023 bytes, 1,303 lines download raw bytes

1 <!doctype html><html lang="en"><head >
1<script nonce="cWk3ZjJuZmtxMXY4NjFzNHB1NXh1d3RiNjJ1Z2plNGE=">(() => {
2    let mstCookieService = {
3        allCookiesByGroups: {"1":["add_to_cart","guest-view","login_redirect","mage-banners-cache-storage","mage-messages","mage-translation-storage","mage-translation-file-version","product_data_storage","recently_compared_product","recently_compared_product_previous","recently_viewed_product","recently_viewed_product_previous","remove_from_cart","stf","X-Magento-Vary","form_key","mage-cache-sessid","mage-cache-storage","mage-cache-storage-section-invalidation","persistent_shopping_cart","private_content_version","section_data_ids","store"],"2":["customer_segment_ids","external_no_cache","frontend","guest_view","last_category","last_product","newmessage","no_cache"],"3":["mg_dnt","user_allowed_save_cookie","authentication_flag","dataservices_customer_id","dataservices_customer_group","dataservices_cart_id","dataservices_product_context"],"4":["_ga","_ga_[*]","_gcl_au","_tt_enable_cookie","_ttp","_fbp","_fbc"]},
4        essentialGroupIds: [1],
5        requiredCookies: ["PHPSESSID","form_key","gdpr_cookie_consent","gdpr_cookie_groups"],
6        isTrack: false,
7        wildcard: '[*]',
8        rejected: [],
9        sent: [],
10        getAllowedGroups() {
11            let cookieValue = this.getCookie('gdpr_cookie_groups');
12            let allowedGroupIds = cookieValue ? unescape(cookieValue).split(',') : [];
13
14            return (allowedGroupIds.length) ? allowedGroupIds : this.essentialGroupIds;
15        },
16        getAllowedCookies() {
17            let allowedGroups = this.getAllowedGroups();
18            let cookies = this.requiredCookies;
19            for (let groupId of allowedGroups) {
20                if (this.allCookiesByGroups[groupId]) {
21                    for (let code of this.allCookiesByGroups[groupId]) {
22                        cookies.push(code);
23                    }
24                }
25            }
26            return cookies;
27        },
28        getCookie(cookieCode) {
29            cookieCode += '=';
30            let cookieArr = document.cookie.split(';');
31            for (i = 0; i < cookieArr.length; i++) {
32                let cookie = (cookieArr[i]).trim();
33                if (cookie.indexOf(cookieCode) === 0) {
34                    return cookie.substring(cookieCode.length, cookie.length);
35                }
36            }
37            return null;
38        },
39        isAllowed(cookieCode) {
40            let allowedCookies = this.getAllowedCookies();
41            for (let code of allowedCookies) {
42                if (code == cookieCode) {
43                    return true;
44                }
45                if (code.indexOf(this.wildcard) !== -1) {
46                    let regexp = new RegExp('^' + code.replace(this.wildcard, '.+') + '$', 'i');
47                    if (regexp.test(cookieCode)) {
48                        return true;
49                    }
50                }
51            }
52            return false;
53        },
54        addSent(sent) {
55            this.sent = this.sent.concat(sent);
56        },
57        reject(cookieCode) {
58            if (this.rejected.indexOf(cookieCode) === -1) {
59                this.rejected.push(cookieCode);
60            }
61        },
62        sendRejected() {
63            if (this.rejected.length) {
64                let toSend = this.rejected.filter(function (cookieCode) {
65                    return this.indexOf(cookieCode) === -1;
66                }, this.sent);
67                if (toSend.length) {
68                    let body = toSend.reduce((body, cookieCode) => {
69                        body.append('cookie_list[]', cookieCode);
70                        return body;
71                    }, new URLSearchParams({}));
72                    fetch('/gdpr_cookie/cookie/rejected', {
73                        method: 'POST',
74                        headers: {
75                            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
76                            'X-Requested-With': 'XMLHttpRequest'
77                        },
78                        body: body
79                    });
80                    this.addSent(toSend);
81                }
82            }
83        }
84    };
85
86    let nativeCookie = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie');
87    if (!nativeCookie && HTMLDocument) {
88        nativeCookie = Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');
89    }
90    if (nativeCookie && nativeCookie.configurable) {
91        Object.defineProperty(document, 'cookie', {
92            enumerable: true,
93            configurable: true,
94            get() {
95                return nativeCookie.get.call(document);
96            },
97            set(v) {
98                try {
99                    let cookieCode = ((v.split(';')[0]).split('=')[0]).trim();
100                    if (!mstCookieService.isAllowed(cookieCode)) {
101                        mstCookieService.reject(cookieCode);
102                        return;
103                    }
104                } catch (e) {
105                    console.log('  -- error when check cookie: ', v);
106                    console.log(e.name + ':' + e.message);
107                    console.log(e.stack);
108                }
109                nativeCookie.set.call(document, v);
110            }
111        });
112
113        if (mstCookieService.isTrack) {
114            let timerId = setInterval(mstCookieService.sendRejected.bind(mstCookieService), 1000);
115        }
116    }
117})();(function () {
118    window.dataLayer = window.dataLayer || [];
119    // Keep gtag local so Magento_GoogleGtag still loads googletagmanager.com/gtag/js.
120    // Defining window.gtag here makes Magento skip the script → Tag Assistant: "No Google tags found".
121    function gtag(){window.dataLayer.push(arguments);}
122    gtag("consent", "default", {"ad_user_data":"denied","ad_personalization":"denied","ad_storage":"denied","analytics_storage":"denied","personalization_storage":"denied","functionality_storage":"denied","security_storage":"denied","wait_for_update":500});
123    try {
124        var saved = window.localStorage.getItem("mst-gdpr-google-consent-mode");
125        if (saved) {
126            gtag("consent", "update", JSON.parse(saved));
127            return;
128        }
129    } catch (e) {}
130    var fallbackUpdate = null;
131    if (fallbackUpdate) {
132        gtag("consent", "update", fallbackUpdate);
133    }
134})();</script>
134 <meta charset="utf-8"/>
135<meta name="title" content="Customer Login  | Truck &amp; Jeep Parts"/>
136<meta name="description" content="Shop North Shore Off-Road for Truck and Jeep Accessories. Lift Kits, Leveling Kits, Winches, Off-Road Recovery Gear, Wheels and Tires. Shop in store or online. Stores located in British Columbia and Alberta."/>
137<meta name="robots" content="INDEX,FOLLOW"/>
138<meta name="viewport" content="width=device-width, initial-scale=1"/>
139<meta name="format-detection" content="telephone=no"/>
140<title>Customer Login  | Truck &amp; Jeep Parts</title>
141    <link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/mage/calendar.css" />
142<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/Flexiti_Flxpayment/css/styles.css" />
143<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/GlobalPayments_PaymentGateway/css/styles.css" />
144<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/Jajuma_ImageOptimizerUltimate/css/web.css" />
145<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/css/styles-m.css" />
146<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/jquery/uppy/dist/uppy-custom.css" />
147<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/Amasty_Base/vendor/slick/amslick.min.css" />
148<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/Amasty_Finder/css/chosen.min.css" />
149<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/Amasty_InstagramFeed/vendor/fancybox/jquery.fancyambox.min.css" />
150<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/Amasty_LibSwiperJs/vendor/swiper/swiper.min.css" />
151<link rel="stylesheet" type="text/css" media="all" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/Amasty_Storelocator/vendor/chosen/chosen.min.css" />
152<link rel="stylesheet" type="text/css" media="screen and (min-width: 768px)" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/css/styles-l.css" />
153<link rel="stylesheet" type="text/css" media="print" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/css/print.css" />
154
155
156
157
158<link rel="preload" as="font" crossorigin="anonymous" href="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/fonts/Luma-Icons.woff2" />
159<link rel="icon" type="image/x-icon" href="https://nsor.com/media/favicon/websites/1/NSOR_Favicon.png" />
160<link rel="shortcut icon" type="image/x-icon" href="https://nsor.com/media/favicon/websites/1/NSOR_Favicon.png" />
161
162<!-- Meta Pixel Code -->
163
164<noscript><img height="1" width="1" style="display:none"
165src="https://www.facebook.com/tr?id=1628185817221309&ev=PageView&noscript=1"
166/></noscript>
167<!-- End Meta Pixel Code -->
168<meta name="google-site-verification" content="maq8yJkz61-pxwYV0vPGZ_D6yHgyXRFUYEX3KnPgsTg" />
169<link rel="preload" as="image" href="https://nsor.com/media/wysiwyg/Banner--RFX-Cap_1.jpg"/>    <!-- BEGIN GOOGLE ANALYTICS 4 CODE --><!-- END GOOGLE ANALYTICS 4 CODE -->  </head><body data-container="body" data-mage-init='{"loaderAjax": {}, "loader": { "icon": "https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/images/loader-2.gif"}}' id="html-body" class="customer-account-login page-layout-1column">           <div class="cookie-status-message" id="cookie-status" style="display: none;">The store will not work correctly when cookies are disabled.</div>   <noscript><div class="message global noscript"><div class="content"><p><strong>JavaScript seems to be disabled in your browser.</strong> <span> For the best experience on our site, be sure to turn on Javascript in your browser.</sp
169an></p></div></div></noscript>      <div class="page-wrapper"><header class="page-header"><style>#html-body [data-pb-style=D3YP6UK]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div class="header-top-bar-message" data-content-type="row" data-appearance="full-width" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="D3YP6UK"><div class="row-full-width-inner" data-element="inner"><div data-content-type="text" data-appearance="default" data-element="main"><ul>
170<li>EARN A DISCOUNT | By Choosing an In-Store Pick-up</li>
171<li>FREE Shipping | On Orders Over $99 Excluding Oversized</li>
172<li>STOCK CHECK | In Stock Items are Marked Ready to Ship</li>
173</ul></div></div></div><div class="header content"> <span data-action="toggle-nav" class="action nav-toggle"><span>Toggle Nav</span></span> <a class="logo" href="https://nsor.com/" title="" aria-label="store logo">  <picture>  <source type="image/webp" srcset="https://nsor.com/media/opti_image/webp/logo/stores/1/NSOR_Black_Full_Logo_2017.webp"> <source type="image/jpg" srcset="https://nsor.com/media/logo/stores/1/NSOR_Black_Full_Logo_2017.jpg"><img src="https://nsor.com/media/logo/stores/1/NSOR_Black_Full_Logo_2017.jpg" title="" alt="" width="170"   loading="lazy" /></picture></a><div class="customer-account-link"> <a href="https://nsor.com/customer/account/" title="Login">Login</a></div><style>#html-body [data-pb-style=WX9ASDW]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div class="customer-account-link call" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="WX9ASDW"><div data-content-type="text" data-appearance="default" data-element="main"><p><a href="tel:18006242468">1-800-624-2468</a></p>
174<p><a href="/store-locator">Locations</a></p></div></div> <div data-block="minicart" class="minicart-wrapper"><a title="Shopping Cart" class="action showcart" href="https://nsor.com/checkout/cart/" data-bind="scope: 'minicart_content'"><span class="text">My Cart</span> <span class="counter qty empty" data-bind="css: { empty: !!getCartParam('summary_count') == false && !isLoading() }, blockLoader: isLoading"><span class="counter-number"><!-- ko if: getCartParam('summary_count') --><!-- ko text: getCartParam('summary_count').toLocaleString(window.LOCALE) --><!-- /ko --><!-- /ko --></span> <span class="counter-label"><!-- ko if: getCartParam('summary_count') --><!-- ko text: getCartParam('summary_count').toLocaleString(window.LOCALE) --><!-- /ko --><!-- ko i18n: 'items' --><!-- /ko --><!-- /ko --></span></span></a>  <div class="block block-minicart" data-role="dropdownDialog" data-mage-init='{"dropdownDialog":{ "appendTo":"[data-block=minicart]", "triggerTarget":".showcart", "timeout": "2000", "closeOnMouseLeave": false, "closeOnEscape": true, "triggerClass":"active", "parentClass":"active", "buttons":[]}}'><div id="minicart-content-wrapper" data-bind="scope: 'minicart_content'"><!-- ko template: getTemplate() --><!-- /ko --></div></div>  </div>   <section class="amsearch-wrapper-block" data-amsearch-wrapper="block" data-bind=" scope: 'amsearch_wrapper', mageInit: { 'Magento_Ui/js/core/app': { components: { amsearch_wrapper: { component: 'Amasty_Xsearch/js/wrapper', data: {&quot;url&quot;:&quot;https:\/\/nsor.com\/amasty_xsearch\/autocomplete\/index\/&quot;,&quot;url_result&quot;:&quot;https:\/\/nsor.com\/catalogsearch\/result\/&quot;,&quot;url_popular&quot;:&quot;https:\/\/nsor.com\/search\/term\/popular\/&quot;,&quot;isDynamicWidth&quot;:false,&quot;isProductBlockEnabled&quot;:true,&quot;width&quot;:900,&quot;displaySearchButton&quot;:true,&quot;fullWidth&quot;:false,&quot;minChars&quot;:3,&quot;delay&quot;:500,&quot;currentUrlEncoded&quot;:&quot;aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2xvZ2luL3JlZmVyZXIvYUhSMGNITTZMeTl1YzI5eUxtTnZiUzlqZFhOMGIyMWxjaTloWTJOdmRXNTBMMmx1WkdWNEx3fn4v&quot;,&quot;color_settings&quot;:[],&quot;popup_display&quot;:0,&quot;preloadEnabled&quot;:false,&quot;isSeoUrlsEnabled&quot;:false,&quot;seoKey&quot;:&quot;search&quot;,&quot;isSaveSearchInputValueEnabled&quot;:false} } } } }"><div class="block-title"></div><div class="amsearch-form-block" data-bind=" style: { width: resized() ? data.width + 'px' : '' }
174, css: { '-opened': opened }, afterRender: initCssVariables">  <section class="amsearch-input-wrapper" data-bind=" css: { '-dynamic-width': data.isDynamicWidth, '-match': $data.readyForSearch(), '-typed': inputValue && inputValue().length }"><input type="text" name="q" placeholder="Enter&#x20;Keyword&#x20;or&#x20;Item" class="amsearch-input" maxlength="128" role="combobox" aria-haspopup="false" aria-autocomplete="both" autocomplete="off" aria-expanded="false" data-amsearch-block="input" enterkeyhint="search" data-bind=" afterRender: initInputValue, hasFocus: focused, value: inputValue, event: { keypress: onEnter }, valueUpdate: 'input'"><!-- ko template: { name: templates.loader } --><!-- /ko --><button class="amsearch-button -close -clear -icon" style="display: none" data-bind=" event: { click: inputValue.bind(this, '') }, attr: { title: $t('Clear Field') }, visible: inputValue && inputValue().length"></button> <button class="amsearch-button -loupe -clear -icon -disabled" data-bind=" event: { click: search }, css: { '-disabled': !$data.match() }, attr: { title: $t('Search') }"></button></section>   <button class="amsearch-button -primary -search -disabled" type="submit" title="Search" data-bind=" attr: { tabindex: readyForSearch() ? '0' : '-1' }, event: { click: search }, css: { '-disabled': !readyForSearch() }, enable: readyForSearch()">Search</button>    <section class="amsearch-result-section" data-amsearch-js="results" style="display: none;" data-bind=" css: { '-small': $data.data.width < 700 && !$data.data.fullWidth }, afterRender: function (node) { initResultSection(node, 1) }, style: resultSectionStyles(), visible: $data.opened()"><!-- ko if: !$data.match() && $data.preload() --><!-- ko template: { name: templates.preload } --><!-- /ko --><!-- /ko --><!-- ko if: $data.match() --><!-- ko template: { name: templates.results } --><!-- /ko --><!-- /ko --><!-- ko if: $data.message() && $data.message().length --><!-- ko template: { name: templates.message } --><!-- /ko --><!-- /ko --></section></div></section></div></header> <div class="header-top-horizontal-megamenu" data-content-type="row" data-appearance="full-width"><div class="row-full-width-inner" data-element="inner"><div data-content-type="text" data-appearance="default" data-element="main"><ul><li  class="level0 nav-1 category-item first level-top parent" role="presentation"><a href="https://nsor.com/interior.html"  class="level-top" role="menuitem"><span>Interior</span></a><ul class="level0 submenu"><li  class="level1 nav-1-1 category-item first" role="presentation"><a href="https://nsor.com/interior/floor-mats.html" role="menuitem"><span>Floor Mats &amp; Liners</span></a></li><li  class="level1 nav-1-2 category-item last" role="presentation"><a href="https://nsor.com/interior/seat-covers.html" role="menuitem"><span>Seat Covers</span></a></li></ul></li><li  class="level0 nav-2 category-item level-top parent" role="presentation"><a href="https://nsor.com/exterior.html"  class="level-top" role="menuitem"><span>Exterior</span></a><ul class="level0 submenu"><li  class="level1 nav-2-1 category-item first" role="presentation"><a href="https://nsor.com/exterior/modular-canopies.html" role="menuitem"><span>Canopies</span></a></li><li  class="level1 nav-2-2 category-item" role="presentation"><a href="https://nsor.com/exterior/tonneau-covers-box-covers-canopies.html" role="menuitem"><span>Tonneau &amp; Bed Covers</span></a></li><li  class="level1 nav-2-3 category-item" role="presentation"><a href="https://nsor.com/exterior/fender-flares.html" role="menuitem"><span>Fender Flares</span></a></li><li  class="level1 nav-2-4 category-item" role="presentation"><a href="https://nsor.com/exterior/deflectors-window-visors-bug-deflectors.html" role="menuitem"><span>Deflectors &amp; Visors</span></a></li><li  class="level1 nav-2-5 category-item" role="presentation"><a href="https://nsor.com/exterior/mud-flaps.html" role="menuitem"><span>Mud Flaps</span></a></li><li  class="level1 nav-2-6 category-item" role="presentation"><a href="https://nsor.com/exterior/headache-racks-rails.html" role="menuitem"><span>Headache Rack &amp; Rails</span></a></li>
174<li  class="level1 nav-2-7 category-item" role="presentation"><a href="https://nsor.com/exterior/racks-headache-racks-carriers.html" role="menuitem"><span>Racks &amp; Carriers</span></a></li><li  class="level1 nav-2-8 category-item" role="presentation"><a href="https://nsor.com/exterior/tool-boxes.html" role="menuitem"><span>Tool Boxes</span></a></li><li  class="level1 nav-2-9 category-item" role="presentation"><a href="https://nsor.com/exterior/rolling-cargo-bed.html" role="menuitem"><span>Cargo Slide &amp; Drawer System</span></a></li><li  class="level1 nav-2-10 category-item" role="presentation"><a href="https://nsor.com/exterior/side-steps-running-boards.html" role="menuitem"><span>Side Steps &amp; Running Boards</span></a></li><li  class="level1 nav-2-11 category-item" role="presentation"><a href="https://nsor.com/exterior/lighting.html" role="menuitem"><span>Lighting</span></a></li><li  class="level1 nav-2-12 category-item last" role="presentation"><a href="https://nsor.com/exterior/replacement-grilles-screen-fronts.html" role="menuitem"><span>Screen Fronts</span></a></li></ul></li><li  class="level0 nav-3 category-item level-top parent" role="presentation"><a href="https://nsor.com/suspension.html"  class="level-top" role="menuitem"><span>Suspension</span></a><ul class="level0 submenu"><li  class="level1 nav-3-1 category-item first" role="presentation"><a href="https://nsor.com/suspension/level-kits.html" role="menuitem"><span>Level Kits</span></a></li><li  class="level1 nav-3-2 category-item" role="presentation"><a href="https://nsor.com/suspension/lift-kits.html" role="menuitem"><span>Lift Kits</span></a></li><li  class="level1 nav-3-3 category-item" role="presentation"><a href="https://nsor.com/suspension/shocks-struts-boots.html" role="menuitem"><span>Shocks Struts &amp; Boots</span></a></li><li  class="level1 nav-3-4 category-item last" role="presentation">
174<a href="https://nsor.com/suspension/suspension-components-parts.html" role="menuitem"><span>Suspension Components &amp; Parts</span></a></li></ul></li><li  class="level0 nav-4 category-item level-top parent" role="presentation"><a href="https://nsor.com/towing.html"  class="level-top" role="menuitem"><span>Towing</span></a><ul class="level0 submenu"><li  class="level1 nav-4-1 category-item first" role="presentation"><a href="https://nsor.com/chrome-accessories/5th-wheel-hitches.html" role="menuitem"><span>5th Wheel &amp; Gooseneck Hitches</span></a></li><li  class="level1 nav-4-2 category-item" role="presentation"><a href="https://nsor.com/chrome-accessories/trailer-hitches.html" role="menuitem"><span>Trailer Hitches</span></a></li><li  class="level1 nav-4-3 category-item" role="presentation"><a href="https://nsor.com/chrome-accessories/ball-mounts-hitch-balls.html" role="menuitem"><span>Ball Mounts &amp; Hitch Balls</span></a></li><li  class="level1 nav-4-4 category-item" role="presentation"><a href="https://nsor.com/chrome-accessories/towing-weight-distribution.html" role="menuitem"><span>Towing Suspension &amp; Air Bags</span></a></li><li  class="level1 nav-4-5 category-item" role="presentation"><a href="https://nsor.com/chrome-accessories/towing-electrical.html" role="menuitem"><span>Towing Electrical</span></a></li><li  class="level1 nav-4-6 category-item last" role="presentation"><a href="https://nsor.com/chrome-accessories/towing-accessories.html" role="menuitem"><span>Towing Accessories</span></a></li></ul></li><li  class="level0 nav-5 category-item last level-top parent" role="presentation"><a href="https://nsor.com/offroad.html"  class="level-top" role="menuitem"><span>Offroad</span></a><ul class="level0 submenu"><li  class="level1 nav-5-1 category-item first" role="presentation"><a href="https://nsor.com/overlanding/tents.html" role="menuitem"><span>Truck &amp; Car Tents</span></a></li><li  class="level1 nav-5-2 category-item" role="presentation"><a href="https://nsor.com/overlanding/winches-recovery.html" role="menuitem"><span>Winch &amp; Accessory Gear</span></a></li><li  class="level1 nav-5-3 category-item" role="presentation"><a href="https://nsor.com/overlanding/ramps.html" role="menuitem"><span>Recovery Equipment</span></a></li><li  class="level1 nav-5-4 category-item" role="presentation"><a href="https://nsor.com/overlanding/fuel-water-containers.html" role="menuitem"><span>Fuel &amp; Water Containers</span></a></li><li  class="level1 nav-5-5 category-item" role="presentation"><a href="https://nsor.com/overlanding/jacks.html" role="menuitem"><span>Trail Jacks &amp; Accessories</span></a></li><li  class="level1 nav-5-6 category-item" role="presentation"><a href="https://nsor.com/overlanding/compressors.html" role="menuitem"><span>Air Compressors</span></a></li><li  class="level1 nav-5-7 category-item last" role="presentation"><a href="https://nsor.com/overlanding/coolers.html" role="menuitem"><span>Coolers &amp; Car Fridges</span></a></li></ul></li> <style>#html-body [data-pb-style=BNAD9P7]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div class="header-top-horizontal-megamenu-cms" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="BNAD9P7"><div data-content-type="text" data-appearance="default" data-element="main"><ul>
175<li class="level0 category-item level-top parent"><a class="level-top" tabindex="-1" href="/commercial-fleet">Commercial Fleet</a>
176<ul class="level0 submenu">
177<li class="level1 category-item"><a tabindex="0" title="Canopy Quote" href="/nsor-work-truck">Work Truck</a></li>
178<li class="level1 category-item"><a tabindex="0" title="Tonneau Quote" href="/nsor-van-upfitting">Van Upfitting </a></li>
179</ul>
180</li>
181<li class="level0 category-item level-top parent"><a class="level-top" tabindex="-1" href="/our-services">Install Service</a>
182<ul class="level0 submenu">
183<li class="level1 category-item"><a tabindex="0" title="Lift Kit Installation" href="/our-services/lift-kit-installation-nsor">Lift Kit Installation</a></li>
184<li class="level1 category-item"><a tabindex="0" title="Wheels &amp; Tire Services" href="/our-services/wheels-tires-nsor">Wheels &amp; Tire Services</a></li>
185<li class="level1 category-item"><a tabindex="0" title="Mechanical Services" href="/our-services/mechanical-services">Mechanical Services</a></li>
186<li class="level1 category-item"><a tabindex="0" title="Mechanical Services" href="/our-services/leveling-kit-installation-nsor">Leveling Kit</a></li>
187<li class="level1 category-item"><a tabindex="0" title="Mechanical Services" href="/our-services/truck-cap-installation-nsor">Truck Cap</a></li>
188</ul>
189</li>
190<li class="level0 category-item level-top parent"><a class="level-top">Quotes</a>
191<ul class="level0 submenu">
192<li class="level1 category-item"><a tabindex="0" title="Canopy Quote" href="/nsorform/canopies/quote">Canopy Quote</a></li>
193<li class="level1 category-item"><a tabindex="0" title="Tonneau Quote" href="/nsorform/tonneau/quote">Tonneau Quote</a></li>
194</ul>
195</li>
196<li class="level0 category-item level-top parent"><a class="level-top">Links</a>
197<ul class="level0 submenu">
198<li class="level1 category-item"><a tabindex="0" title="Contact Us" href="/contact">Contact Us</a></li>
199<li class="level1 category-item"><a tabindex="0" title="Install Gallery" href="/portfolio">Install Gallery</a></li>
200<li class="level1 category-item"><a tabindex="0" title="Flyers" href="/catalogs-flyers">Flyers</a></li>
201<li class="level1 category-item"><a tabindex="0" title="Store Locator" href="/store-locator">Store Locator</a></li>
202<li class="level1 category-item"><a tabindex="0" href="/financing">Apply For Financing</a></li>
203<li class="level1 category-item"><a tabindex="-1" href="/store-brandsnsor">Brands Available</a></li>
204</ul>
205</li>
206</ul></div></div> </ul><div class="select-your-vehicle"><div class="open-form">Select Vehicle</div><div class="leading-tight"><div class="form-selected"><span class="fitmentTopSelection">2023 Audi Q5</span></div><div class="open-form">Change</div></div></div></div></div></div><style>
206#html-body [data-pb-style=LNHR6R6]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=U3KDCN8]{text-align:center;border-style:none}#html-body [data-pb-style=NNGQHYW],#html-body [data-pb-style=QMVUIMD]{max-width:100%;height:auto}#html-body [data-pb-style=V4378XF]{display:inline-block}#html-body [data-pb-style=BBW2HL8]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=U3KDCN8]{border-style:none} }</style><div class="header-top-vertical-megamenu" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="LNHR6R6"><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main"><div class="close-vertical-menu" data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="V4378XF"><a class="pagebuilder-button-primary" href="#" target="" data-link-type="default" data-element="link" data-pb-style="BBW2HL8"><span data-element="link_text">Close</span></a></div></div><figure class="logo-vertical-menu" data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="U3KDCN8">  <picture>  <source type="image/webp" srcset="https://nsor.com/media/wysiwyg/NSOR_Black_Full_Logo_2017.png"> <source type="image/png" srcset="https://nsor.com/media/wysiwyg/NSOR_Black_Full_Logo_2017.png"><img class="pagebuilder-mobile-hidden" src="https://nsor.com/media/wysiwyg/NSOR_Black_Full_Logo_2017.png" alt="" title="" data-element="desktop_image" data-pb-style="NNGQHYW" loading="lazy" ></picture>  <picture>  <source type="image/webp" srcset="https://nsor.com/media/wysiwyg/NSOR_Black_Full_Logo_2017.png"> <source type="image/png" srcset="https://nsor.com/media/wysiwyg/NSOR_Black_Full_Logo_2017.png"><img class="pagebuilder-mobile-only" src="https://nsor.com/media/wysiwyg/NSOR_Black_Full_Logo_2017.png" alt="" title="" data-element="mobile_image" data-pb-style="QMVUIMD" loading="lazy" ></picture></figure><div class="vertical-social-menu" data-content-type="text" data-appearance="default" data-element="main"><ul>
207<li><a tabindex="0" href="/customer/account">Login</a></li>
208<li><a tabindex="0" href="tel:18006242468">1-800-624-2468</a></li>
209</ul></div></div>  <div class="breadcrumbs"><ul class="items"> <li class="item Home"> <a href="https://nsor.com/" title="Home">Home</a> </li>  <li class="item Customer&#x20;Login"> <strong>Customer Login</strong> </li> </ul></div><main id="maincontent" class="page-main">
209 <a id="contentarea" tabindex="-1"></a><div class="page messages"> <div data-placeholder="messages"></div> <div data-bind="scope: 'messages'"><!-- ko if: cookieMessagesObservable() && cookieMessagesObservable().length > 0 --><div aria-atomic="true" role="alert" class="messages" data-bind="foreach: { data: cookieMessagesObservable(), as: 'message' }"><div data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message', 'data-ui-id': 'message-' + message.type }"><div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div></div></div><!-- /ko --><div aria-atomic="true" role="alert" class="messages" data-bind="foreach: { data: messages().messages, as: 'message' }, afterRender: purgeMessages"><div data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message', 'data-ui-id': 'message-' + message.type }"><div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div></div></div></div></div><div class="columns"><div class="column main"><input name="form_key" type="hidden" value="ftxhGknO2LecncCg" /> <div id="authenticationPopup" data-bind="scope:'authenticationPopup', style: {display: 'none'}">  <!-- ko template: getTemplate() --><!-- /ko --> </div>      <div id="monkey_campaign" style="display:none;" data-mage-init='{"campaigncatcher":{"checkCampaignUrl": "https://nsor.com/mailchimp/campaign/check/"}}'></div><div class="login-container"> <div class="block block-customer-login"><h1>Customer Login</h1><div class="block-content" aria-labelledby="block-customer-login-heading"><form class="form form-login" action="https://nsor.com/customer/account/loginPost/referer/aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2luZGV4Lw~~/" method="post" id="login-form" data-mage-init='{"validation":{}}'><input name="form_key" type="hidden" value="ftxhGknO2LecncCg" /> <fieldset class="fieldset login" data-hasrequired="* Required Fields"><div class="field note">If you have an account, sign in with your email address.</div><div class="field email required"><div class="control"><input placeholder="Email" name="login[username]" value=""  autocomplete="off" id="email" type="email" class="input-text" title="Email" data-mage-init='{"mage/trim-input":{}}' data-validate="{required:true, 'validate-email':true}"></div></div><div class="field password required"><div class="control"><input placeholder="Password" name="login[password]" type="password"  autocomplete="off" class="input-text" id="pass" title="Password" data-validate="{required:true}"></div><div class="field choice" data-bind="scope: 'showPassword'"><!-- ko template: getTemplate() --><!-- /ko --></div></div> <div class="field-recaptcha" id="recaptcha-f979c2ff515d921c34af9bd2aee8ef076b719d03-container" data-bind="scope:'recaptcha-f979c2ff515d921c34af9bd2aee8ef076b719d03'" ><!-- ko template: getTemplate() --><!-- /ko --></div> <div class="actions-toolbar"><div class="primary"><button type="submit" class="action login primary" name="send" id="send2"  disabled="disabled" ><span>Sign In</span></button></div><div class="secondary"><a class="action remind" href="https://nsor.com/customer/account/forgotpassword/"><span>Forgot Your Password?</span></a></div></div><a href="https://nsor.com/customer/account/create/" class="action create"><span>Create an Account</span></a></fieldset></form></div> </div></div>   <section class="amsearch-overlay-block" data-bind=" scope: 'index = amsearch_overlay_section', mageInit: { 'Magento_Ui/js/core/app': { components: { 'amsearch_overlay_section': { component: 'Amasty_Xsearch/js/components/overlay' } } } }"><div class="amsearch-overlay" data-bind=" event: { click: hide }, afterRender: initNode"></div></section> </div></div></main><footer class="page-footer"><div class="footer content"> <div class="field-recaptcha" id="recaptcha-38880f4467ec9e0b67744d92c917f6c5f7b94144-container" data-bind="scope:'recaptcha-38880f4467ec9e0b67744d92c917f6c5f7b94144'" ><!-- ko template: getTemplate() --><!-- /ko --></div> <div class="block newsletter"><div class="top-content"><div class="title"><strong>E-News</strong></div><div class="newsletter-description"><strong>Join our e-news for all the latest deals, new items and contests. You can unsubscribe at any time.</strong></div></div><div class="content"><form class="form subscribe" novalidate action="https://nsor.com/newsletter/subscriber/new/" method="post" data-mage-init='{"validation": {"errorClass": "mage-error"}}' id="newsletter-validate-detail"><div class="field newsletter"><div class="control"><label for="newsletter"><span class="label">Sign Up for Our Newsletter:</span> <input name="email" type="email" id="newsletter" placeholder="Enter Your email" data-mage-init='{"mage/trim-input":{}}' data-validate="{required:true, 'validate-email':true}" /></label></div></div>    <div class="field choice consent"><input type="checkbox" name=is_consented2 title=I agree to the &lt;a href=&quot;/privacy-policy-cookie-restriction-mode&quot; target=&quot;_blank&quot;&gt;Privacy Policy&lt;/a&gt; value="1" id=is_consented2 class="checkbox" required="required" data-validate="{required:true}"><label for=is_consented2 class="label"><span>I agree to the <a href="/privacy-policy-cookie-restriction-mode" target="_blank">Privacy Policy</a></span></label></div> <div class="actions"><button class="action subscribe primary" title="Sign&#x20;Up" type="submit" aria-label="Subscribe"><span>Sign Up</span></button></div></form></div></div>  <div class="field-recaptcha" id="recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container" data-bind="scope:'recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796'" ><!-- ko template: getTemplate() --><!-- /ko --></div><div class="mid-footer"><style>#html-body [data-pb-style=DS9XH8V],#html-body [data-pb-style=O0ISKGU]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=DS9XH8V]{justify-content:flex-start;display:flex;flex-direction:column}#html-body [data-pb-style=O0ISKGU]{align-self:stretch}#html-body [data-pb-style=ISRQ31K]{display:flex;width:100%}#html-body [data-pb-style=EVLUX6M],#html-body [data-pb-style=I1T2HIN],#html-body [data-pb-style=IR60CRR],#html-body [data-pb-style=VLE76NE]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="DS9XH8V"><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="O0ISKGU"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="ISRQ31K"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="I1T2HIN"><div data-content-type="text" data-appearance="default" data-element="main"><h2>Need help?</h2>
210<ul>
211<li><a tabindex="0" href="/contact">Contact Us</a></li>
212<li><a tabindex="0" href="/shipping-policy">Shipping</a></li>
213<li><a tabindex="0" href="/returns-warranty">Returns &amp; Warranty</a></li>
214<li><a tabindex="0" href="/privacy-policy">Privacy Policy</a></li>
215<li><a tabindex="0" href="/price-match">Price Match</a></li>
216<li>
216<a tabindex="0" href="https://560plus.com/factory-protection-plus-registration/">560PLUS Warranty</a></li>
217</ul></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="EVLUX6M"><div data-content-type="text" data-appearance="default" data-element="main"><h2>Shop By Brands</h2>
218<ul>
219<li><a tabindex="0" href="/brands/bds_suspension">BDS Suspension</a></li>
220<li><a tabindex="0" href="/brands/brightsource">Brightsource</a></li>
221<li><a tabindex="0" href="/brands/hi_lift_jack">Hi-Lift Jacks</a></li>
222<li><a tabindex="0" href="/brands/rfx">RFX Truck Accessories</a></li>
223<li><a tabindex="0" href="/brands/rotopax">Rotopax</a></li>
224<li><a tabindex="0" href="/brands/zone_offroad">Zone Offroad</a></li>
225<li><a tabindex="0" href="/brands">View All Brands</a></li>
226</ul></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="VLE76NE"><div data-content-type="text" data-appearance="default" data-element="main"><h2>About Us</h2>
227<ul>
228<li><a tabindex="0" href="/about-nsor">About NSOR</a></li>
229<li><a tabindex="0" href="/store-locator">Find a Store</a></li>
230<li><a tabindex="0" href="/our-services">Our Services</a></li>
231<li><a tabindex="0" href="/portfolio">Install Gallery</a></li>
232<li><a href="/store-brandsnsor">Available Brands</a></li>
233<li><a tabindex="0" href="/financing">Financing with Flexiti</a></li>
234<li><a tabindex="0" href="/nsor-faq">FAQ</a></li>
235<li><a href="/blog.html">Blog</a></li>
236</ul></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="IR60CRR"><div data-content-type="text" data-appearance="default" data-element="main"><h2>Connect with us</h2>
237<ul>
238<li><a href="/store-locator">British Columba, Canada</a></li>
239<li><a tabindex="0" href="/cdn-cgi/l/email-protection#86efe8e0e9c6e8f5e9f4a8e5e9eb"><span class="__cf_email__" data-cfemail="7a13141c153a1409150854191517">[email&#160;protected]</span></a></li>
240<li>604-988-7677</li>
241</ul>
242<h2>Find Us On</h2>
243<div class="find-us-social">
244<div class="find-facebook"><a tabindex="0" href="https://www.facebook.com/northshoreoffroadcentre" target="_blank" rel="noopener">Facebook</a></div>
245<div class="find-istagram"><a tabindex="0" href="https://www.instagram.com/northshoreoffroad/" target="_blank" rel="noopener">Instagram</a></div>
246<div class="find-youtube"><a tabindex="0" href="https://www.youtube.com/@northshoreoff-road" target="_blank" rel="noopener">Youtube</a></div>
247</div></div></div></div></div></div></div></div></div></footer>    <div id="amfilter_popup" class="amfinder-common-popup amfinder-horizontal " location="xml"><form id="form-finder-container" method="post" action="https://nsor.com/amfinder/index/search/"><input type="hidden" name="finder_id" value="5"/><input type="hidden" name="back_url" value="aHR0cHM6Ly9uc29yLmNvbS9hbWZpbmRlci8~"/><input type="hidden" name="reset_url" value="aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2xvZ2luL3JlZmVyZXIvYUhSMGNITTZMeTl1YzI5eUxtTnZiUzlqZFhOMGIyMWxjaTloWTJOdmRXNTBMMmx1WkdWNEx3fn4v"/><input type="hidden" name="category_id" value=""/><input type="hidden" name="current_apply_url" value="aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2xvZ2luL3JlZmVyZXIvYUhSMGNITTZMeTl1YzI5eUxtTnZiUzlqZFhOMGIyMWxjaTloWTJOdmRXNTBMMmx1WkdWNEx3fn4v"/><div class="amfinder-title">Select Vehicle <span class="action-close"></span></div><ul class="amfinder-toggle"> <li class="am-item -list-item"><div class="dropdown-element amshopby-clearer"><div class="amfinder-select-wrapper"><select id="popup-finder-5--20" data-dropdown-id="20"name="finder[20]" data-amfinder-js="select" class="amfinder-select">  <option value="0">Select Year</option> <option value="141865133" >2026</option> <option value="141864593" >2025</option> <option value="141827519" >2024</option> <option value="141828033" >2023</option> <option value="141828547" >2022</option> <option value="141829547" >2021</option> <option value="141830043" >2020</option> <option value="141830532" >2019</option> <option value="141831022" >2018</option> <option value="141831509" >2017</option> <option value="141831986" >2016</option> <option value="141832458" >2015</option> <option value="141832908" >2014</option> <option value="141833305" >2013</option> <option value="141833688" >2012</option> <option value="141834103" >2011</option> <option value="141834529" >2010</option> <option value="141834955" >2009</option> <option value="141835381" >2008</option> <option value="141835785" >2007</option> <option value="141836189" >2006</option> <option value="141836573" >2005</option> <option value="141836952" >2004</option> <option value="141837298" >2003</option> <option value="141837595" >2002</option> <option value="141837848" >2001</option> <option value="141838082" >2000</option> <option value="141838228" >1999</option> <option value="141838358" >1998</option> <option value="141838398" >1997</option> <option value="141848190" ></option> </select></div></div></li>  <li class="am-item -list-item"><div class="dropdown-element amshopby-clearer"><div class="amfinder-select-wrapper"><select id="popup-finder-5--21" data-dropdown-id="21"name="finder[21]"disabled = "disabled" data-amfinder-js="select" class="amfinder-select">  <option value="0">Select Make</option> </select></div></div></li>  <li class="am-item -list-item"><div class="dropdown-element amshopby-clearer"><div class="amfinder-select-wrapper"><select id="popup-finder-5--22" data-dropdown-id="22"name="finder[22]"disabled = "disabled" data-amfinder-js="select" class="amfinder-select">  <option value="0">Select Model</option> </select></div></div></li>  <li class="am-item -list-item"><div class="dropdown-element amshopby-clearer"><div class="amfinder-select-wrapper"><select id="popup-finder-5--23" data-dropdown-id="23"name="finder[23]"disabled = "disabled" data-amfinder-js="select" class="amfinder-select">  <option value="0">
247Select Cab</option> </select></div></div></li>  <li class="am-item -list-item"><div class="dropdown-element amshopby-clearer"><div class="amfinder-select-wrapper"><select id="popup-finder-5--24" data-dropdown-id="24"name="finder[24]"disabled = "disabled" data-amfinder-js="select" class="amfinder-select">  <option value="0">Select Box</option> </select></div></div></li>  <li class="am-item -list-item"><div class="dropdown-element amshopby-clearer"><div class="amfinder-select-wrapper"><select id="popup-finder-5--25" data-dropdown-id="25"name="finder[25]"disabled = "disabled" data-amfinder-js="select" class="amfinder-select">  <option value="0">Select Engine</option> </select></div></div></li>  <li class="last -list-item"><div class="amfinder-buttons no-display" data-amfinder-js="buttons"><button class="button" name="reset" value="1" title="Reset" type="submit">Reset</button> <button id="save-vehicle" class="button action primary" title="Save" type="button">Save</button></div></li></ul></form></div>       <div class="mst-gdpr__cookie-bar-wrapper" id="gdprCookieBar"><div class="mst-gdpr__cookie-bar"><div class="consent-text"><strong>We use cookies to make your experience better.</strong> To comply with privacy regulations, we need your consent to set cookies. <a href="/privacy-policy-cookie-restriction-mode">Learn more</a></div><div class="mst-gdpr__buttons"><button type="button" class="action" data-trigger-settings="decline"><span>Essential</span></button> <button type="button" class="action" data-trigger-settings="trigger"><span>Custom</span></button> <button type="button" class="action primary" data-trigger-settings="agree"><span>Agree All</span></button></div></div></div><div class="mst-gdpr__cookie-bar-overlay" id="gdprCookieBarOverlay"></div> </div>
vendor: 110 bytes, lines 247-248
247 
248<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
248<script> var LOCALE = 'en\u002DUS'; var BASE_URL = 'https\u003A\u002F\u002Fnsor.com\u002F'; var require = { 'baseUrl': 'https\u003A\u002F\u002Fnsor.com\u002Fstatic\u002Fversion1790833067\u002Ffrontend\u002FNsor\u002Fdefault\u002Fen_US' };</script>
vendor: 1 bytes, line 248
248
249<script type="text/javascript" src="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/requirejs/require.min.js"></script>
vendor: 1 bytes, line 249
249
250<script type="text/javascript" src="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/requirejs-min-resolver.min.js"></script>
vendor: 1 bytes, line 250
250
251<script type="text/javascript" src="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/mage/requirejs/mixins.min.js"></script>
vendor: 1 bytes, line 251
251
252<script type="text/javascript" src="https://nsor.com/static/version1790833067/frontend/Nsor/default/en_US/requirejs-config.min.js"></script>
vendor: 1 bytes, line 252
252
253<script>
254    document.write(atob('PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy9zY3JpcHQuY3JhenllZ2cuY29tL3BhZ2VzL3NjcmlwdHMvMDEyMy84MDk0LmpzIiBhc3luYz0iYXN5bmMiPjwvc2NyaXB0Pg=='));
255</script>
vendor: 1 bytes, line 255
255
256<script>
vendor: 408 bytes, lines 256-265
256
257!function(f,b,e,v,n,t,s)
258{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
259n.callMethod.apply(n,arguments):n.queue.push(arguments)};
260if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
261n.queue=[];t=b.createElement(e);t.async=!0;
262t.src=v;s=b.getElementsByTagName(e)[0];
263s.parentNode.insertBefore(t,s)}(window, document,'script',
264'https://connect.facebook.net/en_US/fbevents.js');
265fbq('init', '
2651628185817221309
vendor: 32 bytes, lines 265-266
265');
266fbq('track', 'PageView');
267</script>
vendor: 1 bytes, line 267
267
268<script type="text/x-magento-init">
269    {
270        "*": {
271            "Magento_GoogleGtag/js/google-analytics": {"isCookieRestrictionModeEnabled":false,"currentWebsite":1,"cookieName":"user_allowed_save_cookie","pageTrackingData":{"optPageUrl":"","measurementId":"G-JKBDYCC44R"},"ordersTrackingData":[],"googleAnalyticsAvailable":true}        }
272    }</script>
vendor: 1 bytes, line 272
272
273<script type="text/x-magento-init">
274        {
275            "*": {
276                "Magento_PageCache/js/form-key-provider": {
277                    "isPaginationCacheEnabled":
278                        0                }
279            }
280        }</script>
vendor: 1 bytes, line 280
280
281<script type="text&#x2F;javascript" src="https&#x3A;&#x2F;&#x2F;chimpstatic.com&#x2F;mcjs-connected&#x2F;js&#x2F;users&#x2F;6f3e61c6b325f3fe1675b7367&#x2F;88d4a97cf92fa6a90ff80d6e0.js" defer="defer">
282</script>
vendor: 1 bytes, line 282
282
283<script type="text/x-magento-init">
284    {
285        "*": {
286            "Magento_PageBuilder/js/widget-initializer": {
287                "config": {"[data-content-type=\"slider\"][data-appearance=\"default\"]":{"Magento_PageBuilder\/js\/content-type\/slider\/appearance\/default\/widget":false},"[data-content-type=\"map\"]":{"Magento_PageBuilder\/js\/content-type\/map\/appearance\/default\/widget":false},"[data-content-type=\"row\"]":{"Magento_PageBuilder\/js\/content-type\/row\/appearance\/default\/widget":false},"[data-content-type=\"tabs\"]":{"Magento_PageBuilder\/js\/content-type\/tabs\/appearance\/default\/widget":false},"[data-content-type=\"slide\"]":{"Magento_PageBuilder\/js\/content-type\/slide\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-slide-button","showOverlay":"hover","dataRole":"slide"}},"[data-content-type=\"banner\"]":{"Magento_PageBuilder\/js\/content-type\/banner\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-banner-button","showOverlay":"hover","dataRole":"banner"}},"[data-content-type=\"buttons\"]":{"Magento_PageBuilder\/js\/content-type\/buttons\/appearance\/inline\/widget":false},"[data-content-type=\"products\"][data-appearance=\"carousel\"]":{"Amasty_Xsearch\/js\/content-type\/products\/appearance\/carousel\/widget-override":false}},
288                "breakpoints": {"desktop":{"label":"Desktop","stage":true,"default":true,"class":"desktop-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-desktop.svg","conditions":{"min-width":"1024px"},"options":{"products":{"default":{"slidesToShow":"5"}}}},"tablet":{"conditions":{"max-width":"1024px","min-width":"768px"},"options":{"products":{"default":{"slidesToShow":"4"},"continuous":{"slidesToShow":"3"}}}},"mobile":{"label":"Mobile","stage":true,"class":"mobile-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-mobile.svg","media":"only screen and (max-width: 767px)","conditions":{"max-width":"767px","min-width":"640px"},"options":{"products":{"default":{"slidesToShow":"3"}}}},"mobile-small":{"conditions":{"max-width":"640px"},"options":{"products":{"default":{"slidesToShow":"2"},"continuous":{"slidesToShow":"1"}}}}}            }
289        }
290    }</script>
vendor: 1 bytes, line 290
290
291<script type="text/x-magento-init">
292    {
293        "*": {
294            "cookieStatus": {}
295        }
296    }</script>
vendor: 1 bytes, line 296
296
297<script type="text/x-magento-init">
298    {
299        "*": {
300            "mage/cookies": {
301                "expires": null,
302                "path": "\u002F",
303                "domain": ".nsor.com",
304                "secure": true,
305                "lifetime": "3600"
306            }
307        }
308    }</script>
vendor: 1 bytes, line 308
308
309<script> window.cookiesConfig = window.cookiesConfig || {}; window.cookiesConfig.secure = true; </script>
vendor: 1 bytes, line 309
309
310<script>    require.config({
311        map: {
312            '*': {
313                wysiwygAdapter: 'mage/adminhtml/wysiwyg/tiny_mce/tinymceAdapter'
314            }
315        }
316    });</script>
vendor: 1 bytes, line 316
316
317<script>    require.config({
318        paths: {
319            googleMaps: 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3.56\u0026key\u003D'
320        },
321        config: {
322            'Magento_PageBuilder/js/utils/map': {
323                style: '',
324            },
325            'Magento_PageBuilder/js/content-type/map/preview': {
326                apiKey: '',
327                apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fnsor.com\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.'
328            },
329            'Magento_PageBuilder/js/form/element/map': {
330                apiKey: '',
331                apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fnsor.com\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.'
332            },
333        }
334    });</script>
vendor: 1 bytes, line 334
334
335<script>
336    require.config({
337        shim: {
338            'Magento_PageBuilder/js/utils/map': {
339                deps: ['googleMaps']
340            }
341        }
342    });</script>
vendor: 1 bytes, line 342
342
343<script>window.checkout = {"shoppingCartUrl":"https:\/\/nsor.com\/checkout\/cart\/","checkoutUrl":"https:\/\/nsor.com\/checkout\/","updateItemQtyUrl":"https:\/\/nsor.com\/checkout\/sidebar\/updateItemQty\/","removeItemUrl":"https:\/\/nsor.com\/checkout\/sidebar\/removeItem\/","imageTemplate":"Magento_Catalog\/product\/image_with_borders","baseUrl":"https:\/\/nsor.com\/","minicartMaxItemsVisible":5,"websiteId":"1","maxItemsToDisplay":10,"storeId":"1","storeGroupId":"1","customerLoginUrl":"https:\/\/nsor.com\/customer\/account\/login\/referer\/aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2luZGV4Lw~~\/","isRedirectRequired":false,"autocomplete":"off","captcha":{"user_login":{"isCaseSensitive":false,"imageHeight":50,"imageSrc":"","refreshUrl":"https:\/\/nsor.com\/captcha\/refresh\/","isRequired":false,"timestamp":1791084808}}}</script>
vendor: 1 bytes, line 343
343
344<script type="text/x-magento-init">
345    {
346        "[data-block='minicart']": {
347            "Magento_Ui/js/core/app": {"components":{"minicart_content":{"children":{"subtotal.container":{"children":{"subtotal":{"children":{"subtotal.totals":{"config":{"display_cart_subtotal_incl_tax":0,"display_cart_subtotal_excl_tax":1,"template":"Magento_Tax\/checkout\/minicart\/subtotal\/totals"},"children":{"subtotal.totals.msrp":{"component":"Magento_Msrp\/js\/view\/checkout\/minicart\/subtotal\/totals","config":{"displayArea":"minicart-subtotal-hidden","template":"Magento_Msrp\/checkout\/minicart\/subtotal\/totals"}}},"component":"Magento_Tax\/js\/view\/checkout\/minicart\/subtotal\/totals"}},"component":"uiComponent","config":{"template":"Magento_Checkout\/minicart\/subtotal"}}},"component":"uiComponent","config":{"displayArea":"subtotalContainer"}},"item.renderer":{"component":"Magento_Checkout\/js\/view\/cart-item-renderer","config":{"displayArea":"defaultRenderer","template":"Magento_Checkout\/minicart\/item\/default"},"children":{"item.image":{"component":"Magento_Catalog\/js\/view\/image","config":{"template":"Magento_Catalog\/product\/image","displayArea":"itemImage"}},"checkout.cart.item.price.sidebar":{"component":"uiComponent","config":{"template":"Magento_Checkout\/minicart\/item\/price","displayArea":"priceSidebar"}}}},"extra_info":{"component":"uiComponent","config":{"displayArea":"extraInfo"}},"promotion":{"component":"uiComponent","config":{"displayArea":"promotion"}}},"config":{"itemRenderer":{"default":"defaultRenderer","simple":"defaultRenderer","virtual":"defaultRenderer"},"template":"Magento_Checkout\/minicart\/content"},"component":"Magento_Checkout\/js\/view\/minicart"}},"types":[]}        },
348        "*": {
349            "Magento_Ui/js/block-loader": "https\u003A\u002F\u002Fnsor.com\u002Fstatic\u002Fversion1790833067\u002Ffrontend\u002FNsor\u002Fdefault\u002Fen_US\u002Fimages\u002Floader\u002D1.gif"
350        }
351    }</script>
vendor: 1 bytes, line 351
351
352<script type="text/x-magento-init">
353    {
354        "*": {
355            "Magento_Ui/js/core/app": {
356                "components": {
357                        "messages": {
358                            "component": "Magento_Theme/js/view/messages"
359                        }
360                    }
361                }
362            }
363    }</script>
vendor: 1 bytes, line 363
363
364<script>window.authenticationPopup = {"autocomplete":"off","customerRegisterUrl":"https:\/\/nsor.com\/customer\/account\/create\/","customerForgotPasswordUrl":"https:\/\/nsor.com\/customer\/account\/forgotpassword\/","baseUrl":"https:\/\/nsor.com\/","customerLoginUrl":"https:\/\/nsor.com\/customer\/ajax\/login\/"}</script>
vendor: 1 bytes, line 364
364
365<script type="text/x-magento-init">
366        {
367            "#authenticationPopup": {
368                "Magento_Ui/js/core/app": {"components":{"authenticationPopup":{"component":"Magento_Customer\/js\/view\/authentication-popup","children":{"messages":{"component":"Magento_Ui\/js\/view\/messages","displayArea":"messages"},"recaptcha":{"component":"Magento_ReCaptchaFrontendUi\/js\/reCaptcha","displayArea":"additional-login-form-fields","reCaptchaId":"recaptcha-popup-login","settings":{"rendering":{"sitekey":"6LfpQTskAAAAAEhn9r2hMaWL9ZNJASYOrwxHxWIj","size":"normal","theme":"light","hl":"en"},"invisible":false}}}}}}            },
369            "*": {
370                "Magento_Ui/js/block-loader": "https\u003A\u002F\u002Fnsor.com\u002Fstatic\u002Fversion1790833067\u002Ffrontend\u002FNsor\u002Fdefault\u002Fen_US\u002Fimages\u002Floader\u002D1.gif"
371                                ,
372                "Magento_Customer/js/customer-global-session-loader": {}
373                 }
374        }</script>
vendor: 1 bytes, line 374
374
375<script type="text/x-magento-init">
376    {
377        "*": {
378            "Magento_Customer/js/section-config": {
379                "sections": {"stores\/store\/switch":["*"],"stores\/store\/switchrequest":["*"],"directory\/currency\/switch":["*"],"*":["messages"],"customer\/account\/logout":["*","recently_viewed_product","recently_compared_product","persistent"],"customer\/account\/loginpost":["*"],"customer\/account\/createpost":["*"],"customer\/account\/editpost":["*"],"customer\/ajax\/login":["checkout-data","cart","captcha"],"catalog\/product_compare\/add":["compare-products"],"catalog\/product_compare\/remove":["compare-products"],"catalog\/product_compare\/clear":["compare-products"],"sales\/guest\/reorder":["cart","ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"sales\/order\/reorder":["cart","ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"checkout\/cart\/add":["cart","directory-data","ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"checkout\/cart\/delete":["cart","ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"checkout\/cart\/updatepost":["cart","ammessages","amasty-storepickup-data"],"checkout\/cart\/updateitemoptions":["cart","ammessages","amasty-storepickup-data"],"checkout\/cart\/couponpost":["cart","ammessages"],"checkout\/cart\/estimatepost":["cart","ammessages","amasty-storepickup-data"],"checkout\/cart\/estimateupdatepost":["cart","ammessages","amasty-storepickup-data"],"checkout\/onepage\/saveorder":["cart","checkout-data","last-ordered-items","ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"checkout\/sidebar\/removeitem":["cart","ammessages","amasty-storepickup-data"],"checkout\/sidebar\/updateitemqty":["cart","ammessages","amasty-storepickup-data"],"rest\/*\/v1\/carts\/*\/payment-information":["cart","last-ordered-items","captcha","instant-purchase","ammessages"],"rest\/*\/v1\/guest-carts\/*\/payment-information":["cart","captcha","ammessages"],"rest\/*\/v1\/guest-carts\/*\/selected-payment-method":["cart","checkout-data","ammessages"],"rest\/*\/v1\/carts\/*\/selected-payment-method":["cart","checkout-data","instant-purchase","ammessages"],"customer\/address\/*":["instant-purchase"],"customer\/account\/*":["instant-purchase"],"vault\/cards\/deleteaction":["instant-purchase"],"multishipping\/checkout\/overviewpost":["cart","ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"paypal\/express\/placeorder":["cart","checkout-data","ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"paypal\/payflowexpress\/placeorder":["cart","checkout-data","ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"paypal\/express\/onauthorization":["cart","checkout-data","ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"persistent\/index\/unsetcookie":["persistent"],"review\/product\/post":["review"],"paymentservicespaypal\/smartbuttons\/placeorder":["cart","checkout-data"],"paymentservicespaypal\/smartbuttons\/cancel":["cart","checkout-data"],"wishlist\/index\/add":["wishlist"],"wishlist\/index\/remove":["wishlist"],"wishlist\/index\/updateitemoptions":["wishlist"],"wishlist\/index\/update":["wishlist"],"wishlist\/index\/cart":["wishlist","cart"],"wishlist\/index\/fromcart":["wishlist","cart"],"wishlist\/index\/allcart":["wishlist","cart"],"wishlist\/shared\/allcart":["wishlist","cart"],"wishlist\/shared\/cart":["cart"],"ammostviewed\/cart\/add":["cart","messages"],"amasty_promo\/cart\/add":["cart","ammessages"],"braintree\/paypal\/placeorder":["ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"authorizenet\/directpost_payment\/place":["ammessages","amasty-storepickup-data","amasty-selected-pickup-info"],"amasty_cart\/cart\/add":["amasty-storepickup-data","amasty-selected-pickup-info"],"globalpayments\/buynowpaylater\/initiatepayment":["cart","checkout-data"],"globalpayments\/openbanking\/initiatepayment":["cart","checkout-data"],"globalpayments\/apm\/initiatepayment":["cart","checkout-data"]},
380                "clientSideSections": ["checkout-data","cart-data","amasty-selected-pickup-info"],
381                "baseUrls": ["https:\/\/nsor.com\/"],
382                "sectionNames": ["messages","customer","compare-products","last-ordered-items","cart","directory-data","captcha","instant-purchase","loggedAsCustomer","persistent","review","payments","wishlist","ammessages","amasty-storepickup-data","recently_viewed_product","recently_compared_product","product_data_storage","paypal-billing-agreement","paypal-buyer-country"]            }
383        }
384    }</script>
vendor: 1 bytes, line 384
384
385<script type="text/x-magento-init">
386    {
387        "*": {
388            "Magento_Customer/js/customer-data": {
389                "sectionLoadUrl": "https\u003A\u002F\u002Fnsor.com\u002Fcustomer\u002Fsection\u002Fload\u002F",
390                "expirableSectionLifetime": 60,
391                "expirableSectionNames": ["cart","persistent","amasty-storepickup-data"],
392                "cookieLifeTime": "3600",
393                "cookieDomain": "nsor.com",
394                "updateSessionUrl": "https\u003A\u002F\u002Fnsor.com\u002Fcustomer\u002Faccount\u002FupdateSession\u002F",
395                "isLoggedIn": "",
396                "customerShare": "0"
397            }
398        }
399    }</script>
vendor: 1 bytes, line 399
399
400<script type="text/x-magento-init">
401    {
402        "*": {
403            "Magento_Customer/js/invalidation-processor": {
404                "invalidationRules": {
405                    "website-rule": {
406                        "Magento_Customer/js/invalidation-rules/website-rule": {
407                            "scopeConfig": {
408                                "websiteId": "1"
409                            }
410                        }
411                    }
412                }
413            }
414        }
415    }</script>
vendor: 1 bytes, line 415
415
416<script type="text/x-magento-init">
417    {
418        "body": {
419            "pageCache": {"url":"https:\/\/nsor.com\/page_cache\/block\/render\/referer\/aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2luZGV4Lw~~\/","handles":["default","customer_account_login"],"originalRequest":{"route":"customer","controller":"account","action":"login","uri":"\/customer\/account\/login\/referer\/aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2luZGV4Lw~~\/"},"versionCookieName":"private_content_version"}        }
420    }</script>
vendor: 1 bytes, line 420
420
421<script type="text/x-magento-init">
422    {
423        "*": {
424            "Magento_Ui/js/core/app": {
425                "components": {
426                        "finder_notification": {
427                            "component": "Amasty_Finder/js/notification"
428                        }
429                    }
430                }
431            }
432    }</script>
vendor: 1 bytes, line 432
432
433<script type="text/x-magento-init">
434{
435    "#recaptcha-f979c2ff515d921c34af9bd2aee8ef076b719d03-container": {
436        "Magento_Ui/js/core/app": {"components":{"recaptcha-f979c2ff515d921c34af9bd2aee8ef076b719d03":{"settings":{"rendering":{"sitekey":"6LfpQTskAAAAAEhn9r2hMaWL9ZNJASYOrwxHxWIj","size":"normal","theme":"light","hl":"en"},"invisible":false},"component":"Magento_ReCaptchaFrontendUi\/js\/reCaptcha","reCaptchaId":"recaptcha-f979c2ff515d921c34af9bd2aee8ef076b719d03"}}}    }
437}</script>
vendor: 1 bytes, line 437
437
438<script type="text/x-magento-init">
439        {
440            "*": {
441                "Magento_Customer/js/block-submit-on-send": {
442                    "formId": "login-form"
443                },
444                "Magento_Ui/js/core/app": {
445                    "components": {
446                        "showPassword": {
447                            "component": "Magento_Customer/js/show-password",
448                            "passwordSelector": "#pass"
449                        }
450                    }
451                }
452            }
453        }</script>
vendor: 1 bytes, line 453
453
454<script type="text/x-magento-init">
455    {
456        "body": {
457            "requireCookie": {"noCookieUrl":"https:\/\/nsor.com\/cookie\/index\/noCookies\/","triggers":[".action.login"],"isRedirectCmsPage":true}        }
458    }</script>
vendor: 1 bytes, line 458
458
459<script type="text/x-magento-init">
460    {
461        "*": {
462            "amsearchAnalyticsCollector": {
463                "minChars": 3            }
464        }
465    }</script>
vendor: 1 bytes, line 465
465
466<script>
467    require(['jquery', 'domReady!'], function ($) {
468        if ($('#subscribe-validate-detail').length) {
469            $('#recaptcha-38880f4467ec9e0b67744d92c917f6c5f7b94144-container')
470                .appendTo('#subscribe-validate-detail');
471        }
472    });</script>
vendor: 1 bytes, line 472
472
473<script type="text/x-magento-init">
474{
475    "#recaptcha-38880f4467ec9e0b67744d92c917f6c5f7b94144-container": {
476        "Magento_Ui/js/core/app": {"components":{"recaptcha-38880f4467ec9e0b67744d92c917f6c5f7b94144":{"settings":{"rendering":{"sitekey":"6Lc4bqIoAAAAAGJkDQqYmhkGMKpBfgrzrKsLZDLP","badge":"bottomleft","size":"invisible","theme":"light","hl":""},"invisible":true},"component":"Magento_ReCaptchaFrontendUi\/js\/reCaptcha","reCaptchaId":"recaptcha-38880f4467ec9e0b67744d92c917f6c5f7b94144"}}}    }
477}</script>
vendor: 1 bytes, line 477
477
478<script type="text/x-magento-init">
479    {
480        "*": {
481            "Magento_Customer/js/block-submit-on-send": {
482                "formId": "newsletter-validate-detail"
483            }
484        }
485    }</script>
vendor: 1 bytes, line 485
485
486<script>
487require([
488    'jquery',
489    'mage/translate',
490    "slick"
491],function ($, $t) {
492    /**
493    * Header Top Bar Message
494    * @author Kenn
495    * @version 1.0
496    */
497    $('.header-top-bar-message ul').slick({
498        slidesToShow: 1,
499        slidesToScroll: 1,
500        autoplay: true,
501        autoplaySpeed: 5000,
502        arrows: false,
503        dots: false,
504        speed: 1000
505    });
506
507    /**
508    * Header Big banner
509    * @author Kenn
510    * @version 1.0
511    */
512    $('.homepage-big-banner .pagebuilder-column-line').slick({
513        slidesToShow: 1,
514        slidesToScroll: 1,
515        autoplay: true,
516        autoplaySpeed: 5000,
517        arrows: false,
518        dots: false,
519        speed: 1000
520    });
521
522    /**
523     * Header sticky menu
524     * @author Kenn
525     * @version 1.0
526     */
527    $(window).on('scroll', function () {
528        var postion = $(this).scrollTop();
529        var postionTop = 200;
530        if (postion > postionTop ){
531            $('body').addClass('header-container-fixed');
532        } else {
533            $('body').removeClass('header-container-fixed');
534        }
535    });
536
537    /**
538    * Sale label
539    * @author Kenn
540    * @version 1.0
541    */
542    $(document).find('.price-box.price-final_price').each(function(){
543        var priceSelf = $(this);
544        if(priceSelf.find('.old-price').length){
545            var oldPrice = priceSelf.find('.old-price span.price-wrapper').attr('data-price-amount');
546            var currentPrice = priceSelf.find('.special-price span.price-wrapper').attr('data-price-amount');
547            var discount = (oldPrice - currentPrice) / oldPrice * 100;
548            if(discount > 0){
549                priceSelf.append('<span class="sale-off-label">-'+Math.round(discount)+'%</span>');
550            }
551        }
552    });
553
554    /**
555    * Header Megamenu Toggle
556    * @author Kenn, Steven
557    * @version 1.1
558    */
559    $('.action.nav-toggle').click(function() {
560        $('html').toggleClass('nav-open');
561    });
562
563    $('.close-vertical-menu').click(function() {
564        $('html').removeClass('nav-open');
565    });
566
567    $(document).on('click', '.parent-megamenu > ul > li > strong', function() {
568        $(this).parent().toggleClass('active');
569        $(this).next('ul').slideToggle();
570    });
571
572    $(document).on('click', '.parent-megamenu > ul > li li.parent > a', function(e) {
573        e.preventDefault();
574        $(this).parent().toggleClass('sub-active');
575        $(this).next('ul').slideToggle();
576    });
577
578    /**
579    * Header Search dropdown (Mobile)
580    * @author Kenn
581    * @version 1.0
582    */
583    $(document).on('click', '.header.content .amsearch-wrapper-block .block-title', function(e) {
584        $(this).parent().toggleClass('active');
585    });
586    
587    $('.our-other-sites-slider .pagebuilder-column-line').slick({
588        slidesToShow: 5,
589        slidesToScroll: 5,
590        autoplay: true,
591        autoplaySpeed: 6000,
592        arrows: false,
593        dots: false,
594        speed: 1000,
595        responsive: [
596        {
597            breakpoint: 991,
598            settings: {
599                slidesToShow: 3,
600                slidesToScroll: 3
601            }
602        },
603        {
604            breakpoint: 767,
605                settings: {
606                    slidesToShow: 2,
607                    slidesToScroll: 2
608                }
609            }
610        ]
611    });
612
613    /**
614    * Header Slideout menu (Mobile)
615    * @author Steven
616    * @version 1.0
617    */
618    if ($('.header-top-horizontal-megamenu li.level-top').length && $('.header-top-vertical-megamenu').length) {
619        $('.header-top-horizontal-megamenu li.level-top').each(function() {
620            let parentClass = '';
621            let menuItemHtml = '';
622            let aTag = $(this).find('a.level-top').first();
623            if ($(this).hasClass('parent')) {
624                parentClass = 'parent-megamenu';
625                menuItemHtml = `<strong>${aTag.text()}</strong>`;
626                let ulTag = $(this).find('ul.level0').first();
627                menuItemHtml += `<ul>${ulTag.html()}</ul>`;
628            } else {
629                menuItemHtml = `<a href="${aTag.attr('href')}">${aTag.text()}</a>`;
630            }
631
632            $('.header-top-vertical-megamenu').append(`<div class="${parentClass}" data-content-type="text"><ul><li>${menuItemHtml}</li></ul></div>`)
633        });
634    }
635
636    let alignHeightPrice = function() {
637        $('.product-items').each(function() {
638            let priceHeight = 0;
639            $(this).find('.product-item .price-box').css('height', '');
640            $(this).find('.product-item .price-box').each(function() {
641                if (priceHeight < $(this).height()) {
642                    priceHeight = $(this).height();
643                }
644            });
645            if (priceHeight > 0) {
646                $(this).find('.product-item .price-box').css('height', priceHeight);
647            }
648        });
649    }
650    alignHeightPrice();
651
652    $(document).ready(function() {
653        alignHeightPrice();
654    });
655
656    $(window).resize(function() {
657        setTimeout(function() {
658            alignHeightPrice();
659        }, 500);
660    });
661
662});</script>
vendor: 1 bytes, line 662
662
663<script>
664    require(['jquery', 'domReady!'], function ($) {
665        $('#recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container')
666            .appendTo('#newsletter-validate-detail');
667    });</script>
vendor: 1 bytes, line 667
667
668<script type="text/x-magento-init">
669{
670    "#recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container": {
671        "Magento_Ui/js/core/app": {"components":{"recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796":{"settings":{"rendering":{"sitekey":"6Lc4bqIoAAAAAGJkDQqYmhkGMKpBfgrzrKsLZDLP","badge":"bottomleft","size":"invisible","theme":"light","hl":""},"invisible":true},"component":"Magento_ReCaptchaFrontendUi\/js\/reCaptcha","reCaptchaId":"recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796"}}}    }
672}</script>
vendor: 1 bytes, line 672
672
673<script type="text/x-magento-init">
674        {
675            "*": {
676                "Magento_Ui/js/core/app": {
677                    "components": {
678                        "storage-manager": {
679                            "component": "Magento_Catalog/js/storage-manager",
680                            "appendTo": "",
681                            "storagesConfiguration" : {"recently_viewed_product":{"requestConfig":{"syncUrl":"https:\/\/nsor.com\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"recently_compared_product":{"requestConfig":{"syncUrl":"https:\/\/nsor.com\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"product_data_storage":{"updateRequestConfig":{"url":"https:\/\/nsor.com\/rest\/nsor\/V1\/products-render-info"},"requestConfig":{"syncUrl":"https:\/\/nsor.com\/catalog\/product\/frontend_action_synchronize\/"},"allowToSendRequest":null}}                        }
682                    }
683                }
684            }
685        }</script>
vendor: 1 bytes, line 685
685
686<script type="text/javascript">
687    require(['jquery', 'Amasty_Finder/js/amfinder'], function ($) {
688        var finderConfig = {"ajaxUrl":"https:\/\/nsor.com\/amfinder\/index\/options\/","isPartialSearch":1,"autoSubmit":1,"isChosenEnable":0,"containerId":"amfilter_popup","loadingText":"Loading..."};
689
690        $("#" + finderConfig.containerId).amfinder(finderConfig);
691
692        $('.amfinder-common-popup.amfinder-horizontal .amfinder-title .action-close').click(function(){
693            $('.amfinder-common-popup.amfinder-horizontal').removeClass('_show');
694        });
695
696        $('.header-top-horizontal-megamenu .select-your-vehicle .open-form').click(function(){
697            $('.amfinder-common-popup.amfinder-horizontal').addClass('_show');
698        });
699
700        var textTop = "";
701        $("#" + finderConfig.containerId).find('select').each(function(){
702            var selected = $(this);
703            var selectId = selected.attr('data-dropdown-id');
704            var selectedText = selected.find('option:selected').text();
705            if(selected.val() != 0){
706                if(selectId == 20 || selectId == 21){
707                    textTop += ' ' + selectedText;
708                }
709                if(selectId == 22){
710                    textTop += '<br/>' + selectedText;
711                }
712            }
713        });
714
715        if(textTop != ""){
716            $('.fitmentTopSelection').html(textTop);
717
718            $('.header-top-horizontal-megamenu .select-your-vehicle > .open-form').hide();
719            $('.header-top-horizontal-megamenu .select-your-vehicle > .leading-tight').addClass('active');
720        }else {
721            $('.header-top-horizontal-megamenu .select-your-vehicle > .open-form').show();
722            $('.header-top-horizontal-megamenu .select-your-vehicle > .leading-tight').removeClass('active');
723        }
724        
725        $("#save-vehicle").click(function () {
726            var url = "https://nsor.com/partfinder/index/save/";
727
728            
729            var data = $("#form-finder-container").serialize();
730
731            $.ajax({
732                url: url,
733                data: data,
734                type: 'POST',
735                dataType: 'json',
736                success: function (response) {
737                    $('.amfinder-common-popup.amfinder-horizontal').removeClass('_show');
738
739                    if($('body').hasClass('catalog-product-view')){
740                        window.location.href = "https://nsor.com/customer/account/login/referer/aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2luZGV4Lw~~/";
741                    }else if($('body').hasClass('page-products')) {
742                        window.location.href = "https://nsor.com/customer/account/login/referer/aHR0cHM6Ly9uc29yLmNvbS9jdXN0b21lci9hY2NvdW50L2luZGV4Lw~~/";
743                    }else {
744                        window.location.href = "https://nsor.com/partfinder";
745                    }
746                }
747            });
748        });
749    });</script>
vendor: 1 bytes, line 749
749
750<script type="text/javascript">
751            require([
752            'jquery'
753            ], function($){
754                window.$crisp=[];window.CRISP_WEBSITE_ID="f944ca2c-5f93-4131-a3ae-817168b962f7";(function(){d=document;s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();
755                
756                                $crisp.push(["set", "session:segments", [["registered_users", "nsor"]]]);
757                 $(document).ready(function(){
758                    window.CRISP_READY_TRIGGER = function() {
759                        if(!$crisp.is("website:available")){
760                            $(document).find('.contact-popup-bottom').removeClass('in-active');
761                        }
762                    };
763                });
764            });</script>
vendor: 1 bytes, line 764
764
765<script>
766    require([
767        'jquery'
768    ], function ($) {
769        var arr = [];
770
771        $(document).on("click",".header-top-horizontal-megamenu li.level0 > a.level-top",function(event) {
772            let $link = $(this).attr('href');
773            if($.inArray( $link, arr ) >= 0){
774                event.preventDefault();
775            }
776        });
777
778        $(document).on("click",".breadcrumbs .items > li > a",function(event) {
779            let $link = $(this).attr('href');
780            if($.inArray( $link, arr ) >= 0){
781                event.preventDefault();
782            }
783        });
784    });</script>
vendor: 1 bytes, line 784
784
785<script type="text/x-magento-init">
786{
787    "*": {
788        "RTA_GA4/js/tracker": {"measurementId":"G-JKBDYCC44R","currency":"CAD","storeName":"Nsor","isCookieRestrictionModeEnabled":false,"currentWebsite":1,"cookieName":"user_allowed_save_cookie"}    }
789}</script>
vendor: 1 bytes, line 789
789
790<script nonce="cWk3ZjJuZmtxMXY4NjFzNHB1NXh1d3RiNjJ1Z2plNGE=">(() => {
791    let mstGdprCookieBar = {
792        config: {"allowUrl":"https:\/\/nsor.com\/gdpr_cookie\/cookie\/allow\/","declineUrl":"https:\/\/nsor.com\/gdpr_cookie\/cookie\/decline\/","countryConfigUrl":"https:\/\/nsor.com\/gdpr_cookie\/country\/config\/","lockScreen":true,"groupCookieName":"gdpr_cookie_groups","consentCookieName":"gdpr_cookie_consent","barEnabled":true,"cookieGroupTypes":{"1":"essential","2":"marketing","3":"functionality","4":"statistical"},"googleConsentEnabled":true,"uetConsentEnabled":false,"googleConsentTypes":["ad_user_data","ad_personalization","ad_storage","analytics_storage","personalization_storage","functionality_storage","security_storage"],"uetConsentTypes":["ad_storage"],"googleConsentDefault":{"ad_user_data":"denied","ad_personalization":"denied","ad_storage":"denied","analytics_storage":"denied","personalization_storage":"denied","functionality_storage":"denied","security_storage":"denied"},"uetConsentDefault":{"ad_storage":"denied"},"showDeclineButton":false,"isAllCountries":true,"countries":["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","VG","BN","BG","BF","BI","KH","CM","CA","CV","BQ","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","SZ","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","XK","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","KP","MK","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","QA","RE","RO","RU","RW","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","KR","ES","LK","BL","SH","KN","LC","MF","PM","VC","SD","SR","SJ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UY","UM","VI","UZ","VU","VA","VE","VN","WF","EH","YE","ZM","ZW"],"version":"1"},
793
794        isSaved: function () {
795            if (this.getCookie(this.config.consentCookieName) < this.config.version) {
796                this.deleteCookieGroupsCookie();
797                return false;
798            }
799
800            return !!this.getCookie(this.config.groupCookieName);
801        },
802
803        getCookie(cookieCode) {
804            cookieCode += '=';
805            let cookieArr = document.cookie.split(';');
806            for (let i = 0; i < cookieArr.length; i++) {
807                let cookie = (cookieArr[i]).trim();
808                if (cookie.indexOf(cookieCode) === 0) {
809                    return cookie.substring(cookieCode.length, cookie.length);
810                }
811            }
812            return null;
813        },
814
815        setCookie: function (groupIds) {
816            let d = new Date();
817            d.setTime(d.getTime() + (365 * 24 * 60 * 60 * 1000));
818            let expires = "expires=" + d.toUTCString();
819            let cookieDomain = '.' + (new URL(window.location.href)).hostname;
820            document.cookie = "gdpr_cookie_consent=" + this.config.version + ";domain=" + cookieDomain + ";" + expires + ";path=/;SameSite=Lax";
821            let value = encodeURIComponent(groupIds.join(','));
822            document.cookie = "gdpr_cookie_groups=" + value + ";domain=" + cookieDomain + ";" + expires + ";path=/;SameSite=Lax";
823        },
824
825        deleteCookieGroupsCookie: function () {
826            let d = new Date();
827            d.setTime(0);
828            let expires = "expires=" + d.toUTCString();
829            let cookieDomain = '.' + (new URL(window.location.href)).hostname;
830            document.cookie = "gdpr_cookie_groups=;domain=" + cookieDomain + ";" + expires + ";path=/;SameSite=Lax";
831        },
832
833        show: function () {
834            let elBar = this.getElBar();
835            if (elBar) {
836                elBar.style.display = 'block';
837            }
838            if (window.location.href.indexOf('cookie') === -1 && this.config.lockScreen) {
839                this.showOverlay();
840                document.getElementsByTagName('body').item(0).style.overflow = 'hidden';
841            }
842        },
843
844        hide: function () {
845            let elBar = this.getElBar();
846            if (elBar) {
847                elBar.style.display = 'none';
848            }
849            this.hideOverlay();
850            document.getElementsByTagName('body').item(0).style.overflow = 'auto';
851        },
852
853        showOverlay: function () {
854            let elOverlay = this.getElOverlay();
855            if (elOverlay) {
856                elOverlay.style.display = 'block';
857            }
858        },
859
860        hideOverlay: function () {
861            let elOverlay = this.getElOverlay();
862            if (elOverlay) {
863                elOverlay.style.display = 'none';
864            }
865        },
866
867        handleAllow: function (agreeAll) {
868            this.hide();
869            let allowedGroupIds = this.getUserAllowedGroupIds(agreeAll);
870            if (allowedGroupIds.length) {
871                this.setCookie(allowedGroupIds);
872            }
873            if (this.config.googleConsentEnabled) {
874                let consent = this.config.barEnabled ? this.getGoogleConsentByAllowedGroupIds(allowedGroupIds) : this.config.googleConsentDefault;
875                this.saveGoogleConsent(consent);
876            }
877
878            const body = allowedGroupIds.reduce((body, groupId) => {
879                body.append('group_ids[]', groupId);
880                return body;
881            }, new URLSearchParams({}));
882            fetch(
883                this.config.allowUrl,
884                {
885                    method:  'post',
886                    body:    body,
887                    headers: {
888                        contentType:        'application/x-www-form-urlencoded; charset=UTF-8',
889                        'X-Requested-With': 'XMLHttpRequest'
890                    }
891                }
892            );
893        },
894
895        handleDecline: function () {
896            this.hide();
897
898            // Essential = required groups only (Essential cookie group). No anal
898ytics/marketing.
899            let requiredGroupIds = [1];
900
901            if (requiredGroupIds.length) {
902                this.setCookie(requiredGroupIds);
903            }
904            if (this.config.googleConsentEnabled) {
905                let consent = this.config.barEnabled
906                    ? this.getEssentialGoogleConsent()
907                    : this.config.googleConsentDefault;
908                this.saveGoogleConsent(consent);
909            }
910            fetch(
911                this.config.declineUrl,
912                {
913                    method:  'post',
914                    headers: {'X-Requested-With': 'XMLHttpRequest'}
915                }
916            );
917        },
918
919        /**
920         * Essential button Consent Mode v2 mapping.
921         * Analytics/ads stay denied; only security_storage is granted.
922         */
923        getEssentialGoogleConsent: function () {
924            let consent = {};
925            this.config.googleConsentTypes.forEach(function (consentType) {
926                consent[consentType] = 'denied';
927            });
928            consent['security_storage'] = 'granted';
929            consent['analytics_storage'] = 'denied';
930            consent['ad_storage'] = 'denied';
931            consent['ad_user_data'] = 'denied';
932            consent['ad_personalization'] = 'denied';
933            consent['personalization_storage'] = 'denied';
934
935            return consent;
936        },
937
938        enableGroupsAccordingWithSaved: function () {
939            if (!this.isSaved()) {
940                return;
941            }
942
943            let allowedCookieGroups = window.decodeURIComponent(this.getCookie(this.config.groupCookieName)).split(',');
944            let checkboxList = document.querySelectorAll('.mst-gdpr__cookie-settings--cookie-group-container .checkbox[data-group-id]');
945            checkboxList.forEach(function (checkbox) {
946                let groupId = checkbox.dataset.groupId;
947                if (!checkbox.disabled) {
948                    checkbox.checked = allowedCookieGroups.indexOf(groupId.toString()) !== -1;
949                }
950            });
951        },
952
953        getUserAllowedGroupIds: function (agreeAll) {
954            let checkboxList;
955            if (agreeAll) {
956                return [1,2,3,4];
957            } else {
958                checkboxList = document.querySelectorAll('.mst-gdpr__cookie-settings--cookie-group-container .checkbox[data-group-id]:checked');
959            }
960            let groupIds = [];
961            checkboxList.forEach(function (checkbox) {
962                groupIds.push(checkbox.dataset.groupId);
963            });
964
965            return groupIds;
966        },
967
968        // Google Consent Mode v2: update after visitor choice, persist for next page loads.
969        // Prefer dataLayer (Arguments form) so we do not invent window.gtag before Magento loads gtag.js.
970        sendConsentUpdate: function (consent) {
971            window.dataLayer = window.dataLayer || [];
972            if (typeof window.gtag === 'function') {
973                window.gtag('consent', 'update', consent);
974                return;
975            }
976            (function (dl, c) {
977                function gtag(){dl.push(arguments);}
978                gtag('consent', 'update', c);
979            })(window.dataLayer, consent);
980        },
981
982        saveGoogleConsent: function (consent) {
983            this.sendConsentUpdate(consent);
984            try {
985                localStorage.setItem('mst-gdpr-google-consent-mode', JSON.stringify(consent));
986            } catch (e) {}
987        },
988
989        getGoogleConsentByAllowedGroupIds: function (allowedGroupIds) {
990            let consent = {};
991            this.config.googleConsentTypes.forEach(function (consentType) {
992                consent[consentType] = 'denied';
993            });
994
995            for (let i = 0; i < allowedGroupIds.length; i++) {
996                let groupId = allowedGroupIds[i];
997                let type = this.config.cookieGroupTypes[groupId];
998                if (!type) {
999                    type = 'other';
1000                }
1001
1002                switch (type) {
1003                    case 'essential':
1004                        consent['security_storage'] = 'granted';
1005                        break;
1006                    case 'marketing':
1007                        consent['ad_storage'] = 'granted';
1008                        consent['ad_user_data'] = 'granted';
1009                        consent['ad_personalization'] = 'granted';
1010                        break;
1011                    case 'functionality':
1012                        consent['functionality_storage'] = 'granted';
1013                        consent['personalization_storage'] = 'granted';
1014                        break;
1015                    case 'statistical':
1016                        consent['analytics_storage'] = 'granted';
1017                        break;
1018                }
1019            }
1020
1021            return consent;
1022        },
1023
1024        // Init
1025        events: function () {
1026            let elBar = this.getElBar();
1027            if (!elBar) {
1028                return;
1029            }
1030            let elSettingsButton = elBar.querySelector('[data-trigger-settings="trigger"]');
1031            if (elSettingsButton) {
1032                elSettingsButton.addEventListener('click', function () {
1033                    this.enableGroupsAccordingWithSaved();
1034                    window.dispatchEvent(new Event('mstGdprCookieOpenSettingsModalRequest'));
1035                }.bind(this));
1036            }
1037
1038            let elAgreeAllButton = elBar.querySelector('[data-trigger-settings="agree"]');
1039            if (elAgreeAllButton) {
1040                elAgreeAllButton.addEventListener('click', this.handleAllow.bind(this, true));
1041            }
1042
1043            let elDeclineButton = elBar.querySelector('[data-trigger-settings="decline"]');
1044            if (elDeclineButton) {
1045                elDeclineButton.addEventListener('click', this.handleDecline.bind(this));
1046            }
1047        },
1048
1049        customEvents: function () {
1050            window.addEventListener('mstGdprCookieOpenBarRequest', this.show.bind(this));
1051            window.addEventListener('mstGdprCookieSettingsModalApply', this.handleAllow.bind(this, false));
1052        },
1053
1054        getElBar: function () {
1055            return document.getElementById('gdprCookieBar');
1056        },
1057
1058        getElOverlay: function () {
1059            return document.getElementById('gdprCookieBarOverlay');
1060        },
1061
1062        showIfNotSaved: function () {
1063            if (this.isSaved()) {
1064                this.enableGroupsAccordingWithSaved();
1065                this.hide();
1066            } else {
1067                this.show();
1068            }
1069        },
1070
1071        isAllowedCountry: function (countryCode) {
1072            return this.config.countries.indexOf(countryCode) !== -1;
1073        },
1074
1075        init: function (customEvents = true) {
1076            if (!this.config.barEnabled) {
1077                this.hide();
1078                this.handleAllow(true);
1079                return;
1080            }
1081
1082            this.events();
1083            if (customEvents) {
1084                this.customEvents();
1085            }
1086
1087            if (this.config.isAllCountries) {
1088                this.showIfNotSaved();
1089            } else {
1090                let countryCode = localStorage.getItem('mst-gdpr-country-code')
1091                if (countryCode) {
1092                    if (this.isAllowedCountry(countryCode)) {
1093                        this.showIfNotSaved();
1094                    } else {
1095                        this.hide();
1096                        this.handleAllow(true);
1097                    }
1098                } else {
1099                    this.hide();
1100                    fetch(this.config.countryConfigUrl + '?_=' + Date.now())
1101                        .then(function (response) {
1102                            return response.json();
1103                        })
1104                        .then(function (data) {
1105                            if (data.CountryIsoCode) {
1106                                localStorage.setItem('mst-gdpr-country-code', data.CountryIsoCode);
1107                                if (data.isShowCookieBar) {
1108                                    this.showIfNotSaved();
1109                                } else {
1110                                    this.hide();
1111                                    this.handleAllow(true);
1112                                }
1113                            }
1114                        }.bind(this));
1115                }
1116            }
1117        }
1118    };
1119
1120    document.addEventListener('DOMContentLoaded', function () {
1121        mstGdprCookieBar.init();
1122
1123        window.addEventListener('turbolinks:load', function () {
1124            mstGdprCookieBar.init(false);
1125        });
1126    });
1127})();</script>
vendor: 1 bytes, line 1127
1127
1128<script  nonce="cWk3ZjJuZmtxMXY4NjFzNHB1NXh1d3RiNjJ1Z2plNGE=" type="text/javascript">
1129    document.addEventListener('DOMContentLoaded', function () {
1130        const modalId = "6ac1c90817f4e";
1131        const modalTitle = "Privacy Overview";
1132        const modalDescription = "This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.";
1133        const cookieGroupsHtml = "  <div class=\"mst-gdpr__cookie-settings--cookie-group-container mst-gdpr__cookie-settings--cookie-group-container-1\" data-collapsible=\"true\" role=\"listitem\"><div class=\"title-container\" role=\"tablist\"><h4 class=\"title\" role=\"tab\" aria-selected=\"false\" aria-expanded=\"false\" tabindex=\"0\">Essential<\/h4> <label class=\"switch\" for=\"allowed-group-1\"><span class=\"hidden\">Allow Essential cookies<\/span> <input id=\"allowed-group-1\" class=\"checkbox\" type=\"checkbox\" value=\"1\" disabled checked data-group-id=\"1\" name=\"allowed-group-1\" aria-label=\"Allow&#x20;Essential&#x20;cookies\" ><span class=\"slider round disabled\" aria-hidden=\"true\"><\/span><\/label> <div class=\"content\" role=\"tabpanel\" aria-hidden=\"true\" style=\"display: none;\"><div><\/div><table role=\"table\"><caption class=\"hidden\">Cookies in Essential group<\/caption><thead><tr><th scope=\"col\">Name<\/th><th scope=\"col\">Description<\/th><\/tr><\/thead><tbody> <tr><td>ADD_TO_CART<\/td><td>(Adobe Commerce only) Used by Google Tag Manager<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>GUEST-VIEW<\/td><td>Stores the Order ID that guest shoppers use to retrieve their order status. Guest orders view. Used in Orders and Returns widgets<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>LOGIN_REDIRECT<\/td><td>Preserves the destination page that was loading before the customer was directed to log in<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>MAGE-BANNERS-CACHE-STORAGE<\/td><td>(Adobe Commerce only) Stores banner content locally to improve performance<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>MAGE-MESSAGES<\/td><td>Tracks error messages and other notifications that are shown to the user<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>MAGE-TRANSLATION-STORAGE<\/td><td>Stores translated content when requested by the shopper<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>MAGE-TRANSLATION-FILE-VERSION<\/td><td>Tracks the version of translations in local storage<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>PRODUCT_DATA_STORAGE<\/td><td>Stores configuration for product data related to Recently Viewed\/Compared Products<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>RECENTLY_COMPARED_PRODUCT<\/td><td>Stores product IDs of recently compared products<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>RECENTLY_COMPARED_PRODUCT_PREVIOUS<\/td><td>Stores product IDs of previously compared products for easy navigation<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>RECENTLY_VIEWED_PRODUCT<\/td><td>Stores product IDs of recently viewed products for easy navigation<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>RECENTLY_VIEWED_PRODUCT_PREVIOUS<\/td><td>Stores product IDs of recently previously viewed products for easy navigation<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>REMOVE_FROM_CART<\/td><td>(Adobe Commerce only) Used by Google Tag Manager<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>STF<\/td><td>Records the time messages are sent by the SendFriend<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>X-MAGENTO-VARY<\/td><td>Configuration setting that improves performance when using Varnish static content caching<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>FORM_KEY<\/td><td>A security measure that appends a random string to all form submissions to protect the data from Cross-Site Request Forgery<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>
1133MAGE-CACHE-SESSID<\/td><td>The value of this cookie triggers the cleanup of local cache storage<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>MAGE-CACHE-STORAGE<\/td><td>Local storage of visitor-specific content that enables ecommerce functions<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>MAGE-CACHE-STORAGE-SECTION-INVALIDATION<\/td><td>Forces local storage of specific content sections that should be invalidated<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>PERSISTENT_SHOPPING_CART<\/td><td>Stores the key (ID) of persistent cart to make it possible to restore the cart for an anonymous shopper<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>PRIVATE_CONTENT_VERSION<\/td><td>Appends a random, unique number and time to pages with customer content to prevent them from being cached on the server<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>SECTION_DATA_IDS<\/td><td>Stores customer-specific information related to shopper-initiated actions, such as wish list display and checkout information<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>STORE<\/td><td>Tracks the specific store view\/locale selected by the shopper<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div>  <div class=\"mst-gdpr__cookie-settings--cookie-group-container mst-gdpr__cookie-settings--cookie-group-container-4\" data-collapsible=\"true\" role=\"listitem\"><div class=\"title-container\" role=\"tablist\"><h4 class=\"title\" role=\"tab\" aria-selected=\"false\" aria-expanded=\"false\" tabindex=\"0\">Statistical<\/h4> <label class=\"switch\" for=\"allowed-group-4\"><span class=\"hidden\">Allow Statistical cookies<\/span> <input id=\"allowed-group-4\" class=\"checkbox\" type=\"checkbox\" value=\"1\"  checked data-group-id=\"4\" name=\"allowed-group-4\" aria-label=\"Allow&#x20;Statistical&#x20;cookies\" ><span class=\"slider round \" aria-hidden=\"true\"><\/span><\/label> <div class=\"content\" role=\"tabpanel\" aria-hidden=\"true\" style=\"display: none;\"><div><\/div><table role=\"table\"><caption class=\"hidden\">Cookies in Statistical group<\/caption><thead><tr><th scope=\"col\">Name<\/th><th scope=\"col\">Description<\/th><\/tr><\/thead><tbody> <tr><td>_ga<\/td><td>Used by Google Analytics<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>_ga_*<\/td><td>Used by Google Analytics<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>_gcl_au<\/td><td>Used by Google Analytics<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>_tt_enable_cookie<\/td><td>Used by TikTok Pixel<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>_ttp<\/td><td>Used by TikTok Pixel<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>_fbp<\/td><td>Used by Facebook Pixel<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>_fbc<\/td><td>Used by Facebook Pixel<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div>  <div class=\"mst-gdpr__cookie-settings--cookie-group-container mst-gdpr__cookie-settings--cookie-group-container-2\" data-collapsible=\"true\" role=\"listitem\"><div class=\"title-container\" role=\"tablist\"><h4 class=\"title\" role=\"tab\" aria-selected=\"false\" aria-expanded=\"false\" tabindex=\"0\">Marketing<\/h4> <label class=\"switch\" for=\"allowed-group-2\"><span class=\"hidden\">Allow Marketing cookies<\/span> <input id=\"allowed-group-2\" class=\"checkbox\" type=\"checkbox\" value=\"1\"  checked data-group-id=\"2\" name=\"allowed-group-2\" aria-label=\"Allow&#x20;Marketing&#x20;cookies\" ><span class=\"slider round \" aria-hidden=\"true\"><\/span><\/label> <div class=\"content\" role=\"tabpanel\" aria-hidden=\"true\" style=\"display: none;\"><div><\/div><table role=\"table\"><caption class=\"hidden\">Cookies in Marketing group<\/caption><thead><tr><th scope=\"col\">Name<\/th><th scope=\"col\">Description<\/th><\/tr><\/thead><tbody> <tr><td>CUSTOMER_SEGMENT_IDS<\/td><td>Stores your Customer Segment ID<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>EXTERNAL_NO_CACHE<\/td><td>A flag that, indicates whether caching is on or off<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>FRONTEND<\/td><td>Your session ID on the server<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>GUEST-VIEW<\/td><td>Allows guests to edit their orders<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>LAST_CATEGORY<\/td><td>The last category you visited<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>LAST_PRODUCT<\/td><td>The last product you looked at<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>NEWMESSAGE<\/td><td>Indicates whether a new message has been received<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>NO_CACHE<\/td><td>Indicates whether it is allowed to use cache<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div>
1133  <div class=\"mst-gdpr__cookie-settings--cookie-group-container mst-gdpr__cookie-settings--cookie-group-container-3\" data-collapsible=\"true\" role=\"listitem\"><div class=\"title-container\" role=\"tablist\"><h4 class=\"title\" role=\"tab\" aria-selected=\"false\" aria-expanded=\"false\" tabindex=\"0\">Functionality<\/h4> <label class=\"switch\" for=\"allowed-group-3\"><span class=\"hidden\">Allow Functionality cookies<\/span> <input id=\"allowed-group-3\" class=\"checkbox\" type=\"checkbox\" value=\"1\"  checked data-group-id=\"3\" name=\"allowed-group-3\" aria-label=\"Allow&#x20;Functionality&#x20;cookies\" ><span class=\"slider round \" aria-hidden=\"true\"><\/span><\/label> <div class=\"content\" role=\"tabpanel\" aria-hidden=\"true\" style=\"display: none;\"><div><\/div><table role=\"table\"><caption class=\"hidden\">Cookies in Functionality group<\/caption><thead><tr><th scope=\"col\">Name<\/th><th scope=\"col\">Description<\/th><\/tr><\/thead><tbody> <tr><td>MG_DNT<\/td><td>Allows you to restrict Adobe Commerce data collection if you have custom code to manage cookie consent on your site<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>USER_ALLOWED_SAVE_COOKIE<\/td><td>Used for cookie restriction mode<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>AUTHENTICATION_FLAG<\/td><td>Indicates if a shopper has signed in or signed out<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>DATASERVICES_CUSTOMER_ID<\/td><td>Indicates if a shopper has signed in or signed out<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>DATASERVICES_CUSTOMER_GROUP<\/td><td>Indicates a customer&#039;s group. This cookie is stored as sha1 checksum of the customer&#039;s group ID<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>DATASERVICES_CART_ID<\/td><td>Identifies a shopper&#039;s cart actions<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr> <tr><td>DATASERVICES_PRODUCT_CONTEXT<\/td><td>Identifies a shopper&#039;s product interactions. This cookie contains the customer&#039;s unique quote ID in the system<br\/><small> Lifetime: 1 Year<\/small><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div>";
1134
1135        function createModal() {
1136            if (document.getElementById('mst-gdpr-modal-' + modalId)) {
1137                return document.getElementById('mst-gdpr-modal-' + modalId);
1138            }
1139
1140            const modal = document.createElement('aside');
1141            modal.id = 'mst-gdpr-modal-' + modalId;
1142            modal.className = 'modal-popup mst-gdpr__cookie-settings--cookie-modal-settings modal-slide _inner-scroll';
1143            modal.setAttribute('role', 'dialog');
1144            modal.setAttribute('aria-labelledby', 'modal-title-' + modalId);
1145            modal.setAttribute('aria-describedby', 'modal-content-' + modalId);
1146            modal.setAttribute('data-role', 'modal');
1147            modal.setAttribute('data-type', 'popup');
1148            modal.setAttribute('tabindex', '0');
1149
1150            modal.innerHTML = `
1151            <div class="modal-inner-wrap" data-role="focusable-scope">
1152                <header class="modal-header">
1153                    <div id="modal-title-${modalId}" class="modal-title" data-role="title">${modalTitle}</div>
1154                    <button class="action-close" data-role="closeBtn" type="button" aria-label="Close cookie settings dialog"><span>Close</span></button></header>
1155                <div id="modal-content-${modalId}" class="modal-content" data-role="content">
1156                    <div class="content">
1157                        <div class="modal-text">${modalDescription}</div>
1158                        <div class="mst-gdpr__cookie-settings--group-content" role="list"></div></div></div>
1159                <footer class="modal-footer">
1160                    <button class="action primary mst-gdpr__cookie-settings--success-btn"
1161                            type="button"
1162                            data-role="action"
1163                            aria-label="Apply&#x20;cookie&#x20;settings&#x20;and&#x20;close&#x20;dialog">
1164                        <span>Apply</span></button></footer></div>
1165        `;
1166
1167            document.body.appendChild(modal);
1168
1169            modal.querySelector('.action-close').addEventListener('click', () => closeModal(modal));
1170            modal.querySelector('.mst-gdpr__cookie-settings--success-btn').addEventListener('click', () => {
1171                closeModal(modal);
1172                window.dispatchEvent(new Event('mstGdprCookieSettingsModalApply'));
1173            });
1174
1175            return modal;
1176        }
1177
1178        function openModal() {
1179            const modal = createModal();
1180
1181            const groupContainer = modal.querySelector('.mst-gdpr__cookie-settings--group-content');
1182            if (groupContainer && groupContainer.innerHTML === '') {
1183                groupContainer.innerHTML = cookieGroupsHtml;
1184
1185
1186                }
1187                const groups = groupContainer.querySelectorAll('.mst-gdpr__cookie-settings--cookie-group-container');
1188                groups.forEach(group => {
1189
1190                    const groupId = group.querySelector('input').getAttribute('data-group-id');
1191                    if (window.mstGdprCookieGroupInit) {
1192                        window.mstGdprCookieGroupInit(groupId);
1193                    }
1194                    let mstGdpr
1194CookieGroup = {
1195                        groupId: groupId,
1196
1197                        collapse: function () {
1198                            let elHeader = this.getElHeader();
1199                            if (elHeader) {
1200                                elHeader.ariaSelected = 'false';
1201                                elHeader.ariaExpanded = 'false';
1202                            }
1203                            let elContent = this.getElContent();
1204                            if (elContent) {
1205                                elContent.ariaHidden = 'true';
1206                                elContent.style.display = 'none';
1207                            }
1208                        },
1209
1210                        expand: function () {
1211                            let elHeader = this.getElHeader();
1212                            if (elHeader) {
1213                                elHeader.ariaSelected = 'true';
1214                                elHeader.ariaExpanded = 'true';
1215                            }
1216                            let elContent = this.getElContent();
1217                            if (elContent) {
1218                                elContent.ariaHidden = 'false';
1219                                elContent.style.display = '';
1220                            }
1221                        },
1222
1223                        toggle: function () {
1224                            let elHeader = this.getElHeader();
1225                            if (elHeader) {
1226                                if (elHeader.ariaExpanded === 'true') {
1227                                    this.collapse();
1228                                } else {
1229                                    this.expand();
1230                                }
1231                            }
1232                        },
1233
1234                        events: function () {
1235                            let elHeader = this.getElHeader();
1236                            if (elHeader) {
1237                                elHeader.addEventListener('click', this.toggle.bind(this));
1238                                elHeader.addEventListener('keydown', function (e) {
1239                                    if (e.altKey || e.ctrlKey) {
1240                                        return;
1241                                    }
1242                                    switch (e.code) {
1243                                        case 'Space':
1244                                        case 'Enter':
1245                                            this.toggle.bind(this)();
1246                                    }
1247                                }.bind(this));
1248                            }
1249                        },
1250
1251                        getElContainer: function () {
1252                            return document.querySelector('.modal-content .mst-gdpr__cookie-settings--cookie-group-container.mst-gdpr__cookie-settings--cookie-group-container-' + this.groupId);
1253                        },
1254
1255                        getElHeader: function () {
1256                            let elContainer = this.getElContainer();
1257                            return elContainer ? elContainer.querySelector('h4.title') : null;
1258                        },
1259
1260                        getElContent: function () {
1261                            let elContainer = this.getElContainer();
1262                            return elContainer ? elContainer.querySelector('div.content') : null;
1263                        },
1264
1265                        init: function () {
1266                            this.collapse();
1267                            this.events();
1268                        }
1269                    }
1270                    mstGdprCookieGroup.init();
1271                });
1272
1273
1274            const overlay = document.createElement('div');
1275            overlay.className = 'modals-overlay';
1276            overlay.style.zIndex = '10002';
1277            modal.parentNode.insertBefore(overlay, modal.nextSibling);
1278
1279            modal.style.zIndex = '10003';
1280            modal.classList.add('_show');
1281            overlay.addEventListener('click', () => closeModal(modal, overlay));
1282        }
1283
1284        function closeModal(modal, overlay = null) {
1285            if (modal) {
1286                modal.classList.remove('_show');
1287                modal.style.removeProperty('z-index');
1288            }
1289            if (overlay) {
1290                overlay.remove();
1291            } else {
1292                const existingOverlay = document.querySelector('.modals-overlay');
1293                if (existingOverlay) existingOverlay.remove();
1294            }
1295        }
1296        if (typeof mstGdprCookieGroup === 'function') {
1297            mstGdprCookieGroup.init();
1298        }
1299        window.addEventListener('mstGdprCookieOpenSettingsModalRequest', openModal
1300        );
1301    });</script>
vendor: 1 bytes, line 1301
1301
1302<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:'a45120117dc31129',t:'MTc5MTA4NDgwNw=='};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>
1302<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"dd19e92e163c4f4ebba5a5bd20124e6a","r":1,"spa":2}' crossorigin="anonymous"></script>
1302
1303</body></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.