1 2<!DOCTYPE html> 3<html class="no-js" lang="en"> 4 <head>
4<script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push(i)}) 5(window,'AW-11285666033','google_tags_first_party');</script>
5<script async src="/2bym/"></script>
5 6
6<script> 7 window.dataLayer = window.dataLayer || []; 8 function gtag(){dataLayer.push(arguments);} 9 gtag('js', new Date()); 10 gtag('set', 'developer_id.dYzg1YT', true); 11 gtag('config', 'AW-11285666033'); 12 </script>
12 13 14 <title>Dash Cam Exclusive Offers & Bundle Deals | Nextbase</title> 15 <link rel="dns-prefetch preconnect" href="https://cdn11.bigcommerce.com/s-jpkc0tnv4j" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.googleapis.com/" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.gstatic.com/" crossorigin> 16 <meta name="keywords" content="dash cam, dash cams, best dash cam, nextbase dash cam, dash cam US"><meta name="description" content="Here at Nextbase, we offer special offers on select dash cam products to help you save money when buying more than one item within a bundle. Check them out. 17 18 19"><link rel='canonical' href='https://nextbase.com/exclusive-offers/' /><meta name='platform' content='bigcommerce.stencil' /> 20 21 22 23 24<meta property="og:description" content=> <meta property="og:url" content="/exclusive-offers/"> 25 <meta property="og:type" content="website"> 26 <meta property="og:title" content="Exclusive Offers"> <meta property="og:site_name" content="Nextbase - United States"> 27<meta name="twitter:card" content="summary" /> 28 29 30 31 32 33 <link href="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/product_images/favicon_48x48px.png?t=1757997076" rel="shortcut icon"> 34 <meta name="viewport" content="width=device-width, initial-scale=1"> 35 36
36<script nonce=""> 37 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 38 </script>
38 39 40
40<script nonce=""> 41 function browserSupportsAllFeatures() { 42 return window.Promise 43 && window.fetch 44 && window.URL 45 && window.URLSearchParams 46 && window.WeakMap 47 // object-fit support 48 && ('objectFit' in document.documentElement.style); 49 } 50 51 function loadScript(src) { 52 var js = document.createElement('script'); 53 js.src = src; 54 js.onerror = function () { 55 console.error('Failed to load polyfill script ' + src); 56 }; 57 document.head.appendChild(js); 58 } 59 60 if (!browserSupportsAllFeatures()) { 61 loadScript('https://cdn11.bigcommerce.com/s-jpkc0tnv4j/stencil/38e65070-6704-013f-6375-66379f5904cc/e/88351440-94a8-013f-b863-46687f5e6f27/dist/theme-bundle.polyfills.js'); 62 } 63</script>
63 64
64<script nonce="">window.consentManagerTranslations = `{"locale":"en","locales":{"consent_manager.data_collection_warning":"en","consent_manager.accept_all_cookies":"en","consent_manager.gdpr_settings":"en","consent_manager.data_collection_preferences":"en","consent_manager.manage_data_collection_preferences":"en","consent_manager.use_data_by_cookies":"en","consent_manager.data_categories_table":"en","consent_manager.allow":"en","consent_manager.accept":"en","consent_manager.deny":"en","consent_manager.dismiss":"en","consent_manager.reject_all":"en","consent_manager.category":"en","consent_manager.purpose":"en","consent_manager.functional_category":"en","consent_manager.functional_purpose":"en","consent_manager.analytics_category":"en","consent_manager.analytics_purpose":"en","consent_manager.targeting_category":"en","consent_manager.advertising_category":"en","consent_manager.advertising_purpose":"en","consent_manager.essential_category":"en","consent_manager.esential_purpose":"en","consent_manager.yes":"en","consent_manager.no":"en","consent_manager.not_available":"en","consent_manager.cancel":"en","consent_manager.save":"en","consent_manager.back_to_preferences":"en","consent_manager.close_without_changes":"en","consent_manager.unsaved_changes":"en","consent_manager.by_using":"en","consent_manager.agree_on_data_collection":"en","consent_manager.change_preferences":"en","consent_manager.cancel_dialog_title":"en","consent_manager.privacy_policy":"en","consent_manager.allow_category_tracking":"en","consent_manager.disallow_category_tracking":"en"},"translations":{"consent_manager.data_collection_warning":"We use cookies (and other similar technologies) to collect data to improve your shopping experience.","consent_manager.accept_all_cookies":"Accept All Cookies","consent_manager.gdpr_settings":"Settings","consent_manager.data_collection_preferences":"Website Data Collection Preferences","consent_manager.manage_data_collection_preferences":"Manage Website Data Collection Preferences","consent_manager.use_data_by_cookies":" uses data collected by cookies and JavaScript libraries to improve your shopping experience.","consent_manager.data_categories_table":"The table below outlines how we use this data by category. To opt out of a category of data collection, select 'No' and save your preferences.","consent_manager.allow":"Allow","consent_manager.accept":"Accept","consent_manager.deny":"Deny","consent_manager.dismiss":"Dismiss","consent_manager.reject_all":"Reject all","consent_manager.category":"Category","consent_manager.purpose":"Purpose","consent_manager.functional_category":"Functional","consent_manager.functional_purpose":"Enables enhanced functionality, such as videos and live chat. If you do not allow these, then some or all of these functions may not work properly.","consent_manager.analytics_category":"Analytics","consent_manager.analytics_purpose":"Provide statistical information on site usage, e.g., web analytics so we can improve this website over time.","consent_manager.targeting_category":"Targeting","consent_manager.advertising_category":"Advertising","consent_manager.advertising_purpose":"Used to create profiles or personalize content to enhance your shopping experience.","consent_manager.essential_category":"Essential","consent_manager.esential_purpose":"Essential for the site and any requested services to work, but do not perform any additional or secondary function.","consent_manager.yes":"Yes","consent_manager.no":"No","consent_manager.not_available":"N/A","consent_manager.cancel":"Cancel","consent_manager.save":"Save","consent_manager.back_to_preferences":"Back to Preferences","consent_manager.close_without_changes":"You have unsaved changes to your data collection preferences. Are you sure you want to close without saving?","consent_manager.unsaved_changes":"You have unsaved changes","consent_manager.by_using":"By using our website, you're agreeing to our","consent_manager.agree_on_data_collection":"By using our website, you're agreeing to the collection of data as described in our ","consent_manager.change_preferences":"You can change your preferences at any time","consent_manager.cancel_dialog_title":"Are you sure you want to cancel?","consent_manager.privacy_policy":"Privacy Policy","consent_manager.allow_category_tracking":"Allow [CATEGORY_NAME] tracking","consent_manager.disallow_category_tracking":"Disallow [CATEGORY_NAME] tracking"}}`;</script>
64 65 66
66<script nonce=""> 67 window.lazySizesConfig = window.lazySizesConfig || {}; 68 window.lazySizesConfig.loadMode = 1; 69 </script>
69 70
70<script nonce="" async src="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/stencil/38e65070-6704-013f-6375-66379f5904cc/e/88351440-94a8-013f-b863-46687f5e6f27/dist/theme-bundle.head_async.js"></script>
70 71 72 <link href="https://fonts.googleapis.com/css?family=Montserrat:700,500%7CInter:400&display=block" rel="stylesheet"> 73 74
74<script nonce="" async src="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/stencil/38e65070-6704-013f-6375-66379f5904cc/e/88351440-94a8-013f-b863-46687f5e6f27/dist/theme-bundle.font.js"></script>
74 75
75<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
75 76 77 <link data-stencil-stylesheet href="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/stencil/38e65070-6704-013f-6375-66379f5904cc/e/88351440-94a8-013f-b863-46687f5e6f27/css/theme-cb6eb440-9588-013f-7ff9-12c089152ebe.css" rel="stylesheet"> 78
78<script src="https://use.fontawesome.com/51cee7e552.js"></script>
78 79 80 <!-- Start Tracking Code for analytics_facebook --> 81
82<script data-bc-cookie-consent="4" type="text/plain"> 83!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js'); 84 85fbq('set', 'autoConfig', 'false', '3992157370847956'); 86fbq('dataProcessingOptions', []); 87fbq('init', '3992157370847956', {"external_id":"da3fc7d5-1acb-4172-a68b-e0878d36d5c1"}); 88fbq('set', 'agent', 'bigcommerce', '3992157370847956'); 89 90function trackEvents() { 91 var pathName = window.location.pathname; 92 93 94 95 // Search events start -- only fire if the shopper lands on the /search.php page 96 if (pathName.indexOf('/search.php') === 0 && getUrlParameter('search_query')) { 97 fbq('trackSingle', '3992157370847956', 'Search', { 98 content_type: 'product_group', 99 content_ids: [], 100 search_string: getUrlParameter('search_query') 101 }); 102 } 103 // Search events end 104 105 // Wishlist events start -- only fire if the shopper attempts to add an item to their wishlist 106 if (pathName.indexOf('/wishlist.php') === 0 && getUrlParameter('added_product_id')) { 107 fbq('trackSingle', '3992157370847956', 'AddToWishlist', { 108 content_type: 'product_group', 109 content_ids: [] 110 }); 111 } 112 // Wishlist events end 113 114 // Lead events start -- only fire if the shopper subscribes to newsletter 115 if (pathName.indexOf('/subscribe.php') === 0 && getUrlParameter('result') === 'success') { 116 fbq('trackSingle', '3992157370847956', 'Lead', {}); 117 } 118 // Lead events end 119 120 // Registration events start -- only fire if the shopper registers an account 121 if (pathName.indexOf('/login.php') === 0 && getUrlParameter('action') === 'account_created') { 122 fbq('trackSingle', '3992157370847956', 'CompleteRegistration', {}, ""); 123 } 124 // Registration events end 125 126 127 128 function getUrlParameter(name) { 129 var cleanName = name.replace(/[\[]/, '\[').replace(/[\]]/, '\]'); 130 var regex = new RegExp('[\?&]' + cleanName + '=([^&#]*)'); 131 var results = regex.exec(window.location.search); 132 return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); 133 } 134} 135 136if (window.addEventListener) { 137 window.addEventListener("load", trackEvents, false) 138} 139</script>
139 140<noscript><img height="1" width="1" style="display:none" alt="null" src="https://www.facebook.com/tr?id=3992157370847956&ev=PageView&noscript=1&a=plbigcommerce1.2&eid="/></noscript> 141 142<!-- End Tracking Code for analytics_facebook --> 143 144<!-- Start Tracking Code for analytics_siteverification --> 145 146<meta name="google-site-verification" content="3EH4K_uimEDpYoomwpC3aUSomDbeXphsFMNPVDzyhiY" /> 147 148<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 148-149
148 149<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
149GTM-TRZSPG2P
vendor: 83 bytes, lines 149-150
149" 150height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
151<!-- End Google Tag Manager (noscript) --> 152 153<!-- End Tracking Code for analytics_siteverification --> 154 155
156<script type="text/javascript" src="https://checkout-sdk.bigcommerce.com/v1/loader.js" defer ></script>
vendor: 1 bytes, line 156
156
157<script>window.consentManagerStoreConfig = function () { return {"storeName":"Nextbase - United States","privacyPolicyUrl":"https:\/\/nextbase.com\/privacy-policy\/","writeKey":null,"improvedConsentManagerEnabled":true,"AlwaysIncludeScriptsWithConsentTag":true}; };</script>
vendor: 1 bytes, line 157
157
158<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/bodl-consent-32a446f5a681a22e8af09a4ab8f4e4b6deda6487.js" integrity="sha256-uitfaufFdsW9ELiQEkeOgsYedtr3BuhVvA4WaPhIZZY=" crossorigin="anonymous" defer></script>
vendor: 1 bytes, line 158
158
159<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/storefront/consent-manager-config-d53a4773861141b0624d84967b4c0a379d13a5fe.js" defer></script>
vendor: 1 bytes, line 159
159
160<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/storefront/consent-manager-08633fe15aba542118c03f6d45457262fa9fac88.js" defer></script>
vendor: 1 bytes, line 160
160
161<script type="text/javascript"> 162var BCData = {}; 163</script>
vendor: 1 bytes, line 163
163
164<script src='https://cdn.outoftheblue.ai/big_commerce/events/customer_events.min.js?otb_events_tag_id=OTB-250416-XD2135' defer ></script>
164<script id="wsa-rich-snippets-1-intro" nonce=""> 165/* 166 Web Site Advantage: SEO Rich Snippets App 1 [2.58.64065] 167 https://bigcommerce.websiteadvantage.com.au/rich-snippets/ 168 Copyright (C) 2019 - 2025 Web Site Advantage 169*/ 170</script>
vendor: 2 bytes, line 170
170
171<script type="application/ld+json" id="wsa-rich-snippets-jsonld-graph" nonce="">{"@context":"https://schema.org","@graph":[{"isPartOf":{"@id":"https://nextbase.com/#WebSite"},"publisher":{"@id":"https://nextbase.com/#Business"},"@id":"https://nextbase.com/exclusive-offers/#WebPage","url":"https://nextbase.com/exclusive-offers/","name":"Dash Cam Exclusive Offers & Bundle Deals | Nextbase","@type":"WebPage" },{"@id":"https://nextbase.com/#WebSite","url":"https:\u002f\u002fnextbase.com\u002f","name":"Nextbase - United States","publisher":{"@id":"https://nextbase.com/#Business"},"@type":"WebSite"},{"url":"https:\u002f\u002fnextbase.com\u002f","name":"Nextbase - United States","@type":"Organization","@id":"https://nextbase.com/#Business"}] }</script>
vendor: 2 bytes, line 171
171
172<script data-cfasync="false" data-dd-sm-ignore="true" id="wsa-rich-snippets-javascript" nonce="">var webSiteAdvantage=webSiteAdvantage||{};webSiteAdvantage.momentnow='2026-09-24T19:14:38+00:00';function wsa_error(m){console.error('SEO Rich Snippets: '+m,arguments)};function wsa_tryCatch(m,f){try{f()}catch(e){wsa_error(m,e)}};webSiteAdvantage.richSnippetsApp=["jpkc0tnv4j","nextbase.com",790,"jpkc0tnv4j",""];webSiteAdvantage.bcReviews=true;window.classySchemaOptions=window.classySchemaOptions||{};window.classySchemaOptions.scriptIdBase='wsa-rich-snippets-jsonld-classyschema-';window.classySchemaOptions.classNamePrefixes=["classyschema-","wsa-"];window.classySchemaOptions.customCssSelectors={"howto-name":"h1.page-heading"};window.classySchemaOptions.customCssSelectors = { 173 "faqpage-question": ".zn-title", 174 "faqpage-answer": ".zn-text" 175};webSiteAdvantage.classyCleanUp=webSiteAdvantage.classyCleanUp||{};webSiteAdvantage.classyCleanUp.options={removeMicrodata:true,removeJsonLd:true,removeDynamicJsonLd:true,removeJsonLdRegexExcludeIdPatterns:['^wsa-rich-snippets-.*$','reviewsWidgetProductSnippets'],removeJsonLdRegexExcludeClassPatterns:['^jdgm-.*$']};!function(d){var s=d.createElement('script');s.src='https://classyschema.org/2_15/faq_video_howto_cleanup.min.js';s.async=true;s.setAttribute('fetchpriority','high');d.getElementsByTagName('head')[0].appendChild(s)}(document);</script>
vendor: 2 bytes, line 175
175
176<script id="wsa-rich-snippets-meta-tags" nonce=""></script > 177<meta property="og:type" content="website" /><meta property="og:image" content="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/images/stencil/original/logo_1757415802__32203.original_1757997075.original.png"><meta property="og:site_name" content="Nextbase - United States"> 178<meta name="twitter:card" content="summary"> 179</script>
179 180 181
182<script data-cfasync="false" data-dd-sm-ignore="true" data-cookieconsent="ignore" id="wsa-tag-manager-tags" nonce=""> 183</script > 184</script>
vendor: 2 bytes, line 184
184
185<script data-cfasync="false" data-dd-sm-ignore="true" data-cookieconsent="ignore" id="wsa-tag-manager-javascript-h-test" nonce="">!function(w,d){if(d.location.href.indexOf('showHidden=true')<0&&d.location.href.indexOf('shogun.page/previews')<0){w.TagRocket=w.TagRocket||{};var T=w.TagRocket;T.teh=[];w.onerror=function(m,s,l,c,e){T.teh.push((l?(l+' '):'')+(c?(c+' '):'')+m+(m.colno?(':'+m.colno):'')+(s?(' '+s):''));};function a(s){var e=d.createElement('script'),h=d.getElementsByTagName('head')[0];e.appendChild(d.createTextNode(s));h.insertBefore(e,h.firstChild)}a('()=>{};window.arrowFunctions=1');a('async function a(){};window.asyncFunctions=1');var m=new Date().toISOString(),q='wsa-tag-manager-javascript-',z;T.tah=function(s){w.dataLayer=w.dataLayer||[];if(!w.gtag){w.gtag=function(){dataLayer.push(arguments)};gtag('js',new Date);t=d.createElement('script');t.async=!0;t.setAttribute('src','https://www.googletagmanager.com/gtag/js?id=G-7XTJM93TLW');d.head.appendChild(t)};if(!w.wsa_tre){var n='denied';gtag('consent',{functionality_storage:n,ad_storage:n,analytics_storage:n,ad_user_data:n,ad_personalization:n,personalization_storage:n,security_storage:n});gtag('config',"G-7XTJM93TLW",{groups:'TagRocketErrorTracking',send_page_view:false});;gtag('config',"G-7P4TZFQL4H",{groups:'TagRocketErrorTracking',send_page_view:false});gtag('event','tag_rocket_error',{send_to:["G-7P4TZFQL4H"],description:'Script Failure',app_version:'3.47.31',tag_rocket_version:'1.94',ua:navigator.userAgent});};w.wsa_tre=1;if(w.console)console.error('Tag Rocket (h): '+s,T.teh);T.teh.forEach(function(e){gtag('event','app_error',{send_to:'G-7XTJM93TLW',scope:s,description:s+' 3.47.31 h '+e,message:'h '+e,app_version:'3.47.31',automatic:0,tag_rocket_version:'1.94',pagedatetime:m,datetime:m,ua:navigator.userAgent,tags:"unknown",environment:'Production'})})};p=function(){if(!T.ts&&!d.getElementById(q+'second'))T.tah('Header Script Missing');else if(!T.tss)T.tah('Header Script Failure1');else if(!T.ts)T.tah('Header Script Failure2');if(!T.tm&&!d.getElementById(q+'main'))T.tah('Footer Script Missing');else if(!T.tm)T.tah('Footer Script Failure')};if(w.addEventListener)w.addEventListener('DOMContentLoaded',p);else w.attachEvent('onDOMContentLoaded',p)}}(window,document)</script>
185
186<script data-cfasync="false" data-dd-sm-ignore="true" data-cookieconsent="ignore" id="wsa-tag-manager-javascript-second" nonce=""> 187/* 188 Web Site Advantage: Tag Rocket App 1 of 2 Head [1.94.85692] Proprietary Runtime 189 https://bigcommerce.websiteadvantage.com.au/tag-rocket/ 190 Licensed for use only by authorised Web Site Advantage customers. 191 Copyright (C) 2020 - 2026 Web Site Advantage Pty Ltd. 192*/ 193 194!function(w,d){if(d.location.href.indexOf('showHidden=true')<0&&d.location.href.indexOf('shogun.page/previews')<0){w.TagRocket=w.TagRocket||{};var T=w.TagRocket;T.tss=1;T.tags='gads|ga4|facebook';T.l='';var eet=new Date,eei=0,eer=0,eea='G-7XTJM93TLW';T.ec=function(){gtag.apply(null,arguments)};T.a=function(s,e,c,o){try{if(!eei){eei=1;if(!w.gtag){w.gtag=function(){dataLayer.push(arguments)}}T.ec('config',eea,{groups:'TagRocketErrorTracking',send_page_view:false})}if(!eer){eer=1;T.ct=c;if(w.console)console.error('Tag Rocket: '+s+': '+e,o||'');T.ct=1;var z = e?e.substring(0,255):'-missing-';T.ec('event','app_error',{send_to:eea,scope:s,description:s+' 3.47.31 '+z,message:z,app_version:'3.47.31',automatic:0,tag_rocket_version:'1.94',pagedatetime:eet.toISOString(),datetime:new Date().toISOString(),ua:navigator.userAgent,tags:T.tags,timesinceload:new Date-eet,environment:'Production'});eer=0}}catch(x){try{T.ec('event','app_error',{send_to:eea,scope:'AppErrorError',description:'3.47.31 '+x,message:''+x,app_version:'3.47.31',tag_rocket_version:'1.94',pagedatetime:eet.toISOString(),datetime:new Date().toISOString(),ua:navigator.userAgent,tags:T.tags,timesinceload:new Date-eet,environment:'Production'});}catch(y){}}};T.eq=T.eq||[];if(w.addEventListener){w.addEventListener('error',function(){T.ef.apply(T,arguments)},{passive:!0,capture:!0});}else if(w.attachEvent){w.attachEvent('onerror',function(){T.ef.apply(T,arguments)});}if(!T.ef){T.ef=function(){T.eq.push(arguments)}};if(!T.cf){T.cq=T.cq||[];T.cf=function(){T.cq.push(arguments)};if(w.console){T.ce=console.error;console.error=function(){T.ce.apply(console,arguments);T.cf.apply(T,arguments)}}};try{T.er=function(a){return typeof a!=='undefined'};T.dP='NewPromotionsAdded';T.ej=[];T.ek=0;T.cB=function(){T.ei(function(a){a.forEach(function(b){T.e(b.addedNodes,function(c){if(T.bC(c,T.bw)=='promotion'&&T.bB(c,'found')){T.ej.push(c)}T.e(T.eg(c,"["+T.bw+"='promotion']"),function(e){if(T.bB(e,'found')){T.ej.push(e)}})})});if(T.bk(T.ej)&&!T.ek){T.I(function(){T.ek=T.bi(function(){T.ek=0;T.f(T.dP,{elements:T.ej});T.ej=[];},100,'New Promotions Added')})}});};T.ea=[];T.eb=0;T.ed=function(a){T.e(a,function(b){T.ea=T.ea.concat(T.bt(b));if(T.bC(b,T.bw)=='list'&&T.ee(b)&&T.bB(b,'found')){T.ea.push(b)}T.e(T.eg(b,"["+T.bw+"='list']"),function(c){if(T.ee(c)&&T.bB(c,'found')){T.ea.push(c)}})})};T.eh=function(){T.I(function(){if(T.bk(T.ea)){if(T.eb)T.dW(T.eb);T.eb=T.bi(function(){T.f(T.dg,{elements:T.ea});T.ea=[];T.eb=0},500,'New Products Added')}})};T.cA=function(e){T.ei(function(f){f.forEach(function(g){T.ed(g.addedNodes);});T.eh();},e||d.body)};T.dg='NewProductsAdded';T.aY='UserDataUpdated';T.bH=function(a){return d.querySelector(a)};T.bI=function(a){return d.getElementById(a)};T.en=function(a){return d.createElement(a)};T.eg=function(a,b){if(!a.querySelectorAll)return[];var c=a.querySelectorAll(b);if(Array.from)return Array.from(c);else return c};T.bv=function(a){return T.eg(d,a)};T.ee=function(a){var b=T.bC(a,T.bx);return b&&!isNaN(parseInt(b,10))};T.Q=function(a){return T.er(a)&&a!==null};T.w=function(a){return a===0||(T.Q(a)&&a!==''&&!isNaN(a))};T.et=function(a){var b=String.fromCodePoint;if(b){return b(a)}return ''};T.es=function(a,b,c){var e=[].slice.call(a).map(function(f){if(c||typeof(f)==='function')return f;try{return T.D(f)}catch(g){if(Array.isArray(f)){return [].concat(f)}else return f}});if(T.bk(e)){e[0]=T.et(b)+' %cTag Rocket: %c'+e[0];e.splice(1,0,'color:none;');e.splice(1,0,'color:#28a300;')}return e};T.aV=function(){if(w.console)console.warn.apply(console,T.es(arguments,0x1F6A8,1))};T.cM=function(){if(w.console)console.error.apply(console,T.es(arguments,0x26A0,1))};T.aj=function(a,b){return a.sort(function(c,e){return e.price*e.quantity-c.price*c.quantity}).slice(0,b)};T.cU=function(a,b,c,e){var f,g=function(h){if(h>=T.bk(a))c&&c();else T.bi(function(){T.t('SB95',function(){f=b(a[h],h);if(T.er(f))c&&c(f);else g(h+1)},1)},0,'Yield '+h+' '+e);};g(0)};T.e=function(a,b){var c,e,f=T.bk(a);if(a&&f)for(c=0;c<f;c++){e=b(a[c],c);if(T.er(e))return e}};T.aJ=function(a,b){if(a)return a.indexOf(b)>-1};T.dr=function(a,b){if(a&&T.bk(a))for(var c=0;c<T.bk(a);c++){if(a[c]===b)return true}};T.el=function(a,b,c){a.setAttribute(b,c)};T.p=function(a,b,c){if(T.Q(c)&&c!=='')a[b]=c};T.be=function(a,b){if(!b||!a)return a;var c=b.split('.'),e=a[c.shift()];return T.be(e,c.join('.'))};T.t=function(a,b,c,e){try{c&&b.apply(this,e)}catch(f){T.a(a,''+f,1,f)}};T.bE=function(a,b,c,e){var f,g=function(){if(f){clearInterval(f);f=0};T.t.call(this,'SB24',c,1,arguments)};if(b==T.V&&d.readyState!="loading"){T.bi(g,0,T.V+' has passed')}else{e=e||{};if(!T.Q(e.passive)){e.passive=!0;}
194if(b==T.V){f=T.bM('SB98',1,function(){if(d.readyState!="loading"){clearInterval(f);f=0;T.bi(g,0,T.V+' detected by interval')}},50)}a.addEventListener&&a.addEventListener(b,g,e)||a.attachEvent&&a.attachEvent('on'+b,g)}};T.U=function(a,b){T.bE(w,a,function(){if(!b.done){b.done=1;b()}},{once:!0})};T.ch=function(a,b){try{return JSON.stringify(a,b)}catch(c){throw ''+T.ch.caller+' '+c}};T.ck=function(a){return a&&JSON.parse(a)};T.D=function(a){return T.ck(T.ch(a))};T.dv=function(a){return T.ch(a)=='{}'};T.X=function(a){var b=Object(a),c,e,f,g=arguments;for(c=1;c<g.length;c++){e=g[c];if(e!=null){for(f in e){if(Object.prototype.hasOwnProperty.call(e,f))b[f]=e[f];}}}return b;};T.bk=function(a){return a.length};T.bJ=function(a){try{if(!localStorage||T.ep)return!1;return localStorage.removeItem(a)}catch(b){T.a('SB63','Incognito Safari has blocked localStorage. This stops us tracking things like add to cart events',1,b);T.ep=!0}};T.bF=function(a){try{if(!localStorage||T.ep)return!1;return localStorage.getItem(a)}catch(b){T.a('SB61','Incognito Safari has blocked localStorage. This stops us tracking things like add to cart events',1,b);T.ep=!0}};T.bG=function(a,b){try{if(!localStorage||T.ep)return!1;localStorage.setItem(a,b)}catch(c){T.a('SB60','Incognito Safari has blocked localStorage. This stops us tracking things like add to cart events',1,c);T.ep=!0}};T.au=function(a){var b=d.cookie.match(new RegExp('(^| )'+a+'=([^;]+)')),c=b&&unescape(b[2])||'';return c=='deleted'?'':c};T.N=function(a){var b=w.performance;return b&&b.getEntriesByType&&b.getEntriesByType(a)};T.M=function(){var a=navigator;return a.connection||a.mozConnection||a.webkitConnection};T.K=function(a,b,c){return (a||'').replace(b,c||'')};T.ax=function(a){return (a||'').trim().toLowerCase()};T.bn=function(a){return T.K(T.K(T.ax(a),/([^a-z0-9 _])/g),/ +/g,'_')};T.O=function(a,b){b=b||255;if(!a)return '(missing)';a=T.K((''+a).trim(),/ *(\r\n|\n|\r) */gm,' ');if(T.bk(a)<=b)return a;return a.substring(0,b-3)+'...'};T.cN=function(a,b){var c='',e='';switch(b){case 'AU':c='0011';e='61';break;case 'US':case 'CA':c='011';e='1';break;case 'GB':c='011';e='44';break;case 'IT':c='00';e='39';break;}a=T.K(a,/[^\d+]+/g);if(c)a=T.K(a,new RegExp('^'+c),'+');if(a[0]!='+'&&e){a='+'+T.K(e+a,/^0/);}return a};T.bD=function(a,b){return a.hasAttribute(b)};T.bC=function(a,b){if(a.getAttribute)return T.O(a.getAttribute(b))};T.bB=function(a,b){var c='data-tagrocket-'+b;if(T.bD(a,c))return 0;T.el(a,c,'1');return 1};T.bM=function(a,b,c,e){var f=setInterval(function(){T.t(a,function(){try{c()}catch(g){if(b)clearInterval(f);throw g}},1)},e);return f};T.cy=function(a,b,c,e){if(a)T.dW(a);return T.bi(b,c,e)};T.dW=function(a){clearTimeout(a)};T.bi=function(a,b,c){return setTimeout(a,b,'Tag Rocket '+(c||''))};T.bN=function(a,b,c){T.dA('query getCartMetafields{site{cart{metafields(namespace:"bc_storefront" keys:["'+b+'"]){edges{node{entityId}}}}}}',function(e,f){T.t('SB82',function(){if(e>0){var g='createCartMetafield',h='',i=T.be(f,'data.site.cart.metafields.edges');if (i&&i.length){g='updateCartMetafield';h=' metafieldEntityId:'+i[0].node.entityId}T.dA('mutation '+g+'{cart{'+g+'(input:{cartEntityId:"'+a+'" data:{key:"'+b+'" value:"'+T.ch(c).replace(/"/g,'\\"')+'"}'+h+'}){metafield{id entityId key value}errors{...on Error{message}}}}}',function(e,j){T.t('SB83',function(){if(e>0){}},1)})}},1)})};T.eo=function(a){T.cF.appendChild(a)};T.em=function(a,b,c){b=b||{};if(b.onvisible&&d.hidden){T.U('visibilitychange',function(){T.em(a,b,c)});return};var e=T.en(a),f;if(b.id&&T.bI(b.id))return;for(var g in b){T.el(e,g,b[g])}e.onload=e.onreadystatechange=function(){f=e.readyState;if(!f||f=='loaded'||f=='complete'){if(c)c();c=null}};T.eo(e);return e};T.bc=function(a,b,c){b=b||{};b.src=a;if(!T.Q(b.async))b.async=!0;if(T.cJ)b.nonce=T.cJ;if(!T.Q(b.onvisible)&&T.pageType!='orderconfirmation')b.onvisible=!0;if(T.pageType!='orderconfirmation'||T.d.updated){T.em('script',b,c)}else{T.o(T.aY,function(){T.em('script',b,c)})}};T.dH=function(a){if(T.bD(a,'data-list-name'))return T.bC(a,'data-list-name');if(a.parentElement)return T.dH(a.parentElement)};T.P=function(){var a=T.bH('head meta[name="description"]');if(a)return T.bC(a,'content');};T.cL=function(a){var b=w.location.href.match(new RegExp('[?&]'+a+'=([^&]*)'));return decodeURIComponent(b&&b[1]||'')};T.ei=function(a,b,c){if(w.MutationObserver)T.U(T.V,function(){c=c||{childList:!0,subtree:!0};b=b||d.body;if(!b)throw 'no target';new MutationObserver(a).observe(b,c)})};T.aP=function(a,b){if(a&&a.event_log)a.event_log+=b};T.dP='NewPromotionsAdded';T.ej=[];T.ek=0;T.cB=function(){T.ei(function(a){a.forEach(function(b){T.e(b.addedNodes,function(c){if(T.bC(c,T.bw)=='promotion'&&T.bB(c,'found')){T.ej.push(c)}T.e(T.eg(c,"["+T.bw+"='promotion']"),function(e){if(T.bB(e,'found')){T.ej.push(e)}})})});if(T.bk(T.ej)&&!T.ek){T.I(function(){T.ek=T.bi(function(){T.ek=0;T.f(T.dP,{elements:T.ej});T.ej=[];},100,'New Promotions Added')})}});};T.ea=[];T.eb=0;T.ed=function(a){T.e(a,function(b){T.ea=T.ea.concat(T.bt(b));if(T.bC(b,T.bw)=='list'&&T.ee(b)&&T.bB(b,'found')){T.ea.push(b)}T.e(T.eg(b,"["+T.bw+"='list']"),function(c){if(T.ee(c)&&T.bB(c,'found')){T.ea.push(c)}})})};
194T.eh=function(){T.I(function(){if(T.bk(T.ea)){if(T.eb)T.dW(T.eb);T.eb=T.bi(function(){T.f(T.dg,{elements:T.ea});T.ea=[];T.eb=0},500,'New Products Added')}})};T.cA=function(e){T.ei(function(f){f.forEach(function(g){T.ed(g.addedNodes);});T.eh();},e||d.body)};T.dg='NewProductsAdded';T.ay='PromotionsVisible';T.dO=function(a){T.br(T.ay,a)};T.bo=function(a,b){if(T.dr(['orderconfirmation','checkout','cart'],T.pageType))return;var c,e=[];T.e(a.infos||a.items||a,function(f){c=f.product||f;if(!c.completed){e.push(c);}});if (T.bk(e)&&T.cL('showHidden')!='true'&&!T.aJ(e[0].name,'Package Protection')&&!T.cG){T.a('SB55e',''+T.bk(e)+' incomplete products on '+b+' '+e[0].productId+' '+e[0].name,1,e);}};T.dK=function(a,b){var c="["+T.bw+"='list']["+T.bx+"='"+a+"']";if(b)c="[data-list-name='"+T.K(b,/['"\\]/g,'\\$&')+"'] "+c;return T.bH(c)};T.n='ProductsVisible';T.dM=function(a,b){if(T.bp||T.cw)a.search=T.bp||T.cw;T.bo(a,T.n);T.cY(T.n,a,b)};T.dX=function(a){T.t('SB19b',function(){var b,c={},e;T.e(a,function(f){if(!f.seen){f.seen=1;b=f.callback.name+f.id;if(!c[b])c[b]=[];c[b].push(f)}});for(var g in c){e=c[g][0];e.callback({infos:c[g],list:e.list})}},1)};T.dZ=0;T.dY=[];T.dS=function(a){a.visibleTime=0;if(!T.Q(a.minVisibleTime))a.minVisibleTime=2e3;var b,c=new IntersectionObserver(function(e){T.e(e,function(f){if(f.isIntersecting){a.lastVisible=new Date;a.trigger='visible';b=T.bi(function(){c.disconnect();T.dY.push(a);if(T.dZ)return;T.dZ=T.bi(function(){T.dZ=0;if(T.bk(T.dY)){T.dX(T.dY);T.dY=[];}},1e3,'Visible Ticking')},a.minVisibleTime-a.visibleTime,'On First Visible')}else{if(b)T.dW(b);if(a.lastVisible){a.visibleTime+=new Date-a.lastVisible;a.lastVisible=0}}})},{threshold:[0.5]});c.observe(a.e)};T.dU=[];T.dV=0;T.dT=function(a){T.dU.push(a)};T.cC=function(){T.t('SB18c',function(){var b,c,e=0,f=1,g=function(a){if(a.seen)return false;if(a.e&&a.e.getBoundingClientRect){try{b=a.e.getBoundingClientRect()}catch(h){}if(b){return b.top>-b.height/2&&b.left>-b.width/2&&b.bottom-b.height/2<=(w.innerHeight||d.documentElement.clientHeight)&&b.right-b.width/2<=(w.innerWidth||d.documentElement.clientWidth)}}return a.percent<T.dV},i=function(j,k){if(!k&&c)return;T.dW(c);c=T.bi(function(){c=0;T.t('SB18a',function(){l()},1)},j,'Scroll Tick '+k)} ,l=function(){var m=[],n=1,o,p,q,r=d.body,s=d.documentElement;q=w.pageYOffset,p=w.innerHeight;if(r&&r.scrollHeight){if(f==1)f=r.scrollHeight;if(s.clientHeight)n=s.clientHeight;if(q&&p)n=q+p;}o=n/f;if(o>T.dV){T.dV=o;e=n;T.t('SB18b',function(){T.e(T.dU,function(a){a.trigger='scroll '+o;if(g(a)&&T.bk(m)<=5)m.push(a)});if(T.bk(m)){T.dX(m);i(6e3,1)}},1);}};T.bE(d,'scroll',function(){i(1e3,0);});T.U('load',function(){l()})},1);};T.dN=function(a){if(a.e&&('IntersectionObserver' in window)){T.dS(a)}else{T.dT(a)}};T.dR=function(a,b,c,e){if(!w._bcCsrfProtectionPatched&&e<10){T.bi(function(){T.dR(a,b,c,e+1)},100,'XMLHttpRequest Wait '+e)}else{var f=new XMLHttpRequest();e=e||1;f.onreadystatechange=function(){if(this.readyState==4){if(this.status!=200){if(e<12){T.bi(function(){T.dR(a,b,c,e+1)},1e3,'XMLHttpRequest Retry '+e)}else{T.a('SB36','Request Failed after '+e+' attempts : '+a+' '+this.status,1,f);b(0,this.status)}}else{b(1,f.responseText?T.ck(f.responseText):'-missing-')}}};f.open(c?'POST':'GET',a,true);f.withCredentials=true;f.setRequestHeader('Content-type','application/json');if(c){f.setRequestHeader('Authorization','Bearer '+T.cK);f.send(T.ch({query:c}))}else{f.send()}}};T.dQ=function(a,b,c,e,f){if(T.aJ(w.location.href,'googleusercontent.com')){c(0,'googleusercontent.com')}else{e=e||0;f=f||0;b=b||{};e++;if(!w._bcCsrfProtectionPatched&&e<10){T.bi(function(){T.dQ(a,b,c,e,f)},100,'Fetch Wait '+e)}else{f++;w.fetch(a,b).then(function(g){if(g.ok){g.text().then(function(h){var i;try{i=T.ck(h)}catch(j){throw 'JSON parse error '+j+' '+a}try{c(i?1:0,i||'-empty-')}catch(j){throw 'onComplete error '+j+' '+a}})}else{if(f<2&&!['401','403','404','429'].includes(g.status)){T.bi(function(){T.dQ(a,b,c,e,f)},1e3*f,'Fetch '+f)}else{T.a('SB30','Fetch '+f+' Last Fail '+a+' '+g.status,1,g);try{c(0,g.status)}catch(j){T.a('SB30b','Fetch '+a+' onComplete '+(k.message||k),1,k)}}}}).catch(function(k){if(!k.message||!k.message.match(/^(cancel|annul|brochen|NetworkError when|Failed to fetch|ì·¨ìë¨)/)){if(f<2){T.bi(function(){T.dQ(a,b,c,e,f)},1e3,'Fetch Error '+f)}else{if(!T.cG)T.a('SB29','Fetch '+f+' Last Error '+a+' '+(k.message||k),1,k);c(0,k.message||k)}}else c(-1,k.message||k)})}}};T.dA=function(a,b){var c='/graphql';if(w.fetch){T.dQ(c,{method:'POST',credentials:'same-origin',headers:{'Content-Type':'application/json',Authorization:'Bearer '+T.cK},body:T.ch({query:a})},b)}else{T.dR(c,b,a)}};T.bQ=function(a,b){if(w.fetch){T.dQ(a,{credentials:'include'},b)}else{T.dR(a,b)}};T.bA=function(){T.o(T.dP,function(a){T.by(T.bz(a.elements))})};T.by=function(a){T.e(a,function(b){if(!b.e)b.e=T.bH("["+T.bw+"='promotion']["+T.bx+"='"+b.id+"']");var c=b.location=='top'?0.1:0.9;if(b.e){if(T.bB(b.e,'registered')){T.dN({se: T.dL,id:'',e:b.e,promotion:b,percent:c,callback:T.dO});T.bE(b.e,'click',function(){T.br(T.aA,b)})}}else{T.dN({se: T.dL,id:'',e:b.e,promotion:b,percent:c,callback:T.dO})}})};T.aA='PromotionClicked';T.dJ=0;T.bm=function(a,b){T.dJ++;T.e(a.items,function(c,e){if(!b||T.dr(b,c)){c.e=c.e||T.dK(c.productId,a.listName);var f={se:T.dL,id:T.dJ,e:c.e,product:c,list:a};if(c.e){if(T.bB(c.e,'registered')){f.callback=T.dM;f.percent=e/T.bk(a.items);T.dN(f);T.bE(c.e,'click',function(){if(!f.seen)T.dM({infos:[f],list:a});T.br(T.ae,f);})}}else{f.callback=T.dM;f.percent=e/T.bk(a.items);T.dN(f);}}})};T.ae='ProductClicked';T.bz=function(a){var b,c,e,f,g=[];if(!a)a=T.bv("["+T.bw+"='promotion']["+T.bx+"]");T.e(a,function(h){b=T.bC(h,T.bx);c=T.bC(h,'data-name');e=T.bC(h,'data-position');f={e:h};if(b)f.id=parseInt(b,10);if(c)f.name=c;if(e)f.location=e;g.push(f)});return g};T.bu=function(a){var b,c,e=[],f=T.dG(e,a);if(T.bk(e)){T.bl({reason:'List',items:e},function(g){for(b in f){c=f[b];if(T.cD)c.category=T.cD;T.bm(c,g.items)}})}};T.dF=[];T.dG=function(a,b){var c,e,f,g,h,i={},j,k,l,m,n,o,p=['{','blogid','pageid','categoryid','ssib'],q='data-tagrocket-searchprovider';T.e(b,function(r){j=T.dH(r)||'Page: '+T.cE;c=j.split(':')[0].trim();m=j;if(T.aJ(m,':'))m=m.split(':')[1].trim();i[j]=i[j]||{id:T.bn(j),type:c,listName:j,name:m,items:[]};n=T.dF[j]||0;f=T.bC(r,T.bx);e=T.bC(r,'data-product-price');l=T.bC(r,'data-product-category');g=T.bC(r,'data-name');h=T.bC(r,'data-product-brand');o=T.bC(r,'data-position');k={e:r,index:n};if(f)k.productId=parseInt(f,10);if(isNaN(k.productId)){if(!T.dI&&f&&p.some&&p.some(function(m){f.indexOf(m)!=0})){T.dI=1;
194T.a('SB43','Page contains invalid '+T.bx+' value: '+f,1,r)}}else{T.bB(r,'found');if(T.bB(r,'got')){if(T.w(e))k.price=parseFloat(e);if(l)k.category={path:l,breadcrumbs:[l]};if(T.bD(r,q))k.searchprovider=T.bC(r,q);if(T.j)k.currency=T.j;if(!isNaN(o))k.index=parseInt(o,10)-1;T.dF[j]=n+1;a.push(k);i[j].items.push(k)}}});return i};T.cg=function(a){var b='(unknown)';if(a&&a.nodeName){b=T.ax(a.nodeName);if(b=='body')return 'html>body';if(b=='head')return 'html>head';if(a.id)return b+'#'+a.id;if(a.className&&T.bk(a.className))b+='.'+a.className.split(/[ ,]+/).join('.');if(a.parentElement)b=T.cg(a.parentElement)+'>'+b;return b}};T.r=function(a,b){if(isNaN(a))return a;if(!b)b=0;var c=Math.pow(10,b),e=Number.EPSILON||2.220446049250313e-16;return Math.round((a+e)*c)/c};T.dE='GetValue';T.getProductId=function(a,b,c,e,f){if(c.type=='giftCertificate')return c.type;var g=(c.isVariant&&f?f:e);if(g.length<1)return;return T.K(T.K(T.K(T.K(T.K(T.K(T.K(T.K(T.K(T.K(T.K((T.e(g.split('||'),function(h){if((!T.aJ(h,'[[psku]]')||c.productSku)&&(!T.aJ(h,'[[pmpn]]')||c.productMpn)&&(!T.aJ(h,'[[pupc]]')||c.productUpc)&&(!T.aJ(h,'[[pgtin]]')||c.productGtin)&&(!T.aJ(h,'[[vname]]')||c.variantName)&&(!T.aJ(h,'[[vid]]')||c.variantId)&&(!T.aJ(h,'[[vsku]]')||c.variantSku)&&(!T.aJ(h,'[[vmpn]]')||c.variantMpn)&&(!T.aJ(h,'[[vupc]]')||c.variantUpc)&&(!T.aJ(h,'[[vgtin]]')||c.variantGtin))return h})||'[[pid]]'),/\[\[pid\]\]/ig,c.productId),/\[\[pmpn\]\]/ig,c.productMpn),/\[\[pupc\]\]/ig,c.productUpc),/\[\[pgtin\]\]/ig,c.productGtin),/\[\[psku\]\]/ig,c.productSku),/\[\[vname\]\]/ig,c.variantName),/\[\[vid\]\]/ig,c.variantId),/\[\[vsku\]\]/ig,c.variantSku),/\[\[vmpn\]\]/ig,c.variantMpn),/\[\[vupc\]\]/ig,c.variantUpc),/\[\[vgtin\]\]/ig,c.variantGtin)};T.bW=function(a){T.d.updated=!0;try{var b=a.billingAddress;T.p(b,'phone',T.cN(b.phone,b.countryCode));T.p(T.d,'email',T.ax(b.email));T.p(T.d,'phone',b.phone);T.p(T.d,'first_name',b.firstName);T.p(T.d,'last_name',b.lastName);T.p(T.d,'street',b.address1);T.p(T.d,'city',b.city);T.p(T.d,'state',b.stateOrProvince);T.p(T.d,'postal_code',b.postalCode);T.p(T.d,'country_code',b.countryCode);if(b.address2)T.d.street=(T.d.street?T.d.street+', ':'')+b.address2;}catch(c){T.a('SB56','Failed to update user data',1,c);}T.br(T.aY,T.d);};T.aY='UserDataUpdated';T.dB=function(a,b){if(a.variants.edges){return T.e(a.variants.edges,function(c){if(c.node.entityId==b)return c.node})}};T.dC=function(a){var b='',c;T.e(a.options.edges,function(e,f){c=e.node;if(f)b+=', ';b+=c.displayName+':';T.e(c.values.edges,function(g){b+=' '+g.node.label})});return b};T.dy='ProductDataGathered';T.dz='CartDataGathered';T.bl=function(a,b){T.t('SB26c',function(){var c=a.cart,e,f,g,h,i=[],j=[],k=T.cL('showHidden')=='true',l=function(i){a.requests++;var m=i.slice(0,25),n=j.filter(function(o){return T.dr(m,o.p)&&!T.dr(n,o.v)}).map(function(o){return o.v});f='query Products{site{';if(h){f+='id:product(entityId:'+e[0].productId+'){entityId sku mpn upc gtin variants(skus:['+T.ch(h)+']){edges{node{entityId}}}} product(sku:'+T.ch(h)+'){'}else{f+='products(first:25 entityIds:'+T.ch(m)+'){edges{node{'}f+='entityId sku name path defaultImage {url (width: 1000)}mpn upc gtin brand {name} categories{edges{node{name entityId breadcrumbs(depth:10 first:50){edges{node{name}}}}}}';if(c&&T.bk(n)){if(T.bk(n)>250)T.a('SB26','Can only get 250 variants. There are '+T.bk(n),1,n);f+='variants(first:250 entityIds:'+T.ch(n.slice(0,250))+'){edges{node{entityId mpn upc gtin options(first:50){edges{node{displayName values(first:50){edges{node{label}}}}}}}}}';}f+='twoVariants:variants(first:2){edges{node{entityId sku}}}';if(!h)f+='}}';f+='}}}';T.dA(f,function(p,q){T.t('SB32',function(){if(p>0){if(q.errors&&T.bk(q.errors))throw 'graphql '+q.errors[0].message;T.e(e,function(o){var r,s,t,u,v,x,y,z,aa,ab,ac,ad,ae;if(h){y=T.be(q,'data.site.product');z=T.be(q,'data.site.id.sku');aa=T.be(q,'data.site.id.mpn');ab=T.be(q,'data.site.id.upc');ac=T.be(q,'data.site.id.gtin');x=T.be(q,'data.site.id.variants.edges');if(x)o.variantId=T.be(x[0],'node.entityId');delete o.productSku}else{ad=T.be(q,'data.site.products.edges');if(!ad)T.a('SB32x',T.ch(q),1,q);y=T.e(ad,function(af){if(!af||!af.node)T.a('SB32z',T.ch(q),1,q);if(af&&af.node&&af.node.entityId==o.productId)return af.node});if(y)z=y.sku}if(y){o.completed=!0;var ag,ah=[],ai=o.sku,aj=y.name,ak=y.path,al=y.defaultImage,am=y.mpn,an=y.upc,ao=y.gtin,ap=y.brand,aq=o.variantId;ai=ai||h;if(z)o.productSku=z;if(ai&&z!=ai)o.variantSku=ai;if(aj)o.name=aj;if(al){o.defaultImage=al;if(al.url)al.data=T.K(al.url,'/1000w/','/{:size}/')};if(ak)o.url=T.cH+ak;if(h){if(aa)o.productMpn=aa;else delete o.productMpn;if(ab)o.productUpc=ab;else delete o.productUpc;if(ac)o.productGtin=ac;else delete o.productGtin;if(am&&aa!=am)o.variantMpn=am;if(an&&ab!=an)o.variantUpc=an;if(ao&&ac!=ao)o.variantGtin=ao;}else{if(am)o.productMpn=am;if(an)o.productUpc=an;if(ao)o.productGtin=ao;}if(ap&&ap.name)o.brand=ap.name;if(aq&&c){ae=T.dB(y,aq);
194if(ae){if(ae.options)o.variantName=T.dC(ae);if(ae.mpn)o.variantMpn=ae.mpn;if(ae.upc)o.variantUpc=ae.upc;if(ae.gtin)o.variantGtin=ae.gtin}else{T.a('SB27','Failed to get extra variant information for variant: '+aq,1,y);o.variantName='(id='+aq+')'}};o.isVariant=(ai&&(!z||z!=ai))==!0;v=T.be(y,'twoVariants.edges');if(T.bk(v)>0){ag=v[0].node;if(!o.isVariant)o.hasVariants=T.bk(v)>1||!(o.productSku==ag.sku||ag.sku=='');if(T.bk(v)<2&&!o.variantId)o.variantId=ag.entityId};o.categories=ah;t=T.be(y,'categories.edges');T.e(t,function(ar){if(!ar||!ar.node){T.a('SB32c',T.ch(t),1,t)}else{s={id:ar.node.entityId,name:ar.node.name,breadcrumbs:[]};ah.push(s);u=T.be(ar,'node.breadcrumbs.edges');if(!u){T.a('SB32b',T.ch(t),1,t)}else{T.e(u,function(as){s.breadcrumbs.push(as.node.name);});s.path=s.breadcrumbs.join("/");if(!r||r.id>s.id)r=s}}});o.category=r}})}else{if(T.pageType!='orderconfirmation'&&p==0&&!T.cG)T.a(a.reason,'Failed to get extra information for '+T.bk(m)+',ok='+p+',status='+q,1,m)}if(T.bk(i)>25){l(i.slice(25))}else{if(p>0&&!c&&!T.cG){var at=[];T.e(e,function(o){if(!o.completed)at.push(o)});if(T.bk(at)&&!k){if(g)T.a('SB55d','Could not get extra product data for URL sku '+g,1,{issues:at,items:e});else if(h)T.a('SB55a','Could not get extra product data for sku '+h,1,{issues:at,items:e});else T.a('SB55b',a.reason+' '+a.requests+' Could not get extra product data for '+T.bk(at)+' out of '+T.bk(e)+' items. '+at[0].productId,1,{issues:at,items:e});T.a('SB55c',T.ch(q),1,q)}}if(a.reason==T.v&&T.bk(e)&&!e[0].variantId&&T.dD)e[0].variantId=T.dD;b(a)}},1)})};if(a.reason==T.v){g=T.cL('sku');h=a.items[0].sku||g;}if(c){c.items=[];var au=c.lineItems;if(au)T.e([].concat(au.physicalItems,au.digitalItems,au.giftCertificates),function(av){if(c.currency&&c.currency.code)av.currency=c.currency.code;if(!T.w(av.price))av.price=av.salePrice;if(!T.w(av.price))av.price=av.list_price;if(av.type=='giftCertificate'){av.price=av.amount;av.productId='giftCertificate';av.quantity=1;av.isTaxable=av.taxable;av.completed=!0}if(av&&!av.parentId)c.items.push(av)});else{T.a('SB26b','Missing lineItems '+a.reason+' '+T.ch(a.response||c),1,c);return}}e=a.items||c.items;a.items=e;if(c)c.items=e;T.products=T.products||[];T.products.push(e);var aw=0;if(c){if(T.j&&!c.currency)c.currency={code:T.j};var ax,ay=c.baseAmount,az=c.cartAmount,ba=c.coupons;if(ay&&az)c.totalDiscount=ay-az;if(ba)c.couponCodes=ba.map(function(bb){return bb.code}).join(', ')}T.e(e,function(o){var bc=o.discountAmount,bd=o.couponAmount;if(!o.productId&&o.product_id)o.productId=o.product_id;if(!o.variantId&&o.variant_id)o.variantId=o.variant_id;ax=0;if(bc)ax+=bc;if(bd){ax+=bd;if(c&&c.couponCodes)o.couponCodes=c.couponCodes}if(ax){o.totalDiscount=ax;aw+=ax}if(o.type!='giftCertificate'&&o.productId&&!T.dr(i,o.productId))i.push(o.productId);if(o.variantId)j.push({p:o.productId,v:o.variantId});});if(c&&c.orderAmount)c.totalDiscount=(c.discountAmount||0)+aw;if(!T.bk(i)){T.I(function(){b(a)})}else{a.requests=0;l(i);}},1)};T.t('SB33',function(){var a=T.be(w,'prototype'),b=T.be(a,'send'),c=T.be(a,'open'),e=w.fetch;if(!T.xe){if(c){a.open=function(f,g){this.rurl=g;return c.apply(this,arguments)}}if(b&&b.apply){a.send=function(){var h=this;T.bE(h,'readystatechange',function(){if(h.readyState==4&&(h.status>399||h.status==0)){T.xe(h)}});return b.apply(this,arguments)}}}T.xq=T.xq||[];T.xe=function(i){T.xq.push(i)};if(!T.fe){if(e&&e.apply){w.fetch=function(g){/*This detects fetch errors.Please look up the stack for the real cause of the error*/return e.apply(this,arguments).then(function(j){if(j.status>399)T.fe({type:'status',url:j.url,message:j.status});return j}).catch(function(k){T.fe({type:T.aC,url:g.url||g,message:k.stack||k.message||k});throw k})}}}T.fq=T.fq||[];T.fe=function(l){T.fq.push(l)};},1);T.cz=function(){var a=0,b=0;T.aI='XMLHttpRequestResponseError';T.o(T.aI,function(a){var b=a.responseURL||a.rurl,c=a.status,e='XMLHttpRequest Response '+c,f=e+': '+b;if(b&&T.aJ(b,'/g/collect'))T.aK=1;if(b&&(T.aJ(b,'/api/storefront/carts/')||T.aJ(b,'/customer/current.jwt'))){}else{T.Y(T.aC,{description:T.O(f),error_type:'network',error_message:T.O(e),error_filename:T.O(b),fatal:false})}},'GF30',1&&!T.aK);T.xe=function(c){a++;
194if(T.cF){T.cF.dataset.xhrErrors=a;T.cF.dataset.xhrErrorsInfo=(T.cF.dataset.xhrErrorsInfo||'')+' '+(c.responseURL||c.rurl)+' '+c.status+' '+c.statusText+' '+c.readyState;};if(d.visibilityState!='hidden'&&a<6)T.br(T.aI,c)};if(T.xq){T.e(T.xq,function(c){T.xe(c)})}T.aL='FetchResponseError';T.o(T.aL,function(a){var b='Fetch Response '+d.visibilityState+' '+a.message;T.Y(T.aC,{description:T.O(b+': '+a.url),error_type:'network',error_message:T.O(b),error_filename:T.O(a.url),fatal:false})},'GF34',1);T.fe=function(e){b++;if(T.cF){T.cF.dataset.fetchErrors=b;T.cF.dataset.fetchErrorsInfo=(T.cF.dataset.fetchErrorsInfo||'')+' '+e.url+' '+T.O(e.message,30);};if(!(e.type==T.aC&&d.visibilityState=='hidden')){if(b<6)T.br(T.aL,e)}};if(T.fq){T.e(T.fq,function(e){T.fe(e)})}};T.cards=[];T.bt=function(a){var b=[],c,e;T.e(['dfd-data-product-id','data-compare-id'],function(f){T.e(T.eg(a,'['+f+']'),function(g){e=g.closest('.dfd-results-grid');if(e){c=g.closest('.dfd-card')||g;if(T.bB(c,'found')){T.el(c,T.bx,T.bC(g,f));T.el(c,T.bw,'list');T.el(c,'data-tagrocket-searchprovider','DooFinder');b.push(c)}}});});if(T.bk(b))T.cards.push({node:a,cards:b});return b};T.bj=function(){return T.bv("["+T.bw+"]["+T.bx+"]").length>0};T.bR=function(a){if(!localStorage)return;T.I(function(){var b,c,e,f=T.ck(T.bF('wsa-c')),g=f||{version:'n/a'},h,i,j={};T.ca=0;T.e(a.items,function(k){var l=k.productSku,m=k.variantName,n=k.brand,o=k.sku,p=k.quantity;if(T.ca<3){b='id.'+k.id+'.p'+k.productId;if(k.variantId)b+='.v'+k.variantId;c={productId:k.productId,quantity:p,price:k.price,name:k.name,category:k.category};if(l)c.productSku=l;if(m)c.variantName=m;if(n)c.brand=n;if(o)c.sku=o;e=p;i=g[b];if(i)e-=i.quantity;e&&T.bZ(e,k,a);j[b]=c}g[b]=null});j.version='1.0';T.bG('wsa-c',T.ch(j));for(h in g){i=g[h];i&&i.quantity&&T.bZ(-i.quantity,i,a)}});};T.bE(w,'visibilitychange',function(){if(T.bk(T.dY)){T.dX(T.dY);T.dY=[]}});T.cO=[];T.cP=function(a){if(typeof a!='string')return a;
194if(a[0]!='^')a='^'+a;if(a[T.bk(a)-1]!='$'||a[T.bk(a)-2]=='\\')a=a+'$';return new RegExp(a)};T.o=function(a,b,c,e){if(!a){T.a('On event missing event text: '+c,'');return};if(!c)c=a;if(T.bk(arguments)<4)e=!0;if(!a||(!e&&e!=false)||!c||!b){T.a('OnEvent bad data',a,b,c,e)}T.cO.push({r:T.cP(a),c:b,s:c,p:e})};T.cQ=[];T.on=function(a,b){if(!a)T.a('On event missing eventRegexText');if(!b)T.a('On event missing callback');T.cQ.push({r:T.cP(a),c:b,s:'C'+T.bk(T.cQ),p:!0})};T.cR=function(f,g,h){T.e(f,function(i){if(i.r.test(g))T.t(i.s,i.c,i.p,[h,g])})};T.cS=function(f,g,h){T.e(f,function(i){if(i.r.test(g))T.t(i.s,i.c,i.p,[h,g])})};T.cT=function(f,g,h,b){T.cU(f.filter(function(i){return i.r.test(g)}),function(i){T.t(i.s,i.c,i.p,[h,g])},b,g)};T.cV=function(g,h){T.cR(T.cQ,g,h);if(!h.cancelBuiltInEvents)T.cR(T.cO,g,h);return h};T.cW=function(g,h,b){T.cT(T.cQ,g,h,function(){if(!h.cancelBuiltInEvents)T.cT(T.cO,g,h,function(){b&&b(h)});else{b&&b(h)}});};T.cX=function(g,h){T.cS(T.cQ,g,h);if(!h.cancelBuiltInEvents)T.cS(T.cO,g,h);return h};T.f=function(g,h){h.cancelBuiltInEvents=!1;return T.cV(g,h)};T.br=function(g,h){T.I(function(){T.f(g,h)})};T.cY=function(g,h,b){h.cancelBuiltInEvents=!1;T.cW(g,h,function(j){b&&b(j)})};T.cZ=function(g,h){h.cancelBuiltInEvents=!1;return T.cX(g,h)};T.aO=function(g,h){h.cancel=!1;T.cV(g,h);return!h.cancel};T.da=function(g,h){h.cancel=!1;T.cX(g,h);return!h.cancel};T.d={};T.userData=T.d;T.userDataUpdated=function(){T.br(T.aY,T.d)};T.d.country_code='';T.d.region_code='';T.cD='';T.app={a:'3.47.31',v:'1.94.85692',d:'2026/07/15 13:14'};T.j='USD';T.am='USD';T.cE="Dash Cam Exclusive Offers & Bundle Deals | Nextbase";T.cF=d.getElementsByTagName('head')[0];T.bw='data-event-type';T.bx='data-entity-id';T.V='DOMContentLoaded';T.aC='exception';T.instantLoad='';T.dataTagEnabled='false';T.m='page_view';T.h='config';T.J='event';T.cG=T.aJ(w.location.href,'translate.goog');T.pageType='page';T.cH='https://nextbase.com';T.cI=true;T.cJ="";T.b='allow_enhanced_conversions';T.cK="eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJjaWQiOlsxXSwiY29ycyI6WyJodHRwczovL25leHRiYXNlLmNvbSJdLCJlYXQiOjE3OTA0MTc4NTYsImlhdCI6MTc5MDI0NTA1NiwiaXNzIjoiQkMiLCJzaWQiOjEwMDIwOTQxNzcsInN1YiI6IkJDIiwic3ViX3R5cGUiOjAsInRva2VuX3R5cGUiOjF9.S3S8xGMbF8uyiL_bUG2PwaaR0od0soYqNqRRDUwUuFqoMazRUJqvd_Q1Hl_rSifM5-bpGUwWAuXVgHI7WoWHAw";T.bp=T.cL('search_query');if(!T.bp)T.bp=T.cL('search_query_adv');if(T.bp)T.pageType=T.pageType+'_search';var a=T.N('navigation');T.cu=a&&a[0];T.T=T.Q(d.hidden)?''+d.hidden:'unknown';if(T.cu){var b=d.prerendering,c=T.cu.activationStart,e=T.cu.deliveryType,f=e=='navigational-prefetch'?'prefetch':e||'normal';T.R=T.Q(b)?(b?'prerender':(c>200?'prerender until script':'no')):'not supported';T.S=T.Q(b)?(b?'prerender':(c>200?'prerender until script':f)):f}else{T.R=T.S='unknown'}w.dataLayer=w.dataLayer||[];T.db=[];T.gp=[];T.H=function(){if(!T.dc&&T.dd){T.dc=!0;try{while(T.bk(T.db)){var a=T.db[0];T.db.splice(0, 1);gtag.apply(null,a)}if(T.de){while(T.bk(T.gp)){var a=T.gp[0];T.gp.splice(0, 1);gtag.apply(null,a)}}}finally{T.dc=!1;}}};T.G=function(b){if(!w.gtag||!w.gtag.tagrocket){w.gtag=function(c,e,f){var a=arguments;if(T.dd){var g=f&&f.send_to||[],h=Array.isArray(g)?g:[g],i=["g-7p4tzfql4h","tagrocket","googleanalyticsfour"];if(c==T.h&&e&&T.aJ(i,e.toLowerCase())&&((f&&f.send_page_view===!1)!=!0)){T.de=!0}if(c==T.J){if(e==T.m){if(h.some(function(j){return T.aJ(i,j.toLowerCase())})){T.df=!0}}else if(!T.de&&(h.some(function(j){return T.aJ(i,j.toLowerCase())}))){T.aP(f,'v');T.gp.push(a);return}}try{if(TextEncoder){var s=new TextEncoder().encode(T.ch(k)).byteLength;if(s>16e3)T.a('GT5','Gtag Payload Too Large '+s,1,arguments)}}catch(l){}T.aP(f,'e');dataLayer.push(a);if(T.df){T.df=!1;T.de=!0;T.H()}}else{if(c=='consent')dataLayer.push(a);else{T.aP(f,'p');T.db.push(a)}}};w.gtag.tagrocket=!0;return!0}};T.G('Start');dataLayer.splice(0).forEach(function(a){gtag.apply(null,a)});T.o(T.n,function(a){var b=[];T.e(a.infos,function(c){b.push(T.q({id:T.u(c.product)}))});T.k(a.search?'view_search_results':'view_item_list',{items:b})},'GA4',1);T.o(T.n,function(a){var b=[],c=a.list,e=c.listName,f={items:b},g;T.p(f,'currency',T.j);T.e(a.infos,function(h){g=T.af(h.product,(h.e?'element':'stencil')+' '+h.trigger+' '+(h.product.searchprovider?h.product.searchprovider:''));if(g)b.push(g)});
194if(c.category&&c.type!=c.category)e=c.type+': '+c.category;T.Y('view_item_list',T.ag(f,e,c.id))},'GF3d',1);T.o(T.n,function(a){var b=[],c=a.list,e,f=c.type,g='ViewContent';if(c.category)f=c.category;T.e(a.infos,function(h){b.push(T.bd(h.product));});e={content_ids:b,content_type:'product',content_category:f,content_name:c.name};if(a.search){e.search_string=a.search;g='Search'}T.aX(g,e,g=='ViewCategory'?'trackCustom':'track')},'FA8a',1);T.o(T.ay,function(a){T.e(a.infos,function(b){T.az('view_promotion',b.promotion)})},'GF40',1);T.o(T.ae,function(a){var b=T.af(a.product),c={items:[b]};T.p(c,'currency',T.j);if(b)T.Y('select_item',T.ag(c,a.list.listName,a.list.id))},'GF3c',1);T.o(T.aA,function(a){T.az('select_promotion',a)},'GF41',1);T.o(T.dg,function(a){T.bu(a.elements)});T.ba='consent';T.dh='default';T.di='update';T.dj='denied';T.dk='granted';T.bb='ConsentChanged';T.dl='ConsentPreChanged';T.at={gtagConsentModeV2:'advanced',consentSource:'bc',bcEnabled:T.cI,enabled:T.cI};T.consent=T.at;T.gtmConsent=function(a,b){T.dm(b||'gtm',a)};T.t('SB7',function(){var a,b,c=function(a){var e=!0,f=!1,g=T.ck(a);T.dn=T.do=T.aZ=T.dp=T.dq=f;if(g&&g.allow){if(T.dr(g.allow,3))T.dn=e;if(T.dr(g.allow,2))T.do=e;if(T.dr(g.allow,4)){T.dp=e;T.dq=e;T.aZ=e}};T.at.analytics=T.dn;T.at.functional=T.do;T.at.targetingAdvertising=T.aZ;T.at.adUserData=T.dp;T.at.adPersonalization=T.dq;};a=T.au('bc_consent');c(a);T.bM('SB7b',1,function(){b=T.au('bc_consent');if(a!=b){a=b;c(b);T.f(T.dl,T.at);T.f(T.bb,T.at)}},500)},1);T.ds='ConsentEstablished';T.U(T.V,function(){T.at.established='bc';T.dd=!0;T.cY(T.ds,T.at)});T.I=function(a){if(T.dd)a(!0);else T.o(T.ds,a)};T.t('SB84',function(){T.dm=function(a,b){var c='[-] external Consent Mode '+a+" command detected while Tag Rocket is set to using the BC Banner. Possibly because BigCommerce's BODL GA4 solution is enabled.",e=T.D({o:b,c:T.at}),f=T.at.trLast;if(f&&!T.at.errorSent&&(f.ad_storage!=b.ad_storage||f.analytics_storage!=b.analytics_storage||f.functionality_storage!=b.functionality_storage)){T.at.errorSent=!0;if(T.bF('wsa-cme'))T.aV(c,e);else T.a('SB91',c,1,e);T.bG('wsa-cme','-')}}},1);T.dt=!0;T.du=function(){var a=w.google_tag_data,b=T.dh,c=a&&a.ics&&a.ics.entries,e={},f,g;if(c){for(f in c){g=c[f];if(T.Q(g.update)){e[f]=g.update?T.dk:T.dj;b=T.di}else if(T.Q(g.default))e[f]=g.default?T.dk:T.dj}if(!T.dv(e)){a=T.at.googleTagData;if(!a||T.ch(e)!=T.ch(a)||(b==T.di&&T.dt)){T.dt=!1;T.at.googleTagData=T.D(e);T.dm('google_tag_data_'+b,e)}}}};T.bM('SB81',0,T.du,500);T.I(function(){T.G('WhenConsentEstablished');T.H()});T.dw=0;T.t('SB15',function(){w.dataLayer=w.dataLayer||[];var a,b=w.dataLayer,c=b.push,e=function(f,g){if(f&&f.length>2&&f[0]==T.ba)T.dm('dl_'+f[1]+'_'+g,f[2])};for(a=0;a<b.length;a++){e(b[a],'before')};b.push=function(){var h=[].slice.call(arguments,0);T.G('dataLayer.push');c.apply(b,h);h.forEach(function(i){e(i,'push')});T.H()};},1);T.init=function(){T.cM('The Tag Rocket API needs to be enabled to use it. Global Tag Values->Settings.')};T.U(T.V,function(){if(T.i)T.e(T.i,function(){T.init()});});T.g=function(){T.G('GtagAdvertisingConsent2');gtag.apply(null,arguments);T.H()};T.k=function(a,b,c){if(!b.send_to)b.send_to="AW-11285666033";b['developer_id.dODEzZj']=true;T.I(function(){T.t('GA91',function(){var e=''+d.location;if(c)gtag('set','page_location',c);T.g(T.J,a,b);if(c)gtag('set','page_location',e)},1)})};T.W=function(a,b,c){var e=T.G('GtagAnalyticsConsent2');T.aP(c,e?'a':'t');T.aP(c,'g');gtag.apply(null,arguments);T.H()};T.aQ=0;T.aR=0;T.aH=Date.now();T.Y=function(f,c){try{if(f==T.aC){T.aR++;if(T.aR>15)return};var g=T.X({},T.L,c);T.aQ++;g['developer_id.dODEzZj']=true;if(!gtag)T.a('GF43',f+': No gtag',1,g);T.I(function(h){T.t('GF91',function(){g.send_to="G-7P4TZFQL4H";T.aP(g,h?'y':'n');T.W(T.J,f,g)},1)});}catch(i){T.a('GF42',f+': '+i,1,i);throw i}};T.aX=function(a,b,c,e){b=b||{};b.app='TagRocket';c=c||'track';if(b.value||b.value===0){b.currency=b.currency||T.j}if(e){fbq(c,a,b,{eventID:e})}else{fbq(c,a,b)}};gtag('set','developer_id.dODEzZj',true);T.o(T.dl,function(){T.at.trLast={ad_user_data:T.dp?T.dk:T.dj,ad_personalization:T.dq?T.dk:T.dj,analytics_storage:T.dn?T.dk:T.dj,functionality_storage:T.do?T.dk:T.dj,ad_storage:T.aZ?T.dk:T.dj};T.G('ConsentChanged1');gtag(T.ba,T.di,T.at.trLast);dataLayer.push({event:'bc_consent_update'});T.H()});if(T.cI){T.at.trLast={ad_user_data:T.dp?T.dk:T.dj,ad_personalization:T.dq?T.dk:T.dj,functionality_storage:T.do?T.dk:T.dj,ad_storage:T.aZ?T.dk:T.dj,analytics_storage:T.dn?T.dk:T.dj};gtag(T.ba,T.dh,T.at.trLast);};T.bJ('wsa-cm');T.dx=function(){var a={address:{}},b=a.address;T.p(a,'email',T.d.email);T.p(a,'phone_number',T.d.phone);T.p(b,'first_name',T.d.first_name);T.p(b,'last_name',T.d.last_name);T.p(b,'street',T.d.street);T.p(b,'city',T.d.city);T.p(b,'postal_code',T.d.postal_code);
194if(T.dv(b)){delete a.address}else{T.p(b,'region',T.d.region_code||T.d.state);T.p(b,'country',T.d.country_code);}if(!T.dv(a))gtag('set','user_data',a)};T.o(T.aY,function(){T.dx()});T.dx();gtag('js',new Date);T.t('FA1c',function(){T.aS=[];T.aT=[];T.aU=1;var a;if(w.fbq){T.aV('Meta pixel already existed. Probable implementation duplication');T.aW=1}else{a=w.fbq=function(){var b=arguments,c=String(b[0]).indexOf('track');if(T.aU){c?T.aT.push(b):T.aS.push(b)}else{a.callMethod?a.callMethod.apply(a,b):a.queue.push(b)}};if(!w._fbq)w._fbq=a;a.push=a;a.loaded=!0;a.version='2.0';a.queue=[];T.aX('PageView')}},1);T.bh='https://www.googletagmanager.com/gtag/js?id=G-7P4TZFQL4H';T.t('FA1a',function(){if(!T.aW)T.bc('https://connect.facebook.net/en_US/fbevents.js')},1);T.t('GT2b',function(){T.bc(T.bh);},1);T.I(function(){T.t('GA2',function(){var a={groups:["TagRocket","GoogleAds"]};a[T.b]=!0;T.p(a,'user_id',T.d.id);T.g(T.h,"AW-11285666033",a);},1);T.t('GF1',function(){var a={},b={},c={send_page_view:false,groups:['TagRocket','GoogleAnalyticsFour']};T.L=a;var e={};T.p(e,'customer_id',T.d.id);T.p(e,'customer_group_name',T.d.customer_group_name);T.p(e,'customer_group_id',T.d.customer_group_id);T.p(e,'user_currency_code',T.j);gtag('set','user_properties',e);var f='deliveryType',g='',h=T.M(),i=T.N("resource");b.meta_description=T.O(T.P());b.content_group=T.pageType;a.page_type=T.pageType;if(!w.arrowFunctions)g+='arrowFunctions ';if(!w.asyncFunctions)g+='asyncFunctions ';if(!w.fetch)g+='fetch ';if(!w.MutationObserver)g+='MutationObserver ';if(!w.addEventListener)g+='addEventListener ';b.missing_features=g.trim()||'(none)';if(i)a.early_hints=i.filter(function(j){return j.initiatorType=='early-hints'}).length;a.effective_connection_type=h&&h.effectiveType||'unknown';a.save_data=(h&&T.Q(h.saveData))?''+h.saveData:'unknown';a.prerendered=T.R;a.delivery_type=T.S;a.initially_hidden=T.T;var k=d.documentElement,l=d.body;a.width=w.innerWidth||(k&&k.clientWidth);a.height=w.innerHeight||(k&&k.clientHeight);a.pixel_ratio=w.devicePixelRatio;if(!a.width)T.U(T.V,function(){a.width=l&&l.clientWidth;a.height=l&&l.clientHeight});T.p(a,'active_currency_code',T.j);T.p(a,'user_id',T.d.id);c[T.b]=!0;T.W(T.h,"G-7P4TZFQL4H",T.X(c,a));b=T.X(b,a);T.Y(T.m,b)},1);T.t('FA1e',function(){var a={},b=function(){T.p(a,'em',T.d.email);T.p(a,'external_id',T.d.id);T.p(a,'ph',T.K(T.d.phone,/^\+/));T.p(a,'fn',T.ax(T.d.first_name));T.p(a,'ln',T.ax(T.d.last_name));T.p(a,'ct',T.ax(T.K(T.d.city,/\s+/g)));T.p(a,'st',T.ax(T.d.region_code||T.d.state));T.p(a,'zp',T.ax(T.K(T.d.postal_code,/\s+/g)));T.p(a,'country',T.ax(T.d.country_code));};b();T.o(T.aY,function(){b()});var c=function(){if(T.Q(T.aZ)){fbq(T.ba,T.aZ?'grant':'revoke')}};c();T.o(T.bb,c);fbq('init',"3992157370847956",a);T.aU=0;T.e(T.aT.concat(T.aS),function(e){w.fbq.apply(w.fbq,e)})},1);T.t('GA2b',function(){var a={page_type:T.pageType};T.p(a,'customer_group_name',T.d.customer_group_name);T.p(a,'customer_group_id',T.d.customer_group_id);T.p(a,'currency_code',T.j);T.k(T.m,a);},1);});}catch(e){T.teh=T.teh||[];T.teh.push(e);if(T.a)T.a('HEAD',''+e,1,e);else if(T.tah)T.tah('Head Script ISSUE');}T.ts=1}}(window,document) 195 196</script>
vendor: 2 bytes, line 196
196
197<script async src='//d20fsrcwjjr1h7.cloudfront.net/fac55a60.js'></script>
197<!-- Hotjar Tracking Code for Nextbase US -->
198<script data-bc-cookie-consent="3" type="text/plain">
vendor: 125 bytes, lines 198-201
198 199 (function(h,o,t,j,a,r){ 200 h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 201 h._hjSettings={hjid:
2013897503
vendor: 258 bytes, lines 201-206
201,hjsv:6}; 202 a=o.getElementsByTagName('head')[0]; 203 r=o.createElement('script');r.async=1; 204 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 205 a.appendChild(r); 206 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
207</script>
207<script type="text/javascript" src="https://cdn.weglot.com/weglot.min.js"></script>
vendor: 1 bytes, line 207
207
208<script> 209 Weglot.initialize({ 210 api_key: 'wg_c7cd4026e494223ae48da9731281513e3', 211 switchers: [ 212 { 213 // Move switcher somewhere in the page 214 location: { 215 target: window.innerWidth >= 800 ? ".cm-footer-country-selectors" : ".cm-footer-country-selectors", 216 sibling: null 217 } 218 } 219 ] 220 }); 221</script>
vendor: 1 bytes, line 221
221
222<script> 223// Create a style element 224var styleElement = document.createElement('style'); 225 226// Define the CSS rule 227var cssRule = '.weglot-container { display: none !important; }'; 228 229// Add the CSS rule to the style element 230//styleElement.appendChild(document.createTextNode(cssRule)); 231 232// Append the style element to the head of the document 233//document.head.appendChild(styleElement); 234</script>
234<!-- begin Convert Experiences code-->
234<script type="text/javascript" src="//cdn-4.convertexperiments.com/v1/js/100413241-100414554.js?environment=production"></script>
234<!-- end Convert Experiences code --> 235 236
237<script> 238 239 240 241 242 243 244 245 246 247 </script>
247 248
248<script type=text/javascript> 249 /* >> TriplePixel :: start*/ 250 window.TriplePixelData={TripleName:"store-jpkc0tnv4j.mybigcommerce.com",ver:"2.17",plat:"bigcommerce",isHeadless:false,product:{id:"",name:"",price:""},checkout:{id:"",ship_email:""},user:{em:""}},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,a){return void 0===a&&(a=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(a)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href,ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=store-jpkc0tnv4j.mybigcommerce.com&plat=bigcommerce",5)))}}("","TriplePixel",localStorage); 251 /* << TriplePixel :: end*/ 252 </script>
252<script id="wsa-rich-snippets-2-intro" nonce=""> 253/* 254 Web Site Advantage: SEO Rich Snippets App 2 [2.58.64066] 255 https://bigcommerce.websiteadvantage.com.au/rich-snippets/ 256 Copyright (C) 2019 - 2025 Web Site Advantage 257*/ 258</script>
vendor: 2 bytes, line 258
258
259<script type="application/ld+json" id="wsa-rich-snippets-jsonld-product" nonce=""></script>
259 260 261<!-- TikTok Pixel Code Start: Initialization Script & Page Event -->
262<script> 263!function (w, d, t) { 264 w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{},ttq._partner=ttq._partner||"BigCommerce";var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)}; 265 266 ttq.load('D1ENV1BC77U87UH7DNK0'); 267 ttq.page(); 268}(window, document, 'ttq'); 269 270if (typeof BODL === 'undefined') { 271 // https://developer.bigcommerce.com/theme-objects/breadcrumbs 272 273 // https://developer.bigcommerce.com/theme-objects/brand 274 275 // https://developer.bigcommerce.com/theme-objects/category 276 277 278 // https://developer.bigcommerce.com/theme-objects/product 279 280 281 282 283 284 285 286 // https://developer.bigcommerce.com/theme-objects/products 287 288 // https://developer.bigcommerce.com/theme-objects/product_results 289 290 // https://developer.bigcommerce.com/theme-objects/order 291 292 // https://developer.bigcommerce.com/theme-objects/wishlist 293 294 // https://developer.bigcommerce.com/theme-objects/wishlist 295 296 // https://developer.bigcommerce.com/theme-objects/cart 297 // (Fetching selective cart data to prevent additional payment button object html from causing JS parse error) 298 299 300 301 // https://developer.bigcommerce.com/theme-objects/customer 302 var BODL = JSON.parse("{\"breadcrumbs\":[{\"url\":\"https://nextbase.com/\",\"name\":\"Home\"},{\"url\":\"https://nextbase.com/exclusive-offers/\",\"name\":\"Exclusive Offers\"}],\"products\":[],\"phone\":null,\"email\":null,\"address\":null}"); 303 304 const countryCodes = new Map([['Australia', 'au'],['New Zealand', 'nz'],['Russia', 'ru'],['Poland', 'pl'],['Czech Republic', 'cz'],['Israel', 'il'],['Romania', 'ro'],['Ukraine', 'ua'],['Japan', 'jp'],['Taiwan', 'tw'],['Ireland', 'ie'],['Austria', 'at'],['Sweden', 'se'],['Netherlands', 'nl'],['Norway', 'no'],['Finland', 'fi'],['Denmark', 'dk'],['Switzerland', 'ch'],['Belgium', 'be'],['Portugal', 'pt'],['Greece', 'gr'],['Germany', 'de'],['United Kingdom', 'gb'],['France', 'fr'],['Spain', 'es'],['Italy', 'it'],['India', 'in'],['South Korea', 'kr'],['Brazil', 'br'],['Mexico', 'mx'],['Argentina', 'ar'],['Chile', 'cl'],['Colombia', 'co'],['Peru', 'pe'],['Saudi Arabia', 'sa'],['Egypt', 'eg'],['United Arab Emirates', 'ae'],['Turkey', 'tr'],['Pakistan', 'pk'],['Morocco', 'ma'],['Iraq', 'iq'],['South Africa', 'za'],['Kuwait', 'kw'],['Oman', 'om'],['Qatar', 'qa'],['Bahrain', 'bh'],['Jordan', 'jo'],['Lebanon', 'lb'],['United States', 'us'],['Canada', 'ca'],['Singapore', 'sg'],['Thailand', 'th'],['Malaysia', 'my'],['Vietnam', 'vn'],['Philippines', 'ph'],['Indonesia', 'id'],['Cambodia', 'kh'],['Belarus', 'by'],['Venezuela', 've']]); 305 const stateList = new Map([['Arizona', 'az'],['Alabama', 'al'],['Alaska', 'ak'],['Arkansas', 'ar'],['California', 'ca'],['Colorado', 'co'],['Connecticut', 'ct'],['Delaware', 'de'],['Florida', 'fl'],['Georgia', 'ga'],['Hawaii', 'hi'],['Idaho', 'id'],['Illinois', 'il'],['Indiana', 'in'],['Iowa', 'ia'],['Kansas', 'ks'],['Kentucky', 'ky'],['Louisiana', 'la'],['Maine', 'me'],['Maryland', 'md'],['Massachusetts', 'ma'],['Michigan', 'mi'],['Minnesota', 'mn'],['Mississippi', 'ms'],['Missouri', 'mo'],['Montana', 'mt'],['Nebraska', 'ne'],['Nevada', 'nv'],['New Hampshire', 'nh'],['New Jersey', 'nj'],['New Mexico', 'nm'],['New York', 'ny'],['North Carolina', 'nc'],['North Dakota', 'nd'],['Ohio', 'oh'],['Oklahoma', 'ok'],['Oregon', 'or'],['Pennsylvania', 'pa'],['Rhode Island', 'ri'],['South Carolina', 'sc'],['South Dakota', 'sd'],['Tennessee', 'tn'],['Texas', 'tx'],['Utah', 'ut'],['Vermont', 'vt'],['Virginia', 'va'],['Washington', 'wa'],['West Virginia', 'wv'],['Wisconsin', 'wi'],['Wyoming', 'wy']]); 306 307 if (BODL.categoryName) { 308 BODL.category = { 309 name: BODL.categoryName, 310 products: BODL.categoryProducts, 311 } 312 } 313 314 if (BODL.productTitle) { 315 BODL.product = { 316 id: BODL.productId, 317 title: BODL.productTitle, 318 price: { 319 without_tax: { 320 currency: BODL.productCurrency, 321 value: BODL.productPrice, 322 }, 323 }, 324 } 325 } 326} 327 328BODL.getCartItemContentId = (item) => { 329 switch(item.type) { 330 case 'GiftCertificate': 331 return item.type; 332 break; 333 default: 334 return item.product_id; 335 } 336} 337 338BODL.getQueryParamValue = function (name) { 339 var cleanName = name.replace(/[\[]/, '\[').replace(/[\]]/, '\]'); 340 var regex = new RegExp('[\?&]' + cleanName + '=([^&#]*)'); 341 var results = regex.exec(window.location.search); 342 return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); 343} 344 345// Advanced Matching 346 var phoneNumber = '' 347 var email = '' 348 var firstName = '' 349 var lastName = '' 350 var city = '' 351 var state = '' 352 var country = '' 353 var zip = '' 354 if (BODL.phone) { 355 var phoneNumber = BODL.phone; 356 if (BODL.phone.indexOf('+') === -1) { 357 // No country code, so default to US code 358 phoneNumber = `+1${phoneNumber}`; 359 } 360 } 361 362 if (BODL.email) { 363 var email = BODL.email 364 } 365 366 if (BODL.address) { 367 if (BODL.address.first_name) { 368 firstName = (BODL.address.first_name).toLowerCase() 369 } 370 371 if (BODL.address.last_name) { 372 lastName = (BODL.address.last_name).toLowerCase() 373 } 374 375 if (BODL.address.city) { 376 city = BODL.address.city.replace(/\s+/g, '').toLowerCase(); 377 } 378 379 rg = BODL.address.state; 380 if (typeof rg !== 'undefined' && stateList.has(rg)) { 381 state = stateList.get(rg); 382 } 383 384 cn = BODL.address.country 385 if (typeof cn !== 'undefined' && countryCodes.has(cn)) { 386 country = countryCodes.get(cn) 387 } 388 389 if (BODL.address.zip) { 390 zip = BODL.address.zip 391 } 392 } 393 394 ttq.instance('D1ENV1BC77U87UH7DNK0').identify({ 395 email: email, 396 phone_number: phoneNumber, 397 first_name: firstName, 398 last_name: lastName, 399 city: city, 400 state: state, 401 country: country, 402 zip_code: zip}) 403</script>
403 404<!-- TikTok Pixel Code End: Initialization Script & Page Event --> 405 406<!-- TikTok Pixel Code Start: View Product Content -->
407<script> 408if (BODL.product) { 409 const countryCodes = new Map([['Australia', 'au'],['New Zealand', 'nz'],['Russia', 'ru'],['Poland', 'pl'],['Czech Republic', 'cz'],['Israel', 'il'],['Romania', 'ro'],['Ukraine', 'ua'],['Japan', 'jp'],['Taiwan', 'tw'],['Ireland', 'ie'],['Austria', 'at'],['Sweden', 'se'],['Netherlands', 'nl'],['Norway', 'no'],['Finland', 'fi'],['Denmark', 'dk'],['Switzerland', 'ch'],['Belgium', 'be'],['Portugal', 'pt'],['Greece', 'gr'],['Germany', 'de'],['United Kingdom', 'gb'],['France', 'fr'],['Spain', 'es'],['Italy', 'it'],['India', 'in'],['South Korea', 'kr'],['Brazil', 'br'],['Mexico', 'mx'],['Argentina', 'ar'],['Chile', 'cl'],['Colombia', 'co'],['Peru', 'pe'],['Saudi Arabia', 'sa'],['Egypt', 'eg'],['United Arab Emirates', 'ae'],['Turkey', 'tr'],['Pakistan', 'pk'],['Morocco', 'ma'],['Iraq', 'iq'],['South Africa', 'za'],['Kuwait', 'kw'],['Oman', 'om'],['Qatar', 'qa'],['Bahrain', 'bh'],['Jordan', 'jo'],['Lebanon', 'lb'],['United States', 'us'],['Canada', 'ca'],['Singapore', 'sg'],['Thailand', 'th'],['Malaysia', 'my'],['Vietnam', 'vn'],['Philippines', 'ph'],['Indonesia', 'id'],['Cambodia', 'kh'],['Belarus', 'by'],['Venezuela', 've']]); 410 const stateList = new Map([['Arizona', 'az'],['Alabama', 'al'],['Alaska', 'ak'],['Arkansas', 'ar'],['California', 'ca'],['Colorado', 'co'],['Connecticut', 'ct'],['Delaware', 'de'],['Florida', 'fl'],['Georgia', 'ga'],['Hawaii', 'hi'],['Idaho', 'id'],['Illinois', 'il'],['Indiana', 'in'],['Iowa', 'ia'],['Kansas', 'ks'],['Kentucky', 'ky'],['Louisiana', 'la'],['Maine', 'me'],['Maryland', 'md'],['Massachusetts', 'ma'],['Michigan', 'mi'],['Minnesota', 'mn'],['Mississippi', 'ms'],['Missouri', 'mo'],['Montana', 'mt'],['Nebraska', 'ne'],['Nevada', 'nv'],['New Hampshire', 'nh'],['New Jersey', 'nj'],['New Mexico', 'nm'],['New York', 'ny'],['North Carolina', 'nc'],['North Dakota', 'nd'],['Ohio', 'oh'],['Oklahoma', 'ok'],['Oregon', 'or'],['Pennsylvania', 'pa'],['Rhode Island', 'ri'],['South Carolina', 'sc'],['South Dakota', 'sd'],['Tennessee', 'tn'],['Texas', 'tx'],['Utah', 'ut'],['Vermont', 'vt'],['Virginia', 'va'],['Washington', 'wa'],['West Virginia', 'wv'],['Wisconsin', 'wi'],['Wyoming', 'wy']]); 411 412 // Advanced Matching 413 var phoneNumber = '' 414 var email = '' 415 var firstName = '' 416 var lastName = '' 417 var city = '' 418 var state = '' 419 var country = '' 420 var zip = '' 421 if (BODL.phone) { 422 var phoneNumber = BODL.phone; 423 if (BODL.phone.indexOf('+') === -1) { 424 // No country code, so default to US code 425 phoneNumber = `+1${phoneNumber}`; 426 } 427 } 428 429 if (BODL.email) { 430 var email = BODL.email 431 } 432 433 if (BODL.address) { 434 if (BODL.address.first_name) { 435 firstName = (BODL.address.first_name).toLowerCase() 436 } 437 438 if (BODL.address.last_name) { 439 lastName = (BODL.address.last_name).toLowerCase() 440 } 441 442 if (BODL.address.city) { 443 city = BODL.address.city.replace(/\s+/g, '').toLowerCase(); 444 } 445 446 rg = BODL.address.state; 447 if (typeof rg !== 'undefined' && stateList.has(rg)) { 448 state = stateList.get(rg); 449 } 450 451 cn = BODL.address.country 452 if (typeof cn !== 'undefined' && countryCodes.has(cn)) { 453 country = countryCodes.get(cn) 454 } 455 456 if (BODL.address.zip) { 457 zip = BODL.address.zip 458 } 459 } 460 461 ttq.instance('D1ENV1BC77U87UH7DNK0').identify({ 462 email: email, 463 phone_number: phoneNumber, 464 first_name: firstName, 465 last_name: lastName, 466 city: city, 467 state: state, 468 country: country, 469 zip_code: zip}) 470 471 var productPrice = 0 472 var productCurrency = "" 473 if (BODL.productCurrencyWithoutTax && BODL.productCurrencyWithoutTax !== "") { 474 productPrice = BODL.productPriceWithoutTax 475 productCurrency = BODL.productCurrencyWithoutTax 476 } 477 if (BODL.productCurrencyWithTax && BODL.productCurrencyWithTax !== "") { 478 productPrice = BODL.productPriceWithTax 479 productCurrency = BODL.productCurrencyWithTax 480 } 481 //default contentId to productId if sku_id is not found on product 482 var contentID = BODL.productId 483 if (BODL.skuId && BODL.skuId !== "") { 484 contentID = BODL.skuId 485 } 486 ttq.instance('D1ENV1BC77U87UH7DNK0').track('ViewContent', { 487 content_id: contentID, 488 content_category: BODL.breadcrumbs[1] ? BODL.breadcrumbs[1].name : '', 489 content_name: BODL.product.title, 490 content_type: "product_group", 491 currency: productCurrency, 492 price: productPrice, 493 value: productPrice, 494 }); 495} 496</script>
496 497<!-- TikTok Pixel Code End: View Product Content --> 498 499<!-- TikTok Pixel Code Start: View Category Content -->
500<script> 501if (BODL.category) { 502 const countryCodes = new Map([['Australia', 'au'],['New Zealand', 'nz'],['Russia', 'ru'],['Poland', 'pl'],['Czech Republic', 'cz'],['Israel', 'il'],['Romania', 'ro'],['Ukraine', 'ua'],['Japan', 'jp'],['Taiwan', 'tw'],['Ireland', 'ie'],['Austria', 'at'],['Sweden', 'se'],['Netherlands', 'nl'],['Norway', 'no'],['Finland', 'fi'],['Denmark', 'dk'],['Switzerland', 'ch'],['Belgium', 'be'],['Portugal', 'pt'],['Greece', 'gr'],['Germany', 'de'],['United Kingdom', 'gb'],['France', 'fr'],['Spain', 'es'],['Italy', 'it'],['India', 'in'],['South Korea', 'kr'],['Brazil', 'br'],['Mexico', 'mx'],['Argentina', 'ar'],['Chile', 'cl'],['Colombia', 'co'],['Peru', 'pe'],['Saudi Arabia', 'sa'],['Egypt', 'eg'],['United Arab Emirates', 'ae'],['Turkey', 'tr'],['Pakistan', 'pk'],['Morocco', 'ma'],['Iraq', 'iq'],['South Africa', 'za'],['Kuwait', 'kw'],['Oman', 'om'],['Qatar', 'qa'],['Bahrain', 'bh'],['Jordan', 'jo'],['Lebanon', 'lb'],['United States', 'us'],['Canada', 'ca'],['Singapore', 'sg'],['Thailand', 'th'],['Malaysia', 'my'],['Vietnam', 'vn'],['Philippines', 'ph'],['Indonesia', 'id'],['Cambodia', 'kh'],['Belarus', 'by'],['Venezuela', 've']]); 503 const stateList = new Map([['Arizona', 'az'],['Alabama', 'al'],['Alaska', 'ak'],['Arkansas', 'ar'],['California', 'ca'],['Colorado', 'co'],['Connecticut', 'ct'],['Delaware', 'de'],['Florida', 'fl'],['Georgia', 'ga'],['Hawaii', 'hi'],['Idaho', 'id'],['Illinois', 'il'],['Indiana', 'in'],['Iowa', 'ia'],['Kansas', 'ks'],['Kentucky', 'ky'],['Louisiana', 'la'],['Maine', 'me'],['Maryland', 'md'],['Massachusetts', 'ma'],['Michigan', 'mi'],['Minnesota', 'mn'],['Mississippi', 'ms'],['Missouri', 'mo'],['Montana', 'mt'],['Nebraska', 'ne'],['Nevada', 'nv'],['New Hampshire', 'nh'],['New Jersey', 'nj'],['New Mexico', 'nm'],['New York', 'ny'],['North Carolina', 'nc'],['North Dakota', 'nd'],['Ohio', 'oh'],['Oklahoma', 'ok'],['Oregon', 'or'],['Pennsylvania', 'pa'],['Rhode Island', 'ri'],['South Carolina', 'sc'],['South Dakota', 'sd'],['Tennessee', 'tn'],['Texas', 'tx'],['Utah', 'ut'],['Vermont', 'vt'],['Virginia', 'va'],['Washington', 'wa'],['West Virginia', 'wv'],['Wisconsin', 'wi'],['Wyoming', 'wy']]); 504 505 // Advanced Matching 506 var phoneNumber = '' 507 var email = '' 508 var firstName = '' 509 var lastName = '' 510 var city = '' 511 var state = '' 512 var country = '' 513 var zip = '' 514 if (BODL.phone) { 515 var phoneNumber = BODL.phone; 516 if (BODL.phone.indexOf('+') === -1) { 517 // No country code, so default to US code 518 phoneNumber = `+1${phoneNumber}`; 519 } 520 } 521 522 if (BODL.email) { 523 var email = BODL.email 524 } 525 526 if (BODL.address) { 527 if (BODL.address.first_name) { 528 firstName = (BODL.address.first_name).toLowerCase() 529 } 530 531 if (BODL.address.last_name) { 532 lastName = (BODL.address.last_name).toLowerCase() 533 } 534 535 if (BODL.address.city) { 536 city = BODL.address.city.replace(/\s+/g, '').toLowerCase(); 537 } 538 539 rg = BODL.address.state; 540 if (typeof rg !== 'undefined' && stateList.has(rg)) { 541 state = stateList.get(rg); 542 } 543 544 cn = BODL.address.country 545 if (typeof cn !== 'undefined' && countryCodes.has(cn)) { 546 country = countryCodes.get(cn) 547 } 548 549 if (BODL.address.zip) { 550 zip = BODL.address.zip 551 } 552 } 553 554 ttq.instance('D1ENV1BC77U87UH7DNK0').identify({ 555 email: email, 556 phone_number: phoneNumber, 557 first_name: firstName, 558 last_name: lastName, 559 city: city, 560 state: state, 561 country: country, 562 zip_code: zip}) 563 564 ttq.instance('D1ENV1BC77U87UH7DNK0').track('ViewContent', { 565 contents: BODL.category.products.map((p) => ({ 566 content_id: p.id, 567 content_category: BODL.category.name, 568 content_name: p.name, 569 content_type: "product_group" 570 })) 571 }); 572} 573</script>
573 574<!-- TikTok Pixel Code End: View Category Content --> 575 576<!-- TikTok Pixel Code Start: Add to Wishlist -->
577<script> 578// This only sends one wishlist product: the one that was just added based on the 'added_product_id' param in the url 579if (BODL.wishlist) { 580 var productPrice = 0 581 var productCurrency = "" 582 if (BODL.productCurrencyWithoutTax && BODL.productCurrencyWithoutTax !== "") { 583 productPrice = BODL.productPriceWithoutTax 584 productCurrency = BODL.productCurrencyWithoutTax 585 } 586 if (BODL.productCurrencyWithTax && BODL.productCurrencyWithTax !== "") { 587 productPrice = BODL.productPriceWithTax 588 productCurrency = BODL.productCurrencyWithTax 589 } 590 591 var addedWishlistItem = BODL.wishlist.items.filter((i) => i.product_id === parseInt(BODL.getQueryParamValue('added_product_id'))).map((p) => ({ 592 var contentId = p.product_id 593 if (p.sku && p.sku !== "") { 594 contentId = p.sku 595 } 596 content_id: contentId, 597 // Commenting out as category data doesn't exist on wishlist items 598 // content_category: p.does_not_exist, 599 content_name: p.name, 600 content_type: "product_group", 601 currency: productCurrency, 602 price: productPrice, 603 value: productPrice, 604 })); 605 606 const countryCodes = new Map([['Australia', 'au'],['New Zealand', 'nz'],['Russia', 'ru'],['Poland', 'pl'],['Czech Republic', 'cz'],['Israel', 'il'],['Romania', 'ro'],['Ukraine', 'ua'],['Japan', 'jp'],['Taiwan', 'tw'],['Ireland', 'ie'],['Austria', 'at'],['Sweden', 'se'],['Netherlands', 'nl'],['Norway', 'no'],['Finland', 'fi'],['Denmark', 'dk'],['Switzerland', 'ch'],['Belgium', 'be'],['Portugal', 'pt'],['Greece', 'gr'],['Germany', 'de'],['United Kingdom', 'gb'],['France', 'fr'],['Spain', 'es'],['Italy', 'it'],['India', 'in'],['South Korea', 'kr'],['Brazil', 'br'],['Mexico', 'mx'],['Argentina', 'ar'],['Chile', 'cl'],['Colombia', 'co'],['Peru', 'pe'],['Saudi Arabia', 'sa'],['Egypt', 'eg'],['United Arab Emirates', 'ae'],['Turkey', 'tr'],['Pakistan', 'pk'],['Morocco', 'ma'],['Iraq', 'iq'],['South Africa', 'za'],['Kuwait', 'kw'],['Oman', 'om'],['Qatar', 'qa'],['Bahrain', 'bh'],['Jordan', 'jo'],['Lebanon', 'lb'],['United States', 'us'],['Canada', 'ca'],['Singapore', 'sg'],['Thailand', 'th'],['Malaysia', 'my'],['Vietnam', 'vn'],['Philippines', 'ph'],['Indonesia', 'id'],['Cambodia', 'kh'],['Belarus', 'by'],['Venezuela', 've']]); 607 const stateList = new Map([['Arizona', 'az'],['Alabama', 'al'],['Alaska', 'ak'],['Arkansas', 'ar'],['California', 'ca'],['Colorado', 'co'],['Connecticut', 'ct'],['Delaware', 'de'],['Florida', 'fl'],['Georgia', 'ga'],['Hawaii', 'hi'],['Idaho', 'id'],['Illinois', 'il'],['Indiana', 'in'],['Iowa', 'ia'],['Kansas', 'ks'],['Kentucky', 'ky'],['Louisiana', 'la'],['Maine', 'me'],['Maryland', 'md'],['Massachusetts', 'ma'],['Michigan', 'mi'],['Minnesota', 'mn'],['Mississippi', 'ms'],['Missouri', 'mo'],['Montana', 'mt'],['Nebraska', 'ne'],['Nevada', 'nv'],['New Hampshire', 'nh'],['New Jersey', 'nj'],['New Mexico', 'nm'],['New York', 'ny'],['North Carolina', 'nc'],['North Dakota', 'nd'],['Ohio', 'oh'],['Oklahoma', 'ok'],['Oregon', 'or'],['Pennsylvania', 'pa'],['Rhode Island', 'ri'],['South Carolina', 'sc'],['South Dakota', 'sd'],['Tennessee', 'tn'],['Texas', 'tx'],['Utah', 'ut'],['Vermont', 'vt'],['Virginia', 'va'],['Washington', 'wa'],['West Virginia', 'wv'],['Wisconsin', 'wi'],['Wyoming', 'wy']]); 608 609 // Advanced Matching 610 var phoneNumber = '' 611 var email = '' 612 var firstName = '' 613 var lastName = '' 614 var city = '' 615 var state = '' 616 var country = '' 617 var zip = '' 618 if (BODL.phone) { 619 var phoneNumber = BODL.phone; 620 if (BODL.phone.indexOf('+') === -1) { 621 // No country code, so default to US code 622 phoneNumber = `+1${phoneNumber}`; 623 } 624 } 625 626 if (BODL.email) { 627 var email = BODL.email 628 } 629 630 if (BODL.address) { 631 if (BODL.address.first_name) { 632 firstName = (BODL.address.first_name).toLowerCase() 633 } 634 635 if (BODL.address.last_name) { 636 lastName = (BODL.address.last_name).toLowerCase() 637 } 638 639 if (BODL.address.city) { 640 city = BODL.address.city.replace(/\s+/g, '').toLowerCase(); 641 } 642 643 rg = BODL.address.state; 644 if (typeof rg !== 'undefined' && stateList.has(rg)) { 645 state = stateList.get(rg); 646 } 647 648 cn = BODL.address.country 649 if (typeof cn !== 'undefined' && countryCodes.has(cn)) { 650 country = countryCodes.get(cn) 651 } 652 653 if (BODL.address.zip) { 654 zip = BODL.address.zip 655 } 656 } 657 658 ttq.instance('D1ENV1BC77U87UH7DNK0').identify({ 659 email: email, 660 phone_number: phoneNumber, 661 first_name: firstName, 662 last_name: lastName, 663 city: city, 664 state: state, 665 country: country, 666 zip_code: zip}) 667 668 ttq.instance('D1ENV1BC77U87UH7DNK0').track('AddToWishlist', addedWishlistItem[0]); 669} 670</script>
670 671<!-- TikTok Pixel Code End: Add to Wishlist --> 672 673<!-- TikTok Pixel Code Start: Subscribe to Newsletter -->
674<script> 675if (window.location.pathname.indexOf('/subscribe.php') === 0 && BODL.getQueryParamValue('result') === 'success') { 676 const countryCodes = new Map([['Australia', 'au'],['New Zealand', 'nz'],['Russia', 'ru'],['Poland', 'pl'],['Czech Republic', 'cz'],['Israel', 'il'],['Romania', 'ro'],['Ukraine', 'ua'],['Japan', 'jp'],['Taiwan', 'tw'],['Ireland', 'ie'],['Austria', 'at'],['Sweden', 'se'],['Netherlands', 'nl'],['Norway', 'no'],['Finland', 'fi'],['Denmark', 'dk'],['Switzerland', 'ch'],['Belgium', 'be'],['Portugal', 'pt'],['Greece', 'gr'],['Germany', 'de'],['United Kingdom', 'gb'],['France', 'fr'],['Spain', 'es'],['Italy', 'it'],['India', 'in'],['South Korea', 'kr'],['Brazil', 'br'],['Mexico', 'mx'],['Argentina', 'ar'],['Chile', 'cl'],['Colombia', 'co'],['Peru', 'pe'],['Saudi Arabia', 'sa'],['Egypt', 'eg'],['United Arab Emirates', 'ae'],['Turkey', 'tr'],['Pakistan', 'pk'],['Morocco', 'ma'],['Iraq', 'iq'],['South Africa', 'za'],['Kuwait', 'kw'],['Oman', 'om'],['Qatar', 'qa'],['Bahrain', 'bh'],['Jordan', 'jo'],['Lebanon', 'lb'],['United States', 'us'],['Canada', 'ca'],['Singapore', 'sg'],['Thailand', 'th'],['Malaysia', 'my'],['Vietnam', 'vn'],['Philippines', 'ph'],['Indonesia', 'id'],['Cambodia', 'kh'],['Belarus', 'by'],['Venezuela', 've']]); 677 const stateList = new Map([['Arizona', 'az'],['Alabama', 'al'],['Alaska', 'ak'],['Arkansas', 'ar'],['California', 'ca'],['Colorado', 'co'],['Connecticut', 'ct'],['Delaware', 'de'],['Florida', 'fl'],['Georgia', 'ga'],['Hawaii', 'hi'],['Idaho', 'id'],['Illinois', 'il'],['Indiana', 'in'],['Iowa', 'ia'],['Kansas', 'ks'],['Kentucky', 'ky'],['Louisiana', 'la'],['Maine', 'me'],['Maryland', 'md'],['Massachusetts', 'ma'],['Michigan', 'mi'],['Minnesota', 'mn'],['Mississippi', 'ms'],['Missouri', 'mo'],['Montana', 'mt'],['Nebraska', 'ne'],['Nevada', 'nv'],['New Hampshire', 'nh'],['New Jersey', 'nj'],['New Mexico', 'nm'],['New York', 'ny'],['North Carolina', 'nc'],['North Dakota', 'nd'],['Ohio', 'oh'],['Oklahoma', 'ok'],['Oregon', 'or'],['Pennsylvania', 'pa'],['Rhode Island', 'ri'],['South Carolina', 'sc'],['South Dakota', 'sd'],['Tennessee', 'tn'],['Texas', 'tx'],['Utah', 'ut'],['Vermont', 'vt'],['Virginia', 'va'],['Washington', 'wa'],['West Virginia', 'wv'],['Wisconsin', 'wi'],['Wyoming', 'wy']]); 678 679 // Advanced Matching 680 var phoneNumber = '' 681 var email = '' 682 var firstName = '' 683 var lastName = '' 684 var city = '' 685 var state = '' 686 var country = '' 687 var zip = '' 688 if (BODL.phone) { 689 var phoneNumber = BODL.phone; 690 if (BODL.phone.indexOf('+') === -1) { 691 // No country code, so default to US code 692 phoneNumber = `+1${phoneNumber}`; 693 } 694 } 695 696 if (BODL.email) { 697 var email = BODL.email 698 } 699 700 if (BODL.address) { 701 if (BODL.address.first_name) { 702 firstName = (BODL.address.first_name).toLowerCase() 703 } 704 705 if (BODL.address.last_name) { 706 lastName = (BODL.address.last_name).toLowerCase() 707 } 708 709 if (BODL.address.city) { 710 city = BODL.address.city.replace(/\s+/g, '').toLowerCase(); 711 } 712 713 rg = BODL.address.state; 714 if (typeof rg !== 'undefined' && stateList.has(rg)) { 715 state = stateList.get(rg); 716 } 717 718 cn = BODL.address.country 719 if (typeof cn !== 'undefined' && countryCodes.has(cn)) { 720 country = countryCodes.get(cn) 721 } 722 723 if (BODL.address.zip) { 724 zip = BODL.address.zip 725 } 726 } 727 728 ttq.instance('D1ENV1BC77U87UH7DNK0').identify({ 729 email: email, 730 phone_number: phoneNumber, 731 first_name: firstName, 732 last_name: lastName, 733 city: city, 734 state: state, 735 country: country, 736 zip_code: zip}) 737 738 ttq.instance('D1ENV1BC77U87UH7DNK0').track('Subscribe'); 739} 740</script>
740 741<!-- TikTok Pixel Code End: Subscribe to Newsletter --> 742 743<!-- TikTok Pixel Code Start: Search -->
744<script> 745if (BODL.search) { 746 const countryCodes = new Map([['Australia', 'au'],['New Zealand', 'nz'],['Russia', 'ru'],['Poland', 'pl'],['Czech Republic', 'cz'],['Israel', 'il'],['Romania', 'ro'],['Ukraine', 'ua'],['Japan', 'jp'],['Taiwan', 'tw'],['Ireland', 'ie'],['Austria', 'at'],['Sweden', 'se'],['Netherlands', 'nl'],['Norway', 'no'],['Finland', 'fi'],['Denmark', 'dk'],['Switzerland', 'ch'],['Belgium', 'be'],['Portugal', 'pt'],['Greece', 'gr'],['Germany', 'de'],['United Kingdom', 'gb'],['France', 'fr'],['Spain', 'es'],['Italy', 'it'],['India', 'in'],['South Korea', 'kr'],['Brazil', 'br'],['Mexico', 'mx'],['Argentina', 'ar'],['Chile', 'cl'],['Colombia', 'co'],['Peru', 'pe'],['Saudi Arabia', 'sa'],['Egypt', 'eg'],['United Arab Emirates', 'ae'],['Turkey', 'tr'],['Pakistan', 'pk'],['Morocco', 'ma'],['Iraq', 'iq'],['South Africa', 'za'],['Kuwait', 'kw'],['Oman', 'om'],['Qatar', 'qa'],['Bahrain', 'bh'],['Jordan', 'jo'],['Lebanon', 'lb'],['United States', 'us'],['Canada', 'ca'],['Singapore', 'sg'],['Thailand', 'th'],['Malaysia', 'my'],['Vietnam', 'vn'],['Philippines', 'ph'],['Indonesia', 'id'],['Cambodia', 'kh'],['Belarus', 'by'],['Venezuela', 've']]); 747 const stateList = new Map([['Arizona', 'az'],['Alabama', 'al'],['Alaska', 'ak'],['Arkansas', 'ar'],['California', 'ca'],['Colorado', 'co'],['Connecticut', 'ct'],['Delaware', 'de'],['Florida', 'fl'],['Georgia', 'ga'],['Hawaii', 'hi'],['Idaho', 'id'],['Illinois', 'il'],['Indiana', 'in'],['Iowa', 'ia'],['Kansas', 'ks'],['Kentucky', 'ky'],['Louisiana', 'la'],['Maine', 'me'],['Maryland', 'md'],['Massachusetts', 'ma'],['Michigan', 'mi'],['Minnesota', 'mn'],['Mississippi', 'ms'],['Missouri', 'mo'],['Montana', 'mt'],['Nebraska', 'ne'],['Nevada', 'nv'],['New Hampshire', 'nh'],['New Jersey', 'nj'],['New Mexico', 'nm'],['New York', 'ny'],['North Carolina', 'nc'],['North Dakota', 'nd'],['Ohio', 'oh'],['Oklahoma', 'ok'],['Oregon', 'or'],['Pennsylvania', 'pa'],['Rhode Island', 'ri'],['South Carolina', 'sc'],['South Dakota', 'sd'],['Tennessee', 'tn'],['Texas', 'tx'],['Utah', 'ut'],['Vermont', 'vt'],['Virginia', 'va'],['Washington', 'wa'],['West Virginia', 'wv'],['Wisconsin', 'wi'],['Wyoming', 'wy']]); 748 749 // Advanced Matching 750 var phoneNumber = '' 751 var email = '' 752 var firstName = '' 753 var lastName = '' 754 var city = '' 755 var state = '' 756 var country = '' 757 var zip = '' 758 if (BODL.phone) { 759 var phoneNumber = BODL.phone; 760 if (BODL.phone.indexOf('+') === -1) { 761 // No country code, so default to US code 762 phoneNumber = `+1${phoneNumber}`; 763 } 764 } 765 766 if (BODL.email) { 767 var email = BODL.email 768 } 769 770 if (BODL.address) { 771 if (BODL.address.first_name) { 772 firstName = (BODL.address.first_name).toLowerCase() 773 } 774 775 if (BODL.address.last_name) { 776 lastName = (BODL.address.last_name).toLowerCase() 777 } 778 779 if (BODL.address.city) { 780 city = BODL.address.city.replace(/\s+/g, '').toLowerCase(); 781 } 782 783 rg = BODL.address.state; 784 if (typeof rg !== 'undefined' && stateList.has(rg)) { 785 state = stateList.get(rg); 786 } 787 788 cn = BODL.address.country 789 if (typeof cn !== 'undefined' && countryCodes.has(cn)) { 790 country = countryCodes.get(cn) 791 } 792 793 if (BODL.address.zip) { 794 zip = BODL.address.zip 795 } 796 } 797 798 ttq.instance('D1ENV1BC77U87UH7DNK0').identify({ 799 email: email, 800 phone_number: phoneNumber, 801 first_name: firstName, 802 last_name: lastName, 803 city: city, 804 state: state, 805 country: country, 806 zip_code: zip}) 807 808 var productPrice = 0 809 var productCurrency = "" 810 if (BODL.productCurrencyWithoutTax && BODL.productCurrencyWithoutTax !== "") { 811 productPrice = BODL.productPriceWithoutTax 812 productCurrency = BODL.productCurrencyWithoutTax 813 } 814 if (BODL.productCurrencyWithTax && BODL.productCurrencyWithTax !== "") { 815 productPrice = BODL.productPriceWithTax 816 productCurrency = BODL.productCurrencyWithTax 817 } 818 819 ttq.instance('D1ENV1BC77U87UH7DNK0').track('Search', { 820 query: BODL.getQueryParamValue('search_query'), 821 contents: BODL.search.products.map((p) => ({ 822 var contentId = p.id 823 if (p.sku && p.sku !== "") { 824 contentId = p.sku 825 } 826 content_id: contentId, 827 // Products can be in multiple categories. 828 // Commenting out as this might distort category reports if only the first one is used. 829 // content_category: p.category[0], 830 content_name: p.name, 831 content_type: "product_group", 832 currency: productCurrency, 833 price: productPrice, 834 value: productPrice, 835 })) 836 }); 837} 838</script>
838 839<!-- TikTok Pixel Code End: Search --> 840 841<!-- TikTok Pixel Code Start: Registration -->
842<script> 843if (window.location.pathname.indexOf('/login.php') === 0 && BODL.getQueryParamValue('action') === 'account_created') { 844 const countryCodes = new Map([['Australia', 'au'],['New Zealand', 'nz'],['Russia', 'ru'],['Poland', 'pl'],['Czech Republic', 'cz'],['Israel', 'il'],['Romania', 'ro'],['Ukraine', 'ua'],['Japan', 'jp'],['Taiwan', 'tw'],['Ireland', 'ie'],['Austria', 'at'],['Sweden', 'se'],['Netherlands', 'nl'],['Norway', 'no'],['Finland', 'fi'],['Denmark', 'dk'],['Switzerland', 'ch'],['Belgium', 'be'],['Portugal', 'pt'],['Greece', 'gr'],['Germany', 'de'],['United Kingdom', 'gb'],['France', 'fr'],['Spain', 'es'],['Italy', 'it'],['India', 'in'],['South Korea', 'kr'],['Brazil', 'br'],['Mexico', 'mx'],['Argentina', 'ar'],['Chile', 'cl'],['Colombia', 'co'],['Peru', 'pe'],['Saudi Arabia', 'sa'],['Egypt', 'eg'],['United Arab Emirates', 'ae'],['Turkey', 'tr'],['Pakistan', 'pk'],['Morocco', 'ma'],['Iraq', 'iq'],['South Africa', 'za'],['Kuwait', 'kw'],['Oman', 'om'],['Qatar', 'qa'],['Bahrain', 'bh'],['Jordan', 'jo'],['Lebanon', 'lb'],['United States', 'us'],['Canada', 'ca'],['Singapore', 'sg'],['Thailand', 'th'],['Malaysia', 'my'],['Vietnam', 'vn'],['Philippines', 'ph'],['Indonesia', 'id'],['Cambodia', 'kh'],['Belarus', 'by'],['Venezuela', 've']]); 845 const stateList = new Map([['Arizona', 'az'],['Alabama', 'al'],['Alaska', 'ak'],['Arkansas', 'ar'],['California', 'ca'],['Colorado', 'co'],['Connecticut', 'ct'],['Delaware', 'de'],['Florida', 'fl'],['Georgia', 'ga'],['Hawaii', 'hi'],['Idaho', 'id'],['Illinois', 'il'],['Indiana', 'in'],['Iowa', 'ia'],['Kansas', 'ks'],['Kentucky', 'ky'],['Louisiana', 'la'],['Maine', 'me'],['Maryland', 'md'],['Massachusetts', 'ma'],['Michigan', 'mi'],['Minnesota', 'mn'],['Mississippi', 'ms'],['Missouri', 'mo'],['Montana', 'mt'],['Nebraska', 'ne'],['Nevada', 'nv'],['New Hampshire', 'nh'],['New Jersey', 'nj'],['New Mexico', 'nm'],['New York', 'ny'],['North Carolina', 'nc'],['North Dakota', 'nd'],['Ohio', 'oh'],['Oklahoma', 'ok'],['Oregon', 'or'],['Pennsylvania', 'pa'],['Rhode Island', 'ri'],['South Carolina', 'sc'],['South Dakota', 'sd'],['Tennessee', 'tn'],['Texas', 'tx'],['Utah', 'ut'],['Vermont', 'vt'],['Virginia', 'va'],['Washington', 'wa'],['West Virginia', 'wv'],['Wisconsin', 'wi'],['Wyoming', 'wy']]); 846 847 // Advanced Matching 848 var phoneNumber = '' 849 var email = '' 850 var firstName = '' 851 var lastName = '' 852 var city = '' 853 var state = '' 854 var country = '' 855 var zip = '' 856 if (BODL.phone) { 857 var phoneNumber = BODL.phone; 858 if (BODL.phone.indexOf('+') === -1) { 859 // No country code, so default to US code 860 phoneNumber = `+1${phoneNumber}`; 861 } 862 } 863 864 if (BODL.email) { 865 var email = BODL.email 866 } 867 868 if (BODL.address) { 869 if (BODL.address.first_name) { 870 firstName = (BODL.address.first_name).toLowerCase() 871 } 872 873 if (BODL.address.last_name) { 874 lastName = (BODL.address.last_name).toLowerCase() 875 } 876 877 if (BODL.address.city) { 878 city = BODL.address.city.replace(/\s+/g, '').toLowerCase(); 879 } 880 881 rg = BODL.address.state; 882 if (typeof rg !== 'undefined' && stateList.has(rg)) { 883 state = stateList.get(rg); 884 } 885 886 cn = BODL.address.country 887 if (typeof cn !== 'undefined' && countryCodes.has(cn)) { 888 country = countryCodes.get(cn) 889 } 890 891 if (BODL.address.zip) { 892 zip = BODL.address.zip 893 } 894 } 895 896 ttq.instance('D1ENV1BC77U87UH7DNK0').identify({ 897 email: email, 898 phone_number: phoneNumber, 899 first_name: firstName, 900 last_name: lastName, 901 city: city, 902 state: state, 903 country: country, 904 zip_code: zip}) 905 906 ttq.instance('D1ENV1BC77U87UH7DNK0').track('Registration'); 907} 908</script>
908 909<!-- TikTok Pixel Code End: Registration -->
910<script type="text/javascript"> 911// Create dns-prefetch link dynamically 912(function() { 913 var link = document.createElement("link"); 914 link.rel = "dns-prefetch"; 915 link.href = "//app.omniconvert.com"; 916 document.head.appendChild(link); 917 918 // Init Omniconvert object 919 window._mktz = window._mktz || []; 920 921 // Load Omniconvert script 922 var s = document.createElement("script"); 923 s.src = "//cdn.omniconvert.com/js/u7872e2.js"; // replace xxx.js with your ID 924 s.async = true; 925 document.head.appendChild(s); 926})(); 927</script>
927<script> 928/** 929 * Restrict visible country options on the registration page. 930 * 931 * This script runs only on the register page (identified by `.nb-register-wrapper`) 932 * and limits the visible options in the Country <select> dropdown to a specific 933 */ 934 935document.addEventListener("DOMContentLoaded", function () { 936 // Check if we are on the register page 937 const registerWrapper = document.querySelector(".nb-register-wrapper"); 938 939 if (registerWrapper) { 940 // Select the country dropdown by its data-field-type attribute 941 const countrySelect = document.querySelector('[data-field-type="Country"]'); 942 943 if (countrySelect) { 944 // Define the list of allowed country values (empty string is for the placeholder option) 945 const allowedCountries = ["", "United States"]; 946 947 // Loop through each option and hide those not in the allowed list 948 const options = countrySelect.options; 949 for (let i = 0; i < options.length; i++) { 950 const option = options[i]; 951 const value = option.value.trim(); 952 953 if (!allowedCountries.includes(value)) { 954 option.style.display = "none"; 955 } 956 } 957 } 958 } 959}); 960</script>
960<script data-bc-cookie-consent="2" type="text/plain"> 961//notify me 962 963 //webdav link 964 965//free shipping message in cart(categories name) 966 967// trustpilot show and hide controll 968 969//klarna installment 970 971 972 973//tax controll 974 975 976 977 978 979 980 981<!-- badge section settings --> 982 983 984<!-- navigation home page settings for transparent view --> 985 986 987 988 989 990 <!-- Exclusive Bundle image --> 991 992 993 994<!-- Exclusive Bundle link --> 995 996 997 998<!-- navigation offer page animation --> 999 1000 1001 1002 <!-- bundle builder black friday setting --> 1003 1004 1005 1006 1007 1008 1009 1010 1011 <!-- splitit --> 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029//Filter badge settings in plp 1030 1031 1032 1033//red badge settings 1034 1035 1036 1037 1038 1039 1040 1041 1042// blog section 1043window.cm_nb_settings_storefront_api_token = { 1044 "token": 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJjaWQiOlsxXSwiY29ycyI6WyJodHRwczovL25leHRiYXNlLmNvbSJdLCJlYXQiOjE3OTA0MTc4NTYsImlhdCI6MTc5MDI0NTA1NiwiaXNzIjoiQkMiLCJzaWQiOjEwMDIwOTQxNzcsInN1YiI6IkJDIiwic3ViX3R5cGUiOjAsInRva2VuX3R5cGUiOjF9.S3S8xGMbF8uyiL_bUG2PwaaR0od0soYqNqRRDUwUuFqoMazRUJqvd_Q1Hl_rSifM5-bpGUwWAuXVgHI7WoWHAw', 1045 "currency_code": 'USD', 1046 "base_url": "https://nextbase.co.uk" 1047}; 1048 1049 //<!-- blog page settings --> 1050 1051 1052//unwanted_search_filter_skus 1053 1054 1055 1056 1057// additional checkout button hide in pdps (paypal,google payâ¦etc) 1058 1059</script>
1059 1060
1061<script data-bc-cookie-consent="2" type="text/plain"> 1062 window.getcarturl = function (url) { 1063 return url 1064 }; 1065</script>
vendor: 1 bytes, line 1065
1065
1066<script data-bc-cookie-consent="2" type="text/plain"> 1067 1068 1069// Reselling product cards sku list 1070window.cm_nb_product_sku_map = { 1071"NBDVRS2SD128GBU3": 118, 1072"NBIQHWK": 1521, 1073"NBDVRS2SD32GBU3": 123, 1074"NBDVRS2SD64GBU3": 121, 1075"NBIQRWC-CABLE": 1520, 1076"NBIQ3MPLT": 1523, 1077"NBIQ2ANT": 1524, 1078"NBIQHWK": 1521, 1079"NBDVRS2RWC": 120, 1080"NBDVRS2SD256GBU3": 130, 1081"NBDVRS2CC": 128, 1082"NBDVRS2RFCW": 125, 1083"NBDVRS2RFCZ": 122, 1084"WPNBDVRS2PLT": 254, 1085"WPNBDVRS2SCUP": 255, 1086"NBDVRS2PMGPS": 124, 1087"NBDVRS2CLC": 127, 1088"NBDVRS2OBD": 10934, 1089"WPNBDVRS2PT": 250, 1090"WPNBDVRS2MICROFUSE": 257, 1091"NBDVRS2PF-BP": 126, 1092"WPNBDVRS2RWCMNT": 251, 1093"NBDVRS2SD256GBU3": 130, 1094"NBPICO-CC": 6312, 1095"NBPICO-HK": 6311, 1096"NBPICO-OBD": 6313, 1097"NBPICO-3M": 10589, 1098"NBPICO-CLC": 6316, 1099"WPNBDVRS2PLT": 254, 1100"WPNBDVRS2SCUP": 255, 1101"NBDVRS2PM": 132, 1102"NBDVRS2HK": 131, 1103"WPNBDVRS2PT": 250, 1104"WPNBDVRS2MICROFUSE": 257, 1105"NBDVRS2PF-BP": 126, 1106"NBDVRS2XR65M": 253 1107}; 1108 1109 1110(function applyConfig() { 1111 const keys = [ 1112 "cm_nb_ra_in_bg_config", 1113 "cm_nb_ra_in_bg_config_2" 1114 ]; 1115 1116 let applied = false; 1117 1118 keys.forEach(function (key) { 1119 if (window[key]) { 1120 window[key].includeTax = false; 1121 applied = true; 1122 } 1123 }); 1124 1125 if (!applied) { 1126 setTimeout(applyConfig, 500); 1127 } 1128})(); 1129</script>
vendor: 1 bytes, line 1129
1129
1130<script data-bc-cookie-consent="2" type="text/plain"> 1131//React app cloud fair links 1132 1133 1134window.cm_nb_cf_reactApp_links = { 1135 bundle_builder_css_url: "https://nxt-rfc-bigc-variant-bundle-builder-prod.pages.dev/cm_bundle_builder.css", 1136 bundle_builder_js_url: "https://nxt-rfc-bigc-variant-bundle-builder-prod.pages.dev/cm_bundle_builder.js", 1137 upgrade_cart_css_url: "https://nxt-rfc-bigc-cart-upgrade-app-prod.pages.dev/cm_cart_upgarde.css", 1138 upgrade_cart_js_url: "https://nxt-rfc-bigc-cart-upgrade-app-prod.pages.dev/cm_cart_upgarde.js", 1139 support_article_slider: "https://nxt-rfc-support-articles-slider-prod.pages.dev/cm_nb_ra_support_articles_slider.js", 1140 resell_product_slider: "https://nxt-rfc-resell-product-listing-prod.pages.dev/cm_nb_ra_resell_product_listing.js ", 1141 }; 1142</script>
1142<script> 1143window.setcookies_3rd_party_app = function(data) { 1144if(data.allow.includes(3)) 1145 { 1146 console.log("omni allowed") 1147 if(_mktz && typeof _mktz.saveConsentChoice === 'function'){ 1148 _mktz.saveConsentChoice('yes', 'We value your privacy, so please confirm...', '3'); 1149 _mktz?.init(); 1150 } 1151 } 1152 else{ 1153 if(_mktz){ 1154 _mktz.saveConsentChoice('no', 'We value your privacy, so please confirm...', '3'); 1155 } 1156 console.log("omni not allowed") 1157 } 1158 console.log("This is a global function defined on the window object.",data); 1159}; 1160</script>
1160<!-- Splitit js function -->
1161<script> 1162 1163 function splititconfig() { 1164 const input = '{"min": 0, "max": 130.00, "instalment": 4} + {"min": 130.01, "max": 5000, "instalment": 6}'; 1165 1166 const rangesData = input.split(' + '); 1167 1168 1169 const ranges = rangesData.map(rangeString => { 1170 const parts = rangeString.split(', '); 1171 const min = parseInt(parts[0].split(': ')[1]); 1172 const max = parseInt(parts[1].split(': ')[1]); 1173 const number = parseInt(parts[2].split(': ')[1]); 1174 return { min, max, number }; 1175 }); 1176 // console.log("splititconfig return",ranges); 1177 return ranges 1178 } 1179 1180 1181 1182 function checkPriceRange(price, currency_symbol = '') { 1183 // Define the ranges and respective numbers 1184 const ranges = splititconfig() 1185 // console.log("splititconfig return",ranges) 1186 // Iterate through the ranges to find the appropriate range for the price 1187 for (const range of ranges) { 1188 1189 if (price >= range.min && price <= range.max) { 1190 // Calculate the division based on the number for that range 1191 const result = price / range.number; 1192 // console.log("returns",result, {"price":currency_symbol + (result).toFixed(2),"instalment":range.number} ); 1193 return {"price":currency_symbol + (result).toFixed(2),"instalment":range.number}; 1194 } 1195 } 1196 1197 return null; // Price is not in any defined range 1198 } 1199 </script>
vendor: 1 bytes, line 1199
1199
1200<script> 1201// Boxing Day Header navigation color management Common Header scripts V2 1202$(function () { 1203 $('body').append(` 1204 <style> 1205 [data-content-region="header_top--global"] { 1206 pointer-events: auto; 1207 } 1208 1209 [data-content-region="header_top--global"] .homemenu-contents { 1210 pointer-events: none; 1211 } 1212 1213 [data-content-region="header_top--global"]:hover .homemenu-contents { 1214 pointer-events: auto; 1215 user-select: all; 1216 } 1217 1218 </style> 1219 `); 1220}); 1221</script>
1221<!-- Google Tag Manager -->
1222<script>
vendor: 327 bytes, lines 1222-1226
1222(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1223new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1224j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 1225'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1226})(window,document,'script','dataLayer','
1226GTM-TRZSPG2P
vendor: 3 bytes, line 1226
1226');
1226</script>
1226 1227<!-- End Google Tag Manager -->
1227<script data-bc-cookie-consent="3" type="text/plain">/* >> Heatmap.com :: Snippet << */(function (h,e,a,t,m,ap) { (h._heatmap_paq = []).push([ 'setTrackerUrl', (h.heatUrl = e) + a]); h.hErrorLogs=h.hErrorLogs || []; ap=t.createElement('script'); ap.src=h.heatUrl+'preprocessor.min.js?sid='+m; ap.defer=true; t.head.appendChild(ap); ['error', 'unhandledrejection'].forEach(function (ty) { h.addEventListener(ty, function (et) { h.hErrorLogs.push({ type: ty, event: et }); }); });})(window,'https://dashboard.heatmap.com/','heatmap.php',document,5192);</script>
1227<script data-bc-cookie-consent="3" type="text/plain" src="https://cdn.logr-in.com/LogRocket.min.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1227
1227
1228<script data-bc-cookie-consent="3" type="text/plain">window.LogRocket && window.LogRocket.init('axt7bh/d2c-usa');</script>
1228<script data-bc-cookie-consent="3" type="text/plain" src="https://analytics.ahrefs.com/analytics.js" data-key="6outmov2dnI+M+s23LC6aA" async></script>
vendor: 1 bytes, line 1228
1228
1229<script nonce=""> 1230(function () { 1231 var xmlHttp = new XMLHttpRequest(); 1232 1233 xmlHttp.open('POST', 'https://bes.gcp.data.bigcommerce.com/nobot'); 1234 xmlHttp.setRequestHeader('Content-Type', 'application/json'); 1235 xmlHttp.send('{"store_id":"1002094177","timezone_offset":"-4.0","timestamp":"2026-09-24T19:14:38.61912800Z","visit_id":"faf83038-aeb5-496e-8274-e89c3c922095","channel_id":1}'); 1236})(); 1237</script>
1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 <style type="text/css" media="screen, print"> 1249 @font-face { 1250 font-family: "High Tide Demo"; 1251 src: url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/HighTide.woff2") format("woff2"), 1252 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/HighTide.woff") format("woff"); 1253 font-display: swap; 1254 } 1255 @font-face { 1256 font-family: "bankgothic_lt_btlight"; 1257 font-style: normal; 1258 font-weight: 300; 1259 font-display: swap; 1260 src: local("Poppins Light"), local("Poppins-Light"), 1261 url(https://fonts.gstatic.com/s/poppins/v9/pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2) 1262 format("woff2"); 1263 unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, 1264 U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; 1265 } 1266 1267 /* devanagari */ 1268 @font-face { 1269 font-family: "Poppins"; 1270 font-style: normal; 1271 font-weight: 300; 1272 font-display: swap; 1273 src: local("Poppins Light"), local("Poppins-Light"), 1274 url(https://fonts.gstatic.com/s/poppins/v9/pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2) 1275 format("woff2"); 1276 unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, 1277 U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; 1278 } 1279 1280 /* latin-ext */ 1281 @font-face { 1282 font-family: "Poppins"; 1283 font-style: normal; 1284 font-weight: 300; 1285 font-display: swap; 1286 src: local("Poppins Light"), local("Poppins-Light"), 1287 url(https://fonts.gstatic.com/s/poppins/v9/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2) 1288 format("woff2"); 1289 unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 1290 U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 1291 } 1292 /* latin */ 1293 @font-face { 1294 font-family: "Poppins"; 1295 font-style: normal; 1296 font-weight: 300; 1297 font-display: swap; 1298 src: local("Poppins Light"), local("Poppins-Light"), 1299 url(https://fonts.gstatic.com/s/poppins/v9/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2) 1300 format("woff2"); 1301 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 1302 U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 1303 U+2215, U+FEFF, U+FFFD; 1304 } 1305 1306 /* devanagari */ 1307 @font-face { 1308 font-family: "Poppins"; 1309 font-style: normal; 1310 font-weight: 400; 1311 font-display: swap; 1312 src: local("Poppins Regular"), local("Poppins-Regular"), 1313 url(https://fonts.gstatic.com/s/poppins/v9/pxiEyp8kv8JHgFVrJJbecmNE.woff2) 1314 format("woff2"); 1315 unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, 1316 U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; 1317 } 1318 1319 /* latin-ext */ 1320 @font-face { 1321 font-family: "Poppins"; 1322 font-style: normal; 1323 font-weight: 400; 1324 font-display: swap; 1325 src: local("Poppins Regular"), local("Poppins-Regular"), 1326 url(https://fonts.gstatic.com/s/poppins/v9/pxiEyp8kv8JHgFVrJJnecmNE.woff2) 1327 format("woff2"); 1328 unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 1329 U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 1330 } 1331 1332 /* latin */ 1333 @font-face { 1334 font-family: "Poppins"; 1335 font-style: normal; 1336 font-weight: 400; 1337 font-display: swap; 1338 src: local("Poppins Regular"), local("Poppins-Regular"), 1339 url(https://fonts.gstatic.com/s/poppins/v9/pxiEyp8kv8JHgFVrJJfecg.woff2) 1340 format("woff2"); 1341 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 1342 U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 1343 U+2215, U+FEFF, U+FFFD; 1344 } 1345 1346 /* devanagari */ 1347 @font-face { 1348 font-family: "Poppins"; 1349 font-style: normal; 1350 font-weight: 700; 1351 font-display: swap; 1352 src: local("Poppins Bold"), local("Poppins-Bold"), 1353 url(https://fonts.gstatic.com/s/poppins/v9/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2) 1354 format("woff2"); 1355 unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, 1356 U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; 1357 } 1358 1359 /* latin-ext */ 1360 @font-face { 1361 font-family: "Poppins"; 1362 font-style: normal; 1363 font-weight: 700; 1364 font-display: swap; 1365 src: local("Poppins Bold"), local("Poppins-Bold"),
1366 url(https://fonts.gstatic.com/s/poppins/v9/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) 1367 format("woff2"); 1368 unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, 1369 U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 1370 } 1371 1372 /* latin */ 1373 @font-face { 1374 font-family: "Poppins"; 1375 font-style: normal; 1376 font-weight: 700; 1377 font-display: swap; 1378 src: local("Poppins Bold"), local("Poppins-Bold"), 1379 url(https://fonts.gstatic.com/s/poppins/v9/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) 1380 format("woff2"); 1381 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 1382 U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 1383 U+2215, U+FEFF, U+FFFD; 1384 } 1385 1386 /*Roobert-Bold */ 1387 @font-face { 1388 font-family: "Roobert-Bold"; 1389 src: url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Bold.woff2") format("woff2"), 1390 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Bold.woff") format("woff"); 1391 font-display: swap; 1392 } 1393 /*Roobert-Heavy */ 1394 @font-face { 1395 font-family: "Roobert-Heavy"; 1396 src: url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Heavy.woff2") format("woff2"), 1397 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Heavy.woff") format("woff"); 1398 font-display: swap; 1399 } 1400 /*Roobert-Heavy */ 1401 @font-face { 1402 font-family: "Roobert-Light"; 1403 src: url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Light.woff2") format("woff2"), 1404 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Light.woff") format("woff"); 1405 font-display: swap; 1406 } 1407 /*Roobert-Medium */ 1408 @font-face { 1409 font-family: "Roobert-Medium"; 1410 src: url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Medium.woff2") format("woff2"), 1411 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Medium.woff") format("woff"); 1412 font-display: swap; 1413 } 1414 /*Roobert-Regular */ 1415 @font-face { 1416 font-family: "Roobert-Regular"; 1417 src: url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Regular.woff2") format("woff2"), 1418 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-Regular.woff") format("woff"); 1419 font-display: swap; 1420 } 1421 /*Roobert-SemiBold */ 1422 @font-face { 1423 font-family: "Roobert-SemiBold"; 1424 src: url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-SemiBold.woff2") format("woff2"), 1425 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/font/Roobert-SemiBold.woff") format("woff"); 1426 font-display: swap; 1427 } 1428</style> 1429 1430<style> 1431 /* Remove outline by default */ 1432 *:focus { 1433 outline: none !important; 1434 outline-offset: 0 !important; 1435 } 1436 1437 /* Only show outline when 'keyboard-user' class is on body */ 1438 body.keyboard-user *:focus { 1439 outline: 2px solid #0f7fff !important; 1440 outline-offset: 2px !important; 1441 } 1442</style> 1443
1444<script> 1445 // Add class when Tab key is pressed 1446 document.addEventListener('keydown', (e) => { 1447 if (e.key === 'Tab') { 1448 document.body.classList.add('keyboard-user'); 1449 } 1450 }); 1451 1452 // Remove class when mouse is used 1453 document.addEventListener('mousedown', () => { 1454 document.body.classList.remove('keyboard-user'); 1455 }); 1456</script>
1456 1457 1458<style> 1459 @font-face { 1460 font-family: "iconpack"; 1461 src: url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/icons/nav_icons/fontello.eot"); 1462 src: url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/icons/nav_icons/fontello.eot") 1463 format("embedded-opentype"), 1464 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/icons/nav_icons/fontello.woff") format("woff"), 1465 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/icons/nav_icons/fontello.ttf") format("truetype"), 1466 url("https://cdn11.bigcommerce.com/s-jpkc0tnv4j/content/icons/nav_icons/fontello.svg") format("svg"); 1467 } 1468 .fontello-icon { 1469 font-family: "iconpack"; 1470 font-style: normal; 1471 font-weight: normal; 1472 display: inline-block; 1473 text-decoration: inherit; 1474 text-align: center; 1475 font-variant: normal; 1476 text-transform: none; 1477 -webkit-font-smoothing: antialiased; 1478 -moz-osx-font-smoothing: grayscale; 1479 } 1480</style> 1481 1482 <style> 1483 .add-to-cart-wallet-buttons{ 1484 display: none; 1485 } 1486 1487 </style> 1488 1489 <!-- navigation header offer link --> 1490 <style> 1491 :root {--cm_nb_th_offer_section_menu_hover_color: #6317ff !important;--cm_nb_th_offer_section_menu_color: #fff;--cm_nb_th_offer_section_menu_round_color: rgb(138, 43, 226);} 1492 </style> 1493 1494<!-- Card-level: hide discount badge globally --> 1495<style> 1496</style> 1497 1498<!-- PDP-level: override card style on product pages --> 1499<style> 1500</style> 1501 </head> 1502 <body> 1503 <svg data-src="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/stencil/38e65070-6704-013f-6375-66379f5904cc/e/88351440-94a8-013f-b863-46687f5e6f27/img/icon-sprite.svg" class="icons-svg-sprite"></svg> 1504 1505 1506 1507<div data-content-region="header_top--global"><div data-layout-id="515c10ef-70a7-4abb-8664-83339e29d14b"> <div data-sub-layout-container="a91ad7f2-2ab0-4d33-8f6a-fc8ac89e01b7" data-layout-name="Top scroller"> 1508 <style data-container-styling="a91ad7f2-2ab0-4d33-8f6a-fc8ac89e01b7"> 1509 [data-sub-layout-container="a91ad7f2-2ab0-4d33-8f6a-fc8ac89e01b7"] { 1510 box-sizing: border-box; 1511 display: flex; 1512 flex-wrap: wrap; 1513 z-index: 0; 1514 position: relative; 1515 height: ; 1516 padding-top: 0px; 1517 padding-right: 0px; 1518 padding-bottom: 0px; 1519 padding-left: 0px; 1520 margin-top: 0px; 1521 margin-right: 0px; 1522 margin-bottom: 0px; 1523 margin-left: 0px; 1524 border-width: 0px; 1525 border-style: solid; 1526 border-color: #333333; 1527 } 1528 1529 [data-sub-layout-container="a91ad7f2-2ab0-4d33-8f6a-fc8ac89e01b7"]:after { 1530 display: block; 1531 position: absolute; 1532 top: 0; 1533 left: 0; 1534 bottom: 0; 1535 right: 0; 1536 background-size: cover; 1537 z-index: auto; 1538 } 1539 </style> 1540 1541 <div data-sub-layout="0ec5a188-deab-4976-b11d-0c108d85a02f"> 1542 <style data-column-styling="0ec5a188-deab-4976-b11d-0c108d85a02f"> 1543 [data-sub-layout="0ec5a188-deab-4976-b11d-0c108d85a02f"] { 1544 display: flex; 1545 flex-direction: column; 1546 box-sizing: border-box; 1547 flex-basis: 100%; 1548 max-width: 100%; 1549 z-index: 0; 1550 position: relative; 1551 height: ; 1552 padding-top: 0px; 1553 padding-right: 10.5px; 1554 padding-bottom: 0px; 1555 padding-left: 10.5px; 1556 margin-top: 0px; 1557 margin-right: 0px; 1558 margin-bottom: 0px; 1559 margin-left: 0px; 1560 border-width: 0px; 1561 border-style: solid; 1562 border-color: #333333; 1563 justify-content: center; 1564 } 1565 [data-sub-layout="0ec5a188-deab-4976-b11d-0c108d85a02f"]:after { 1566 display: block; 1567 position: absolute; 1568 top: 0; 1569 left: 0; 1570 bottom: 0; 1571 right: 0; 1572 background-size: cover; 1573 z-index: auto; 1574 } 1575 @media only screen and (max-width: 700px) { 1576 [data-sub-layout="0ec5a188-deab-4976-b11d-0c108d85a02f"] { 1577 flex-basis: 100%; 1578 max-width: 100%; 1579 } 1580 } 1581 </style> 1582 <div data-widget-id="cab1c474-8010-49a9-8571-bdeb863b75d0" data-placement-id="ed136fca-a0b2-4aed-b76e-cb6810bdaefa" data-placement-status="ACTIVE"><style> 1583 [data-content-region="header_top--global"] .homemenu-contents { 1584 width: 100vw !important; 1585 margin-left: calc(-50vw + 50%) !important; 1586} 1587 .homeprodct1 1588 { 1589 color: #fff !important; 1590 /* font-size: 0.875rem !important; */ 1591 font-size: var(--nb-fs-txt-std) !important; 1592 } 1593 .homeprodct2 1594 { 1595 color: #fff !important; 1596 /* font-size: 0.99rem !important; */ 1597 font-size: var(--nb-fs-txt-std) !important; 1598 } 1599 .homemenu-contents{ 1600 display: inline-block; 1601 text-align: center; 1602 flex-direction: row; 1603 flex-wrap: nowrap; 1604 align-items: center; 1605 justify-content: center; 1606 padding: 1px 10px; 1607 1608 background:black; 1609 text-align: center; 1610 /* font-size: 0.9rem !important; */ 1611 font-size: var(--nb-fs-txt-std) !important; 1612 1613 font-weight: 400; 1614 line-height: 1.6666666667; 1615 z-index: 9999; 1616 position: relative; 1617 } 1618 .homemenu-contents-with-background{ 1619 background-image: url(https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/bf-banner-top.png); 1620 display: flex; 1621 text-align: center; 1622 flex-direction: row; 1623 flex-wrap: wrap; 1624 align-items: center; 1625 justify-content: center; 1626 padding: 10px 10px; 1627 min-height: 100%; 1628 } 1629 1630 1631 .hiddenYellowBanner { 1632 display: none; 1633 } 1634 1635 @keyframes fadeInBanner { 1636 0% { 1637 opacity: 0; 1638 } 1639 100% { 1640 opacity: 1; 1641 } 1642 } 1643 .fadeBanner { 1644 animation: fadeInBanner 1s ease; 1645 } 1646 .a{ 1647 1648 } 1649.homemenu-contents small, 1650.homeprodct1 small, 1651.homeprodct2 small { 1652 font-size: var(--nb-fs-txt-sm) !important; 1653} 1654 @media screen and (max-width: 768px) { 1655 .homeprodct1, 1656 .homeprodct2, 1657 .homemenu-contents { 1658 font-size: var(--nb-fs-txt-md) !important; 1659 } 1660 1661} 1662 1663 </style> 1664 <!-- for yellow section --> 1665<span class="homemenu-contents"> 1666 <div id="div1YellowBanner"> 1667 <div class="yellow-banner-top-region" style="display: none;"> 1668 <div class="homemenu-contents navigationlist nav_type_b nav_type_c full-width-page "><a href="/exclusive-offers/" style="text-decoration: none"><span class="homeprodct1"><!--National Dash Cam Day! TODAY ONLY - Buy One Get One Half Price on all Dash Cams.--><!--Exclusive Bundles only available direct from Nextbase.Year end offer! Use code: <strong>"YEAREND20"</strong> for 20% off on all Dash Cams (bundles excluded).-->Save up to $320 on Exclusive bundles only available direct from Nextbase.<!--<!--10% OFF all products this weekend, use coupon WEEKEND10 at checkout.---->
1668 </span></a> <span class="section-time-based-period homeprodct1"><!--Order before 8PM for Next-Day Delivery <small>(Excludes parts)</small>--><a href="/help-and-support/delivery-returns-repairs/" style="text-decoration: none;color: white"> <!--- Order before 8pm for FREE Next-Day Delivery*</a> ---> <span class="section-time-based-after homeprodct1"></span></a></span></div><a href="/help-and-support/delivery-returns-repairs/" style="text-decoration: none;color: white"> 1669 </a></div><a href="/help-and-support/delivery-returns-repairs/" style="text-decoration: none;color: white"> 1670 1671 1672 <!-- for background image section --> 1673 </a><div class="with-background-banner-top-region" style="display: none;"><a href="/help-and-support/delivery-returns-repairs/" style="text-decoration: none;color: white"> 1674 </a><div class="homemenu-contents-with-background navigationlist nav_type_b nav_type_c full-width-page "><a href="/help-and-support/delivery-returns-repairs/" style="text-decoration: none;color: white"></a><a href="/exclusive-offers/" style="text-decoration: none"><span class="homeprodct2">BLACK FRIDAY DEAL LAST DAY! Buy one, get second 50% off! Applies to all Dash Cams <!--10% OFF all products this weekend, use coupon WEEKEND10 at checkout.--> </span></a> 1675 <!-- < <span class="section-time-based-period homeprodct2"> Order before 2PM for Next-Day Delivery.</span>--> 1676 </div> 1677 </div> 1678 </div> 1679 1680 1681 <div id="div2YellowBanner" class="hiddenYellowBanner"> 1682 <div class="yellow-banner-top-region" style="display: none;"> 1683 <div class="homemenu-contents navigationlist nav_type_b nav_type_c full-width-page "><a href="/dash-cams/" style="text-decoration: none"><span class="homeprodct1"><!--National Dash Cam Day! TODAY ONLY - Buy One Get One Half Price on all Dash Cams.--> <!---Purchase with 0% interest instalments up to 12 months using your existing credit card with Nextbase Pay.--->Pay your way using Affirm over 4 months or in 6 using your credit card with Nextbase Pay, interest-free 1684 1685 1686<!------><!--10% OFF all products this weekend, use coupon WEEKEND10 at checkout.--> </span></a></div> 1687 </div> 1688 1689 1690 <!-- for background image section --> 1691 <div class="with-background-banner-top-region" style="display: none;"> 1692 <div class="homemenu-contents-with-background navigationlist nav_type_b nav_type_c full-width-page "><a href="/dash-cams/" style="text-decoration: none"><span class="homeprodct2">BLACK FRIDAY DEAL LAST DAY! Buy one, get second 50% off! Applies to all Dash Cams <!--10% OFF all products this weekend, use coupon WEEKEND10 at checkout.--> </span></a> 1693 <!-- < <span class="section-time-based-period homeprodct2"> Order before 2PM for Next-Day Delivery.</span>--> 1694 </div> 1695 </div> 1696 </div> 1697</span>
1698<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
1698 1699
1699<script> 1700 var pathname = window.location.pathname; 1701 if(pathname === '/' || pathname === '/dash-cams') 1702 { 1703 $('.yellow-banner-top-region').show() 1704 } 1705 else{ 1706 //$('.with-background-banner-top-region').show() 1707 $('.yellow-banner-top-region').show() 1708 } 1709 1710 </script>
1710 1711
1711<script> 1712 // Function to toggle the visibility of the two divs 1713 function toggleYellowBanner() { 1714 var div1Banner = document.getElementById("div1YellowBanner"); 1715 var div2Banner = document.getElementById("div2YellowBanner"); 1716 if (div1Banner.classList.contains("hiddenYellowBanner")) { 1717 div1Banner.classList.remove("hiddenYellowBanner"); 1718 div1Banner.classList.add("fadeBanner"); 1719 div2Banner.classList.remove("fadeBanner"); 1720 div2Banner.classList.add("hiddenYellowBanner"); 1721 } else { 1722 div1Banner.classList.remove("fadeBanner"); 1723 div1Banner.classList.add("hiddenYellowBanner"); 1724 div2Banner.classList.remove("hiddenYellowBanner"); 1725 div2Banner.classList.add("fadeBanner"); 1726 } 1727 1728 1729 } 1730 1731 // Set an interval to toggle the divs every 20 seconds 1732 setInterval(toggleYellowBanner, 15000); 1733 </script>
1733 1734 1735</div> 1736 <div data-widget-id="a66f98b8-72c3-49d9-a571-d1c25d6bb867" data-placement-id="1b62be90-e263-485c-96dc-bc7ffc780524" data-placement-status="ACTIVE"><style> 1737 .review-section ,.trustpilot-widget { 1738 display: none !important; 1739 } 1740</style> 1741</div> 1742 </div> 1743</div> 1744 1745</div></div> 1746<div class="cm-header-layout" id="top"> 1747 <header class="header" role="banner"> 1748 <div class="header-inner cm-container-header"> 1749 <a href="#" class="mobileMenu-toggle" data-mobile-menu-toggle="menu"> 1750 <span class="mobileMenu-toggleIcon"></span> 1751 </a> 1752 1753 <div 1754 class="header-logo header-logo--center header-left" 1755 > 1756 <div class="header-logo-block"><a href="https://nextbase.com/" class="header-logo__link" data-header-logo-link> 1757 <div class="header-logo-image-container"> 1758 <img class="header-logo-image" 1759 src="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/images/stencil/250x32/logo_1757415802__32203.original_1757997075.original.png" 1760 srcset="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/images/stencil/250x100/logo_1757415802__32203.original_1757997075.original.png" 1761 alt="Nextbase.com" 1762 title="Nextbase.com"> 1763 </div> 1764</a> 1765</div> 1766 </div> 1767 1768 <div class="header-center"> 1769 <div class="navPages-container" id="menu" data-menu> 1770 <nav class="navPages"> 1771 <div class="navPages-quickSearch"> 1772 <div class="container"> 1773 <form class="form" data-url="https://nextbase.com/search.php" data-quick-search-form> 1774 <fieldset class="form-fieldset"> 1775 <div class="form-field"> 1776 <label class="is-srOnly" for="nav-menu-quick-search">Search</label> 1777 <input class="form-input" 1778 data-search-quick 1779 name="nav-menu-quick-search" 1780 id="nav-menu-quick-search" 1781 data-error-message="Search field cannot be empty." 1782 placeholder="Search the store" 1783 autocomplete="off" 1784 > 1785 </div> 1786 </fieldset> 1787 </form> 1788 <section class="quickSearchResults" data-bind="html: results"></section> 1789 <p role="status" 1790 aria-live="polite" 1791 class="aria-description--hidden" 1792 data-search-aria-message-predefined-text="product results for" 1793 ></p> 1794</div> 1795 </div> 1796 <ul class="navPages-list"> 1797 <li class="navPages-item"> 1798 </li> 1799 <li class="navPages-item"> 1800 </li> 1801 <li class="navPages-item"> 1802 </li> 1803 1804 <li class="navPages-item navPages-item-page cm_nb_th_nav_offer_link "> 1805 <a class="navPages-action activePage" href="https://nextbase.com/exclusive-offers/" aria-label="Exclusive Offers" data-navigation-name="Exclusive Offers"> 1806 Exclusive Offers 1807 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 1808 <svg><use href="#icon-chevron-down" /></svg> 1809 </i> 1810 </a> 1811 <div class="dropdown-content" id="page-appendingSection"></div> 1812 </li> 1813 <li class="navPages-item navPages-item-page "> 1814 <a class="navPages-action" href="https://nextbase.com/dash-cams/" aria-label="Dash Cams" data-navigation-name="Dash Cams"> 1815 Dash Cams 1816 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 1817 <svg><use href="#icon-chevron-down" /></svg> 1818 </i> 1819 </a> 1820 <div class="dropdown-content" id="page-appendingSection"></div> 1821 </li> 1822 <li class="navPages-item navPages-item-page "> 1823 <a class="navPages-action" href="/accessories-parts/" aria-label="Accessories" data-navigation-name="Accessories"> 1824 Accessories 1825 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 1826 <svg><use href="#icon-chevron-down" /></svg> 1827 </i> 1828 </a> 1829 <div class="dropdown-content" id="page-appendingSection"></div> 1830 </li> 1831 <li class="navPages-item navPages-item-page "> 1832 <a class="navPages-action" href="https://nextbase.com/help-and-support/" aria-label="Support" data-navigation-name="Support"> 1833 Support 1834 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 1835 <svg><use href="#icon-chevron-down" /></svg> 1836 </i> 1837 </a> 1838 <div class="dropdown-content" id="page-appendingSection"></div> 1839 </li> 1840 <li class="navPages-item navPages-item-page "> 1841 <a class="navPages-action" href="https://nextbase.com/enterprise/" aria-label="Auto Manufacturers" data-navigation-name="Auto Manufacturers"> 1842 Auto Manufacturers 1843 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 1844 <svg><use href="#icon-chevron-down" /></svg> 1845 </i> 1846 </a> 1847 <div class="dropdown-content" id="page-appendingSection"></div> 1848 </li> 1849 <li class="navPages-item navPages-item-page "> 1850 <a class="navPages-action" href="https://nextbase.com/imagery-solutions/" aria-label="Imagery Solutions" data-navigation-name="Imagery Solutions"> 1851 Imagery Solutions 1852 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 1853 <svg><use href="#icon-chevron-down" /></svg> 1854 </i> 1855 </a> 1856 <div class="dropdown-content" id="page-appendingSection"></div> 1857 </li> 1858 1859 <li class="navPages-item cm-mobile-search" id="quick-search-expand"> 1860 <a href="/search.php" class="navPages-action navPages-action--cm-search"> 1861 Search 1862 </a> 1863 </li> 1864 </ul> 1865 <ul class="navPages-list navPages-list--user" id="nb-navPages-list--user"> 1866 <li class="navPages-item"> 1867 <a class="navPages-action" 1868 href="https://nextbase.com/login.php" 1869 aria-label="Sign in" 1870 > 1871 Login / Register 1872 </a> 1873 </li> 1874 </ul> 1875 <a href="/exclusive-offers/?int-area=topnav" class="exclusive-bundle-image"> 1876 <img src="https://cdn11.bigcommerce.com/s-5o7xzmxoo0/images/stencil/original/image-manager/exclusive-offers.png?t=1760692639" alt="exclusive-bundle-image"> 1877 </a> 1878</nav> </div> 1879 </div> 1880 1881 <div class="header-right"> 1882 <div class="nb-navigation-action-container"> 1883 <div class="row"> 1884 <nav class="navUser"> 1885 1886 <ul class="navUser-section navUser-section--alt"> 1887 <li class="navUser-item navUser-item--region-selector"> 1888 <a class="navUser-action region-selector-trigger cm-region-click">
1889 <span class="region-icon"> </span> 1890 </a> 1891 </li> 1892 1893 <li class="navUser-item navUser-item--account"> 1894 <a class="navUser-action" 1895 href="https://nextbase.com/login.php" 1896 aria-label="Sign in"> 1897 <span class="icon-account"></span> 1898 </a> 1899 </li> 1900 1901 <li class="navUser-item"> 1902 <button class="navUser-action navUser-action--quickSearch" 1903 type="button" 1904 id="quick-search-expand" 1905 data-search="quickSearch" 1906 aria-controls="quickSearch" 1907 aria-label="Search" 1908 onclick="window.location.href='https://nextbase.com/search.php';" 1909 > 1910 <span class="icon-search"></span> 1911 </button> 1912 </li> 1913 1914 <li class="navUser-item navUser-item--cart"> 1915 <a class="navUser-action" 1916 data-cart-preview 1917 data-dropdown="cart-preview-dropdown" 1918 data-options="align:right" 1919 href="https://nextbase.com/cart.php" 1920 aria-label="Cart with 0 items"> 1921 <span class="navUser-item-cartLabel"> 1922 <span class="icon-cart"></span> 1923 <span class="countPill cart-quantity"></span> 1924 </a> 1925 <div class="dropdown-menu" id="cart-preview-dropdown" data-dropdown-content aria-hidden="true"></div> 1926 </li> 1927 </ul> 1928</nav> </div> 1929 </div> 1930 </div> 1931 </div> 1932 1933 <div class="countrydropdown"> 1934 <div class="row cm-country-item-section"> 1935 <div class="large-3 columns show-for-medium-up pading-5"> 1936 <div class="cm-country-subtitle">Select Region</div> 1937 </div> 1938 <div class="large-9 columns pading-5"> 1939 <ul 1940 class="small-block-grid-2 medium-block-grid-3 navigation_country_list" 1941 ></ul> 1942 </div> 1943 </div> 1944 </div> 1945 </header> 1946</div> 1947<div data-content-region="header_bottom--global"><div data-layout-id="b5897226-041e-453e-bc4f-b2954d322d11"> <div data-sub-layout-container="0c37a87c-2c40-485e-974e-370afb2c0a98" data-layout-name="Navigation Menu"> 1948 <style data-container-styling="0c37a87c-2c40-485e-974e-370afb2c0a98"> 1949 [data-sub-layout-container="0c37a87c-2c40-485e-974e-370afb2c0a98"] { 1950 box-sizing: border-box; 1951 display: flex; 1952 flex-wrap: wrap; 1953 z-index: 0; 1954 position: relative; 1955 height: ; 1956 padding-top: 0px; 1957 padding-right: 0px; 1958 padding-bottom: 0px; 1959 padding-left: 0px; 1960 margin-top: 0px; 1961 margin-right: 0px; 1962 margin-bottom: 0px; 1963 margin-left: 0px; 1964 border-width: 0px; 1965 border-style: solid; 1966 border-color: #333333; 1967 } 1968 1969 [data-sub-layout-container="0c37a87c-2c40-485e-974e-370afb2c0a98"]:after { 1970 display: block; 1971 position: absolute; 1972 top: 0; 1973 left: 0; 1974 bottom: 0; 1975 right: 0; 1976 background-size: cover; 1977 z-index: auto; 1978 } 1979 </style> 1980 1981 <div data-sub-layout="6680b58d-1833-4144-9072-c1229f32e4aa"> 1982 <style data-column-styling="6680b58d-1833-4144-9072-c1229f32e4aa"> 1983 [data-sub-layout="6680b58d-1833-4144-9072-c1229f32e4aa"] { 1984 display: flex; 1985 flex-direction: column; 1986 box-sizing: border-box; 1987 flex-basis: 100%; 1988 max-width: 100%; 1989 z-index: 0; 1990 position: relative; 1991 height: ; 1992 padding-top: 0px; 1993 padding-right: 0px; 1994 padding-bottom: 0px; 1995 padding-left: 0px; 1996 margin-top: 0px; 1997 margin-right: 0px; 1998 margin-bottom: 0px; 1999 margin-left: 0px; 2000 border-width: 0px; 2001 border-style: solid; 2002 border-color: #333333; 2003 justify-content: center; 2004 } 2005 [data-sub-layout="6680b58d-1833-4144-9072-c1229f32e4aa"]:after { 2006 display: block; 2007 position: absolute; 2008 top: 0; 2009 left: 0; 2010 bottom: 0; 2011 right: 0; 2012 background-size: cover; 2013 z-index: auto; 2014 } 2015 @media only screen and (max-width: 700px) { 2016 [data-sub-layout="6680b58d-1833-4144-9072-c1229f32e4aa"] { 2017 flex-basis: 100%; 2018 max-width: 100%; 2019 } 2020 } 2021 </style> 2022 <div data-widget-id="1514f3a1-f462-43b6-a2b2-0ea7a073c5b4" data-placement-id="20defe01-a456-49b1-b74c-3234cb068a29" data-placement-status="ACTIVE"><!-- =========================================== 2023 MEGA MENU STYLES - DO NOT EDIT THIS SECTION 2024 =========================================== --> 2025<style> 2026 [data-content-region="header_bottom--global"] .cm_ng_th_megamenu{ 2027 display:none; 2028 } 2029 2030</style> 2031 2032<!-- =========================================== 2033 MEGA MENU CONTAINER - MAIN WRAPPER 2034 =========================================== --> 2035<div class="cm_ng_th_megamenu"> 2036 2037 <!-- =========================================== 2038 MENU SECTION 2: DASH CAMS 2039 =========================================== --> 2040 <div class="pageBuilder-data-container cm-container" data-cm_nb_th_megamenu="Dash Cams"> 2041 2042 <!-- MOBILE BACK BUTTON - DO NOT EDIT --> 2043 <div class="menu-back-button-mobile"> 2044 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2045 <svg><use href="#icon-chevron-down"></use></svg> 2046 </i>
2047 <span>Back To Menu</span> 2048 </div> 2049 2050 <!-- MAIN CONTENT AREA --> 2051 <div class="pageBuilder-data-main-content"> 2052 2053 <!-- CATEGORY CARDS SECTION - EDIT THESE CARDS BELOW --> 2054 <div class="pageBuilder-data-categories-section"> 2055 2056 <!-- =========================================== 2057 CATEGORY CARD 1 - EDIT THE VALUES BELOW 2058 =========================================== --> 2059 <a href="/dash-cams/" class="pageBuilder-data-category-card"> 2060 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2061 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/dash-cams.png" alt="All Dash Cams"> 2062 <div class="pageBuilder-data-text-container"> 2063 <!-- LINK TEXT - CHANGE THIS TEXT --> 2064 <div class="pageBuilder-data-category-name">All Dash 2065 Cams</div> 2066 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2067 <p class="pageBuilder-data-category-description">Complete 2068 range for 2069 every driver and every journey.</p> 2070 </div> 2071 <!-- ARROW ICON - DO NOT EDIT --> 2072 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2073 <svg><use href="#icon-chevron-down"></use></svg> 2074 </i> 2075 </a> 2076 2077 <!-- =========================================== 2078 CATEGORY CARD 2 - EDIT THE VALUES BELOW 2079 =========================================== --> 2080 <a href="/smart-dash-cams/iq-smart-dash-cam/" class="pageBuilder-data-category-card"> 2081 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2082 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/smart-dashcams.png" alt="Smart Dashcams"> 2083 <div class="pageBuilder-data-text-container"> 2084 <!-- LINK TEXT - CHANGE THIS TEXT --> 2085 <div class="pageBuilder-data-category-name">Smart 2086 Dash Cams</div> 2087 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2088 <p class="pageBuilder-data-category-description">App 2089 control, cloud 2090 storage, and intelligent features.</p> 2091 </div> 2092 <!-- ARROW ICON - DO NOT EDIT --> 2093 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2094 <svg><use href="#icon-chevron-down"></use></svg> 2095 </i> 2096 </a> 2097 2098 <!-- =========================================== 2099 CATEGORY CARD 3 - EDIT THE VALUES BELOW 2100 =========================================== --> 2101 <a href="/4k-dash-cams/" class="pageBuilder-data-category-card"> 2102 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2103 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/4k.png?t=1760344724" alt="4K Dash Cams"> 2104 <div class="pageBuilder-data-text-container"> 2105 <!-- LINK TEXT - CHANGE THIS TEXT --> 2106 <div class="pageBuilder-data-category-name">4K Dash 2107 Cams</div> 2108 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2109 <p class="pageBuilder-data-category-description">Ultra-clear 2110 footage 2111 with every detail captured.</p> 2112 </div> 2113 <!-- ARROW ICON - DO NOT EDIT --> 2114 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2115 <svg><use href="#icon-chevron-down"></use></svg> 2116 </i> 2117 </a> 2118 2119 <!-- =========================================== 2120 CATEGORY CARD 4 - EDIT THE VALUES BELOW 2121 =========================================== --> 2122 <a href="/dash-cams/piqo-dash-cam/" class="pageBuilder-data-category-card"> 2123 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2124 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/screenless.png" alt="Screenless Dash Cams"> 2125 <div class="pageBuilder-data-text-container"> 2126 <!-- LINK TEXT - CHANGE THIS TEXT --> 2127 <div class="pageBuilder-data-category-name">Screenless 2128 Dash Cams</div> 2129 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2130 <p class="pageBuilder-data-category-description">Discreet 2131 design 2132 with seamless phone connectivity.</p> 2133 </div> 2134 <!-- ARROW ICON - DO NOT EDIT --> 2135 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2136 <svg><use href="#icon-chevron-down"></use></svg> 2137 </i> 2138 </a> 2139 2140 <!-- =========================================== 2141 CATEGORY CARD 5 - EDIT THE VALUES BELOW 2142 =========================================== --> 2143 <a href="/dash-cams/renewed-dashcams/" class="pageBuilder-data-category-card"> 2144 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2145 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/refurbished.png" alt="Certified Refurbished"> 2146 <div class="pageBuilder-data-text-container"> 2147 <!-- LINK TEXT - CHANGE THIS TEXT --> 2148 <div class="pageBuilder-data-category-name">Certified 2149 Refurbished</div> 2150 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2151 <p class="pageBuilder-data-category-description">Tested, 2152 trusted, 2153 and more affordable.</p> 2154 </div> 2155 <!-- ARROW ICON - DO NOT EDIT --> 2156 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2157 <svg><use href="#icon-chevron-down"></use></svg> 2158 </i> 2159 </a> 2160 </div> 2161 </div> 2162 2163 <!-- SIDEBAR AREA WITH SHOP BY USE SECTION --> 2164 <div class="pageBuilder-data-sidebar"> 2165 <!-- SIDEBAR HEADER - YOU CAN CHANGE THIS TEXT --> 2166 <div class="shop-heading">Shop By Use</div> 2167 2168 <!-- SIDEBAR LIST - EDIT THESE LINKS BELOW --> 2169 <ul class="pageBuilder-data-sidebar-list"> 2170 <!-- =========================================== 2171 SIDEBAR ITEM 1 - EDIT THE VALUES BELOW 2172 =========================================== --> 2173 <li> 2174 <!-- LINK URL - CHANGE THIS URL --> 2175 <a href="/taxi-bundles/">Cab & Rideshare Drivers</a> 2176 <!-- ARROW ICON - DO NOT EDIT --> 2177 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2178 <svg><use href="#icon-chevron-down"></use></svg> 2179 </i> 2180 </li> 2181 2182 <!-- =========================================== 2183 SIDEBAR ITEM 2 - EDIT THE VALUES BELOW 2184 =========================================== --> 2185 <li> 2186 <!-- LINK URL - CHANGE THIS URL --> 2187 <a href="/smart-dash-cams/iq-smart-dash-cam/">Dash 2188 Cams for New Drivers</a> 2189 <!-- ARROW ICON - DO NOT EDIT --> 2190 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2191 <svg><use href="#icon-chevron-down"></use></svg> 2192 </i> 2193 </li> 2194 2195 <!-- =========================================== 2196 SIDEBAR ITEM 3 - EDIT THE VALUES BELOW 2197 =========================================== --> 2198 <li> 2199 <!-- LINK URL - CHANGE THIS URL --> 2200 <a href="/large-vehicles/">Large Vehicles</a> 2201 <!-- ARROW ICON - DO NOT EDIT --> 2202 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2203 <svg><use href="#icon-chevron-down"></use></svg> 2204 </i> 2205 </li> 2206 2207 2208 <!-- =========================================== 2209 SIDEBAR ITEM 4 - EDIT THE VALUES BELOW 2210 =========================================== --> 2211 <li> 2212 <!-- LINK URL - CHANGE THIS URL --> 2213 <a href="/off-road/">Off Road</a> 2214 <!-- ARROW ICON - DO NOT EDIT --> 2215 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2216 <svg><use href="#icon-chevron-down"></use></svg> 2217 </i> 2218 </li> 2219 </ul> 2220 <!-- FIRST TIME BUYER SECTION - EDIT THE VALUES BELOW --> 2221 <div class="pageBuilder-data-first-time-buyer"> 2222 <!-- ï¸ ICON IMAGE - CHANGE THIS URL TO YOUR ICON --> 2223 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/qlementine-icons-book-16.png?t=1761113333" alt="first-time-buyer"> 2224 <!-- LINK TEXT - CHANGE THIS TEXT AND URL -->
2225 <span><a href="/first-time-buyer-guide/">First 2226 Time Buyer Guide</a></span> 2227 </div> 2228 </div> 2229 </div> 2230 2231 <!-- =========================================== 2232 MENU SECTION 3: ACCESSORIES & PARTS 2233 =========================================== --> 2234 <div class="pageBuilder-data-container cm-container" data-cm_nb_th_megamenu="Accessories"> 2235 2236 <!-- MOBILE BACK BUTTON - DO NOT EDIT --> 2237 <div class="menu-back-button-mobile"> 2238 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2239 <svg><use href="#icon-chevron-down"></use></svg> 2240 </i> 2241 <span>Back To Menu</span> 2242 </div> 2243 2244 <!-- MAIN CONTENT AREA --> 2245 <div class="pageBuilder-data-main-content"> 2246 2247 <!-- CATEGORY CARDS SECTION - EDIT THESE CARDS BELOW --> 2248 <div class="pageBuilder-data-categories-section"> 2249 2250 <!-- =========================================== 2251 CATEGORY CARD 1 - EDIT THE VALUES BELOW 2252 =========================================== --> 2253 <a href="/accessories-parts/" class="pageBuilder-data-category-card"> 2254 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2255 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/accessories-and-parts.png" alt="All Accessories and Parts"> 2256 <div class="pageBuilder-data-text-container"> 2257 <!-- LINK TEXT - CHANGE THIS TEXT --> 2258 <div class="pageBuilder-data-category-name">All 2259 Accessories and 2260 Parts</div> 2261 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2262 <p class="pageBuilder-data-category-description">Everything 2263 you need to upgrade or replace mounts, cables and 2264 parts</p> 2265 </div> 2266 <!-- ARROW ICON - DO NOT EDIT --> 2267 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2268 <svg><use href="#icon-chevron-down"></use></svg> 2269 </i> 2270 </a> 2271 2272 <!-- =========================================== 2273 CATEGORY CARD 2 - EDIT THE VALUES BELOW 2274 =========================================== --> 2275 <a href="/rear-cameras/" class="pageBuilder-data-category-card"> 2276 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2277 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/rear-cameras.png" alt="Rear Cameras"> 2278 <div class="pageBuilder-data-text-container"> 2279 <!-- LINK TEXT - CHANGE THIS TEXT --> 2280 <div class="pageBuilder-data-category-name">Rear 2281 Cameras</div> 2282 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2283 <p class="pageBuilder-data-category-description">Add a 2284 rear view for complete coverage and safer 2285 driving</p> 2286 </div> 2287 <!-- ARROW ICON - DO NOT EDIT --> 2288 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2289 <svg><use href="#icon-chevron-down"></use></svg> 2290 </i> 2291 </a> 2292 2293 <!-- =========================================== 2294 CATEGORY CARD 3 - EDIT THE VALUES BELOW 2295 =========================================== --> 2296 <a href="/nextbase-memory-cards/" class="pageBuilder-data-category-card"> 2297 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2298 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/memmory-cards.png" alt="Nextbase Memory Cards"> 2299 <div class="pageBuilder-data-text-container"> 2300 <!-- LINK TEXT - CHANGE THIS TEXT --> 2301 <div class="pageBuilder-data-category-name">Nextbase 2302 Memory 2303 Cards</div> 2304 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2305 <p class="pageBuilder-data-category-description">Reliable 2306 storage for your recordings with loop support</p> 2307 </div> 2308 <!-- ARROW ICON - DO NOT EDIT --> 2309 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2310 <svg><use href="#icon-chevron-down"></use></svg> 2311 </i> 2312 </a> 2313 2314 <!-- =========================================== 2315 CATEGORY CARD 4 - EDIT THE VALUES BELOW 2316 =========================================== --> 2317 <a href="/accessories/professional-installation-standalone/" class="pageBuilder-data-category-card"> 2318 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2319 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/home-fitting.png" alt="Professional Fitting"> 2320 <div class="pageBuilder-data-text-container"> 2321 <!-- LINK TEXT - CHANGE THIS TEXT --> 2322 <div class="pageBuilder-data-category-name">Professional 2323 Installation</div> 2324 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2325 <p class="pageBuilder-data-category-description">Expert 2326 Installation for perfect setup and peace of mind</p> 2327 </div> 2328 <!-- ARROW ICON - DO NOT EDIT --> 2329 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2330 <svg><use href="#icon-chevron-down"></use></svg> 2331 </i> 2332 </a> 2333 </div> 2334 </div> 2335 2336 <!-- SIDEBAR AREA - CURRENTLY EMPTY --> 2337 <div class="pageBuilder-data-sidebar"> 2338 <!-- You can add sidebar content here if needed --> 2339 </div> 2340 </div> 2341 2342 <!-- =========================================== 2343 MENU SECTION 4: ASSISTANCE 2344 =========================================== --> 2345 2346 2347 <!-- =========================================== 2348 MENU SECTION 5: FLEET 2349 =========================================== --> 2350 <div class="pageBuilder-data-container cm-container" data-cm_nb_th_megamenu="Fleet"> 2351 2352 <!-- MOBILE BACK BUTTON - DO NOT EDIT --> 2353 <div class="menu-back-button-mobile"> 2354 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2355 <svg><use href="#icon-chevron-down"></use></svg> 2356 </i>
2357 <span>Back To Menu</span> 2358 </div> 2359 2360 <!-- MAIN CONTENT AREA --> 2361 <div class="pageBuilder-data-main-content"> 2362 2363 <!-- CATEGORY CARDS SECTION - EDIT THESE CARDS BELOW --> 2364 <div class="pageBuilder-data-categories-section"> 2365 2366 <!-- =========================================== 2367 CATEGORY CARD 1 - EDIT THE VALUES BELOW 2368 =========================================== --> 2369 <a href="" class="pageBuilder-data-category-card"> 2370 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2371 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/fleet-commercial.png" alt="Fleet & Commercial"> 2372 <div class="pageBuilder-data-text-container"> 2373 <!-- LINK TEXT - CHANGE THIS TEXT --> 2374 <div class="pageBuilder-data-category-name">Fleet & 2375 Commercial</div> 2376 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2377 <p class="pageBuilder-data-category-description"></p> 2378 </div> 2379 <!-- ARROW ICON - DO NOT EDIT --> 2380 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2381 <svg><use href="#icon-chevron-down"></use></svg> 2382 </i> 2383 </a> 2384 2385 <!-- =========================================== 2386 CATEGORY CARD 2 - EDIT THE VALUES BELOW 2387 =========================================== --> 2388 <a href="" class="pageBuilder-data-category-card"> 2389 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2390 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/automotive-dealership.png" alt="Automotive Dealership"> 2391 <div class="pageBuilder-data-text-container"> 2392 <!-- LINK TEXT - CHANGE THIS TEXT --> 2393 <div class="pageBuilder-data-category-name">Automotive 2394 Dealership</div> 2395 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2396 <p class="pageBuilder-data-category-description"></p> 2397 </div> 2398 <!-- ARROW ICON - DO NOT EDIT --> 2399 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2400 <svg><use href="#icon-chevron-down"></use></svg> 2401 </i> 2402 </a> 2403 2404 <!-- =========================================== 2405 CATEGORY CARD 3 - EDIT THE VALUES BELOW 2406 =========================================== --> 2407 <a href="" class="pageBuilder-data-category-card"> 2408 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2409 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/lease-and-hire.png" alt="Lease & Hire"> 2410 <div class="pageBuilder-data-text-container"> 2411 <!-- LINK TEXT - CHANGE THIS TEXT --> 2412 <div class="pageBuilder-data-category-name">Lease & 2413 Hire</div> 2414 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2415 <p class="pageBuilder-data-category-description"></p> 2416 </div> 2417 <!-- ARROW ICON - DO NOT EDIT --> 2418 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2419 <svg><use href="#icon-chevron-down"></use></svg> 2420 </i> 2421 </a> 2422 2423 <!-- =========================================== 2424 CATEGORY CARD 4 - EDIT THE VALUES BELOW 2425 =========================================== --> 2426 <a href="" class="pageBuilder-data-category-card"> 2427 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2428 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/telematics-and-tracking.png" alt="Telematics & Tracking"> 2429 <div class="pageBuilder-data-text-container"> 2430 <!-- LINK TEXT - CHANGE THIS TEXT --> 2431 <div class="pageBuilder-data-category-name">Telematics & 2432 Tracking</div> 2433 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2434 <p class="pageBuilder-data-category-description"></p> 2435 </div> 2436 <!-- ARROW ICON - DO NOT EDIT --> 2437 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2438 <svg><use href="#icon-chevron-down"></use></svg> 2439 </i> 2440 </a> 2441 2442 <!-- =========================================== 2443 CATEGORY CARD 5 - EDIT THE VALUES BELOW 2444 =========================================== --> 2445 <a href="" class="pageBuilder-data-category-card"> 2446 <!-- ï¸ IMAGE URL - CHANGE THIS URL TO YOUR IMAGE --> 2447 <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/vechicle-manufacturer.png" alt="Vehicle Manufacturer"> 2448 <div class="pageBuilder-data-text-container"> 2449 <!-- LINK TEXT - CHANGE THIS TEXT --> 2450 <div class="pageBuilder-data-category-name">Vehicle 2451 Manufacturer</div> 2452 <!-- DESCRIPTION - CHANGE THIS DESCRIPTION --> 2453 <p class="pageBuilder-data-category-description"></p> 2454 </div> 2455 <!-- ARROW ICON - DO NOT EDIT --> 2456 <i class="icon navPages-action-moreIcon" aria-hidden="true"> 2457 <svg><use href="#icon-chevron-down"></use></svg> 2458 </i> 2459 </a> 2460 </div> 2461 </div> 2462 2463 </div> 2464</div> 2465 2466<!-- =========================================== 2467 END OF MEGA MENU - DO NOT EDIT BELOW THIS LINE 2468 =========================================== --> 2469 2470 2471 2472 2473 2474</div> 2475 </div> 2476</div> 2477 2478 <div data-widget-id="562982ae-a85d-4b55-8428-6ad87c0a31ae" data-placement-id="abc14289-a5e3-41f2-8941-ca7fc0856434" data-placement-status="ACTIVE"><style> 2479 .review-section ,.trustpilot-widget { 2480 display: none !important; 2481 } 2482</style> 2483</div> 2484</div></div> 2485<div data-content-region="header_bottom"></div> <div class="body" id="main-content" data-currency-code="USD" data-page-type="page"> 2486 2487 <div class="container"> 2488 2489 2490<main class="page"> 2491 <h1 class="page-heading">Exclusive Offers</h1> 2492 2493 2494 <div data-content-region="page_builder_content"></div> 2495 2496 <div class="page-content page-content--centered"> 2497 <div class="cm_nb_defult_page_content"><div class="shogun-root" data-shogun-id="697098f28c5c9391dda8af19" data-shogun-site-id="222629ad-b2ca-48c9-89b7-e56c7a86f78f" data-shogun-page-id="697098f28c5c9391dda8af19" data-shogun-page-version-id="6aa91875d444e6243802d4d3" data-shogun-platform-type="big_commerce" data-shogun-variant-id="6aa91875d444e6243802d856" data-shogun-page-type="page" data-shogun-power-up-type="" data-shogun-power-up-id="" data-region="main"> <link rel="stylesheet" type="text/css" href="https://a.shgcdn2.com/css-2026-03-06-0655/6aa91875d444e6243802d4d3_6aa91875d444e6243802d856.css"/> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Inter:400,300,700,600,500"/>
2497<script type="text/javascript" src="https://a.shgcdn2.com/js-2025-09-16-1610/global-assets-0b41192f1213fbb53e99ab683b8eb509fe691e2b.js" defer></script>
2497
2497<script type="text/javascript" src="https://a.shgcdn2.com/js-2025-09-16-1610/add_ons_asset_6aa91875d444e6243802d4d3_6aa91875d444e6243802d856.js" defer></script>
2497 <div id="s-4ea22603-0556-4e42-8edf-4fb0532b73fc" class="shg-c shg-align-left"> <style> 2498 #main-content{ 2499overflow: hidden; 2500 2501} 2502 2503p { 2504 margin-bottom: 0rem !important; 2505} 2506/*------Style for compatibility text start----------*/ 2507.compatible-section { 2508 /*margin: 10px 0;*/ 2509 font-size: 12px; 2510 } 2511 .compatible-wrapper { 2512 display: flex; 2513 align-items: center; 2514 flex-wrap: wrap; 2515 gap: 5px; 2516 } 2517 .compatible-label { 2518 color: #a0a0a0; 2519 font-weight: 300; 2520 } 2521 .compatible-list { 2522 display: flex; 2523 flex-wrap: nowrap; 2524 gap: 5px; 2525 color: #000; 2526 font-weight:500; 2527 } 2528 .compatible-list span { 2529 display: inline-block; 2530 } 2531 .compatible-list span.bar { 2532 color: #ccc; 2533 margin: 0 3px; 2534 } 2535 2536 /* Mobile layout */ 2537 @media screen and (max-width: 600px) { 2538 .compatible-wrapper { 2539 flex-direction: column; 2540 align-items: center; 2541 text-align: center; 2542 } 2543 .compatible-label { 2544 margin-bottom: 4px; 2545 text-align: center; 2546 } 2547 .compatible-list { 2548 justify-content: center; 2549 gap: 12px; 2550 } 2551 } 2552 /*------Style for compatibility text end----------*/ 2553 2554 2555/*------Award image size adjusted start-----*/ 2556 2557.img-award-sectn img{ 2558 height: 130px !important; 2559 width: auto!important; 2560 } 2561 @media screen and (max-width: 900px) and (min-width: 60px) 2562{ 2563.img-award-sectn img{ 2564 height: 95px !important; 2565 width: auto!important; 2566 } 2567} 2568 /*------Award image size adjusted end-----*/ 2569 /*-----icon+text button style start-----*/ 2570 .iconbutton { 2571 display: inline-flex; /* inline-flex to size based on content */ 2572 justify-content: flex-start; /* align items horizontally */ 2573 align-items: center; /* center vertically */ 2574 padding: 6px 16px; /* padding around content */ 2575 background: #6317FF; 2576 border-radius: 6px; 2577 cursor: pointer; 2578 transition: background 0.3s; 2579 /* Removed fixed width for dynamic sizing */ 2580} 2581 2582.iconbutton:hover { 2583 background: #4718A7; 2584} 2585a.iconbutton { 2586 text-decoration: none; 2587} 2588.icontextbutton { 2589 display: flex; 2590 flex-direction: row; 2591 align-items: center; 2592 gap: 10px; 2593} 2594 2595.icontextbutton p { 2596 margin: 0; 2597 color: white; 2598 font-weight: 500; 2599 font-size: 12px; 2600 text-decoration:none !important; 2601} 2602 2603@media (max-width: 600px) { 2604 .iconbutton { 2605 /* Center the button's internal content */ 2606 justify-content: center; 2607 /* Remove fixed width to allow dynamic sizing */ 2608 margin: 0 auto; 2609 padding: 8px 24px; 2610 } 2611} 2612 /*-----icon+text button style end-----*/ 2613 /*----Button-Adjustments-starts---*/ 2614 .btn-sectn{ 2615 display: inline-block!important; 2616 } 2617 2618/*----Button-Adjustments-ends-----*/ 2619/*-----Price adjustments-starts----*/ 2620.installment-price-section .has-price-divided-by-3-text{ 2621 color:#fff !important; 2622} 2623/*-----Price adjustments-ends----*/ 2624/*Testimonial section background starts---- */ 2625.review_bg_color{ 2626 2627background: linear-gradient(to bottom, #EEF2F5 0%, #F9FBFA 100%); 2628 2629} 2630 2631/*Testimonial section background starts---- */ 2632/*------Tag styles start------*/ 2633 2634 2635 /* Container */ 2636.nb-tag-list { 2637 display: flex; 2638 align-items: center; 2639 justify-content: flex-start; 2640 gap: 5px; 2641} 2642 2643/* Tag item - Button style */ 2644.nb-tag { 2645 2646 font-weight: 400; 2647 letter-spacing: 0.5px; 2648 text-transform: uppercase; 2649 cursor: pointer; 2650 transition: all 0.3s ease; 2651 background-color: #fff; 2652 border-radius: 100px; 2653 padding: 5px 10px; 2654 display: inline-flex; 2655 align-items: center; 2656 justify-content: center; 2657 2658 border: none; /* Remove default border if using <button> */ 2659 white-space: nowrap; /* Prevent text wrapping */ 2660} 2661 2662 2663 2664/* Tag colors */ 2665.nb-tag.red { 2666 color: #ff0000; 2667} 2668 2669.nb-tag.blue { 2670 color: #0045ff; 2671} 2672 2673.nb-tag.gray { 2674 color: #444; 2675} 2676 2677.nb-tag.purple { 2678 color: #8b5cf6; /* Purple color */ 2679} 2680 2681@media (max-width: 600px) { 2682 .nb-tag-list { 2683 display:flex; 2684 justify-content: flex-end !important; 2685 } 2686 .nb-tag { 2687 2688 padding: 5px 6px !important; 2689 } 2690 } 2691/*------Tag styles end------*/ 2692 2693/*------Style for compatibility text start----------*/ 2694.compatible-section { 2695 /*margin: 10px 0;*/ 2696 font-size: 12px; 2697 } 2698 .compatible-wrapper { 2699 display: flex; 2700 align-items: center; 2701 flex-wrap: wrap; 2702 gap: 5px; 2703 } 2704 .compatible-label { 2705 color: #a0a0a0; 2706 font-weight: 300; 2707 } 2708 .compatible-list { 2709 display: flex; 2710 flex-wrap: nowrap; 2711 gap: 5px; 2712 color: #000; 2713 font-weight:500; 2714 } 2715 .compatible-list span { 2716 display: inline-block; 2717 } 2718 .compatible-list span.bar {
2719 color: #ccc; 2720 margin: 0 3px; 2721 } 2722 2723 /* Mobile layout */ 2724 @media screen and (max-width: 600px) { 2725 .compatible-wrapper { 2726 flex-direction: column; 2727 align-items: center; 2728 text-align: center; 2729 } 2730 .compatible-label { 2731 margin-bottom: 4px; 2732 text-align: center; 2733 } 2734 .compatible-list { 2735 justify-content: center; 2736 gap: 12px; 2737 } 2738 } 2739 /*------Style for compatibility text end----------*/ 2740 /*------All Buttons of dahcams to center in mobile start-----*/ 2741 @media screen and (max-width: 900px) and (min-width: 60px) 2742{ 2743 2744 .button-center{ 2745 align-items: center!important; 2746 } 2747} 2748/*------Style for Banner text start----------*/ 2749 .radial_text { 2750 background: radial-gradient( 2751 circle at 40% 40%, 2752 #ffffff 27%, 2753 #dadade 51%, 2754 #060a16 89% 2755 ); 2756 -webkit-background-clip: text; 2757 -webkit-text-fill-color: transparent; 2758 background-clip: text; 2759 text-fill-color: transparent; 2760 text-align: center; 2761} 2762 2763@media (max-width: 768px) { 2764.radial_text { 2765 background: radial-gradient( 2766 circle at 40% 40%, 2767 #ffffff 27%, 2768 #dadade 51%, 2769 #060a16 89% 2770 ); 2771 -webkit-background-clip: text; 2772 -webkit-text-fill-color: transparent; 2773 background-clip: text; 2774 text-fill-color: transparent; 2775 text-align: center; 2776} 2777 } 2778/*------Style for Banner text end----------*/ 2779 2780 .border-container { 2781 border-right-style: solid; 2782 border-right-width: 1px; 2783 border-right-color: #a0a0a0; 2784 margin-bottom: 25px; 2785 height:20px; 2786 2787} 2788 2789/*Award towards left in mobile*/ 2790@media screen and (max-width: 600px) { 2791input[type=checkbox]+label, input[type=radio]+label { 2792 2793 margin-left: 0rem !important; 2794 2795} 2796} 2797@media screen and (max-width: 768px) { 2798 2799.cm_nb_th_plp_sg_action_button a{ 2800 min-width: 120px; 2801 text-align: center !important; 2802} 2803} 2804 2805.cm-discount-percent{ 2806 margin-left: 0.5em !important; 2807 padding: 4px !important; 2808} 2809 2810</style> </div> <div id="s-d179c2e8-ffb1-42fc-b2df-c64ce7b9be4c" class="shg-c shg-align-left"> <style> 2811 2812/* Common styles for all icon grids */ 2813.icon-grid-title { 2814 font-size: 24px; 2815 margin-bottom: 20px; 2816 color: #333; 2817 text-align: center; 2818} 2819 2820.icons-list { 2821 display: flex; 2822 flex-wrap: wrap; 2823 gap: 10px; 2824} 2825 2826/* Each icon block */ 2827.icon-wrapper { 2828 position: static; 2829 text-align: center; 2830 display: flex; 2831 flex-direction: column; 2832 align-items: center; 2833 gap: 8px; 2834} 2835 2836/* Icon SVG container - enhanced border styling */ 2837.icon-svg { 2838 width: 48px; 2839 height: 48px; 2840 cursor: pointer; 2841 position: relative; 2842 border-radius: 50%; 2843 background: transparent; 2844 display: flex;
2845 align-items: center; 2846 justify-content: center; 2847} 2848 2849.icon-svg svg { 2850 fill: none; 2851} 2852 2853/* Icon label */ 2854.icon-label { 2855 /*font-size: 10px;*/ 2856 font-size: var(--nb-fs-txt-md) !important; 2857 font-weight: 300; 2858} 2859 2860.icon-color-black .icon-label { 2861 color: #333; 2862} 2863 2864.icon-color-white .icon-svg { 2865 /*border: 2px solid #ffffff; */ 2866 /* Thicker white circle */ 2867 background: transparent !important; 2868 border-radius: 50%; 2869} 2870 2871.icon-color-white .icon-svg svg { 2872 filter: brightness(0) invert(1); 2873} 2874 2875.icon-color-white .icon-svg svg * { 2876 stroke-width: 1.5px !important; /* Thicker icon lines */ 2877 vector-effect: non-scaling-stroke; 2878} 2879 2880.icon-color-white .icon-label { 2881 color: #ffffff; 2882} 2883 2884/* Background variations for better visibility */ 2885.icon-grid-container.gw .icon-grid-title { 2886 color: #ffffff; 2887} 2888 2889.icon-grid-container.piqo .icon-grid-title { 2890 color: #ffffff; 2891} 2892 2893/* Tooltip styling */ 2894.tooltip-portal { 2895 position: fixed; 2896 background: #fff !important; 2897 color: #000 !important; 2898 filter: none !important; /* Prevent inversion */ 2899 padding: 10px 15px; 2900 border-radius: 10px; 2901 width: 320px; 2902 opacity: 0; 2903 pointer-events: none; 2904 transition: opacity 0.25s ease; 2905 z-index: 2147483647 !important; 2906 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); 2907 text-align: left; 2908 isolation: isolate; 2909} 2910 2911.tooltip-portal.visible { 2912 opacity: 1; 2913 pointer-events: auto; 2914} 2915 2916.tooltip-portal h4 { 2917 margin: 0 0 5px; 2918 font-size: 14px; 2919 font-weight: bold; 2920} 2921 2922.tooltip-portal p { 2923 margin: 0; 2924 font-size: 14px; 2925 line-height: 1.4; 2926} 2927 2928/* Tooltip arrow - UPDATED for better positioning */ 2929.tooltip-portal::after { 2930 content: ""; 2931 position: absolute; 2932 border-width: 10px; 2933 border-style: solid; 2934 filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); 2935} 2936 2937.tooltip-portal.arrow-down::after { 2938 top: 100%; 2939 left: var(--arrow-left, 50%); 2940 transform: translateX(-50%); 2941 border-color: #fff transparent transparent transparent; 2942} 2943 2944.tooltip-portal.arrow-up::after { 2945 bottom: 100%; 2946 left: var(--arrow-left, 50%); 2947 transform: translateX(-50%); 2948 border-color: transparent transparent #fff transparent; 2949 filter: drop-shadow(0 -1px 1px rgba(0, 0, 0, 0.1)); 2950} 2951 2952/* Desktop configurations */ 2953.icons-per-row-2 .icon-wrapper { 2954 flex: 1 1 calc(50% - 10px); 2955 max-width: calc(50% - 10px); 2956} 2957 2958.icons-per-row-3 .icon-wrapper { 2959 flex: 1 1 calc(33.333% - 10px); 2960 max-width: calc(33.333% - 10px); 2961} 2962 2963.icons-per-row-4 .icon-wrapper { 2964 flex: 1 1 calc(25% - 10px); 2965 max-width: calc(25% - 10px); 2966} 2967 2968/* Mobile Styles - Fixed tooltip arrow positioning */ 2969/* Mobile Styles - Strict Containment Rewrite */ 2970@media (max-width:768px) { 2971 /* Main container: Strictly limited to parent width */ 2972 /* Main container: Strictly limited via Grid Hack */ 2973 .icon-grid-container { 2974 display: grid !important; 2975 grid-template-columns: minmax(0, 1fr) !important; 2976 width: 100% !important; 2977 max-width: 100% !important; 2978 margin: 0 0 20px 0 !important; 2979 /* create larger safe space for arrows, squeezing icons closer */ 2980 padding: 0 10px !important; 2981 box-sizing: border-box; 2982 position: relative; 2983 /* Ensure no interference from inherited flex properties */ 2984 flex: 1 1 auto !important; 2985 } 2986 2987 /* Scroll Wrapper: Acts as a mask/crop */ 2988 .mobile-scroll-wrapper { 2989 width: 100% !important; 2990 max-width: 100% !important; 2991 overflow: hidden !important; /* Clips everything */ 2992 position: relative; 2993 padding: 0 !important; 2994 /* Ensure it creates a stacking context and layout boundary */ 2995 contain: layout paint; 2996 } 2997 2998 /* The Scrollable List */ 2999 .icons-list { 3000 display: flex; 3001 flex-wrap: nowrap; 3002 overflow-x: auto; 3003 overflow-y: hidden; 3004 width: 100%; 3005 /* Add padding inside the scroll area for first/last items if needed, or keep 0 */ 3006 padding: 10px 0; 3007 gap: 0; 3008 scroll-snap-type: x mandatory; 3009 -webkit-overflow-scrolling: touch; 3010 scrollbar-width: none; /* Firefox */ 3011 -ms-overflow-style: none; /* IE/Edge */ 3012 } 3013 3014 .icons-list::-webkit-scrollbar { 3015 display: none; 3016 } 3017 3018 /* Icon Item: Strictly defined width */ 3019 .icon-wrapper { 3020 flex: 0 0 25% !important; /* Always 4 items per view */ 3021 width: 25% !important; 3022 max-width: 25% !important; 3023 padding: 0 5px !important; /* Small padding inside the 25% */ 3024 box-sizing: border-box; 3025 scroll-snap-align: start; 3026 display: flex; 3027 flex-direction: column; 3028 align-items: center; 3029 justify-content: flex-start; 3030 } 3031 3032 /* Icon Visuals */ 3033 .icon-svg { 3034 width: 55px; /* Slightly smaller to ensure fit */ 3035 height: 55px; 3036 position: relative; 3037 border-radius: 50%; 3038 display: flex; 3039 align-items: center; 3040 justify-content: center; 3041 margin: 0 auto; /* Center in wrapper */ 3042 } 3043 3044 .icon-label { 3045 3046 font-size: var(--nb-fs-txt-sm) !important; 3047 margin-top: 5px; 3048 white-space: wrap; 3049 overflow: hidden; 3050 text-overflow: ellipsis; 3051 width: 100%; 3052 text-align: center; 3053 } 3054 3055 /* ARROWS: Positioned in the padding area */ 3056 .arrow-nav { 3057 position: absolute; 3058 /* Align with the center of the icon (10px padding + 25px half-icon) */ 3059 top: 35px; 3060 transform: translateY(-50%); 3061 width: 26px; /* Smaller, neater */
3062 height: 26px; 3063 border-radius: 50%; 3064 /*background: rgba(255, 255, 255, 0.95);*/ 3065 /*box-shadow: 0 2px 4px rgba(0,0,0,0.15); */ 3066 display: flex; 3067 align-items: center; 3068 justify-content: center; 3069 z-index: 20; 3070 cursor: pointer; 3071 } 3072 3073 .arrow-nav.arrow-left { 3074 left: 0px; /* Centered in the 54px padding */ 3075 } 3076 3077 .arrow-nav.arrow-right { 3078 right: 0px; 3079 } 3080 3081 /* Ensure svg arrows are sized right */ 3082 .arrow-nav svg { 3083 width: 16px; 3084 height: 16px; 3085 } 3086 3087 /* White theme arrow overrides */ 3088 .arrow-nav.icon-nav-white { 3089 background: transparent; 3090 box-shadow: none; 3091 } 3092 3093 .arrow-nav.icon-nav-white svg { 3094 filter: brightness(0) invert(1); 3095 } 3096 3097 /* Tooltip Fixes for Mobile */ 3098 .tooltip-portal { 3099 width: 260px; 3100 max-width: 90vw; 3101 position: fixed; 3102 } 3103 3104 /* Adjust tooltip pointer if needed, or hide it if centering */ 3105 3106} 3107 3108/* Very small screens */ 3109@media (max-width: 390px) { 3110 .icon-grid-container { 3111 padding: 0 20px !important; 3112 } 3113 3114 .icon-wrapper { 3115 padding: 0 4px !important; 3116 } 3117 3118 .icon-label { 3119 font-size: 9px; 3120 3121 /*font-size: 10px;*/ 3122 3123 } 3124 3125 .arrow-nav { 3126 width: 26px; 3127 height: 26px; 3128 } 3129 3130 .arrow-nav.arrow-left { 3131 left: 4px; 3132 } 3133 3134 .arrow-nav.arrow-right { 3135 right: 4px; 3136 } 3137 3138 .arrow-nav svg { 3139 width: 14px; 3140 height: 14px; 3141 } 3142 3143 .tooltip-portal { 3144 width: 260px; 3145 max-width: calc(100vw - 30px); 3146 } 3147 3148 3149} 3150 3151@media (min-width: 601px) { 3152 .icon-wrapper { 3153 position: relative; 3154 } 3155 3156 /* Hide arrows on desktop */ 3157 .arrow-nav { 3158 display: none !important; 3159 } 3160 3161 /* Remove mobile padding on desktop */ 3162 .icon-grid-container { 3163 padding: 0 !important; 3164 } 3165 3166 .mobile-scroll-wrapper { 3167 display: block; 3168 } 3169 3170} 3171</style>
3171<script> 3172// Common tooltip logic 3173let activeTooltip = null; 3174let activeWrapper = null; 3175let hoverTimeout = null; 3176let hideTimeout = null; 3177 3178function isMobile() { 3179 return window.matchMedia("(max-width: 600px)").matches; 3180} 3181 3182function createTooltip(title, description) { 3183 const tooltip = document.createElement('div'); 3184 tooltip.className = 'tooltip-portal'; 3185 tooltip.innerHTML = `<h4>${title}</h4><p>${description}</p>`; 3186 document.body.appendChild(tooltip); 3187 return tooltip; 3188} 3189 3190function hideTooltip() { 3191 if (activeTooltip) { 3192 // Remove active class from all icons 3193 document.querySelectorAll('.icon-svg').forEach(icon => { 3194 icon.classList.remove('active'); 3195 }); 3196 3197 activeTooltip.classList.remove('visible'); 3198 setTimeout(() => { 3199 if (activeTooltip && activeTooltip.parentNode) { 3200 document.body.removeChild(activeTooltip); 3201 } 3202 activeTooltip = null; 3203 activeWrapper = null; 3204 }, 250); 3205 } 3206} 3207 3208// FIXED: Proper tooltip positioning with correct arrow alignment 3209function positionTooltip(wrapper, tooltip, mobileView) { 3210 const icon = wrapper.querySelector('.icon-svg'); 3211 const rect = icon.getBoundingClientRect(); 3212 const iconCenterX = rect.left + rect.width / 2; 3213 const tooltipWidth = tooltip.offsetWidth || 280; 3214 const tooltipHeight = tooltip.offsetHeight; 3215 const margin = 10; 3216 const viewportWidth = window.innerWidth; 3217 3218 // Calculate tooltip position 3219 let tooltipLeft = iconCenterX - (tooltipWidth / 2); 3220 3221 // Ensure tooltip stays within viewport horizontally 3222 if (tooltipLeft < margin) { 3223 tooltipLeft = margin; 3224 } else if (tooltipLeft + tooltipWidth > viewportWidth - margin) { 3225 tooltipLeft = viewportWidth - tooltipWidth - margin; 3226 } 3227 3228 // Calculate arrow position relative to tooltip 3229 const arrowLeft = iconCenterX - tooltipLeft; 3230 tooltip.style.setProperty('--arrow-left', `${arrowLeft}px`); 3231 3232 if (mobileView) { 3233 // Mobile: Try to position tooltip below the icon first 3234 let tooltipTop = rect.bottom + 10; 3235 3236 // Check if tooltip would go off bottom of screen 3237 if (tooltipTop + tooltipHeight > window.innerHeight - margin) { 3238 // Position above icon if not enough space below 3239 tooltipTop = rect.top - tooltipHeight - 10; 3240 tooltip.classList.add('arrow-down'); 3241 tooltip.classList.remove('arrow-up'); 3242 } else { 3243 // Position below icon 3244 tooltip.classList.add('arrow-up'); 3245 tooltip.classList.remove('arrow-down'); 3246 } 3247 3248 tooltip.style.left = `${tooltipLeft}px`; 3249 tooltip.style.top = `${tooltipTop}px`; 3250 } else { 3251 // Desktop: Always position above icon 3252 const tooltipTop = rect.top - tooltipHeight - 10; 3253 tooltip.style.left = `${tooltipLeft}px`; 3254 tooltip.style.top = `${tooltipTop}px`; 3255 tooltip.classList.add('arrow-down'); 3256 tooltip.classList.remove('arrow-up'); 3257 } 3258} 3259 3260function showTooltip(wrapper, data) { 3261 if (hideTimeout) clearTimeout(hideTimeout); 3262 if (activeWrapper === wrapper) return; 3263 3264 // Add active class to the icon 3265 const icon = wrapper.querySelector('.icon-svg'); 3266 icon.classList.add('active'); 3267 3268 if (activeTooltip) { 3269 activeTooltip.classList.remove('visible'); 3270 setTimeout(() => { 3271 if (activeTooltip && activeTooltip.parentNode) { 3272 document.body.removeChild(activeTooltip); 3273 } 3274 activeTooltip = null; 3275 createAndShowTooltip(wrapper, data); 3276 }, 50); 3277 } else { 3278 createAndShowTooltip(wrapper, data); 3279 } 3280} 3281 3282function createAndShowTooltip(wrapper, data) { 3283 activeTooltip = createTooltip(data.title, data.description); 3284 activeWrapper = wrapper; 3285 requestAnimationFrame(() => { 3286 positionTooltip(wrapper, activeTooltip, isMobile()); 3287 requestAnimationFrame(() => { 3288 activeTooltip.classList.add('visible'); 3289 }); 3290 });
3291} 3292 3293// Function to generate icons for a specific container 3294function generateIcons(containerId, iconsData) { 3295 const container = document.getElementById(containerId); 3296 if (!container) return; 3297 3298 // Clear any existing content 3299 container.innerHTML = ''; 3300 3301 iconsData.forEach(data => { 3302 const wrapper = document.createElement('div'); 3303 wrapper.className = 'icon-wrapper'; 3304 3305 wrapper.innerHTML = ` 3306 <div class="icon-svg" aria-label="${data.label}"> 3307 <svg> 3308 <use href="#${data.iconId}"></use> 3309 </svg> 3310 </div> 3311 <div class="icon-label">${data.label}</div> 3312 `; 3313 3314 container.appendChild(wrapper); 3315 3316 const icon = wrapper.querySelector('.icon-svg'); 3317 if (isMobile()) { 3318 icon.addEventListener('click', e => { 3319 e.stopPropagation(); 3320 if (activeWrapper === wrapper) { 3321 icon.classList.remove('active'); 3322 hideTooltip(); 3323 } else { 3324 // Remove active class from all other icons 3325 document.querySelectorAll('.icon-svg').forEach(otherIcon => { 3326 if (otherIcon !== icon) otherIcon.classList.remove('active'); 3327 }); 3328 icon.classList.add('active'); 3329 showTooltip(wrapper, data); 3330 } 3331 }); 3332 } else { 3333 wrapper.addEventListener('mouseenter', () => { 3334 if (hoverTimeout) clearTimeout(hoverTimeout); 3335 if (hideTimeout) clearTimeout(hideTimeout); 3336 hoverTimeout = setTimeout(() => showTooltip(wrapper, data), 100); 3337 }); 3338 wrapper.addEventListener('mouseleave', () => { 3339 if (hoverTimeout) clearTimeout(hoverTimeout); 3340 hoverTimeout = null; 3341 hideTimeout = setTimeout(() => hideTooltip(), 150); 3342 }); 3343 } 3344 }); 3345} 3346 3347// Fixed arrow navigation 3348function initArrowNavigation() { 3349 if (!isMobile()) { 3350 // Clean up mobile elements on desktop 3351 document.querySelectorAll('.arrow-nav').forEach(arrow => arrow.remove()); 3352 document.querySelectorAll('.mobile-scroll-wrapper').forEach(wrapper => { 3353 const iconsList = wrapper.querySelector('.icons-list'); 3354 if (iconsList) { 3355 wrapper.parentNode.insertBefore(iconsList, wrapper); 3356 } 3357 wrapper.remove(); 3358 }); 3359 // Remove mobile padding from container 3360 document.querySelectorAll('.icon-grid-container').forEach(container => { 3361 container.style.padding = ''; 3362 }); 3363 return; 3364 } 3365 3366 document.querySelectorAll('.icon-grid-container').forEach(container => { 3367 const iconsList = container.querySelector('.icons-list'); 3368 if (!iconsList) return; 3369 3370 // Create mobile wrapper if needed 3371 let mobileWrapper = container.querySelector('.mobile-scroll-wrapper'); 3372 if (!mobileWrapper) { 3373 mobileWrapper = document.createElement('div'); 3374 mobileWrapper.className = 'mobile-scroll-wrapper'; 3375 iconsList.parentNode.insertBefore(mobileWrapper, iconsList); 3376 mobileWrapper.appendChild(iconsList); 3377 } 3378 3379 // Remove wrapper padding for clean layout 3380 mobileWrapper.style.padding = '0'; 3381 3382 // Check if arrows already exist 3383 if (container.querySelector('.arrow-nav')) return; 3384 3385 // Check for white theme 3386 const isWhiteTheme = iconsList.classList.contains('icon-color-white'); 3387 3388 // Create side arrows 3389 const leftArrow = document.createElement('div'); 3390 leftArrow.className = `arrow-nav arrow-left disabled ${isWhiteTheme ? 'icon-nav-white' : ''}`; 3391 leftArrow.innerHTML = ` 3392 <svg viewBox="0 0 24 24"> 3393 <path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/> 3394 </svg> 3395 `; 3396 3397 const rightArrow = document.createElement('div'); 3398 rightArrow.className = `arrow-nav arrow-right ${isWhiteTheme ? 'icon-nav-white' : ''}`; 3399 rightArrow.innerHTML = ` 3400 <svg viewBox="0 0 24 24"> 3401 <path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/> 3402 </svg> 3403 `; 3404 3405 container.appendChild(leftArrow); 3406 container.appendChild(rightArrow); 3407 3408 // Arrow click handlers 3409 leftArrow.addEventListener('click', () => { 3410 if (leftArrow.classList.contains('disabled')) return; 3411 const iconWidth = iconsList.querySelector('.icon-wrapper').offsetWidth; 3412 iconsList.scrollBy({ 3413 left: -iconWidth * 4, 3414 behavior: 'smooth' 3415 }); 3416 }); 3417 3418 rightArrow.addEventListener('click', () => { 3419 if (rightArrow.classList.contains('disabled')) return; 3420 const iconWidth = iconsList.querySelector('.icon-wrapper').offsetWidth; 3421 iconsList.scrollBy({ 3422 left: iconWidth * 4, 3423 behavior: 'smooth' 3424 }); 3425 }); 3426 3427 // Scroll handler to update arrow states 3428 const updateScrollState = () => { 3429 const scrollLeft = iconsList.scrollLeft; 3430 const maxScrollLeft = iconsList.scrollWidth - iconsList.clientWidth; 3431 const tolerance = 5; 3432 3433 leftArrow.classList.toggle('disabled', scrollLeft <= tolerance); 3434 rightArrow.classList.toggle('disabled', scrollLeft >= maxScrollLeft - tolerance); 3435 }; 3436 3437 // Throttle scroll events 3438 let scrollTimeout; 3439 iconsList.addEventListener('scroll', () => { 3440 if (scrollTimeout) clearTimeout(scrollTimeout); 3441 scrollTimeout = setTimeout(updateScrollState, 50); 3442 }); 3443 3444 // Initialize 3445 setTimeout(updateScrollState, 100); 3446 window.addEventListener('resize', updateScrollState); 3447 });
3448} 3449 3450// Close tooltip when clicking outside (mobile) 3451document.addEventListener('click', e => { 3452 if (!isMobile()) return; 3453 if (!e.target.closest('.icon-wrapper') && !e.target.closest('.tooltip-portal')) hideTooltip(); 3454}); 3455 3456// Update tooltip position on scroll and resize 3457window.addEventListener('scroll', () => { 3458 if (activeTooltip && activeWrapper) { 3459 positionTooltip(activeWrapper, activeTooltip, isMobile()); 3460 } 3461}); 3462 3463window.addEventListener('resize', () => { 3464 if (activeTooltip && activeWrapper) { 3465 positionTooltip(activeWrapper, activeTooltip, isMobile()); 3466 } 3467 initArrowNavigation(); 3468}); 3469 3470// Icon data for different product lines 3471const iqIconsData = [ 3472 { 3473 iconId: "4gconnect", 3474 label: "4G Connected", 3475 title: "4G Connected", 3476 description: "Connect from anywhere. The iQ is a 4G Wi-Fi dash cam with a stable connection so you can always see your data." 3477 }, 3478 { 3479 iconId: "liveview", 3480 label: "Live View", 3481 title: "Live View", 3482 description: "See what your car sees. Check your feed from anywhere in the world and set custom alerts so you're always in the loop." 3483 }, 3484 { 3485 iconId: "guardian_mode", 3486 label: "Guardian Mode", 3487 title: "Guardian Mode", 3488 description: "Set speed and location limitations and get an alert if your car breaks them. Tap into your feed from your phone and talk to whoever's driving through your Smart Dash Cam." 3489 }, 3490 { 3491 iconId: "witness_mode", 3492 label: "Witness Mode", 3493 title: "Witness Mode", 3494 description: "Never face danger alone again. Say 'start Witness Mode' anytime you feel on edge. The iQ will lock onto the incident and share live footage with a trusted contact." 3495 }, 3496 { 3497 iconId: "emergency_sos", 3498 label: "Emergency SOS", 3499 title: "Emergency SOS Response", 3500 description: "Alert emergency services in accidents where the driver is unconscious or unable to call for themselves." 3501 }, 3502 { 3503 iconId: "4k_resolution", 3504 label: "4K Resolution", 3505 title: "4K Resolution", 3506 description: "The iQ uses up to 4K resolution (4K Front/1440p Cabin) to capture important details like number plates day or night." 3507 }, 3508 { 3509 iconId: "iq_smart_parking", 3510 label: "Smart Parking", 3511 title: "Smart Sense Parking", 3512 description: "Built-in proximity sensing and custom-trained AI monitor movement around your car, expertly detecting potential threats." 3513 }, 3514 { 3515 iconId: "wifi", 3516 label: "Wi-Fi", 3517 title: "Wi-Fi", 3518 description: "Download and share footage to your smartphone or tablet using MyNextbase Connect." 3519 } 3520]; 3521const iq2kIconsData = [ 3522 3523 { 3524 iconId: "liveview", 3525 label: "Live View", 3526 title: "Live View", 3527 description: "See what your car sees. Check your feed from anywhere in the world and set custom alerts so you're always in the loop." 3528 }, 3529 { 3530 iconId: "guardian_mode", 3531 label: "Guardian Mode", 3532 title: "Guardian Mode", 3533 description: "Set speed and location limitations and get an alert if your car breaks them. Tap into your feed from your phone and talk to whoever's driving through your Smart Dash Cam." 3534 }, 3535 { 3536 iconId: "witness_mode", 3537 label: "Witness Mode", 3538 title: "Witness Mode", 3539 description: "Never face danger alone again. Say 'start Witness Mode' anytime you feel on edge. The iQ will lock onto the incident and share live footage with a trusted contact." 3540 }, 3541 { 3542 iconId: "emergency_sos", 3543 label: "Emergency SOS", 3544 title: "Emergency SOS Response", 3545 description: "Alert emergency services in accidents where the driver is unconscious or unable to call for themselves." 3546 }, 3547 { 3548 iconId: "4k_resolution", 3549 label: "4K Resolution", 3550 title: "4K Resolution", 3551 description: "The iQ uses up to 4K resolution (4K Front/1440p Cabin) to capture important details like number plates day or night." 3552 }, 3553 { 3554 iconId: "iq_smart_parking", 3555 label: "Smart Parking", 3556 title: "Smart Sense Parking", 3557 description: "Built-in proximity sensing and custom-trained AI monitor movement around your car, expertly detecting potential threats." 3558 }, 3559 { 3560 iconId: "wifi", 3561 label: "Wi-Fi", 3562 title: "Wi-Fi", 3563 description: "Download and share footage to your smartphone or tablet using MyNextbase Connect." 3564 } 3565]; 3566const gw622IconsData = [ 3567 3568 { 3569 iconId: "steady", 3570 label: "Steady", 3571 title: "Digital Image Stabilisation", 3572 description: "This next-generation feature is designed to greatly reduce camera vibrations from your vehicle and provide a super smooth, crystal clear image." 3573 }, 3574{ 3575 iconId: "voice_control", 3576 label: "Voice Control", 3577 title: "Voice Control", 3578 description: "Use all the features you love from Voice Control â on the move. Using your Dash Cam ask to play music, place calls, check the weather and more." 3579 }, 3580 { 3581 iconId: "emergency_sos", 3582 label: "Emergency SOS", 3583 title: "Emergency SOS Response", 3584 description: "Intelligent Parking Mode automatically senses any bump or physical movement on your vehicle when it is stationary and prompts your Nextbase Dash Cam to record." 3585 }, 3586 { 3587 iconId: "what3words", 3588 label: "What3words", 3589 title: "What3words", 3590 description: "In partnership with what3words, we can pinpoint your exact position to a three-metre square location." 3591 }, 3592 3593 { 3594 iconId: "wifi", 3595 label: "Wi-Fi", 3596 title: "Wi-Fi", 3597 description: "Download and share footage to your smartphone or tablet using MyNextbase Connect." 3598 }, 3599 { 3600 iconId: "parking_mode", 3601 label: "Parking Mode", 3602 title: "Intelligent Parking Mode", 3603 description: "Intelligent Parking Mode automatically senses any bump or physical movement on your vehicle when it is stationary and prompts your Nextbase Dash Cam to record." 3604 }, 3605 { 3606 iconId: "3inch_touchscreen", 3607 label: "3" Screen", 3608 title: "3" HD IPS Touch Screen", 3609 description: "There are two main benefits to using a touch screen. Firstly the Dash Cam can be made smaller and less obtrusive as we no longer need to add buttons beside the screen." 3610 } 3611]; 3612 3613const gw522IconsData = [ 3614 { 3615 iconId: "2k_resolution", 3616 label: "2K Resolution", 3617 title: "2K Resolution", 3618 description: "With a continued focus on image quality, the 522GW records in stunning 1440p HD at 30fps." 3619 }, 3620 { 3621 iconId: "voice_control", 3622 label: "Voice Control", 3623 title: "Voice Control", 3624 description: "Use all the features you love from Voice Control â on the move. Using your Dash Cam ask to play music, place calls, check the weather and more." 3625 }, 3626 { 3627 iconId: "emergency_sos", 3628 label: "Emergency SOS", 3629 title: "Emergency SOS Response", 3630 description: "Alert emergency services in accidents where the driver is unconscious or unable to call for themselves." 3631 }, 3632 { 3633 iconId: "wifi", 3634 label: "Wi-Fi", 3635 title: "Wi-Fi", 3636 description: "Download and share footage to your smartphone or tablet using MyNextbase Connect." 3637 }, 3638 { 3639 iconId: "parking_mode", 3640 label: "Parking Mode", 3641 title: "Intelligent Parking Mode", 3642 description: "Intelligent Parking Mode automatically senses any bump or physical movement on your vehicle when it is stationary and prompts your Nextbase Dash Cam to record." 3643 }, 3644 { 3645 iconId: "3inch_touchscreen", 3646 label: "3" Screen", 3647 title: "3" HD IPS Touch Screen", 3648 description: "There are two main benefits to using a touch screen. Firstly the Dash Cam can be made smaller and less obtrusive as we no longer need to add buttons beside the screen." 3649 } 3650]; 3651 3652const gw422IconsData = [ 3653 { 3654 iconId: "2k_resolution", 3655 label: "2K Resolution", 3656 title: "2K Resolution", 3657 description: "With a continued focus on image quality, the 522GW records in stunning 1440p HD at 30fps." 3658 }, 3659 { 3660 iconId: "voice_control", 3661 label: "Voice Control", 3662 title: "Voice Control", 3663 description: "Use all the features you love from Voice Control â on the move. Using your Dash Cam ask to play music, place calls, check the weather and more." 3664 }, 3665 { 3666 iconId: "emergency_sos", 3667 label: "Emergency SOS", 3668 title: "Emergency SOS Response", 3669 description: "Alert emergency services in accidents where the driver is unconscious or unable to call for themselves." 3670 }, 3671 { 3672 iconId: "wifi", 3673 label: "Wi-Fi", 3674 title: "Wi-Fi", 3675 description: "Download and share footage to your smartphone or tablet using MyNextbase Connect." 3676 }, 3677 { 3678 iconId: "parking_mode", 3679 label: "Parking Mode", 3680 title: "Intelligent Parking Mode", 3681 description: "Intelligent Parking Mode automatically senses any bump or physical movement on your vehicle when it is stationary and prompts your Nextbase Dash Cam to record." 3682 }, 3683 { 3684 iconId: "ips_screen", 3685 label: "2.5" Screen", 3686 title: "2.5" HD IPS Touch Screen", 3687 description: "There are two main benefits to using a touch screen. Firstly the Dash Cam can be made smaller and less obtrusive as we no longer need to add buttons beside the screen." 3688 } 3689]; 3690 3691const gw322IconsData = [ 3692 { 3693 iconId: "1080p_resolution", 3694 label: "1080p Resolution", 3695 title: "1080p HD recording", 3696 description: "Record the road ahead in full 1080p HD quality at 60fps. The 322GW uses a new and improved 6G lens to capture excellent detail and clarity, making sure you never miss those all-important number plates and road sign details." 3697 }, 3698 { 3699 iconId: "emergency_sos", 3700 label: "Emergency SOS", 3701 title: "Emergency SOS Response", 3702 description: "Alert emergency services in accidents where the driver is unconscious or unable to call for themselves." 3703 }, 3704 { 3705 iconId: "wifi", 3706 label: "Wi-Fi", 3707 title: "Wi-Fi", 3708 description: "Download and share footage to your smartphone or tablet using MyNextbase Connect." 3709 }, 3710 { 3711 iconId: "parking_mode", 3712 label: "Parking Mode", 3713 title: "Intelligent Parking Mode", 3714 description: "Intelligent Parking Mode automatically senses any bump or physical movement on your vehicle when it is stationary and prompts your Nextbase Dash Cam to record." 3715 }, 3716 { 3717 iconId: "ips_screen", 3718 label: "2.5" Screen", 3719 title: "2.5" HD IPS Touch Screen", 3720 description: "There are two main benefits to using a touch screen. Firstly the Dash Cam can be made smaller and less obtrusive as we no longer need to add buttons beside the screen." 3721 } 3722]; 3723 3724const piqoIconsData = [ 3725 { 3726 iconId: "hd_resolution", 3727 label: "HD Resolution", 3728 title: "HD Resolution", 3729 description: "The new Piqo 1K dash cam offers an impressive 2560 x 1080p resolution, making image quality a crucial feature for drivers seeking reliable footage." 3730 }, 3731 { 3732 iconId: "parking_mode", 3733 label: "Smart Parking", 3734 title: "Smart Parking", 3735 description: "Connect your Piqo dash cam with the Quick Connect or Pro Install cable to enable Smart Parking, allowing it to record incidents while parked and protect your car battery." 3736 }, 3737 { 3738 iconId: "emergency_sos", 3739 label: "Emergency SOS", 3740 title: "Emergency SOS Response", 3741 description: "The Emergency SOS feature automatically contacts emergency services in severe accidents, providing vital location and details to ensure quick assistance and improved medical care." 3742 }, 3743 { 3744 iconId: "gps_tracking", 3745 label: "GPS Tracking", 3746 title: "GPS Tracking", 3747 description: "The Piqo dash cam features a 10Hz GPS for highly accurate speed tracking and precise location updates at 10 times per second. This advanced technology enhances the detail of your driving data, ensuring a reliable record of your journey." 3748 }, 3749 3750 { 3751 iconId: "gsensor", 3752 label: "G Sense+", 3753 title: "G Sense+", 3754 description: "The Piqo dash cam's enhanced G Sense + G-force sensor automatically locks crucial footage of impacts and activates recording during Smart Parking mode, ensuring vital evidence is captured even when the vehicle is unattended." 3755 }, 3756 { 3757 iconId: "clickmount", 3758 label: "ClickMount", 3759 title: "ClickMount", 3760 description: "The Piqo ClickMount is a crash-tested, innovative mounting system that allows for quick attachment and detachment of your dash cam, ensuring security while enabling easy transfer between vehicles without permanent installation." 3761 } 3762]; 3763const gw320XRIconsData = [ 3764 { 3765 iconId: "1080p_resolution", 3766 label: "1080p Resolution", 3767 title: "1080p HD recording", 3768 description: "Record the road ahead in full 1080p HD quality at 60fps. The 322GW models uses a new and improved 6G lens to capture excellent detail and clarity, making sure you never miss those all-important number plates and road sign details." 3769 }, 3770 { 3771 iconId: "parking_mode", 3772 label: "Parking Mode", 3773 title: "Intelligent Parking Mode", 3774 description: "Intelligent Parking Mode automatically senses any bump or physical movement on your vehicle when it is stationary and prompts your Nextbase Dash Cam to record." 3775 }, 3776 { 3777 iconId: "ips_screen", 3778 label: "2.5" Screen", 3779 title: "2.5" HD IPS Touch Screen", 3780 description: "There are two main benefits to using a touch screen. Firstly the Dash Cam can be made smaller and less obtrusive as we no longer need to add buttons beside the screen." 3781 } 3782]; 3783const g222IconsData = [ 3784 { 3785 iconId: "1080p_resolution", 3786 label: "1080p Resolution", 3787 title: "1080p HD recording", 3788 description: "Record the road ahead in full 1080p HD quality at 60fps. The 222 uses a new and improved 6G lens to capture excellent detail and clarity, making sure you never miss those all-important number plates and road sign details." 3789 }, 3790 { 3791 iconId: "parking_mode", 3792 label: "Parking Mode", 3793 title: "Intelligent Parking Mode", 3794 description: "Intelligent Parking Mode automatically senses any bump or physical movement on your vehicle when it is stationary and prompts your Nextbase Dash Cam to record." 3795 }, 3796 { 3797 iconId: "ips_screen", 3798 label: "2.5" Screen", 3799 title: "2.5" HD IPS Touch Screen", 3800 description: "There are two main benefits to using a touch screen. Firstly the Dash Cam can be made smaller and less obtrusive as we no longer need to add buttons beside the screen." 3801 } 3802]; 3803// Load SVG sprite from external source 3804function loadSvgSprite() { 3805 return fetch('https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://nextbase.co.uk/content/icons/svg/lp_feature-svgicons.svg') 3806 .then(response => { 3807 if (!response.ok) { 3808 throw new Error('Network response was not ok'); 3809 } 3810 return response.text(); 3811 }) 3812 .then(svgData => { 3813 // Remove any existing sprite to avoid duplicates 3814 const existingSprite = document.getElementById('external-svg-sprite'); 3815 if (existingSprite) { 3816 existingSprite.remove(); 3817
3817 } 3818 3819 // Create and inject the sprite container 3820 const div = document.createElement('div'); 3821 div.id = 'external-svg-sprite'; 3822 div.style.display = 'none'; 3823 div.innerHTML = svgData; 3824 document.body.insertBefore(div, document.body.firstChild); 3825 3826 return true; 3827 }) 3828 .catch(error => { 3829 console.error('Error loading SVG sprite:', error); 3830 return false; 3831 }); 3832} 3833 3834// Initialize all icon grids when DOM is ready and SVG sprite is loaded 3835document.addEventListener('DOMContentLoaded', function() { 3836 loadSvgSprite().then(success => { 3837 if (success) { 3838 console.log('SVG sprite loaded successfully'); 3839 } else { 3840 console.warn('SVG sprite failed to load, using fallback icons'); 3841 } 3842 3843 // Generate all icon grids 3844 generateIcons('iqIconsList', iqIconsData); 3845 generateIcons('icons622GWList', gw622IconsData); 3846 generateIcons('icons522GWList', gw522IconsData); 3847 generateIcons('icons422GWList', gw422IconsData); 3848 generateIcons('icons322GWList', gw322IconsData); 3849 generateIcons('iconsPIQOList', piqoIconsData); 3850 generateIcons('iq2kIconsList', iq2kIconsData); 3851 generateIcons('icons622GWeliteList', gw622IconsData); 3852 generateIcons('icons622GWelitecabinList', gw622IconsData); 3853 generateIcons('icons522GWcabinsuperiorList', gw522IconsData); 3854 generateIcons('icons522GWfullpkgList', gw522IconsData); 3855 generateIcons('icons422GWfullpkgList', gw422IconsData); 3856 generateIcons('icons322GWfullpkgList', gw322IconsData); 3857 generateIcons('icons322GWcabinfullpkgList', gw322IconsData); 3858 generateIcons('iq4kbundleIconsList', iqIconsData); 3859 generateIcons('iq2kbundleIconsList', iq2kIconsData); 3860 generateIcons('iconsPIQO2kbundleList', piqoIconsData); 3861 generateIcons('iconsPIQO1kbundleList', piqoIconsData); 3862 generateIcons('222GIconsList', g222IconsData); 3863 generateIcons('icons320XRList', gw320XRIconsData); 3864 generateIcons('icons322GWvalueList', gw322IconsData); 3865 generateIcons('icons322GWessentailList', gw322IconsData); 3866 generateIcons('icons622GWobdList', gw622IconsData); 3867 // Initialize arrow navigation 3868 initArrowNavigation(); 3869 }); 3870}); 3871 3872// Re-initialize arrows when window resizes 3873window.addEventListener('resize', function() { 3874 initArrowNavigation(); 3875}); 3876</script>
3876 </div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-45003960-dd97-4a79-b519-fe0446be116d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-5be515dd-0548-4d34-bd41-7a6fc904e6f8-root"> <div class="shg-image-margin-container-s-5be515dd-0548-4d34-bd41-7a6fc904e6f8" id="wrap-s-5be515dd-0548-4d34-bd41-7a6fc904e6f8"> <div class="s-5be515dd-0548-4d34-bd41-7a6fc904e6f8 shg-align-container"> <div class="shg-c s-5be515dd-0548-4d34-bd41-7a6fc904e6f8 shogun-image-container shg-align-center" id="s-5be515dd-0548-4d34-bd41-7a6fc904e6f8"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img srcset="https://i.shgcdn.com/711e85ba-4d36-49bf-985a-c9fd5c3b7336/-/format/auto/-/quality/best/-/resize/180x/ 180w,https://i.shgcdn.com/711e85ba-4d36-49bf-985a-c9fd5c3b7336/-/format/auto/-/quality/best/-/resize/360x/ 360w,https://i.shgcdn.com/711e85ba-4d36-49bf-985a-c9fd5c3b7336/-/format/auto/-/quality/best/-/resize/720x/ 720w,https://i.shgcdn.com/711e85ba-4d36-49bf-985a-c9fd5c3b7336/-/format/auto/-/quality/best/-/resize/900x/ 900w,https://i.shgcdn.com/711e85ba-4d36-49bf-985a-c9fd5c3b7336/-/format/auto/-/quality/best/-/resize/1080x/ 1080w,https://i.shgcdn.com/711e85ba-4d36-49bf-985a-c9fd5c3b7336/-/format/auto/-/quality/best/-/resize/1200x/ 1200w,https://i.shgcdn.com/711e85ba-4d36-49bf-985a-c9fd5c3b7336/-/format/auto/-/quality/best/-/resize/1920x/ 1920w" sizes="100vw" src="https://i.shgcdn.com/711e85ba-4d36-49bf-985a-c9fd5c3b7336/-/format/auto/-/quality/best/" alt="A camera and microphone on a dark background." class="shogun-image " decoding="async" loading="eager" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> <div class="shg-c nbs_mt_100 nbs_pb_40 " id="s-134f21b8-e7cd-4b15-b74d-ba868407f17c"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-ee9ec096-48fd-453f-b181-fb654130d0bf"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-4e7d8b89-a822-48b0-87a8-a21fdcd46022" class="shg-c nb_fs_txt_60 nb_fs_txt_tab_40 radial_text nb_text_left hc:nb_fw_600 nbs_pb_sm shg-align-center"> <div class="shogun-heading-component"> <h2> Exclusive<br>Bundles<br> </h2> </div> </div> <div id="s-cb245637-f786-4215-bc73-9cf78e0cff93" class="shg-c nb_fs_txt_md nb_c_secondarylight nb_text_left "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: center; font-size: calc(12px * var(--proportional-font-size) / 100);">Create your perfect Nextbase Dash Cam bundle with cameras and accessories, and enjoy exclusive online discounts. </p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"></div> </div> </div> </div> </div> </div> </div> <div class="shg-image-content-margin-container-s-5be515dd-0548-4d34-bd41-7a6fc904e6f8" id="wrap-content-s-5be515dd-0548-4d34-bd41-7a6fc904e6f8"> <div class="s-5be515dd-0548-4d34-bd41-7a6fc904e6f8 shg-image-content-wrapper"> </div> </div> </div>
3876<script class="__SHG_DATA__" type="application/json"> 3877 { 3878 "__shgImageV3Elements": { "uuid": "s-5be515dd-0548-4d34-bd41-7a6fc904e6f8" } 3879 } 3880 </script>
3880 <div id="s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2-root"> <div class="shg-image-margin-container-s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2" id="wrap-s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2"> <div class="s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2 shg-align-container"> <div class="shg-c s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2 shogun-image-container shg-align-center" id="s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/7cbfd286-202b-47df-9488-35f0ce3767a9/-/format/auto/-/quality/best/" alt="Camera and earbuds on a blue background with a memory card." class="shogun-image " decoding="async" loading="eager" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-19550f28-5157-449b-879c-b4c29cd15956"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-3b1f1624-e960-4bfe-8ae4-bc07d82d4ae9" class="shg-c hc:nb_fw_600 radial_text nb_fs_txt_mob_34 shg-align-center"> <div class="shogun-heading-component"> <h2> Exclusive Bundles </h2> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-image-content-margin-container-s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2" id="wrap-content-s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2"> <div class="s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2 shg-image-content-wrapper"> </div> </div> </div>
3880<script class="__SHG_DATA__" type="application/json"> 3881 { 3882 "__shgImageV3Elements": { "uuid": "s-f47dc143-b696-4eeb-9e79-b3d6634ca5b2" } 3883 } 3884 </script>
3884 </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_14 " id="s-5b662f66-e7e0-44c9-af85-8f7560d55a5d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-8218fcbb-b01a-4bb3-8705-0e19baa5e8cd" class="shg-c "> <div class="icon-slider-wrapper"> <div class="icon-slider-track" id="iconSliderTrack"> <div class="icon-slide"> <div class="icon-inner"> <img src="https://i.shgcdn.com/8701e9c4-6f15-41ac-89b3-55e633d1503c/-/format/auto/-/quality/normal/" alt="Free delivery" class="inline-icon"/> <span class="inline-text nb_fs_txt_md">Free delivery</span> </div> </div> <div class="icon-slide"> <div class="icon-inner"> <img src="https://i.shgcdn.com/a9522751-c6b8-485a-b36c-e0bf6febeb98/-/format/auto/-/quality/normal/" alt="30 days return" class="inline-icon"/> <span class="inline-text nb_fs_txt_md">30 days return</span> </div> </div> <div class="icon-slide"> <div class="icon-inner"> <img src="https://i.shgcdn.com/e01c3f28-73e3-44ea-affe-89be086e88f2/-/format/auto/-/quality/normal/" alt="Up to 3 years warranty*" class="inline-icon"/> <span class="inline-text nb_fs_txt_md">Up to 3 years warranty*</span> </div> </div> <div class="icon-slide"> <div class="icon-inner"> <img src="https://i.shgcdn.com/5968a08c-67f5-4b3b-9d67-72bc4cd9c1c0/-/format/auto/-/quality/normal/" alt=" Buy now, Pay later" class="inline-icon"/> <span class="inline-text nb_fs_txt_md"> Buy now, Pay later</span> </div> </div> </div> </div> <style> 3885 /* Wrapper */ 3886 .icon-slider-wrapper { 3887 width: 100%; 3888 overflow: hidden; 3889 position: relative; 3890 padding: 10px 0; 3891 } 3892 3893 /* Track */ 3894 .icon-slider-track { 3895 display: flex; 3896 transition: transform 0.5s ease-in-out; 3897 will-change: transform; 3898 touch-action: pan-y; 3899 } 3900 3901 /* Each slide */ 3902 .icon-slide { 3903 flex: 0 0 100%; 3904 max-width: 100%; 3905 display: flex; 3906 justify-content: center; 3907 align-items: center; 3908 text-align: center; 3909 } 3910 3911 /* ✅ Fix inline alignment completely */ 3912 .icon-inner { 3913 display: flex !important; 3914 flex-direction: row !important; 3915 align-items: center !important; 3916 justify-content: center !important; 3917 gap: 8px !important; 3918 line-height: 1 !important; 3919 white-space: nowrap !important; 3920 } 3921 3922 .inline-icon { 3923 width: 25px; 3924 height: 25px; 3925 display: inline-block !important; 3926 vertical-align: middle !important; 3927 object-fit: contain !important; 3928 flex-shrink: 0; 3929 } 3930 3931 .inline-text { 3932 display: inline-block !important; 3933 vertical-align: middle !important; 3934 font-weight: 300; 3935 line-height: 1.2; 3936 color: #fff; 3937 white-space: nowrap; 3938 } 3939 3940 /* Mobile layout - 2 items per view with perfect center alignment */ 3941 @media (max-width: 767px) { 3942 .icon-slide { 3943 flex: 0 0 50%; 3944 max-width: 50%; 3945 padding: 10px 5px; 3946 justify-content: center; 3947 text-align: center; 3948 } 3949 3950 .icon-inner { 3951 flex-direction: row !important; 3952 align-items: center !important; 3953 justify-content: center !important; 3954 gap: 6px !important; 3955 width: auto; 3956 margin: 0 auto; 3957 } 3958 3959 .inline-text { 3960 text-align: center; 3961 white-space: normal; 3962 line-height: 1.2; 3963 flex: none; 3964 } 3965 3966 .inline-icon { 3967 width: 20px; 3968 height: 20px; 3969 flex-shrink: 0; 3970 } 3971 } 3972 3973 /* Desktop layout */ 3974 @media (min-width: 768px) { 3975 .icon-slider-track { 3976 flex-wrap: wrap; 3977 justify-content: center; 3978 transform: none !important; 3979 } 3980 3981 .icon-slide { 3982 flex: 0 0 auto; 3983 padding: 10px 20px; 3984 } 3985 } 3986</style>
3986<script> 3987document.addEventListener("DOMContentLoaded", () => { 3988 const track = document.getElementById("iconSliderTrack"); 3989 const slides = Array.from(track.children); 3990 const total = slides.length; 3991 const isMobile = window.innerWidth < 768; 3992 3993 if (!isMobile || total <= 2) return; 3994 3995 let index = 0; 3996 let autoSlideInterval; 3997 let transitioning = false; 3998 3999 const slidesPerView = 2; 4000 4001 // Store original slides for desktop 4002 const originalSlides = [...slides]; 4003 4004 // For odd number of items, we'll use a different approach 4005 // Instead of duplicating, we'll create proper pairs with smart cloning 4006 const isOdd = total % 2 !== 0; 4007 4008 // Clear track and rebuild with proper cloning strategy 4009 track.innerHTML = ''; 4010 4011 // Add prefix clones (last few items) 4012 if (isOdd) { 4013 // For odd numbers: clone last 3 items to beginning 4014 for (let i = total - 3; i < total; i++) { 4015 const clone = originalSlides[i].cloneNode(true); 4016 track.appendChild(clone); 4017 } 4018 } else { 4019 // For even numbers: clone last 4 items to beginning 4020 for (let i = total - 4; i < total; i++) { 4021 const clone = originalSlides[i].cloneNode(true); 4022 track.appendChild(clone); 4023 } 4024 } 4025 4026 // Add all original slides
4027 originalSlides.forEach(slide => { 4028 track.appendChild(slide.cloneNode(true)); 4029 }); 4030 4031 // Add suffix clones (first few items) 4032 if (isOdd) { 4033 // For odd numbers: clone first 3 items to end 4034 for (let i = 0; i < 3; i++) { 4035 const clone = originalSlides[i].cloneNode(true); 4036 track.appendChild(clone); 4037 } 4038 } else { 4039 // For even numbers: clone first 4 items to end 4040 for (let i = 0; i < 4; i++) { 4041 const clone = originalSlides[i].cloneNode(true); 4042 track.appendChild(clone); 4043 } 4044 } 4045 4046 const allSlides = track.querySelectorAll(".icon-slide"); 4047 const totalSlides = allSlides.length; 4048 4049 // Calculate starting position (first original slide) 4050 const prefixClones = isOdd ? 3 : 4; 4051 index = prefixClones; 4052 track.style.transform = `translateX(-${index * 50}%)`; 4053 4054 function updateSlide() { 4055 transitioning = true; 4056 track.style.transition = "transform 0.5s ease-in-out"; 4057 track.style.transform = `translateX(-${index * 50}%)`; 4058 } 4059 4060 function startAutoSlide() { 4061 autoSlideInterval = setInterval(() => { 4062 if (!transitioning) { 4063 index++; 4064 updateSlide(); 4065 } 4066 }, 3000); 4067 } 4068 4069 function stopAutoSlide() { 4070 clearInterval(autoSlideInterval); 4071 } 4072 4073 track.addEventListener("transitionend", () => { 4074 transitioning = false; 4075 4076 // Loop back to beginning if we've passed the actual end 4077 if (index >= totalSlides - slidesPerView) { 4078 track.style.transition = "none"; 4079 index = prefixClones; 4080 track.style.transform = `translateX(-${index * 50}%)`; 4081 } 4082 // Loop to end if we've gone before the beginning 4083 else if (index < prefixClones) { 4084 track.style.transition = "none"; 4085 index = totalSlides - slidesPerView * 2; 4086 track.style.transform = `translateX(-${index * 50}%)`; 4087 } 4088 }); 4089 4090 // Swipe gesture 4091 let startX = 0, endX = 0; 4092 track.addEventListener("touchstart", e => { 4093 stopAutoSlide(); 4094 startX = e.touches[0].clientX; 4095 }); 4096 4097 track.addEventListener("touchmove", e => { 4098 endX = e.touches[0].clientX; 4099 }); 4100 4101 track.addEventListener("touchend", () => { 4102 const diff = endX - startX; 4103 if (Math.abs(diff) > 50 && !transitioning) { 4104 index += diff > 0 ? -1 : 1; 4105 updateSlide(); 4106 } 4107 startAutoSlide(); 4108 }); 4109 4110 // Handle window resize 4111 window.addEventListener("resize", () => { 4112 if (window.innerWidth >= 768) { 4113 stopAutoSlide(); 4114 track.style.transition = "none"; 4115 track.style.transform = "none"; 4116 // Restore original slides for desktop 4117 track.innerHTML = '';
4118 originalSlides.forEach(slide => { 4119 track.appendChild(slide); 4120 }); 4121 } 4122 }); 4123 4124 startAutoSlide(); 4125}); 4126</script>
4126 </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-070de81d-14c7-4163-9f1c-3733ab7741ad"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-53d18cfe-e028-42cd-ae6f-977b12173bf0" class="shg-c shg-align-left"> <style> 4127 .promo-bar { 4128 width: 100%; 4129 background: linear-gradient(135deg, #5b2c91 0%, #7d3cb8 100%); 4130 padding: 15px 20px; 4131 text-align: center; 4132 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); 4133 position: relative; 4134 } 4135 4136 .promo-text { 4137 color: white; 4138 font-size: 14px; 4139 font-weight: 400; 4140 letter-spacing: 0.3px; 4141 line-height: 1.4; 4142 word-break: break-word; 4143 display: inline-block; 4144 } 4145 4146 .promo-code { 4147 font-weight: 700; 4148 font-size: 14px; 4149 padding: 2px 8px; 4150 border: 2px dashed rgba(255, 255, 255, 0.5); 4151 border-radius: 4px; 4152 background: rgba(255, 255, 255, 0.1); 4153 display: inline-flex; 4154 align-items: center; 4155 justify-content: center; 4156 white-space: nowrap; 4157 cursor: pointer; 4158 transition: background 0.2s ease, border-color 0.2s ease; 4159 } 4160 4161 .promo-code:hover { 4162 background: rgba(255, 255, 255, 0.25); 4163 border-color: #fff; 4164 } 4165 4166 .promo-discount { 4167 font-weight: 700; 4168 font-size: 14px; 4169 white-space: nowrap; 4170 } 4171 4172 /* Tooltip style */ 4173 .copied-tooltip { 4174 position: absolute; 4175 top: -35px; 4176 left: 50%; 4177 transform: translateX(-50%); 4178 background: #ffffff; 4179 color: #5b2c91; 4180 padding: 5px 10px; 4181 border-radius: 4px; 4182 font-size: 12px; 4183 font-weight: 600; 4184 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15); 4185 opacity: 0; 4186 transition: opacity 0.3s ease, top 0.3s ease; 4187 pointer-events: none; 4188 } 4189 4190 .copied-tooltip.show { 4191 opacity: 1; 4192 top: -45px; 4193 } 4194 4195 @media (max-width: 480px) { 4196 .promo-bar { 4197 padding: 10px 5px; 4198 } 4199 4200 .promo-text { 4201 font-size: 12px; 4202 display: block; 4203 line-height: 1.5; 4204 } 4205 4206 .promo-code, 4207 .promo-discount { 4208 font-size: 14px; 4209 display: inline-block; 4210 white-space: normal; 4211 } 4212 4213 .copied-tooltip { 4214 top: -30px; 4215 } 4216 } 4217</style> <div class="promo-bar"> <div class="promo-text"> Use code: <span class="promo-code" id="promoCode">FALL15</span> for additional <span class="promo-discount">15% OFF</span> sitewide! </div> <div class="copied-tooltip" id="copiedTooltip"> Coupon Copied!</div> </div>
4217<script> 4218 const promoCode = document.getElementById('promoCode'); 4219 const tooltip = document.getElementById('copiedTooltip'); 4220 4221 promoCode.addEventListener('click', async () => { 4222 try { 4223 await navigator.clipboard.writeText(promoCode.textContent.trim()); 4224 tooltip.classList.add('show'); 4225 setTimeout(() => tooltip.classList.remove('show'), 1500); 4226 } catch (err) { 4227 console.error('Failed to copy code:', err); 4228 } 4229 }); 4230</script>
4230 </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-0fd906cc-d989-405b-bbfb-bed45ec5d268"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-080f7d12-8a66-4412-8ea5-97459387c22b" class="shg-c shg-align-left"> <style> 4231 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); 4232 4233 .nb-gen2-banner { 4234 position: relative; 4235 border-radius: 10px; 4236 margin-right: 1%; 4237 margin-left: 1%; 4238 min-height: 126px; 4239 overflow: hidden; 4240 4241 background-image: url('https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/nb-new-features.png?t=1788430325'); 4242 background-size: cover; 4243 background-position: center center; 4244 background-repeat: no-repeat; 4245 4246 font-family: 'Inter', Arial, sans-serif; 4247 4248 margin-bottom: 10px; 4249 } 4250 4251 .nb-gen2-banner__inner { 4252 width: 100%; 4253 min-height: 126px; 4254 4255 display: flex; 4256 align-items: center; 4257 } 4258 4259 .nb-gen2-banner__content { 4260 margin-left: 42.5%; 4261 width: 55%; 4262 4263 display: flex;
4264 align-items: center; 4265 justify-content: space-between; 4266 4267 gap: 30px; 4268 4269 padding-right: 16%; 4270 box-sizing: border-box; 4271 } 4272 4273 .nb-gen2-banner__copy { 4274 flex: 1; 4275 min-width: 0; 4276 } 4277 4278 .nb-gen2-banner__title { 4279 margin: 0 0 4px; 4280 4281 color: #ffffff; 4282 4283 font-size: 20px; 4284 line-height: 1.15; 4285 font-weight: 700; 4286 letter-spacing: -0.3px; 4287 } 4288 4289 .nb-gen2-banner__text { 4290 margin: 0; 4291 4292 color: #8d8d8d; 4293 4294 font-size: 9px; 4295 line-height: 1.4; 4296 font-weight: 400; 4297 4298 white-space: nowrap; 4299 } 4300 4301 .nb-gen2-banner__cta { 4302 flex-shrink: 0; 4303 4304 display: inline-flex; 4305 align-items: center; 4306 justify-content: center; 4307 4308 min-width: 110px; 4309 height: 36px; 4310 4311 padding: 0 24px; 4312 4313 border: 0; 4314 border-radius: 4px; 4315 4316 background: #6317ff; 4317 4318 color: #ffffff !important; 4319 text-decoration: none !important; 4320 4321 font-family: 'Inter', Arial, sans-serif; 4322 font-size: 11px; 4323 line-height: 1; 4324 font-weight: 600; 4325 4326 box-sizing: border-box; 4327 4328 transition: 4329 opacity 0.2s ease, 4330 transform 0.2s ease; 4331 4332 cursor: pointer; 4333 } 4334 4335 .nb-gen2-banner__cta:hover { 4336 opacity: 0.88; 4337 } 4338 4339 4340 /* ===================================================== 4341 LIGHTBOX 4342 ===================================================== */ 4343 4344 .nb-gen2-lightbox { 4345 position: fixed !important; 4346 4347 top: 0 !important; 4348 right: 0 !important; 4349 bottom: 0 !important; 4350 left: 0 !important; 4351 4352 width: 100vw !important; 4353 height: 100vh !important; 4354 4355 /* 4356 Maximum practical z-index. 4357 This is also moved directly into BODY via JavaScript 4358 so Shogun containers cannot sit above it. 4359 */ 4360 z-index: 2147483647 !important; 4361 4362 display: none; 4363 4364 align-items: center; 4365 justify-content: center; 4366 4367 padding: 30px; 4368 4369 box-sizing: border-box; 4370 4371 /* 4372 Completely solid backdrop 4373 */ 4374 background: #111111 !important; 4375 4376 opacity: 1 !important; 4377 4378 backdrop-filter: none !important; 4379 -webkit-backdrop-filter: none !important; 4380 4381 transform: none !important; 4382 filter: none !important; 4383 4384 isolation: isolate; 4385 } 4386 4387 .nb-gen2-lightbox.is-open { 4388 display: flex !important; 4389 } 4390 4391 4392 /* LIGHTBOX WINDOW */ 4393 4394 .nb-gen2-lightbox__container { 4395 position: relative !important; 4396 4397 z-index: 2147483647 !important; 4398 4399 width: min(1200px, 94vw); 4400 height: min(800px, 90vh); 4401 4402 background: #ffffff !important; 4403 4404 opacity: 1 !important; 4405 4406 border-radius: 12px; 4407 4408 overflow: hidden; 4409 4410 box-shadow: 4411 0 20px 70px rgba(0, 0, 0, 0.5); 4412 } 4413 4414 4415 /* IFRAME */ 4416 4417 .nb-gen2-lightbox__iframe { 4418 position: relative; 4419 4420 z-index: 1; 4421 4422 display: block; 4423 4424 width: 100%; 4425 height: 100%; 4426 4427 border: 0; 4428 4429 background: #ffffff !important; 4430 4431 opacity: 1 !important; 4432 } 4433 4434 4435 /* CLOSE BUTTON */ 4436 4437 .nb-gen2-lightbox__close { 4438 position: absolute; 4439 4440 top: 14px; 4441 right: 14px; 4442 4443 z-index: 2147483647 !important; 4444 4445 width: 42px; 4446 height: 42px; 4447 4448 padding: 0; 4449 4450 border: 0; 4451 border-radius: 50%; 4452 4453 background: #191919; 4454 4455 color: #ffffff; 4456 4457 font-family: Arial, sans-serif; 4458 font-size: 26px; 4459 font-weight: 300; 4460 line-height: 42px; 4461 4462 text-align: center; 4463 4464 cursor: pointer; 4465 4466 box-shadow: 4467 0 3px 15px rgba(0, 0, 0, 0.25); 4468 4469 transition: 4470 background 0.2s ease, 4471 transform 0.2s ease; 4472 } 4473 4474 .nb-gen2-lightbox__close:hover { 4475 background: #6317ff; 4476 transform: scale(1.05); 4477 } 4478 4479 4480 /* STOP PAGE SCROLLING */ 4481 4482 html.nb-gen2-lightbox-open, 4483 body.nb-gen2-lightbox-open { 4484 overflow: hidden !important; 4485 } 4486 4487 4488 /* ===================================================== 4489 MEDIUM LAPTOP 4490 ===================================================== */ 4491 4492 @media (max-width: 1200px) { 4493 4494 .nb-gen2-banner__content { 4495 margin-left: 41%; 4496 width: 58%; 4497 4498 padding-right: 6%; 4499 4500 gap: 22px; 4501 } 4502 4503 .nb-gen2-banner__title { 4504 font-size: 18px; 4505 } 4506 4507 .nb-gen2-banner__text { 4508 font-size: 8px; 4509 } 4510 } 4511 4512 4513 /* ===================================================== 4514 TABLET 4515 ===================================================== */ 4516 4517 @media (max-width: 900px) { 4518 4519 .nb-gen2-banner { 4520 margin-right: 2%; 4521 margin-left: 2%; 4522 4523 min-height: 140px; 4524
4525 background-position: 38% center; 4526 } 4527 4528 .nb-gen2-banner__inner { 4529 min-height: 140px; 4530 } 4531 4532 .nb-gen2-banner__content { 4533 margin-left: 45%; 4534 width: 53%; 4535 4536 padding-right: 20px; 4537 4538 gap: 15px; 4539 } 4540 4541 .nb-gen2-banner__text { 4542 white-space: normal; 4543 } 4544 4545 .nb-gen2-lightbox { 4546 padding: 20px; 4547 } 4548 4549 .nb-gen2-lightbox__container { 4550 width: 96vw; 4551 height: 90vh; 4552 } 4553 } 4554 4555 4556 /* ===================================================== 4557 MOBILE 4558 ===================================================== */ 4559 4560 @media (max-width: 600px) { 4561 4562 .nb-gen2-banner { 4563 min-height: 0; 4564 4565 background-image: none; 4566 background-color: #191919; 4567 4568 overflow: hidden; 4569 } 4570 4571 .nb-gen2-banner::before { 4572 content: ""; 4573 4574 display: block; 4575 4576 width: 100%; 4577 4578 aspect-ratio: 375 / 125; 4579 4580 background-image: url('https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/nb-new-features-mobile.png?t=1788430731'); 4581 4582 background-size: cover; 4583 background-position: center; 4584 background-repeat: no-repeat; 4585 } 4586 4587 .nb-gen2-banner__inner { 4588 width: 100%; 4589 min-height: 0; 4590 4591 display: block; 4592 4593 background: #191919; 4594 } 4595 4596 .nb-gen2-banner__content { 4597 width: 100%; 4598 4599 margin: 0; 4600 4601 padding: 22px 20px 25px; 4602 4603 box-sizing: border-box; 4604 4605 display: flex; 4606 flex-direction: column; 4607 4608 align-items: center; 4609 justify-content: center; 4610 4611 gap: 14px; 4612 4613 text-align: center; 4614 4615 background: #191919; 4616 } 4617 4618 .nb-gen2-banner__copy { 4619 width: 100%; 4620 } 4621 4622 .nb-gen2-banner__title { 4623 margin: 0 0 7px; 4624 4625 font-size: 20px; 4626 line-height: 1.2; 4627 } 4628 4629 .nb-gen2-banner__text { 4630 margin: 0 auto; 4631 4632 max-width: 340px; 4633 4634 font-size: 10px; 4635 line-height: 1.5; 4636 4637 white-space: normal; 4638 } 4639 4640 .nb-gen2-banner__cta { 4641 min-width: 105px; 4642 height: 32px; 4643 4644 padding: 0 20px; 4645 4646 font-size: 10px; 4647 } 4648 4649 4650 /* MOBILE LIGHTBOX */ 4651 4652 .nb-gen2-lightbox { 4653 padding: 10px; 4654 } 4655 4656 .nb-gen2-lightbox__container { 4657 width: 100%; 4658 height: 92vh; 4659 4660 border-radius: 8px; 4661 } 4662 4663 .nb-gen2-lightbox__close { 4664 top: 10px; 4665 right: 10px; 4666 4667 width: 38px; 4668 height: 38px; 4669 4670 font-size: 24px; 4671 line-height: 38px; 4672 } 4673 } 4674</style> <section class="nb-gen2-banner"> <div class="nb-gen2-banner__inner"> <div class="nb-gen2-banner__content"> <div class="nb-gen2-banner__copy"> <h2 class="nb-gen2-banner__title"> Gen 2 version just launched </h2> <p class="nb-gen2-banner__text"> Includes new features like Guardian Mode Lite, Witness Mode Lite and QuickSend </p> </div> <button type="button" class="nb-gen2-banner__cta" id="nbGen2OpenLightbox" aria-haspopup="dialog" aria-controls="nbGen2Lightbox"> Learn more </button> </div> </div> </section> <div class="nb-gen2-lightbox" id="nbGen2Lightbox" role="dialog" aria-modal="true" aria-label="Gen 2 features"> <div class="nb-gen2-lightbox__container"> <button type="button" class="nb-gen2-lightbox__close" id="nbGen2CloseLightbox" aria-label="Close Gen 2 features"> × </button> <iframe class="nb-gen2-lightbox__iframe" id="nbGen2Iframe" title="Nextbase Gen 2 Features" data-src="https://nextbase.com/gen2-features/"></iframe> </div> </div>
4674<script> 4675(function () { 4676 4677 var openButton = 4678 document.getElementById('nbGen2OpenLightbox'); 4679 4680 var lightbox = 4681 document.getElementById('nbGen2Lightbox'); 4682 4683 var closeButton = 4684 document.getElementById('nbGen2CloseLightbox'); 4685 4686 var iframe = 4687 document.getElementById('nbGen2Iframe'); 4688 4689 4690 if ( 4691 !openButton || 4692 !lightbox || 4693 !closeButton || 4694 !iframe 4695 ) { 4696 return; 4697 } 4698 4699 4700 /* 4701 * IMPORTANT SHOGUN FIX 4702 * 4703 * Shogun sections can create their own stacking 4704 * contexts using transforms, positioning or z-index. 4705 * 4706 * Moving the modal directly into BODY means it is no 4707 * longer trapped inside the Shogun section. 4708 */ 4709 4710 if (lightbox.parentNode !== document.body) { 4711 document.body.appendChild(lightbox); 4712 } 4713 4714 4715 /* 4716 * OPEN LIGHTBOX 4717 */ 4718 4719 function openLightbox() { 4720 4721 /* 4722 * Load the Gen 2 page only once the customer 4723 * actually clicks Learn more. 4724 */ 4725 4726 if (!iframe.getAttribute('src')) { 4727 4728 iframe.setAttribute( 4729 'src', 4730 iframe.getAttribute('data-src') 4731 ); 4732 4733 } 4734 4735 4736 lightbox.classList.add('is-open'); 4737 4738 4739 document.documentElement.classList.add( 4740 'nb-gen2-lightbox-open' 4741 ); 4742 4743 4744 document.body.classList.add( 4745 'nb-gen2-lightbox-open' 4746 ); 4747 4748 4749 closeButton.focus(); 4750 4751 } 4752 4753 4754 /* 4755 * CLOSE LIGHTBOX 4756 */ 4757 4758 function closeLightbox() { 4759 4760 lightbox.classList.remove('is-open'); 4761 4762 4763 document.documentElement.classList.remove( 4764 'nb-gen2-lightbox-open' 4765 ); 4766 4767 4768 document.body.classList.remove( 4769 'nb-gen2-lightbox-open' 4770 ); 4771 4772 4773 openButton.focus(); 4774 4775 } 4776 4777 4778 /* 4779 * CTA CLICK 4780 */ 4781 4782 openButton.addEventListener( 4783 'click', 4784 function (event) { 4785 4786 event.preventDefault(); 4787 4788 event.stopPropagation(); 4789 4790 openLightbox(); 4791 4792 } 4793 ); 4794 4795 4796 /* 4797 * CLOSE BUTTON 4798 */ 4799 4800 closeButton.addEventListener( 4801 'click', 4802 function (event) { 4803 4804 event.preventDefault(); 4805 4806 event.stopPropagation(); 4807 4808 closeLightbox(); 4809 4810 } 4811 ); 4812 4813 4814 /* 4815 * CLICK DARK BACKGROUND TO CLOSE 4816 */ 4817 4818 lightbox.addEventListener( 4819 'click', 4820 function (event) { 4821 4822 if (event.target === lightbox) { 4823 4824 closeLightbox(); 4825 4826 } 4827 4828 } 4829 ); 4830 4831 4832 /* 4833 * ESC KEY TO CLOSE 4834 */ 4835 4836 document.addEventListener( 4837 'keydown', 4838 function (event) { 4839 4840 if ( 4841 event.key === 'Escape' && 4842 lightbox.classList.contains('is-open') 4843 ) { 4844 4845 closeLightbox(); 4846 4847 } 4848 4849 } 4850 ); 4851 4852})(); 4853</script>
4853 </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_std " id="s-46928f5b-3c1c-4e10-b098-2b5ea33accd0"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-479d696e-e069-4a3f-a7f7-224758b4c9eb"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_56 nbs_pb_42 " id="s-1719fef9-43a6-4e25-b019-3c0e633f06c5"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 " id="s-b8137564-9fe5-448c-bd0c-0e5520103ad8"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-46071546-4c7a-4d71-aff2-693f526ee522" class="shg-c shg-align-left"> <div class="nb-tag-list"> <div class="nb-tag nb_fs_txt_10 nb_fs_txt_tab_8 nb_fs_txt_mob_8 red nbs_mb_28 nbs_mb_mob_0">#1 SELLER</div> </div> </div> <div id="s-3c96feba-5281-4f24-8503-08a5243e23b6" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div id="s-6897f690-70ea-4bcc-a49e-ffc9b6905681" class="shg-c hc:nb_fw_500 nb_c_secondarydarkest nbs_pb_sm nbs_pb_mob_14 shg-align-left"> <div class="shg-product-title-component"> <h5> <span data-shg-product-target="product-title"></span> </h5> </div>
4853<script class="__SHG_DATA__" type="application/json"> 4854 { 4855 "__shgProductCallback": { 4856 "id": "s-3c96feba-5281-4f24-8503-08a5243e23b6", 4857 "callback": { 4858 "cb": "title", 4859 "data": { 4860 "uuid": "s-6897f690-70ea-4bcc-a49e-ffc9b6905681" 4861 } 4862 } 4863 } 4864 } 4865 </script>
4865 </div>
4865<script class="__SHG_DATA__" type="application/json"> 4866 { 4867 4868 "__shgProductInit": { 4869 "uuid": "s-3c96feba-5281-4f24-8503-08a5243e23b6", 4870 "platform": "big_commerce", 4871 "currency": "USD", 4872 "productId": "149", 4873 "staticVariant": false, 4874 "hideIfDraft": false, 4875 4876 4877 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 4878 4879 4880 4881 "productUrl": "https://shgapi.com/api/products", 4882 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6IjE0OSJ9.5An5pKObVbUb_viL1Czr6GEFhhf8bIE8Y3bjiV14iU0", 4883 4884 4885 4886 "productHandle": "exclusive-offers/622gw-dash-cam-elite-package/", 4887 "productVariantId": 162 4888 4889 }, 4890 "__shgProductCallback": { 4891 "id": "s-3c96feba-5281-4f24-8503-08a5243e23b6", 4892 "callback": { 4893 "cb": "box", 4894 "data": { 4895 "uuid": "s-3c96feba-5281-4f24-8503-08a5243e23b6" 4896 } 4897 } 4898 } 4899 } 4900 </script>
4900 </div> <div id="s-0c4329b1-4b16-4ff6-aa41-29da2ea73903" class="shg-c hc:nb_fw_600 nb_c_primarydark nbs_pb_sm nb_fs_txt_mob_16 shg-align-left"> <div class="shogun-heading-component"> <h6> THE ULTIMATE DASH CAM PACKAGE </h6> </div> </div> <div id="s-63fe50e2-21b3-4711-a699-9c9c7cf56a42" class="shg-c hc:nb_fw_300 nb_c_secondarydarkest nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);"><span style="color: rgb(255, 255, 255);">Bundle the award-winning Nextbase 622GW 4K Dash Cam with the exclusive 256GB SD card and the Nextbase Rear Window Camera</span></p></div> </div> <div id="s-810dab00-c380-41ac-b2fc-ad5f8535469a" class="shg-c hc:nb_fw_300 nb_c_secondarydarkest nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);"><span style="color: rgb(255, 255, 255);">The award-winning 622GW 4K Dash Cam with the exclusive 256GB SD card and the Rear Window </span></p></div> </div> </div> </div> </div></div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_14 nbs_pb_14 nbs_mb_28 " id="s-70a3798e-5bac-472b-8be1-6f64f3443d5b"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-386ea5b3-7158-497c-be2f-1821199317ef" class="shg-c shg-align-right"> <div class="nb-fluid-scale icon-grid-container gw"> <div class="icons-list icons-per-row-4" id="icons622GWeliteList"></div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c save_badge " id="s-d1d72cbe-1e1e-493a-af26-1e27e3b40683"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-79a95b42-5ab6-4e00-86c0-1110918b094b-root"> <div class="shg-image-margin-container-s-79a95b42-5ab6-4e00-86c0-1110918b094b" id="wrap-s-79a95b42-5ab6-4e00-86c0-1110918b094b"> <div class="s-79a95b42-5ab6-4e00-86c0-1110918b094b shg-align-container"> <div class="shg-c s-79a95b42-5ab6-4e00-86c0-1110918b094b shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-top-left cm-nb-sg-bd-cl-purple shg-align-center" id="s-79a95b42-5ab6-4e00-86c0-1110918b094b"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <a class="shogun-image-link" href="/exclusive-offers/622gw-dash-cam-elite-package/"> <img src="https://i.shgcdn.com/998a69ae-81b3-431f-85ac-86d31749ccc0/-/format/auto/-/quality/best/" alt="Dashcam with accessories including a memory card and carrying case." class="shogun-image " decoding="async" loading="eager" draggable="false"/> </a> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-linked"> </div> </div> </div> </div> </div>
4900<script class="__SHG_DATA__" type="application/json"> 4901 { 4902 "__shgImageV3Elements": { "uuid": "s-79a95b42-5ab6-4e00-86c0-1110918b094b" } 4903 } 4904 </script>
4904 </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_16 nbs_mt_mob_16 " id="s-7ac94f83-7fe9-4294-8fde-b7b49f84fe64"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-7e91ad69-b764-4372-9075-53187cc2933a" class="shg-c nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Includes:</p></div> </div> <div id="s-6a014f24-450c-43b4-a727-d1f805d3032d" class="shg-c md:hc:nb_fw_500 nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);"><span style="color: rgb(0, 0, 0); font-weight: 400;"><strong>622GW Dash Cam</strong> | <strong>256GB SD card</strong> |<strong> Rear Window Camera </strong>| <strong>Carry Case</strong> |<strong> Nextbase 1-year extended warranty</strong></span></p></div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 nbs_mt_mob_14 " id="s-ede018a7-3992-4b10-b789-75d8424e
49040b11"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-b10180f9-af82-4f29-87d6-54831e49f97b"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div id="s-9401db6a-9570-40b5-9d7a-2007123629cc" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c view " id="s-3651df30-495c-42a1-8fc7-3f94984aa805"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-b428b04b-b517-4b21-b25d-96b0cf14cfec" class="shg-c hc:nb_fw_500 has-price-divided-by-3 nb_text_left nb_c_secondarydarkest shg-align-left"> <span class="shg-product-sold-out" data-shg-product-target="product-sold-out">Sold out</span> <span class="shg-product-price product-price rca-product-price" data-shg-product-target="product-price"></span> <span class="shg-product-compare-price" data-shg-product-target="product-compare-price"></span>
4904<script class="__SHG_DATA__" type="application/json"> 4905 { 4906 "__shgProductCallback": { 4907 "id": "s-9401db6a-9570-40b5-9d7a-2007123629cc", 4908 "callback": { 4909 "cb": "price", 4910 "data": { 4911 "uuid": "s-b428b04b-b517-4b21-b25d-96b0cf14cfec", 4912 "hasComparePrice": true 4913 } 4914 } 4915 } 4916 } 4917 </script>
4917 </div> </div> </div> </div>
4917<script class="__SHG_DATA__" type="application/json"> 4918 { 4919 4920 "__shgProductInit": { 4921 "uuid": "s-9401db6a-9570-40b5-9d7a-2007123629cc", 4922 "platform": "big_commerce", 4923 "currency": "USD", 4924 "productId": "149", 4925 "staticVariant": true, 4926 "hideIfDraft": false, 4927 4928 4929 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 4930 4931 4932 4933 "productUrl": "https://shgapi.com/api/products", 4934 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6IjE0OSJ9.5An5pKObVbUb_viL1Czr6GEFhhf8bIE8Y3bjiV14iU0", 4935 4936 4937 4938 "productHandle": "exclusive-offers/622gw-dash-cam-elite-package/", 4939 "productVariantId": 162 4940 4941 }, 4942 "__shgProductCallback": { 4943 "id": "s-9401db6a-9570-40b5-9d7a-2007123629cc", 4944 "callback": { 4945 "cb": "box", 4946 "data": { 4947 "uuid": "s-9401db6a-9570-40b5-9d7a-2007123629cc" 4948 } 4949 } 4950 } 4951 } 4952 </script>
4952 </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-e1515087-9048-4edc-8f32-ca6aeb082f96"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-2c26e46a-e311-4764-b0af-032e5e7f1a72-root" class="shg-c shg-btn-wrapper nb_fs_txt_md cm_nb_plp_buy_button nb_c_secondarylight hc:nb_fw_700 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-2c26e46a-e311-4764-b0af-032e5e7f1a72" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/622gw-dash-cam-elite-package/"> Buy Now </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-4d027d32-fe4f-4110-af1b-b4762e69a326"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-93cd397b-e4d3-48e7-b348-c48737f9d127-root" class="shg-c shg-btn-wrapper btn-sectn hc:nb_fw_400 nb_fs_txt_std shg-align-left"> <a id="s-93cd397b-e4d3-48e7-b348-c48737f9d127" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/622gw-dash-cam-elite-package/"> View Details </a> </div> <div id="s-a2bf8f13-cee3-430f-8f70-1528eea4f7f4-root" class="shg-c shg-btn-wrapper nb_fs_txt_std cm_nb_plp_buy_button btn-sectn nb_c_secondarylight hc:nb_fw_700 shg-align-left"> <a id="s-a2bf8f13-cee3-430f-8f70-1528eea4f7f4" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/622gw-dash-cam-elite-package/"> Buy Now </a> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-d31eec30-dffa-40a6-a56e-ac114c3164dd"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c cm_nb_th_plp_sg_action_section " id="s-53315195-1470-4259-81ec-bb9d7df83583"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-e4b707f5-6318-454e-8d73-41bc6876b086"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-110f8526-84c3-44d4-98cf-2f61347d3a0b" class="shg-c shg-align-right"> <div class="icon-popup-wrapper" id="iconPopupWrapper_622_awards_mobile" style=" --icon-text-font-size: 10px; --icon-text-font-weight: 400; --icon-text-color: #000; "> <input type="checkbox" id="iconPopupToggle_622_awards_mobile" class="icon-popup-toggle"/> <label for="iconPopupToggle_622_awards_mobile" class="icon-popup-trigger" id="iconTrigger_622_awards_mobile" title="Awards"> <img src="https://i.shgcdn.com/209f4d49-3980-47ce-87ab-1cecaedc6ef4/-/format/auto/-/quality/normal/" alt="Awards" style="width: 25px; height: 25px; display:block; margin:0 auto;"/> <span style=" display:block; font-size: var(--icon-text-font-size); font-weight: var(--icon-text-font-weight); color: var(--icon-text-color); ">Awards</span> </label> <template id="popupTemplate_622_awards_mobile"> <div class="icon-popup-overlay" id="overlay_622_awards_mobile"> <div class="icon-popup-content" role="dialog" aria-modal="true" aria-labelledby="iconTrigger_622_awards_mobile"> <button class="icon-popup-close" id="closeBtn_622_awards_mobile" title="Close" aria-label="Close popup">×</button> <div class="icon-popup-inner"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-f3bd81f0-a8b9-4ff6-abf5-de72c84e7586"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-9c60a638-f85d-4c1a-a50b-e4d056c8a358" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: left;">Awards</p></div> </div> <div class="shg-c " id="s-47fd95f0-9ee7-4578-ac26-d20677ae6d6e"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-89a104b5-a8b6-4c31-8fdf-541125cc2643"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-61416c87-0669-47d7-a3a4-800b52f18bf2"> <img src="https://i.shgcdn.com/8cea60d2-1456-4eeb-9f41-20ba87be7065/-/format/auto/-/quality/best/" width="" height="" alt="CNET logo in a red circular background with white text." class="shogun-image " decoding="async" loading="lazy"/> </div>
4952<script class="__SHG_DATA__" type="application/json"> 4953 { 4954 "__shgImageElements": { "uuid": "s-61416c87-0669-47d7-a3a4-800b52f18bf2" } 4955 } 4956 </script>
4956 <div id="s-b7c40728-ec7f-47e3-9cfc-23b21c0704ce" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">CNET Roadshow</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-dd7e5529-46fd-4650-97c6-ff9e6690215d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-018d490c-f807-4843-9885-7cd51f7248ab"> <img src="https://i.shgcdn.com/5a3549bb-ff09-4e61-831f-4b7296863212/-/format/auto/-/quality/best/" width="" height="" alt="Forbes Wheels Best of 2022 badge for Nextbase 622GW dash cam." class="shogun-image " decoding="async" loading="lazy"/> </div>
4956<script class="__SHG_DATA__" type="application/json"> 4957 { 4958 "__shgImageElements": { "uuid": "s-018d490c-f807-4843-9885-7cd51f7248ab" } 4959 } 4960 </script>
4960 <div id="s-5c11af8c-be45-4286-9311-56d3542c3048" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">Forbes Wheels</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-e3b5fce5-ae44-4e63-bca2-fc3c1bca5e72"> <img src="https://i.shgcdn.com/e326bc0f-8cf8-40c0-92b6-8ad3d327fd7c/-/format/auto/-/quality/best/" width="" height="" alt="PCWorld Editors' Choice award logo in red and white." class="shogun-image " decoding="async" loading="lazy"/> </div>
4960<script class="__SHG_DATA__" type="application/json"> 4961 { 4962 "__shgImageElements": { "uuid": "s-e3b5fce5-ae44-4e63-bca2-fc3c1bca5e72" } 4963 } 4964 </script>
4964 <div id="s-e763ff95-45f9-4f0f-b343-abcb3a3ba6f4" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">PCWorld - Editors' Choice</span></p></div> </div> </div> </div> </div> <div id="s-d971425f-07ad-4f2c-95dc-c44b126fc45d" class="shg-c nb_c_secondarydarkest "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><h6 style="text-align: center;"><span class="shg-heading-span"><strong>"You have the best Dash cam in existence</strong><strong>"</strong></span></h6> <p style="text-align: center;"><span style="color: rgb(34, 34, 36);">- PCWorld</span></p></div> </div> </div> </div> </div> </div> </div> </div> </template> </div> <style> 4965.icon-popup-wrapper { 4966 position: relative; 4967 display: inline-block; 4968} 4969 4970.icon-popup-toggle { 4971 position: absolute; 4972 left: -9999px; 4973} 4974 4975.icon-popup-trigger { 4976 display: inline-block; 4977 cursor: pointer; 4978} 4979 4980.icon-popup-trigger:hover { 4981 opacity: 0.85; 4982} 4983 4984/* Overlay - APPENDED TO BODY, OUTSIDE STACKING CONTEXT */ 4985.icon-popup-overlay { 4986 position: fixed !important; 4987 inset: 0 !important; 4988 display: none !important; 4989 justify-content: center; 4990 align-items: center; 4991 4992 /* ✨ Glassmorphism background */ 4993 background: rgba(15, 15, 15, 0.35); /* translucent dark layer */ 4994 backdrop-filter: blur(18px) saturate(140%); 4995 -webkit-backdrop-filter: blur(18px) saturate(140%); 4996 border: 1px solid rgba(255, 255, 255, 0.15); 4997 4998 /* optional gradient tint */ 4999 background-image: linear-gradient( 5000 135deg, 5001 rgba(255, 255, 255, 0.06), 5002 rgba(0, 0, 0, 0.45) 5003 ); 5004 5005 z-index: 2147483647 !important; 5006 padding: 20px; 5007 overflow-y: auto; 5008 transition: all 0.3s ease-in-out; 5009} 5010 5011 5012/* Show overlay when checked */ 5013.icon-popup-overlay.show { 5014 display: flex !important; 5015} 5016 5017/* Popup card */ 5018.icon-popup-content { 5019 background: #fff; 5020 padding: 22px; 5021 border-radius: 10px; 5022 max-width: 60vw; 5023 width: 100%; 5024 max-height: 80vh; 5025 overflow: hidden !important; 5026 position: relative; 5027 margin: 0 auto; 5028 /* box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); */ 5029 animation: popupFadeIn 0.2s 5030ease; 5031} 5032 5033@keyframes popupFadeIn { 5034 from { 5035 opacity: 0; 5036 transform: scale(0.95); 5037 } 5038 to { 5039 opacity: 1; 5040 transform: scale(1); 5041 } 5042} 5043 5044/* Close button */ 5045.icon-popup-close { 5046 position: absolute; 5047 top: 10px; 5048 right: 14px; 5049 font-size: 26px; 5050 line-height: 1; 5051 cursor: pointer; 5052 background: transparent !important; 5053 color:#000 !important; 5054 border: none; 5055 padding: 2px 8px; 5056 border-radius: 4px; 5057 z-index: 10; 5058 transition: all 0.2s ease; 5059 color: #333; 5060} 5061 5062.icon-popup-close:hover { 5063 background: transparent !important; 5064 transform: scale(1.1); 5065} 5066 5067/* Inner content */ 5068.icon-popup-inner { 5069 min-height: 150px; 5070} 5071 5072/* Prevent body scroll when popup is open */ 5073body.icon-popup-open { 5074 overflow: hidden !important; 5075} 5076 5077/* Editor mode adjustments */ 5078body.shogun-editor .icon-popup-overlay { 5079 position: relative !important; 5080 background: transparent !important; 5081 justify-content: flex-start !important; 5082 align-items: flex-start !important; 5083 padding: 0 !important; 5084 z-index: auto !important; 5085} 5086 5087body.shogun-editor .icon-popup-content { 5088 max-height: none !important; 5089 overflow: visible !important; 5090 width: 100% !important; 5091 margin: 10px 0 !important; 5092} 5093 5094body.shogun-editor template { 5095 display: block !important; 5096} 5097 5098/* Responsive adjustments */ 5099@media (max-width: 768px) { 5100 .icon-popup-content { 5101 width:100%; 5102 max-width: 95vw !important; 5103 padding: 10px; 5104 max-height: 85vh; 5105 } 5106 5107 .icon-popup-close { 5108 top: 8px; 5109 right: 12px; 5110 font-size: 24px; 5111 } 5112} 5113 5114@media (max-width: 768px) { 5115 5116 .icon-popup-wrapper .icon-popup-trigger { 5117 display: inline-flex !important; 5118 align-items: center !important; 5119 gap: 4px !important; 5120 text-align: left !important; 5121 } 5122 5123 .icon-popup-wrapper .icon-popup-trigger img { 5124 display: inline-block !important; 5125 margin: 0px !important; 5126 } 5127 5128 .icon-popup-wrapper .icon-popup-trigger span { 5129 display: inline-block !important; 5130 margin-top: 0 !important; 5131 white-space: normal; 5132 } 5133} 5134 5135/* Desktop: icon + text inline */ 5136@media (min-width: 769px) { 5137 .icon-popup-wrapper .icon-popup-trigger { 5138 display: inline-flex;
5139 align-items: center; 5140 gap: 8px; 5141 text-align: left; 5142 } 5143 5144 .icon-popup-wrapper .icon-popup-trigger img { 5145 margin: 0; 5146 display: inline-block; 5147 } 5148 5149 .icon-popup-wrapper .icon-popup-trigger span { 5150 display: inline-block; 5151 margin-top: 0; 5152 white-space: nowrap; 5153 } 5154} 5155 5156 5157</style>
5157<script> 5158(function() { 5159 try { 5160 var checkbox = document.getElementById('iconPopupToggle_622_awards_mobile'); 5161 var template = document.getElementById('popupTemplate_622_awards_mobile'); 5162 5163 if (!checkbox || !template) { 5164 console.warn('Icon popup elements not found'); 5165 return; 5166 } 5167 5168 // Clone popup from template and append to body 5169 var popupClone = template.content.cloneNode(true); 5170 var popupElement = popupClone.querySelector('.icon-popup-overlay'); 5171 5172 // Append to body to escape any stacking contexts 5173 document.body.appendChild(popupClone); 5174 5175 // Get the appended overlay element 5176 var overlay = document.getElementById('overlay_622_awards_mobile'); 5177 var closeBtn = document.getElementById('closeBtn_622_awards_mobile'); 5178 5179 if (!overlay) { 5180 console.error('Failed to append popup overlay'); 5181 return; 5182 } 5183 5184 // Function to open popup 5185 function openPopup() { 5186 overlay.classList.add('show'); 5187 document.body.classList.add('icon-popup-open'); 5188 document.body.dataset.scrollY = window.scrollY; 5189 5190 // Focus trap 5191 setTimeout(function() { 5192 var focusableElements = overlay.querySelectorAll( 5193 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' 5194 ); 5195 if (focusableElements.length) { 5196 focusableElements[0].focus(); 5197 } 5198 }, 100); 5199 } 5200 5201 // Function to close popup 5202 function closePopup() { 5203 overlay.classList.remove('show'); 5204 document.body.classList.remove('icon-popup-open'); 5205 checkbox.checked = false; 5206 5207 if (document.body.dataset.scrollY) { 5208 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 5209 } 5210 } 5211 5212 // Toggle popup when checkbox changes 5213 checkbox.addEventListener('change', function() { 5214 if (this.checked) { 5215 openPopup(); 5216 } else { 5217 closePopup(); 5218 } 5219 }); 5220 5221 // Close button 5222 if (closeBtn) { 5223 closeBtn.addEventListener('click', function(e) { 5224 e.preventDefault(); 5225 closePopup(); 5226 }); 5227 } 5228 5229 // Close on clicking outside content 5230 overlay.addEventListener('click', function(ev) { 5231 if (ev.target === overlay) { 5232 closePopup(); 5233 } 5234 }); 5235 5236 // Close on Escape key 5237 document.addEventListener('keydown', function(ev) { 5238 if (ev.key === 'Escape' && checkbox.checked) { 5239 closePopup(); 5240 } 5241 }); 5242 5243 // Prevent background scroll 5244 overlay.addEventListener('wheel', function(ev) { 5245 var content = overlay.querySelector('.icon-popup-content'); 5246 if (content && ev.target === overlay) { 5247 ev.preventDefault(); 5248 } 5249 }, { passive: false }); 5250 5251 // Clean up on page unload 5252 window.addEventListener('beforeunload', function() { 5253 if (overlay && overlay.parentNode) { 5254 overlay.parentNode.removeChild(overlay); 5255 } 5256 }); 5257 5258 } catch(e) { 5259 console.error('Icon popup JS initialization failed:', e); 5260 } 5261})(); 5262</script>
5262 </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-96749377-c542-4113-be59-e5994ebeaba0"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-90ef01d1-a675-4a45-bac3-490593f700a7" class="shg-c nb_c_secondarylight "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_622_videomobile_elite"> <input type="checkbox" id="icon_videopopup_toggle_622_videomobile_elite" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_622_videomobile_elite" class="icon_videopopup_trigger" id="icon_videopopup_trigger_622_videomobile_elite"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/65b9834d-5e86-4441-a2c4-7f0e3d07d1de/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_622_videomobile_elite"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_622_videomobile_elite"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_622_videomobile_elite"> <button class="icon_videopopup_close" id="icon_videopopup_close_622_videomobile_elite" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_622_videomobile_elite" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_622_videomobile_elite" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_622_videomobile_elite" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_622_videomobile_elite" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_622_videomobile_elite"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 5263#icon_videopopup_wrapper_622_videomobile_elite { position: relative; display: inline-block; } 5264#icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_toggle { position: absolute; left: -9999px; } 5265 5266#icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_trigger { 5267 display: inline-flex; align-items: center; cursor: pointer; 5268 transition: opacity 0.25s ease; 5269} 5270#icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_trigger:hover { opacity: 0.85; } 5271 5272#icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_inline { 5273 display: flex; align-items: center; gap: 10px; 5274} 5275#icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_icon { 5276 width: 20px; 5277 height: 20px; 5278} 5279#icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_textblock { 5280 color: #000; 5281 display: flex; flex-direction: column; justify-content: center; 5282} 5283#icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_heading { 5284 font-size: 10px; 5285 font-weight: 600; 5286 margin: 0; 5287} 5288#icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_subtext { 5289 font-size: 10px; 5290 font-weight: 300; 5291 margin: 0; 5292} 5293 5294#icon_videopopup_overlay_622_videomobile_elite { 5295 position: fixed; inset: 0; display: none; 5296 justify-content: center; align-items: center; 5297 background: rgba(15,15,15,0.35); 5298 backdrop-filter: blur(18px) saturate(140%); 5299 -webkit-backdrop-filter: blur(18px) saturate(140%); 5300 border: 1px solid rgba(255,255,255,0.15); 5301 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 5302 z-index: 2147483647; padding: 20px; overflow-y: auto; 5303 transition: all 0.3s ease-in-out; 5304} 5305#icon_videopopup_overlay_622_videomobile_elite.show { display: flex; } 5306 5307#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_modal { 5308 padding: 0; border-radius: 10px; max-width: 65vw; 5309 width: 80%; max-height: 85vh; overflow: hidden; 5310 background: transparent; position: relative; 5311} 5312#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_close { 5313 position: absolute; top: 5px; right: 10px; font-size: 28px; 5314 color: #fff; background: transparent; border: none; 5315 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 5316} 5317#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_close:hover { transform: scale(1.1); } 5318 5319/* Video Container */ 5320#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_videocontainer { 5321 position: relative; width: 100%; 5322 display: flex; justify-content: center; align-items: center; 5323 background: #000; 5324} 5325#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_video { 5326 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 5327} 5328 5329/* Play & Pause Button wrappers */ 5330#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_play, 5331#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_pause { 5332 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 5333 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 5334 padding: 0; 5335} 5336 5337/* Center play button */ 5338#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_play { 5339 top: 50%; left: 50%; transform: translate(-50%, -50%); 5340 width: 60px; height: 60px; border-radius: 50%; 5341} 5342 5343/* Pause small floating control */ 5344#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_pause { 5345 bottom: 20px; right: 20px; 5346 width: 45px; height: 55px; border-radius: 50%; 5347 display: none; 5348} 5349 5350/* SVG visuals */ 5351#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_svg_play, 5352#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_svg_pause { 5353 width: 100%; height: 100%; display: block; pointer-events: none; 5354 border-radius: 50%; 5355 filter: none; 5356 transition: transform 0.2s ease; 5357} 5358#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_play:hover .icon_videopopup_svg_play, 5359#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 5360 transform: scale(1.06); 5361} 5362 5363/* Audio Indicator */ 5364#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_audioindicator { 5365 position: absolute; bottom: 20px; left: 20px; 5366 background: rgba(0, 0, 0, 0.7); color: #fff; 5367 padding: 8px 12px; border-radius: 20px; 5368 font-size: 14px; display: none; z-index: 10; 5369 transition: all 0.3s ease; 5370} 5371#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_audioindicator.show { display: block; } 5372#icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_audioindicator.hidden { display: none; } 5373 5374/* Responsive */ 5375@media (max-width: 768px) { 5376 #icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_modal { 5377 width: 100%; max-width: 100%; 5378 } 5379 #icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_play { 5380 width: 50px; height: 50px; 5381 } 5382 #icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 5383 #icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_pause { 5384 width: 40px; height: 40px; bottom: 15px; right: 15px; 5385 } 5386 #icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_audioindicator { 5387 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 5388 } 5389 #icon_videopopup_overlay_622_videomobile_elite .icon_videopopup_close { 5390 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 5391 color: #fff; background: transparent; border: none; 5392 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 5393 } 5394 #icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_inline { 5395 display: flex; align-items: center; gap: 5px !important; 5396 } 5397} 5398 5399/* Heading and subtext inline in mobile */ 5400@media (max-width: 768px) { 5401 #icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_trigger .icon_videopopup_textblock { 5402 display: flex !important; 5403 flex-direction: row !important;
5404 align-items: center !important; 5405 gap: 0px !important; 5406 } 5407 5408 #icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_heading, 5409 #icon_videopopup_wrapper_622_videomobile_elite .icon_videopopup_subtext { 5410 display: inline !important; 5411 margin: 0 !important; 5412 white-space: nowrap !important; 5413 } 5414} 5415</style>
5415<script> 5416(function() { 5417 try { 5418 var toggle = document.getElementById('icon_videopopup_toggle_622_videomobile_elite'); 5419 var template = document.getElementById('icon_videopopup_template_622_videomobile_elite'); 5420 if (!toggle || !template) return; 5421 5422 var isInitialized = false; 5423 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 5424 5425 function initPopup() { 5426 if (isInitialized) return; 5427 5428 // Clone template into DOM on demand 5429 var popupClone = template.content.cloneNode(true); 5430 document.body.appendChild(popupClone); 5431 5432 overlay = document.getElementById('icon_videopopup_overlay_622_videomobile_elite'); 5433 closeBtn = document.getElementById('icon_videopopup_close_622_videomobile_elite'); 5434 video = document.getElementById('icon_videopopup_video_622_videomobile_elite'); 5435 videoSource = document.getElementById('icon_videopopup_source_622_videomobile_elite'); 5436 playBtn = document.getElementById('icon_videopopup_play_622_videomobile_elite'); 5437 pauseBtn = document.getElementById('icon_videopopup_pause_622_videomobile_elite'); 5438 audioIndicator = document.getElementById('icon_videopopup_audioindicator_622_videomobile_elite'); 5439 5440 // Set video source lazily upon first interaction 5441 var isMobile = window.innerWidth <= 768; 5442 var mobileSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/f6220b55-c6d3-4de2-b10a-f64b8a3f5957/01_04_19_Nextbase_622_High_Res_1920.mp4".trim(); 5443 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/f6220b55-c6d3-4de2-b10a-f64b8a3f5957/01_04_19_Nextbase_622_High_Res_1920.mp4".trim(); 5444 5445 videoSource.src = (isMobile && mobileSrc && mobileSrc !== 'https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/f6220b55-c6d3-4de2-b10a-f64b8a3f5957/01_04_19_Nextbase_622_High_Res_1920.mp4') ? mobileSrc : desktopSrc; 5446 video.load(); 5447 5448 // Attach control event listeners 5449 closeBtn.addEventListener('click', closePopup); 5450 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 5451 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 5452 5453 if (playBtn) playBtn.addEventListener('click', function() { 5454 if (video) { 5455 video.play(); 5456 video.muted = false; 5457 } 5458 playBtn.style.display = 'none'; 5459 if (pauseBtn) pauseBtn.style.display = 'flex'; 5460 }); 5461 5462 if (pauseBtn) pauseBtn.addEventListener('click', function() { 5463 if (video) video.pause(); 5464 if (playBtn) playBtn.style.display = 'flex'; 5465 pauseBtn.style.display = 'none'; 5466 }); 5467 5468 if (video) { 5469 video.addEventListener('click', enableAudio); 5470 video.addEventListener('play', function() { 5471 if (playBtn) playBtn.style.display = 'none'; 5472 if (pauseBtn) pauseBtn.style.display = 'flex'; 5473 }); 5474 5475 video.addEventListener('ended', function() { 5476 if (pauseBtn) pauseBtn.style.display = 'none'; 5477 if (playBtn) playBtn.style.display = 'flex'; 5478 }); 5479 } 5480 5481 isInitialized = true; 5482 } 5483 5484 function openPopup() { 5485 // Lazy initialize the DOM structure and video load on click 5486 initPopup(); 5487 5488 overlay.classList.add('show'); 5489 document.body.classList.add('icon_videopopup_open'); 5490 document.body.dataset.scrollY = window.scrollY; 5491 5492 var autoplayMuted = "" === 'true'; 5493 if (autoplayMuted) { 5494 video.muted = true; 5495 if (audioIndicator) audioIndicator.style.display = 'block'; 5496 } else { 5497 video.muted = false; 5498 if (audioIndicator) audioIndicator.style.display = 'none'; 5499 } 5500 5501 video.play().then(function() { 5502 if (playBtn) playBtn.style.display = 'none'; 5503 if (pauseBtn) pauseBtn.style.display = 'flex'; 5504 }).catch(function(error) { 5505 console.log('Autoplay failed:', error); 5506 if (playBtn) playBtn.style.display = 'flex'; 5507 if (pauseBtn) pauseBtn.style.display = 'none'; 5508 }); 5509 } 5510 5511 function closePopup() { 5512 if (!overlay) return; 5513 overlay.classList.remove('show');
5514 document.body.classList.remove('icon_videopopup_open'); 5515 toggle.checked = false; 5516 if (video) { 5517 video.pause(); 5518 video.currentTime = 0; 5519 } 5520 if (playBtn) playBtn.style.display = 'flex'; 5521 if (pauseBtn) pauseBtn.style.display = 'none'; 5522 if (document.body.dataset.scrollY) { 5523 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 5524 } 5525 } 5526 5527 function enableAudio() { 5528 if (video && video.muted) { 5529 video.muted = false; 5530 if (audioIndicator) audioIndicator.style.display = 'none'; 5531 } 5532 } 5533 5534 toggle.addEventListener('change', function() { 5535 toggle.checked ? openPopup() : closePopup(); 5536 }); 5537 5538 } catch(e) { 5539 console.error('Icon Video Popup initialization failed:', e); 5540 } 5541})(); 5542</script>
5542 </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div id="s-c1d6d178-cc19-4ba1-bdcd-f59328d4b510-root" class="shg-c shg-btn-wrapper nb_fs_txt_md hc:nb_fw_400 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-c1d6d178-cc19-4ba1-bdcd-f59328d4b510" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/622gw-dash-cam-elite-package/"> View Details </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c main-rowgallery save_badge " id="s-cdb3f0ce-7b4f-437c-847c-32bb988dd064"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-080aec54-b073-44cb-b662-7c1b7da8e923"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div id="s-b38b4585-168a-47b7-a44d-a0dd661faae6" class="shg-c border-container shg-align-right"> <div class="icon-popup-wrapper" id="iconPopupWrapper_622_awards_desk" style=" --icon-text-font-size: 10px; --icon-text-font-weight: 300; --icon-text-color: #000; "> <input type="checkbox" id="iconPopupToggle_622_awards_desk" class="icon-popup-toggle"/> <label for="iconPopupToggle_622_awards_desk" class="icon-popup-trigger" id="iconTrigger_622_awards_desk" title="Awards"> <img src="https://i.shgcdn.com/209f4d49-3980-47ce-87ab-1cecaedc6ef4/-/format/auto/-/quality/normal/" alt="Awards" style="width: 30px; height: 30px; display:block; margin:0 auto;"/> <span style=" display:block; font-size: var(--icon-text-font-size); font-weight: var(--icon-text-font-weight); color: var(--icon-text-color); ">Awards</span> </label> <template id="popupTemplate_622_awards_desk"> <div class="icon-popup-overlay" id="overlay_622_awards_desk"> <div class="icon-popup-content" role="dialog" aria-modal="true" aria-labelledby="iconTrigger_622_awards_desk"> <button class="icon-popup-close" id="closeBtn_622_awards_desk" title="Close" aria-label="Close popup">×</button> <div class="icon-popup-inner"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-f3bd81f0-a8b9-4ff6-abf5-de72c84e7586"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-9c60a638-f85d-4c1a-a50b-e4d056c8a358" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: left;">Awards</p></div> </div> <div class="shg-c " id="s-47fd95f0-9ee7-4578-ac26-d20677ae6d6e"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-89a104b5-a8b6-4c31-8fdf-541125cc2643"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-61416c87-0669-47d7-a3a4-800b52f18bf2"> <img src="https://i.shgcdn.com/8cea60d2-1456-4eeb-9f41-20ba87be7065/-/format/auto/-/quality/best/" width="" height="" alt="CNET logo in a red circular background with white text." class="shogun-image " decoding="async" loading="lazy"/> </div>
5542<script class="__SHG_DATA__" type="application/json"> 5543 { 5544 "__shgImageElements": { "uuid": "s-61416c87-0669-47d7-a3a4-800b52f18bf2" } 5545 } 5546 </script>
5546 <div id="s-b7c40728-ec7f-47e3-9cfc-23b21c0704ce" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">CNET Roadshow</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-dd7e5529-46fd-4650-97c6-ff9e6690215d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-018d490c-f807-4843-9885-7cd51f7248ab"> <img src="https://i.shgcdn.com/5a3549bb-ff09-4e61-831f-4b7296863212/-/format/auto/-/quality/best/" width="" height="" alt="Forbes Wheels Best of 2022 badge for Nextbase 622GW dash cam." class="shogun-image " decoding="async" loading="lazy"/> </div>
5546<script class="__SHG_DATA__" type="application/json"> 5547 { 5548 "__shgImageElements": { "uuid": "s-018d490c-f807-4843-9885-7cd51f7248ab" } 5549 } 5550 </script>
5550 <div id="s-5c11af8c-be45-4286-9311-56d3542c3048" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">Forbes Wheels</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-e3b5fce5-ae44-4e63-bca2-fc3c1bca5e72"> <img src="https://i.shgcdn.com/e326bc0f-8cf8-40c0-92b6-8ad3d327fd7c/-/format/auto/-/quality/best/" width="" height="" alt="PCWorld Editors' Choice award logo in red and white." class="shogun-image " decoding="async" loading="lazy"/> </div>
5550<script class="__SHG_DATA__" type="application/json"> 5551 { 5552 "__shgImageElements": { "uuid": "s-e3b5fce5-ae44-4e63-bca2-fc3c1bca5e72" } 5553 } 5554 </script>
5554 <div id="s-e763ff95-45f9-4f0f-b343-abcb3a3ba6f4" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">PCWorld - Editors' Choice</span></p></div> </div> </div> </div> </div> <div id="s-d971425f-07ad-4f2c-95dc-c44b126fc45d" class="shg-c nb_c_secondarydarkest "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><h6 style="text-align: center;"><span class="shg-heading-span"><strong>"You have the best Dash cam in existence</strong><strong>"</strong></span></h6> <p style="text-align: center;"><span style="color: rgb(34, 34, 36);">- PCWorld</span></p></div> </div> </div> </div> </div> </div> </div> </div> </template> </div> <style> 5555.icon-popup-wrapper { 5556 position: relative; 5557 display: inline-block; 5558} 5559 5560.icon-popup-toggle { 5561 position: absolute; 5562 left: -9999px; 5563} 5564 5565.icon-popup-trigger { 5566 display: inline-block; 5567 cursor: pointer; 5568} 5569 5570.icon-popup-trigger:hover { 5571 opacity: 0.85; 5572} 5573 5574/* Overlay - APPENDED TO BODY, OUTSIDE STACKING CONTEXT */ 5575.icon-popup-overlay { 5576 position: fixed !important; 5577 inset: 0 !important; 5578 display: none !important; 5579 justify-content: center; 5580 align-items: center; 5581 5582 /* ✨ Glassmorphism background */ 5583 background: rgba(15, 15, 15, 0.35); /* translucent dark layer */ 5584 backdrop-filter: blur(18px) saturate(140%); 5585 -webkit-backdrop-filter: blur(18px) saturate(140%); 5586 border: 1px solid rgba(255, 255, 255, 0.15); 5587 5588 /* optional gradient tint */ 5589 background-image: linear-gradient( 5590 135deg, 5591 rgba(255, 255, 255, 0.06), 5592 rgba(0, 0, 0, 0.45) 5593 ); 5594 5595 z-index: 2147483647 !important; 5596 padding: 20px; 5597 overflow-y: auto; 5598 transition: all 0.3s ease-in-out; 5599} 5600 5601 5602/* Show overlay when checked */ 5603.icon-popup-overlay.show { 5604 display: flex !important; 5605} 5606 5607/* Popup card */ 5608.icon-popup-content { 5609 background: #fff; 5610 padding: 22px; 5611 border-radius: 10px; 5612 max-width: 60vw; 5613 width: 100%; 5614 max-height: 80vh; 5615 overflow: hidden !important; 5616 position: relative; 5617 margin: 0 auto; 5618 /* box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); */ 5619 animation: popupFadeIn 0.2s 5620ease; 5621} 5622 5623@keyframes popupFadeIn { 5624 from { 5625 opacity: 0; 5626 transform: scale(0.95); 5627 } 5628 to { 5629 opacity: 1; 5630 transform: scale(1); 5631 } 5632} 5633 5634/* Close button */ 5635.icon-popup-close { 5636 position: absolute; 5637 top: 10px; 5638 right: 14px; 5639 font-size: 26px; 5640 line-height: 1; 5641 cursor: pointer; 5642 background: transparent !important; 5643 color:#000 !important; 5644 border: none; 5645 padding: 2px 8px; 5646 border-radius: 4px; 5647 z-index: 10; 5648 transition: all 0.2s ease; 5649 color: #333; 5650} 5651 5652.icon-popup-close:hover { 5653 background: transparent !important; 5654 transform: scale(1.1); 5655} 5656 5657/* Inner content */ 5658.icon-popup-inner { 5659 min-height: 150px; 5660} 5661 5662/* Prevent body scroll when popup is open */ 5663body.icon-popup-open { 5664 overflow: hidden !important; 5665} 5666 5667/* Editor mode adjustments */ 5668body.shogun-editor .icon-popup-overlay { 5669 position: relative !important; 5670 background: transparent !important; 5671 justify-content: flex-start !important; 5672 align-items: flex-start !important; 5673 padding: 0 !important; 5674 z-index: auto !important; 5675} 5676 5677body.shogun-editor .icon-popup-content { 5678 max-height: none !important; 5679 overflow: visible !important; 5680 width: 100% !important; 5681 margin: 10px 0 !important; 5682} 5683 5684body.shogun-editor template { 5685 display: block !important; 5686} 5687 5688/* Responsive adjustments */ 5689@media (max-width: 768px) { 5690 .icon-popup-content { 5691 width:100%; 5692 max-width: 95vw !important; 5693 padding: 10px; 5694 max-height: 85vh; 5695 } 5696 5697 .icon-popup-close { 5698 top: 8px; 5699 right: 12px; 5700 font-size: 24px; 5701 } 5702} 5703 5704@media (max-width: 768px) { 5705 5706 .icon-popup-wrapper .icon-popup-trigger { 5707 display: inline-flex !important; 5708 align-items: center !important; 5709 gap: 4px !important; 5710 text-align: left !important; 5711 } 5712 5713 .icon-popup-wrapper .icon-popup-trigger img { 5714 display: inline-block !important; 5715 margin: 0px !important; 5716 } 5717 5718 .icon-popup-wrapper .icon-popup-trigger span { 5719 display: inline-block !important; 5720 margin-top: 0 !important; 5721 white-space: normal; 5722 } 5723} 5724 5725/* Desktop: icon + text inline */ 5726@media (min-width: 769px) { 5727 .icon-popup-wrapper .icon-popup-trigger { 5728 display: inline-flex;
5729 align-items: center; 5730 gap: 8px; 5731 text-align: left; 5732 } 5733 5734 .icon-popup-wrapper .icon-popup-trigger img { 5735 margin: 0; 5736 display: inline-block; 5737 } 5738 5739 .icon-popup-wrapper .icon-popup-trigger span { 5740 display: inline-block; 5741 margin-top: 0; 5742 white-space: nowrap; 5743 } 5744} 5745 5746 5747</style>
5747<script> 5748(function() { 5749 try { 5750 var checkbox = document.getElementById('iconPopupToggle_622_awards_desk'); 5751 var template = document.getElementById('popupTemplate_622_awards_desk'); 5752 5753 if (!checkbox || !template) { 5754 console.warn('Icon popup elements not found'); 5755 return; 5756 } 5757 5758 // Clone popup from template and append to body 5759 var popupClone = template.content.cloneNode(true); 5760 var popupElement = popupClone.querySelector('.icon-popup-overlay'); 5761 5762 // Append to body to escape any stacking contexts 5763 document.body.appendChild(popupClone); 5764 5765 // Get the appended overlay element 5766 var overlay = document.getElementById('overlay_622_awards_desk'); 5767 var closeBtn = document.getElementById('closeBtn_622_awards_desk'); 5768 5769 if (!overlay) { 5770 console.error('Failed to append popup overlay'); 5771 return; 5772 } 5773 5774 // Function to open popup 5775 function openPopup() { 5776 overlay.classList.add('show'); 5777 document.body.classList.add('icon-popup-open'); 5778 document.body.dataset.scrollY = window.scrollY; 5779 5780 // Focus trap 5781 setTimeout(function() { 5782 var focusableElements = overlay.querySelectorAll( 5783 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' 5784 ); 5785 if (focusableElements.length) { 5786 focusableElements[0].focus(); 5787 } 5788 }, 100); 5789 } 5790 5791 // Function to close popup 5792 function closePopup() { 5793 overlay.classList.remove('show'); 5794 document.body.classList.remove('icon-popup-open'); 5795 checkbox.checked = false; 5796 5797 if (document.body.dataset.scrollY) { 5798 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 5799 } 5800 } 5801 5802 // Toggle popup when checkbox changes 5803 checkbox.addEventListener('change', function() { 5804 if (this.checked) { 5805 openPopup(); 5806 } else { 5807 closePopup(); 5808 } 5809 }); 5810 5811 // Close button 5812 if (closeBtn) { 5813 closeBtn.addEventListener('click', function(e) { 5814 e.preventDefault(); 5815 closePopup(); 5816 }); 5817 } 5818 5819 // Close on clicking outside content 5820 overlay.addEventListener('click', function(ev) { 5821 if (ev.target === overlay) { 5822 closePopup(); 5823 } 5824 }); 5825 5826 // Close on Escape key 5827 document.addEventListener('keydown', function(ev) { 5828 if (ev.key === 'Escape' && checkbox.checked) { 5829 closePopup(); 5830 } 5831 }); 5832 5833 // Prevent background scroll 5834 overlay.addEventListener('wheel', function(ev) { 5835 var content = overlay.querySelector('.icon-popup-content'); 5836 if (content && ev.target === overlay) { 5837 ev.preventDefault(); 5838 } 5839 }, { passive: false }); 5840 5841 // Clean up on page unload 5842 window.addEventListener('beforeunload', function() { 5843 if (overlay && overlay.parentNode) { 5844 overlay.parentNode.removeChild(overlay); 5845 } 5846 }); 5847 5848 } catch(e) { 5849 console.error('Icon popup JS initialization failed:', e); 5850 } 5851})(); 5852</script>
5852 </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div id="s-8f019f4c-dbe9-4ad8-a2f2-e155f08d23f4" class="shg-c "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_622_video_desk_elite"> <input type="checkbox" id="icon_videopopup_toggle_622_video_desk_elite" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_622_video_desk_elite" class="icon_videopopup_trigger" id="icon_videopopup_trigger_622_video_desk_elite"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/65b9834d-5e86-4441-a2c4-7f0e3d07d1de/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_622_video_desk_elite"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_622_video_desk_elite"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_622_video_desk_elite"> <button class="icon_videopopup_close" id="icon_videopopup_close_622_video_desk_elite" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_622_video_desk_elite" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_622_video_desk_elite" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_622_video_desk_elite" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_622_video_desk_elite" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_622_video_desk_elite"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 5853#icon_videopopup_wrapper_622_video_desk_elite { position: relative; display: inline-block; } 5854#icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_toggle { position: absolute; left: -9999px; } 5855 5856#icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_trigger { 5857 display: inline-flex; align-items: center; cursor: pointer; 5858 transition: opacity 0.25s ease; 5859} 5860#icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_trigger:hover { opacity: 0.85; } 5861 5862#icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_inline { 5863 display: flex; align-items: center; gap: 10px; 5864} 5865#icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_icon { 5866 width: 30px; 5867 height: 30px; 5868} 5869#icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_textblock { 5870 color: #000; 5871 display: flex; flex-direction: column; justify-content: center; 5872} 5873#icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_heading { 5874 font-size: 10px; 5875 font-weight: 600; 5876 margin: 0; 5877} 5878#icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_subtext { 5879 font-size: 10px; 5880 font-weight: 300; 5881 margin: 0; 5882} 5883 5884#icon_videopopup_overlay_622_video_desk_elite { 5885 position: fixed; inset: 0; display: none; 5886 justify-content: center; align-items: center; 5887 background: rgba(15,15,15,0.35); 5888 backdrop-filter: blur(18px) saturate(140%); 5889 -webkit-backdrop-filter: blur(18px) saturate(140%); 5890 border: 1px solid rgba(255,255,255,0.15); 5891 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 5892 z-index: 2147483647; padding: 20px; overflow-y: auto; 5893 transition: all 0.3s ease-in-out; 5894} 5895#icon_videopopup_overlay_622_video_desk_elite.show { display: flex; } 5896 5897#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_modal { 5898 padding: 0; border-radius: 10px; max-width: 65vw; 5899 width: 80%; max-height: 85vh; overflow: hidden; 5900 background: transparent; position: relative; 5901} 5902#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_close { 5903 position: absolute; top: 5px; right: 10px; font-size: 28px; 5904 color: #fff; background: transparent; border: none; 5905 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 5906} 5907#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_close:hover { transform: scale(1.1); } 5908 5909/* Video Container */ 5910#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_videocontainer { 5911 position: relative; width: 100%; 5912 display: flex; justify-content: center; align-items: center; 5913 background: #000; 5914} 5915#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_video { 5916 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 5917} 5918 5919/* Play & Pause Button wrappers */ 5920#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_play, 5921#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_pause { 5922 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 5923 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 5924 padding: 0; 5925} 5926 5927/* Center play button */ 5928#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_play { 5929 top: 50%; left: 50%; transform: translate(-50%, -50%); 5930 width: 60px; height: 60px; border-radius: 50%; 5931} 5932 5933/* Pause small floating control */ 5934#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_pause { 5935 bottom: 20px; right: 20px; 5936 width: 45px; height: 55px; border-radius: 50%; 5937 display: none; 5938} 5939 5940/* SVG visuals */ 5941#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_svg_play, 5942#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_svg_pause { 5943 width: 100%; height: 100%; display: block; pointer-events: none; 5944 border-radius: 50%; 5945 filter: none; 5946 transition: transform 0.2s ease; 5947} 5948#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_play:hover .icon_videopopup_svg_play, 5949#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 5950 transform: scale(1.06); 5951} 5952 5953/* Audio Indicator */ 5954#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_audioindicator { 5955 position: absolute; bottom: 20px; left: 20px; 5956 background: rgba(0, 0, 0, 0.7); color: #fff; 5957 padding: 8px 12px; border-radius: 20px; 5958 font-size: 14px; display: none; z-index: 10; 5959 transition: all 0.3s ease; 5960} 5961#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_audioindicator.show { display: block; } 5962#icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_audioindicator.hidden { display: none; } 5963 5964/* Responsive */ 5965@media (max-width: 768px) { 5966 #icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_modal { 5967 width: 100%; max-width: 100%; 5968 } 5969 #icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_play { 5970 width: 50px; height: 50px; 5971 } 5972 #icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 5973 #icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_pause { 5974 width: 40px; height: 40px; bottom: 15px; right: 15px; 5975 } 5976 #icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_audioindicator { 5977 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 5978 } 5979 #icon_videopopup_overlay_622_video_desk_elite .icon_videopopup_close { 5980 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 5981 color: #fff; background: transparent; border: none; 5982 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 5983 } 5984 #icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_inline { 5985 display: flex; align-items: center; gap: 5px !important; 5986 } 5987} 5988 5989/* Heading and subtext inline in mobile */ 5990@media (max-width: 768px) { 5991 #icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_trigger .icon_videopopup_textblock { 5992 display: flex !important; 5993 flex-direction: row !important;
5994 align-items: center !important; 5995 gap: 0px !important; 5996 } 5997 5998 #icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_heading, 5999 #icon_videopopup_wrapper_622_video_desk_elite .icon_videopopup_subtext { 6000 display: inline !important; 6001 margin: 0 !important; 6002 white-space: nowrap !important; 6003 } 6004} 6005</style>
6005<script> 6006(function() { 6007 try { 6008 var toggle = document.getElementById('icon_videopopup_toggle_622_video_desk_elite'); 6009 var template = document.getElementById('icon_videopopup_template_622_video_desk_elite'); 6010 if (!toggle || !template) return; 6011 6012 var isInitialized = false; 6013 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 6014 6015 function initPopup() { 6016 if (isInitialized) return; 6017 6018 // Clone template into DOM on demand 6019 var popupClone = template.content.cloneNode(true); 6020 document.body.appendChild(popupClone); 6021 6022 overlay = document.getElementById('icon_videopopup_overlay_622_video_desk_elite'); 6023 closeBtn = document.getElementById('icon_videopopup_close_622_video_desk_elite'); 6024 video = document.getElementById('icon_videopopup_video_622_video_desk_elite'); 6025 videoSource = document.getElementById('icon_videopopup_source_622_video_desk_elite'); 6026 playBtn = document.getElementById('icon_videopopup_play_622_video_desk_elite'); 6027 pauseBtn = document.getElementById('icon_videopopup_pause_622_video_desk_elite'); 6028 audioIndicator = document.getElementById('icon_videopopup_audioindicator_622_video_desk_elite'); 6029 6030 // Set video source lazily upon first interaction 6031 var isMobile = window.innerWidth <= 768; 6032 var mobileSrc = "".trim(); 6033 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/f6220b55-c6d3-4de2-b10a-f64b8a3f5957/01_04_19_Nextbase_622_High_Res_1920.mp4".trim(); 6034 6035 videoSource.src = (isMobile && mobileSrc && mobileSrc !== '') ? mobileSrc : desktopSrc; 6036 video.load(); 6037 6038 // Attach control event listeners 6039 closeBtn.addEventListener('click', closePopup); 6040 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 6041 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 6042 6043 if (playBtn) playBtn.addEventListener('click', function() { 6044 if (video) { 6045 video.play(); 6046 video.muted = false; 6047 } 6048 playBtn.style.display = 'none'; 6049 if (pauseBtn) pauseBtn.style.display = 'flex'; 6050 }); 6051 6052 if (pauseBtn) pauseBtn.addEventListener('click', function() { 6053 if (video) video.pause(); 6054 if (playBtn) playBtn.style.display = 'flex'; 6055 pauseBtn.style.display = 'none'; 6056 }); 6057 6058 if (video) { 6059 video.addEventListener('click', enableAudio); 6060 video.addEventListener('play', function() { 6061 if (playBtn) playBtn.style.display = 'none'; 6062 if (pauseBtn) pauseBtn.style.display = 'flex'; 6063 }); 6064 6065 video.addEventListener('ended', function() { 6066 if (pauseBtn) pauseBtn.style.display = 'none'; 6067 if (playBtn) playBtn.style.display = 'flex'; 6068 }); 6069 } 6070 6071 isInitialized = true; 6072 } 6073 6074 function openPopup() { 6075 // Lazy initialize the DOM structure and video load on click 6076 initPopup(); 6077 6078 overlay.classList.add('show'); 6079 document.body.classList.add('icon_videopopup_open'); 6080 document.body.dataset.scrollY = window.scrollY; 6081 6082 var autoplayMuted = "" === 'true'; 6083 if (autoplayMuted) { 6084 video.muted = true; 6085 if (audioIndicator) audioIndicator.style.display = 'block'; 6086 } else { 6087 video.muted = false; 6088 if (audioIndicator) audioIndicator.style.display = 'none'; 6089 } 6090 6091 video.play().then(function() { 6092 if (playBtn) playBtn.style.display = 'none'; 6093 if (pauseBtn) pauseBtn.style.display = 'flex'; 6094 }).catch(function(error) { 6095 console.log('Autoplay failed:', error); 6096 if (playBtn) playBtn.style.display = 'flex'; 6097 if (pauseBtn) pauseBtn.style.display = 'none'; 6098 }); 6099 } 6100 6101 function closePopup() { 6102 if (!overlay) return; 6103 overlay.classList.remove('show'); 6104 document.body.classList.remove('icon_videopopup_open'); 6105 toggle.checked = false; 6106 if (video) { 6107 video.pause(); 6108 video.currentTime = 0; 6109 } 6110 if (playBtn) playBtn.style.display = 'flex'; 6111 if (pauseBtn) pauseBtn.style.display = 'none'; 6112 if (document.body.dataset.scrollY) { 6113 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 6114 } 6115 } 6116 6117 function enableAudio() { 6118 if (video && video.muted) { 6119 video.muted = false; 6120 if (audioIndicator) audioIndicator.style.display = 'none'; 6121 } 6122 } 6123 6124 toggle.addEventListener('change', function() { 6125 toggle.checked ? openPopup() : closePopup(); 6126 });
6127 6128 } catch(e) { 6129 console.error('Icon Video Popup initialization failed:', e); 6130 } 6131})(); 6132</script>
6132 </div> </div> </div> </div> <div id="s-8d7436a4-71e0-4f89-8e5b-fce781da0e69-root"> <div class="shg-image-margin-container-s-8d7436a4-71e0-4f89-8e5b-fce781da0e69" id="wrap-s-8d7436a4-71e0-4f89-8e5b-fce781da0e69"> <div class="s-8d7436a4-71e0-4f89-8e5b-fce781da0e69 shg-align-container"> <div class="shg-c s-8d7436a4-71e0-4f89-8e5b-fce781da0e69 shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-top-right cm-nb-sg-bd-cl-purple shg-align-center" id="s-8d7436a4-71e0-4f89-8e5b-fce781da0e69"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <a class="shogun-image-link" href="/exclusive-offers/622gw-dash-cam-elite-package/"> <img src="https://i.shgcdn.com/cb121d0b-e4aa-408c-a23e-b8ac1f80d503/-/format/auto/-/quality/best/" alt="Nextbase front and rear dash cam bundle with memory card, carry case" class="shogun-image " decoding="async" loading="eager" draggable="false"/> </a> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-linked"> </div> </div> </div> </div> </div>
6132<script class="__SHG_DATA__" type="application/json"> 6133 { 6134 "__shgImageV3Elements": { "uuid": "s-8d7436a4-71e0-4f89-8e5b-fce781da0e69" } 6135 } 6136 </script>
6136 </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_std " id="s-5c4736d8-021a-4729-be07-d62f25477058"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-c3159c80-0444-4c29-8c75-0cc7b8b4fb79" class="shg-c shg-align-left"> <div class="gen2-home-banner"> <div class="gen2-home-banner__inner"> <div class="gen2-home-banner__content"> <h2>Professional Installation Available Now</h2> <p>Get your camera installed directly into your car activating Smart Parking Mode and giving you a completely clean, professional finish. Hardwire Kit included (worth $29.99)</p> </div> <div class="gen2-home-banner__cta"> <a href="/accessories/professional-installation-standalone/" class="gen2-home-banner__button">Buy now</a> </div> </div> </div> <style> 6137 .gen2-home-banner { 6138 width: 100%; 6139 background-image: url('https://cdn11.bigcommerce.com/s-jpkc0tnv4j/images/stencil/original/image-manager/man-installing-narrow-banner..jpg?t=1775830672'); 6140 background-size: cover; 6141 background-position: center; 6142 background-repeat: no-repeat; 6143 min-height: 110px; 6144 display: flex;
6145 align-items: center; 6146 font-family: Arial, sans-serif; 6147 border-radius:10px; 6148 } 6149 6150 .gen2-home-banner__inner { 6151 width: 100%; 6152 max-width: 1920px; 6153 margin: 0 auto; 6154 padding: 0 70px 0 52%; 6155 box-sizing: border-box; 6156 display: flex; 6157 align-items: center; 6158 justify-content: space-between; 6159 gap: 24px; 6160 6161 } 6162 6163 .gen2-home-banner__content { 6164 color: #000; 6165 } 6166 6167 .gen2-home-banner__content h2 { 6168 margin: 0 0 4px; 6169 font-size: 20px; 6170 line-height: 1.1; 6171 font-weight: 700; 6172 } 6173 6174 .gen2-home-banner__content p { 6175 margin: 0; 6176 font-size: 12px; 6177 line-height: 1.4; 6178 font-weight: 400; 6179 } 6180 6181 .gen2-home-banner__cta { 6182 flex-shrink: 0; 6183 } 6184 6185 .gen2-home-banner__button { 6186 display: inline-block; 6187 padding: 12px 26px; 6188 background: linear-gradient(180deg, #7b2cff 0%, #5d19ea 100%); 6189 color: #fff; 6190 text-decoration: none; 6191 font-size: 15px; 6192 font-weight: 700; 6193 border-radius: 6px; 6194 line-height: 1; 6195 white-space: nowrap; 6196 } 6197 6198 .gen2-home-banner__button:hover { 6199 opacity: 0.95; 6200 } 6201 6202 @media (max-width: 1200px) { 6203 .gen2-home-banner__inner { 6204 padding: 0 40px 0 48%; 6205 } 6206 6207 .gen2-home-banner__content h2 { 6208 font-size: 18px; 6209 } 6210 } 6211 6212 @media (max-width: 768px) { 6213 .gen2-home-banner { 6214 min-height: auto; 6215 background-position: left center; 6216 } 6217 6218 .gen2-home-banner__inner { 6219 padding: 20px; 6220 flex-direction: column; 6221 align-items: flex-start; 6222 justify-content: center; 6223 gap: 14px; 6224 } 6225 6226 .gen2-home-banner__content h2 { 6227 font-size: 18px; 6228 } 6229 6230 .gen2-home-banner__content p { 6231 font-size: 12px; 6232 max-width: 100%; 6233 } 6234 6235 .gen2-home-banner__cta { 6236 width: 100%; 6237 display: flex; 6238 } 6239 6240 .gen2-home-banner__button { 6241 margin-left: auto; 6242 } 6243 } 6244</style> </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_std shogun-lazyload shogun-lazyload-bg-image" id="s-22ddd1f8-1c0e-4359-9a79-ec9116f6f5fb"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-7bfe8689-fd13-4405-9107-4f4d19497bb3"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c main-rowgallery save_badge " id="s-6fd29eec-d74f-4a15-87a8-0bd79c4e27e8"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-bedc845f-6980-4a7a-87ce-c14a765779c1"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div id="s-7a7adbd8-2cc8-4651-95db-4960656206b0" class="shg-c border-container shg-align-right"> <div class="icon-popup-wrapper" id="iconPopupWrapper_IQAward_desk" style=" --icon-text-font-size: 10px; --icon-text-font-weight: 300; --icon-text-color: #000; "> <input type="checkbox" id="iconPopupToggle_IQAward_desk" class="icon-popup-toggle"/> <label for="iconPopupToggle_IQAward_desk" class="icon-popup-trigger" id="iconTrigger_IQAward_desk" title="Awards"> <img src="https://i.shgcdn.com/209f4d49-3980-47ce-87ab-1cecaedc6ef4/-/format/auto/-/quality/normal/" alt="Awards" style="width: 30px; height: 30px; display:block; margin:0 auto;"/> <span style=" display:block; font-size: var(--icon-text-font-size); font-weight: var(--icon-text-font-weight); color: var(--icon-text-color); ">Awards</span> </label> <template id="popupTemplate_IQAward_desk"> <div class="icon-popup-overlay" id="overlay_IQAward_desk"> <div class="icon-popup-content" role="dialog" aria-modal="true" aria-labelledby="iconTrigger_IQAward_desk"> <button class="icon-popup-close" id="closeBtn_IQAward_desk" title="Close" aria-label="Close popup">×</button> <div class="icon-popup-inner"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-b557b562-d1c8-4c05-8443-19253231d278"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-e11a4033-73bc-439d-a359-b0af3ed13652" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: left;">Awards</p></div> </div> <div class="shg-c " id="s-c2654f62-48d5-4391-adbc-8a23f7ad2a8a"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6">
6244<div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-dff68eb2-995e-45e8-b75d-75cfb885ceea"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-324f6881-1f25-4990-8ea1-47b1cd5ab7fc"> <img src="https://i.shgcdn.com/1b9c36a2-128f-4ea9-9e50-b27a0034cfee/-/format/auto/-/quality/best/" width="" height="" alt="TIME Best Inventions 2022 award logo." class="shogun-image " decoding="async" loading="lazy"/> </div>
6244<script class="__SHG_DATA__" type="application/json"> 6245 { 6246 "__shgImageElements": { "uuid": "s-324f6881-1f25-4990-8ea1-47b1cd5ab7fc" } 6247 } 6248 </script>
6248 <div id="s-523519e2-2c1a-4bbd-b5bb-fdfc494eafb7" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">TIME Best Inventions 2022</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-bdfc02c4-9c5e-4b8c-a5ad-cd00136cd29c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-df46f2bd-2d20-48ae-a0aa-d35d3264493b"> <img src="https://i.shgcdn.com/65b65a94-1fee-481f-8306-f71f8fb71031/-/format/auto/-/quality/best/" width="" height="" alt="Best of CES 2022 award logo." class="shogun-image " decoding="async" loading="lazy"/> </div>
6248<script class="__SHG_DATA__" type="application/json"> 6249 { 6250 "__shgImageElements": { "uuid": "s-df46f2bd-2d20-48ae-a0aa-d35d3264493b" } 6251 } 6252 </script>
6252 <div id="s-0d6781c6-d239-4c6e-8670-314ae8645655" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">Best of CES 2022</span></p></div> </div> </div> </div> </div> </div> </div> </div> <div id="s-bae822fa-c3c9-4007-aea6-66589eb2ac7f" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><h4 style="text-align: center;"><span class="shg-heading-span" style="color: rgb(34, 34, 36);"><strong>"This is the first dash cam in years that really seems to move the market on</strong><strong>"</strong></span></h4> <p style="text-align: center;"><span style="color: rgb(34, 34, 36);">- Best of CES 2022</span></p></div> </div> </div> </div> </div> </div> </div> </div> </template> </div> <style> 6253.icon-popup-wrapper { 6254 position: relative; 6255 display: inline-block; 6256} 6257 6258.icon-popup-toggle { 6259 position: absolute; 6260 left: -9999px; 6261} 6262 6263.icon-popup-trigger { 6264 display: inline-block; 6265 cursor: pointer; 6266} 6267 6268.icon-popup-trigger:hover { 6269 opacity: 0.85; 6270} 6271 6272/* Overlay - APPENDED TO BODY, OUTSIDE STACKING CONTEXT */ 6273.icon-popup-overlay { 6274 position: fixed !important; 6275 inset: 0 !important; 6276 display: none !important; 6277 justify-content: center; 6278 align-items: center; 6279 6280 /* ✨ Glassmorphism background */ 6281 background: rgba(15, 15, 15, 0.35); /* translucent dark layer */ 6282 backdrop-filter: blur(18px) saturate(140%); 6283 -webkit-backdrop-filter: blur(18px) saturate(140%); 6284 border: 1px solid rgba(255, 255, 255, 0.15); 6285 6286 /* optional gradient tint */ 6287 background-image: linear-gradient( 6288 135deg, 6289 rgba(255, 255, 255, 0.06), 6290 rgba(0, 0, 0, 0.45) 6291 ); 6292 6293 z-index: 2147483647 !important; 6294 padding: 20px; 6295 overflow-y: auto; 6296 transition: all 0.3s ease-in-out; 6297} 6298 6299 6300/* Show overlay when checked */ 6301.icon-popup-overlay.show { 6302 display: flex !important; 6303} 6304 6305/* Popup card */ 6306.icon-popup-content { 6307 background: #fff; 6308 padding: 22px; 6309 border-radius: 10px; 6310 max-width: 60vw; 6311 width: 100%; 6312 max-height: 80vh; 6313 overflow: hidden !important; 6314 position: relative; 6315 margin: 0 auto; 6316 /* box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); */ 6317 animation: popupFadeIn 0.2s 6318ease; 6319} 6320 6321@keyframes popupFadeIn { 6322 from { 6323 opacity: 0; 6324 transform: scale(0.95); 6325 } 6326 to { 6327 opacity: 1; 6328 transform: scale(1); 6329 } 6330} 6331 6332/* Close button */ 6333.icon-popup-close { 6334 position: absolute; 6335 top: 10px; 6336 right: 14px; 6337 font-size: 26px; 6338 line-height: 1; 6339 cursor: pointer; 6340 background: transparent !important; 6341 color:#000 !important; 6342 border: none; 6343 padding: 2px 8px; 6344 border-radius: 4px; 6345 z-index: 10; 6346 transition: all 0.2s ease; 6347 color: #333; 6348} 6349 6350.icon-popup-close:hover { 6351 background: transparent !important; 6352 transform: scale(1.1); 6353} 6354 6355/* Inner content */ 6356.icon-popup-inner { 6357 min-height: 150px; 6358} 6359 6360/* Prevent body scroll when popup is open */ 6361body.icon-popup-open { 6362 overflow: hidden !important; 6363} 6364 6365/* Editor mode adjustments */ 6366body.shogun-editor .icon-popup-overlay { 6367 position: relative !important; 6368 background: transparent !important; 6369 justify-content: flex-start !important; 6370 align-items: flex-start !important; 6371 padding: 0 !important; 6372 z-index: auto !important; 6373} 6374 6375body.shogun-editor .icon-popup-content { 6376 max-height: none !important; 6377 overflow: visible !important; 6378 width: 100% !important; 6379 margin: 10px 0 !important; 6380} 6381 6382body.shogun-editor template { 6383 display: block !important; 6384} 6385 6386/* Responsive adjustments */ 6387@media (max-width: 768px) { 6388 .icon-popup-content { 6389 width:100%; 6390 max-width: 95vw !important; 6391 padding: 10px; 6392 max-height: 85vh; 6393 } 6394 6395 .icon-popup-close { 6396 top: 8px; 6397 right: 12px; 6398 font-size: 24px; 6399 } 6400} 6401 6402@media (max-width: 768px) { 6403 6404 .icon-popup-wrapper .icon-popup-trigger { 6405 display: inline-flex !important;
6406 align-items: center !important; 6407 gap: 4px !important; 6408 text-align: left !important; 6409 } 6410 6411 .icon-popup-wrapper .icon-popup-trigger img { 6412 display: inline-block !important; 6413 margin: 0px !important; 6414 } 6415 6416 .icon-popup-wrapper .icon-popup-trigger span { 6417 display: inline-block !important; 6418 margin-top: 0 !important; 6419 white-space: normal; 6420 } 6421} 6422 6423/* Desktop: icon + text inline */ 6424@media (min-width: 769px) { 6425 .icon-popup-wrapper .icon-popup-trigger { 6426 display: inline-flex; 6427 align-items: center; 6428 gap: 8px; 6429 text-align: left; 6430 } 6431 6432 .icon-popup-wrapper .icon-popup-trigger img { 6433 margin: 0; 6434 display: inline-block; 6435 } 6436 6437 .icon-popup-wrapper .icon-popup-trigger span { 6438 display: inline-block; 6439 margin-top: 0; 6440 white-space: nowrap; 6441 } 6442} 6443 6444 6445</style>
6445<script> 6446(function() { 6447 try { 6448 var checkbox = document.getElementById('iconPopupToggle_IQAward_desk'); 6449 var template = document.getElementById('popupTemplate_IQAward_desk'); 6450 6451 if (!checkbox || !template) { 6452 console.warn('Icon popup elements not found'); 6453 return; 6454 } 6455 6456 // Clone popup from template and append to body 6457 var popupClone = template.content.cloneNode(true); 6458 var popupElement = popupClone.querySelector('.icon-popup-overlay'); 6459 6460 // Append to body to escape any stacking contexts 6461 document.body.appendChild(popupClone); 6462 6463 // Get the appended overlay element 6464 var overlay = document.getElementById('overlay_IQAward_desk'); 6465 var closeBtn = document.getElementById('closeBtn_IQAward_desk'); 6466 6467 if (!overlay) { 6468 console.error('Failed to append popup overlay'); 6469 return; 6470 } 6471 6472 // Function to open popup 6473 function openPopup() { 6474 overlay.classList.add('show'); 6475 document.body.classList.add('icon-popup-open'); 6476 document.body.dataset.scrollY = window.scrollY; 6477 6478 // Focus trap 6479 setTimeout(function() { 6480 var focusableElements = overlay.querySelectorAll( 6481 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' 6482 ); 6483 if (focusableElements.length) { 6484 focusableElements[0].focus(); 6485 } 6486 }, 100); 6487 } 6488 6489 // Function to close popup 6490 function closePopup() { 6491 overlay.classList.remove('show'); 6492 document.body.classList.remove('icon-popup-open'); 6493 checkbox.checked = false; 6494 6495 if (document.body.dataset.scrollY) { 6496 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 6497 } 6498 } 6499 6500 // Toggle popup when checkbox changes 6501 checkbox.addEventListener('change', function() { 6502 if (this.checked) { 6503 openPopup(); 6504 } else { 6505 closePopup(); 6506 } 6507 }); 6508 6509 // Close button 6510 if (closeBtn) { 6511 closeBtn.addEventListener('click', function(e) { 6512 e.preventDefault(); 6513 closePopup(); 6514 }); 6515 } 6516 6517 // Close on clicking outside content 6518 overlay.addEventListener('click', function(ev) { 6519 if (ev.target === overlay) { 6520 closePopup(); 6521 } 6522 }); 6523 6524 // Close on Escape key 6525 document.addEventListener('keydown', function(ev) { 6526 if (ev.key === 'Escape' && checkbox.checked) { 6527 closePopup(); 6528 } 6529 }); 6530 6531 // Prevent background scroll 6532 overlay.addEventListener('wheel', function(ev) { 6533 var content = overlay.querySelector('.icon-popup-content'); 6534 if (content && ev.target === overlay) { 6535 ev.preventDefault(); 6536 } 6537 }, { passive: false }); 6538 6539 // Clean up on page unload 6540 window.addEventListener('beforeunload', function() { 6541 if (overlay && overlay.parentNode) { 6542 overlay.parentNode.removeChild(overlay); 6543 } 6544 }); 6545 6546 } catch(e) { 6547 console.error('Icon popup JS initialization failed:', e); 6548 } 6549})(); 6550</script>
6550 </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div id="s-7c336115-4167-416e-9914-2d9d9a09e617" class="shg-c "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_iqvideo_desk"> <input type="checkbox" id="icon_videopopup_toggle_iqvideo_desk" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_iqvideo_desk" class="icon_videopopup_trigger" id="icon_videopopup_trigger_iqvideo_desk"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/65b9834d-5e86-4441-a2c4-7f0e3d07d1de/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_iqvideo_desk"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_iqvideo_desk"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_iqvideo_desk"> <button class="icon_videopopup_close" id="icon_videopopup_close_iqvideo_desk" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_iqvideo_desk" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_iqvideo_desk" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_iqvideo_desk" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_iqvideo_desk" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_iqvideo_desk"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 6551#icon_videopopup_wrapper_iqvideo_desk { position: relative; display: inline-block; } 6552#icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_toggle { position: absolute; left: -9999px; } 6553 6554#icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_trigger { 6555 display: inline-flex; align-items: center; cursor: pointer; 6556 transition: opacity 0.25s ease; 6557} 6558#icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_trigger:hover { opacity: 0.85; } 6559 6560#icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_inline { 6561 display: flex; align-items: center; gap: 10px; 6562} 6563#icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_icon { 6564 width: 30px; 6565 height: 30px; 6566} 6567#icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_textblock { 6568 color: #000; 6569 display: flex; flex-direction: column; justify-content: center; 6570} 6571#icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_heading { 6572 font-size: 10px; 6573 font-weight: 600; 6574 margin: 0; 6575} 6576#icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_subtext { 6577 font-size: 10px; 6578 font-weight: 300; 6579 margin: 0; 6580} 6581 6582#icon_videopopup_overlay_iqvideo_desk { 6583 position: fixed; inset: 0; display: none; 6584 justify-content: center; align-items: center; 6585 background: rgba(15,15,15,0.35); 6586 backdrop-filter: blur(18px) saturate(140%); 6587 -webkit-backdrop-filter: blur(18px) saturate(140%); 6588 border: 1px solid rgba(255,255,255,0.15); 6589 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 6590 z-index: 2147483647; padding: 20px; overflow-y: auto; 6591 transition: all 0.3s ease-in-out; 6592} 6593#icon_videopopup_overlay_iqvideo_desk.show { display: flex; } 6594 6595#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_modal { 6596 padding: 0; border-radius: 10px; max-width: 65vw; 6597 width: 80%; max-height: 85vh; overflow: hidden; 6598 background: transparent; position: relative; 6599} 6600#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_close { 6601 position: absolute; top: 5px; right: 10px; font-size: 28px; 6602 color: #fff; background: transparent; border: none; 6603 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 6604} 6605#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_close:hover { transform: scale(1.1); } 6606 6607/* Video Container */ 6608#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_videocontainer { 6609 position: relative; width: 100%; 6610 display: flex; justify-content: center; align-items: center; 6611 background: #000; 6612} 6613#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_video { 6614 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 6615} 6616 6617/* Play & Pause Button wrappers */ 6618#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_play, 6619#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_pause { 6620 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 6621 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 6622 padding: 0; 6623} 6624 6625/* Center play button */ 6626#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_play { 6627 top: 50%; left: 50%; transform: translate(-50%, -50%); 6628 width: 60px; height: 60px; border-radius: 50%; 6629} 6630 6631/* Pause small floating control */ 6632#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_pause { 6633 bottom: 20px; right: 20px; 6634 width: 45px; height: 55px; border-radius: 50%; 6635 display: none; 6636} 6637 6638/* SVG visuals */ 6639#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_svg_play, 6640#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_svg_pause { 6641 width: 100%; height: 100%; display: block; pointer-events: none; 6642 border-radius: 50%; 6643 filter: none; 6644 transition: transform 0.2s ease; 6645} 6646#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_play:hover .icon_videopopup_svg_play, 6647#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 6648 transform: scale(1.06); 6649} 6650 6651/* Audio Indicator */ 6652#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_audioindicator { 6653 position: absolute; bottom: 20px; left: 20px; 6654 background: rgba(0, 0, 0, 0.7); color: #fff; 6655 padding: 8px 12px; border-radius: 20px; 6656 font-size: 14px; display: none; z-index: 10; 6657 transition: all 0.3s ease; 6658} 6659#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_audioindicator.show { display: block; } 6660#icon_videopopup_overlay_iqvideo_desk .icon_videopopup_audioindicator.hidden { display: none; } 6661 6662/* Responsive */ 6663@media (max-width: 768px) { 6664 #icon_videopopup_overlay_iqvideo_desk .icon_videopopup_modal { 6665 width: 100%; max-width: 100%; 6666 } 6667 #icon_videopopup_overlay_iqvideo_desk .icon_videopopup_play { 6668 width: 50px; height: 50px; 6669 } 6670 #icon_videopopup_overlay_iqvideo_desk .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 6671 #icon_videopopup_overlay_iqvideo_desk .icon_videopopup_pause { 6672 width: 40px; height: 40px; bottom: 15px; right: 15px; 6673 } 6674 #icon_videopopup_overlay_iqvideo_desk .icon_videopopup_audioindicator { 6675 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 6676 } 6677 #icon_videopopup_overlay_iqvideo_desk .icon_videopopup_close { 6678 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 6679 color: #fff; background: transparent; border: none; 6680 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 6681 } 6682 #icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_inline { 6683 display: flex; align-items: center; gap: 5px !important; 6684 } 6685} 6686 6687/* Heading and subtext inline in mobile */ 6688@media (max-width: 768px) { 6689 #icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_trigger .icon_videopopup_textblock { 6690 display: flex !important; 6691 flex-direction: row !important;
6692 align-items: center !important; 6693 gap: 0px !important; 6694 } 6695 6696 #icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_heading, 6697 #icon_videopopup_wrapper_iqvideo_desk .icon_videopopup_subtext { 6698 display: inline !important; 6699 margin: 0 !important; 6700 white-space: nowrap !important; 6701 } 6702} 6703</style>
6703<script> 6704(function() { 6705 try { 6706 var toggle = document.getElementById('icon_videopopup_toggle_iqvideo_desk'); 6707 var template = document.getElementById('icon_videopopup_template_iqvideo_desk'); 6708 if (!toggle || !template) return; 6709 6710 var isInitialized = false; 6711 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 6712 6713 function initPopup() { 6714 if (isInitialized) return; 6715 6716 // Clone template into DOM on demand 6717 var popupClone = template.content.cloneNode(true); 6718 document.body.appendChild(popupClone); 6719 6720 overlay = document.getElementById('icon_videopopup_overlay_iqvideo_desk'); 6721 closeBtn = document.getElementById('icon_videopopup_close_iqvideo_desk'); 6722 video = document.getElementById('icon_videopopup_video_iqvideo_desk'); 6723 videoSource = document.getElementById('icon_videopopup_source_iqvideo_desk'); 6724 playBtn = document.getElementById('icon_videopopup_play_iqvideo_desk'); 6725 pauseBtn = document.getElementById('icon_videopopup_pause_iqvideo_desk'); 6726 audioIndicator = document.getElementById('icon_videopopup_audioindicator_iqvideo_desk'); 6727 6728 // Set video source lazily upon first interaction 6729 var isMobile = window.innerWidth <= 768; 6730 var mobileSrc = "".trim(); 6731 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/d95f1772-3ac6-45f7-a8cf-18bf8b656f2d/Nextbase-IQ-Sizzle-16x9-UK.mp4".trim(); 6732 6733 videoSource.src = (isMobile && mobileSrc && mobileSrc !== '') ? mobileSrc : desktopSrc; 6734 video.load(); 6735 6736 // Attach control event listeners 6737 closeBtn.addEventListener('click', closePopup); 6738 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 6739 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 6740 6741 if (playBtn) playBtn.addEventListener('click', function() { 6742 if (video) { 6743 video.play(); 6744 video.muted = false; 6745 } 6746 playBtn.style.display = 'none'; 6747 if (pauseBtn) pauseBtn.style.display = 'flex'; 6748 }); 6749 6750 if (pauseBtn) pauseBtn.addEventListener('click', function() { 6751 if (video) video.pause(); 6752 if (playBtn) playBtn.style.display = 'flex'; 6753 pauseBtn.style.display = 'none'; 6754 }); 6755 6756 if (video) { 6757 video.addEventListener('click', enableAudio); 6758 video.addEventListener('play', function() { 6759 if (playBtn) playBtn.style.display = 'none'; 6760 if (pauseBtn) pauseBtn.style.display = 'flex'; 6761 }); 6762 6763 video.addEventListener('ended', function() { 6764 if (pauseBtn) pauseBtn.style.display = 'none'; 6765 if (playBtn) playBtn.style.display = 'flex'; 6766 }); 6767 } 6768 6769 isInitialized = true; 6770 } 6771 6772 function openPopup() { 6773 // Lazy initialize the DOM structure and video load on click 6774 initPopup(); 6775 6776 overlay.classList.add('show'); 6777 document.body.classList.add('icon_videopopup_open'); 6778 document.body.dataset.scrollY = window.scrollY; 6779 6780 var autoplayMuted = "" === 'true'; 6781 if (autoplayMuted) { 6782 video.muted = true; 6783 if (audioIndicator) audioIndicator.style.display = 'block'; 6784 } else { 6785 video.muted = false; 6786 if (audioIndicator) audioIndicator.style.display = 'none'; 6787 } 6788 6789 video.play().then(function() { 6790 if (playBtn) playBtn.style.display = 'none'; 6791 if (pauseBtn) pauseBtn.style.display = 'flex'; 6792 }).catch(function(error) { 6793 console.log('Autoplay failed:', error); 6794 if (playBtn) playBtn.style.display = 'flex'; 6795 if (pauseBtn) pauseBtn.style.display = 'none'; 6796 }); 6797 } 6798 6799 function closePopup() { 6800 if (!overlay) return; 6801 overlay.classList.remove('show'); 6802 document.body.classList.remove('icon_videopopup_open'); 6803 toggle.checked = false; 6804 if (video) { 6805 video.pause(); 6806 video.currentTime = 0; 6807 } 6808 if (playBtn) playBtn.style.display = 'flex'; 6809 if (pauseBtn) pauseBtn.style.display = 'none'; 6810 if (document.body.dataset.scrollY) { 6811 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 6812 } 6813 } 6814 6815 function enableAudio() { 6816 if (video && video.muted) { 6817 video.muted = false; 6818 if (audioIndicator) audioIndicator.style.display = 'none'; 6819 } 6820 } 6821 6822 toggle.addEventListener('change', function() { 6823 toggle.checked ? openPopup() : closePopup(); 6824 });
6825 6826 } catch(e) { 6827 console.error('Icon Video Popup initialization failed:', e); 6828 } 6829})(); 6830</script>
6830 </div> </div> </div> </div> <div id="s-a970bbf9-ca56-404e-8bc4-803971758cf4-root"> <div class="shg-image-margin-container-s-a970bbf9-ca56-404e-8bc4-803971758cf4" id="wrap-s-a970bbf9-ca56-404e-8bc4-803971758cf4"> <div class="s-a970bbf9-ca56-404e-8bc4-803971758cf4 shg-align-container"> <div class="shg-c s-a970bbf9-ca56-404e-8bc4-803971758cf4 shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-top-right cm-nb-sg-bd-cl-yellow shg-align-center" id="s-a970bbf9-ca56-404e-8bc4-803971758cf4"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <a class="shogun-image-link" href="/exclusive-offers/iq-2k-bundle/"> <img srcset="https://i.shgcdn.com/dcf67b63-898f-4b62-9878-9e7ab0988ddb/-/format/auto/-/quality/best/-/resize/180x/ 180w,https://i.shgcdn.com/dcf67b63-898f-4b62-9878-9e7ab0988ddb/-/format/auto/-/quality/best/-/resize/360x/ 360w,https://i.shgcdn.com/dcf67b63-898f-4b62-9878-9e7ab0988ddb/-/format/auto/-/quality/best/-/resize/720x/ 720w,https://i.shgcdn.com/dcf67b63-898f-4b62-9878-9e7ab0988ddb/-/format/auto/-/quality/best/-/resize/900x/ 900w" sizes="100vw" src="https://i.shgcdn.com/dcf67b63-898f-4b62-9878-9e7ab0988ddb/-/format/auto/-/quality/best/" alt="A sleek car dash cam with dual lenses and an SD card slot." class="shogun-image " decoding="async" loading="eager" draggable="false"/> </a> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-linked"> </div> </div> </div> </div> </div>
6830<script class="__SHG_DATA__" type="application/json"> 6831 { 6832 "__shgImageV3Elements": { "uuid": "s-a970bbf9-ca56-404e-8bc4-803971758cf4" } 6833 } 6834 </script>
6834 </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_56 nbs_pb_42 " id="s-b73110c6-f9bd-4eca-b1a6-2157046a145c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 " id="s-b0125926-791f-41fc-b833-c8ed0d5295e9"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-5658708c-9d89-4bf8-99ac-116f56e059a4" class="shg-c shg-align-left"> <div class="nb-tag-list"> <div class="nb_c_primarydark nb-tag nb_fs_txt_10 nb_fs_txt_tab_8 nb_fs_txt_mob_8 purple nbs_mb_28 nbs_mb_mob_0">TOP SPEC </div> </div> </div> <div id="s-31c06a0a-663a-4be5-a83c-1d6f5b736203" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div id="s-afb058dc-a4ae-4a90-9b12-a0a43e5a3cc9" class="shg-c nbs_pb_mob_14 hc:nb_fw_500 nb_c_secondarydarkest nbs_pb_sm shg-align-left"> <div class="shg-product-title-component"> <h5> <span data-shg-product-target="product-title"></span> </h5> </div>
6834<script class="__SHG_DATA__" type="application/json"> 6835 { 6836 "__shgProductCallback": { 6837 "id": "s-31c06a0a-663a-4be5-a83c-1d6f5b736203", 6838 "callback": { 6839 "cb": "title", 6840 "data": { 6841 "uuid": "s-afb058dc-a4ae-4a90-9b12-a0a43e5a3cc9" 6842 } 6843 } 6844 } 6845 } 6846 </script>
6846 </div>
6846<script class="__SHG_DATA__" type="application/json"> 6847 { 6848 6849 "__shgProductInit": { 6850 "uuid": "s-31c06a0a-663a-4be5-a83c-1d6f5b736203", 6851 "platform": "big_commerce", 6852 "currency": "USD", 6853 "productId": "11363", 6854 "staticVariant": false, 6855 "hideIfDraft": false, 6856 6857 6858 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 6859 6860 6861 6862 "productUrl": "https://shgapi.com/api/products", 6863 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6IjExMzYzIn0.VvdMxrdtARyp3Igj8LkxYVq1i0XfSbSnvrsHen5XzDs", 6864 6865 6866 6867 "productHandle": "exclusive-offers/iq-2k-bundle/", 6868 "productVariantId": 11442 6869 6870 }, 6871 "__shgProductCallback": { 6872 "id": "s-31c06a0a-663a-4be5-a83c-1d6f5b736203", 6873 "callback": { 6874 "cb": "box", 6875 "data": { 6876 "uuid": "s-31c06a0a-663a-4be5-a83c-1d6f5b736203" 6877 } 6878 } 6879 } 6880 } 6881 </script>
6881 </div> <div id="s-2df9d785-3d2f-4860-a579-f0da6cf84e33" class="shg-c nb_fs_txt_mob_16 hc:nb_fw_600 nb_c_primarydark nbs_pb_sm shg-align-left"> <div class="shogun-heading-component"> <h6> THE SMART DASH CAM BUNDLE </h6> </div> </div> <div id="s-111c3533-b610-4d96-8f54-c01f359715c9" class="shg-c hc:nb_fw_300 nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);"><span style="color: rgb(0, 0, 0);">Bundle the iQ 2K and iQ Rear Window Cam. Predict threats and use smart alerts to protect your car. Step in when something happens. All thanks to the world's first truly Smart Dash Cam.</span></p></div> </div> <div id="s-baf58782-3a8b-4d5f-9692-bc72aef059d1" class="shg-c hc:nb_fw_300 nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p><span style="color: rgb(0, 0, 0);">Bundle the iQ 2K and iQ Rear Window Cam. 3-Channel on our Smart Connected Dash Cam. Safety Reimagined. </span></p></div> </div> </div> </div> </div></div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_14 nbs_pb_14 nbs_mb_28 " id="s-21ded2dd-fb4c-4618-a715-000fe3510aa1"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-eb39cbda-3e37-4291-9d51-5ca67a98ca06" class="shg-c shg-align-left"> <div class="nb-fluid-scale icon-grid-container iq"> <div class="icons-list icons-per-row-4" id="iqIconsList"></div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c save_badge " id="s-bc275bb6-034e-406f-9571-1bb7fe0735db"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-bottom-left cm-nb-sg-bd-cl-yellow shg-align-center" id="s-c58920c6-5db5-4bdf-bffe-b4feda7c3fd2"> <a class="shogun-image-link" href="/exclusive-offers/iq-2k-bundle/"> <img src="https://i.shgcdn.com/00ee1589-f805-4cc7-ad75-5c6a5d199d17/-/format/auto/-/quality/best/" width="" height="" alt="A sleek car dash cam with dual lenses and an SD card slot." class="shogun-image " decoding="async" loading="eager"/> </a> </div>
6881<script class="__SHG_DATA__" type="application/json"> 6882 { 6883 "__shgImageElements": { "uuid": "s-c58920c6-5db5-4bdf-bffe-b4feda7c3fd2" } 6884 } 6885 </script>
6885 </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_16 nbs_mt_mob_16 " id="s-c072dfed-1140-475c-a11a-d77a4fec47cd"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-ffec7df0-0820-4e7f-8437-0eb1270a1b42" class="shg-c nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Includes:</p></div> </div> <div id="s-33002386-4ccc-4b2b-8ce5-25c60cf9212a" class="shg-c md:hc:nb_fw_500 nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);"><span style="color: rgb(0, 0, 0);"><strong>iQ 2K Smart Dash Cam</strong> | <strong>64GB SD Card</strong> |<strong> iQ Rear Window Camera</strong></span></p></div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 nbs_mt_mob_14 " id="s-ebad0026-6c03-48df-995d-b82bc60eca47"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-a1639595-7131-404d-a0fa-11ff1f9a89c5" class="shg-c nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content"><div style="text-align: left;">From</div></div> </div> <div class="shg-c nb_btn_wrapper_fixed " id="s-d4c74bb1-aef2-46b9-8d4b-7134273251b0"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div id="s-da0b8a05-9f98-4e99-8e29-13292756c30b" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c view " id="s-5caa936c-8eda-413a-b03f-20baf8ea25e2"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-c544f868-656f-478c-82ae-c0673e0a90cf" class="shg-c hc:nb_fw_500 has-price-divided-by-3 nb_c_secondarydarkest shg-align-left"> <span class="shg-product-sold-out" data-shg-product-target="product-sold-out">Sold out</span> <span class="shg-product-price product-price rca-product-price" data-shg-product-target="product-price"></span> <span class="shg-product-compare-price" data-shg-product-target="product-compare-price"></span>
6885<script class="__SHG_DATA__" type="application/json"> 6886 { 6887 "__shgProductCallback": { 6888 "id": "s-da0b8a05-9f98-4e99-8e29-13292756c30b", 6889 "callback": { 6890 "cb": "price", 6891 "data": { 6892 "uuid": "s-c544f868-656f-478c-82ae-c0673e0a90cf", 6893 "hasComparePrice": true 6894 } 6895 } 6896 } 6897 } 6898 </script>
6898 </div> </div> </div> </div>
6898<script class="__SHG_DATA__" type="application/json"> 6899 { 6900 6901 "__shgProductInit": { 6902 "uuid": "s-da0b8a05-9f98-4e99-8e29-13292756c30b", 6903 "platform": "big_commerce", 6904 "currency": "USD", 6905 "productId": "11363", 6906 "staticVariant": true, 6907 "hideIfDraft": false, 6908 6909 6910 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 6911 6912 6913 6914 "productUrl": "https://shgapi.com/api/products", 6915 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6IjExMzYzIn0.VvdMxrdtARyp3Igj8LkxYVq1i0XfSbSnvrsHen5XzDs", 6916 6917 6918 6919 "productHandle": "exclusive-offers/iq-2k-bundle/", 6920 "productVariantId": 11442 6921 6922 }, 6923 "__shgProductCallback": { 6924 "id": "s-da0b8a05-9f98-4e99-8e29-13292756c30b", 6925 "callback": { 6926 "cb": "box", 6927 "data": { 6928 "uuid": "s-da0b8a05-9f98-4e99-8e29-13292756c30b" 6929 } 6930 } 6931 } 6932 } 6933 </script>
6933 </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-bbf7f113-9550-4fda-a263-534edf826936"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-9a557d59-a3b4-4c3d-9cb9-daa16b17918b-root" class="shg-c shg-btn-wrapper nb_fs_txt_md cm_nb_plp_buy_button nb_c_secondarylight hc:nb_fw_700 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-9a557d59-a3b4-4c3d-9cb9-daa16b17918b" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/iq-2k-bundle/"> Buy Now </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-c37632b3-589c-47e2-ac88-4d01ba9f68b9"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-06fca796-470c-4f39-aeec-b6dc5c1a21e8-root" class="shg-c shg-btn-wrapper btn-sectn hc:nb_fw_400 nb_fs_txt_std nbs_pr_sm shg-align-left"> <a id="s-06fca796-470c-4f39-aeec-b6dc5c1a21e8" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/iq-2k-bundle/"> View Details </a> </div> <div id="s-e5a7c860-2ff2-4721-a591-a48def0867fd-root" class="shg-c shg-btn-wrapper cm_nb_plp_buy_button btn-sectn nb_c_secondarylight hc:nb_fw_700 nb_fs_txt_std shg-align-left"> <a id="s-e5a7c860-2ff2-4721-a591-a48def0867fd" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/iq-2k-bundle/"> Buy Now </a> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-c9b676fd-b9ba-4f3a-9921-f2c1fe0490e4"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c cm_nb_th_plp_sg_action_section " id="s-b7086dbd-06c1-42f5-8595-df3d0df71a4c"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-d4ec62af-a65c-4304-ae39-afa050acafcf"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-106c4a94-851e-43dd-b31a-c8f2f74f5852" class="shg-c shg-align-right"> <div class="icon-popup-wrapper" id="iconPopupWrapper_IQAward_Mobile" style=" --icon-text-font-size: 10px; --icon-text-font-weight: 300; --icon-text-color: #000; "> <input type="checkbox" id="iconPopupToggle_IQAward_Mobile" class="icon-popup-toggle"/> <label for="iconPopupToggle_IQAward_Mobile" class="icon-popup-trigger" id="iconTrigger_IQAward_Mobile" title="Awards"> <img src="https://i.shgcdn.com/5682863c-24e2-44ca-b837-a2ba4e79f580/-/format/auto/-/quality/normal/" alt="Awards" style="width: 25px; height: 25px; display:block; margin:0 auto;"/> <span style=" display:block; font-size: var(--icon-text-font-size); font-weight: var(--icon-text-font-weight); color: var(--icon-text-color); ">Awards</span> </label> <template id="popupTemplate_IQAward_Mobile"> <div class="icon-popup-overlay" id="overlay_IQAward_Mobile"> <div class="icon-popup-content" role="dialog" aria-modal="true" aria-labelledby="iconTrigger_IQAward_Mobile"> <button class="icon-popup-close" id="closeBtn_IQAward_Mobile" title="Close" aria-label="Close popup">×</button> <div class="icon-popup-inner"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-b557b562-d1c8-4c05-8443-19253231d278"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-e11a4033-73bc-439d-a359-b0af3ed13652" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: left;">Awards</p></div> </div> <div class="shg-c " id="s-c2654f62-48d5-4391-adbc-8a23f7ad2a8a"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-dff68eb2-995e-45e8-b75d-75cfb885ceea"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-324f6881-1f25-4990-8ea1-47b1cd5ab7fc"> <img src="https://i.shgcdn.com/1b9c36a2-128f-4ea9-9e50-b27a0034cfee/-/format/auto/-/quality/best/" width="" height="" alt="TIME Best Inventions 2022 award logo." class="shogun-image " decoding="async" loading="lazy"/> </div>
6933<script class="__SHG_DATA__" type="application/json"> 6934 { 6935 "__shgImageElements": { "uuid": "s-324f6881-1f25-4990-8ea1-47b1cd5ab7fc" } 6936 } 6937 </script>
6937 <div id="s-523519e2-2c1a-4bbd-b5bb-fdfc494eafb7" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">TIME Best Inventions 2022</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-bdfc02c4-9c5e-4b8c-a5ad-cd00136cd29c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-df46f2bd-2d20-48ae-a0aa-d35d3264493b"> <img src="https://i.shgcdn.com/65b65a94-1fee-481f-8306-f71f8fb71031/-/format/auto/-/quality/best/" width="" height="" alt="Best of CES 2022 award logo." class="shogun-image " decoding="async" loading="lazy"/> </div>
6937<script class="__SHG_DATA__" type="application/json"> 6938 { 6939 "__shgImageElements": { "uuid": "s-df46f2bd-2d20-48ae-a0aa-d35d3264493b" } 6940 } 6941 </script>
6941 <div id="s-0d6781c6-d239-4c6e-8670-314ae8645655" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">Best of CES 2022</span></p></div> </div> </div> </div> </div> </div> </div> </div> <div id="s-bae822fa-c3c9-4007-aea6-66589eb2ac7f" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><h4 style="text-align: center;"><span class="shg-heading-span" style="color: rgb(34, 34, 36);"><strong>"This is the first dash cam in years that really seems to move the market on</strong><strong>"</strong></span></h4> <p style="text-align: center;"><span style="color: rgb(34, 34, 36);">- Best of CES 2022</span></p></div> </div> </div> </div> </div> </div> </div> </div> </template> </div> <style> 6942.icon-popup-wrapper { 6943 position: relative; 6944 display: inline-block; 6945} 6946 6947.icon-popup-toggle { 6948 position: absolute; 6949 left: -9999px; 6950} 6951 6952.icon-popup-trigger { 6953 display: inline-block; 6954 cursor: pointer; 6955} 6956 6957.icon-popup-trigger:hover { 6958 opacity: 0.85; 6959} 6960 6961/* Overlay - APPENDED TO BODY, OUTSIDE STACKING CONTEXT */ 6962.icon-popup-overlay { 6963 position: fixed !important; 6964 inset: 0 !important; 6965 display: none !important; 6966 justify-content: center; 6967 align-items: center; 6968 6969 /* ✨ Glassmorphism background */ 6970 background: rgba(15, 15, 15, 0.35); /* translucent dark layer */ 6971 backdrop-filter: blur(18px) saturate(140%); 6972 -webkit-backdrop-filter: blur(18px) saturate(140%); 6973 border: 1px solid rgba(255, 255, 255, 0.15); 6974 6975 /* optional gradient tint */ 6976 background-image: linear-gradient( 6977 135deg, 6978 rgba(255, 255, 255, 0.06), 6979 rgba(0, 0, 0, 0.45) 6980 ); 6981 6982 z-index: 2147483647 !important; 6983 padding: 20px; 6984 overflow-y: auto; 6985 transition: all 0.3s ease-in-out; 6986} 6987 6988 6989/* Show overlay when checked */ 6990.icon-popup-overlay.show { 6991 display: flex !important; 6992} 6993 6994/* Popup card */ 6995.icon-popup-content { 6996 background: #fff; 6997 padding: 22px; 6998 border-radius: 10px; 6999 max-width: 60vw; 7000 width: 100%; 7001 max-height: 80vh; 7002 overflow: hidden !important; 7003 position: relative; 7004 margin: 0 auto; 7005 /* box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); */ 7006 animation: popupFadeIn 0.2s 7007ease; 7008} 7009 7010@keyframes popupFadeIn { 7011 from { 7012 opacity: 0; 7013 transform: scale(0.95); 7014 } 7015 to { 7016 opacity: 1; 7017 transform: scale(1); 7018 } 7019} 7020 7021/* Close button */ 7022.icon-popup-close { 7023 position: absolute; 7024 top: 10px; 7025 right: 14px; 7026 font-size: 26px; 7027 line-height: 1; 7028 cursor: pointer; 7029 background: transparent !important; 7030 color:#000 !important; 7031 border: none; 7032 padding: 2px 8px; 7033 border-radius: 4px; 7034 z-index: 10; 7035 transition: all 0.2s ease; 7036 color: #333; 7037} 7038 7039.icon-popup-close:hover { 7040 background: transparent !important; 7041 transform: scale(1.1); 7042} 7043 7044/* Inner content */ 7045.icon-popup-inner { 7046 min-height: 150px; 7047} 7048 7049/* Prevent body scroll when popup is open */ 7050body.icon-popup-open { 7051 overflow: hidden !important; 7052} 7053 7054/* Editor mode adjustments */ 7055body.shogun-editor .icon-popup-overlay { 7056 position: relative !important; 7057 background: transparent !important; 7058 justify-content: flex-start !important; 7059 align-items: flex-start !important; 7060 padding: 0 !important; 7061 z-index: auto !important; 7062} 7063 7064body.shogun-editor .icon-popup-content { 7065 max-height: none !important; 7066 overflow: visible !important; 7067 width: 100% !important; 7068 margin: 10px 0 !important; 7069} 7070 7071body.shogun-editor template { 7072 display: block !important; 7073} 7074 7075/* Responsive adjustments */ 7076@media (max-width: 768px) { 7077 .icon-popup-content { 7078 width:100%; 7079 max-width: 95vw !important; 7080 padding: 10px; 7081 max-height: 85vh; 7082 } 7083 7084 .icon-popup-close { 7085 top: 8px; 7086 right: 12px; 7087 font-size: 24px; 7088 } 7089} 7090 7091@media (max-width: 768px) { 7092 7093 .icon-popup-wrapper .icon-popup-trigger { 7094 display: inline-flex !important;
7095 align-items: center !important; 7096 gap: 4px !important; 7097 text-align: left !important; 7098 } 7099 7100 .icon-popup-wrapper .icon-popup-trigger img { 7101 display: inline-block !important; 7102 margin: 0px !important; 7103 } 7104 7105 .icon-popup-wrapper .icon-popup-trigger span { 7106 display: inline-block !important; 7107 margin-top: 0 !important; 7108 white-space: normal; 7109 } 7110} 7111 7112/* Desktop: icon + text inline */ 7113@media (min-width: 769px) { 7114 .icon-popup-wrapper .icon-popup-trigger { 7115 display: inline-flex; 7116 align-items: center; 7117 gap: 8px; 7118 text-align: left; 7119 } 7120 7121 .icon-popup-wrapper .icon-popup-trigger img { 7122 margin: 0; 7123 display: inline-block; 7124 } 7125 7126 .icon-popup-wrapper .icon-popup-trigger span { 7127 display: inline-block; 7128 margin-top: 0; 7129 white-space: nowrap; 7130 } 7131} 7132 7133 7134</style>
7134<script> 7135(function() { 7136 try { 7137 var checkbox = document.getElementById('iconPopupToggle_IQAward_Mobile'); 7138 var template = document.getElementById('popupTemplate_IQAward_Mobile'); 7139 7140 if (!checkbox || !template) { 7141 console.warn('Icon popup elements not found'); 7142 return; 7143 } 7144 7145 // Clone popup from template and append to body 7146 var popupClone = template.content.cloneNode(true); 7147 var popupElement = popupClone.querySelector('.icon-popup-overlay'); 7148 7149 // Append to body to escape any stacking contexts 7150 document.body.appendChild(popupClone); 7151 7152 // Get the appended overlay element 7153 var overlay = document.getElementById('overlay_IQAward_Mobile'); 7154 var closeBtn = document.getElementById('closeBtn_IQAward_Mobile'); 7155 7156 if (!overlay) { 7157 console.error('Failed to append popup overlay'); 7158 return; 7159 } 7160 7161 // Function to open popup 7162 function openPopup() { 7163 overlay.classList.add('show'); 7164 document.body.classList.add('icon-popup-open'); 7165 document.body.dataset.scrollY = window.scrollY; 7166 7167 // Focus trap 7168 setTimeout(function() { 7169 var focusableElements = overlay.querySelectorAll( 7170 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' 7171 ); 7172 if (focusableElements.length) { 7173 focusableElements[0].focus(); 7174 } 7175 }, 100); 7176 } 7177 7178 // Function to close popup 7179 function closePopup() { 7180 overlay.classList.remove('show'); 7181 document.body.classList.remove('icon-popup-open'); 7182 checkbox.checked = false; 7183 7184 if (document.body.dataset.scrollY) { 7185 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 7186 } 7187 } 7188 7189 // Toggle popup when checkbox changes 7190 checkbox.addEventListener('change', function() { 7191 if (this.checked) { 7192 openPopup(); 7193 } else { 7194 closePopup(); 7195 } 7196 }); 7197 7198 // Close button 7199 if (closeBtn) { 7200 closeBtn.addEventListener('click', function(e) { 7201 e.preventDefault(); 7202 closePopup(); 7203 }); 7204 } 7205 7206 // Close on clicking outside content 7207 overlay.addEventListener('click', function(ev) { 7208 if (ev.target === overlay) { 7209 closePopup(); 7210 } 7211 }); 7212 7213 // Close on Escape key 7214 document.addEventListener('keydown', function(ev) { 7215 if (ev.key === 'Escape' && checkbox.checked) { 7216 closePopup(); 7217 } 7218 }); 7219 7220 // Prevent background scroll 7221 overlay.addEventListener('wheel', function(ev) { 7222 var content = overlay.querySelector('.icon-popup-content'); 7223 if (content && ev.target === overlay) { 7224 ev.preventDefault(); 7225 } 7226 }, { passive: false }); 7227 7228 // Clean up on page unload 7229 window.addEventListener('beforeunload', function() { 7230 if (overlay && overlay.parentNode) { 7231 overlay.parentNode.removeChild(overlay); 7232 } 7233 }); 7234 7235 } catch(e) { 7236 console.error('Icon popup JS initialization failed:', e); 7237 } 7238})(); 7239</script>
7239 </div> </div> </div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-8c4bf3df-86d8-4f57-ab7e-cbb57094da6a"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-29135789-81e7-4893-a661-582eee07cc36" class="shg-c "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_iQvideopopup_mobile"> <input type="checkbox" id="icon_videopopup_toggle_iQvideopopup_mobile" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_iQvideopopup_mobile" class="icon_videopopup_trigger" id="icon_videopopup_trigger_iQvideopopup_mobile"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/807aa8a3-2eca-411b-9aa2-273aa3560e72/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_iQvideopopup_mobile"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_iQvideopopup_mobile"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_iQvideopopup_mobile"> <button class="icon_videopopup_close" id="icon_videopopup_close_iQvideopopup_mobile" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_iQvideopopup_mobile" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_iQvideopopup_mobile" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_iQvideopopup_mobile" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_iQvideopopup_mobile" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_iQvideopopup_mobile"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 7240#icon_videopopup_wrapper_iQvideopopup_mobile { position: relative; display: inline-block; } 7241#icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_toggle { position: absolute; left: -9999px; } 7242 7243#icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_trigger { 7244 display: inline-flex; align-items: center; cursor: pointer; 7245 transition: opacity 0.25s ease; 7246} 7247#icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_trigger:hover { opacity: 0.85; } 7248 7249#icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_inline { 7250 display: flex; align-items: center; gap: 10px; 7251} 7252#icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_icon { 7253 width: 23px; 7254 height: 23px; 7255} 7256#icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_textblock { 7257 color: #000; 7258 display: flex; flex-direction: column; justify-content: center; 7259} 7260#icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_heading { 7261 font-size: 10px; 7262 font-weight: 600; 7263 margin: 0; 7264} 7265#icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_subtext { 7266 font-size: 10px; 7267 font-weight: 300; 7268 margin: 0; 7269} 7270 7271#icon_videopopup_overlay_iQvideopopup_mobile { 7272 position: fixed; inset: 0; display: none; 7273 justify-content: center; align-items: center; 7274 background: rgba(15,15,15,0.35); 7275 backdrop-filter: blur(18px) saturate(140%); 7276 -webkit-backdrop-filter: blur(18px) saturate(140%); 7277 border: 1px solid rgba(255,255,255,0.15); 7278 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 7279 z-index: 2147483647; padding: 20px; overflow-y: auto; 7280 transition: all 0.3s ease-in-out; 7281} 7282#icon_videopopup_overlay_iQvideopopup_mobile.show { display: flex; } 7283 7284#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_modal { 7285 padding: 0; border-radius: 10px; max-width: 65vw; 7286 width: 80%; max-height: 85vh; overflow: hidden; 7287 background: transparent; position: relative; 7288} 7289#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_close { 7290 position: absolute; top: 5px; right: 10px; font-size: 28px; 7291 color: #fff; background: transparent; border: none; 7292 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 7293} 7294#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_close:hover { transform: scale(1.1); } 7295 7296/* Video Container */ 7297#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_videocontainer { 7298 position: relative; width: 100%; 7299 display: flex; justify-content: center; align-items: center; 7300 background: #000; 7301} 7302#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_video { 7303 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 7304} 7305 7306/* Play & Pause Button wrappers */ 7307#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_play, 7308#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_pause { 7309 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 7310 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 7311 padding: 0; 7312} 7313 7314/* Center play button */ 7315#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_play { 7316 top: 50%; left: 50%; transform: translate(-50%, -50%); 7317 width: 60px; height: 60px; border-radius: 50%; 7318} 7319 7320/* Pause small floating control */ 7321#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_pause { 7322 bottom: 20px; right: 20px; 7323 width: 45px; height: 55px; border-radius: 50%; 7324 display: none; 7325} 7326 7327/* SVG visuals */ 7328#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_svg_play, 7329#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_svg_pause { 7330 width: 100%; height: 100%; display: block; pointer-events: none; 7331 border-radius: 50%; 7332 filter: none; 7333 transition: transform 0.2s ease; 7334} 7335#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_play:hover .icon_videopopup_svg_play, 7336#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 7337 transform: scale(1.06); 7338} 7339 7340/* Audio Indicator */ 7341#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_audioindicator { 7342 position: absolute; bottom: 20px; left: 20px; 7343 background: rgba(0, 0, 0, 0.7); color: #fff; 7344 padding: 8px 12px; border-radius: 20px; 7345 font-size: 14px; display: none; z-index: 10; 7346 transition: all 0.3s ease; 7347} 7348#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_audioindicator.show { display: block; } 7349#icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_audioindicator.hidden { display: none; } 7350 7351/* Responsive */ 7352@media (max-width: 768px) { 7353 #icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_modal { 7354 width: 100%; max-width: 100%; 7355 } 7356 #icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_play { 7357 width: 50px; height: 50px; 7358 } 7359 #icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 7360 #icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_pause { 7361 width: 40px; height: 40px; bottom: 15px; right: 15px; 7362 } 7363 #icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_audioindicator { 7364 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 7365 } 7366 #icon_videopopup_overlay_iQvideopopup_mobile .icon_videopopup_close { 7367 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 7368 color: #fff; background: transparent; border: none; 7369 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 7370 } 7371 #icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_inline { 7372 display: flex; align-items: center; gap: 5px !important; 7373 } 7374} 7375 7376/* Heading and subtext inline in mobile */ 7377@media (max-width: 768px) { 7378 #icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_trigger .icon_videopopup_textblock { 7379 display: flex !important; 7380 flex-direction: row !important;
7381 align-items: center !important; 7382 gap: 0px !important; 7383 } 7384 7385 #icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_heading, 7386 #icon_videopopup_wrapper_iQvideopopup_mobile .icon_videopopup_subtext { 7387 display: inline !important; 7388 margin: 0 !important; 7389 white-space: nowrap !important; 7390 } 7391} 7392</style>
7392<script> 7393(function() { 7394 try { 7395 var toggle = document.getElementById('icon_videopopup_toggle_iQvideopopup_mobile'); 7396 var template = document.getElementById('icon_videopopup_template_iQvideopopup_mobile'); 7397 if (!toggle || !template) return; 7398 7399 var isInitialized = false; 7400 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 7401 7402 function initPopup() { 7403 if (isInitialized) return; 7404 7405 // Clone template into DOM on demand 7406 var popupClone = template.content.cloneNode(true); 7407 document.body.appendChild(popupClone); 7408 7409 overlay = document.getElementById('icon_videopopup_overlay_iQvideopopup_mobile'); 7410 closeBtn = document.getElementById('icon_videopopup_close_iQvideopopup_mobile'); 7411 video = document.getElementById('icon_videopopup_video_iQvideopopup_mobile'); 7412 videoSource = document.getElementById('icon_videopopup_source_iQvideopopup_mobile'); 7413 playBtn = document.getElementById('icon_videopopup_play_iQvideopopup_mobile'); 7414 pauseBtn = document.getElementById('icon_videopopup_pause_iQvideopopup_mobile'); 7415 audioIndicator = document.getElementById('icon_videopopup_audioindicator_iQvideopopup_mobile'); 7416 7417 // Set video source lazily upon first interaction 7418 var isMobile = window.innerWidth <= 768; 7419 var mobileSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/78506c1d-2fa8-4ed4-b945-c1290aba6000/Nextbase-IQ-Sizzle-1x1-UK.mp4".trim(); 7420 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/78506c1d-2fa8-4ed4-b945-c1290aba6000/Nextbase-IQ-Sizzle-1x1-UK.mp4".trim(); 7421 7422 videoSource.src = (isMobile && mobileSrc && mobileSrc !== 'https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/78506c1d-2fa8-4ed4-b945-c1290aba6000/Nextbase-IQ-Sizzle-1x1-UK.mp4') ? mobileSrc : desktopSrc; 7423 video.load(); 7424 7425 // Attach control event listeners 7426 closeBtn.addEventListener('click', closePopup); 7427 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 7428 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 7429 7430 if (playBtn) playBtn.addEventListener('click', function() { 7431 if (video) { 7432 video.play(); 7433 video.muted = false; 7434 } 7435 playBtn.style.display = 'none'; 7436 if (pauseBtn) pauseBtn.style.display = 'flex'; 7437 }); 7438 7439 if (pauseBtn) pauseBtn.addEventListener('click', function() { 7440 if (video) video.pause(); 7441 if (playBtn) playBtn.style.display = 'flex'; 7442 pauseBtn.style.display = 'none'; 7443 }); 7444 7445 if (video) { 7446 video.addEventListener('click', enableAudio); 7447 video.addEventListener('play', function() { 7448 if (playBtn) playBtn.style.display = 'none'; 7449 if (pauseBtn) pauseBtn.style.display = 'flex'; 7450 }); 7451 7452 video.addEventListener('ended', function() { 7453 if (pauseBtn) pauseBtn.style.display = 'none'; 7454 if (playBtn) playBtn.style.display = 'flex'; 7455 }); 7456 } 7457 7458 isInitialized = true; 7459 } 7460 7461 function openPopup() { 7462 // Lazy initialize the DOM structure and video load on click 7463 initPopup(); 7464 7465 overlay.classList.add('show'); 7466 document.body.classList.add('icon_videopopup_open'); 7467 document.body.dataset.scrollY = window.scrollY; 7468 7469 var autoplayMuted = "" === 'true'; 7470 if (autoplayMuted) { 7471 video.muted = true; 7472 if (audioIndicator) audioIndicator.style.display = 'block'; 7473 } else { 7474 video.muted = false; 7475 if (audioIndicator) audioIndicator.style.display = 'none'; 7476 } 7477 7478 video.play().then(function() { 7479 if (playBtn) playBtn.style.display = 'none'; 7480 if (pauseBtn) pauseBtn.style.display = 'flex'; 7481 }).catch(function(error) { 7482 console.log('Autoplay failed:', error); 7483 if (playBtn) playBtn.style.display = 'flex'; 7484 if (pauseBtn) pauseBtn.style.display = 'none'; 7485 }); 7486 } 7487 7488 function closePopup() { 7489 if (!overlay) return; 7490 overlay.classList.remove('show');
7491 document.body.classList.remove('icon_videopopup_open'); 7492 toggle.checked = false; 7493 if (video) { 7494 video.pause(); 7495 video.currentTime = 0; 7496 } 7497 if (playBtn) playBtn.style.display = 'flex'; 7498 if (pauseBtn) pauseBtn.style.display = 'none'; 7499 if (document.body.dataset.scrollY) { 7500 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 7501 } 7502 } 7503 7504 function enableAudio() { 7505 if (video && video.muted) { 7506 video.muted = false; 7507 if (audioIndicator) audioIndicator.style.display = 'none'; 7508 } 7509 } 7510 7511 toggle.addEventListener('change', function() { 7512 toggle.checked ? openPopup() : closePopup(); 7513 }); 7514 7515 } catch(e) { 7516 console.error('Icon Video Popup initialization failed:', e); 7517 } 7518})(); 7519</script>
7519 </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-4"><div id="s-9701d94b-1d57-4c64-b66a-ffa5d86c3471-root" class="shg-c shg-btn-wrapper nb_fs_txt_md hc:nb_fw_400 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-9701d94b-1d57-4c64-b66a-ffa5d86c3471" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/iq-2k-bundle/"> View Details </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_std shogun-lazyload" id="s-f7235e2f-47b9-44a2-9832-4dae0d5e44e4"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-a7922362-0474-43f7-ae46-9cf2fcf725b9"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c save_badge " id="s-e93ca120-f9c4-4c1a-a8dd-40a6493a1f6c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-ff4c3512-3cd3-4666-96ab-bcf1e5a3c40d"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div id="s-51d70f12-45f3-4d04-9d30-16f9a984fd6f" class="shg-c border-container shg-align-right"> <div class="icon-popup-wrapper" id="iconPopupWrapper_522_awards_desk" style=" --icon-text-font-size: 10px; --icon-text-font-weight: 300; --icon-text-color: #000; "> <input type="checkbox" id="iconPopupToggle_522_awards_desk" class="icon-popup-toggle"/> <label for="iconPopupToggle_522_awards_desk" class="icon-popup-trigger" id="iconTrigger_522_awards_desk" title="Awards"> <img src="https://i.shgcdn.com/420700bf-a285-46b4-9ff7-9056960f0c42/-/format/auto/-/quality/normal/" alt="Awards" style="width: 30px; height: 30px; display:block; margin:0 auto;"/> <span style=" display:block; font-size: var(--icon-text-font-size); font-weight: var(--icon-text-font-weight); color: var(--icon-text-color); ">Awards</span> </label> <template id="popupTemplate_522_awards_desk"> <div class="icon-popup-overlay" id="overlay_522_awards_desk"> <div class="icon-popup-content" role="dialog" aria-modal="true" aria-labelledby="iconTrigger_522_awards_desk"> <button class="icon-popup-close" id="closeBtn_522_awards_desk" title="Close" aria-label="Close popup">×</button> <div class="icon-popup-inner"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-97449454-2d2b-407a-ac63-1031563cd91e"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-e5f48a18-cd40-478e-9bae-f7958ee899f7" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: left;">Awards</p></div> </div> <div class="shg-c " id="s-7222a503-5a71-44cc-9883-eabcd501a349"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-7f652036-38a8-4d93-8cb8-39fc47a2cf20"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-09c65bd5-cda0-484a-a682-960dca2c82ab"> <img src="https://i.shgcdn.com/cc68db8f-fca4-421e-bf0c-464a99d8d3cf/-/format/auto/-/quality/best/" width="" height="" alt="CNET logo in white text on a red circular background." class="shogun-image " decoding="async" loading="lazy"/> </div>
7519<script class="__SHG_DATA__" type="application/json"> 7520 { 7521 "__shgImageElements": { "uuid": "s-09c65bd5-cda0-484a-a682-960dca2c82ab" } 7522 } 7523 </script>
7523 <div id="s-3ea87b23-7d81-41d9-b385-78a9e56e5e74" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">CNET Roadshow</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-41c7c244-26a9-47cc-8415-1bc0e827d2b1"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-3b25ac82-bae0-405b-9f04-56938ba156d0"> <img src="https://i.shgcdn.com/6e072e76-51d8-42ea-8682-0c6bcb97f48f/-/format/auto/-/quality/best/" width="" height="" alt="Wirecutter pick 2020 for The Best Dash Cam." class="shogun-image " decoding="async" loading="lazy"/> </div>
7523<script class="__SHG_DATA__" type="application/json"> 7524 { 7525 "__shgImageElements": { "uuid": "s-3b25ac82-bae0-405b-9f04-56938ba156d0" } 7526 } 7527 </script>
7527 <div id="s-e0e8d1d1-4379-4fda-bea5-22743d379b37" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">Wirecutter Product Award</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-aec5f094-bfcb-4371-bdd0-56a3afc47a9c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-4e821d1a-568d-4cf4-afd2-51c457dcbdac"> <img src="https://i.shgcdn.com/2e1e59c3-8ce0-4d04-940c-18baa1acba89/-/format/auto/-/quality/best/" width="" height="" alt="Forbes logo on a black background." class="shogun-image " decoding="async" loading="lazy"/> </div>
7527<script class="__SHG_DATA__" type="application/json"> 7528 { 7529 "__shgImageElements": { "uuid": "s-4e821d1a-568d-4cf4-afd2-51c457dcbdac" } 7530 } 7531 </script>
7531 <div id="s-3dcf6b16-8db0-46da-8860-4b684de1545d" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">Forbes Best Dash Cam</span></p></div> </div> </div> </div> </div> </div> </div> </div> <div id="s-99d8d50e-c183-4480-9b97-c26c8212568c" class="shg-c nb_c_secondarydarkest "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><h6 style="text-align: center;"><span class="shg-heading-span"><strong>"The Nextbase 522GW Dash Cam produces a super-sharp 1440p (or Quad HD) video image.</strong><strong>"</strong></span></h6> <p style="text-align: center;"><span style="color: rgb(34, 34, 36);">- Wirecutter Product Award</span></p></div> </div> </div> </div> </div> </div> </div> </div> </template> </div> <style> 7532.icon-popup-wrapper { 7533 position: relative; 7534 display: inline-block; 7535} 7536 7537.icon-popup-toggle { 7538 position: absolute; 7539 left: -9999px; 7540} 7541 7542.icon-popup-trigger { 7543 display: inline-block; 7544 cursor: pointer; 7545} 7546 7547.icon-popup-trigger:hover { 7548 opacity: 0.85; 7549} 7550 7551/* Overlay - APPENDED TO BODY, OUTSIDE STACKING CONTEXT */ 7552.icon-popup-overlay { 7553 position: fixed !important; 7554 inset: 0 !important; 7555 display: none !important; 7556 justify-content: center; 7557 align-items: center; 7558 7559 /* ✨ Glassmorphism background */ 7560 background: rgba(15, 15, 15, 0.35); /* translucent dark layer */ 7561 backdrop-filter: blur(18px) saturate(140%); 7562 -webkit-backdrop-filter: blur(18px) saturate(140%); 7563 border: 1px solid rgba(255, 255, 255, 0.15); 7564 7565 /* optional gradient tint */ 7566 background-image: linear-gradient( 7567 135deg, 7568 rgba(255, 255, 255, 0.06), 7569 rgba(0, 0, 0, 0.45) 7570 ); 7571 7572 z-index: 2147483647 !important; 7573 padding: 20px; 7574 overflow-y: auto; 7575 transition: all 0.3s ease-in-out; 7576} 7577 7578 7579/* Show overlay when checked */ 7580.icon-popup-overlay.show { 7581 display: flex !important; 7582} 7583 7584/* Popup card */ 7585.icon-popup-content { 7586 background: #fff; 7587 padding: 22px; 7588 border-radius: 10px; 7589 max-width: 60vw; 7590 width: 100%; 7591 max-height: 80vh; 7592 overflow: hidden !important; 7593 position: relative; 7594 margin: 0 auto; 7595 /* box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); */ 7596 animation: popupFadeIn 0.2s 7597ease; 7598} 7599 7600@keyframes popupFadeIn { 7601 from { 7602 opacity: 0; 7603 transform: scale(0.95); 7604 } 7605 to { 7606 opacity: 1; 7607 transform: scale(1); 7608 } 7609} 7610 7611/* Close button */ 7612.icon-popup-close { 7613 position: absolute; 7614 top: 10px; 7615 right: 14px; 7616 font-size: 26px; 7617 line-height: 1; 7618 cursor: pointer; 7619 background: transparent !important; 7620 color:#000 !important; 7621 border: none; 7622 padding: 2px 8px; 7623 border-radius: 4px; 7624 z-index: 10; 7625 transition: all 0.2s ease; 7626 color: #333; 7627} 7628 7629.icon-popup-close:hover { 7630 background: transparent !important; 7631 transform: scale(1.1); 7632} 7633 7634/* Inner content */ 7635.icon-popup-inner { 7636 min-height: 150px; 7637} 7638 7639/* Prevent body scroll when popup is open */ 7640body.icon-popup-open { 7641 overflow: hidden !important; 7642} 7643 7644/* Editor mode adjustments */ 7645body.shogun-editor .icon-popup-overlay { 7646 position: relative !important; 7647 background: transparent !important; 7648 justify-content: flex-start !important; 7649 align-items: flex-start !important; 7650 padding: 0 !important; 7651 z-index: auto !important; 7652} 7653 7654body.shogun-editor .icon-popup-content { 7655 max-height: none !important; 7656 overflow: visible !important; 7657 width: 100% !important; 7658 margin: 10px 0 !important; 7659} 7660 7661body.shogun-editor template { 7662 display: block !important; 7663} 7664 7665/* Responsive adjustments */ 7666@media (max-width: 768px) { 7667 .icon-popup-content { 7668 width:100%; 7669 max-width: 95vw !important; 7670 padding: 10px; 7671 max-height: 85vh; 7672 } 7673 7674 .icon-popup-close { 7675 top: 8px; 7676 right: 12px; 7677 font-size: 24px; 7678 } 7679} 7680 7681@media (max-width: 768px) { 7682 7683 .icon-popup-wrapper .icon-popup-trigger { 7684 display: inline-flex !important;
7685 align-items: center !important; 7686 gap: 4px !important; 7687 text-align: left !important; 7688 } 7689 7690 .icon-popup-wrapper .icon-popup-trigger img { 7691 display: inline-block !important; 7692 margin: 0px !important; 7693 } 7694 7695 .icon-popup-wrapper .icon-popup-trigger span { 7696 display: inline-block !important; 7697 margin-top: 0 !important; 7698 white-space: normal; 7699 } 7700} 7701 7702/* Desktop: icon + text inline */ 7703@media (min-width: 769px) { 7704 .icon-popup-wrapper .icon-popup-trigger { 7705 display: inline-flex; 7706 align-items: center; 7707 gap: 8px; 7708 text-align: left; 7709 } 7710 7711 .icon-popup-wrapper .icon-popup-trigger img { 7712 margin: 0; 7713 display: inline-block; 7714 } 7715 7716 .icon-popup-wrapper .icon-popup-trigger span { 7717 display: inline-block; 7718 margin-top: 0; 7719 white-space: nowrap; 7720 } 7721} 7722 7723 7724</style>
7724<script> 7725(function() { 7726 try { 7727 var checkbox = document.getElementById('iconPopupToggle_522_awards_desk'); 7728 var template = document.getElementById('popupTemplate_522_awards_desk'); 7729 7730 if (!checkbox || !template) { 7731 console.warn('Icon popup elements not found'); 7732 return; 7733 } 7734 7735 // Clone popup from template and append to body 7736 var popupClone = template.content.cloneNode(true); 7737 var popupElement = popupClone.querySelector('.icon-popup-overlay'); 7738 7739 // Append to body to escape any stacking contexts 7740 document.body.appendChild(popupClone); 7741 7742 // Get the appended overlay element 7743 var overlay = document.getElementById('overlay_522_awards_desk'); 7744 var closeBtn = document.getElementById('closeBtn_522_awards_desk'); 7745 7746 if (!overlay) { 7747 console.error('Failed to append popup overlay'); 7748 return; 7749 } 7750 7751 // Function to open popup 7752 function openPopup() { 7753 overlay.classList.add('show'); 7754 document.body.classList.add('icon-popup-open'); 7755 document.body.dataset.scrollY = window.scrollY; 7756 7757 // Focus trap 7758 setTimeout(function() { 7759 var focusableElements = overlay.querySelectorAll( 7760 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' 7761 ); 7762 if (focusableElements.length) { 7763 focusableElements[0].focus(); 7764 } 7765 }, 100); 7766 } 7767 7768 // Function to close popup 7769 function closePopup() { 7770 overlay.classList.remove('show'); 7771 document.body.classList.remove('icon-popup-open'); 7772 checkbox.checked = false; 7773 7774 if (document.body.dataset.scrollY) { 7775 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 7776 } 7777 } 7778 7779 // Toggle popup when checkbox changes 7780 checkbox.addEventListener('change', function() { 7781 if (this.checked) { 7782 openPopup(); 7783 } else { 7784 closePopup(); 7785 } 7786 }); 7787 7788 // Close button 7789 if (closeBtn) { 7790 closeBtn.addEventListener('click', function(e) { 7791 e.preventDefault(); 7792 closePopup(); 7793 }); 7794 } 7795 7796 // Close on clicking outside content 7797 overlay.addEventListener('click', function(ev) { 7798 if (ev.target === overlay) { 7799 closePopup(); 7800 } 7801 }); 7802 7803 // Close on Escape key 7804 document.addEventListener('keydown', function(ev) { 7805 if (ev.key === 'Escape' && checkbox.checked) { 7806 closePopup(); 7807 } 7808 }); 7809 7810 // Prevent background scroll 7811 overlay.addEventListener('wheel', function(ev) { 7812 var content = overlay.querySelector('.icon-popup-content'); 7813 if (content && ev.target === overlay) { 7814 ev.preventDefault(); 7815 } 7816 }, { passive: false }); 7817 7818 // Clean up on page unload 7819 window.addEventListener('beforeunload', function() { 7820 if (overlay && overlay.parentNode) { 7821 overlay.parentNode.removeChild(overlay); 7822 } 7823 }); 7824 7825 } catch(e) { 7826 console.error('Icon popup JS initialization failed:', e); 7827 } 7828})(); 7829</script>
7829 </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div id="s-275d02d1-38f0-4926-8ea2-50aabbce28a4" class="shg-c "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_522GW"> <input type="checkbox" id="icon_videopopup_toggle_522GW" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_522GW" class="icon_videopopup_trigger" id="icon_videopopup_trigger_522GW"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/65b9834d-5e86-4441-a2c4-7f0e3d07d1de/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_522GW"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_522GW"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_522GW"> <button class="icon_videopopup_close" id="icon_videopopup_close_522GW" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_522GW" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_522GW" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_522GW" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_522GW" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_522GW"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 7830#icon_videopopup_wrapper_522GW { position: relative; display: inline-block; } 7831#icon_videopopup_wrapper_522GW .icon_videopopup_toggle { position: absolute; left: -9999px; } 7832 7833#icon_videopopup_wrapper_522GW .icon_videopopup_trigger { 7834 display: inline-flex; align-items: center; cursor: pointer; 7835 transition: opacity 0.25s ease; 7836} 7837#icon_videopopup_wrapper_522GW .icon_videopopup_trigger:hover { opacity: 0.85; } 7838 7839#icon_videopopup_wrapper_522GW .icon_videopopup_inline { 7840 display: flex; align-items: center; gap: 10px; 7841} 7842#icon_videopopup_wrapper_522GW .icon_videopopup_icon { 7843 width: 30px; 7844 height: 30px; 7845} 7846#icon_videopopup_wrapper_522GW .icon_videopopup_textblock { 7847 color: #000; 7848 display: flex; flex-direction: column; justify-content: center; 7849} 7850#icon_videopopup_wrapper_522GW .icon_videopopup_heading { 7851 font-size: 10px; 7852 font-weight: 600; 7853 margin: 0; 7854} 7855#icon_videopopup_wrapper_522GW .icon_videopopup_subtext { 7856 font-size: 10px; 7857 font-weight: 300; 7858 margin: 0; 7859} 7860 7861#icon_videopopup_overlay_522GW { 7862 position: fixed; inset: 0; display: none; 7863 justify-content: center; align-items: center; 7864 background: rgba(15,15,15,0.35); 7865 backdrop-filter: blur(18px) saturate(140%); 7866 -webkit-backdrop-filter: blur(18px) saturate(140%); 7867 border: 1px solid rgba(255,255,255,0.15); 7868 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 7869 z-index: 2147483647; padding: 20px; overflow-y: auto; 7870 transition: all 0.3s ease-in-out; 7871} 7872#icon_videopopup_overlay_522GW.show { display: flex; } 7873 7874#icon_videopopup_overlay_522GW .icon_videopopup_modal { 7875 padding: 0; border-radius: 10px; max-width: 65vw; 7876 width: 80%; max-height: 85vh; overflow: hidden; 7877 background: transparent; position: relative; 7878} 7879#icon_videopopup_overlay_522GW .icon_videopopup_close { 7880 position: absolute; top: 5px; right: 10px; font-size: 28px; 7881 color: #fff; background: transparent; border: none; 7882 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 7883} 7884#icon_videopopup_overlay_522GW .icon_videopopup_close:hover { transform: scale(1.1); } 7885 7886/* Video Container */ 7887#icon_videopopup_overlay_522GW .icon_videopopup_videocontainer { 7888 position: relative; width: 100%; 7889 display: flex; justify-content: center; align-items: center; 7890 background: #000; 7891} 7892#icon_videopopup_overlay_522GW .icon_videopopup_video { 7893 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 7894} 7895 7896/* Play & Pause Button wrappers */ 7897#icon_videopopup_overlay_522GW .icon_videopopup_play, 7898#icon_videopopup_overlay_522GW .icon_videopopup_pause { 7899 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 7900 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 7901 padding: 0; 7902} 7903 7904/* Center play button */ 7905#icon_videopopup_overlay_522GW .icon_videopopup_play { 7906 top: 50%; left: 50%; transform: translate(-50%, -50%); 7907 width: 60px; height: 60px; border-radius: 50%; 7908} 7909 7910/* Pause small floating control */ 7911#icon_videopopup_overlay_522GW .icon_videopopup_pause { 7912 bottom: 20px; right: 20px; 7913 width: 45px; height: 55px; border-radius: 50%; 7914 display: none; 7915} 7916 7917/* SVG visuals */ 7918#icon_videopopup_overlay_522GW .icon_videopopup_svg_play, 7919#icon_videopopup_overlay_522GW .icon_videopopup_svg_pause { 7920 width: 100%; height: 100%; display: block; pointer-events: none; 7921 border-radius: 50%; 7922 filter: none; 7923 transition: transform 0.2s ease; 7924} 7925#icon_videopopup_overlay_522GW .icon_videopopup_play:hover .icon_videopopup_svg_play, 7926#icon_videopopup_overlay_522GW .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 7927 transform: scale(1.06); 7928} 7929 7930/* Audio Indicator */ 7931#icon_videopopup_overlay_522GW .icon_videopopup_audioindicator { 7932 position: absolute; bottom: 20px; left: 20px; 7933 background: rgba(0, 0, 0, 0.7); color: #fff; 7934 padding: 8px 12px; border-radius: 20px; 7935 font-size: 14px; display: none; z-index: 10; 7936 transition: all 0.3s ease; 7937} 7938#icon_videopopup_overlay_522GW .icon_videopopup_audioindicator.show { display: block; } 7939#icon_videopopup_overlay_522GW .icon_videopopup_audioindicator.hidden { display: none; } 7940 7941/* Responsive */ 7942@media (max-width: 768px) { 7943 #icon_videopopup_overlay_522GW .icon_videopopup_modal { 7944 width: 100%; max-width: 100%; 7945 } 7946 #icon_videopopup_overlay_522GW .icon_videopopup_play { 7947 width: 50px; height: 50px; 7948 } 7949 #icon_videopopup_overlay_522GW .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 7950 #icon_videopopup_overlay_522GW .icon_videopopup_pause { 7951 width: 40px; height: 40px; bottom: 15px; right: 15px; 7952 } 7953 #icon_videopopup_overlay_522GW .icon_videopopup_audioindicator { 7954 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 7955 } 7956 #icon_videopopup_overlay_522GW .icon_videopopup_close { 7957 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 7958 color: #fff; background: transparent; border: none; 7959 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 7960 } 7961 #icon_videopopup_wrapper_522GW .icon_videopopup_inline { 7962 display: flex; align-items: center; gap: 5px !important; 7963 } 7964} 7965 7966/* Heading and subtext inline in mobile */ 7967@media (max-width: 768px) { 7968 #icon_videopopup_wrapper_522GW .icon_videopopup_trigger .icon_videopopup_textblock { 7969 display: flex !important; 7970 flex-direction: row !important;
7971 align-items: center !important; 7972 gap: 0px !important; 7973 } 7974 7975 #icon_videopopup_wrapper_522GW .icon_videopopup_heading, 7976 #icon_videopopup_wrapper_522GW .icon_videopopup_subtext { 7977 display: inline !important; 7978 margin: 0 !important; 7979 white-space: nowrap !important; 7980 } 7981} 7982</style>
7982<script> 7983(function() { 7984 try { 7985 var toggle = document.getElementById('icon_videopopup_toggle_522GW'); 7986 var template = document.getElementById('icon_videopopup_template_522GW'); 7987 if (!toggle || !template) return; 7988 7989 var isInitialized = false; 7990 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 7991 7992 function initPopup() { 7993 if (isInitialized) return; 7994 7995 // Clone template into DOM on demand 7996 var popupClone = template.content.cloneNode(true); 7997 document.body.appendChild(popupClone); 7998 7999 overlay = document.getElementById('icon_videopopup_overlay_522GW'); 8000 closeBtn = document.getElementById('icon_videopopup_close_522GW'); 8001 video = document.getElementById('icon_videopopup_video_522GW'); 8002 videoSource = document.getElementById('icon_videopopup_source_522GW'); 8003 playBtn = document.getElementById('icon_videopopup_play_522GW'); 8004 pauseBtn = document.getElementById('icon_videopopup_pause_522GW'); 8005 audioIndicator = document.getElementById('icon_videopopup_audioindicator_522GW'); 8006 8007 // Set video source lazily upon first interaction 8008 var isMobile = window.innerWidth <= 768; 8009 var mobileSrc = "".trim(); 8010 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/b49a5e67-8c70-4638-bd04-1cc7c19678bf/1080p-vs-Standard-Video-Comparison.mp4".trim(); 8011 8012 videoSource.src = (isMobile && mobileSrc && mobileSrc !== '') ? mobileSrc : desktopSrc; 8013 video.load(); 8014 8015 // Attach control event listeners 8016 closeBtn.addEventListener('click', closePopup); 8017 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 8018 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 8019 8020 if (playBtn) playBtn.addEventListener('click', function() { 8021 if (video) { 8022 video.play(); 8023 video.muted = false; 8024 } 8025 playBtn.style.display = 'none'; 8026 if (pauseBtn) pauseBtn.style.display = 'flex'; 8027 }); 8028 8029 if (pauseBtn) pauseBtn.addEventListener('click', function() { 8030 if (video) video.pause(); 8031 if (playBtn) playBtn.style.display = 'flex'; 8032 pauseBtn.style.display = 'none'; 8033 }); 8034 8035 if (video) { 8036 video.addEventListener('click', enableAudio); 8037 video.addEventListener('play', function() { 8038 if (playBtn) playBtn.style.display = 'none'; 8039 if (pauseBtn) pauseBtn.style.display = 'flex'; 8040 }); 8041 8042 video.addEventListener('ended', function() { 8043 if (pauseBtn) pauseBtn.style.display = 'none'; 8044 if (playBtn) playBtn.style.display = 'flex'; 8045 }); 8046 } 8047 8048 isInitialized = true; 8049 } 8050 8051 function openPopup() { 8052 // Lazy initialize the DOM structure and video load on click 8053 initPopup(); 8054 8055 overlay.classList.add('show'); 8056 document.body.classList.add('icon_videopopup_open'); 8057 document.body.dataset.scrollY = window.scrollY; 8058 8059 var autoplayMuted = "" === 'true'; 8060 if (autoplayMuted) { 8061 video.muted = true; 8062 if (audioIndicator) audioIndicator.style.display = 'block'; 8063 } else { 8064 video.muted = false; 8065 if (audioIndicator) audioIndicator.style.display = 'none'; 8066 } 8067 8068 video.play().then(function() { 8069 if (playBtn) playBtn.style.display = 'none'; 8070 if (pauseBtn) pauseBtn.style.display = 'flex'; 8071 }).catch(function(error) { 8072 console.log('Autoplay failed:', error); 8073 if (playBtn) playBtn.style.display = 'flex'; 8074 if (pauseBtn) pauseBtn.style.display = 'none'; 8075 }); 8076 } 8077 8078 function closePopup() { 8079 if (!overlay) return; 8080 overlay.classList.remove('show'); 8081 document.body.classList.remove('icon_videopopup_open'); 8082 toggle.checked = false; 8083 if (video) { 8084 video.pause(); 8085 video.currentTime = 0; 8086 } 8087 if (playBtn) playBtn.style.display = 'flex'; 8088 if (pauseBtn) pauseBtn.style.display = 'none'; 8089 if (document.body.dataset.scrollY) { 8090 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 8091 } 8092 } 8093 8094 function enableAudio() { 8095 if (video && video.muted) { 8096 video.muted = false; 8097 if (audioIndicator) audioIndicator.style.display = 'none'; 8098 } 8099 } 8100 8101 toggle.addEventListener('change', function() { 8102 toggle.checked ? openPopup() : closePopup(); 8103 });
8104 8105 } catch(e) { 8106 console.error('Icon Video Popup initialization failed:', e); 8107 } 8108})(); 8109</script>
8109 </div> </div> </div> </div> <div id="s-ac1fa410-8d1d-41a5-a645-fb674d249c04-root"> <div class="shg-image-margin-container-s-ac1fa410-8d1d-41a5-a645-fb674d249c04" id="wrap-s-ac1fa410-8d1d-41a5-a645-fb674d249c04"> <div class="s-ac1fa410-8d1d-41a5-a645-fb674d249c04 shg-align-container"> <div class="shg-c s-ac1fa410-8d1d-41a5-a645-fb674d249c04 shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-top-left cm-nb-sg-bd-cl-purple shg-align-center" id="s-ac1fa410-8d1d-41a5-a645-fb674d249c04"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <a class="shogun-image-link" href="/exclusive-offers/522gw-dash-cam-full-package/"> <img srcset="https://i.shgcdn.com/8fdae050-ac4c-4285-a6ca-6aa3368e4d36/-/format/auto/-/quality/best/-/resize/180x/ 180w,https://i.shgcdn.com/8fdae050-ac4c-4285-a6ca-6aa3368e4d36/-/format/auto/-/quality/best/-/resize/360x/ 360w,https://i.shgcdn.com/8fdae050-ac4c-4285-a6ca-6aa3368e4d36/-/format/auto/-/quality/best/-/resize/720x/ 720w,https://i.shgcdn.com/8fdae050-ac4c-4285-a6ca-6aa3368e4d36/-/format/auto/-/quality/best/-/resize/900x/ 900w,https://i.shgcdn.com/8fdae050-ac4c-4285-a6ca-6aa3368e4d36/-/format/auto/-/quality/best/-/resize/1080x/ 1080w,https://i.shgcdn.com/8fdae050-ac4c-4285-a6ca-6aa3368e4d36/-/format/auto/-/quality/best/-/resize/1200x/ 1200w" sizes="100vw" src="https://i.shgcdn.com/8fdae050-ac4c-4285-a6ca-6aa3368e4d36/-/format/auto/-/quality/best/" alt="Dashboard camera with a mounting bracket and storage card." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </a> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-linked"> </div> </div> </div> </div> </div>
8109<script class="__SHG_DATA__" type="application/json"> 8110 { 8111 "__shgImageV3Elements": { "uuid": "s-ac1fa410-8d1d-41a5-a645-fb674d249c04" } 8112 } 8113 </script>
8113 </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_56 nbs_pb_42 " id="s-6a84a87a-a883-4c64-8740-c8956dc25efa"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 " id="s-9dcc7a33-469e-4c32-a82f-69c0d1ffeb8e"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-2a8daa1c-3f95-4a83-8923-a1e8fa9268b1" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div id="s-6465b344-497c-4925-b61e-397ff210c10d" class="shg-c nbs_pb_mob_14 hc:nb_fw_500 nb_c_secondarydarkest nbs_pb_sm shg-align-left"> <div class="shg-product-title-component"> <h5> <span data-shg-product-target="product-title"></span> </h5> </div>
8113<script class="__SHG_DATA__" type="application/json"> 8114 { 8115 "__shgProductCallback": { 8116 "id": "s-2a8daa1c-3f95-4a83-8923-a1e8fa9268b1", 8117 "callback": { 8118 "cb": "title", 8119 "data": { 8120 "uuid": "s-6465b344-497c-4925-b61e-397ff210c10d" 8121 } 8122 } 8123 } 8124 } 8125 </script>
8125 </div>
8125<script class="__SHG_DATA__" type="application/json"> 8126 { 8127 8128 "__shgProductInit": { 8129 "uuid": "s-2a8daa1c-3f95-4a83-8923-a1e8fa9268b1", 8130 "platform": "big_commerce", 8131 "currency": "USD", 8132 "productId": "245", 8133 "staticVariant": false, 8134 "hideIfDraft": false, 8135 8136 8137 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 8138 8139 8140 8141 "productUrl": "https://shgapi.com/api/products", 8142 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6IjI0NSJ9.BFyjoVJhBjDWCyzq74oiE129b8NLEYyrMboy2tvrXyg", 8143 8144 8145 8146 "productHandle": "exclusive-offers/522gw-dash-cam-full-package/", 8147 "productVariantId": 305 8148 8149 }, 8150 "__shgProductCallback": { 8151 "id": "s-2a8daa1c-3f95-4a83-8923-a1e8fa9268b1", 8152 "callback": { 8153 "cb": "box", 8154 "data": { 8155 "uuid": "s-2a8daa1c-3f95-4a83-8923-a1e8fa9268b1" 8156 } 8157 } 8158 } 8159 } 8160 </script>
8160 </div> <div id="s-272d5d4a-9fcd-4085-afd4-269be4078559" class="shg-c nb_fs_txt_mob_16 hc:nb_fw_600 nb_c_primarydark nbs_pb_sm shg-align-left"> <div class="shogun-heading-component"> <h6> REVOLUTIONARY NEW FEATURES </h6> </div> </div> <div id="s-c40cdbd8-b77a-49f6-8453-893284d9b1e7" class="shg-c hc:nb_fw_300 nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>The Nextbase 522GW Dash Cam include revolutionary safety features that transform road safety. Exclusive features including Emergency SOS and Voice Control redefine the possibilities of a Dash Cam. Be assured of stunning image quality, day and night, with 1440p HD recording. Includes the Nextbase 1 Year Extended Warranty, for even more peace of mind!</p> <p style="font-size: calc(12px * var(--proportional-font-size) / 100);"> </p></div> </div> <div id="s-4a2d2f97-061f-4c54-87da-3bd18d644384" class="shg-c hc:nb_fw_300 nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p><span style="color: rgb(0, 0, 0);">Enhance your 522GW with reflection-free lens and Rear Window Camera to guard against rear impacts and glare.</span></p></div> </div> </div> </div> </div></div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_14 nbs_pb_14 nbs_mb_28 " id="s-d67043c4-1044-44ec-866e-33a5354bbc3f"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-7bdc6567-a050-45a0-9df7-c4b86d55a888" class="shg-c shg-align-left"> <div class="nb-fluid-scale icon-grid-container gw"> <div class="icons-list icons-per-row-3" id="icons522GWList"></div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c save_badge " id="s-86b9fc0b-71ec-4eba-89b1-579afbec5ca2"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-2e934da5-6de2-434b-b816-c73b6a7c6886-root"> <div class="shg-image-margin-container-s-2e934da5-6de2-434b-b816-c73b6a7c6886" id="wrap-s-2e934da5-6de2-434b-b816-c73b6a7c6886"> <div class="s-2e934da5-6de2-434b-b816-c73b6a7c6886 shg-align-container"> <div class="shg-c s-2e934da5-6de2-434b-b816-c73b6a7c6886 shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-bottom-left cm-nb-sg-bd-cl-purple shg-align-center" id="s-2e934da5-6de2-434b-b816-c73b6a7c6886"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <a class="shogun-image-link" href="/exclusive-offers/522gw-dash-cam-full-package/"> <img src="https://i.shgcdn.com/21e467c6-6ec9-4894-b6a3-af6bbcf5c675/-/format/auto/-/quality/best/" alt="A dashcam with accessories and carrying case." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </a> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-linked"> </div> </div> </div> </div> </div>
8160<script class="__SHG_DATA__" type="application/json"> 8161 { 8162 "__shgImageV3Elements": { "uuid": "s-2e934da5-6de2-434b-b816-c73b6a7c6886" } 8163 } 8164 </script>
8164 </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_16 nbs_mt_mob_16 " id="s-472c8c67-fc1a-4719-bdb9-324ab18c214d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-57472ce7-245e-4562-8560-efd9c3a01c3f" class="shg-c nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p><span style="color: rgb(0, 0, 0);">Includes:</span></p></div> </div> <div id="s-e2394cc3-4092-45d2-ae54-77db67fb787e" class="shg-c nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);"><span style="color: rgb(0, 0, 0);"><strong>522GW Dash Cam</strong> | <strong>64GB SD Card</strong> |<strong> Rear Window Camera </strong>|<strong> Carry Case </strong>|<strong> Nextbase 1-year extended warranty</strong></span></p></div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 nbs_mt_mob_14 " id="s-8fc76a96-cc7b-4d8b-a944-4d894bb3a590"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-b732920c-156f-448d-9821-6907a38771b1"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div id="s-2f67a64d-90c3-4c5e-b13c-ab55113156a5" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c view " id="s-0495ebfc-00b8-446a-b24e-f17b3ec4ff1d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-9a7f2009-dd0d-4faa-84dc-6ffc031ed4b5" class="shg-c hc:nb_fw_500 has-price-divided-by-3 nb_text_left nb_c_secondarydarkest shg-align-left"> <span class="shg-product-sold-out" data-shg-product-target="product-sold-out">Sold out</span> <span class="shg-product-price product-price rca-product-price" data-shg-product-target="product-price"></span> <span class="shg-product-compare-price" data-shg-product-target="product-compare-price"></span>
8164<script class="__SHG_DATA__" type="application/json"> 8165 { 8166 "__shgProductCallback": { 8167 "id": "s-2f67a64d-90c3-4c5e-b13c-ab55113156a5", 8168 "callback": { 8169 "cb": "price", 8170 "data": { 8171 "uuid": "s-9a7f2009-dd0d-4faa-84dc-6ffc031ed4b5", 8172 "hasComparePrice": true 8173 } 8174 } 8175 } 8176 } 8177 </script>
8177 </div> </div> </div> </div>
8177<script class="__SHG_DATA__" type="application/json"> 8178 { 8179 8180 "__shgProductInit": { 8181 "uuid": "s-2f67a64d-90c3-4c5e-b13c-ab55113156a5", 8182 "platform": "big_commerce", 8183 "currency": "USD", 8184 "productId": "245", 8185 "staticVariant": true, 8186 "hideIfDraft": false, 8187 8188 8189 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 8190 8191 8192 8193 "productUrl": "https://shgapi.com/api/products", 8194 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6IjI0NSJ9.BFyjoVJhBjDWCyzq74oiE129b8NLEYyrMboy2tvrXyg", 8195 8196 8197 8198 "productHandle": "exclusive-offers/522gw-dash-cam-full-package/", 8199 "productVariantId": 305 8200 8201 }, 8202 "__shgProductCallback": { 8203 "id": "s-2f67a64d-90c3-4c5e-b13c-ab55113156a5", 8204 "callback": { 8205 "cb": "box", 8206 "data": { 8207 "uuid": "s-2f67a64d-90c3-4c5e-b13c-ab55113156a5" 8208 } 8209 } 8210 } 8211 } 8212 </script>
8212 </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-a311e292-279a-4378-bfb4-91d08af0948d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-7d1a09cb-3f09-4124-839d-60c61338bf6d-root" class="shg-c shg-btn-wrapper nb_fs_txt_md cm_nb_plp_buy_button nb_c_secondarylight hc:nb_fw_700 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-7d1a09cb-3f09-4124-839d-60c61338bf6d" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/522gw-dash-cam-full-package/"> Buy Now </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-2640a8de-da11-49a2-b42c-bb598151a818"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-6b8e03f7-bb53-496b-8c31-078b5d38dd2a-root" class="shg-c shg-btn-wrapper btn-sectn hc:nb_fw_400 nb_fs_txt_std shg-align-left"> <a id="s-6b8e03f7-bb53-496b-8c31-078b5d38dd2a" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/522gw-dash-cam-full-package/"> View Details </a> </div> <div id="s-2ed5c0c9-0056-4845-a2f1-b334321e9076-root" class="shg-c shg-btn-wrapper nb_fs_txt_std cm_nb_plp_buy_button btn-sectn nb_c_secondarylight hc:nb_fw_700 shg-align-left"> <a id="s-2ed5c0c9-0056-4845-a2f1-b334321e9076" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/522gw-dash-cam-full-package/"> Buy Now </a> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-c50c43c2-1785-4c16-bf4b-e18614c8bf6f"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c cm_nb_th_plp_sg_action_section " id="s-17cabbef-df38-4a62-be2c-0bd359bc0ca9"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-b1f675ea-2b38-40a0-959b-c11922ba41fe"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-71599852-ea33-43af-b549-fa47b86daddf" class="shg-c shg-align-right"> <div class="icon-popup-wrapper" id="iconPopupWrapper_522Award_Mobile" style=" --icon-text-font-size: 10px; --icon-text-font-weight: 300; --icon-text-color: #000; "> <input type="checkbox" id="iconPopupToggle_522Award_Mobile" class="icon-popup-toggle"/> <label for="iconPopupToggle_522Award_Mobile" class="icon-popup-trigger" id="iconTrigger_522Award_Mobile" title="Awards"> <img src="https://i.shgcdn.com/209f4d49-3980-47ce-87ab-1cecaedc6ef4/-/format/auto/-/quality/normal/" alt="Awards" style="width: 25px; height: 25px; display:block; margin:0 auto;"/> <span style=" display:block; font-size: var(--icon-text-font-size); font-weight: var(--icon-text-font-weight); color: var(--icon-text-color); ">Awards</span> </label> <template id="popupTemplate_522Award_Mobile"> <div class="icon-popup-overlay" id="overlay_522Award_Mobile"> <div class="icon-popup-content" role="dialog" aria-modal="true" aria-labelledby="iconTrigger_522Award_Mobile"> <button class="icon-popup-close" id="closeBtn_522Award_Mobile" title="Close" aria-label="Close popup">×</button> <div class="icon-popup-inner"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-b557b562-d1c8-4c05-8443-19253231d278"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-e11a4033-73bc-439d-a359-b0af3ed13652" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: left;">Awards</p></div> </div> <div class="shg-c " id="s-c2654f62-48d5-4391-adbc-8a23f7ad2a8a"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-dff68eb2-995e-45e8-b75d-75cfb885ceea"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-324f6881-1f25-4990-8ea1-47b1cd5ab7fc"> <img src="https://i.shgcdn.com/1b9c36a2-128f-4ea9-9e50-b27a0034cfee/-/format/auto/-/quality/best/" width="" height="" alt="TIME Best Inventions 2022 award logo." class="shogun-image " decoding="async" loading="lazy"/> </div>
8212<script class="__SHG_DATA__" type="application/json"> 8213 { 8214 "__shgImageElements": { "uuid": "s-324f6881-1f25-4990-8ea1-47b1cd5ab7fc" } 8215 } 8216 </script>
8216 <div id="s-523519e2-2c1a-4bbd-b5bb-fdfc494eafb7" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">TIME Best Inventions 2022</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-bdfc02c4-9c5e-4b8c-a5ad-cd00136cd29c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-df46f2bd-2d20-48ae-a0aa-d35d3264493b"> <img src="https://i.shgcdn.com/65b65a94-1fee-481f-8306-f71f8fb71031/-/format/auto/-/quality/best/" width="" height="" alt="Best of CES 2022 award logo." class="shogun-image " decoding="async" loading="lazy"/> </div>
8216<script class="__SHG_DATA__" type="application/json"> 8217 { 8218 "__shgImageElements": { "uuid": "s-df46f2bd-2d20-48ae-a0aa-d35d3264493b" } 8219 } 8220 </script>
8220 <div id="s-0d6781c6-d239-4c6e-8670-314ae8645655" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">Best of CES 2022</span></p></div> </div> </div> </div> </div> </div> </div> </div> <div id="s-bae822fa-c3c9-4007-aea6-66589eb2ac7f" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><h4 style="text-align: center;"><span class="shg-heading-span" style="color: rgb(34, 34, 36);"><strong>"This is the first dash cam in years that really seems to move the market on</strong><strong>"</strong></span></h4> <p style="text-align: center;"><span style="color: rgb(34, 34, 36);">- Best of CES 2022</span></p></div> </div> </div> </div> </div> </div> </div> </div> </template> </div> <style> 8221.icon-popup-wrapper { 8222 position: relative; 8223 display: inline-block; 8224} 8225 8226.icon-popup-toggle { 8227 position: absolute; 8228 left: -9999px; 8229} 8230 8231.icon-popup-trigger { 8232 display: inline-block; 8233 cursor: pointer; 8234} 8235 8236.icon-popup-trigger:hover { 8237 opacity: 0.85; 8238} 8239 8240/* Overlay - APPENDED TO BODY, OUTSIDE STACKING CONTEXT */ 8241.icon-popup-overlay { 8242 position: fixed !important; 8243 inset: 0 !important; 8244 display: none !important; 8245 justify-content: center; 8246 align-items: center; 8247 8248 /* ✨ Glassmorphism background */ 8249 background: rgba(15, 15, 15, 0.35); /* translucent dark layer */ 8250 backdrop-filter: blur(18px) saturate(140%); 8251 -webkit-backdrop-filter: blur(18px) saturate(140%); 8252 border: 1px solid rgba(255, 255, 255, 0.15); 8253 8254 /* optional gradient tint */ 8255 background-image: linear-gradient( 8256 135deg, 8257 rgba(255, 255, 255, 0.06), 8258 rgba(0, 0, 0, 0.45) 8259 ); 8260 8261 z-index: 2147483647 !important; 8262 padding: 20px; 8263 overflow-y: auto; 8264 transition: all 0.3s ease-in-out; 8265} 8266 8267 8268/* Show overlay when checked */ 8269.icon-popup-overlay.show { 8270 display: flex !important; 8271} 8272 8273/* Popup card */ 8274.icon-popup-content { 8275 background: #fff; 8276 padding: 22px; 8277 border-radius: 10px; 8278 max-width: 60vw; 8279 width: 100%; 8280 max-height: 80vh; 8281 overflow: hidden !important; 8282 position: relative; 8283 margin: 0 auto; 8284 /* box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); */ 8285 animation: popupFadeIn 0.2s 8286ease; 8287} 8288 8289@keyframes popupFadeIn { 8290 from { 8291 opacity: 0; 8292 transform: scale(0.95); 8293 } 8294 to { 8295 opacity: 1; 8296 transform: scale(1); 8297 } 8298} 8299 8300/* Close button */ 8301.icon-popup-close { 8302 position: absolute; 8303 top: 10px; 8304 right: 14px; 8305 font-size: 26px; 8306 line-height: 1; 8307 cursor: pointer; 8308 background: transparent !important; 8309 color:#000 !important; 8310 border: none; 8311 padding: 2px 8px; 8312 border-radius: 4px; 8313 z-index: 10; 8314 transition: all 0.2s ease; 8315 color: #333; 8316} 8317 8318.icon-popup-close:hover { 8319 background: transparent !important; 8320 transform: scale(1.1); 8321} 8322 8323/* Inner content */ 8324.icon-popup-inner { 8325 min-height: 150px; 8326} 8327 8328/* Prevent body scroll when popup is open */ 8329body.icon-popup-open { 8330 overflow: hidden !important; 8331} 8332 8333/* Editor mode adjustments */ 8334body.shogun-editor .icon-popup-overlay { 8335 position: relative !important; 8336 background: transparent !important; 8337 justify-content: flex-start !important; 8338 align-items: flex-start !important; 8339 padding: 0 !important; 8340 z-index: auto !important; 8341} 8342 8343body.shogun-editor .icon-popup-content { 8344 max-height: none !important; 8345 overflow: visible !important; 8346 width: 100% !important; 8347 margin: 10px 0 !important; 8348} 8349 8350body.shogun-editor template { 8351 display: block !important; 8352} 8353 8354/* Responsive adjustments */ 8355@media (max-width: 768px) { 8356 .icon-popup-content { 8357 width:100%; 8358 max-width: 95vw !important; 8359 padding: 10px; 8360 max-height: 85vh; 8361 } 8362 8363 .icon-popup-close { 8364 top: 8px; 8365 right: 12px; 8366 font-size: 24px; 8367 } 8368} 8369 8370@media (max-width: 768px) { 8371 8372 .icon-popup-wrapper .icon-popup-trigger { 8373 display: inline-flex !important;
8374 align-items: center !important; 8375 gap: 4px !important; 8376 text-align: left !important; 8377 } 8378 8379 .icon-popup-wrapper .icon-popup-trigger img { 8380 display: inline-block !important; 8381 margin: 0px !important; 8382 } 8383 8384 .icon-popup-wrapper .icon-popup-trigger span { 8385 display: inline-block !important; 8386 margin-top: 0 !important; 8387 white-space: normal; 8388 } 8389} 8390 8391/* Desktop: icon + text inline */ 8392@media (min-width: 769px) { 8393 .icon-popup-wrapper .icon-popup-trigger { 8394 display: inline-flex; 8395 align-items: center; 8396 gap: 8px; 8397 text-align: left; 8398 } 8399 8400 .icon-popup-wrapper .icon-popup-trigger img { 8401 margin: 0; 8402 display: inline-block; 8403 } 8404 8405 .icon-popup-wrapper .icon-popup-trigger span { 8406 display: inline-block; 8407 margin-top: 0; 8408 white-space: nowrap; 8409 } 8410} 8411 8412 8413</style>
8413<script> 8414(function() { 8415 try { 8416 var checkbox = document.getElementById('iconPopupToggle_522Award_Mobile'); 8417 var template = document.getElementById('popupTemplate_522Award_Mobile'); 8418 8419 if (!checkbox || !template) { 8420 console.warn('Icon popup elements not found'); 8421 return; 8422 } 8423 8424 // Clone popup from template and append to body 8425 var popupClone = template.content.cloneNode(true); 8426 var popupElement = popupClone.querySelector('.icon-popup-overlay'); 8427 8428 // Append to body to escape any stacking contexts 8429 document.body.appendChild(popupClone); 8430 8431 // Get the appended overlay element 8432 var overlay = document.getElementById('overlay_522Award_Mobile'); 8433 var closeBtn = document.getElementById('closeBtn_522Award_Mobile'); 8434 8435 if (!overlay) { 8436 console.error('Failed to append popup overlay'); 8437 return; 8438 } 8439 8440 // Function to open popup 8441 function openPopup() { 8442 overlay.classList.add('show'); 8443 document.body.classList.add('icon-popup-open'); 8444 document.body.dataset.scrollY = window.scrollY; 8445 8446 // Focus trap 8447 setTimeout(function() { 8448 var focusableElements = overlay.querySelectorAll( 8449 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' 8450 ); 8451 if (focusableElements.length) { 8452 focusableElements[0].focus(); 8453 } 8454 }, 100); 8455 } 8456 8457 // Function to close popup 8458 function closePopup() { 8459 overlay.classList.remove('show'); 8460 document.body.classList.remove('icon-popup-open'); 8461 checkbox.checked = false; 8462 8463 if (document.body.dataset.scrollY) { 8464 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 8465 } 8466 } 8467 8468 // Toggle popup when checkbox changes 8469 checkbox.addEventListener('change', function() { 8470 if (this.checked) { 8471 openPopup(); 8472 } else { 8473 closePopup(); 8474 } 8475 }); 8476 8477 // Close button 8478 if (closeBtn) { 8479 closeBtn.addEventListener('click', function(e) { 8480 e.preventDefault(); 8481 closePopup(); 8482 }); 8483 } 8484 8485 // Close on clicking outside content 8486 overlay.addEventListener('click', function(ev) { 8487 if (ev.target === overlay) { 8488 closePopup(); 8489 } 8490 }); 8491 8492 // Close on Escape key 8493 document.addEventListener('keydown', function(ev) { 8494 if (ev.key === 'Escape' && checkbox.checked) { 8495 closePopup(); 8496 } 8497 }); 8498 8499 // Prevent background scroll 8500 overlay.addEventListener('wheel', function(ev) { 8501 var content = overlay.querySelector('.icon-popup-content'); 8502 if (content && ev.target === overlay) { 8503 ev.preventDefault(); 8504 } 8505 }, { passive: false }); 8506 8507 // Clean up on page unload 8508 window.addEventListener('beforeunload', function() { 8509 if (overlay && overlay.parentNode) { 8510 overlay.parentNode.removeChild(overlay); 8511 } 8512 }); 8513 8514 } catch(e) { 8515 console.error('Icon popup JS initialization failed:', e); 8516 } 8517})(); 8518</script>
8518 </div> </div> </div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-7211b2d5-f2b0-4954-a27b-780e5513a25d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-21ca4e1e-0ce9-47ee-82db-ae0fc0a5ad94" class="shg-c "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_522videopopup_mobile"> <input type="checkbox" id="icon_videopopup_toggle_522videopopup_mobile" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_522videopopup_mobile" class="icon_videopopup_trigger" id="icon_videopopup_trigger_522videopopup_mobile"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/65b9834d-5e86-4441-a2c4-7f0e3d07d1de/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_522videopopup_mobile"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_522videopopup_mobile"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_522videopopup_mobile"> <button class="icon_videopopup_close" id="icon_videopopup_close_522videopopup_mobile" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_522videopopup_mobile" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_522videopopup_mobile" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_522videopopup_mobile" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_522videopopup_mobile" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_522videopopup_mobile"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 8519#icon_videopopup_wrapper_522videopopup_mobile { position: relative; display: inline-block; } 8520#icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_toggle { position: absolute; left: -9999px; } 8521 8522#icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_trigger { 8523 display: inline-flex; align-items: center; cursor: pointer; 8524 transition: opacity 0.25s ease; 8525} 8526#icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_trigger:hover { opacity: 0.85; } 8527 8528#icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_inline { 8529 display: flex; align-items: center; gap: 10px; 8530} 8531#icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_icon { 8532 width: 23px; 8533 height: 23px; 8534} 8535#icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_textblock { 8536 color: #000; 8537 display: flex; flex-direction: column; justify-content: center; 8538} 8539#icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_heading { 8540 font-size: 10px; 8541 font-weight: 600; 8542 margin: 0; 8543} 8544#icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_subtext { 8545 font-size: 10px; 8546 font-weight: 300; 8547 margin: 0; 8548} 8549 8550#icon_videopopup_overlay_522videopopup_mobile { 8551 position: fixed; inset: 0; display: none; 8552 justify-content: center; align-items: center; 8553 background: rgba(15,15,15,0.35); 8554 backdrop-filter: blur(18px) saturate(140%); 8555 -webkit-backdrop-filter: blur(18px) saturate(140%); 8556 border: 1px solid rgba(255,255,255,0.15); 8557 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 8558 z-index: 2147483647; padding: 20px; overflow-y: auto; 8559 transition: all 0.3s ease-in-out; 8560} 8561#icon_videopopup_overlay_522videopopup_mobile.show { display: flex; } 8562 8563#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_modal { 8564 padding: 0; border-radius: 10px; max-width: 65vw; 8565 width: 80%; max-height: 85vh; overflow: hidden; 8566 background: transparent; position: relative; 8567} 8568#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_close { 8569 position: absolute; top: 5px; right: 10px; font-size: 28px; 8570 color: #fff; background: transparent; border: none; 8571 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 8572} 8573#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_close:hover { transform: scale(1.1); } 8574 8575/* Video Container */ 8576#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_videocontainer { 8577 position: relative; width: 100%; 8578 display: flex; justify-content: center; align-items: center; 8579 background: #000; 8580} 8581#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_video { 8582 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 8583} 8584 8585/* Play & Pause Button wrappers */ 8586#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_play, 8587#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_pause { 8588 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 8589 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 8590 padding: 0; 8591} 8592 8593/* Center play button */ 8594#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_play { 8595 top: 50%; left: 50%; transform: translate(-50%, -50%); 8596 width: 60px; height: 60px; border-radius: 50%; 8597} 8598 8599/* Pause small floating control */ 8600#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_pause { 8601 bottom: 20px; right: 20px; 8602 width: 45px; height: 55px; border-radius: 50%; 8603 display: none; 8604} 8605 8606/* SVG visuals */ 8607#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_svg_play, 8608#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_svg_pause { 8609 width: 100%; height: 100%; display: block; pointer-events: none; 8610 border-radius: 50%; 8611 filter: none; 8612 transition: transform 0.2s ease; 8613} 8614#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_play:hover .icon_videopopup_svg_play, 8615#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 8616 transform: scale(1.06); 8617} 8618 8619/* Audio Indicator */ 8620#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_audioindicator { 8621 position: absolute; bottom: 20px; left: 20px; 8622 background: rgba(0, 0, 0, 0.7); color: #fff; 8623 padding: 8px 12px; border-radius: 20px; 8624 font-size: 14px; display: none; z-index: 10; 8625 transition: all 0.3s ease; 8626} 8627#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_audioindicator.show { display: block; } 8628#icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_audioindicator.hidden { display: none; } 8629 8630/* Responsive */ 8631@media (max-width: 768px) { 8632 #icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_modal { 8633 width: 100%; max-width: 100%; 8634 } 8635 #icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_play { 8636 width: 50px; height: 50px; 8637 } 8638 #icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 8639 #icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_pause { 8640 width: 40px; height: 40px; bottom: 15px; right: 15px; 8641 } 8642 #icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_audioindicator { 8643 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 8644 } 8645 #icon_videopopup_overlay_522videopopup_mobile .icon_videopopup_close { 8646 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 8647 color: #fff; background: transparent; border: none; 8648 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 8649 } 8650 #icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_inline { 8651 display: flex; align-items: center; gap: 5px !important; 8652 } 8653} 8654 8655/* Heading and subtext inline in mobile */ 8656@media (max-width: 768px) { 8657 #icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_trigger .icon_videopopup_textblock { 8658 display: flex !important; 8659 flex-direction: row !important;
8660 align-items: center !important; 8661 gap: 0px !important; 8662 } 8663 8664 #icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_heading, 8665 #icon_videopopup_wrapper_522videopopup_mobile .icon_videopopup_subtext { 8666 display: inline !important; 8667 margin: 0 !important; 8668 white-space: nowrap !important; 8669 } 8670} 8671</style>
8671<script> 8672(function() { 8673 try { 8674 var toggle = document.getElementById('icon_videopopup_toggle_522videopopup_mobile'); 8675 var template = document.getElementById('icon_videopopup_template_522videopopup_mobile'); 8676 if (!toggle || !template) return; 8677 8678 var isInitialized = false; 8679 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 8680 8681 function initPopup() { 8682 if (isInitialized) return; 8683 8684 // Clone template into DOM on demand 8685 var popupClone = template.content.cloneNode(true); 8686 document.body.appendChild(popupClone); 8687 8688 overlay = document.getElementById('icon_videopopup_overlay_522videopopup_mobile'); 8689 closeBtn = document.getElementById('icon_videopopup_close_522videopopup_mobile'); 8690 video = document.getElementById('icon_videopopup_video_522videopopup_mobile'); 8691 videoSource = document.getElementById('icon_videopopup_source_522videopopup_mobile'); 8692 playBtn = document.getElementById('icon_videopopup_play_522videopopup_mobile'); 8693 pauseBtn = document.getElementById('icon_videopopup_pause_522videopopup_mobile'); 8694 audioIndicator = document.getElementById('icon_videopopup_audioindicator_522videopopup_mobile'); 8695 8696 // Set video source lazily upon first interaction 8697 var isMobile = window.innerWidth <= 768; 8698 var mobileSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/b49a5e67-8c70-4638-bd04-1cc7c19678bf/1080p-vs-Standard-Video-Comparison.mp4".trim(); 8699 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/b49a5e67-8c70-4638-bd04-1cc7c19678bf/1080p-vs-Standard-Video-Comparison.mp4".trim(); 8700 8701 videoSource.src = (isMobile && mobileSrc && mobileSrc !== 'https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/b49a5e67-8c70-4638-bd04-1cc7c19678bf/1080p-vs-Standard-Video-Comparison.mp4') ? mobileSrc : desktopSrc; 8702 video.load(); 8703 8704 // Attach control event listeners 8705 closeBtn.addEventListener('click', closePopup); 8706 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 8707 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 8708 8709 if (playBtn) playBtn.addEventListener('click', function() { 8710 if (video) { 8711 video.play(); 8712 video.muted = false; 8713 } 8714 playBtn.style.display = 'none'; 8715 if (pauseBtn) pauseBtn.style.display = 'flex'; 8716 }); 8717 8718 if (pauseBtn) pauseBtn.addEventListener('click', function() { 8719 if (video) video.pause(); 8720 if (playBtn) playBtn.style.display = 'flex'; 8721 pauseBtn.style.display = 'none'; 8722 }); 8723 8724 if (video) { 8725 video.addEventListener('click', enableAudio); 8726 video.addEventListener('play', function() { 8727 if (playBtn) playBtn.style.display = 'none'; 8728 if (pauseBtn) pauseBtn.style.display = 'flex'; 8729 }); 8730 8731 video.addEventListener('ended', function() { 8732 if (pauseBtn) pauseBtn.style.display = 'none'; 8733 if (playBtn) playBtn.style.display = 'flex'; 8734 }); 8735 } 8736 8737 isInitialized = true; 8738 } 8739 8740 function openPopup() { 8741 // Lazy initialize the DOM structure and video load on click 8742 initPopup(); 8743 8744 overlay.classList.add('show'); 8745 document.body.classList.add('icon_videopopup_open'); 8746 document.body.dataset.scrollY = window.scrollY; 8747 8748 var autoplayMuted = "" === 'true'; 8749 if (autoplayMuted) { 8750 video.muted = true; 8751 if (audioIndicator) audioIndicator.style.display = 'block'; 8752 } else { 8753 video.muted = false; 8754 if (audioIndicator) audioIndicator.style.display = 'none'; 8755 } 8756 8757 video.play().then(function() { 8758 if (playBtn) playBtn.style.display = 'none'; 8759 if (pauseBtn) pauseBtn.style.display = 'flex'; 8760 }).catch(function(error) { 8761 console.log('Autoplay failed:', error); 8762 if (playBtn) playBtn.style.display = 'flex'; 8763 if (pauseBtn) pauseBtn.style.display = 'none'; 8764 }); 8765 } 8766 8767 function closePopup() { 8768 if (!overlay) return; 8769 overlay.classList.remove('show');
8770 document.body.classList.remove('icon_videopopup_open'); 8771 toggle.checked = false; 8772 if (video) { 8773 video.pause(); 8774 video.currentTime = 0; 8775 } 8776 if (playBtn) playBtn.style.display = 'flex'; 8777 if (pauseBtn) pauseBtn.style.display = 'none'; 8778 if (document.body.dataset.scrollY) { 8779 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 8780 } 8781 } 8782 8783 function enableAudio() { 8784 if (video && video.muted) { 8785 video.muted = false; 8786 if (audioIndicator) audioIndicator.style.display = 'none'; 8787 } 8788 } 8789 8790 toggle.addEventListener('change', function() { 8791 toggle.checked ? openPopup() : closePopup(); 8792 }); 8793 8794 } catch(e) { 8795 console.error('Icon Video Popup initialization failed:', e); 8796 } 8797})(); 8798</script>
8798 </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-4"><div id="s-e8e38ed1-03b5-459c-a0e5-2addb1f3f239-root" class="shg-c shg-btn-wrapper nb_fs_txt_md hc:nb_fw_400 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-e8e38ed1-03b5-459c-a0e5-2addb1f3f239" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/522gw-dash-cam-full-package/"> View Details </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_std shogun-lazyload shogun-lazyload-bg-image" id="s-b7594df3-d45a-43d3-8f7b-f51399a2b454"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-d7e67ec8-4e73-42b9-b685-f211508034bc"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_56 nbs_pb_42 " id="s-583f7a0a-00eb-4ae0-b2a1-2f7e61ecf121"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 " id="s-a5224dcd-bcc9-4e1e-a38d-4b1f7bbcd7f8"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-8ca58794-f2ef-40d4-be35-9b5d4f07edd0" class="shg-c shg-align-left"> <div class="nb-tag-list"> <div class="nb-tag nb_fs_txt_10 nb_fs_txt_tab_8 nb_fs_txt_mob_8 blue nbs_mb_28 nbs_mb_mob_0">Newest</div> </div> </div> <div id="s-e8cc286d-c651-4ab8-aa6a-f3bf4e6cfa75" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div id="s-47b58665-24e0-4bdc-949e-ff8801a12311" class="shg-c nbs_pb_mob_14 hc:nb_fw_500 nb_c_secondarylight nbs_pb_sm shg-align-left"> <div class="shg-product-title-component"> <h5> <span data-shg-product-target="product-title"></span> </h5> </div>
8798<script class="__SHG_DATA__" type="application/json"> 8799 { 8800 "__shgProductCallback": { 8801 "id": "s-e8cc286d-c651-4ab8-aa6a-f3bf4e6cfa75", 8802 "callback": { 8803 "cb": "title", 8804 "data": { 8805 "uuid": "s-47b58665-24e0-4bdc-949e-ff8801a12311" 8806 } 8807 } 8808 } 8809 } 8810 </script>
8810 </div>
8810<script class="__SHG_DATA__" type="application/json"> 8811 { 8812 8813 "__shgProductInit": { 8814 "uuid": "s-e8cc286d-c651-4ab8-aa6a-f3bf4e6cfa75", 8815 "platform": "big_commerce", 8816 "currency": "USD", 8817 "productId": "8866", 8818 "staticVariant": false, 8819 "hideIfDraft": false, 8820 8821 8822 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 8823 8824 8825 8826 "productUrl": "https://shgapi.com/api/products", 8827 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6Ijg4NjYifQ.Qd_D6JECFLwa_FbJgwCOGDTU2Xg0gyW1VvUU6TnD2zI", 8828 8829 8830 8831 "productHandle": "exclusive-offers/piqo-2k-bundle/", 8832 "productVariantId": 8944 8833 8834 }, 8835 "__shgProductCallback": { 8836 "id": "s-e8cc286d-c651-4ab8-aa6a-f3bf4e6cfa75", 8837 "callback": { 8838 "cb": "box", 8839 "data": { 8840 "uuid": "s-e8cc286d-c651-4ab8-aa6a-f3bf4e6cfa75" 8841 } 8842 } 8843 } 8844 } 8845 </script>
8845 </div> <div id="s-323e07b3-1cba-4894-9b3d-3abf93c8c47f" class="shg-c nb_fs_txt_mob_16 hc:nb_fw_500 nb_c_secondarylight nbs_pb_sm shg-align-left"> <div class="shogun-heading-component"> <h6> THE SMALL & MIGHTY BUNDLE </h6> </div> </div> <div id="s-b4ebf081-5345-40e1-ba83-d2a2ae2964f0" class="shg-c hc:nb_fw_300 nb_c_secondarylight nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><div id="s-a4afb00f-bc33-4dc0-a935-232506a0a1c5" class="shg-c hc:nb_fw_300 nb_c_secondarylight nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"> <p>Enhance your Piqo 2K with a 64GB SD Card and Piqo Pouch. It's a small, but powerful Dash Cam for your vehicle. Compact, high definition and always on guard. On the move, or parked, Piqo protects</p> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div id="s-6ddd00e7-bd0d-43be-95a6-2507753fe7b5" class="shg-box shg-c "> <div class="shg-box-overlay"> </div> </div> </div> <p style="font-size: calc(12px * var(--proportional-font-size) / 100);"> </p></div> </div> <div id="s-e8fc5e31-9842-4aaa-8947-776c41f9eb48" class="shg-c hc:nb_fw_300 nb_c_secondarylight nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);"><span style="color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);">Sleek design and easy to fit. High-definition and always on guard. On the move or parked, Piqo protects.</span></span></p></div> </div> </div> </div> </div></div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_14 nbs_pb_14 nbs_mb_28 " id="s-6bf072a1-fccd-4070-827b-a8beab20fe95"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-16b3c04f-a8c5-479f-a952-f9c94c0d5873" class="shg-c shg-align-left"> <div class="nb-fluid-scale icon-grid-container piqo"> <div class="icons-list icons-per-row-3 icon-color-white" id="iconsPIQOList"></div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c save_badge " id="s-acd5d590-14c8-4fe6-9a09-858b8beb84a0"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-3c60d1fe-3e57-4e81-9fcd-306c022e83bd-root"> <div class="shg-image-margin-container-s-3c60d1fe-3e57-4e81-9fcd-306c022e83bd" id="wrap-s-3c60d1fe-3e57-4e81-9fcd-306c022e83bd"> <div class="s-3c60d1fe-3e57-4e81-9fcd-306c022e83bd shg-align-container"> <div class="shg-c s-3c60d1fe-3e57-4e81-9fcd-306c022e83bd shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-top-right cm-nb-sg-bd-cl-green shg-align-center" id="s-3c60d1fe-3e57-4e81-9fcd-306c022e83bd"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <a class="shogun-image-link" href="/exclusive-offers/piqo-2k-bundle/"> <img srcset="https://i.shgcdn.com/cc9fcb84-8786-44ae-939d-a7653a4513ab/-/format/auto/-/quality/best/-/resize/180x/ 180w,https://i.shgcdn.com/cc9fcb84-8786-44ae-939d-a7653a4513ab/-/format/auto/-/quality/best/-/resize/360x/ 360w,https://i.shgcdn.com/cc9fcb84-8786-44ae-939d-a7653a4513ab/-/format/auto/-/quality/best/-/resize/720x/ 720w,https://i.shgcdn.com/cc9fcb84-8786-44ae-939d-a7653a4513ab/-/format/auto/-/quality/best/-/resize/900x/ 900w,https://i.shgcdn.com/cc9fcb84-8786-44ae-939d-a7653a4513ab/-/format/auto/-/quality/best/-/resize/1080x/ 1080w,https://i.shgcdn.com/cc9fcb84-8786-44ae-939d-a7653a4513ab/-/format/auto/-/quality/best/-/resize/1200x/ 1200w" sizes="100vw" src="https://i.shgcdn.com/cc9fcb84-8786-44ae-939d-a7653a4513ab/-/format/auto/-/quality/best/" alt="Nextbase dash cam with accessories and memory card in a blue case." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </a> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-linked"> </div> </div> </div> </div> </div>
8845<script class="__SHG_DATA__" type="application/json"> 8846 { 8847 "__shgImageV3Elements": { "uuid": "s-3c60d1fe-3e57-4e81-9fcd-306c022e83bd" } 8848 } 8849 </script>
8849 </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_16 nbs_mt_mob_16 " id="s-cd983eb4-ba12-44fa-8d2d-8368b15e8598"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-d26a0851-327f-4d0e-9c3d-5aa598ffdb03" class="shg-c nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p><span style="color: rgb(255, 255, 255);">Includes:</span></p></div> </div> <div id="s-5701c045-f4f7-4ff5-9ea0-35cbe27d16c1" class="shg-c nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);"><span style="color: rgb(255, 255, 255);"><strong>Piqo 2K Dash Cam</strong> <span style="color: rgb(239, 239, 239);">|</span> <strong>64GB SD Card</strong> <strong> <span style="color: rgb(239, 239, 239);">|</span> Piqo Pouch</strong></span></p></div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 nbs_mt_mob_14 " id="s-8eec7821-c0c0-4370-bfba-7f80d80bbfe0"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-b60810b2-a557-4c24-aaf9-9d115a4e4cba"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div id="s-8a28bcd2-a1f8-4bde-a0c3-334dcc20129a" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c view " id="s-b469b2c2-a125-4753-bceb-47a3c4b423f2"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-7e991501-0184-4ca5-95cc-01864e2965b2" class="shg-c hc:nb_fw_500 has-price-divided-by-3 nb_c_secondarylight shg-align-left"> <span class="shg-product-sold-out" data-shg-product-target="product-sold-out">Sold out</span> <span class="shg-product-price product-price rca-product-price" data-shg-product-target="product-price"></span> <span class="shg-product-compare-price" data-shg-product-target="product-compare-price"></span>
8849<script class="__SHG_DATA__" type="application/json"> 8850 { 8851 "__shgProductCallback": { 8852 "id": "s-8a28bcd2-a1f8-4bde-a0c3-334dcc20129a", 8853 "callback": { 8854 "cb": "price", 8855 "data": { 8856 "uuid": "s-7e991501-0184-4ca5-95cc-01864e2965b2", 8857 "hasComparePrice": true 8858 } 8859 } 8860 } 8861 } 8862 </script>
8862 </div> </div> </div> </div>
8862<script class="__SHG_DATA__" type="application/json"> 8863 { 8864 8865 "__shgProductInit": { 8866 "uuid": "s-8a28bcd2-a1f8-4bde-a0c3-334dcc20129a", 8867 "platform": "big_commerce", 8868 "currency": "USD", 8869 "productId": "8866", 8870 "staticVariant": true, 8871 "hideIfDraft": false, 8872 8873 8874 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 8875 8876 8877 8878 "productUrl": "https://shgapi.com/api/products", 8879 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6Ijg4NjYifQ.Qd_D6JECFLwa_FbJgwCOGDTU2Xg0gyW1VvUU6TnD2zI", 8880 8881 8882 8883 "productHandle": "exclusive-offers/piqo-2k-bundle/", 8884 "productVariantId": 8944 8885 8886 }, 8887 "__shgProductCallback": { 8888 "id": "s-8a28bcd2-a1f8-4bde-a0c3-334dcc20129a", 8889 "callback": { 8890 "cb": "box", 8891 "data": { 8892 "uuid": "s-8a28bcd2-a1f8-4bde-a0c3-334dcc20129a" 8893 } 8894 } 8895 } 8896 } 8897 </script>
8897 </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-48979dbf-b52e-4d8d-8c0e-2fd192ac3e45"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-f45dcd70-a08b-4197-a329-f3fea03e5015-root" class="shg-c shg-btn-wrapper nb_fs_txt_md cm_nb_plp_buy_button nb_c_secondarylight hc:nb_fw_700 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-f45dcd70-a08b-4197-a329-f3fea03e5015" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/piqo-2k-bundle/"> Buy Now </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-f80cb4d8-9cdc-4b0b-bef1-76a8a3aa06d8"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-853547f4-8b2c-4e46-abf2-2cec7e8ac4af-root" class="shg-c shg-btn-wrapper btn-sectn hc:nb_fw_400 nb_fs_txt_std shg-align-left"> <a id="s-853547f4-8b2c-4e46-abf2-2cec7e8ac4af" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/piqo-2k-bundle/"> View Details </a> </div> <div id="s-9fbb3787-c242-4885-b40c-6396007a39d5-root" class="shg-c shg-btn-wrapper nb_fs_txt_std cm_nb_plp_buy_button btn-sectn nb_c_secondarylight hc:nb_fw_700 shg-align-left"> <a id="s-9fbb3787-c242-4885-b40c-6396007a39d5" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/piqo-2k-bundle/"> Buy Now </a> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-c3d80a73-c9a2-4d8b-923c-9000881d62b5"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c cm_nb_th_plp_sg_action_section " id="s-b7fcb3cc-5010-49f8-8bef-95a764b3a806"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-69d6e321-3caf-4c37-95e5-91e8f2c14f8c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-45e514df-e246-49de-b8ab-809a68946fbd" class="shg-c "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_Piqovideopopup_mobile"> <input type="checkbox" id="icon_videopopup_toggle_Piqovideopopup_mobile" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_Piqovideopopup_mobile" class="icon_videopopup_trigger" id="icon_videopopup_trigger_Piqovideopopup_mobile"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/1b98d7df-352a-4d8f-88c2-0a8a92dade98/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_Piqovideopopup_mobile"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_Piqovideopopup_mobile"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_Piqovideopopup_mobile"> <button class="icon_videopopup_close" id="icon_videopopup_close_Piqovideopopup_mobile" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_Piqovideopopup_mobile" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_Piqovideopopup_mobile" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_Piqovideopopup_mobile" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_Piqovideopopup_mobile" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_Piqovideopopup_mobile"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 8898#icon_videopopup_wrapper_Piqovideopopup_mobile { position: relative; display: inline-block; } 8899#icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_toggle { position: absolute; left: -9999px; } 8900 8901#icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_trigger { 8902 display: inline-flex; align-items: center; cursor: pointer; 8903 transition: opacity 0.25s ease; 8904} 8905#icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_trigger:hover { opacity: 0.85; } 8906 8907#icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_inline { 8908 display: flex; align-items: center; gap: 10px; 8909} 8910#icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_icon {
8911 width: 20px; 8912 height: 20px; 8913} 8914#icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_textblock { 8915 color: #fff; 8916 display: flex; flex-direction: column; justify-content: center; 8917} 8918#icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_heading { 8919 font-size: 10px; 8920 font-weight: 600; 8921 margin: 0; 8922} 8923#icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_subtext { 8924 font-size: 10px; 8925 font-weight: 300; 8926 margin: 0; 8927} 8928 8929#icon_videopopup_overlay_Piqovideopopup_mobile { 8930 position: fixed; inset: 0; display: none; 8931 justify-content: center; align-items: center; 8932 background: rgba(15,15,15,0.35); 8933 backdrop-filter: blur(18px) saturate(140%); 8934 -webkit-backdrop-filter: blur(18px) saturate(140%); 8935 border: 1px solid rgba(255,255,255,0.15); 8936 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 8937 z-index: 2147483647; padding: 20px; overflow-y: auto; 8938 transition: all 0.3s ease-in-out; 8939} 8940#icon_videopopup_overlay_Piqovideopopup_mobile.show { display: flex; } 8941 8942#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_modal { 8943 padding: 0; border-radius: 10px; max-width: 65vw; 8944 width: 80%; max-height: 85vh; overflow: hidden; 8945 background: transparent; position: relative; 8946} 8947#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_close { 8948 position: absolute; top: 5px; right: 10px; font-size: 28px; 8949 color: #fff; background: transparent; border: none; 8950 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 8951} 8952#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_close:hover { transform: scale(1.1); } 8953 8954/* Video Container */ 8955#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_videocontainer { 8956 position: relative; width: 100%; 8957 display: flex; justify-content: center; align-items: center; 8958 background: #000; 8959} 8960#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_video { 8961 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 8962} 8963 8964/* Play & Pause Button wrappers */ 8965#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_play, 8966#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_pause { 8967 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 8968 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 8969 padding: 0; 8970} 8971 8972/* Center play button */ 8973#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_play { 8974 top: 50%; left: 50%; transform: translate(-50%, -50%); 8975 width: 60px; height: 60px; border-radius: 50%; 8976} 8977 8978/* Pause small floating control */ 8979#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_pause { 8980 bottom: 20px; right: 20px; 8981 width: 45px; height: 55px; border-radius: 50%; 8982 display: none; 8983} 8984 8985/* SVG visuals */ 8986#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_svg_play, 8987#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_svg_pause { 8988 width: 100%; height: 100%; display: block; pointer-events: none; 8989 border-radius: 50%; 8990 filter: none; 8991 transition: transform 0.2s ease; 8992} 8993#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_play:hover .icon_videopopup_svg_play, 8994#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 8995 transform: scale(1.06); 8996} 8997 8998/* Audio Indicator */ 8999#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_audioindicator { 9000 position: absolute; bottom: 20px; left: 20px; 9001 background: rgba(0, 0, 0, 0.7); color: #fff; 9002 padding: 8px 12px; border-radius: 20px; 9003 font-size: 14px; display: none; z-index: 10; 9004 transition: all 0.3s ease; 9005} 9006#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_audioindicator.show { display: block; } 9007#icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_audioindicator.hidden { display: none; } 9008 9009/* Responsive */ 9010@media (max-width: 768px) { 9011 #icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_modal { 9012 width: 100%; max-width: 100%; 9013 } 9014 #icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_play { 9015 width: 50px; height: 50px; 9016 } 9017 #icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 9018 #icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_pause { 9019 width: 40px; height: 40px; bottom: 15px; right: 15px; 9020 } 9021 #icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_audioindicator { 9022 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 9023 } 9024 #icon_videopopup_overlay_Piqovideopopup_mobile .icon_videopopup_close { 9025 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 9026 color: #fff; background: transparent; border: none; 9027 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 9028 } 9029 #icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_inline { 9030 display: flex; align-items: center; gap: 5px !important; 9031 } 9032} 9033 9034/* Heading and subtext inline in mobile */ 9035@media (max-width: 768px) { 9036 #icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_trigger .icon_videopopup_textblock { 9037 display: flex !important; 9038 flex-direction: row !important;
9039 align-items: center !important; 9040 gap: 0px !important; 9041 } 9042 9043 #icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_heading, 9044 #icon_videopopup_wrapper_Piqovideopopup_mobile .icon_videopopup_subtext { 9045 display: inline !important; 9046 margin: 0 !important; 9047 white-space: nowrap !important; 9048 } 9049} 9050</style>
9050<script> 9051(function() { 9052 try { 9053 var toggle = document.getElementById('icon_videopopup_toggle_Piqovideopopup_mobile'); 9054 var template = document.getElementById('icon_videopopup_template_Piqovideopopup_mobile'); 9055 if (!toggle || !template) return; 9056 9057 var isInitialized = false; 9058 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 9059 9060 function initPopup() { 9061 if (isInitialized) return; 9062 9063 // Clone template into DOM on demand 9064 var popupClone = template.content.cloneNode(true); 9065 document.body.appendChild(popupClone); 9066 9067 overlay = document.getElementById('icon_videopopup_overlay_Piqovideopopup_mobile'); 9068 closeBtn = document.getElementById('icon_videopopup_close_Piqovideopopup_mobile'); 9069 video = document.getElementById('icon_videopopup_video_Piqovideopopup_mobile'); 9070 videoSource = document.getElementById('icon_videopopup_source_Piqovideopopup_mobile'); 9071 playBtn = document.getElementById('icon_videopopup_play_Piqovideopopup_mobile'); 9072 pauseBtn = document.getElementById('icon_videopopup_pause_Piqovideopopup_mobile'); 9073 audioIndicator = document.getElementById('icon_videopopup_audioindicator_Piqovideopopup_mobile'); 9074 9075 // Set video source lazily upon first interaction 9076 var isMobile = window.innerWidth <= 768; 9077 var mobileSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/d6728cbf-bb51-4bb9-9ca2-2286a0ed78cc/Global_Piqo_Hero_Sizzle_Landscape_10-24.mp4".trim(); 9078 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/d6728cbf-bb51-4bb9-9ca2-2286a0ed78cc/Global_Piqo_Hero_Sizzle_Landscape_10-24.mp4".trim(); 9079 9080 videoSource.src = (isMobile && mobileSrc && mobileSrc !== 'https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/d6728cbf-bb51-4bb9-9ca2-2286a0ed78cc/Global_Piqo_Hero_Sizzle_Landscape_10-24.mp4') ? mobileSrc : desktopSrc; 9081 video.load(); 9082 9083 // Attach control event listeners 9084 closeBtn.addEventListener('click', closePopup); 9085 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 9086 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 9087 9088 if (playBtn) playBtn.addEventListener('click', function() { 9089 if (video) { 9090 video.play(); 9091 video.muted = false; 9092 } 9093 playBtn.style.display = 'none'; 9094 if (pauseBtn) pauseBtn.style.display = 'flex'; 9095 }); 9096 9097 if (pauseBtn) pauseBtn.addEventListener('click', function() { 9098 if (video) video.pause(); 9099 if (playBtn) playBtn.style.display = 'flex'; 9100 pauseBtn.style.display = 'none'; 9101 }); 9102 9103 if (video) { 9104 video.addEventListener('click', enableAudio); 9105 video.addEventListener('play', function() { 9106 if (playBtn) playBtn.style.display = 'none'; 9107 if (pauseBtn) pauseBtn.style.display = 'flex'; 9108 }); 9109 9110 video.addEventListener('ended', function() { 9111 if (pauseBtn) pauseBtn.style.display = 'none'; 9112 if (playBtn) playBtn.style.display = 'flex'; 9113 }); 9114 } 9115 9116 isInitialized = true; 9117 } 9118 9119 function openPopup() { 9120 // Lazy initialize the DOM structure and video load on click 9121 initPopup(); 9122 9123 overlay.classList.add('show'); 9124 document.body.classList.add('icon_videopopup_open'); 9125 document.body.dataset.scrollY = window.scrollY; 9126 9127 var autoplayMuted = "" === 'true'; 9128 if (autoplayMuted) { 9129 video.muted = true; 9130 if (audioIndicator) audioIndicator.style.display = 'block'; 9131 } else { 9132 video.muted = false; 9133 if (audioIndicator) audioIndicator.style.display = 'none'; 9134 } 9135 9136 video.play().then(function() { 9137 if (playBtn) playBtn.style.display = 'none'; 9138 if (pauseBtn) pauseBtn.style.display = 'flex'; 9139 }).catch(function(error) { 9140 console.log('Autoplay failed:', error); 9141 if (playBtn) playBtn.style.display = 'flex'; 9142 if (pauseBtn) pauseBtn.style.display = 'none'; 9143 }); 9144 } 9145 9146 function closePopup() { 9147 if (!overlay) return; 9148 overlay.classList.remove('show');
9149 document.body.classList.remove('icon_videopopup_open'); 9150 toggle.checked = false; 9151 if (video) { 9152 video.pause(); 9153 video.currentTime = 0; 9154 } 9155 if (playBtn) playBtn.style.display = 'flex'; 9156 if (pauseBtn) pauseBtn.style.display = 'none'; 9157 if (document.body.dataset.scrollY) { 9158 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 9159 } 9160 } 9161 9162 function enableAudio() { 9163 if (video && video.muted) { 9164 video.muted = false; 9165 if (audioIndicator) audioIndicator.style.display = 'none'; 9166 } 9167 } 9168 9169 toggle.addEventListener('change', function() { 9170 toggle.checked ? openPopup() : closePopup(); 9171 }); 9172 9173 } catch(e) { 9174 console.error('Icon Video Popup initialization failed:', e); 9175 } 9176})(); 9177</script>
9177 </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-96454622-3315-4f91-9b15-b031da5ec4e0"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-6bb821a2-8945-4d46-addb-450b35a00b21" class="shg-c shg-align-right"> <div class="icon-popup-wrapper" id="iconPopupWrapper_PiqoAward_Mobile" style=" --icon-text-font-size: 10px; --icon-text-font-weight: 300; --icon-text-color: #000; "> <input type="checkbox" id="iconPopupToggle_PiqoAward_Mobile" class="icon-popup-toggle"/> <label for="iconPopupToggle_PiqoAward_Mobile" class="icon-popup-trigger" id="iconTrigger_PiqoAward_Mobile" title="Awards"> <img src="https://i.shgcdn.com/5682863c-24e2-44ca-b837-a2ba4e79f580/-/format/auto/-/quality/normal/" alt="Awards" style="width: 25px; height: 25px; display:block; margin:0 auto;"/> <span style=" display:block; font-size: var(--icon-text-font-size); font-weight: var(--icon-text-font-weight); color: var(--icon-text-color); ">Awards</span> </label> <template id="popupTemplate_PiqoAward_Mobile"> <div class="icon-popup-overlay" id="overlay_PiqoAward_Mobile"> <div class="icon-popup-content" role="dialog" aria-modal="true" aria-labelledby="iconTrigger_PiqoAward_Mobile"> <button class="icon-popup-close" id="closeBtn_PiqoAward_Mobile" title="Close" aria-label="Close popup">×</button> <div class="icon-popup-inner"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-b557b562-d1c8-4c05-8443-19253231d278"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-e11a4033-73bc-439d-a359-b0af3ed13652" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: left;">Awards</p></div> </div> <div class="shg-c " id="s-c2654f62-48d5-4391-adbc-8a23f7ad2a8a"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-dff68eb2-995e-45e8-b75d-75cfb885ceea"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-324f6881-1f25-4990-8ea1-47b1cd5ab7fc"> <img src="https://i.shgcdn.com/1b9c36a2-128f-4ea9-9e50-b27a0034cfee/-/format/auto/-/quality/best/" width="" height="" alt="TIME Best Inventions 2022 award logo." class="shogun-image " decoding="async" loading="lazy"/> </div>
9177<script class="__SHG_DATA__" type="application/json"> 9178 { 9179 "__shgImageElements": { "uuid": "s-324f6881-1f25-4990-8ea1-47b1cd5ab7fc" } 9180 } 9181 </script>
9181 <div id="s-523519e2-2c1a-4bbd-b5bb-fdfc494eafb7" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">TIME Best Inventions 2022</span></p></div> </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-bdfc02c4-9c5e-4b8c-a5ad-cd00136cd29c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c shogun-image-container img-award-sectn shg-align-center" id="s-df46f2bd-2d20-48ae-a0aa-d35d3264493b"> <img src="https://i.shgcdn.com/65b65a94-1fee-481f-8306-f71f8fb71031/-/format/auto/-/quality/best/" width="" height="" alt="Best of CES 2022 award logo." class="shogun-image " decoding="async" loading="lazy"/> </div>
9181<script class="__SHG_DATA__" type="application/json"> 9182 { 9183 "__shgImageElements": { "uuid": "s-df46f2bd-2d20-48ae-a0aa-d35d3264493b" } 9184 } 9185 </script>
9185 <div id="s-0d6781c6-d239-4c6e-8670-314ae8645655" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: 12px; text-align: center;"><span style="font-family: inherit; font-weight: 400; background-color: rgba(0, 0, 0, 0); color: rgb(0, 0, 0);">Best of CES 2022</span></p></div> </div> </div> </div> </div> </div> </div> </div> <div id="s-bae822fa-c3c9-4007-aea6-66589eb2ac7f" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><h4 style="text-align: center;"><span class="shg-heading-span" style="color: rgb(34, 34, 36);"><strong>"This is the first dash cam in years that really seems to move the market on</strong><strong>"</strong></span></h4> <p style="text-align: center;"><span style="color: rgb(34, 34, 36);">- Best of CES 2022</span></p></div> </div> </div> </div> </div> </div> </div> </div> </template> </div> <style> 9186.icon-popup-wrapper { 9187 position: relative; 9188 display: inline-block; 9189} 9190 9191.icon-popup-toggle { 9192 position: absolute; 9193 left: -9999px; 9194} 9195 9196.icon-popup-trigger { 9197 display: inline-block; 9198 cursor: pointer; 9199} 9200 9201.icon-popup-trigger:hover { 9202 opacity: 0.85; 9203} 9204 9205/* Overlay - APPENDED TO BODY, OUTSIDE STACKING CONTEXT */ 9206.icon-popup-overlay { 9207 position: fixed !important; 9208 inset: 0 !important; 9209 display: none !important; 9210 justify-content: center; 9211 align-items: center; 9212 9213 /* ✨ Glassmorphism background */ 9214 background: rgba(15, 15, 15, 0.35); /* translucent dark layer */ 9215 backdrop-filter: blur(18px) saturate(140%); 9216 -webkit-backdrop-filter: blur(18px) saturate(140%); 9217 border: 1px solid rgba(255, 255, 255, 0.15); 9218 9219 /* optional gradient tint */ 9220 background-image: linear-gradient( 9221 135deg, 9222 rgba(255, 255, 255, 0.06), 9223 rgba(0, 0, 0, 0.45) 9224 ); 9225 9226 z-index: 2147483647 !important; 9227 padding: 20px; 9228 overflow-y: auto; 9229 transition: all 0.3s ease-in-out; 9230} 9231 9232 9233/* Show overlay when checked */ 9234.icon-popup-overlay.show { 9235 display: flex !important; 9236} 9237 9238/* Popup card */ 9239.icon-popup-content { 9240 background: #fff; 9241 padding: 22px; 9242 border-radius: 10px; 9243 max-width: 60vw; 9244 width: 100%; 9245 max-height: 80vh; 9246 overflow: hidden !important; 9247 position: relative; 9248 margin: 0 auto; 9249 /* box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); */ 9250 animation: popupFadeIn 0.2s 9251ease; 9252} 9253 9254@keyframes popupFadeIn { 9255 from { 9256 opacity: 0; 9257 transform: scale(0.95); 9258 } 9259 to { 9260 opacity: 1; 9261 transform: scale(1); 9262 } 9263} 9264 9265/* Close button */ 9266.icon-popup-close { 9267 position: absolute; 9268 top: 10px; 9269 right: 14px; 9270 font-size: 26px; 9271 line-height: 1; 9272 cursor: pointer; 9273 background: transparent !important; 9274 color:#000 !important; 9275 border: none; 9276 padding: 2px 8px; 9277 border-radius: 4px; 9278 z-index: 10; 9279 transition: all 0.2s ease; 9280 color: #333; 9281} 9282 9283.icon-popup-close:hover { 9284 background: transparent !important; 9285 transform: scale(1.1); 9286} 9287 9288/* Inner content */ 9289.icon-popup-inner { 9290 min-height: 150px; 9291} 9292 9293/* Prevent body scroll when popup is open */ 9294body.icon-popup-open { 9295 overflow: hidden !important; 9296} 9297 9298/* Editor mode adjustments */ 9299body.shogun-editor .icon-popup-overlay { 9300 position: relative !important; 9301 background: transparent !important; 9302 justify-content: flex-start !important; 9303 align-items: flex-start !important; 9304 padding: 0 !important; 9305 z-index: auto !important; 9306} 9307 9308body.shogun-editor .icon-popup-content { 9309 max-height: none !important; 9310 overflow: visible !important; 9311 width: 100% !important; 9312 margin: 10px 0 !important; 9313} 9314 9315body.shogun-editor template { 9316 display: block !important; 9317} 9318 9319/* Responsive adjustments */ 9320@media (max-width: 768px) { 9321 .icon-popup-content { 9322 width:100%; 9323 max-width: 95vw !important; 9324 padding: 10px; 9325 max-height: 85vh; 9326 } 9327 9328 .icon-popup-close { 9329 top: 8px; 9330 right: 12px; 9331 font-size: 24px; 9332 } 9333} 9334 9335@media (max-width: 768px) { 9336 9337 .icon-popup-wrapper .icon-popup-trigger { 9338 display: inline-flex !important;
9339 align-items: center !important; 9340 gap: 4px !important; 9341 text-align: left !important; 9342 } 9343 9344 .icon-popup-wrapper .icon-popup-trigger img { 9345 display: inline-block !important; 9346 margin: 0px !important; 9347 } 9348 9349 .icon-popup-wrapper .icon-popup-trigger span { 9350 display: inline-block !important; 9351 margin-top: 0 !important; 9352 white-space: normal; 9353 } 9354} 9355 9356/* Desktop: icon + text inline */ 9357@media (min-width: 769px) { 9358 .icon-popup-wrapper .icon-popup-trigger { 9359 display: inline-flex; 9360 align-items: center; 9361 gap: 8px; 9362 text-align: left; 9363 } 9364 9365 .icon-popup-wrapper .icon-popup-trigger img { 9366 margin: 0; 9367 display: inline-block; 9368 } 9369 9370 .icon-popup-wrapper .icon-popup-trigger span { 9371 display: inline-block; 9372 margin-top: 0; 9373 white-space: nowrap; 9374 } 9375} 9376 9377 9378</style>
9378<script> 9379(function() { 9380 try { 9381 var checkbox = document.getElementById('iconPopupToggle_PiqoAward_Mobile'); 9382 var template = document.getElementById('popupTemplate_PiqoAward_Mobile'); 9383 9384 if (!checkbox || !template) { 9385 console.warn('Icon popup elements not found'); 9386 return; 9387 } 9388 9389 // Clone popup from template and append to body 9390 var popupClone = template.content.cloneNode(true); 9391 var popupElement = popupClone.querySelector('.icon-popup-overlay'); 9392 9393 // Append to body to escape any stacking contexts 9394 document.body.appendChild(popupClone); 9395 9396 // Get the appended overlay element 9397 var overlay = document.getElementById('overlay_PiqoAward_Mobile'); 9398 var closeBtn = document.getElementById('closeBtn_PiqoAward_Mobile'); 9399 9400 if (!overlay) { 9401 console.error('Failed to append popup overlay'); 9402 return; 9403 } 9404 9405 // Function to open popup 9406 function openPopup() { 9407 overlay.classList.add('show'); 9408 document.body.classList.add('icon-popup-open'); 9409 document.body.dataset.scrollY = window.scrollY; 9410 9411 // Focus trap 9412 setTimeout(function() { 9413 var focusableElements = overlay.querySelectorAll( 9414 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' 9415 ); 9416 if (focusableElements.length) { 9417 focusableElements[0].focus(); 9418 } 9419 }, 100); 9420 } 9421 9422 // Function to close popup 9423 function closePopup() { 9424 overlay.classList.remove('show'); 9425 document.body.classList.remove('icon-popup-open'); 9426 checkbox.checked = false; 9427 9428 if (document.body.dataset.scrollY) { 9429 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 9430 } 9431 } 9432 9433 // Toggle popup when checkbox changes 9434 checkbox.addEventListener('change', function() { 9435 if (this.checked) { 9436 openPopup(); 9437 } else { 9438 closePopup(); 9439 } 9440 }); 9441 9442 // Close button 9443 if (closeBtn) { 9444 closeBtn.addEventListener('click', function(e) { 9445 e.preventDefault(); 9446 closePopup(); 9447 }); 9448 } 9449 9450 // Close on clicking outside content 9451 overlay.addEventListener('click', function(ev) { 9452 if (ev.target === overlay) { 9453 closePopup(); 9454 } 9455 }); 9456 9457 // Close on Escape key 9458 document.addEventListener('keydown', function(ev) { 9459 if (ev.key === 'Escape' && checkbox.checked) { 9460 closePopup(); 9461 } 9462 }); 9463 9464 // Prevent background scroll 9465 overlay.addEventListener('wheel', function(ev) { 9466 var content = overlay.querySelector('.icon-popup-content'); 9467 if (content && ev.target === overlay) { 9468 ev.preventDefault(); 9469 } 9470 }, { passive: false }); 9471 9472 // Clean up on page unload 9473 window.addEventListener('beforeunload', function() { 9474 if (overlay && overlay.parentNode) { 9475 overlay.parentNode.removeChild(overlay); 9476 } 9477 }); 9478 9479 } catch(e) { 9480 console.error('Icon popup JS initialization failed:', e); 9481 } 9482})(); 9483</script>
9483 </div> </div> </div> </div> <div id="s-303bb1be-e1b6-45f3-a7f3-3b04d791328a-root" class="shg-c shg-btn-wrapper nb_fs_txt_md hc:nb_fw_400 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-303bb1be-e1b6-45f3-a7f3-3b04d791328a" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/piqo-2k-bundle/"> View Details </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c save_badge " id="s-5634c086-2887-4c63-a382-53268c09f658"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-70a64b93-4eab-426f-ad86-812312a69b63"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"></div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div id="s-37e8a9dd-8f4f-4aa5-8696-cdce5a80188f" class="shg-c "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_piqovideopopup_desk"> <input type="checkbox" id="icon_videopopup_toggle_piqovideopopup_desk" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_piqovideopopup_desk" class="icon_videopopup_trigger" id="icon_videopopup_trigger_piqovideopopup_desk"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/1b98d7df-352a-4d8f-88c2-0a8a92dade98/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_piqovideopopup_desk"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_piqovideopopup_desk"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_piqovideopopup_desk"> <button class="icon_videopopup_close" id="icon_videopopup_close_piqovideopopup_desk" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_piqovideopopup_desk" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_piqovideopopup_desk" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_piqovideopopup_desk" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_piqovideopopup_desk" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_piqovideopopup_desk"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 9484#icon_videopopup_wrapper_piqovideopopup_desk { position: relative; display: inline-block; } 9485#icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_toggle { position: absolute; left: -9999px; } 9486 9487#icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_trigger { 9488 display: inline-flex; align-items: center; cursor: pointer; 9489 transition: opacity 0.25s ease; 9490} 9491#icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_trigger:hover { opacity: 0.85; } 9492 9493#icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_inline { 9494 display: flex; align-items: center; gap: 10px; 9495} 9496#icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_icon { 9497 width: 30px; 9498 height: 30px; 9499} 9500#icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_textblock { 9501 color: #fff; 9502 display: flex; flex-direction: column; justify-content: center; 9503} 9504#icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_heading { 9505 font-size: 10px; 9506 font-weight: 600; 9507 margin: 0; 9508} 9509#icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_subtext { 9510 font-size: 10px; 9511 font-weight: 300; 9512 margin: 0; 9513} 9514 9515#icon_videopopup_overlay_piqovideopopup_desk { 9516 position: fixed; inset: 0; display: none; 9517 justify-content: center; align-items: center; 9518 background: rgba(15,15,15,0.35); 9519 backdrop-filter: blur(18px) saturate(140%); 9520 -webkit-backdrop-filter: blur(18px) saturate(140%); 9521 border: 1px solid rgba(255,255,255,0.15); 9522 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 9523 z-index: 2147483647; padding: 20px; overflow-y: auto; 9524 transition: all 0.3s ease-in-out; 9525} 9526#icon_videopopup_overlay_piqovideopopup_desk.show { display: flex; } 9527 9528#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_modal { 9529 padding: 0; border-radius: 10px; max-width: 65vw; 9530 width: 80%; max-height: 85vh; overflow: hidden; 9531 background: transparent; position: relative; 9532} 9533#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_close { 9534 position: absolute; top: 5px; right: 10px; font-size: 28px; 9535 color: #fff; background: transparent; border: none; 9536 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 9537} 9538#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_close:hover { transform: scale(1.1); } 9539 9540/* Video Container */ 9541#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_videocontainer { 9542 position: relative; width: 100%; 9543 display: flex; justify-content: center; align-items: center; 9544 background: #000; 9545} 9546#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_video { 9547 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 9548} 9549 9550/* Play & Pause Button wrappers */ 9551#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_play, 9552#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_pause { 9553 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 9554 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 9555 padding: 0; 9556} 9557 9558/* Center play button */ 9559#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_play { 9560 top: 50%; left: 50%; transform: translate(-50%, -50%); 9561 width: 60px; height: 60px; border-radius: 50%; 9562} 9563 9564/* Pause small floating control */ 9565#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_pause { 9566 bottom: 20px; right: 20px; 9567 width: 45px; height: 55px; border-radius: 50%; 9568 display: none; 9569} 9570 9571/* SVG visuals */ 9572#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_svg_play, 9573#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_svg_pause { 9574 width: 100%; height: 100%; display: block; pointer-events: none; 9575 border-radius: 50%; 9576 filter: none; 9577 transition: transform 0.2s ease; 9578} 9579#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_play:hover .icon_videopopup_svg_play, 9580#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 9581 transform: scale(1.06); 9582} 9583 9584/* Audio Indicator */ 9585#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_audioindicator { 9586 position: absolute; bottom: 20px; left: 20px; 9587 background: rgba(0, 0, 0, 0.7); color: #fff; 9588 padding: 8px 12px; border-radius: 20px; 9589 font-size: 14px; display: none; z-index: 10; 9590 transition: all 0.3s ease; 9591} 9592#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_audioindicator.show { display: block; } 9593#icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_audioindicator.hidden { display: none; } 9594 9595/* Responsive */ 9596@media (max-width: 768px) { 9597 #icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_modal { 9598 width: 100%; max-width: 100%; 9599 } 9600 #icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_play { 9601 width: 50px; height: 50px; 9602 } 9603 #icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 9604 #icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_pause { 9605 width: 40px; height: 40px; bottom: 15px; right: 15px; 9606 } 9607 #icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_audioindicator { 9608 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 9609 } 9610 #icon_videopopup_overlay_piqovideopopup_desk .icon_videopopup_close { 9611 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 9612 color: #fff; background: transparent; border: none; 9613 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 9614 } 9615 #icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_inline { 9616 display: flex; align-items: center; gap: 5px !important; 9617 } 9618} 9619 9620/* Heading and subtext inline in mobile */ 9621@media (max-width: 768px) { 9622 #icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_trigger .icon_videopopup_textblock { 9623 display: flex !important; 9624 flex-direction: row !important;
9625 align-items: center !important; 9626 gap: 0px !important; 9627 } 9628 9629 #icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_heading, 9630 #icon_videopopup_wrapper_piqovideopopup_desk .icon_videopopup_subtext { 9631 display: inline !important; 9632 margin: 0 !important; 9633 white-space: nowrap !important; 9634 } 9635} 9636</style>
9636<script> 9637(function() { 9638 try { 9639 var toggle = document.getElementById('icon_videopopup_toggle_piqovideopopup_desk'); 9640 var template = document.getElementById('icon_videopopup_template_piqovideopopup_desk'); 9641 if (!toggle || !template) return; 9642 9643 var isInitialized = false; 9644 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 9645 9646 function initPopup() { 9647 if (isInitialized) return; 9648 9649 // Clone template into DOM on demand 9650 var popupClone = template.content.cloneNode(true); 9651 document.body.appendChild(popupClone); 9652 9653 overlay = document.getElementById('icon_videopopup_overlay_piqovideopopup_desk'); 9654 closeBtn = document.getElementById('icon_videopopup_close_piqovideopopup_desk'); 9655 video = document.getElementById('icon_videopopup_video_piqovideopopup_desk'); 9656 videoSource = document.getElementById('icon_videopopup_source_piqovideopopup_desk'); 9657 playBtn = document.getElementById('icon_videopopup_play_piqovideopopup_desk'); 9658 pauseBtn = document.getElementById('icon_videopopup_pause_piqovideopopup_desk'); 9659 audioIndicator = document.getElementById('icon_videopopup_audioindicator_piqovideopopup_desk'); 9660 9661 // Set video source lazily upon first interaction 9662 var isMobile = window.innerWidth <= 768; 9663 var mobileSrc = "".trim(); 9664 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/d6728cbf-bb51-4bb9-9ca2-2286a0ed78cc/Global_Piqo_Hero_Sizzle_Landscape_10-24.mp4".trim(); 9665 9666 videoSource.src = (isMobile && mobileSrc && mobileSrc !== '') ? mobileSrc : desktopSrc; 9667 video.load(); 9668 9669 // Attach control event listeners 9670 closeBtn.addEventListener('click', closePopup); 9671 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 9672 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 9673 9674 if (playBtn) playBtn.addEventListener('click', function() { 9675 if (video) { 9676 video.play(); 9677 video.muted = false; 9678 } 9679 playBtn.style.display = 'none'; 9680 if (pauseBtn) pauseBtn.style.display = 'flex'; 9681 }); 9682 9683 if (pauseBtn) pauseBtn.addEventListener('click', function() { 9684 if (video) video.pause(); 9685 if (playBtn) playBtn.style.display = 'flex'; 9686 pauseBtn.style.display = 'none'; 9687 }); 9688 9689 if (video) { 9690 video.addEventListener('click', enableAudio); 9691 video.addEventListener('play', function() { 9692 if (playBtn) playBtn.style.display = 'none'; 9693 if (pauseBtn) pauseBtn.style.display = 'flex'; 9694 }); 9695 9696 video.addEventListener('ended', function() { 9697 if (pauseBtn) pauseBtn.style.display = 'none'; 9698 if (playBtn) playBtn.style.display = 'flex'; 9699 }); 9700 } 9701 9702 isInitialized = true; 9703 } 9704 9705 function openPopup() { 9706 // Lazy initialize the DOM structure and video load on click 9707 initPopup(); 9708 9709 overlay.classList.add('show'); 9710 document.body.classList.add('icon_videopopup_open'); 9711 document.body.dataset.scrollY = window.scrollY; 9712 9713 var autoplayMuted = "" === 'true'; 9714 if (autoplayMuted) { 9715 video.muted = true; 9716 if (audioIndicator) audioIndicator.style.display = 'block'; 9717 } else { 9718 video.muted = false; 9719 if (audioIndicator) audioIndicator.style.display = 'none'; 9720 } 9721 9722 video.play().then(function() { 9723 if (playBtn) playBtn.style.display = 'none'; 9724 if (pauseBtn) pauseBtn.style.display = 'flex'; 9725 }).catch(function(error) { 9726 console.log('Autoplay failed:', error); 9727 if (playBtn) playBtn.style.display = 'flex'; 9728 if (pauseBtn) pauseBtn.style.display = 'none'; 9729 }); 9730 } 9731 9732 function closePopup() { 9733 if (!overlay) return; 9734 overlay.classList.remove('show'); 9735 document.body.classList.remove('icon_videopopup_open'); 9736 toggle.checked = false; 9737 if (video) { 9738 video.pause(); 9739 video.currentTime = 0; 9740 } 9741 if (playBtn) playBtn.style.display = 'flex'; 9742 if (pauseBtn) pauseBtn.style.display = 'none'; 9743 if (document.body.dataset.scrollY) { 9744 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 9745 } 9746 } 9747 9748 function enableAudio() { 9749 if (video && video.muted) { 9750 video.muted = false; 9751 if (audioIndicator) audioIndicator.style.display = 'none'; 9752 } 9753 } 9754 9755 toggle.addEventListener('change', function() { 9756 toggle.checked ? openPopup() : closePopup(); 9757 });
9758 9759 } catch(e) { 9760 console.error('Icon Video Popup initialization failed:', e); 9761 } 9762})(); 9763</script>
9763 </div> </div> </div> </div> <div id="s-bd8157e0-bde0-4618-95fe-bdb85d232f9d-root"> <div class="shg-image-margin-container-s-bd8157e0-bde0-4618-95fe-bdb85d232f9d" id="wrap-s-bd8157e0-bde0-4618-95fe-bdb85d232f9d"> <div class="s-bd8157e0-bde0-4618-95fe-bdb85d232f9d shg-align-container"> <div class="shg-c s-bd8157e0-bde0-4618-95fe-bdb85d232f9d shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-top-left cm-nb-sg-bd-cl-green shg-align-center" id="s-bd8157e0-bde0-4618-95fe-bdb85d232f9d"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <a class="shogun-image-link" href="/exclusive-offers/piqo-2k-bundle/"> <img srcset="https://i.shgcdn.com/0c9e7d42-bb12-4c3d-b4ed-50822bac9c22/-/format/auto/-/quality/best/-/resize/180x/ 180w,https://i.shgcdn.com/0c9e7d42-bb12-4c3d-b4ed-50822bac9c22/-/format/auto/-/quality/best/-/resize/360x/ 360w,https://i.shgcdn.com/0c9e7d42-bb12-4c3d-b4ed-50822bac9c22/-/format/auto/-/quality/best/-/resize/720x/ 720w,https://i.shgcdn.com/0c9e7d42-bb12-4c3d-b4ed-50822bac9c22/-/format/auto/-/quality/best/-/resize/900x/ 900w,https://i.shgcdn.com/0c9e7d42-bb12-4c3d-b4ed-50822bac9c22/-/format/auto/-/quality/best/-/resize/1080x/ 1080w,https://i.shgcdn.com/0c9e7d42-bb12-4c3d-b4ed-50822bac9c22/-/format/auto/-/quality/best/-/resize/1200x/ 1200w" sizes="100vw" src="https://i.shgcdn.com/0c9e7d42-bb12-4c3d-b4ed-50822bac9c22/-/format/auto/-/quality/best/" alt="Nextbase dash cam with accessories and memory card." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </a> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-linked"> </div> </div> </div> </div> </div>
9763<script class="__SHG_DATA__" type="application/json"> 9764 { 9765 "__shgImageV3Elements": { "uuid": "s-bd8157e0-bde0-4618-95fe-bdb85d232f9d" } 9766 } 9767 </script>
9767 </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_std shogun-lazyload" id="s-55cdeea1-bd3b-4b1c-a8d9-b97c04d0995d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-4f46ed2a-ec7f-4739-809c-8412343860f3"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c main-rowgallery save_badge " id="s-dce7f131-37b6-4def-9dd7-38b2ca232a65"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-50fb005c-7d86-4841-8317-92c037faa1cf"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div id="s-2669bc16-ba76-41ba-80ba-1a769ed5da85" class="shg-c "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_322GW"> <input type="checkbox" id="icon_videopopup_toggle_322GW" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_322GW" class="icon_videopopup_trigger" id="icon_videopopup_trigger_322GW"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/65b9834d-5e86-4441-a2c4-7f0e3d07d1de/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_322GW"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_322GW"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_322GW"> <button class="icon_videopopup_close" id="icon_videopopup_close_322GW" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_322GW" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_322GW" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_322GW" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_322GW" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_322GW"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 9768#icon_videopopup_wrapper_322GW { position: relative; display: inline-block; } 9769#icon_videopopup_wrapper_322GW .icon_videopopup_toggle { position: absolute; left: -9999px; } 9770 9771#icon_videopopup_wrapper_322GW .icon_videopopup_trigger { 9772 display: inline-flex; align-items: center; cursor: pointer; 9773 transition: opacity 0.25s ease; 9774} 9775#icon_videopopup_wrapper_322GW .icon_videopopup_trigger:hover { opacity: 0.85; } 9776 9777#icon_videopopup_wrapper_322GW .icon_videopopup_inline { 9778 display: flex; align-items: center; gap: 10px; 9779} 9780#icon_videopopup_wrapper_322GW .icon_videopopup_icon { 9781 width: 30px; 9782 height: 30px; 9783} 9784#icon_videopopup_wrapper_322GW .icon_videopopup_textblock { 9785 color: #000; 9786 display: flex; flex-direction: column; justify-content: center; 9787} 9788#icon_videopopup_wrapper_322GW .icon_videopopup_heading { 9789 font-size: 10px; 9790 font-weight: 600; 9791 margin: 0; 9792} 9793#icon_videopopup_wrapper_322GW .icon_videopopup_subtext { 9794 font-size: 10px; 9795 font-weight: 300; 9796 margin: 0; 9797} 9798 9799#icon_videopopup_overlay_322GW { 9800 position: fixed; inset: 0; display: none; 9801 justify-content: center; align-items: center; 9802 background: rgba(15,15,15,0.35); 9803 backdrop-filter: blur(18px) saturate(140%); 9804 -webkit-backdrop-filter: blur(18px) saturate(140%); 9805 border: 1px solid rgba(255,255,255,0.15); 9806 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 9807 z-index: 2147483647; padding: 20px; overflow-y: auto; 9808 transition: all 0.3s ease-in-out; 9809} 9810#icon_videopopup_overlay_322GW.show { display: flex; } 9811 9812#icon_videopopup_overlay_322GW .icon_videopopup_modal { 9813 padding: 0; border-radius: 10px; max-width: 65vw; 9814 width: 80%; max-height: 85vh; overflow: hidden; 9815 background: transparent; position: relative; 9816} 9817#icon_videopopup_overlay_322GW .icon_videopopup_close { 9818 position: absolute; top: 5px; right: 10px; font-size: 28px; 9819 color: #fff; background: transparent; border: none; 9820 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 9821} 9822#icon_videopopup_overlay_322GW .icon_videopopup_close:hover { transform: scale(1.1); } 9823 9824/* Video Container */ 9825#icon_videopopup_overlay_322GW .icon_videopopup_videocontainer { 9826 position: relative; width: 100%; 9827 display: flex; justify-content: center; align-items: center; 9828 background: #000; 9829} 9830#icon_videopopup_overlay_322GW .icon_videopopup_video { 9831 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 9832} 9833 9834/* Play & Pause Button wrappers */ 9835#icon_videopopup_overlay_322GW .icon_videopopup_play, 9836#icon_videopopup_overlay_322GW .icon_videopopup_pause { 9837 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 9838 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 9839 padding: 0; 9840} 9841 9842/* Center play button */ 9843#icon_videopopup_overlay_322GW .icon_videopopup_play { 9844 top: 50%; left: 50%; transform: translate(-50%, -50%); 9845 width: 60px; height: 60px; border-radius: 50%; 9846} 9847 9848/* Pause small floating control */ 9849#icon_videopopup_overlay_322GW .icon_videopopup_pause { 9850 bottom: 20px; right: 20px; 9851 width: 45px; height: 55px; border-radius: 50%; 9852 display: none; 9853} 9854 9855/* SVG visuals */ 9856#icon_videopopup_overlay_322GW .icon_videopopup_svg_play, 9857#icon_videopopup_overlay_322GW .icon_videopopup_svg_pause { 9858 width: 100%; height: 100%; display: block; pointer-events: none; 9859 border-radius: 50%; 9860 filter: none; 9861 transition: transform 0.2s ease; 9862} 9863#icon_videopopup_overlay_322GW .icon_videopopup_play:hover .icon_videopopup_svg_play, 9864#icon_videopopup_overlay_322GW .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 9865 transform: scale(1.06); 9866} 9867 9868/* Audio Indicator */ 9869#icon_videopopup_overlay_322GW .icon_videopopup_audioindicator { 9870 position: absolute; bottom: 20px; left: 20px; 9871 background: rgba(0, 0, 0, 0.7); color: #fff; 9872 padding: 8px 12px; border-radius: 20px; 9873 font-size: 14px; display: none; z-index: 10; 9874 transition: all 0.3s ease; 9875} 9876#icon_videopopup_overlay_322GW .icon_videopopup_audioindicator.show { display: block; } 9877#icon_videopopup_overlay_322GW .icon_videopopup_audioindicator.hidden { display: none; } 9878 9879/* Responsive */ 9880@media (max-width: 768px) { 9881 #icon_videopopup_overlay_322GW .icon_videopopup_modal { 9882 width: 100%; max-width: 100%; 9883 } 9884 #icon_videopopup_overlay_322GW .icon_videopopup_play { 9885 width: 50px; height: 50px; 9886 } 9887 #icon_videopopup_overlay_322GW .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 9888 #icon_videopopup_overlay_322GW .icon_videopopup_pause { 9889 width: 40px; height: 40px; bottom: 15px; right: 15px; 9890 } 9891 #icon_videopopup_overlay_322GW .icon_videopopup_audioindicator { 9892 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 9893 } 9894 #icon_videopopup_overlay_322GW .icon_videopopup_close { 9895 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 9896 color: #fff; background: transparent; border: none; 9897 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 9898 } 9899 #icon_videopopup_wrapper_322GW .icon_videopopup_inline { 9900 display: flex; align-items: center; gap: 5px !important; 9901 } 9902} 9903 9904/* Heading and subtext inline in mobile */ 9905@media (max-width: 768px) { 9906 #icon_videopopup_wrapper_322GW .icon_videopopup_trigger .icon_videopopup_textblock { 9907 display: flex !important; 9908 flex-direction: row !important;
9909 align-items: center !important; 9910 gap: 0px !important; 9911 } 9912 9913 #icon_videopopup_wrapper_322GW .icon_videopopup_heading, 9914 #icon_videopopup_wrapper_322GW .icon_videopopup_subtext { 9915 display: inline !important; 9916 margin: 0 !important; 9917 white-space: nowrap !important; 9918 } 9919} 9920</style>
9920<script> 9921(function() { 9922 try { 9923 var toggle = document.getElementById('icon_videopopup_toggle_322GW'); 9924 var template = document.getElementById('icon_videopopup_template_322GW'); 9925 if (!toggle || !template) return; 9926 9927 var isInitialized = false; 9928 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 9929 9930 function initPopup() { 9931 if (isInitialized) return; 9932 9933 // Clone template into DOM on demand 9934 var popupClone = template.content.cloneNode(true); 9935 document.body.appendChild(popupClone); 9936 9937 overlay = document.getElementById('icon_videopopup_overlay_322GW'); 9938 closeBtn = document.getElementById('icon_videopopup_close_322GW'); 9939 video = document.getElementById('icon_videopopup_video_322GW'); 9940 videoSource = document.getElementById('icon_videopopup_source_322GW'); 9941 playBtn = document.getElementById('icon_videopopup_play_322GW'); 9942 pauseBtn = document.getElementById('icon_videopopup_pause_322GW'); 9943 audioIndicator = document.getElementById('icon_videopopup_audioindicator_322GW'); 9944 9945 // Set video source lazily upon first interaction 9946 var isMobile = window.innerWidth <= 768; 9947 var mobileSrc = "".trim(); 9948 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/b49a5e67-8c70-4638-bd04-1cc7c19678bf/1080p-vs-Standard-Video-Comparison.mp4".trim(); 9949 9950 videoSource.src = (isMobile && mobileSrc && mobileSrc !== '') ? mobileSrc : desktopSrc; 9951 video.load(); 9952 9953 // Attach control event listeners 9954 closeBtn.addEventListener('click', closePopup); 9955 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 9956 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 9957 9958 if (playBtn) playBtn.addEventListener('click', function() { 9959 if (video) { 9960 video.play(); 9961 video.muted = false; 9962 } 9963 playBtn.style.display = 'none'; 9964 if (pauseBtn) pauseBtn.style.display = 'flex'; 9965 }); 9966 9967 if (pauseBtn) pauseBtn.addEventListener('click', function() { 9968 if (video) video.pause(); 9969 if (playBtn) playBtn.style.display = 'flex'; 9970 pauseBtn.style.display = 'none'; 9971 }); 9972 9973 if (video) { 9974 video.addEventListener('click', enableAudio); 9975 video.addEventListener('play', function() { 9976 if (playBtn) playBtn.style.display = 'none'; 9977 if (pauseBtn) pauseBtn.style.display = 'flex'; 9978 }); 9979 9980 video.addEventListener('ended', function() { 9981 if (pauseBtn) pauseBtn.style.display = 'none'; 9982 if (playBtn) playBtn.style.display = 'flex'; 9983 }); 9984 } 9985 9986 isInitialized = true; 9987 } 9988 9989 function openPopup() { 9990 // Lazy initialize the DOM structure and video load on click 9991 initPopup(); 9992 9993 overlay.classList.add('show'); 9994 document.body.classList.add('icon_videopopup_open'); 9995 document.body.dataset.scrollY = window.scrollY; 9996 9997 var autoplayMuted = "" === 'true'; 9998 if (autoplayMuted) { 9999 video.muted = true; 10000 if (audioIndicator) audioIndicator.style.display = 'block'; 10001 } else { 10002 video.muted = false; 10003 if (audioIndicator) audioIndicator.style.display = 'none'; 10004 } 10005 10006 video.play().then(function() { 10007 if (playBtn) playBtn.style.display = 'none'; 10008 if (pauseBtn) pauseBtn.style.display = 'flex'; 10009 }).catch(function(error) { 10010 console.log('Autoplay failed:', error); 10011 if (playBtn) playBtn.style.display = 'flex'; 10012 if (pauseBtn) pauseBtn.style.display = 'none'; 10013 }); 10014 } 10015 10016 function closePopup() { 10017 if (!overlay) return; 10018 overlay.classList.remove('show'); 10019 document.body.classList.remove('icon_videopopup_open'); 10020 toggle.checked = false; 10021 if (video) { 10022 video.pause(); 10023 video.currentTime = 0; 10024 } 10025 if (playBtn) playBtn.style.display = 'flex'; 10026 if (pauseBtn) pauseBtn.style.display = 'none'; 10027 if (document.body.dataset.scrollY) { 10028 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 10029 } 10030 } 10031 10032 function enableAudio() { 10033 if (video && video.muted) { 10034 video.muted = false; 10035 if (audioIndicator) audioIndicator.style.display = 'none'; 10036 } 10037 } 10038 10039 toggle.addEventListener('change', function() { 10040 toggle.checked ? openPopup() : closePopup(); 10041 });
10042 10043 } catch(e) { 10044 console.error('Icon Video Popup initialization failed:', e); 10045 } 10046})(); 10047</script>
10047 </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"></div> </div> </div> <div id="s-3461bde7-d608-4f93-9639-a011df38330f-root"> <div class="shg-image-margin-container-s-3461bde7-d608-4f93-9639-a011df38330f" id="wrap-s-3461bde7-d608-4f93-9639-a011df38330f"> <div class="s-3461bde7-d608-4f93-9639-a011df38330f shg-align-container"> <div class="shg-c s-3461bde7-d608-4f93-9639-a011df38330f shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-top-left cm-nb-sg-bd-cl-purple shg-align-center" id="s-3461bde7-d608-4f93-9639-a011df38330f"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <a class="shogun-image-link" href="/exclusive-offers/322gw-dash-cam-pro-package/"> <img srcset="https://i.shgcdn.com/2f4cf699-f97b-4019-be06-51cf8d192f92/-/format/auto/-/quality/best/-/resize/180x/ 180w,https://i.shgcdn.com/2f4cf699-f97b-4019-be06-51cf8d192f92/-/format/auto/-/quality/best/-/resize/360x/ 360w,https://i.shgcdn.com/2f4cf699-f97b-4019-be06-51cf8d192f92/-/format/auto/-/quality/best/-/resize/720x/ 720w,https://i.shgcdn.com/2f4cf699-f97b-4019-be06-51cf8d192f92/-/format/auto/-/quality/best/-/resize/900x/ 900w,https://i.shgcdn.com/2f4cf699-f97b-4019-be06-51cf8d192f92/-/format/auto/-/quality/best/-/resize/1080x/ 1080w,https://i.shgcdn.com/2f4cf699-f97b-4019-be06-51cf8d192f92/-/format/auto/-/quality/best/-/resize/1200x/ 1200w" sizes="100vw" src="https://i.shgcdn.com/2f4cf699-f97b-4019-be06-51cf8d192f92/-/format/auto/-/quality/best/" alt="A dash camera with accessories including a lens and carrying case." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </a> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-linked"> </div> </div> </div> </div> </div>
10047<script class="__SHG_DATA__" type="application/json"> 10048 { 10049 "__shgImageV3Elements": { "uuid": "s-3461bde7-d608-4f93-9639-a011df38330f" } 10050 } 10051 </script>
10051 </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_56 nbs_pb_42 " id="s-92a0a647-d1a0-450f-bfbf-49099953d297"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 " id="s-9cfdd85a-4e6d-4fd5-ab7c-e0b35013aff1"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-8f2a43fc-7b86-44ef-adbe-e1017af9780a" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div id="s-f0b94deb-9955-4a92-b1d1-a4b9929ef635" class="shg-c nbs_pb_mob_14 hc:nb_fw_500 nb_c_secondarydarkest nbs_pb_sm shg-align-left"> <div class="shg-product-title-component"> <h5> <span data-shg-product-target="product-title"></span> </h5> </div>
10051<script class="__SHG_DATA__" type="application/json"> 10052 { 10053 "__shgProductCallback": { 10054 "id": "s-8f2a43fc-7b86-44ef-adbe-e1017af9780a", 10055 "callback": { 10056 "cb": "title", 10057 "data": { 10058 "uuid": "s-f0b94deb-9955-4a92-b1d1-a4b9929ef635" 10059 } 10060 } 10061 } 10062 } 10063 </script>
10063 </div>
10063<script class="__SHG_DATA__" type="application/json"> 10064 { 10065 10066 "__shgProductInit": { 10067 "uuid": "s-8f2a43fc-7b86-44ef-adbe-e1017af9780a", 10068 "platform": "big_commerce", 10069 "currency": "USD", 10070 "productId": "152", 10071 "staticVariant": false, 10072 "hideIfDraft": false, 10073 10074 10075 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 10076 10077 10078 10079 "productUrl": "https://shgapi.com/api/products", 10080 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6IjE1MiJ9.lyWoJDC97Sv5frpF_FNqahV76tgA7OTjk5MR2vplOfk", 10081 10082 10083 10084 "productHandle": "exclusive-offers/322gw-dash-cam-pro-package/", 10085 "productVariantId": 167 10086 10087 }, 10088 "__shgProductCallback": { 10089 "id": "s-8f2a43fc-7b86-44ef-adbe-e1017af9780a", 10090 "callback": { 10091 "cb": "box", 10092 "data": { 10093 "uuid": "s-8f2a43fc-7b86-44ef-adbe-e1017af9780a" 10094 } 10095 } 10096 } 10097 } 10098 </script>
10098 </div> <div id="s-438d4579-9b41-4bd5-b9ff-e80c635dd4d9" class="shg-c nb_fs_txt_mob_16 hc:nb_fw_600 nb_c_primarydark nbs_pb_sm shg-align-left"> <div class="shogun-heading-component"> <h6> AN EXCLUSIVE BUNDLE WITH FULL HD </h6> </div> </div> <div id="s-9c7d00a0-850b-4ae7-acc6-f06f440a80ec" class="shg-c hc:nb_fw_300 nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Enhance your Full HD 322GW with the Nextbase Rear Window Camera to guard against tailgaters and rear-end impacts, and a 32GB Micro SD Card and a polarizing filter to reduce glare and reflection. Includes the Nextbase 1 Year Extended Warranty, for even more peace of mind!</p></div> </div> <div id="s-fd33ee8b-40f4-4231-841b-590f4c7c29c5" class="shg-c hc:nb_fw_300 nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p><span style="color: rgb(0, 0, 0);">Enhance your 322GW with reflection-free lens and Rear Window Camera to guard against rear impacts and glare.</span></p></div> </div> </div> </div> </div></div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_14 nbs_pb_14 nbs_mb_28 " id="s-98582aed-5a17-4fda-9948-cfc87425c196"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-b42715aa-864b-4e1e-a9ee-d1821b6e1e5d" class="shg-c shg-align-left"> <div class="nb-fluid-scale icon-grid-container gw"> <div class="icons-list icons-per-row-3" id="icons322GWList"></div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c save_badge " id="s-b6a9940e-2ace-44c6-9a5d-635899979d61"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-7382f3de-f917-4969-a4c4-61f5b4292100-root"> <div class="shg-image-margin-container-s-7382f3de-f917-4969-a4c4-61f5b4292100" id="wrap-s-7382f3de-f917-4969-a4c4-61f5b4292100"> <div class="s-7382f3de-f917-4969-a4c4-61f5b4292100 shg-align-container"> <div class="shg-c s-7382f3de-f917-4969-a4c4-61f5b4292100 shogun-image-container shogun-image-linked cm-nb-sg-bd-ps-bottom-left cm-nb-sg-bd-cl-purple shg-align-center" id="s-7382f3de-f917-4969-a4c4-61f5b4292100"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <a class="shogun-image-link" href="/exclusive-offers/322gw-dash-cam-pro-package/"> <img srcset="https://i.shgcdn.com/fa9c2254-98a9-4c15-8e91-b1600889fd6d/-/format/auto/-/quality/best/-/resize/180x/ 180w,https://i.shgcdn.com/fa9c2254-98a9-4c15-8e91-b1600889fd6d/-/format/auto/-/quality/best/-/resize/360x/ 360w,https://i.shgcdn.com/fa9c2254-98a9-4c15-8e91-b1600889fd6d/-/format/auto/-/quality/best/-/resize/720x/ 720w,https://i.shgcdn.com/fa9c2254-98a9-4c15-8e91-b1600889fd6d/-/format/auto/-/quality/best/-/resize/900x/ 900w,https://i.shgcdn.com/fa9c2254-98a9-4c15-8e91-b1600889fd6d/-/format/auto/-/quality/best/-/resize/1080x/ 1080w,https://i.shgcdn.com/fa9c2254-98a9-4c15-8e91-b1600889fd6d/-/format/auto/-/quality/best/-/resize/1200x/ 1200w" sizes="100vw" src="https://i.shgcdn.com/fa9c2254-98a9-4c15-8e91-b1600889fd6d/-/format/auto/-/quality/best/" alt="Camera with accessories including a lens filter and carrying case." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </a> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-linked"> </div> </div> </div> </div> </div>
10098<script class="__SHG_DATA__" type="application/json"> 10099 { 10100 "__shgImageV3Elements": { "uuid": "s-7382f3de-f917-4969-a4c4-61f5b4292100" } 10101 } 10102 </script>
10102 </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_16 nbs_mt_mob_16 " id="s-86676342-a8b1-429a-a0c5-f847cb5e4178"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-c7bc5ed0-1caa-409f-b057-6674b1387054" class="shg-c nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p><span style="color: rgb(0, 0, 0);">Includes:</span></p></div> </div> <div id="s-4ca16cfe-af96-46f5-8ea0-c452874ac829" class="shg-c nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);"><span style="color: rgb(0, 0, 0);"><strong>322GW Dash Cam</strong> | <strong>32GB SD Card</strong> |<strong> Rear Window Camera </strong>|<strong> Reflection-free Lens </strong> |<strong> Carry Case</strong> |<strong> Nextbase 1-year extended warranty</strong></span></p></div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 nbs_mt_mob_14 " id="s-63ace320-5398-4c83-9d58-e3f8f212782b"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-a14ffa5a-fed7-46f4-891e-dacc563c8dcf"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div id="s-cda43b89-7a7b-473f-b459-ae750fa8faca" class="shg-c shg-product rca-product-view " data-is-product-box="true"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c view " id="s-c9a5787b-47dc-41e8-9163-cf9beb64d9a1"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-c693f6ac-17cb-48a6-a070-f922baa52b92" class="shg-c hc:nb_fw_500 has-price-divided-by-3 nb_text_left nb_c_secondarydarkest shg-align-left"> <span class="shg-product-sold-out" data-shg-product-target="product-sold-out">Sold out</span> <span class="shg-product-price product-price rca-product-price" data-shg-product-target="product-price"></span> <span class="shg-product-compare-price" data-shg-product-target="product-compare-price"></span>
10102<script class="__SHG_DATA__" type="application/json"> 10103 { 10104 "__shgProductCallback": { 10105 "id": "s-cda43b89-7a7b-473f-b459-ae750fa8faca", 10106 "callback": { 10107 "cb": "price", 10108 "data": { 10109 "uuid": "s-c693f6ac-17cb-48a6-a070-f922baa52b92", 10110 "hasComparePrice": true 10111 } 10112 } 10113 } 10114 } 10115 </script>
10115 </div> </div> </div> </div>
10115<script class="__SHG_DATA__" type="application/json"> 10116 { 10117 10118 "__shgProductInit": { 10119 "uuid": "s-cda43b89-7a7b-473f-b459-ae750fa8faca", 10120 "platform": "big_commerce", 10121 "currency": "USD", 10122 "productId": "152", 10123 "staticVariant": true, 10124 "hideIfDraft": false, 10125 10126 10127 "moneyFormat": {"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}, 10128 10129 10130 10131 "productUrl": "https://shgapi.com/api/products", 10132 "authToken": "eyJhbGciOiJIUzI1NiJ9.eyJzaXRlX2lkIjoiMjIyNjI5YWQtYjJjYS00OGM5LTg5YjctZTU2YzdhODZmNzhmIiwicHJvZHVjdF9pZCI6IjE1MiJ9.lyWoJDC97Sv5frpF_FNqahV76tgA7OTjk5MR2vplOfk", 10133 10134 10135 10136 "productHandle": "exclusive-offers/322gw-dash-cam-pro-package/", 10137 "productVariantId": 167 10138 10139 }, 10140 "__shgProductCallback": { 10141 "id": "s-cda43b89-7a7b-473f-b459-ae750fa8faca", 10142 "callback": { 10143 "cb": "box", 10144 "data": { 10145 "uuid": "s-cda43b89-7a7b-473f-b459-ae750fa8faca" 10146 } 10147 } 10148 } 10149 } 10150 </script>
10150 </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-0e9c6e37-457b-43e3-8b6e-fedf5c345a41"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-2f333158-91b6-40e7-a49a-42f93b2a71a7-root" class="shg-c shg-btn-wrapper nb_fs_txt_md cm_nb_plp_buy_button nb_c_secondarylight hc:nb_fw_700 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-2f333158-91b6-40e7-a49a-42f93b2a71a7" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/322gw-dash-cam-pro-package/"> Buy Now </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-53cfd4d9-d4be-4905-9986-65e86d87250c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-d39d45dc-6eff-49d8-80d2-6880d6e97076-root" class="shg-c shg-btn-wrapper btn-sectn hc:nb_fw_400 nb_fs_txt_std shg-align-left"> <a id="s-d39d45dc-6eff-49d8-80d2-6880d6e97076" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/322gw-dash-cam-pro-package/"> View Details </a> </div> <div id="s-cf7cd28e-de79-4a0c-99ba-031a9f02a515-root" class="shg-c shg-btn-wrapper nb_fs_txt_std cm_nb_plp_buy_button btn-sectn nb_c_secondarylight hc:nb_fw_700 shg-align-left"> <a id="s-cf7cd28e-de79-4a0c-99ba-031a9f02a515" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/322gw-dash-cam-pro-package/"> Buy Now </a> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-52a3ac0c-e8f7-4c6b-871a-4867912152bf"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c cm_nb_th_plp_sg_action_section " id="s-dee334cd-9dfa-4c15-a46d-906b46459d5a"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-4"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-500ee5b9-2c3f-4dfd-a199-ef1ae50eb141"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-c8680101-07f5-48b4-a885-b9ef36337648" class="shg-c "> <div class="icon_videopopup_wrapper" id="icon_videopopup_wrapper_322videopopup_mobile"> <input type="checkbox" id="icon_videopopup_toggle_322videopopup_mobile" class="icon_videopopup_toggle"/> <label for="icon_videopopup_toggle_322videopopup_mobile" class="icon_videopopup_trigger" id="icon_videopopup_trigger_322videopopup_mobile"> <div class="icon_videopopup_inline"> <img src="https://i.shgcdn.com/65b9834d-5e86-4441-a2c4-7f0e3d07d1de/-/format/auto/-/quality/normal/" alt="In action" class="icon_videopopup_icon" loading="lazy" decoding="async"/> <div class="icon_videopopup_textblock"> <div class="icon_videopopup_heading"></div> <div class="icon_videopopup_subtext">In action</div> </div> </div> </label> <template id="icon_videopopup_template_322videopopup_mobile"> <div class="icon_videopopup_overlay" id="icon_videopopup_overlay_322videopopup_mobile"> <div class="icon_videopopup_modal" role="dialog" aria-modal="true" aria-labelledby="icon_videopopup_trigger_322videopopup_mobile"> <button class="icon_videopopup_close" id="icon_videopopup_close_322videopopup_mobile" title="Close" aria-label="Close popup">×</button> <div class="icon_videopopup_videocontainer"> <video id="icon_videopopup_video_322videopopup_mobile" class="icon_videopopup_video" playsinline preload="none" poster=""> <source id="icon_videopopup_source_322videopopup_mobile" type="video/mp4"/> Your browser does not support the video tag. </video> <button class="icon_videopopup_play" id="icon_videopopup_play_322videopopup_mobile" aria-label="Play video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_play"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <polygon points="40,30 75,50 40,70" fill="#000"/> </svg> </button> <button class="icon_videopopup_pause" id="icon_videopopup_pause_322videopopup_mobile" aria-label="Pause video"> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" class="icon_videopopup_svg_pause"> <circle cx="50" cy="50" r="48" fill="rgba(255,255,255,0.95)"/> <rect x="36" y="30" width="10" height="40" fill="#000"/> <rect x="54" y="30" width="10" height="40" fill="#000"/> </svg> </button> <div class="icon_videopopup_audioindicator hidden" id="icon_videopopup_audioindicator_322videopopup_mobile"> <span>Click video to enable sound</span> </div> </div> </div> </div> </template> </div> <style> 10151#icon_videopopup_wrapper_322videopopup_mobile { position: relative; display: inline-block; } 10152#icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_toggle { position: absolute; left: -9999px; } 10153 10154#icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_trigger { 10155 display: inline-flex; align-items: center; cursor: pointer; 10156 transition: opacity 0.25s ease; 10157} 10158#icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_trigger:hover { opacity: 0.85; } 10159 10160#icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_inline { 10161 display: flex; align-items: center; gap: 10px; 10162} 10163#icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_icon { 10164 width: 23px; 10165 height: 23px; 10166} 10167#icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_textblock { 10168 color: #000; 10169 display: flex; flex-direction: column; justify-content: center; 10170} 10171#icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_heading { 10172 font-size: 10px; 10173 font-weight: 600; 10174 margin: 0; 10175} 10176#icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_subtext { 10177 font-size: 10px; 10178 font-weight: 300; 10179 margin: 0; 10180} 10181 10182#icon_videopopup_overlay_322videopopup_mobile { 10183 position: fixed; inset: 0; display: none; 10184 justify-content: center; align-items: center; 10185 background: rgba(15,15,15,0.35); 10186 backdrop-filter: blur(18px) saturate(140%); 10187 -webkit-backdrop-filter: blur(18px) saturate(140%); 10188 border: 1px solid rgba(255,255,255,0.15); 10189 background-image: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.45)); 10190 z-index: 2147483647; padding: 20px; overflow-y: auto; 10191 transition: all 0.3s ease-in-out; 10192} 10193#icon_videopopup_overlay_322videopopup_mobile.show { display: flex; } 10194 10195#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_modal { 10196 padding: 0; border-radius: 10px; max-width: 65vw; 10197 width: 80%; max-height: 85vh; overflow: hidden; 10198 background: transparent; position: relative; 10199} 10200#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_close { 10201 position: absolute; top: 5px; right: 10px; font-size: 28px; 10202 color: #fff; background: transparent; border: none; 10203 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 10204} 10205#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_close:hover { transform: scale(1.1); } 10206 10207/* Video Container */ 10208#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_videocontainer { 10209 position: relative; width: 100%; 10210 display: flex; justify-content: center; align-items: center; 10211 background: #000; 10212} 10213#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_video { 10214 width: 100%; height: auto; max-height: 85vh; object-fit: contain; 10215} 10216 10217/* Play & Pause Button wrappers */ 10218#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_play, 10219#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_pause { 10220 position: absolute; border: none; background: transparent; cursor: pointer; display: flex; 10221 justify-content: center; align-items: center; z-index: 10; transition: all 0.25s ease; 10222 padding: 0; 10223} 10224 10225/* Center play button */ 10226#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_play { 10227 top: 50%; left: 50%; transform: translate(-50%, -50%); 10228 width: 60px; height: 60px; border-radius: 50%; 10229} 10230 10231/* Pause small floating control */ 10232#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_pause { 10233 bottom: 20px; right: 20px; 10234 width: 45px; height: 55px; border-radius: 50%; 10235 display: none; 10236} 10237 10238/* SVG visuals */ 10239#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_svg_play, 10240#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_svg_pause { 10241 width: 100%; height: 100%; display: block; pointer-events: none; 10242 border-radius: 50%; 10243 filter: none; 10244 transition: transform 0.2s ease; 10245} 10246#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_play:hover .icon_videopopup_svg_play, 10247#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_pause:hover .icon_videopopup_svg_pause { 10248 transform: scale(1.06); 10249} 10250 10251/* Audio Indicator */ 10252#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_audioindicator { 10253 position: absolute; bottom: 20px; left: 20px; 10254 background: rgba(0, 0, 0, 0.7); color: #fff; 10255 padding: 8px 12px; border-radius: 20px; 10256 font-size: 14px; display: none; z-index: 10; 10257 transition: all 0.3s ease; 10258} 10259#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_audioindicator.show { display: block; } 10260#icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_audioindicator.hidden { display: none; } 10261 10262/* Responsive */ 10263@media (max-width: 768px) { 10264 #icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_modal { 10265 width: 100%; max-width: 100%; 10266 } 10267 #icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_play { 10268 width: 50px; height: 50px; 10269 } 10270 #icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_play .icon_videopopup_svg_play { transform-origin: center; } 10271 #icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_pause { 10272 width: 40px; height: 40px; bottom: 15px; right: 15px; 10273 } 10274 #icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_audioindicator { 10275 font-size: 12px; padding: 6px 10px; bottom: 15px; left: 15px; 10276 } 10277 #icon_videopopup_overlay_322videopopup_mobile .icon_videopopup_close { 10278 position: absolute; top: -17px !important; right: -19px !important; font-size: 20px !important; 10279 color: #fff; background: transparent; border: none; 10280 cursor: pointer; z-index: 20; transition: transform 0.2s ease; 10281 } 10282 #icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_inline { 10283 display: flex; align-items: center; gap: 5px !important; 10284 } 10285} 10286 10287/* Heading and subtext inline in mobile */ 10288@media (max-width: 768px) { 10289 #icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_trigger .icon_videopopup_textblock { 10290 display: flex !important; 10291 flex-direction: row !important;
10292 align-items: center !important; 10293 gap: 0px !important; 10294 } 10295 10296 #icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_heading, 10297 #icon_videopopup_wrapper_322videopopup_mobile .icon_videopopup_subtext { 10298 display: inline !important; 10299 margin: 0 !important; 10300 white-space: nowrap !important; 10301 } 10302} 10303</style>
10303<script> 10304(function() { 10305 try { 10306 var toggle = document.getElementById('icon_videopopup_toggle_322videopopup_mobile'); 10307 var template = document.getElementById('icon_videopopup_template_322videopopup_mobile'); 10308 if (!toggle || !template) return; 10309 10310 var isInitialized = false; 10311 var overlay, closeBtn, video, videoSource, playBtn, pauseBtn, audioIndicator; 10312 10313 function initPopup() { 10314 if (isInitialized) return; 10315 10316 // Clone template into DOM on demand 10317 var popupClone = template.content.cloneNode(true); 10318 document.body.appendChild(popupClone); 10319 10320 overlay = document.getElementById('icon_videopopup_overlay_322videopopup_mobile'); 10321 closeBtn = document.getElementById('icon_videopopup_close_322videopopup_mobile'); 10322 video = document.getElementById('icon_videopopup_video_322videopopup_mobile'); 10323 videoSource = document.getElementById('icon_videopopup_source_322videopopup_mobile'); 10324 playBtn = document.getElementById('icon_videopopup_play_322videopopup_mobile'); 10325 pauseBtn = document.getElementById('icon_videopopup_pause_322videopopup_mobile'); 10326 audioIndicator = document.getElementById('icon_videopopup_audioindicator_322videopopup_mobile'); 10327 10328 // Set video source lazily upon first interaction 10329 var isMobile = window.innerWidth <= 768; 10330 var mobileSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/b49a5e67-8c70-4638-bd04-1cc7c19678bf/1080p-vs-Standard-Video-Comparison.mp4".trim(); 10331 var desktopSrc = "https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/b49a5e67-8c70-4638-bd04-1cc7c19678bf/1080p-vs-Standard-Video-Comparison.mp4".trim(); 10332 10333 videoSource.src = (isMobile && mobileSrc && mobileSrc !== 'https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://asset.nextbase.com/asset/b49a5e67-8c70-4638-bd04-1cc7c19678bf/1080p-vs-Standard-Video-Comparison.mp4') ? mobileSrc : desktopSrc; 10334 video.load(); 10335 10336 // Attach control event listeners 10337 closeBtn.addEventListener('click', closePopup); 10338 overlay.addEventListener('click', function(e) { if (e.target === overlay) closePopup(); }); 10339 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && toggle.checked) closePopup(); }); 10340 10341 if (playBtn) playBtn.addEventListener('click', function() { 10342 if (video) { 10343 video.play(); 10344 video.muted = false; 10345 } 10346 playBtn.style.display = 'none'; 10347 if (pauseBtn) pauseBtn.style.display = 'flex'; 10348 }); 10349 10350 if (pauseBtn) pauseBtn.addEventListener('click', function() { 10351 if (video) video.pause(); 10352 if (playBtn) playBtn.style.display = 'flex'; 10353 pauseBtn.style.display = 'none'; 10354 }); 10355 10356 if (video) { 10357 video.addEventListener('click', enableAudio); 10358 video.addEventListener('play', function() { 10359 if (playBtn) playBtn.style.display = 'none'; 10360 if (pauseBtn) pauseBtn.style.display = 'flex'; 10361 }); 10362 10363 video.addEventListener('ended', function() { 10364 if (pauseBtn) pauseBtn.style.display = 'none'; 10365 if (playBtn) playBtn.style.display = 'flex'; 10366 }); 10367 } 10368 10369 isInitialized = true; 10370 } 10371 10372 function openPopup() { 10373 // Lazy initialize the DOM structure and video load on click 10374 initPopup(); 10375 10376 overlay.classList.add('show'); 10377 document.body.classList.add('icon_videopopup_open'); 10378 document.body.dataset.scrollY = window.scrollY; 10379 10380 var autoplayMuted = "" === 'true'; 10381 if (autoplayMuted) { 10382 video.muted = true; 10383 if (audioIndicator) audioIndicator.style.display = 'block'; 10384 } else { 10385 video.muted = false; 10386 if (audioIndicator) audioIndicator.style.display = 'none'; 10387 } 10388 10389 video.play().then(function() { 10390 if (playBtn) playBtn.style.display = 'none'; 10391 if (pauseBtn) pauseBtn.style.display = 'flex'; 10392 }).catch(function(error) { 10393 console.log('Autoplay failed:', error); 10394 if (playBtn) playBtn.style.display = 'flex'; 10395 if (pauseBtn) pauseBtn.style.display = 'none'; 10396 }); 10397 } 10398 10399 function closePopup() { 10400 if (!overlay) return; 10401 overlay.classList.remove('show');
10402 document.body.classList.remove('icon_videopopup_open'); 10403 toggle.checked = false; 10404 if (video) { 10405 video.pause(); 10406 video.currentTime = 0; 10407 } 10408 if (playBtn) playBtn.style.display = 'flex'; 10409 if (pauseBtn) pauseBtn.style.display = 'none'; 10410 if (document.body.dataset.scrollY) { 10411 window.scrollTo(0, parseInt(document.body.dataset.scrollY)); 10412 } 10413 } 10414 10415 function enableAudio() { 10416 if (video && video.muted) { 10417 video.muted = false; 10418 if (audioIndicator) audioIndicator.style.display = 'none'; 10419 } 10420 } 10421 10422 toggle.addEventListener('change', function() { 10423 toggle.checked ? openPopup() : closePopup(); 10424 }); 10425 10426 } catch(e) { 10427 console.error('Icon Video Popup initialization failed:', e); 10428 } 10429})(); 10430</script>
10430 </div> </div> </div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-4"></div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-4"><div id="s-1138a1f7-6d82-495c-9a9c-ba364efa5fd8-root" class="shg-c shg-btn-wrapper nb_fs_txt_md hc:nb_fw_400 cm_nb_th_plp_sg_action_button shg-align-left"> <a id="s-1138a1f7-6d82-495c-9a9c-ba364efa5fd8" class="shg-btn shg-cse shg-btn-text " href="/exclusive-offers/322gw-dash-cam-pro-package/"> View Details </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mt_56 nbs_mb_70 shogun-lazyload shogun-lazyload-bg-image" id="s-21bbd967-f61b-45c6-8895-75acedff8348"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-fw"> <div class="shg-c " id="s-fa1bed9e-9405-4423-859d-a901d9ee477c"> <div class="shg-row" data-col-grid-mode-on="true"> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pr_70 nbs_pl_70 nbs_pt_42 nbs_pb_42 nbs_pt_mob_42 " id="s-77a0db6c-eaca-4cf0-bfc0-39b1605da94e"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pb_21 " id="s-fa6c2640-94c1-4f8c-b2b2-6b17db6aab6e"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-ae324eac-2261-4ecf-98a4-caff6022dbdb" class="shg-c nb_c_secondarydarkest hc:nb_fw_600 nbs_pb_std shg-align-left"> <div class="shogun-heading-component"> <h5> Build your own bundle and save </h5> </div> </div> <div id="s-0db20155-6246-418d-8a24-6888e078e5c9" class="shg-c nb_fs_txt_md md:nb_text_center nbs_pb_std "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>We understand that small details make a big difference, which is why we offer total flexibility. Whether you're a taxi driver or a busy parent, you can choose the add-ons that work best for you and your car. </p></div> </div> <div id="s-c99bccab-4fe3-46a9-980a-b2347a0e29d7" class="shg-c nb_c_secondarydarkest hc:nb_fw_700 nb_text_left md:nb_text_center "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Choose a Dash Cam combo to enhance your daily drive or build your own</p></div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c button_width " id="s-cd037a03-d24e-4a85-b7cc-e0ec094bf504"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-d03aacb5-21e1-49df-a4fe-14a11cde0b91" class="shg-c shg-align-left"> <a href="/dash-cams/build-own-bundle/" class="iconbutton"> <div class="icontextbutton nb_fs_txt_std nb_fs_txt_mob_12 "> <img src="https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/original/image-manager/bundle-icon.png" alt="Icon"/> <p>Start Building</p> </div> </a> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_42 " id="s-81e0457c-3b1a-45ce-ba1a-3319420f24c9"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-44269b39-cc9e-4724-8c62-209559de0f74" class="shg-c shg-align-left"> <style> 10431 .cm-nb-sg-image-wrapper { 10432 display: flex; 10433 justify-content: center; 10434 align-items: center; 10435 position: relative; 10436 min-height: 400px; 10437 overflow: hidden; 10438 } 10439 10440 .cm-nb-sg-image-wrapper img { 10441 position: absolute; 10442 top: 0; 10443 max-width: 600px; 10444 height: auto; 10445 opacity: 1; 10446 clip-path: circle(0% at 50% 50%); 10447 transition: clip-path 0.4s cubic-bezier(0.4, 0, 0.2, 1), 10448 opacity 0.4s ease-out; 10449 mix-blend-mode: normal; 10450 isolation: isolate; 10451 } 10452 10453 .cm-nb-sg-image-wrapper img.cm-nb-sg-loaded { 10454 clip-path: circle(70.7% at 50% 50%); 10455 opacity: 1; 10456 } 10457 10458 .cm-nb-sg-image-wrapper img.cm-nb-sg-fade-out { 10459 opacity: 0 !important; 10460 transition: opacity 0.6s ease-out !important; 10461 } 10462 10463 .cm-nb-sg-image-wrapper img:nth-child(1) { 10464 z-index: 1; 10465 clip-path: none !important; 10466 opacity: 0; 10467 transition: opacity 0.6s ease-out; 10468 } 10469 10470 .cm-nb-sg-image-wrapper img:nth-child(1).cm-nb-sg-loaded { 10471 opacity: 1; 10472 } 10473 10474 .cm-nb-sg-image-wrapper img:nth-child(1).cm-nb-sg-fade-out { 10475 opacity: 0; 10476 } 10477 10478 .cm-nb-sg-image-wrapper img:nth-child(2) { 10479 z-index: 2; 10480 } 10481 10482 .cm-nb-sg-image-wrapper img:nth-child(3) { 10483 z-index: 3; 10484 } 10485 10486 .cm-nb-sg-image-wrapper img:nth-child(4) { 10487 z-index: 4; 10488 } 10489 10490 .cm-nb-sg-image-wrapper img:nth-child(5) { 10491 z-index: 5; 10492 } 10493 10494 @media (max-width: 768px) { 10495 .cm-nb-sg-image-wrapper { 10496 min-height: 300px !important; 10497 10498} 10499 .cm-nb-sg-image-wrapper img { 10500 max-width: 330px !important; 10501 } 10502 } 10503 </style> <section class="cm-nb-sg-bundle-section"> <div class="cm-nb-sg-container"> <div class="cm-nb-sg-image-wrapper"> <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/bundleimage1.png" alt="Dash Cam Main Unit" class="cm-nb-sg-product-image"/> <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/bundleimage2.png" alt="Memory Card" class="cm-nb-sg-product-image"/> <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/bundleimage3.png" alt="Rear Camera" class="cm-nb-sg-product-image"/> <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/bundleimage4.png" alt="Mounting Bracket" class="cm-nb-sg-product-image"/> <img src="https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/bundleimage5.png" alt="Cable" class="cm-nb-sg-product-image"/> </div> </div> </section>
10503<script> 10504 // Sequential image loading animation with infinite loop 10505 document.addEventListener("DOMContentLoaded", function () { 10506 const images = document.querySelectorAll(".cm-nb-sg-image-wrapper img"); 10507 let currentIndex = 0; 10508 let isFirstRun = true; 10509 10510 function resetAnimation() { 10511 // Wait 2 seconds before starting fade out 10512 setTimeout(() => { 10513 // First, lock the clip-path and disable its transition 10514 images.forEach((img, index) => { 10515 const currentClipPath = window.getComputedStyle(img).clipPath; 10516 10517 // Disable clip-path transition and lock current value 10518 img.style.transition = "opacity 0.6s ease-out"; 10519 if (currentClipPath !== "none") { 10520 img.style.clipPath = currentClipPath; 10521 } 10522 10523 // Force browser to apply the transition change 10524 void img.offsetWidth; 10525 10526 // Remove loaded class (won't affect clip-path now) 10527 img.classList.remove("cm-nb-sg-loaded"); 10528 10529 // Add fade-out class for opacity transition 10530 img.classList.add("cm-nb-sg-fade-out"); 10531 }); 10532 10533 // Wait for fade out to complete (600ms), then reset 10534 setTimeout(() => { 10535 images.forEach((img, index) => { 10536 img.classList.remove("cm-nb-sg-fade-out"); 10537 10538 // Set clip-path to starting position WITHOUT transition 10539 img.style.transition = "none"; 10540 if (index === 0) { 10541 img.style.clipPath = "none"; 10542 } else { 10543 img.style.clipPath = "circle(0% at 50% 50%)"; 10544 } 10545 10546 // Force reflow 10547 void img.offsetWidth; 10548 10549 // Re-enable transitions 10550 img.style.transition = ""; 10551 }); 10552 currentIndex = 0; 10553 isFirstRun = false; 10554 // Start the animation again 10555 setTimeout(loadNextImage, 100); 10556 }, 600); 10557 }, 1000); 10558 } 10559 10560 function loadNextImage() { 10561 if (currentIndex < images.length) { 10562 const img = images[currentIndex]; 10563 10564 // If image is already loaded (cached) or not first run, show it immediately 10565 if (img.complete || !isFirstRun) { 10566 // Remove inline clip-path so CSS can take over 10567 img.style.clipPath = ""; 10568 10569 // Add loaded class to trigger animation 10570 img.classList.add("cm-nb-sg-loaded"); 10571 10572 currentIndex++; 10573 // Small delay before showing next image for visual effect 10574 setTimeout(loadNextImage, 500); 10575 } else { 10576 // Wait for image to load (only on first run) 10577 img.addEventListener("load", function () { 10578 // Remove inline clip-path so CSS can take over 10579 img.style.clipPath = ""; 10580 10581 img.classList.add("cm-nb-sg-loaded"); 10582 currentIndex++; 10583 // Small delay before showing next image for visual effect 10584 setTimeout(loadNextImage, 1000); 10585 }); 10586 10587 // Handle error case 10588 img.addEventListener("error", function () { 10589 currentIndex++; 10590 loadNextImage(); 10591 }); 10592 } 10593 } else { 10594 // All images shown, restart the animation 10595 resetAnimation(); 10596 } 10597 } 10598 10599 // Start loading sequence 10600 loadNextImage(); 10601 }); 10602 </script>
10602 </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_70 shogun-lazyload" id="s-2ca314cf-c74f-4824-8a60-5e4eabb80aee"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_56 " id="s-286032cd-8bb1-44bd-bf6a-55906584b8d0"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-18bf238d-19a2-4cfd-a760-8c1ac23104a0" class="shg-c hc:nb_fw_600 nb_text_center nb_c_secondarydarkest shg-align-left"> <div class="shogun-heading-component"> <h5> Professional Installation </h5> </div> </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-e4a367ac-739d-41b7-9074-3df2360e821b"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-b1788da8-0654-47fd-aea0-99dd0a3bbb47"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div id="s-c77640f8-56ff-4a97-877c-4bfa3f426b59-root"> <div class="shg-image-margin-container-s-c77640f8-56ff-4a97-877c-4bfa3f426b59" id="wrap-s-c77640f8-56ff-4a97-877c-4bfa3f426b59"> <div class="s-c77640f8-56ff-4a97-877c-4bfa3f426b59 shg-align-container"> <div class="shg-c s-c77640f8-56ff-4a97-877c-4bfa3f426b59 shogun-image-container shg-align-center" id="s-c77640f8-56ff-4a97-877c-4bfa3f426b59"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img srcset="https://i.shgcdn.com/6f865b26-feaf-4241-aba4-5dbe436935d1/-/format/auto/-/quality/best/-/resize/180x/ 180w,https://i.shgcdn.com/6f865b26-feaf-4241-aba4-5dbe436935d1/-/format/auto/-/quality/best/-/resize/360x/ 360w,https://i.shgcdn.com/6f865b26-feaf-4241-aba4-5dbe436935d1/-/format/auto/-/quality/best/-/resize/720x/ 720w,https://i.shgcdn.com/6f865b26-feaf-4241-aba4-5dbe436935d1/-/format/auto/-/quality/best/-/resize/900x/ 900w,https://i.shgcdn.com/6f865b26-feaf-4241-aba4-5dbe436935d1/-/format/auto/-/quality/best/-/resize/1080x/ 1080w" sizes="100vw" src="https://i.shgcdn.com/6f865b26-feaf-4241-aba4-5dbe436935d1/-/format/auto/-/quality/best/" alt="Man installing equipment inside a car." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> </div> </div> </div> </div> </div>
10602<script class="__SHG_DATA__" type="application/json"> 10603 { 10604 "__shgImageV3Elements": { "uuid": "s-c77640f8-56ff-4a97-877c-4bfa3f426b59" } 10605 } 10606 </script>
10606 </div> <div class="shg-c-lg-6 shg-c-md-6 shg-c-sm-6 shg-c-xs-12"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pr_70 nbs_pl_70 nbs_pt_42 nbs_pb_42 " id="s-bf6c7d02-8361-4d82-a900-8facdea55a8c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-75d4091f-195b-4a2c-8685-5816b9688b96"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-6d7977d7-d170-42c0-95c9-e0c8216dd098" class="shg-c nb_c_secondarydarkest hc:nb_fw_600 nbs_pb_lg shg-align-left"> <div class="shogun-heading-component"> <h6> Get your Dash Cam professionally installed when it works for you </h6> </div> </div> <div id="s-1bc3a0c8-daf5-4bd4-ad40-bd871f7224f9" class="shg-c "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Your new Nextbase Dash Cam installed at a time and certified garage of your choice (Hardwire Kit included)</p> <p> </p></div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c button_width " id="s-5a3cf7e8-d693-4f17-bf2e-07af9862a767"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-8f45a894-1e2a-45b2-9c5a-c5bb615277cc-root" class="shg-c shg-btn-wrapper hc:nb_fw_300 nb_mt_10 nb_fs_txt_std shg-align-left"> <a id="s-8f45a894-1e2a-45b2-9c5a-c5bb615277cc" class="shg-btn shg-cse shg-btn-text " href="/accessories/professional-installation/" target="_blank"> Explore the Benefit </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c shogun-lazyload" id="s-40c67e0a-4193-4d58-82c1-f03aa51846ac"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-1fec322d-6f56-4c0c-a25f-b4ffaafce338-root"> <div class="shg-image-margin-container-s-1fec322d-6f56-4c0c-a25f-b4ffaafce338" id="wrap-s-1fec322d-6f56-4c0c-a25f-b4ffaafce338"> <div class="s-1fec322d-6f56-4c0c-a25f-b4ffaafce338 shg-align-container"> <div class="shg-c s-1fec322d-6f56-4c0c-a25f-b4ffaafce338 shogun-image-container shg-align-center" id="s-1fec322d-6f56-4c0c-a25f-b4ffaafce338"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/272c2cc0-8dce-4cc7-bc16-30dac02bd0bf/-/format/auto/-/quality/best/" alt="Car driving along a winding road with scenic views." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mt_56 " id="s-7b039b8f-ff0b-4af0-919c-27e805770f1e"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-da1b5849-6e4f-4b02-a5dd-1a93b848c201" class="shg-c nbs_mb_lg nb_fs_txt_sm nb_text_center nb_c_secondarylight "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);">Buy from the people who make it</p></div> </div> <div id="s-7df0d6cb-16eb-4885-ac08-6574a0d4e4eb" class="shg-c nb_c_secondarylight hc:nb_fw_600 nb_text_center shg-align-left"> <div class="shogun-heading-component"> <h5> Drivers get more value when they buy direct from Nextbase </h5> </div> </div> </div> </div> </div> <div class="shg-c " id="s-45cd5ac2-5197-4987-b9a0-2d0a507921bb"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_40 nbs_pb_40 " id="s-0396ab65-e186-4bb3-b61f-7f038087fd56"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-8e983c34-0cb7-4e18-970b-16426a31907c-root"> <div class="shg-image-margin-container-s-8e983c34-0cb7-4e18-970b-16426a31907c" id="wrap-s-8e983c34-0cb7-4e18-970b-16426a31907c"> <div class="s-8e983c34-0cb7-4e18-970b-16426a31907c shg-align-container"> <div class="shg-c s-8e983c34-0cb7-4e18-970b-16426a31907c shogun-image-container shg-align-center" id="s-8e983c34-0cb7-4e18-970b-16426a31907c"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/610b482c-7942-42b5-b397-61d87285a816/-/format/auto/-/quality/best/" alt="Hand holding a package with a tag." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> </div> </div> </div> </div> </div>
10606<script class="__SHG_DATA__" type="application/json"> 10607 { 10608 "__shgImageV3Elements": { "uuid": "s-8e983c34-0cb7-4e18-970b-16426a31907c" } 10609 } 10610 </script>
10610 <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-8d7c9bec-486c-42e2-a5f9-916bd3a413b1"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-1e115c3d-7d8f-414c-b553-a561d7150342" class="shg-c nb_fs_txt_std nbs_mb_2 nb_fs_txt_lg nb_text_center nb_c_secondarylight hc:nb_fw_600 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Fast US Shipping</p></div> </div> <div id="s-b3214001-d4e5-469f-b4b7-a1c38214127e" class="shg-c nb_fs_txt_std nbs_mb_lg nb_c_secondarylight nb_text_center hc:nb_fw_500 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Delivered in 2–3 business days</p></div> </div> <div id="s-6f20fe33-a181-41af-a09c-db79a6533470" class="shg-c hc:nb_fw_300 nb_c_secondarylight nb_text_center nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Free delivery on all Dash Cam orders</p></div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_40 nbs_pb_40 " id="s-e63b14c1-13d1-4cd8-af45-fba26bb723f5"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-5d2caf93-ce53-4d22-8228-141f48f78e44-root"> <div class="shg-image-margin-container-s-5d2caf93-ce53-4d22-8228-141f48f78e44" id="wrap-s-5d2caf93-ce53-4d22-8228-141f48f78e44"> <div class="s-5d2caf93-ce53-4d22-8228-141f48f78e44 shg-align-container"> <div class="shg-c s-5d2caf93-ce53-4d22-8228-141f48f78e44 shogun-image-container shg-align-center" id="s-5d2caf93-ce53-4d22-8228-141f48f78e44"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/635829b9-b785-40bb-9ef5-a029aaa3efff/-/format/auto/-/quality/best/" alt="White outline of a cube with a plus sign beside it on a black background." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> </div> </div> </div> </div> </div>
10610<script class="__SHG_DATA__" type="application/json"> 10611 { 10612 "__shgImageV3Elements": { "uuid": "s-5d2caf93-ce53-4d22-8228-141f48f78e44" } 10613 } 10614 </script>
10614 <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-71f7bb2b-5f59-4df0-9cef-7fd7bddda81e"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-e6954989-8576-42d6-970d-5757f899c574" class="shg-c nb_fs_txt_std nbs_mb_2 nb_fs_txt_lg nb_text_center nb_c_secondarylight hc:nb_fw_600 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Build Your Bundle</p></div> </div> <div id="s-121e82a9-e406-4113-858d-a3292351dff4" class="shg-c nb_fs_txt_std nbs_mb_lg nb_c_secondarylight nb_text_center hc:nb_fw_500 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Save up to 5%</p></div> </div> <div id="s-fb4d3d36-a671-4371-b16f-feac0d7a5831" class="shg-c hc:nb_fw_300 nb_c_secondarylight nb_text_center nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Cameras and add-ons, choose the package that suits you best</p></div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_40 nbs_pb_40 " id="s-d069cbe2-db8a-4d8f-a6bb-882a423c552d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-f87cb689-c91c-422d-9f53-79d33a29303d-root"> <div class="shg-image-margin-container-s-f87cb689-c91c-422d-9f53-79d33a29303d" id="wrap-s-f87cb689-c91c-422d-9f53-79d33a29303d"> <div class="s-f87cb689-c91c-422d-9f53-79d33a29303d shg-align-container"> <div class="shg-c s-f87cb689-c91c-422d-9f53-79d33a29303d shogun-image-container shg-align-center" id="s-f87cb689-c91c-422d-9f53-79d33a29303d"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/319c26f1-d342-4fab-af17-b12113c2431d/-/format/auto/-/quality/best/" alt="White wrench and screwdriver icon on a black background." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> </div> </div> </div> </div> </div>
10614<script class="__SHG_DATA__" type="application/json"> 10615 { 10616 "__shgImageV3Elements": { "uuid": "s-f87cb689-c91c-422d-9f53-79d33a29303d" } 10617 } 10618 </script>
10618 <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-7764a088-7311-47cf-bd25-78b8af11e544"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-a85fb3f2-f617-46e0-ba4f-fc719ebb1393" class="shg-c nbs_mb_2 nb_fs_txt_lg nb_text_center nb_c_secondarylight hc:nb_fw_600 nb_fs_txt_std "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Pro Installation, Zero Hassle</p></div> </div> <div id="s-fe085140-7e56-41bd-8db9-5449012b32fd" class="shg-c nb_fs_txt_std nbs_mb_lg nb_c_secondarylight nb_text_center hc:nb_fw_400 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Where you choose</p></div> </div> <div id="s-e92654c7-a7b8-4a8f-b8d6-26ee2515a9f1" class="shg-c hc:nb_fw_300 nb_c_secondarylight nb_text_center nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Hardwired by Nextbase-approved engineers nationwide</p></div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_40 nbs_pb_40 " id="s-fccb6e24-c317-486b-8a30-d07a8d73321d"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-9a6252e0-48bd-4ef4-8cce-09d8092c7f18-root"> <div class="shg-image-margin-container-s-9a6252e0-48bd-4ef4-8cce-09d8092c7f18" id="wrap-s-9a6252e0-48bd-4ef4-8cce-09d8092c7f18"> <div class="s-9a6252e0-48bd-4ef4-8cce-09d8092c7f18 shg-align-container"> <div class="shg-c s-9a6252e0-48bd-4ef4-8cce-09d8092c7f18 shogun-image-container shg-align-center" id="s-9a6252e0-48bd-4ef4-8cce-09d8092c7f18"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/c027a138-ef32-45d1-a1fe-d8273533274d/-/format/auto/-/quality/best/" alt="Icon of a calendar with a dollar sign." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> </div> </div> </div> </div> </div>
10618<script class="__SHG_DATA__" type="application/json"> 10619 { 10620 "__shgImageV3Elements": { "uuid": "s-9a6252e0-48bd-4ef4-8cce-09d8092c7f18" } 10621 } 10622 </script>
10622 <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-60dbe0d1-ad54-42f8-8f79-2c51b64a2906"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-c9a5a6b9-9e99-43a4-93c9-3efd19ca822e" class="shg-c nb_fs_txt_std nbs_mb_2 nb_fs_txt_lg nb_text_center nb_c_secondarylight hc:nb_fw_600 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Spread the Cost</p></div> </div> <div id="s-5fc10d9f-d46b-4040-892a-71b7c8d62419" class="shg-c nb_fs_txt_std nbs_mb_lg nb_c_secondarylight nb_text_center hc:nb_fw_400 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>4 or 6 payments</p></div> </div> <div id="s-75cbe48f-9546-47c2-96d8-409762bbc47d" class="shg-c hc:nb_fw_300 nb_c_secondarylight nb_text_center nb_fs_txt_md "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Pay your way with Affirm or Nextbase Pay</p></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-image-content-margin-container-s-1fec322d-6f56-4c0c-a25f-b4ffaafce338" id="wrap-content-s-1fec322d-6f56-4c0c-a25f-b4ffaafce338"> <div class="s-1fec322d-6f56-4c0c-a25f-b4ffaafce338 shg-image-content-wrapper"> </div> </div> </div>
10622<script class="__SHG_DATA__" type="application/json"> 10623 { 10624 "__shgImageV3Elements": { "uuid": "s-1fec322d-6f56-4c0c-a25f-b4ffaafce338" } 10625 } 10626 </script>
10626 <div id="s-614efd1d-4faa-49cd-9163-2fb65bfcd979-root"> <div class="shg-image-margin-container-s-614efd1d-4faa-49cd-9163-2fb65bfcd979" id="wrap-s-614efd1d-4faa-49cd-9163-2fb65bfcd979"> <div class="s-614efd1d-4faa-49cd-9163-2fb65bfcd979 shg-align-container"> <div class="shg-c s-614efd1d-4faa-49cd-9163-2fb65bfcd979 shogun-image-container shg-align-center" id="s-614efd1d-4faa-49cd-9163-2fb65bfcd979"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/c5c996d9-795c-47d5-b686-1041111e440f/-/format/auto/-/quality/best/" alt="Car driving along a winding road " class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_mob_60 nbs_pb_mob_80 " id="s-7af74611-2ebf-4ec3-b119-d162a20eaa4f"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-278b5280-8284-47f4-84fb-132244101c70" class="shg-c nbs_mb_mob_2 nb_fs_txt_md nb_text_center nb_c_secondarylight "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="font-size: calc(12px * var(--proportional-font-size) / 100);">Buy from the people who make it</p></div> </div> <div id="s-fe7b84bb-3167-4671-8952-270870abe610" class="shg-c nb_c_secondarylight hc:nb_fw_600 nb_text_center shg-align-left"> <div class="shogun-heading-component"> <h3> Drivers get more value when they buy direct from Nextbase </h3> </div> </div> <div class="shg-c " id="s-004f3ce2-4a40-47dd-bc80-3943d8d451a1"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-f6e65324-6d5d-4047-a612-86f0b7148554"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-64fb6f99-e7fa-4f4c-ba92-4798bf3d9c5c-root"> <div class="shg-image-margin-container-s-64fb6f99-e7fa-4f4c-ba92-4798bf3d9c5c" id="wrap-s-64fb6f99-e7fa-4f4c-ba92-4798bf3d9c5c"> <div class="s-64fb6f99-e7fa-4f4c-ba92-4798bf3d9c5c shg-align-container"> <div class="shg-c s-64fb6f99-e7fa-4f4c-ba92-4798bf3d9c5c shogun-image-container nbs_mb_sm shg-align-center" id="s-64fb6f99-e7fa-4f4c-ba92-4798bf3d9c5c"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/610b482c-7942-42b5-b397-61d87285a816/-/format/auto/-/quality/best/" alt="Hand holding a package with a tag." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> </div> </div> </div> </div> </div>
10626<script class="__SHG_DATA__" type="application/json"> 10627 { 10628 "__shgImageV3Elements": { "uuid": "s-64fb6f99-e7fa-4f4c-ba92-4798bf3d9c5c" } 10629 } 10630 </script>
10630 <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-fb62f56c-f776-4270-af60-a5841045ae8e"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-71f1b90b-2cb8-4aaa-84e8-f7506321f0ea" class="shg-c nbs_mb_mob_2 nb_text_center nb_c_secondarylight hc:nb_fw_600 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Fast US Shipping</p></div> </div> <div id="s-d0e343dd-5583-459e-a85e-f768154736c0" class="shg-c nbs_mb_mob_20 nb_fs_txt_md nb_c_secondarylight nb_text_center hc:nb_fw_400 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Delivered in 2–3 business days</p></div> </div> <div id="s-16596f3b-0c69-48a7-8cfe-63f7b60bcf1e" class="shg-c nb_fs_txt_md hc:nb_fw_300 nb_c_secondarylight nb_text_center "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Free delivery on all Dash Cam orders</p></div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-12916a06-7126-4cd0-adf3-7e5fe5ee16c6"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-fdf8bd4e-eb18-4cd1-95ee-89cbb6a11e16-root"> <div class="shg-image-margin-container-s-fdf8bd4e-eb18-4cd1-95ee-89cbb6a11e16" id="wrap-s-fdf8bd4e-eb18-4cd1-95ee-89cbb6a11e16"> <div class="s-fdf8bd4e-eb18-4cd1-95ee-89cbb6a11e16 shg-align-container"> <div class="shg-c s-fdf8bd4e-eb18-4cd1-95ee-89cbb6a11e16 shogun-image-container nbs_mb_sm shg-align-center" id="s-fdf8bd4e-eb18-4cd1-95ee-89cbb6a11e16"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/635829b9-b785-40bb-9ef5-a029aaa3efff/-/format/auto/-/quality/best/" alt="White outline of a cube with a plus sign beside it on a black background." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> </div> </div> </div> </div> </div>
10630<script class="__SHG_DATA__" type="application/json"> 10631 { 10632 "__shgImageV3Elements": { "uuid": "s-fdf8bd4e-eb18-4cd1-95ee-89cbb6a11e16" } 10633 } 10634 </script>
10634 <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-65acdaf9-f512-4916-8465-b9c189ea9319"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-38cb720f-7d50-499f-bc29-908769e0f295" class="shg-c nbs_mb_mob_2 nb_text_center nb_c_secondarylight hc:nb_fw_600 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Build Your Bundle</p></div> </div> <div id="s-c9505655-764b-493e-b6c2-b0a40d78b834" class="shg-c nbs_mb_mob_20 nb_fs_txt_md nb_c_secondarylight nb_text_center hc:nb_fw_400 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Save up to 5%</p></div> </div> <div id="s-37756b42-9384-4c8d-b3ab-2820fd59559b" class="shg-c nb_fs_txt_md hc:nb_fw_300 nb_c_secondarylight nb_text_center "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Cameras and add-ons, choose the package that suits you best</p></div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-d5bbe2ec-364b-4b31-9f60-b66c5ab2de27"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-f4ed13dd-2220-4461-88de-4c3f91d8f18f-root"> <div class="shg-image-margin-container-s-f4ed13dd-2220-4461-88de-4c3f91d8f18f" id="wrap-s-f4ed13dd-2220-4461-88de-4c3f91d8f18f"> <div class="s-f4ed13dd-2220-4461-88de-4c3f91d8f18f shg-align-container"> <div class="shg-c s-f4ed13dd-2220-4461-88de-4c3f91d8f18f shogun-image-container nbs_mb_sm shg-align-center" id="s-f4ed13dd-2220-4461-88de-4c3f91d8f18f"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/319c26f1-d342-4fab-af17-b12113c2431d/-/format/auto/-/quality/best/" alt="White wrench and screwdriver icon on a black background." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> </div> </div> </div> </div> </div>
10634<script class="__SHG_DATA__" type="application/json"> 10635 { 10636 "__shgImageV3Elements": { "uuid": "s-f4ed13dd-2220-4461-88de-4c3f91d8f18f" } 10637 } 10638 </script>
10638 <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-c4482a21-4c45-4de4-b740-8fa6528a07ca"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-4801e89a-ccbe-4d9e-a299-1664fa77b90f" class="shg-c nbs_mb_mob_2 nb_text_center nb_c_secondarylight hc:nb_fw_600 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Pro Installation</p></div> </div> <div id="s-b2522dbf-ae8d-4fa8-a4d0-e1aa2e8e5594" class="shg-c nbs_mb_mob_20 nb_fs_txt_md nb_c_secondarylight nb_text_center hc:nb_fw_400 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Where you choose</p></div> </div> <div id="s-fcfa9d32-3cd3-4da9-ac14-897759b28e69" class="shg-c nb_fs_txt_md hc:nb_fw_300 nb_c_secondarylight nb_text_center "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Hardwired by Nextbase-approved engineers nationwide</p></div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-3e1ce9c8-e58d-44c9-8158-640f59241738"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-89edacb0-5403-4598-9ef1-e0be60c97069-root"> <div class="shg-image-margin-container-s-89edacb0-5403-4598-9ef1-e0be60c97069" id="wrap-s-89edacb0-5403-4598-9ef1-e0be60c97069"> <div class="s-89edacb0-5403-4598-9ef1-e0be60c97069 shg-align-container"> <div class="shg-c s-89edacb0-5403-4598-9ef1-e0be60c97069 shogun-image-container nbs_mb_sm shg-align-center" id="s-89edacb0-5403-4598-9ef1-e0be60c97069"> <div class="shg-inner-inline-image"> <div class="shg-image-overflow"> <img src="https://i.shgcdn.com/c027a138-ef32-45d1-a1fe-d8273533274d/-/format/auto/-/quality/best/" alt="Icon of a calendar with a dollar sign." class="shogun-image " decoding="async" loading="lazy" draggable="false"/> </div> </div> <div class="shg-imageV3-content shogun-image-content-v3 shogun-image-content-not-linked"> </div> </div> </div> </div> </div>
10638<script class="__SHG_DATA__" type="application/json"> 10639 { 10640 "__shgImageV3Elements": { "uuid": "s-89edacb0-5403-4598-9ef1-e0be60c97069" } 10641 } 10642 </script>
10642 <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-7b627206-c18c-49d2-824b-cbe7206aec29"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-48fece13-6b2d-4961-9ddc-a5a656d0f063" class="shg-c nbs_mb_mob_2 nb_text_center nb_c_secondarylight hc:nb_fw_600 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Spread the Cost</p></div> </div> <div id="s-f5848742-d4fe-4618-931a-a8a4235eac8c" class="shg-c nbs_mb_mob_20 nb_fs_txt_md nb_c_secondarylight nb_text_center hc:nb_fw_400 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>4 or 6 payments</p></div> </div> <div id="s-7b954eb8-644e-4ec5-a524-dd1b2eac833a" class="shg-c nb_fs_txt_md hc:nb_fw_300 nb_c_secondarylight nb_text_center "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p>Pay your way with Affirm or Nextbase Pay</p></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="shg-image-content-margin-container-s-614efd1d-4faa-49cd-9163-2fb65bfcd979" id="wrap-content-s-614efd1d-4faa-49cd-9163-2fb65bfcd979"> <div class="s-614efd1d-4faa-49cd-9163-2fb65bfcd979 shg-image-content-wrapper"> </div> </div> </div>
10642<script class="__SHG_DATA__" type="application/json"> 10643 { 10644 "__shgImageV3Elements": { "uuid": "s-614efd1d-4faa-49cd-9163-2fb65bfcd979" } 10645 } 10646 </script>
10646 </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-bad06fc1-f227-4ea3-a2f5-8a650e7ede25"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_56 nbs_pb_28 " id="s-998c891f-b9ae-4a97-bc57-8c13e77130d9"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 " id="s-91ddc81c-14e5-4175-9521-98b4a4eab87f"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-7e2954d0-846e-4fd9-8332-cd1b5734183e" class="shg-c hc:nb_fw_600 nb_c_secondarydarkest nbs_pb_std shg-align-left"> <div class="shogun-heading-component"> <h6> Dash Cam FAQs </h6> </div> </div> <div id="s-f62d568a-e111-4ce5-a35a-32c0ae0c3ce6" class="shg-c nb_fs_txt_std nb_c_secondarydark hc:nb_fw_400 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: left; font-size: calc(12px * var(--proportional-font-size) / 100);">When buying a Dash Cam — whether you’ve never used one before or you’re upgrading to a different model — you may have a few questions. Below, we’ll answer the most popular questions to help you with the purchasing and installation process</p></div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-93908316-47a7-404f-8c1b-22e1cd6adaef"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-85932fc1-b2a4-4956-9331-f077121a716b"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-12"><div id="s-e0fbcde4-704d-4224-8aa8-0e7b6fc02661" class="shg-c nb_fs_txt_std "> <div class="shogun-accordion-wrapper" data-multi=""> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> How to install a Dash Cam? </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-7913b2c5-d76c-4181-8d50-fc2947e8e6ce" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)">Installing your Dash Cam can be done quickly and easily. It typically requires a few steps including charging your camera, downloading the Nextbase app, inserting your Nextbase U3 Micro SD card, positioning and mounting your camera, connecting your Dash Cam to power, and following the instructions on the screen. For a step-by-step guide on how to<span style="color: rgb(20, 133, 239);"> <span style="color: rgb(53, 152, 219);"><a style="color: rgb(34, 152, 248); text-decoration: none;" href="/setup-install-guide/">set up your Dash Cam</a></span></span> follow our setup and install guide for a seamless installation process. </span></p></div> </div> </div> </div> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> What`s a Smart Dash Cam? </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-495dc76a-2358-401c-a912-4ef8299424ec" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)"><span style="font-family: inherit; color: rgb(0, 0, 0);" data-fontfamily="(Default)">Smart Dash Cams are some of the most advanced on the market. They offer a range of features and implement the latest technology to keep you safe on the road. Some of these features include voice control, smart sense parking, witness mode which allows you to send live footage to a contact as it’s happening, and cloud storage. These Dash Cams offer some of the highest-quality images to capture the tiniest details.</span> </span></p></div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-12"><div id="s-843b2e1c-1288-48a6-b6e1-2c8a26f4dfc0" class="shg-c nb_fs_txt_std "> <div class="shogun-accordion-wrapper" data-multi=""> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> How much is a Dash Cam? </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-47a5d41c-0c9d-4065-beeb-d7e4292ae554" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)">Dash Cam prices differ depending on video quality and the features the Dash Cam offers. Generally, entry-level Dash Cams like the 122 Dash Cam can provide peace of mind when driving for as little as £59. More advanced smart Dash Cams like the IQ 4K can cost up to £
10646500. There is a Dash Cam to suit all budgets depending on the features you’re looking for.</span></p></div> </div> </div> </div> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> Do Dash Cam record all the time? </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-7e0772a0-1d47-40f4-b2c1-9445e61d36c1" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)"><span style="font-family: inherit; color: rgb(0, 0, 0);" data-fontfamily="(Default)">Dash Cams will record as soon as you turn your vehicle on, so you don’t have to worry about remembering to do so. Dash cams feature loop recording which allows older, unused footage to be recorded over so you don’t have to worry about running out of storage space.<br>If your car is bumped when you’re parked, your Dash Cam will turn on and record automatically, even when you’re not there. This means you can capture any bumps or knocks to your car and use the footage to send it to your insurer.</span> </span></p></div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-12"><div id="s-ec54f7e6-2b87-479f-b4c3-69e0434566b2" class="shg-c nb_fs_txt_std "> <div class="shogun-accordion-wrapper" data-multi=""> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> Which is the best Dash Cam? </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-a60c7c9a-07b5-4df1-b16d-34dc596ce0fc" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)"><span style="font-family: inherit; color: rgb(0, 0, 0);" data-fontfamily="(Default)">The best Dash Cam depends on your preferences as various models offer a range of capabilities. If you’re looking for an advanced Dash Cam with features like smart sense parking, AI movement monitors to detect potential threats, and the ability to share live footage as it’s happening, the <a style="color: rgb(34, 152, 248); text-decoration: none;" href="/smart-dash-cams/iq-smart-dash-cam/">IQ Smart Dash Cam</a> is the most advanced option. </span></span></p></div> </div> </div> </div> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> Can I install my Dash Cam myself? </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-4b29a1c1-7ead-48c2-9e43-3d72f51130be" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)"><span style="font-family: inherit; color: rgb(0, 0, 0);" data-fontfamily="(Default)"><span style="font-family: inherit; color: rgb(0, 0, 0);" data-fontfamily="(Default)">Yes, you can use our set-up and installation guide to install your Dash Cam without any further assistance. If you do need help when it comes to setting up your Dash Cam, feel free to get in touch with us and we can provide <a style="color: rgb(34, 152, 248); text-decoration: none;" href="/hub/tag/support/">support</a> to help you through the installation process</span></span> </span></p></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_pt_28 nbs_pb_56 " id="s-aff1a176-188f-4888-b76f-311fe50e716d"> <div class="shg-box-overlay"></div><div class="shg-box-content">
10646 <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c nbs_mb_28 " id="s-f98c6178-027d-41df-ad07-30973c604a96"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-f39c593f-0450-44d4-981f-dd1985cf09eb" class="shg-c hc:nb_fw_600 nb_c_secondarydarkest nbs_pb_std shg-align-left"> <div class="shogun-heading-component"> <h6> Dash Cam key features </h6> </div> </div> <div id="s-9b76e218-99f7-4d47-856f-09d3d288ebe9" class="shg-c nb_fs_txt_std nb_c_secondarydark hc:nb_fw_400 "> <div class="shg-rich-text shg-theme-text-content shg-proportional-font-size"><p style="text-align: left; font-size: calc(12px * var(--proportional-font-size) / 100);">Nextbase Dash Cams offer a range of key features as standard, some of which include:</p></div> </div> </div> </div> </div> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-419b235b-33df-43dd-972f-6eca3546b73c"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div class="shg-c " id="s-0f2c9f4f-df85-471f-977f-470bac6c6ada"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-12"><div id="s-ea950363-de4f-497c-be29-9b8bb915e5a1" class="shg-c nb_fs_txt_std "> <div class="shogun-accordion-wrapper" data-multi=""> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> HD Resolution </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-2d8bbd92-98a0-4e30-ae7e-fb91c87955f1" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)">All Nextbase Dash Cams offer HD footage. The resolution varies depen
10646ding on the model you choose, but with Nextbase, you can have peace of mind your Dash Cam will capture the smallest detail when you need it most in up to 4K.</span></p></div> </div> </div> </div> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> Wide viewing angles </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-8be232cb-f7a7-45a2-970f-e73316d787ea" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)">Your Dash Cam can protect your car even when you’re not there. If you are bumped when parked, your Dash Cam will register the impact and immediately begin recording its surroundings for evidence.</span></p></div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-12"><div id="s-8fae45f2-fad2-4d98-8d3f-384fb40c8a96" class="shg-c nb_fs_txt_std "> <div class="shogun-accordion-wrapper" data-multi=""> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> G-Sensor </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-57413ba3-ad26-4b3c-b018-2b44d527c963" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)"><span style="font-family: inherit; color: rgb(0, 0, 0);" data-fontfamily="(Default)">The G-sensor in your Dash Cam registers any impact over a pre-set value. When your Dash Cam registers this impact, it automatically protects the footage captured during this time. This also ensures this footage cannot be recorded over and lost.</span></span></p></div> </div> </div> </div> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> Night vision </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-d3f92d11-fea6-4d8c-bb38-4267ec667dd6" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)">If you’re driving at night, you can feel more secure with the night vision feature. Night vision allows for a clear picture in the early hours or late at night, so you don’t have to worry about missing any essential details in footage captured in low light.</span></p></div> </div> </div> </div> </div> </div> </div> <div class="shg-c-lg-4 shg-c-md-4 shg-c-sm-4 shg-c-xs-12"><div id="s-b541a145-4ea7-4615-a969-117e9e4ea381" class="shg-c nb_fs_txt_std "> <div class="shogun-accordion-wrapper" data-multi=""> <div class="shogun-accordion"> <div class="shogun-accordion-heading"> <div class="shogun-accordion-header"> <h4 class="shogun-accordion-title"> Loop recording </h4> <div class="shogun-accordion-icon shogun-icon-plus"> <span/> </div> </div> </div> <div class="shogun-accordion-body"> <div id="s-0e021627-f11b-4510-982b-f0ed98f66a97" class="shg-c nb_fs_txt_md nb_c_secondarydark hc:nb_fw_400 nb_mb_10 "> <div class="shg-rich-text shg-theme-text-content"><p><span style="font-family: inherit; color: rgb(0, 0, 0); font-size: 12px;" data-fontfamily="(Default)"><span style="font-family: inherit; color: rgb(0, 0, 0);" data-fontfamily="(Default)"><span style="font-family: inherit; color: rgb(0, 0, 0);" data-fontfamily="(Default)">Dash Cams offer loop recording, which means you won’t miss a thing. When your ignition is on, so is your Dash Cam. It captures footage throughout your journey, recording over old footage that is not needed. This means you don’
10646t have to worry about your Dash Cam failing to record, or running out of storage space. </span></span></span></p></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> </div> </div> </div></div> <div class="shg-fw"><div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-6e4e4ee0-fc57-4fe4-b16e-a661de152290"> <div class="shg-box-overlay"></div><div class="shg-box-content"> <div id="s-41e0e874-5ba9-4afb-a158-fa5c5a9c6dfe" class="shg-c shg-align-left">
10646<script> 10647 $(document).ready(function () { 10648 $('.cm_nb_th_plp_sg_action_section').each(function () { 10649 10650 // Find columns inside shg-row 10651 const $children = $(this).find('.shg-row > .shg-c-xs-4'); 10652 10653 console.log('found:', $children.length); 10654 10655 if ($children.length >= 3) { 10656 // 1st & 2nd → shg-c-xs-3 10657 $children.eq(0).removeClass('shg-c-xs-4').addClass('shg-c-xs-3'); 10658 $children.eq(1).removeClass('shg-c-xs-4').addClass('shg-c-xs-3'); 10659 10660 // 3rd → shg-c-xs-6 10661 $children.eq(2).removeClass('shg-c-xs-4').addClass('shg-c-xs-6'); 10662 } 10663 }); 10664}); 10665</script>
10665 </div> </div> </div> </div></div> </div></div> 10666 </div> 10667 10668</main> 10669 10670 10671 </div> 10672 <div id="modal" class="modal" data-reveal data-prevent-quick-search-close> 10673 <button class="modal-close" 10674 type="button" 10675 title="Close" 10676 10677> 10678 <span class="aria-description--hidden">Close</span> 10679 <span aria-hidden="true">×</span> 10680</button> 10681 <div id="modal-content" class="modal-content"></div> 10682 <div class="loadingOverlay"></div> 10683</div> 10684 <div id="alert-modal" class="modal modal--alert modal--small cm-alert-modal" data-reveal data-prevent-quick-search-close> 10685 <div class="alert-icon error-icon"> 10686 <span class="icon-content"> 10687 <span class="line line-left"></span> 10688 <span class="line line-right"></span> 10689 </span> 10690 </div> 10691 10692 <div class="alert-icon warning-icon"> 10693 <div class="icon-content">!</div> 10694 </div> 10695 10696 <div class="modal-content"></div> 10697 10698 <div class="button-container"> 10699 <button type="button" class="confirm button cm-cart-ok-button" data-reveal-close>OK</button> 10700 <button type="button" class="cancel button cm-cart-cancel-button" data-reveal-close>Cancel</button> 10701 </div> 10702</div> 10703</div> 10704 <div class="custom-footer-wrapper"> 10705 <footer class="footer cm-footer cm-container" role="contentinfo"> 10706 <div class="cm-footer-region-section"> 10707 <div data-content-region="custom-footer-region--global"><div data-layout-id="14908fc1-5a37-447f-a4bc-26f6cef6d817"> <div data-sub-layout-container="b9dbbb86-647f-4f15-ba4c-e658fb63ffbe" data-layout-name="Layout"> 10708 <style data-container-styling="b9dbbb86-647f-4f15-ba4c-e658fb63ffbe"> 10709 [data-sub-layout-container="b9dbbb86-647f-4f15-ba4c-e658fb63ffbe"] { 10710 box-sizing: border-box; 10711 display: flex; 10712 flex-wrap: wrap; 10713 z-index: 0; 10714 position: relative; 10715 height: ; 10716 padding-top: 0px; 10717 padding-right: 0px; 10718 padding-bottom: 0px; 10719 padding-left: 0px; 10720 margin-top: 0px; 10721 margin-right: 0px; 10722 margin-bottom: 0px; 10723 margin-left: 0px; 10724 border-width: 0px; 10725 border-style: solid; 10726 border-color: #333333; 10727 } 10728 10729 [data-sub-layout-container="b9dbbb86-647f-4f15-ba4c-e658fb63ffbe"]:after { 10730 display: block; 10731 position: absolute; 10732 top: 0; 10733 left: 0; 10734 bottom: 0; 10735 right: 0; 10736 background-size: cover; 10737 z-index: auto; 10738 } 10739 </style> 10740 10741 <div data-sub-layout="c623e4a0-4e6d-4c48-b1b8-cc3cd662e86f"> 10742 <style data-column-styling="c623e4a0-4e6d-4c48-b1b8-cc3cd662e86f"> 10743 [data-sub-layout="c623e4a0-4e6d-4c48-b1b8-cc3cd662e86f"] { 10744 display: flex; 10745 flex-direction: column; 10746 box-sizing: border-box; 10747 flex-basis: 33.333333%; 10748 max-width: 33.333333%; 10749 z-index: 0; 10750 position: relative; 10751 height: ; 10752 padding-top: 0px; 10753 padding-right: 10.5px; 10754 padding-bottom: 0px; 10755 padding-left: 10.5px; 10756 margin-top: 0px; 10757 margin-right: 0px; 10758 margin-bottom: 0px; 10759 margin-left: 0px; 10760 border-width: 0px; 10761 border-style: solid; 10762 border-color: #333333; 10763 justify-content: center; 10764 } 10765 [data-sub-layout="c623e4a0-4e6d-4c48-b1b8-cc3cd662e86f"]:after { 10766 display: block; 10767 position: absolute; 10768 top: 0; 10769 left: 0; 10770 bottom: 0; 10771 right: 0; 10772 background-size: cover; 10773 z-index: auto; 10774 } 10775 @media only screen and (max-width: 700px) { 10776 [data-sub-layout="c623e4a0-4e6d-4c48-b1b8-cc3cd662e86f"] { 10777 flex-basis: 100%; 10778 max-width: 100%; 10779 } 10780 } 10781 </style> 10782 <div data-widget-id="b645ef44-3f91-4e26-8792-4bcecc614e3f" data-placement-id="34482c02-210c-4082-8e40-0d29ceba2bb9" data-placement-status="ACTIVE"><style> 10783 10784 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f { 10785 display: flex; 10786 width: 100%; 10787 background: rgba(0,0,0,1); 10788 margin-top: 0px; 10789 margin-right: 0px; 10790 margin-bottom: 0px; 10791 margin-left: 0px; 10792 padding-top: 0px; 10793 padding-right: 0px; 10794 padding-bottom: 0px; 10795 padding-left: 0px; 10796 } 10797 10798 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f .widget-section { 10799 width: 100%; 10800 background: rgba(0,0,0,1); 10801 margin-top: 0px; 10802 margin-right: 0px; 10803 margin-bottom: 0px; 10804 margin-left: 0px; 10805 padding-top: 0px; 10806 padding-right: 0px; 10807 padding-bottom: 0px; 10808 padding-left: 0px; 10809 } 10810 10811 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f .widget-section h3 { 10812 font-size: 12px; 10813 font-weight: 400; 10814 color: rgba(255,255,255,1); 10815 background: rgba(0,0,0,1); 10816 font-family: inherit; 10817 margin-top: 5px; 10818 margin-right: 0px; 10819 margin-bottom: 12.57136px; 10820 margin-left: 0px; 10821 padding-top: 0px; 10822 padding-right: 0px; 10823 padding-bottom: 0px; 10824 padding-left: 0px; 10825 letter-spacing: 1px; 10826 text-transform: uppercase; 10827 } 10828 10829 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f .widget-section ul { 10830 list-style: none; 10831 padding-left: 0; 10832 margin: 0 0 24px 0; 10833 } 10834 10835 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f .widget-section ul li { 10836 text-align: left; 10837 margin-top: 0px; 10838 margin-right: 0px; 10839 margin-bottom: 0px; 10840 margin-left: 0px; 10841 padding-top: 0px; 10842 padding-right: 0px; 10843 padding-bottom: 0px; 10844 padding-left: 0px; 10845 white-space: normal; 10846 font-size: 11.9px; 10847 font-weight: 400; 10848 line-height: 1.6666666667; 10849 } 10850 10851 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f .widget-section ul li a { 10852 font-size: 12px; 10853 font-weight: 400;
10854 color: rgba(160,160,160,1); 10855 background: rgba(0,0,0,1); 10856 font-family: inherit; 10857 text-decoration: none; 10858 display: inline-block; 10859 white-space: normal; 10860 vertical-align: middle; 10861 } 10862 10863 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f .widget-section ul li a:hover { 10864 text-decoration: underline; 10865 } 10866 10867 .toggle-btn { 10868 display: inline-block; 10869 background-color: transparent; 10870 border: none; 10871 cursor: pointer; 10872 font-size: 0.8rem; 10873 margin-left: 10px; 10874 } 10875 10876 /* Mobile-specific styles (Dropdown applied only on mobile screens) */ 10877 @media only screen and (max-width: 800px) { 10878 10879 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f { 10880 display: flex; 10881 flex-direction: column; 10882 } 10883 10884 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f .widget-section h3 { 10885 display: flex; 10886 justify-content: space-between; 10887 align-items: center; 10888 width: 100%; 10889 margin-top: 0; 10890 font-size: 13px; 10891 padding-left: 1.07143rem; 10892 padding-right: 1.07143rem; 10893 } 10894 10895 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f .widget-section ul { 10896 margin-left: 1.15rem !important; 10897 } 10898 10899 .widget-section.open .toggle-btn .plus-icon { 10900 display: none; 10901 } 10902 10903 .widget-section.open .toggle-btn .minus-icon { 10904 display: inline-block; 10905 } 10906 10907 .widget-section:not(.open) .toggle-btn .plus-icon { 10908 display: inline-block; 10909 } 10910 10911 .widget-section:not(.open) .toggle-btn .minus-icon { 10912 display: none; 10913 } 10914 10915 .plus-icon { 10916 width: 18px; 10917 height: 18px; 10918 fill: #000000; 10919 transform: scale(1.1); 10920 } 10921 10922 .minus-icon { 10923 width: 15px; 10924 height: 18px; 10925 transform: scale(1.1); 10926 } 10927 10928 .toggle-btn { 10929 padding: 0; 10930 } 10931 10932 .toggle-btn:hover, 10933 .toggle-btn:focus { 10934 background: #efefef; 10935 } 10936 10937 .widget-content { 10938 display: block; 10939 overflow: hidden; 10940 max-height: 0; 10941 transition: max-height 0.8s ease-in-out; /* Slower */ 10942 } 10943 } 10944 10945 /* Large screen styles (Content fully displayed without dropdown) */ 10946 @media only screen and (min-width: 800px) { 10947 10948 .widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f .widget-content { 10949 max-height: none; 10950 } 10951 10952 .toggle-btn { 10953 display: none; 10954 } 10955 } 10956 10957 </style> 10958 10959<div class="widget-container-b645ef44-3f91-4e26-8792-4bcecc614e3f"> 10960 <div class="widget-section"> 10961 <h3> 10962 Company 10963 <button class="toggle-btn" onclick="toggleDropdown('b645ef44-3f91-4e26-8792-4bcecc614e3f')"> 10964 <svg class="plus-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"> 10965 <path d="M13,13 L13,20 C13,20.5522847 12.5522847,21 12,21 C11.4477153,21 11,20.5522847 11,20 L11,13 L4,13 C3.44771525,13 3,12.5522847 3,12 C3,11.4477153 3.44771525,11 4,11 L11,11 L11,4 C11,3.44771525 11.4477153,3 12,3 C12.5522847,3 13,3.44771525 13,4 L13,11 L20,11 C20.5522847,11 21,11.4477153 21,12 C21,12.5522847 20.5522847,13 20,13 L13,13 Z"></path> 10966 </svg> 10967 <svg class="minus-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"> 10968 <path d="M19 13H5a1 1 0 0 1 0-2h14a1 1 0 0 1 0 2z"></path> 10969 </svg> 10970 </button> 10971 </h3> 10972 <div id="widget-content-b645ef44-3f91-4e26-8792-4bcecc614e3f" class="widget-content"> 10973 <ul> 10974 <li class="navigationlist "> 10975 <a href="/about-us/" class="widget-button-blog-section-">About Us</a> 10976 </li> 10977 <li class="navigationlist "> 10978 <a href="/hub/tag/news" class="widget-button-blog-section-">News</a> 10979 </li> 10980 <li class="navigationlist "> 10981 <a href="/press-media/" class="widget-button-blog-section-">Press & Media</a> 10982 </li> 10983 <li class="navigationlist"><a href="javascript:void(0)" onclick="event.stopPropagation(); window.consentManager.openConsentManager();" class="widget-footer-link-section-">Manage Cookie</a></li> 10984 <li class="navigationlist "> 10985 <a href="/patents/" class="widget-button-blog-section-">Patents</a> 10986 </li> 10987 </ul> 10988 </div> 10989 </div> 10990</div> 10991
10992<script> 10993 function toggleDropdown(id) { 10994 const content = document.getElementById('widget-content-' + id); 10995 const section = content.parentElement; 10996 10997 if (section.classList.contains('open')) { 10998 content.style.maxHeight = content.scrollHeight + "px"; // Set to full height 10999 requestAnimationFrame(() => { 11000 content.style.maxHeight = "0"; // Collapse 11001 }); 11002 section.classList.remove('open'); 11003 } else { 11004 content.style.maxHeight = "0"; // Reset height 11005 requestAnimationFrame(() => { 11006 content.style.maxHeight = content.scrollHeight + "px"; // Expand 11007 }); 11008 section.classList.add('open'); 11009 } 11010 } 11011</script>
11011</div> 11012 </div> 11013 <div data-sub-layout="e0224c6d-1678-4c62-9b42-0bc696e7caf7"> 11014 <style data-column-styling="e0224c6d-1678-4c62-9b42-0bc696e7caf7"> 11015 [data-sub-layout="e0224c6d-1678-4c62-9b42-0bc696e7caf7"] { 11016 display: flex; 11017 flex-direction: column; 11018 box-sizing: border-box; 11019 flex-basis: 33.333333%; 11020 max-width: 33.333333%; 11021 z-index: 0; 11022 position: relative; 11023 height: ; 11024 padding-top: 0px; 11025 padding-right: 10.5px; 11026 padding-bottom: 0px; 11027 padding-left: 10.5px; 11028 margin-top: 0px; 11029 margin-right: 0px; 11030 margin-bottom: 0px; 11031 margin-left: 0px; 11032 border-width: 0px; 11033 border-style: solid; 11034 border-color: #333333; 11035 justify-content: center; 11036 } 11037 [data-sub-layout="e0224c6d-1678-4c62-9b42-0bc696e7caf7"]:after { 11038 display: block; 11039 position: absolute; 11040 top: 0; 11041 left: 0; 11042 bottom: 0; 11043 right: 0; 11044 background-size: cover; 11045 z-index: auto; 11046 } 11047 @media only screen and (max-width: 700px) { 11048 [data-sub-layout="e0224c6d-1678-4c62-9b42-0bc696e7caf7"] { 11049 flex-basis: 100%; 11050 max-width: 100%; 11051 } 11052 } 11053 </style> 11054 <div data-widget-id="c9daa7c3-f086-4f0c-8ff6-dc8800a70b47" data-placement-id="6bc67245-85db-44ca-8138-e9081e362b3f" data-placement-status="ACTIVE"><style> 11055 11056 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 { 11057 display: flex; 11058 width: 100%; 11059 background: rgba(0,0,0,1); 11060 margin-top: 0px; 11061 margin-right: 0px; 11062 margin-bottom: 0px; 11063 margin-left: 0px; 11064 padding-top: 0px; 11065 padding-right: 0px; 11066 padding-bottom: 0px; 11067 padding-left: 0px; 11068 } 11069 11070 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 .widget-section { 11071 width: 100%; 11072 background: rgba(0,0,0,1); 11073 margin-top: 0px; 11074 margin-right: 0px; 11075 margin-bottom: 0px; 11076 margin-left: 0px; 11077 padding-top: 0px; 11078 padding-right: 0px; 11079 padding-bottom: 0px; 11080 padding-left: 0px; 11081 } 11082 11083 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 .widget-section h3 { 11084 font-size: 12px; 11085 font-weight: 400; 11086 color: rgba(255,255,255,1); 11087 background: rgba(0,0,0,1); 11088 font-family: inherit; 11089 margin-top: 5px; 11090 margin-right: 0px; 11091 margin-bottom: 12.57136px; 11092 margin-left: 0px; 11093 padding-top: 0px; 11094 padding-right: 0px; 11095 padding-bottom: 0px; 11096 padding-left: 0px; 11097 letter-spacing: 1px; 11098 text-transform: uppercase; 11099 } 11100 11101 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 .widget-section ul { 11102 list-style: none; 11103 padding-left: 0; 11104 margin: 0 0 24px 0; 11105 } 11106 11107 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 .widget-section ul li { 11108 text-align: left; 11109 margin-top: 0px; 11110 margin-right: 0px; 11111 margin-bottom: 0px; 11112 margin-left: 0px; 11113 padding-top: 0px; 11114 padding-right: 0px; 11115 padding-bottom: 0px; 11116 padding-left: 0px; 11117 white-space: normal; 11118 font-size: 11.9px; 11119 font-weight: 400; 11120 line-height: 1.6666666667; 11121 } 11122 11123 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 .widget-section ul li a { 11124 font-size: 12px; 11125 font-weight: 400; 11126 color: rgba(160,160,160,1); 11127 background: rgba(0,0,0,1); 11128 font-family: inherit; 11129 text-decoration: none; 11130 display: inline-block; 11131 white-space: normal; 11132 vertical-align: middle; 11133 } 11134 11135 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 .widget-section ul li a:hover { 11136 text-decoration: underline; 11137 } 11138 11139 .toggle-btn { 11140 display: inline-block; 11141 background-color: transparent; 11142 border: none; 11143 cursor: pointer; 11144 font-size: 0.8rem; 11145 margin-left: 10px; 11146 } 11147 11148 /* Mobile-specific styles (Dropdown applied only on mobile screens) */ 11149 @media only screen and (max-width: 800px) { 11150 11151 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 { 11152 display: flex; 11153 flex-direction: column; 11154 } 11155 11156 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 .widget-section h3 { 11157 display: flex; 11158 justify-content: space-between; 11159 align-items: center; 11160 width: 100%; 11161 margin-top: 0; 11162 font-size: 13px; 11163 padding-left: 1.07143rem; 11164 padding-right: 1.07143rem; 11165 } 11166 11167 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 .widget-section ul { 11168 margin-left: 1.15rem !important; 11169 } 11170 11171 .widget-section.open .toggle-btn .plus-icon { 11172 display: none; 11173 } 11174
11175 .widget-section.open .toggle-btn .minus-icon { 11176 display: inline-block; 11177 } 11178 11179 .widget-section:not(.open) .toggle-btn .plus-icon { 11180 display: inline-block; 11181 } 11182 11183 .widget-section:not(.open) .toggle-btn .minus-icon { 11184 display: none; 11185 } 11186 11187 .plus-icon { 11188 width: 18px; 11189 height: 18px; 11190 fill: #000000; 11191 transform: scale(1.1); 11192 } 11193 11194 .minus-icon { 11195 width: 15px; 11196 height: 18px; 11197 transform: scale(1.1); 11198 } 11199 11200 .toggle-btn { 11201 padding: 0; 11202 } 11203 11204 .toggle-btn:hover, 11205 .toggle-btn:focus { 11206 background: #efefef; 11207 } 11208 11209 .widget-content { 11210 display: block; 11211 overflow: hidden; 11212 max-height: 0; 11213 transition: max-height 0.8s ease-in-out; /* Slower */ 11214 } 11215 } 11216 11217 /* Large screen styles (Content fully displayed without dropdown) */ 11218 @media only screen and (min-width: 800px) { 11219 11220 .widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47 .widget-content { 11221 max-height: none; 11222 } 11223 11224 .toggle-btn { 11225 display: none; 11226 } 11227 } 11228 11229 </style> 11230 11231<div class="widget-container-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47"> 11232 <div class="widget-section"> 11233 <h3> 11234 Assistance 11235 <button class="toggle-btn" onclick="toggleDropdown('c9daa7c3-f086-4f0c-8ff6-dc8800a70b47')"> 11236 <svg class="plus-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"> 11237 <path d="M13,13 L13,20 C13,20.5522847 12.5522847,21 12,21 C11.4477153,21 11,20.5522847 11,20 L11,13 L4,13 C3.44771525,13 3,12.5522847 3,12 C3,11.4477153 3.44771525,11 4,11 L11,11 L11,4 C11,3.44771525 11.4477153,3 12,3 C12.5522847,3 13,3.44771525 13,4 L13,11 L20,11 C20.5522847,11 21,11.4477153 21,12 C21,12.5522847 20.5522847,13 20,13 L13,13 Z"></path> 11238 </svg> 11239 <svg class="minus-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"> 11240 <path d="M19 13H5a1 1 0 0 1 0-2h14a1 1 0 0 1 0 2z"></path> 11241 </svg> 11242 </button> 11243 </h3> 11244 <div id="widget-content-c9daa7c3-f086-4f0c-8ff6-dc8800a70b47" class="widget-content"> 11245 <ul> 11246 <li class="navigationlist "> 11247 <a href="https://myorder.nextbase.com/" class="widget-button-blog-section-" target="_blank">Track My Order</a> 11248 </li> 11249 <li class="navigationlist "> 11250 <a href="/help-and-support/" class="widget-button-blog-section-">Product Support</a> 11251 </li> 11252 <li class="navigationlist "> 11253 <a href="/setup-install-guide/" class="widget-button-blog-section-">Setup & Install Guide</a> 11254 </li> 11255 <li class="navigationlist "> 11256 <a href="/accessories/professional-installation/" class="widget-button-blog-section-">Professional Installation</a> 11257 </li> 11258 <li class="navigationlist "> 11259 <a href="/contact-us/" class="widget-button-blog-section-">Contact </a> 11260 </li> 11261 <li class="navigationlist "> 11262 <a href="/delivery-warranty-returns/" class="widget-button-blog-section-">Delivery, Warranty & Returns</a> 11263 </li> 11264 <li class="navigationlist "> 11265 <a href="https://nextbase.com/warranty-service-contract/" class="widget-button-blog-section-">Warranty & Service Contract</a> 11266 </li> 11267 <li class="navigationlist "> 11268 <a href="/proposition-65-warning-statement/" class="widget-button-blog-section-">Proposition 65 Warning Statement</a> 11269 </li> 11270 </ul> 11271 </div> 11272 </div> 11273</div> 11274
11275<script> 11276 function toggleDropdown(id) { 11277 const content = document.getElementById('widget-content-' + id); 11278 const section = content.parentElement; 11279 11280 if (section.classList.contains('open')) { 11281 content.style.maxHeight = content.scrollHeight + "px"; // Set to full height 11282 requestAnimationFrame(() => { 11283 content.style.maxHeight = "0"; // Collapse 11284 }); 11285 section.classList.remove('open'); 11286 } else { 11287 content.style.maxHeight = "0"; // Reset height 11288 requestAnimationFrame(() => { 11289 content.style.maxHeight = content.scrollHeight + "px"; // Expand 11290 }); 11291 section.classList.add('open'); 11292 } 11293 } 11294</script>
11294</div> 11295 </div> 11296 <div data-sub-layout="437360c3-819d-4521-a149-b6ece1d87fb6"> 11297 <style data-column-styling="437360c3-819d-4521-a149-b6ece1d87fb6"> 11298 [data-sub-layout="437360c3-819d-4521-a149-b6ece1d87fb6"] { 11299 display: flex; 11300 flex-direction: column; 11301 box-sizing: border-box; 11302 flex-basis: 33.333333%; 11303 max-width: 33.333333%; 11304 z-index: 0; 11305 position: relative; 11306 height: ; 11307 padding-top: 0px; 11308 padding-right: 10.5px; 11309 padding-bottom: 0px; 11310 padding-left: 10.5px; 11311 margin-top: 0px; 11312 margin-right: 0px; 11313 margin-bottom: 0px; 11314 margin-left: 0px; 11315 border-width: 0px; 11316 border-style: solid; 11317 border-color: #333333; 11318 justify-content: center; 11319 } 11320 [data-sub-layout="437360c3-819d-4521-a149-b6ece1d87fb6"]:after { 11321 display: block; 11322 position: absolute; 11323 top: 0; 11324 left: 0; 11325 bottom: 0; 11326 right: 0; 11327 background-size: cover; 11328 z-index: auto; 11329 } 11330 @media only screen and (max-width: 700px) { 11331 [data-sub-layout="437360c3-819d-4521-a149-b6ece1d87fb6"] { 11332 flex-basis: 100%; 11333 max-width: 100%; 11334 } 11335 } 11336 </style> 11337 <div data-widget-id="c9f46262-ec73-4136-8993-458a137d7eed" data-placement-id="6a47e532-4922-4ecb-9dd0-5c80fa5c5b43" data-placement-status="ACTIVE"><style> 11338.klaviyo-form-TBGicc{ 11339 padding-left: 1.07143rem; 11340 padding-right: 1.07143rem; 11341} 11342 11343.custom-footer-newsletter{ 11344 padding-left: 1.07143rem; 11345 padding-right: 1.07143rem; 11346 margin-top:5px; 11347} 11348 11349.custom-newsletter-heading{ 11350 font-weight: 600; 11351 /* font-size: 12px; */ 11352 color:var(--global_primarywhite-color); 11353 margin:0; 11354 padding-bottom:15px; 11355} 11356 11357.custom-newsletter-text{ 11358 font-weight: 400; 11359 /* font-size: 12px; */ 11360 color:#a0a0a0; 11361 min-height: 10px; 11362} 11363 11364@media only screen and (max-width: 799.9px) { 11365 .custom-footer-newsletter{ 11366 margin-top:20px; 11367 } 11368 11369 .custom-newsletter-heading, 11370 .custom-newsletter-text{ 11371 /* font-size: 11px !important */ 11372 } 11373} 11374</style> 11375 11376<div class="custom-footer-newsletter"> 11377 <h3 class="custom-newsletter-heading nb_fs_txt_std">Join the Nextbase Newsletter</h3> 11378 <p class="custom-newsletter-text nb_fs_txt_std">Be first to hear about our latest products and offers</p> 11379</div> 11380 11381 <style> 11382.custom-app-section-mobile { 11383 background-color: var( --global-secondarydarkest-color); 11384 color: var(--global_primarywhite-color); 11385 padding-left: 1.07143rem; 11386 padding-right: 1.07143rem; 11387 padding-top:20px; 11388 text-align: left; 11389} 11390 11391.custom-app-title { 11392 /* font-size: 12px; */ 11393 margin-bottom: 20px; 11394 color: var(--global_primarywhite-color); 11395} 11396 11397.custom-app-buttons { 11398 display: flex; 11399 gap: 20px; 11400 /* flex-wrap: wrap; */ 11401} 11402 11403.custom-store-btn { 11404 display: flex; 11405 align-items: center; 11406 background: #1a1a1a; 11407 border-radius: 18px; 11408 /* padding: 10px 20px; */ 11409 padding: 8px 26px 10px 16px; 11410 text-decoration: none; 11411 color: white; 11412 transition: background 0.3s ease; 11413 min-width: 162px; 11414 min-height:66px; 11415} 11416 11417.custom-app-icon-text{ 11418 /* font-size: 12px; */ 11419 color: var(--global_primarywhite-color) !important; 11420} 11421 11422.custom-store-btn:hover { 11423 background: #2a2a2a; 11424} 11425 11426.custom-store-btn img { 11427 width: 28px; 11428 height: 28px; 11429 margin-right: 2px; 11430} 11431 11432.custom-store-text { 11433 display: flex; 11434 flex-direction: column; 11435 line-height: 1.2; 11436} 11437 11438.custom-store-text span { 11439 /* font-size: 12px; */ 11440 color: var(--global-secondarymedium-color); 11441} 11442 11443.custom-store-text{ 11444 /* font-size: 12px; */ 11445 font-weight: 600; 11446 color: var(--global_primarywhite-color); 11447} 11448 11449.custom-apple-icon{ 11450 width:45px !important; 11451 height:45px !important; 11452} 11453 11454@media (max-width: 600px) { 11455 .custom-app-buttons { 11456 align-items: flex-start; 11457 } 11458 11459 .custom-store-btn { 11460 width: 100%; 11461 justify-content: center; 11462 } 11463} 11464 11465@media (min-width: 601px) and (max-width: 799.9px) { 11466 .custom-store-btn { 11467 min-width: 180 !important; 11468 padding: 10px 20px !important; 11469 } 11470 11471 .custom-app-buttons { 11472 gap:12px !important; 11473 } 11474} 11475 11476@media (max-width: 799.9px) { 11477 .custom-app-section-mobile{ 11478 display:block; 11479 margin-bottom: 5em; 11480 } 11481 11482 .custom-app-buttons { 11483 display: flex !important; 11484 flex-direction: row !important; 11485 flex-wrap: unset !important; 11486 gap: 8px !important; 11487 justify-content: center !important; 11488 } 11489 11490 .custom-store-btn { 11491 padding:3px; 11492 } 11493 11494 .custom-store-btn { 11495 min-width: 100px; 11496 } 11497 11498 .custom-app-title, 11499 .custom-app-icon-text, 11500 .custom-store-text, 11501 .custom-store-text span{ 11502 /* font-size: 11px !important; */ 11503 } 11504 11505} 11506 11507@media (min-width: 800px) { 11508 .custom-app-section-mobile{ 11509 display:none; 11510 } 11511} 11512</style> 11513<div class="klaviyo-form-TBGicc"></div> 11514<section class="custom-app-section-mobile"> 11515 <h3 class="custom-app-title nb_fs_txt_std">Nextbase App</h3> 11516 <div class="custom-app-buttons"> 11517 <a href="https://apps.apple.com/gb/app/nextbase/id6503702226" class="custom-store-btn custom-app-store"> 11518 <img class="custom-apple-icon" src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/appleiconfooter.png" alt="Apple logo"> 11519 <div class="custom-store-text">
11520 <span class="nb_fs_txt_sm">Get it on</span> 11521 <span class="custom-app-icon-text nb_fs_txt_std">App Store</span> 11522 </div> 11523 </a> 11524 <a href="https://play.google.com/store/apps/details?id=com.mynextbase.connect&pli=1" class="custom-store-btn custom-google-play"> 11525 <img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/google-pay-icon-footer.png" alt="Google Play logo"> 11526 <div class="custom-store-text"> 11527 <span class="nb_fs_txt_sm">Get it on</span> 11528 <span class="custom-app-icon-text nb_fs_txt_std">Google Play</span> 11529 </div> 11530 </a> 11531 </div> 11532</section> 11533 11534 11535</div> 11536 </div> 11537</div> 11538 11539 <div data-sub-layout-container="bc72a8f1-5d93-4fb5-a7de-ef6f4ac91a00" data-layout-name="Layout"> 11540 <style data-container-styling="bc72a8f1-5d93-4fb5-a7de-ef6f4ac91a00"> 11541 [data-sub-layout-container="bc72a8f1-5d93-4fb5-a7de-ef6f4ac91a00"] { 11542 box-sizing: border-box; 11543 display: flex; 11544 flex-wrap: wrap; 11545 z-index: 0; 11546 position: relative; 11547 height: ; 11548 padding-top: 0px; 11549 padding-right: 0px; 11550 padding-bottom: 0px; 11551 padding-left: 0px; 11552 margin-top: 0px; 11553 margin-right: 0px; 11554 margin-bottom: 0px; 11555 margin-left: 0px; 11556 border-width: 0px; 11557 border-style: solid; 11558 border-color: #333333; 11559 } 11560 11561 [data-sub-layout-container="bc72a8f1-5d93-4fb5-a7de-ef6f4ac91a00"]:after { 11562 display: block; 11563 position: absolute; 11564 top: 0; 11565 left: 0; 11566 bottom: 0; 11567 right: 0; 11568 background-size: cover; 11569 z-index: auto; 11570 } 11571 </style> 11572 11573 <div data-sub-layout="c618281b-8af3-4522-8d08-7e73d144853e"> 11574 <style data-column-styling="c618281b-8af3-4522-8d08-7e73d144853e"> 11575 [data-sub-layout="c618281b-8af3-4522-8d08-7e73d144853e"] { 11576 display: flex; 11577 flex-direction: column; 11578 box-sizing: border-box; 11579 flex-basis: 33.333333%; 11580 max-width: 33.333333%; 11581 z-index: 0; 11582 position: relative; 11583 height: ; 11584 padding-top: 0px; 11585 padding-right: 10.5px; 11586 padding-bottom: 0px; 11587 padding-left: 10.5px; 11588 margin-top: 0px; 11589 margin-right: 0px; 11590 margin-bottom: 0px; 11591 margin-left: 0px; 11592 border-width: 0px; 11593 border-style: solid; 11594 border-color: #333333; 11595 justify-content: center; 11596 } 11597 [data-sub-layout="c618281b-8af3-4522-8d08-7e73d144853e"]:after { 11598 display: block; 11599 position: absolute; 11600 top: 0; 11601 left: 0; 11602 bottom: 0; 11603 right: 0; 11604 background-size: cover; 11605 z-index: auto; 11606 } 11607 @media only screen and (max-width: 700px) { 11608 [data-sub-layout="c618281b-8af3-4522-8d08-7e73d144853e"] { 11609 flex-basis: 100%; 11610 max-width: 100%; 11611 } 11612 } 11613 </style> 11614 <div data-widget-id="0648d115-ab1d-480a-ad96-1911004243a3" data-placement-id="18088a70-4460-42e5-93d4-3334574dfbd0" data-placement-status="ACTIVE"><style> 11615 11616 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 { 11617 display: flex; 11618 width: 100%; 11619 background: rgba(0,0,0,1); 11620 margin-top: 0px; 11621 margin-right: 0px; 11622 margin-bottom: 0px; 11623 margin-left: 0px; 11624 padding-top: 0px; 11625 padding-right: 0px; 11626 padding-bottom: 0px; 11627 padding-left: 0px; 11628 } 11629 11630 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 .widget-section { 11631 width: 100%; 11632 background: rgba(0,0,0,1); 11633 margin-top: 0px; 11634 margin-right: 0px; 11635 margin-bottom: 0px; 11636 margin-left: 0px; 11637 padding-top: 0px; 11638 padding-right: 0px; 11639 padding-bottom: 0px; 11640 padding-left: 0px; 11641 } 11642 11643 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 .widget-section h3 { 11644 font-size: 12px; 11645 font-weight: 400; 11646 color: rgba(255,255,255,1); 11647 background: rgba(0,0,0,1); 11648 font-family: inherit; 11649 margin-top: 5px; 11650 margin-right: 0px; 11651 margin-bottom: 12.57136px; 11652 margin-left: 0px; 11653 padding-top: 0px; 11654 padding-right: 0px; 11655 padding-bottom: 0px; 11656 padding-left: 0px; 11657 letter-spacing: 1px; 11658 text-transform: uppercase; 11659 } 11660 11661 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 .widget-section ul { 11662 list-style: none; 11663 padding-left: 0; 11664 margin: 0 0 24px 0; 11665 } 11666 11667 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 .widget-section ul li { 11668 text-align: left; 11669 margin-top: 0px; 11670 margin-right: 0px; 11671 margin-bottom: 0px; 11672 margin-left: 0px; 11673 padding-top: 0px; 11674 padding-right: 0px; 11675 padding-bottom: 0px; 11676 padding-left: 0px; 11677 white-space: normal; 11678 font-size: 11.9px; 11679 font-weight: 400; 11680 line-height: 1.6666666667; 11681 } 11682 11683 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 .widget-section ul li a { 11684 font-size: 12px; 11685 font-weight: 400;
11686 color: rgba(160,160,160,1); 11687 background: rgba(0,0,0,1); 11688 font-family: inherit; 11689 text-decoration: none; 11690 display: inline-block; 11691 white-space: normal; 11692 vertical-align: middle; 11693 } 11694 11695 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 .widget-section ul li a:hover { 11696 text-decoration: underline; 11697 } 11698 11699 .toggle-btn { 11700 display: inline-block; 11701 background-color: transparent; 11702 border: none; 11703 cursor: pointer; 11704 font-size: 0.8rem; 11705 margin-left: 10px; 11706 } 11707 11708 /* Mobile-specific styles (Dropdown applied only on mobile screens) */ 11709 @media only screen and (max-width: 800px) { 11710 11711 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 { 11712 display: flex; 11713 flex-direction: column; 11714 } 11715 11716 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 .widget-section h3 { 11717 display: flex; 11718 justify-content: space-between; 11719 align-items: center; 11720 width: 100%; 11721 margin-top: 0; 11722 font-size: 13px; 11723 padding-left: 1.07143rem; 11724 padding-right: 1.07143rem; 11725 } 11726 11727 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 .widget-section ul { 11728 margin-left: 1.15rem !important; 11729 } 11730 11731 .widget-section.open .toggle-btn .plus-icon { 11732 display: none; 11733 } 11734 11735 .widget-section.open .toggle-btn .minus-icon { 11736 display: inline-block; 11737 } 11738 11739 .widget-section:not(.open) .toggle-btn .plus-icon { 11740 display: inline-block; 11741 } 11742 11743 .widget-section:not(.open) .toggle-btn .minus-icon { 11744 display: none; 11745 } 11746 11747 .plus-icon { 11748 width: 18px; 11749 height: 18px; 11750 fill: #000000; 11751 transform: scale(1.1); 11752 } 11753 11754 .minus-icon { 11755 width: 15px; 11756 height: 18px; 11757 transform: scale(1.1); 11758 } 11759 11760 .toggle-btn { 11761 padding: 0; 11762 } 11763 11764 .toggle-btn:hover, 11765 .toggle-btn:focus { 11766 background: #efefef; 11767 } 11768 11769 .widget-content { 11770 display: block; 11771 overflow: hidden; 11772 max-height: 0; 11773 transition: max-height 0.8s ease-in-out; /* Slower */ 11774 } 11775 } 11776 11777 /* Large screen styles (Content fully displayed without dropdown) */ 11778 @media only screen and (min-width: 800px) { 11779 11780 .widget-container-0648d115-ab1d-480a-ad96-1911004243a3 .widget-content { 11781 max-height: none; 11782 } 11783 11784 .toggle-btn { 11785 display: none; 11786 } 11787 } 11788 11789 </style> 11790 11791<div class="widget-container-0648d115-ab1d-480a-ad96-1911004243a3"> 11792 <div class="widget-section"> 11793 <h3> 11794 Learn & Shop 11795 <button class="toggle-btn" onclick="toggleDropdown('0648d115-ab1d-480a-ad96-1911004243a3')"> 11796 <svg class="plus-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"> 11797 <path d="M13,13 L13,20 C13,20.5522847 12.5522847,21 12,21 C11.4477153,21 11,20.5522847 11,20 L11,13 L4,13 C3.44771525,13 3,12.5522847 3,12 C3,11.4477153 3.44771525,11 4,11 L11,11 L11,4 C11,3.44771525 11.4477153,3 12,3 C12.5522847,3 13,3.44771525 13,4 L13,11 L20,11 C20.5522847,11 21,11.4477153 21,12 C21,12.5522847 20.5522847,13 20,13 L13,13 Z"></path> 11798 </svg> 11799 <svg class="minus-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"> 11800 <path d="M19 13H5a1 1 0 0 1 0-2h14a1 1 0 0 1 0 2z"></path> 11801 </svg> 11802 </button> 11803 </h3> 11804 <div id="widget-content-0648d115-ab1d-480a-ad96-1911004243a3" class="widget-content"> 11805 <ul> 11806 <li class="navigationlist "> 11807 <a href="/dash-cams/" class="widget-button-blog-section-">Dash Cams </a> 11808 </li> 11809 <li class="navigationlist "> 11810 <a href="/outlet/" class="widget-button-blog-section-">Outlet </a> 11811 </li> 11812 <li class="navigationlist "> 11813 <a href="/exclusive-offers/" class="widget-button-blog-section-">Exclusive Offers</a> 11814 </li> 11815 <li class="navigationlist "> 11816 <a href="/accessories-parts/" class="widget-button-blog-section-">Accessories</a> 11817 </li> 11818 <li class="navigationlist "> 11819 <a href="/compare/156/157" class="widget-button-blog-section-">Compare Products</a> 11820 </li> 11821 <li class="navigationlist "> 11822 <a href="/dash-cam-features/" class="widget-button-blog-section-">Features</a> 11823 </li> 11824 <li class="navigationlist "> 11825 <a href="/road-safety-club/" class="widget-button-blog-section-">
11825Road Safety Club </a> 11826 </li> 11827 <li class="navigationlist "> 11828 <a href="/aaa/" class="widget-button-blog-section-">AAA Exclusive Discounts</a> 11829 </li> 11830 </ul> 11831 </div> 11832 </div> 11833</div> 11834
11835<script> 11836 function toggleDropdown(id) { 11837 const content = document.getElementById('widget-content-' + id); 11838 const section = content.parentElement; 11839 11840 if (section.classList.contains('open')) { 11841 content.style.maxHeight = content.scrollHeight + "px"; // Set to full height 11842 requestAnimationFrame(() => { 11843 content.style.maxHeight = "0"; // Collapse 11844 }); 11845 section.classList.remove('open'); 11846 } else { 11847 content.style.maxHeight = "0"; // Reset height 11848 requestAnimationFrame(() => { 11849 content.style.maxHeight = content.scrollHeight + "px"; // Expand 11850 }); 11851 section.classList.add('open'); 11852 } 11853 } 11854</script>
11854</div> 11855 </div> 11856 <div data-sub-layout="bc8687b7-a22d-44dc-b958-2a2ed874f70b"> 11857 <style data-column-styling="bc8687b7-a22d-44dc-b958-2a2ed874f70b"> 11858 [data-sub-layout="bc8687b7-a22d-44dc-b958-2a2ed874f70b"] { 11859 display: flex; 11860 flex-direction: column; 11861 box-sizing: border-box; 11862 flex-basis: 33.333333%; 11863 max-width: 33.333333%; 11864 z-index: 0; 11865 position: relative; 11866 height: ; 11867 padding-top: 0px; 11868 padding-right: 10.5px; 11869 padding-bottom: 0px; 11870 padding-left: 10.5px; 11871 margin-top: 0px; 11872 margin-right: 0px; 11873 margin-bottom: 0px; 11874 margin-left: 0px; 11875 border-width: 0px; 11876 border-style: solid; 11877 border-color: #333333; 11878 justify-content: center; 11879 } 11880 [data-sub-layout="bc8687b7-a22d-44dc-b958-2a2ed874f70b"]:after { 11881 display: block; 11882 position: absolute; 11883 top: 0; 11884 left: 0; 11885 bottom: 0; 11886 right: 0; 11887 background-size: cover; 11888 z-index: auto; 11889 } 11890 @media only screen and (max-width: 700px) { 11891 [data-sub-layout="bc8687b7-a22d-44dc-b958-2a2ed874f70b"] { 11892 flex-basis: 100%; 11893 max-width: 100%; 11894 } 11895 } 11896 </style> 11897 <div data-widget-id="61f6964b-0c09-4a98-9905-c49a227e8a51" data-placement-id="6482846d-2b5c-4a1b-b599-31a0ed7df9bb" data-placement-status="ACTIVE"><style> 11898 11899 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 { 11900 display: flex; 11901 width: 100%; 11902 background: rgba(0,0,0,1); 11903 margin-top: 0px; 11904 margin-right: 0px; 11905 margin-bottom: 0px; 11906 margin-left: 0px; 11907 padding-top: 0px; 11908 padding-right: 0px; 11909 padding-bottom: 0px; 11910 padding-left: 0px; 11911 } 11912 11913 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 .widget-section { 11914 width: 100%; 11915 background: rgba(0,0,0,1); 11916 margin-top: 0px; 11917 margin-right: 0px; 11918 margin-bottom: 0px; 11919 margin-left: 0px; 11920 padding-top: 0px; 11921 padding-right: 0px; 11922 padding-bottom: 0px; 11923 padding-left: 0px; 11924 } 11925 11926 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 .widget-section h3 { 11927 font-size: 12px; 11928 font-weight: 400; 11929 color: rgba(255,255,255,1); 11930 background: rgba(0,0,0,1); 11931 font-family: inherit; 11932 margin-top: 5px; 11933 margin-right: 0px; 11934 margin-bottom: 12.57136px; 11935 margin-left: 0px; 11936 padding-top: 0px; 11937 padding-right: 0px; 11938 padding-bottom: 0px; 11939 padding-left: 0px; 11940 letter-spacing: 1px; 11941 text-transform: uppercase; 11942 } 11943 11944 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 .widget-section ul { 11945 list-style: none; 11946 padding-left: 0; 11947 margin: 0 0 24px 0; 11948 } 11949 11950 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 .widget-section ul li { 11951 text-align: left; 11952 margin-top: 0px; 11953 margin-right: 0px; 11954 margin-bottom: 0px; 11955 margin-left: 0px; 11956 padding-top: 0px; 11957 padding-right: 0px; 11958 padding-bottom: 0px; 11959 padding-left: 0px; 11960 white-space: normal; 11961 font-size: 11.9px; 11962 font-weight: 400; 11963 line-height: 1.6666666667; 11964 } 11965 11966 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 .widget-section ul li a { 11967 font-size: 12px; 11968 font-weight: 400; 11969 color: rgba(160,160,160,1); 11970 background: rgba(0,0,0,1); 11971 font-family: inherit; 11972 text-decoration: none; 11973 display: inline-block; 11974 white-space: normal; 11975 vertical-align: middle; 11976 } 11977 11978 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 .widget-section ul li a:hover { 11979 text-decoration: underline; 11980 } 11981 11982 .toggle-btn { 11983 display: inline-block; 11984 background-color: transparent; 11985 border: none; 11986 cursor: pointer; 11987 font-size: 0.8rem; 11988 margin-left: 10px; 11989 } 11990 11991 /* Mobile-specific styles (Dropdown applied only on mobile screens) */ 11992 @media only screen and (max-width: 800px) { 11993 11994 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 { 11995 display: flex; 11996 flex-direction: column; 11997 } 11998 11999 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 .widget-section h3 { 12000 display: flex; 12001 justify-content: space-between; 12002 align-items: center; 12003 width: 100%; 12004 margin-top: 0; 12005 font-size: 13px; 12006 padding-left: 1.07143rem; 12007 padding-right: 1.07143rem; 12008 } 12009 12010 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 .widget-section ul { 12011 margin-left: 1.15rem !important; 12012 } 12013 12014 .widget-section.open .toggle-btn .plus-icon { 12015 display: none; 12016 } 12017
12018 .widget-section.open .toggle-btn .minus-icon { 12019 display: inline-block; 12020 } 12021 12022 .widget-section:not(.open) .toggle-btn .plus-icon { 12023 display: inline-block; 12024 } 12025 12026 .widget-section:not(.open) .toggle-btn .minus-icon { 12027 display: none; 12028 } 12029 12030 .plus-icon { 12031 width: 18px; 12032 height: 18px; 12033 fill: #000000; 12034 transform: scale(1.1); 12035 } 12036 12037 .minus-icon { 12038 width: 15px; 12039 height: 18px; 12040 transform: scale(1.1); 12041 } 12042 12043 .toggle-btn { 12044 padding: 0; 12045 } 12046 12047 .toggle-btn:hover, 12048 .toggle-btn:focus { 12049 background: #efefef; 12050 } 12051 12052 .widget-content { 12053 display: block; 12054 overflow: hidden; 12055 max-height: 0; 12056 transition: max-height 0.8s ease-in-out; /* Slower */ 12057 } 12058 } 12059 12060 /* Large screen styles (Content fully displayed without dropdown) */ 12061 @media only screen and (min-width: 800px) { 12062 12063 .widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51 .widget-content { 12064 max-height: none; 12065 } 12066 12067 .toggle-btn { 12068 display: none; 12069 } 12070 } 12071 12072 </style> 12073 12074<div class="widget-container-61f6964b-0c09-4a98-9905-c49a227e8a51"> 12075 <div class="widget-section"> 12076 <h3> 12077 For Business 12078 <button class="toggle-btn" onclick="toggleDropdown('61f6964b-0c09-4a98-9905-c49a227e8a51')"> 12079 <svg class="plus-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"> 12080 <path d="M13,13 L13,20 C13,20.5522847 12.5522847,21 12,21 C11.4477153,21 11,20.5522847 11,20 L11,13 L4,13 C3.44771525,13 3,12.5522847 3,12 C3,11.4477153 3.44771525,11 4,11 L11,11 L11,4 C11,3.44771525 11.4477153,3 12,3 C12.5522847,3 13,3.44771525 13,4 L13,11 L20,11 C20.5522847,11 21,11.4477153 21,12 C21,12.5522847 20.5522847,13 20,13 L13,13 Z"></path> 12081 </svg> 12082 <svg class="minus-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"> 12083 <path d="M19 13H5a1 1 0 0 1 0-2h14a1 1 0 0 1 0 2z"></path> 12084 </svg> 12085 </button> 12086 </h3> 12087 <div id="widget-content-61f6964b-0c09-4a98-9905-c49a227e8a51" class="widget-content"> 12088 <ul> 12089 <li class="navigationlist "> 12090 <a href="/taxi-bundles/" class="widget-button-blog-section-">Cab & Rideshare Drivers</a> 12091 </li> 12092 </ul> 12093 </div> 12094 </div> 12095</div> 12096
12097<script> 12098 function toggleDropdown(id) { 12099 const content = document.getElementById('widget-content-' + id); 12100 const section = content.parentElement; 12101 12102 if (section.classList.contains('open')) { 12103 content.style.maxHeight = content.scrollHeight + "px"; // Set to full height 12104 requestAnimationFrame(() => { 12105 content.style.maxHeight = "0"; // Collapse 12106 }); 12107 section.classList.remove('open'); 12108 } else { 12109 content.style.maxHeight = "0"; // Reset height 12110 requestAnimationFrame(() => { 12111 content.style.maxHeight = content.scrollHeight + "px"; // Expand 12112 }); 12113 section.classList.add('open'); 12114 } 12115 } 12116</script>
12116</div> 12117 </div> 12118 <div data-sub-layout="70b147fd-b9e2-4d29-a472-b1404b780abc"> 12119 <style data-column-styling="70b147fd-b9e2-4d29-a472-b1404b780abc"> 12120 [data-sub-layout="70b147fd-b9e2-4d29-a472-b1404b780abc"] { 12121 display: flex; 12122 flex-direction: column; 12123 box-sizing: border-box; 12124 flex-basis: 33.333333%; 12125 max-width: 33.333333%; 12126 z-index: 0; 12127 position: relative; 12128 height: ; 12129 padding-top: 0px; 12130 padding-right: 10.5px; 12131 padding-bottom: 0px; 12132 padding-left: 10.5px; 12133 margin-top: 0px; 12134 margin-right: 0px; 12135 margin-bottom: 0px; 12136 margin-left: 0px; 12137 border-width: 0px; 12138 border-style: solid; 12139 border-color: #333333; 12140 justify-content: center; 12141 } 12142 [data-sub-layout="70b147fd-b9e2-4d29-a472-b1404b780abc"]:after { 12143 display: block; 12144 position: absolute; 12145 top: 0; 12146 left: 0; 12147 bottom: 0; 12148 right: 0; 12149 background-size: cover; 12150 z-index: auto; 12151 } 12152 @media only screen and (max-width: 700px) { 12153 [data-sub-layout="70b147fd-b9e2-4d29-a472-b1404b780abc"] { 12154 flex-basis: 100%; 12155 max-width: 100%; 12156 } 12157 } 12158 </style> 12159 <div data-widget-id="7f0250df-e362-4875-bfc5-baf68bf80500" data-placement-id="c07bc89a-b5b5-49e9-a544-2605f1d463a9" data-placement-status="ACTIVE"> <style> 12160.custom-app-section { 12161 background-color: var( --global-secondarydarkest-color); 12162 color: var(--global_primarywhite-color); 12163 padding-left: 1.07143rem; 12164 padding-right: 1.07143rem; 12165 text-align: left; 12166 margin-top:5px; 12167} 12168 12169.custom-app-title { 12170 /* font-size: 12px; */ 12171 margin-bottom: 20px; 12172 color: var(--global_primarywhite-color); 12173} 12174 12175.custom-app-buttons { 12176 display: flex; 12177 gap: 20px; 12178 /* flex-wrap: wrap; */ 12179 flex-direction:column; 12180} 12181 12182.custom-store-btn { 12183 display: flex; 12184 align-items: center; 12185 background: #1a1a1a; 12186 border-radius: 18px; 12187 /* padding: 10px 20px; */ 12188 padding: 8px 26px 10px 16px; 12189 text-decoration: none; 12190 color: var(--global_primarywhite-color); 12191 transition: background 0.3s ease; 12192 min-width: 162px; 12193 min-height:66px; 12194} 12195 12196.custom-app-icon-text{ 12197 /* font-size: 12px; */ 12198 color: var(--global_primarywhite-color) !important; 12199} 12200 12201.custom-store-btn:hover { 12202 background: #2a2a2a; 12203} 12204 12205.custom-store-btn img { 12206 width: 28px; 12207 height: 28px; 12208 margin-right: 2px; 12209} 12210 12211.custom-store-text { 12212 display: flex; 12213 flex-direction: column; 12214 line-height: 1.2; 12215} 12216 12217.custom-store-text span { 12218 /* font-size: 12px; */ 12219 color: var(--global-secondarymedium-color); 12220} 12221 12222.custom-store-text{ 12223 /* font-size: 12px; */ 12224 font-weight: 600; 12225 color: var(--global_primarywhite-color); 12226} 12227 12228.custom-apple-icon{ 12229 width:45px !important; 12230 height:45px !important; 12231} 12232 12233@media (min-width: 1200px) and (max-width: 1572px) { 12234 .custom-app-buttons { 12235 /* display: nowrap !important; */ 12236 flex-direction:row !important; 12237 } 12238 12239 .custom-store-btn { 12240 min-width: 166px !important; 12241 } 12242 12243 .custom-store-text { 12244 /* font-size:10px !important; */ 12245 } 12246} 12247 12248@media (min-width: 800px) and (max-width: 1198px) { 12249 .custom-store-btn { 12250 width:100px; 12251 } 12252} 12253 12254@media (max-width: 600px) { 12255 .custom-app-buttons { 12256 flex-direction: column; 12257 align-items: flex-start; 12258 } 12259 12260 .custom-store-btn { 12261 width: 100%; 12262 justify-content: center; 12263 } 12264} 12265 12266@media screen and (min-width: 1573px) { 12267 .custom-app-buttons { 12268 flex-direction: row; 12269 } 12270} 12271 12272</style> 12273 12274<section class="custom-app-section"> 12275 <h3 class="custom-app-title nb_fs_txt_std">Nextbase App</h3> 12276 <div class="custom-app-buttons"> 12277 <a href="https://apps.apple.com/gb/app/nextbase/id6503702226" class="custom-store-btn custom-app-store"> 12278 <img class="custom-apple-icon" src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/appleiconfooter.png" alt="Apple logo"> 12279 <div class="custom-store-text">
12280 <span class="nb_fs_txt_sm">Get it on</span> 12281 <span class="custom-app-icon-text nb_fs_txt_std">App Store</span> 12282 </div> 12283 </a> 12284 <a href="https://play.google.com/store/apps/details?id=com.nextbase.app&hl=en_GB" class="custom-store-btn custom-google-play"> 12285 <img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/google-pay-icon-footer.png" alt="Google Play logo"> 12286 <div class="custom-store-text"> 12287 <span class="nb_fs_txt_sm">Get it on</span> 12288 <span class="custom-app-icon-text nb_fs_txt_std">Google Play</span> 12289 </div> 12290 </a> 12291 </div> 12292</section> 12293 12294<!-- footer links section --> 12295<style> 12296.custom-footer-social-media-links-container { 12297 width: fit-content; 12298 padding-left: 1.07143rem; 12299 padding-right: 1.07143rem; 12300} 12301 12302.custom-footer-social-media-links-heading { 12303 color: var(--global_primarywhite-color); 12304 /* font-size: 12px; */ 12305 padding-top:20px; 12306} 12307 12308.custom-footer-social-media-links-section { 12309 display: flex; 12310 align-items: center; 12311 gap: 12px; /* spacing between icons */ 12312} 12313 12314.custom-footer-social-media-links-section a img { 12315 width: 20px; 12316 height: 20px; 12317} 12318</style> 12319 12320<div class="custom-footer-social-media-links-container"> 12321 <h3 class="custom-footer-social-media-links-heading nb_fs_txt_std">Follow Us</h3> 12322 <div class="custom-footer-social-media-links-section"> 12323 <a href="https://www.facebook.com/nextbaseuk/" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/facebook.png" alt="Facebook"></a> 12324 <a href="https://x.com/nextbaseuk/" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/twitter.png" alt="Twitter"></a> 12325 <a href="https://www.youtube.com/channel/UCoNFMZmrszsa-DabhyUY0vg" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/youtube.png" alt="YouTube"></a> 12326 <a href="https://www.tiktok.com/@nextbaseuk" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/tiktok.png" alt="TikTok"></a> 12327 <a href="https://www.linkedin.com/company/nextbase/" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/linkedin.png" alt="LinkedIn"></a> 12328 <a href="https://www.instagram.com/nextbase_uk/" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/instagram.png" alt="Instagram"></a> 12329 </div> 12330</div> 12331 12332<style> 12333@media only screen and (max-width: 800px) { 12334 12335 [data-sub-layout-container="b9dbbb86-647f-4f15-ba4c-e658fb63ffbe"] { 12336 display: flex !important; 12337 flex-wrap: wrap !important; 12338 } 12339 12340 [data-sub-layout="437360c3-819d-4521-a149-b6ece1d87fb6"]{ 12341 order:1 !important; 12342 } 12343 12344 [data-sub-layout="c623e4a0-4e6d-4c48-b1b8-cc3cd662e86f"]{ 12345 order:2 !important; 12346 } 12347 12348 [data-sub-layout="e0224c6d-1678-4c62-9b42-0bc696e7caf7"]{ 12349 order:3 !important; 12350 } 12351 12352 .custom-app-section, 12353 .custom-footer-social-media-links-container{ 12354 display:none !important; 12355 } 12356 12357 .custom-footer-social-media-links-heading{ 12358 /* font-size: 11px !important */ 12359 } 12360 } 12361</style> 12362 12363 12364</div> 12365 </div> 12366</div> 12367 12368 <div data-sub-layout-container="c7d9c51c-44f1-4174-b6e9-564e1c317f11" data-layout-name="Layout"> 12369 <style data-container-styling="c7d9c51c-44f1-4174-b6e9-564e1c317f11"> 12370 [data-sub-layout-container="c7d9c51c-44f1-4174-b6e9-564e1c317f11"] { 12371 box-sizing: border-box; 12372 display: flex; 12373 flex-wrap: wrap; 12374 z-index: 0; 12375 position: relative; 12376 height: ; 12377 padding-top: 0px; 12378 padding-right: 0px; 12379 padding-bottom: 0px; 12380 padding-left: 0px; 12381 margin-top: 0px; 12382 margin-right: 0px; 12383 margin-bottom: 0px; 12384 margin-left: 0px; 12385 border-width: 0px; 12386 border-style: solid; 12387 border-color: #333333; 12388 } 12389 12390 [data-sub-layout-container="c7d9c51c-44f1-4174-b6e9-564e1c317f11"]:after { 12391 display: block; 12392 position: absolute; 12393 top: 0; 12394 left: 0; 12395 bottom: 0; 12396 right: 0; 12397 background-size: cover; 12398 z-index: auto; 12399 } 12400 </style> 12401 12402 <div data-sub-layout="f3baeac9-09df-4da1-afaa-6bc85913af7d"> 12403 <style data-column-styling="f3baeac9-09df-4da1-afaa-6bc85913af7d"> 12404 [data-sub-layout="f3baeac9-09df-4da1-afaa-6bc85913af7d"] { 12405 display: flex; 12406 flex-direction: column; 12407 box-sizing: border-box; 12408 flex-basis: 25%; 12409 max-width: 25%; 12410 z-index: 0; 12411 position: relative; 12412 height: ; 12413 padding-top: 0px; 12414 padding-right: 10.5px; 12415 padding-bottom: 0px; 12416 padding-left: 10.5px; 12417 margin-top: 0px; 12418 margin-right: 0px; 12419 margin-bottom: 0px; 12420 margin-left: 0px; 12421 border-width: 0px; 12422 border-style: solid; 12423 border-color: #333333; 12424 justify-content: center; 12425 } 12426 [data-sub-layout="f3baeac9-09df-4da1-afaa-6bc85913af7d"]:after { 12427 display: block; 12428 position: absolute; 12429 top: 0; 12430 left: 0; 12431 bottom: 0; 12432 right: 0; 12433 background-size: cover; 12434 z-index: auto; 12435 } 12436 @media only screen and (max-width: 700px) { 12437 [data-sub-layout="f3baeac9-09df-4da1-afaa-6bc85913af7d"] { 12438 flex-basis: 100%; 12439 max-width: 100%; 12440 } 12441 } 12442 </style> 12443 <div data-widget-id="88aa2f78-d565-4e6b-8a09-dc3510a22a4b" data-placement-id="1579ce12-ebb5-409c-81b1-076fed6f8c3f" data-placement-status="ACTIVE"><style> 12444 @media (max-width: 799.9px) { 12445 .custom-logo-image-container{ 12446 text-align: center; 12447 padding-bottom: 2em; 12448 } 12449 12450 .minus-icon,.plus-icon{
12451 fill:var(--global_primarywhite-color) !important; 12452 } 12453 12454 .toggle-btn:hover, 12455 .toggle-btn:focus { 12456 background-color: var( --global-secondarydarkest-color); 12457 } 12458} 12459 12460.custom-logo-image-container{ 12461 img{ 12462 /* width:150px; */ 12463 } 12464} 12465 12466[data-sub-layout-container="c7d9c51c-44f1-4174-b6e9-564e1c317f11"]{ 12467 border-bottom: 1px solid #474747; 12468} 12469</style> 12470 12471<div class="custom-logo-image-container"> 12472<a href="https://nextbase.com/"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/new-logo.png" alt="Nextbase Logo"></a> 12473</div> 12474 12475<style> 12476 /* Hide the button initially on desktop */ 12477.toggle-btn { 12478 display: none; 12479 background-color: transparent; 12480 border: none; 12481 cursor: pointer; 12482 font-size: 1.2em; 12483 margin-left: 10px; 12484} 12485 12486/* Mobile-specific toggle button */ 12487@media only screen and (max-width: 769px) { 12488 .toggle-btn { 12489 display: inline-block; 12490 } 12491 12492 /* Default icon (closed) */ 12493 .toggle-btn::after { 12494 content: "\2304"; 12495 font-size: 13px; 12496 font-weight: 400; 12497 display: inline-block; 12498 transform: scaleX(2); 12499 vertical-align:top; 12500 } 12501 12502 /* Open icon */ 12503 .widget-section.open .toggle-btn::after { 12504 content: "\2303"; 12505 font-size: 13px; 12506 font-weight: 400; 12507 display: inline-block; 12508 transform: scaleX(2); 12509 vertical-align:top; 12510 } 12511 12512 .plus-icon,.minus-icon{ 12513 display:none !important; 12514 } 12515} 12516</style> 12517</div> 12518 </div> 12519 <div data-sub-layout="01131d76-e487-4b60-bd4c-1180a526a2b0"> 12520 <style data-column-styling="01131d76-e487-4b60-bd4c-1180a526a2b0"> 12521 [data-sub-layout="01131d76-e487-4b60-bd4c-1180a526a2b0"] { 12522 display: flex; 12523 flex-direction: column; 12524 box-sizing: border-box; 12525 flex-basis: 75%; 12526 max-width: 75%; 12527 z-index: 0; 12528 position: relative; 12529 height: ; 12530 padding-top: 0px; 12531 padding-right: 10.5px; 12532 padding-bottom: 0px; 12533 padding-left: 10.5px; 12534 margin-top: 0px; 12535 margin-right: 0px; 12536 margin-bottom: 0px; 12537 margin-left: 0px; 12538 border-width: 0px; 12539 border-style: solid; 12540 border-color: #333333; 12541 justify-content: center; 12542 } 12543 [data-sub-layout="01131d76-e487-4b60-bd4c-1180a526a2b0"]:after { 12544 display: block; 12545 position: absolute; 12546 top: 0; 12547 left: 0; 12548 bottom: 0; 12549 right: 0; 12550 background-size: cover; 12551 z-index: auto; 12552 } 12553 @media only screen and (max-width: 700px) { 12554 [data-sub-layout="01131d76-e487-4b60-bd4c-1180a526a2b0"] { 12555 flex-basis: 100%; 12556 max-width: 100%; 12557 } 12558 } 12559 </style> 12560 <div data-widget-id="d9132266-4bac-4e6a-92cb-16df632faf36" data-placement-id="4096b275-4ebe-42a4-8748-cbc592fd84bd" data-placement-status="ACTIVE"><style> 12561.cm-footer-text-links { 12562 display: grid; 12563 grid-auto-flow: column; 12564 gap: 10px; 12565} 12566 12567.cm-footer-text-links a { 12568 text-decoration: none; 12569 padding: 5px 0; 12570 color: var(--global-secondarymedium-color); 12571 /* font-size: 12px; */ 12572} 12573 12574@media (max-width: 799.9px) { 12575 .cm-footer-text-links { 12576 grid-template-columns: repeat(2, 1fr); 12577 grid-auto-flow: unset; 12578 text-align: center; 12579 white-space: nowrap; 12580 } 12581 12582 /* Center the 3rd link on mobile */ 12583 .cm-footer-text-links a:nth-child(3) { 12584 grid-column: 1 / -1; 12585 text-align: center; 12586 } 12587 12588 .cm-footer-text-links a { 12589 /* font-size: 11px !important; */ 12590 } 12591} 12592</style> 12593 12594<div class="cm-footer-text-links"> 12595 <a class="nb_fs_txt_std" href="/terms-and-conditions/">Terms & Conditions</a> 12596 <a class="nb_fs_txt_std" href="/legal-and-privacy-policies/">Privacy Policy</a> 12597 <a class="nb_fs_txt_std" href="/cookie-policy/">Cookie Policy</a> 12598</div> 12599 12600<!-- footer links section --> 12601<style> 12602.custom-footer-social-media-links-container-mobile { 12603 width: fit-content; 12604 padding-left: 1.07143rem; 12605 padding-right: 1.07143rem; 12606 padding-top: 20px; 12607} 12608 12609.custom-footer-social-media-links-heading { 12610 color: var(--global_primarywhite-color); 12611 /* font-size: 12px; */ 12612} 12613 12614.custom-footer-social-media-links-section { 12615 display: flex; 12616 align-items: center; 12617 gap: 12px; /* spacing between icons */ 12618} 12619 12620.custom-footer-social-media-links-section a img {
12621 width: 20px; 12622 height: 20px; 12623} 12624 12625@media (max-width: 799.9px) { 12626 .custom-footer-social-media-links-container-mobile{ 12627 display:block; 12628 } 12629} 12630 12631@media (min-width: 800px) { 12632 .custom-footer-social-media-links-container-mobile{ 12633 display:none; 12634 } 12635} 12636 12637@media (max-width: 799.9px) { 12638 .custom-footer-social-media-links-container-mobile{ 12639 text-align: center; 12640 width: 100%; 12641 padding-top:2em; 12642 padding-bottom:2em; 12643 } 12644 12645 .custom-footer-social-media-links-section{ 12646 display:flex; 12647 justify-content:center; 12648 } 12649 12650} 12651 12652[data-sub-layout-container="d22360d5-64c1-460f-9736-85d9cc8655ac"]{ 12653 border-bottom: 1px solid #474747; 12654} 12655 12656.cm-footer-copyright-container { 12657 padding: 0px 0 15px 0 !important; 12658 border-top: unset !important; 12659} 12660</style> 12661 12662<div class="custom-footer-social-media-links-container-mobile"> 12663 <h3 class="custom-footer-social-media-links-heading nb_fs_txt_std">Follow Us</h3> 12664 <div class="custom-footer-social-media-links-section"> 12665 <a href="https://www.facebook.com/nextbaseuk/" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/facebook.png" alt="Facebook"></a> 12666 <a href="https://x.com/nextbaseuk/" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/twitter.png" alt="Twitter"></a> 12667 <a href="https://www.youtube.com/channel/UCoNFMZmrszsa-DabhyUY0vg" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/youtube.png" alt="YouTube"></a> 12668 <a href="https://www.tiktok.com/@nextbaseuk" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/tiktok.png" alt="TikTok"></a> 12669 <a href="https://www.linkedin.com/company/nextbase/" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/linkedin.png" alt="LinkedIn"></a> 12670 <a href="https://www.instagram.com/nextbase_uk/" target="_blank"><img src="https://cdn11.bigcommerce.com/s-8mw570y811/images/stencil/original/image-manager/instagram.png" alt="Instagram"></a> 12671 </div> 12672</div> 12673 12674</div> 12675 </div> 12676</div> 12677 12678</div></div> 12679 </div> 12680 <div class="footer-title-sr-only">Footer Start</div> 12681 <div class="container cm-container-footer"> 12682 12683 <div class="cm-footer-copyright-container"> 12684 <div class="cm-footer-country-and-copyright-container"> 12685 <div class="cm-footer-country-selectors navUser-action.region-selector-trigger"> 12686 <a href="#top" 12687 class="navUser-action mricontop country-selector-hide cm-footer-country-click cm-region-click"> 12688 <span class="region-icon cm-footer-img"></span> 12689 <span id="cm-country-name-footer"></span> 12690 </a> 12691 </div> 12692 12693 12694 12695 <div class="cm-footer-copyright-section"> 12696 <span class="cm-footer-Copyright-content"> 12697 Copyright © 2026 Portable Multimedia Ltd T/A Nextbase All Rights Reserved.</span> 12698 </div> 12699 </div> 12700 12701 <div class="cm-footer-social-media-main-container"> 12702 12703 <div class="cm-footer-social-media-container"> 12704 <div class="cm-footer-social-media-heading"> 12705 Follow us 12706 </div> 12707 <ul class="socialLinks socialLinks--alt"> 12708 <li class="socialLinks-item"> 12709 <a class="icon icon--facebook" 12710 href="https://www.facebook.com/NextbaseDashCams" 12711 target="_blank" 12712 rel="noopener" 12713 title="Facebook" 12714 > 12715 <span class="aria-description--hidden">Facebook</span> 12716 <svg> 12717 <use href="#icon-facebook"/> 12718 </svg> 12719 </a> 12720 </li> 12721 <li class="socialLinks-item"> 12722 <a class="icon icon--x" 12723 href="https://twitter.com/NextbaseDashCam" 12724 target="_blank" 12725 rel="noopener" 12726 title="X" 12727 >
12728 <span class="aria-description--hidden">X</span> 12729 <svg> 12730 <use href="#icon-x"/> 12731 </svg> 12732 </a> 12733 </li> 12734 <li class="socialLinks-item"> 12735 <a class="icon icon--instagram" 12736 href="https://www.instagram.com/nextbase/" 12737 target="_blank" 12738 rel="noopener" 12739 title="Instagram" 12740 > 12741 <span class="aria-description--hidden">Instagram</span> 12742 <svg> 12743 <use href="#icon-instagram"/> 12744 </svg> 12745 </a> 12746 </li> 12747 <li class="socialLinks-item"> 12748 <a class="icon icon--youtube" 12749 href="https://www.youtube.com/channel/UCoNFMZmrszsa-DabhyUY0vg" 12750 target="_blank" 12751 rel="noopener" 12752 title="Youtube" 12753 > 12754 <span class="aria-description--hidden">Youtube</span> 12755 <svg> 12756 <use href="#icon-youtube"/> 12757 </svg> 12758 </a> 12759 </li> 12760 <li class="socialLinks-item"> 12761 <a class="icon icon--linkedin" 12762 href="https://www.linkedin.com/company/nextbase/" 12763 target="_blank" 12764 rel="noopener" 12765 title="Linkedin" 12766 > 12767 <span class="aria-description--hidden">Linkedin</span> 12768 <svg> 12769 <use href="#icon-linkedin"/> 12770 </svg> 12771 </a> 12772 </li> 12773 </ul> 12774 </div> 12775 </div> 12776 </div> 12777 <div class="cm-footer-copyright-section-mobile"> 12778 <div class="cm-footer-copyright-section"> 12779 <span class="cm-footer-Copyright-content"> 12780 Copyright © 2026 Portable Multimedia Ltd T/A Nextbase All Rights Reserved.</span> 12781 </div> 12782 </div> 12783 <div data-content-region="ssl_site_seal--global"><div data-layout-id="5787277c-8e02-4325-8457-f1f95df1017f"> <div data-sub-layout-container="a896c351-7a3b-4bdd-93cc-d81a3a07ab12" data-layout-name="Store Specific content change code"> 12784 <style data-container-styling="a896c351-7a3b-4bdd-93cc-d81a3a07ab12"> 12785 [data-sub-layout-container="a896c351-7a3b-4bdd-93cc-d81a3a07ab12"] { 12786 box-sizing: border-box; 12787 display: flex; 12788 flex-wrap: wrap; 12789 z-index: 0; 12790 position: relative; 12791 height: ; 12792 padding-top: 0px; 12793 padding-right: 0px; 12794 padding-bottom: 0px; 12795 padding-left: 0px; 12796 margin-top: 0px; 12797 margin-right: 0px; 12798 margin-bottom: 0px; 12799 margin-left: 0px; 12800 border-width: 0px; 12801 border-style: solid; 12802 border-color: #333333; 12803 } 12804 12805 [data-sub-layout-container="a896c351-7a3b-4bdd-93cc-d81a3a07ab12"]:after { 12806 display: block; 12807 position: absolute; 12808 top: 0; 12809 left: 0; 12810 bottom: 0; 12811 right: 0; 12812 background-size: cover; 12813 z-index: auto; 12814 } 12815 </style> 12816 12817 <div data-sub-layout="6379b0cc-ecad-48d0-bcf9-82432b4c0300"> 12818 <style data-column-styling="6379b0cc-ecad-48d0-bcf9-82432b4c0300"> 12819 [data-sub-layout="6379b0cc-ecad-48d0-bcf9-82432b4c0300"] { 12820 display: flex; 12821 flex-direction: column; 12822 box-sizing: border-box; 12823 flex-basis: 100%; 12824 max-width: 100%; 12825 z-index: 0; 12826 position: relative; 12827 height: ; 12828 padding-top: 0px; 12829 padding-right: 10.5px; 12830 padding-bottom: 0px; 12831 padding-left: 10.5px; 12832 margin-top: 0px; 12833 margin-right: 0px; 12834 margin-bottom: 0px; 12835 margin-left: 0px; 12836 border-width: 0px; 12837 border-style: solid; 12838 border-color: #333333; 12839 justify-content: center; 12840 } 12841 [data-sub-layout="6379b0cc-ecad-48d0-bcf9-82432b4c0300"]:after { 12842 display: block; 12843 position: absolute; 12844 top: 0; 12845 left: 0; 12846 bottom: 0; 12847 right: 0; 12848 background-size: cover; 12849 z-index: auto; 12850 } 12851 @media only screen and (max-width: 700px) { 12852 [data-sub-layout="6379b0cc-ecad-48d0-bcf9-82432b4c0300"] { 12853 flex-basis: 100%; 12854 max-width: 100%; 12855 } 12856 } 12857 </style> 12858 <div data-widget-id="7351c203-cf73-44a4-86ee-9dab460d7a0b" data-placement-id="8877dbcd-85b7-4194-941c-38e9f847894e" data-placement-status="ACTIVE">
12858<script> 12859/** 12860 * ============================================================================ 12861 * CONTENT TEXT REPLACEMENT SCRIPT 12862 * ============================================================================ 12863 * 12864 * PURPOSE 12865 * ------- 12866 * Replaces visible text on the page after it has rendered. 12867 * 12868 * Designed for: 12869 * â BigCommerce 12870 * â Shogun Text Widgets 12871 * â Shogun Custom Widgets 12872 * â Tabs 12873 * â Accordions 12874 * â Lazy-loaded content 12875 * 12876 * IMPORTANT 12877 * --------- 12878 * - Only visible text is replaced. 12879 * - Classes, IDs, data attributes and JavaScript functionality are NOT modified. 12880 * - Safe to use on production. 12881 * 12882 * ============================================================================ 12883 */ 12884 12885(function () { 12886 12887 /** 12888 * ------------------------------------------------------------------------ 12889 * Allowed Domains 12890 * ------------------------------------------------------------------------ 12891 * Add new domains to this array whenever required. 12892 * 12893 * Example: 12894 * "nextbase.com" 12895 * "nextbase.co.uk" 12896 * "nextbase.com.au" 12897 * "nextbase-sandbox-3.mybigcommerce.com" 12898 */ 12899 12900 const ALLOWED_DOMAINS = [ 12901 12902 "nextbase-sandbox-3.mybigcommerce.com", 12903 "nextbase.com", 12904 "nextbase.ca", 12905 ]; 12906 12907 if (!ALLOWED_DOMAINS.includes(window.location.hostname)) { 12908 return; 12909 } 12910 12911 /** 12912 * ------------------------------------------------------------------------ 12913 * Text Replacements 12914 * ------------------------------------------------------------------------ 12915 * Add as many replacements as required. 12916 * 12917 * Format: 12918 * find: Regular Expression 12919 * replace: New text 12920 */ 12921 12922 const REPLACEMENTS = [ 12923 12924 { 12925 find: /Image Stabilisation/gi, 12926 replace: "Image Stabilization" 12927 }, 12928 12929 // Example: 12930 // { 12931 // find: /Colour/gi, 12932 // replace: "Color" 12933 // }, 12934 12935 // { 12936 // find: /Optimise/gi, 12937 // replace: "Optimize" 12938 // }, 12939 12940 // { 12941 // find: /Centre/gi, 12942 // replace: "Center" 12943 // } 12944 12945 ]; 12946 12947 12948 /** 12949 * ------------------------------------------------------------------------ 12950 * Replace Visible Text 12951 * ------------------------------------------------------------------------ 12952 */ 12953 12954 function replaceText(node) { 12955 12956 // Text Node 12957 if (node.nodeType === Node.TEXT_NODE) { 12958 12959 let text = node.nodeValue; 12960 12961 REPLACEMENTS.forEach(function (item) { 12962 text = text.replace(item.find, item.replace); 12963 }); 12964 12965 if (text !== node.nodeValue) { 12966 node.nodeValue = text; 12967 } 12968 12969 return; 12970 } 12971 12972 // Ignore non-element nodes 12973 if (node.nodeType !== Node.ELEMENT_NODE) return; 12974 12975 // Ignore these elements 12976 if (["SCRIPT", "STYLE", "NOSCRIPT", "TEXTAREA"].includes(node.tagName)) { 12977 return; 12978 } 12979 12980 node.childNodes.forEach(replaceText); 12981 } 12982 12983 12984 /** 12985 * ------------------------------------------------------------------------ 12986 * Initial Scan 12987 * ------------------------------------------------------------------------ 12988 */ 12989 12990 function processPage() { 12991 replaceText(document.body); 12992 } 12993 12994 12995 /** 12996 * ------------------------------------------------------------------------ 12997 * Run After Page Load 12998 * ------------------------------------------------------------------------ 12999 */ 13000 13001 window.addEventListener("load", function () { 13002 13003 processPage(); 13004 13005 /** 13006 * Watch for dynamically added content. 13007 * Covers: 13008 * - Shogun 13009 * - AJAX 13010 * - Tabs 13011 * - Accordions 13012 * - Lazy-loaded sections 13013 */ 13014 13015 const observer = new MutationObserver(function (mutations) { 13016 13017 mutations.forEach(function (mutation) { 13018 13019 mutation.addedNodes.forEach(function (node) { 13020 replaceText(node); 13021 }); 13022 13023 }); 13024 13025 }); 13026 13027 observer.observe(document.body, { 13028 childList: true, 13029 subtree: true 13030 }); 13031 13032 }); 13033 13034})(); 13035</script>
13035 13036 13037</div> 13038 </div> 13039</div> 13040 13041</div></div> 13042 <div id="myModal" class="modal" data-reveal style="border-radius: 20px;background: #353948;box-shadow: 0 0 30px #060910;"> 13043 <span class="modal-close" aria-label="Close" role="button"> 13044 <i class="fa fa-times" aria-hidden="true"></i></span> 13045 <div class="modal-content howtobuy" id="howtobuy"></div> 13046 <div class="modal-content" id="howtobuy1"></div> 13047 </div> 13048 13049 <p data-reveal-id="myModal" style="display: none" class="showpopup"></p> </div> 13050 </footer> 13051</div> 13052<div id="phf_integration" style="display:none"></div> 13053 <div class="nb-cookies-container"> 13054 <div class="nb-consent-manager-wrapper" id="nb-consent-manager-wrapper"> 13055 <div id="nb-consent-manager-container"> 13056 <div class="nb-cookie-content"> 13057 <div class="css-10z1g2q nb-cookie-content-wrapper" style="display: block;"> 13058 <div class="nb-cookie-content-section"> 13059 <div class="css-ra9y5f"> 13060 <div class="contentcookies"> 13061 <img src="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/images/stencil/250x32/logo_1757415802__32203.original_1757997075.original.png" alt="nextbase-cookie-logo" class="nb-cookie-logo"> 13062 <br> 13063 <div class="nb-cookie-title">You control your data</div> 13064 <p class="nb-cookie-description">We use cookies to personalize and enhance your browsing experience on our website.</p> 13065 <form class="cookiescontent"> 13066 <ol style="display: inline-table;"> 13067 13068 <li><div class="nb-slider-container"> 13069 Essential 13070 <div class="switch round small disabledcheck"> 13071 <input id="exampleCheckboxSwitc" type="checkbox" name="essential" checked disabled> 13072 <label for="exampleCheckboxSwitc"></label> 13073 </div> 13074 </div> 13075 </li> 13076 13077 <li><div class="nb-slider-container"> 13078 Functional 13079 <div class="switch round small"> 13080 <input id="exampleCheckboxSwitch" type="checkbox" name="functional" value="2"> 13081 <label for="exampleCheckboxSwitch"></label> 13082 </div> 13083 </div> 13084 </li> 13085 <li><div class="nb-slider-container"> 13086 Analytics 13087 <div class="switch round small"> 13088 <input id="exampleCheckboxSwitch1" type="checkbox" name="analytics" value="3"> 13089 <label for="exampleCheckboxSwitch1"></label> 13090 </div> 13091 </div></li> 13092 <li> 13093 <div class="nb-slider-container"> 13094 Advertising 13095 <div class="switch round small"> 13096 <input id="exampleCheckboxSwitch2" type="checkbox" name="targeting" value="4"> 13097 <label for="exampleCheckboxSwitch2"></label> 13098 </div> 13099 </div> 13100 </li> 13101 </ol> 13102 </form> 13103 <p class="cookiescontentdescription nb-cookie-description">
13104 By clicking <span class="acceptbuttonlink">"Accept All Cookies"</span>,you agree to the use of cookies. You can manage your settings through âCookie Preferencesâ or read our policy to 13105 <a href="/cookie-policy/" target="_blank">learn more</a>. 13106 </p> 13107 </div> 13108 </div> 13109 13110 <div class="css-1wn42nw"> 13111 <div class="button_cookies_policy"> 13112 <button class="css-1k76mzs cookie-preferences-button">Cookie Preferences</button> 13113 <button class="rejectall" style="display: none;">Reject All</button> 13114 </div> 13115 <button class="css-a0j149" data-btn-text-cookies="Accept All Cookies">Accept All Cookies</button> 13116 </div> 13117 </div> 13118 </div> 13119 </div> 13120 </div> 13121 </div> 13122</div> 13123 13124 13125<style> 13126 13127.wg-default, .wg-default .country-selector { 13128 position: fixed; 13129 left: 20px !important; 13130 right: unset !important; 13131} 13132 13133</style> 13134 13135
13135<script nonce="">window.__webpack_public_path__ = "https://cdn11.bigcommerce.com/s-jpkc0tnv4j/stencil/38e65070-6704-013f-6375-66379f5904cc/e/88351440-94a8-013f-b863-46687f5e6f27/dist/";</script>
13135 13136
13136<script nonce=""> 13137 function onThemeBundleMain() { 13138 window.stencilBootstrap("page", "{\"breadcrumbs\":[{\"url\":\"https://nextbase.com/\",\"name\":\"Home\"},{\"url\":\"https://nextbase.com/exclusive-offers/\",\"name\":\"Exclusive Offers\"}],\"products\":[],\"phone\":null,\"email\":null,\"address\":null,\"home_Page_Title\":\"Dash Cams,Homepage | Nextbase,Exclusive Offers,4K Dash Cams,Off Road,Large Vehicles,Taxi Bundles,Imagery Solutions,Auto Manufacturers\",\"mob_nav_additional_image\":\"https://cdn11.bigcommerce.com/s-5o7xzmxoo0/images/stencil/original/image-manager/exclusive-offers.png?t=1760692639\",\"mob_nav_additional_image_link\":\"/exclusive-offers/?int-area=topnav\",\"spitit_setting\":\"{\\\"min\\\": 0, \\\"max\\\": 130.00, \\\"instalment\\\": 4} + {\\\"min\\\": 130.01, \\\"max\\\": 5000, \\\"instalment\\\": 6}\",\"klarnaPayLabel\":\"Affirm\",\"nextbasePayLabel\":\"interest-free, using your credit card with <span class=\\\"payMethods\\\">Nextbase Pay</span>\",\"Bestbuy\":true,\"show_bestbuy_on_store\":\"true\",\"Best_buy_heroku_app_link\":\"https://bb-nextbase-orders-app-23d77e4e33e0.herokuapp.com/\",\"react_webdav_installer_net_link\":\"https://nextbase.com\",\"zoomSize\":\"1280x1280\",\"productSize\":\"500x659\",\"genericError\":\"Oops! Something went wrong.\",\"urls\":{\"home\":\"https://nextbase.com/\",\"brands\":\"https://nextbase.com/brands/\",\"search\":\"https://nextbase.com/search.php\",\"compare\":\"https://nextbase.com/compare\",\"sitemap\":\"https://nextbase.com/sitemap.php\",\"contact_us_submit\":\"https://nextbase.com/pages.php?action=sendContactForm\",\"subscribe\":{\"action\":\"https://nextbase.com/subscribe.php\"},\"checkout\":{\"single_address\":\"https://nextbase.com/checkout\",\"multiple_address\":\"https://nextbase.com/checkout.php?action=multiple\"},\"account\":{\"orders\":{\"all\":\"https://nextbase.com/account.php?action=order_status\",\"completed\":\"https://nextbase.com/account.php?action=view_orders\",\"save_new_return\":\"https://nextbase.com/account.php?action=save_new_return\"},\"returns\":\"https://nextbase.com/account.php?action=view_returns\",\"addresses\":\"https://nextbase.com/account.php?action=address_book\",\"inbox\":\"https://nextbase.com/account.php?action=inbox\",\"send_message\":\"https://nextbase.com/account.php?action=send_message\",\"add_address\":\"https://nextbase.com/account.php?action=add_shipping_address\",\"update_action\":\"https://nextbase.com/account.php?action=update_account\",\"details\":\"https://nextbase.com/account.php?action=account_details\",\"recent_items\":\"https://nextbase.com/account.php?action=recent_items\",\"index\":\"https://nextbase.com/account.php\",\"wishlists\":{\"all\":\"https://nextbase.com/wishlist.php\",\"add\":\"https://nextbase.com/wishlist.php?action=addwishlist\",\"edit\":\"https://nextbase.com/wishlist.php?action=editwishlist\",\"delete\":\"https://nextbase.com/wishlist.php?action=deletewishlist\"}},\"auth\":{\"login\":\"https://nextbase.com/login.php\",\"check_login\":\"https://nextbase.com/login.php?action=check_login\",\"create_account\":\"https://nextbase.com/login.php?action=create_account\",\"save_new_account\":\"https://nextbase.com/login.php?action=save_new_account\",\"forgot_password\":\"https://nextbase.com/login.php?action=reset_password\",\"send_password_email\":\"https://nextbase.com/login.php?action=send_password_email\",\"save_new_password\":\"https://nextbase.com/login.php?action=save_new_password\",\"logout\":\"https://nextbase.com/login.php?action=logout\"},\"cart\":\"https://nextbase.com/cart.php\",\"product\":{\"post_review\":\"https://nextbase.com/postreview.php\"},\"gift_certificate\":{\"purchase\":\"https://nextbase.com/giftcertificates.php\",\"redeem\":\"https://nextbase.com/giftcertificates.php?action=redeem\",\"balance\":\"https://nextbase.com/giftcertificates.php?action=balance\"},\"rss\":{\"products\":[]}},\"secureBaseUrl\":\"https://nextbase.com\",\"cartId\":null,\"template\":\"pages/page\",\"validationDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_messages.val
13138id_email\\\":\\\"en\\\",\\\"validation_messages.password\\\":\\\"en\\\",\\\"validation_messages.password_match\\\":\\\"en\\\",\\\"validation_messages.invalid_password\\\":\\\"en\\\",\\\"validation_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"validationFallbackDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"en\\\",\\\"validation_fallback_messages.password\\\":\\\"en\\\",\\\"validation_fallback_messages.password_match\\\":\\\"en\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"en\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_fallback_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_fallback_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_fallback_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_fallback_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"validationDefaultDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_default_messages.val
13138id_email\\\":\\\"en\\\",\\\"validation_default_messages.password\\\":\\\"en\\\",\\\"validation_default_messages.password_match\\\":\\\"en\\\",\\\"validation_default_messages.invalid_password\\\":\\\"en\\\",\\\"validation_default_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_default_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_default_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_default_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_default_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_default_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_default_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_default_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_default_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_default_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_default_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_default_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_default_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_default_messages.field_not_blank\\\":\\\"The field cannot be blank.\\\",\\\"validation_default_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_default_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_default_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_default_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_default_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_default_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_default_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_default_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"carouselArrowAndDotAriaLabel\":\"Go to slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"carouselActiveDotAriaLabel\":\"active\",\"carouselContentAnnounceMessage\":\"You are currently on slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"storefrontApiToken\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJjaWQiOlsxXSwiY29ycyI6WyJodHRwczovL25leHRiYXNlLmNvbSJdLCJlYXQiOjE3OTA0MTc4NTYsImlhdCI6MTc5MDI0NTA1NiwiaXNzIjoiQkMiLCJzaWQiOjEwMDIwOTQxNzcsInN1YiI6IkJDIiwic3ViX3R5cGUiOjAsInRva2VuX3R5cGUiOjF9.S3S8xGMbF8uyiL_bUG2PwaaR0od0soYqNqRRDUwUuFqoMazRUJqvd_Q1Hl_rSifM5-bpGUwWAuXVgHI7WoWHAw\",\"store_logo\":{\"string\":\"https://cdn11.bigcommerce.com/s-jpkc0tnv4j/images/stencil/250x32/logo_1757415802__32203.original_1757997075.original.png\"},\"includeTaxPrice\":\"false\",\"CurrencySelector\":\"USD\",\"PageTitle\":\"Exclusive Offers\",\"clarna_installment_display\":\"false\",\"clarna_installment_divide_count\":\"splitit\",\"klarnaMessage\":\"Affirm\",\"cartShippingMessage\":\"Dash Cams,Smart Dash Cams,Modules,Exclusive Offers,Rear Cam Modules\",\"splite_installment_display\":true,\"spliteMessage\":\"Affirm\",\"exclusive_Page_Title\":\"Exclusive Offers,Exclusive Offers New, Renewed Dashcams,Christmas Offers,4K Dash Cams,Off Road,Large Vehicles,Taxi Bundles\",\"giftWrappingRemoveMessage\":\"Are you sure you want to remove the gift wrapping from this item?\",\"pageTitle\":\"Exclusive Offers\"}").load(); 13139 13140 function browserSupportsFormData() { 13141 return typeof FormData !== 'undefined' 13142 && !!FormData.prototype.keys; 13143 } 13144 function loadFormDataPolyfillScript(src) { 13145 var formDataPolyfillScript = document.createElement('script'); 13146 formDataPolyfillScript.src = src; 13147 formDataPolyfillScript.onerror = function () { 13148 console.error('Failed to load formData polyfill script ' + src); 13149 }; 13150 document.body.appendChild(formDataPolyfillScript); 13151 } 13152 13153 if (!browserSupportsFormData()) { 13154 loadFormDataPolyfillScript('https://cdn11.bigcommerce.com/s-jpkc0tnv4j/stencil/38e65070-6704-013f-6375-66379f5904cc/e/88351440-94a8-013f-b863-46687f5e6f27/dist/theme-bundle.polyfill_form_data.js'); 13155 } 13156 } 13157 </script>
13157 13158
13158<script id="theme-bundle-main" nonce="" async defer src="https://cdn11.bigcommerce.com/s-jpkc0tnv4j/stencil/38e65070-6704-013f-6375-66379f5904cc/e/88351440-94a8-013f-b863-46687f5e6f27/dist/theme-bundle.main.js"></script>
13158 13159
13159<script nonce=""> 13160 const scriptElement = document.getElementById('theme-bundle-main'); 13161 13162 if (scriptElement) { 13163 if (typeof window.stencilBootstrap === 'function') { 13164 onThemeBundleMain(); 13165 } else { 13166 scriptElement.addEventListener('load', onThemeBundleMain, { once: true }); 13167 } 13168 } else { 13169 console.error('Could not find script element with id "theme-bundle-main"'); 13170 } 13171 </script>
13171 13172 13173
13173<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/csrf-protection-header-5eeddd5de78d98d146ef4fd71b2aedce4161903e.js"></script>
vendor: 1 bytes, line 13173
13173
13174<script data-bc-cookie-consent="4" type="text/plain" src='https://admin.revenuehunt.com/embed.js?shop=portable-multimedia-limited.mybigcommerce.com' ></script>
13174<script src='https://na.shgcdn3.com/collector.js' async ></script>
13174<script src='https://static.klaviyo.com/onsite/js/X6W7RV/klaviyo.js?company_id=X6W7RV' async ></script>
13174<script src='https://cdn.pushowl.com/latest/sdks/pushowl-bigcommerce.js?subdomain=jpkc0tnv4j&environment=production&platform=bigcommerce&guid=c5686b40-8d09-4d18-98b7-21b9204735f1' async ></script>
13174<script> 13175/* 13176 13177if (~window.location.href.indexOf("/hub/tag/support") || ~window.location.href.indexOf("/help-and-support/") || ~window.location.href.indexOf("/contact-us/") || ~window.location.href.indexOf("/cart.php") || window.location.href.includes("build-own-bundle") || window.location.href.includes("build-your-own-bundle") || ~window.location.href.indexOf("/checkout")) { 13178 13179 var script = document.createElement('script'); 13180 script.type = 'text/javascript'; 13181 script.id = 'ze-snippet'; 13182 script.async = true; 13183 script.src = 'https://static.zdassets.com/ekr/snippet.js?key=d00d297c-5a4e-4aea-b534-074b84db85f1'; 13184 document.getElementsByTagName('head')[0].appendChild(script); 13185 13186} 13187 13188/* 13189</script>
13189<script> 13190 seller_type = localStorage.getItem('seller_type') 13191 13192 // section for selling country 13193 if (seller_type === 'S') { 13194 $(".show-for-selling-country").show() 13195 } else { 13196 $(".show-for-selling-country").hide() 13197 } 13198 13199 // section for non selling country 13200 if (seller_type === 'N') { 13201 $(".show-for-content-country").show() 13202 } else { 13203 $(".show-for-content-country").hide() 13204 } 13205</script>
13205 13206<!-- country wise hide section -->
13207<script> 13208// <!-- country wise hide section --> 13209 13210 var country_sku = localStorage.getItem('Country_sku') ? localStorage.getItem('Country_sku').toLowerCase() : false 13211 if(country_sku) 13212 { 13213 $('body').prepend(`<style>.hide-this-section-for-${country_sku} { display: none !important;}</style>`) 13214 } 13215 //$(`.hide-this-${country_sku}`).remove() 13216 13217 13218// <!-- country wise show section --> 13219 13220const countrySku1 = (localStorage.getItem('Country_sku') || '').toLowerCase(); 13221console.log("#### country wise show section01", countrySku1) 13222if (countrySku1) { 13223 $('head').append(` 13224 <style> 13225 [class*="show-this-section-for-"] { 13226 display: none !important; 13227 } 13228 13229 .show-this-section-for-${countrySku1} { 13230 display: block !important; 13231 } 13232 </style> 13233 `); 13234} 13235</script>
vendor: 1 bytes, line 13235
13235
13236<script type="text/javascript"> 13237 // klaviyo script 13238</script>
13238 13239
13240<script async type="text/javascript" src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=X6W7RV"></script>
13240<script type="text/javascript"> 13241$(document).ready(function() { 13242console.log("coupencode"); 13243function getQueryVariable() { 13244 var params = new Proxy(new URLSearchParams(window.location.search), { 13245 get: (searchParams, prop) => searchParams.get(prop), 13246 }); 13247 console.log("url parameters", params); 13248 let couponCode = params.couponcode; 13249 console.log("url parameters", couponCode); 13250 console.log("coupencode return", couponCode); 13251 return couponCode 13252 //console.log("url parameters couponCode", couponCode); 13253} 13254 13255var couponCode = getQueryVariable(); 13256 13257if(couponCode) { 13258$("#couponcode").val(couponCode); 13259$(".cart-form.coupon-code input[type='submit']").trigger('click'); 13260} 13261}); 13262 13263</script>
13263<script data-cfasync="false" data-dd-sm-ignore="true" data-cookieconsent="ignore" id="wsa-tag-manager-javascript-f-test" nonce="">!function(w,d){if(d.location.href.indexOf('showHidden=true')<0&&d.location.href.indexOf('shogun.page/previews')<0){w.TagRocket=w.TagRocket||{};var T=w.TagRocket;T.tef=[];w.onerror=function(m,s,l,c,e){T.tef.push((l?(l+' '):'')+(c?(c+' '):'')+m+(m.colno?(':'+m.colno):'')+(s?(' '+s):''));};var m=new Date().toISOString(),q='wsa-tag-manager-javascript-',z;T.taf=function(s){w.dataLayer=w.dataLayer||[];if(!w.gtag){w.gtag=function(){dataLayer.push(arguments)};gtag('js',new Date);t=d.createElement('script');t.async=!0;t.setAttribute('src','https://www.googletagmanager.com/gtag/js?id=G-7XTJM93TLW');d.head.appendChild(t)};if(!w.wsa_tre){var n='denied';gtag('consent',{functionality_storage:n,ad_storage:n,analytics_storage:n,ad_user_data:n,ad_personalization:n,personalization_storage:n,security_storage:n});gtag('config',"G-7XTJM93TLW",{groups:'TagRocketErrorTracking',send_page_view:false});;gtag('config',"G-7P4TZFQL4H",{groups:'TagRocketErrorTracking',send_page_view:false});gtag('event','tag_rocket_error',{send_to:["G-7P4TZFQL4H"],description:'Script Failure',app_version:'3.47.31',tag_rocket_version:'1.93',ua:navigator.userAgent});};w.wsa_tre=1;if(w.console)console.error('Tag Rocket (f): '+s,T.tef);T.tef.forEach(function(e){gtag('event','app_error',{send_to:'G-7XTJM93TLW',scope:s,description:s+' 3.47.31 f '+e,message:'f '+e,app_version:'3.47.31',automatic:0,tag_rocket_version:'1.93',pagedatetime:m,datetime:m,ua:navigator.userAgent,tags:"unknown",environment:'Production'})})};p=function(){if(!T.ts&&!d.getElementById(q+'second'))T.taf('Header Script Missing');else if(!T.tss)T.taf('Header Script Failure1');else if(!T.ts)T.taf('Header Script Failure2');if(!T.tm&&!d.getElementById(q+'main'))T.taf('Footer Script Missing');else if(!T.tm)T.taf('Footer Script Failure')};if(w.addEventListener)w.addEventListener('DOMContentLoaded',p);else w.attachEvent('onDOMContentLoaded',p)}}(window,document)</script>
vendor: 2 bytes, line 13263
13263
13264<script data-cfasync="false" data-dd-sm-ignore="true" data-cookieconsent="ignore" id="wsa-tag-manager-javascript-main" nonce=""> 13265/* 13266 Web Site Advantage: Tag Rocket App 2 of 2 Footer [1.94.85691] Proprietary Runtime 13267 Licensed for use only by authorised Web Site Advantage customers. 13268 Copyright (C) 2020 - 2026 Web Site Advantage Pty Ltd. 13269*/ 13270 13271!function(w,d){if(d.location.href.indexOf('showHidden=true')<0&&d.location.href.indexOf('shogun.page/previews')<0){var T=w.TagRocket;try{if(!T)return;T.y=function(a){return T.F(T.u(a))};T.u=function(a){return T.F(T.getProductId('GoogleAds','ItemGroupId',a,"[[pid]]"))};T.q=function(a){a.google_business_vertical='retail';return a};T.F=function(a){return T.K(a,/ /g)};T.ag=function(a,b,c){a.item_list_name=b;a.item_list_id=c;if(a.items)T.e(a.items,function(e){T.ag(e,b,c)});return a};T.aa=function(a){var b=a.couponCodes,c=a.taxTotal,e=a.shippingMethod,f,g=[],h;T.e(T.aj(a.items,200),function(i){h=T.af(i);if(h)g.push(h)});f={value:a.grandTotal,currency:a.currency.code,items:g};T.p(f,'tax',c);T.p(f,'coupon',b);T.p(f,'shipping_tier',e);return f};T.af=function(a,b){var c=a.price,e=a.totalDiscount,f=a.couponCodes,g=a.category,h=a.quantity,i=a.index,j=a.brand,k,l={item_id:T.aN(a),item_name:a.name};if(T.w(c))l.price=c;if(a.isVariant){k=a.variantName;if(k)l.item_variant=''+k}if(e)l.discount=T.r(e/(h||1),2);T.p(l,'coupon',f);T.p(l,'reason',b);T.p(l,'quantity',h);T.p(l,'index',i);l.item_brand=j?j:'(no brand)';var m='(no visible category)',n=[m];if(g){n=g.breadcrumbs;m=g.path}l.item_category=m;l.item_category2=n.slice(0,1).join("/");l.item_category3=n.slice(0,2).join("/");l.item_category4=n.slice(0,3).join("/");l.item_category5=n.slice(0,4).join("/");if(T.aO('GoogleAnalyticsFourItemPending',{product:a,item:l}))return l};T.aN=function(a){return T.getProductId('GA4','ItemGroupId',a,"[[pid]]")};T.az=function(a,b){var c=T.O(b.name);T.t('GF27',function(){T.Y(a,{promotion_id:b.id,promotion_name:c,creative_name:c,creative_slot:b.location,items:[{promotion_id:b.id,promotion_name:c,creative_name:c,creative_slot:b.location}]});},1);};T.bf=function(a){return T.bd(a)};T.bd=function(a){return T.getProductId('FacebookAds','ItemGroupId',a,"[[pid]]")};T.U('load',function(){T.bi(function(){T.ah='SearchPage';T.o(T.ah,function(a){T.Y('search',{search_term:a.term})},'GF5',1);if(T.bp){T.br(T.ah,{term:T.bp});}T.t('SB21',function(){T.bt(d);if(T.bj()){T.bu(T.bv("["+T.bw+"='list']["+T.bx+"]"));}},1);if(T.bj()){T.t('SB21b',function(){T.by(T.bz());T.bA()},1);}if(!T.bj()){ }T.aw='LinkClick';T.o(T.aw,function(a){var b={link_url:T.O(a.href),description:T.O(a.label),value:a.value};T.p(b,'currency',T.j);T.Y('click_'+(T.ax(T.O(a.category)).split(" ")[0]),b)},'GF22',1);T.t('SB17',function(){var a='Social',b=function(c){return new RegExp('^https?://[a-zA-Z.]*'+c,'i')},e=[{f:/^tel:/i,g:'Phone',h:'@',i:1.0},{f:/^mailto:/i,g:'Email',h:'@',i:1.0},{f:/^https?:\/\//i,j:1,g:'Outbound Link',h:'@',i:0.0},{f:/^.*\.(pdf|zip|docx|doc|txt|msi|xlsx|xls|rtf|csv|exe|7z|pkg|rar|gz|zip|avi|mov|mp4|wmv|mp3|wav|wma)?(\?.*)?$/i,g:'Download',h:'@',i:1.0},{f:b('facebook.com/'),g:a,h:'Facebook',i:1.0},{f:b('plus.google.com/'),g:a,h:'Google+',i:1.0},{f:b('linkedin.com/'),g:a,h:'LinkedIn',i:1.0},{f:b('youtube.com/'),g:a,h:'YouTube',i:1.0},{f:b('twitter.com/'),g:a,h:'Twitter',i:1.0},{f:b('instagram.com/'),g:a,h:'Instagram',i:1.0},{f:b('pinterest.com/'),g:a,h:'Pinterest',i:1.0},{f:b('tumblr.com/'),g:a,h:'Tumblr',i:1.0}],k=[/^https?:\/\/cdn[0-9]+\.bigcommerce\.com\//i,/^https?:\/\/[^\/]*\.mybigcommerce\.com\//i],l=function(m){return T.e(k,function(n){if(m.match(n))return 1})},o=function(p){if(T.bB(p.tag,'clicked-'+T.K(p.category,/\s+/g))){if(T.bC(p.tag,'target')=='_blank'){T.bi(function(){T.br(T.aw,p)},0,'LinkClick Yield')}else{T.br(T.aw,p)}}return true},m,q=d.getElementsByTagName('a');T.e(q,function(r){if(T.bD(r,'href')){m=T.bC(r,'href');if(!l(m)){T.e(e,function(s){if((!s.j||w.location.host!=r.host)&&m.match(s.f)){T.bE(r,'click',(function(){var p={tag:r,href:m,category:s.g,label:T.K(s.h,'@',m),value:s.i};return function(){return o(p)}})())}})}}})},1);},1e3,'Wait For On Load')});T.ap='SiteLogin';T.aq='SiteLogout';T.o(T.ap,function(a){T.Y('login',{method:a.method})},'GF17',1);T.o(T.aq,function(){T.Y('logout',{method:'site'})},'GF18',1);T.t('SB1',function(){var a=T.d.id?'y':'n',b=T.bF('wsa-l')||'n',c='site';
13271if(b!=a){if(a=='y'){T.br(T.ap,{method:c})}else{T.br(T.aq,{})}T.bG('wsa-l',a)}},1);T.t('SB8b',function(){var a=T.bH("form[action='/subscribe.php']"),b=T.bI('nl_email');if(a&&b){T.bE(a,'submit',function(){T.bG('wsa-se',T.ax(b.value))})}},1);T.C='CheckoutStep5OrderCompleted';T.o(T.C,function(a){var b=a.orderAmount,c=[],e=0,f=0,g={value:b,currency:a.currency.code,transaction_id:''+a.orderId},h={value:b,currency:a.currency.code,transaction_id:''+a.orderId};if(a.totalDiscount){g.discount=a.totalDiscount;f=g.discount}T.e(a.items,function(i){e+=i.listPrice;c.push({id:T.y(i),price:i.listPrice,quantity:i.quantity,google_business_vertical:'retail'})});g.items=c;h.items=T.D(c);g.send_to="AW-11285666033/5XrYCOuGlMwYEPGxtoUq";T.k('purchase',g,''+d.location+'/order-'+T.E,);T.k('purchase',h,''+d.location+'/order-'+T.E,);},'GA6',1);T.o(T.C,function(a){var b=a.couponCodes,c=a.paymentMethod,e=a.shippingMethod,f,g={method:'www',tax:a.taxTotal,shipping:a.shippingCostTotal,value:a.orderAmount,currency:a.currency.code,transaction_id:''+a.orderId,items:[]},h;T.p(g,'new_customer',a.new_customer);T.p(g,'coupon',b);T.p(g,'payment_type',c);T.p(g,'shipping_tier',e);T.e(T.aj(a.items,200),function(i){f=T.af(i);if(f)g.items.push(f)});h=T.D(g);T.Y('add_payment_info',g);T.Y('purchase',h);},'GF8',1);T.o(T.C,function(a){var b={order_id:''+a.orderId,content_type:'product',currency:a.currency.code,value:a.orderAmount,contents:[],content_ids:[],num_items:0};if(a.couponCodes)b.promo_code=a.couponCodes;T.e(a.items,function(c){var e=c.variantName,f=c.brand,g=c.category,h=c.quantity,i={id:T.bf(c),quantity:h,item_price:c.listPrice,title:c.name};b.num_items+=h;if(e)i.variant=e;if(f)i.brand=f;if(g)i.category=g.path;b.contents.push(i);b.content_ids.push(i.id)});T.aX('AddPaymentInfo',b);T.aX('Purchase',b,0,'order'+b.order_id)},'FA11',1);T.processOrder=function(a){T.t('SB11',function(){var b=new Date(),c=T.bF('wsa-ci');if(c!=a){T.E=a;T.bQ('/api/storefront/orders/'+a,function(e,f){T.t('SB11b',function(){if(e>0){try{var g=new Date("2024-04-29"),h=new Date("2023-05-19"),i=new Date(b.getTime()-466560e5),j=T.bF('wsa-lo'),k;if(j){k=new Date(j);f.new_customer=k<i;}else if(g<i||(!c&&h<i))f.new_customer=!0;}catch(l){T.a('SB25b','new_customer error: '+(l.message||l),1,l)}T.order=f;f.shippingMethod=T.bF('wsa-sm');f.paymentMethod=T.bF('wsa-pm');T.bW(f);T.bl({reason:'Order',cart:f},function(m){T.bo(m,'Order');f=m.cart;T.f(T.C,f);T.bX=!0;while(T.gq&&T.bk(T.gq)){var n=T.gq[0];T.gq.splice(0, 1);gtag.apply(null,n)}T.bG('wsa-ci',T.E);T.bG('wsa-lo',b.toISOString());T.bJ('wsa-c');T.bJ('wsa-cc');T.bJ('wsa-sm');T.bJ('wsa-pm')})}else{T.a('SB25','Failed to get order: '+f+' '+T.E,1)}},1)})}},1);};T.x='CartItemChanged';T.ak='CartPage';T.bY=0;T.o(T.x,function(a){var b=a.item,c=a.change;if(c>
132710)T.k('add_to_cart',{value:b.price*c,currency:b.currency,items:[{id:T.y(b),google_business_vertical:'retail'}]})},'GA5',1);T.o(T.x,function(a){var b=a.item,c=a.change,e=c>0&&'add_to_cart'||'remove_from_cart',f=T.af(b),g={currency:b.currency,value:T.r(Math.abs(b.price*c),3),items:[f]};if(f){f.quantity=Math.abs(c);T.Y(e,g)}},'GF4',1);T.o(T.x,function(a){if(a.change>0){var b=a.item,c=a.change,e=b.price,f=b.variantName,g=b.brand,h=b.category,i={id:T.bf(b),quantity:c,title:b.name},j={content_ids:[i.id],contents:[i],content_type:'product',currency:b.currency};if(T.w(e)){i.item_price=T.r(e,3);j.value=T.r(e*c,3)}if(f)i.variant=f;if(g)i.brand=g;if(h)i.category=h.path;T.aX('AddToCart',j)}},'FA6',1);T.o(T.ak,function(a){var b,c=[];T.e(T.aj(a.items,200),function(e){b=T.af(e);if(b)c.push(b)});T.Y('view_cart',{value:a.grandTotal,currency:a.currency.code,items:c})},'GF10',1);T.bZ=function(a,b,c){T.ca++;var e={change:a,cart:c,item:b,currency:c.currency.code,price:b.price,quantity:b.quantity,productId:b.productId,productSku:b.productSku,name:b.name};T.br(T.x,e)};T.checkCart=function(f){var g='Check';if(!localStorage||Math.abs(new Date-T.bY)<50)return;T.bY=new Date;T.t('SB12',function(){T.bJ('wsa-cc');T.bQ('/api/storefront/carts',function(h,i){T.t('SB12b',function(){if(h>0){if(i&&T.bk(i)){T.bl({reason:g,cart:i[0],response:i},function(e){T.bo(e,g);var c=e.cart;T.bR(c)})}else{T.bR({items:[],currency:{code:T.j}})}}},1)})},1)};if(!T.bF('wsa-c')||T.bF('wsa-cc')=='y')T.checkCart();T.aB='JavaScriptError';T.cb=0;T.o(T.aB,function(a){if(typeof T.O!="function")T.a('GF24','LimitText is not a function',1,a);if(typeof T.Y!="function")T.a('GF24','GoogleAnalyticsFourEventAsync is not a function',1,a);T.Y(T.aC,{description:T.O('JavaScript: '+a.action+' * '+a.label),error_type:'javascript',error_object_type:T.O(a.type),error_message:T.O(a.message),error_filename:T.O(a.filename),error_lineno:a.lineno,error_colno:a.colno,fatal:false})},'GF24',1);T.aM='LoadError';T.cc=0;T.o(T.aM,function(a){var b=a.targetUrl,c=(a.target&&a.target.nodeName)||'',e='Load '+T.ax(c)+' tag error '+a.targetPath;T.Y(T.aC,{description:T.O(e+': '+b),error_type:'network',error_message:T.O(e),error_object_type:T.O(c),error_filename:T.O(b),fatal:false})},'GF32',1);T.ef=function(a,b,c,e,f){if(!T.cd){var g,h,i='',j='',k,l,m=a.target;T.cd=1;try{if(m&&m!=w&&m.nodeName){T.cd=a;l=m.getAttribute('src');if(!l)l=m.getAttribute('href');if(l){if(!l.indexOf||l.indexOf('bat.bing')<0){T.cd.targetUrl=l;T.cd.targetPath=T.cg(m);if(T.cc<6){T.br(T.aM,T.cd)}}};return}try{if(a){if(typeof a=='string'){h='Message';i=a}else{b=a.filename;c=a.lineno;e=a.colno;f=a.error;i=a.message;if(a.filename){h='Event'}else if(a.originalEvent){g=a.originalEvent;h='Intercepted Event';b=b||g.filename;c=c||g.lineno;e=e||g.colno;f=f||g.error;i=i||g.message}else{h='Object';i=T.ch(a,Object.getOwnPropertyNames(a))}}}i=i||'Unknown';if(b)j+=b;if(c){if(j!=='')j+=': ';j+='L'+c;if(e)j+=' C'+e;}if(j!=='')j+=': ';j+=i;k=h+' error=';if(f){if(typeof f=='string'){k+=f;}else{k+=T.ch(f,Object.getOwnPropertyNames(f));}}else{k+='null'}}catch(f){h='Handler ERROR';i='The error processor had an error! '+f;T.a('OE1',i,1,f)}finally{if(!i.indexOf)T.a('OE2','No message.indexOf because it is a '+(typeof i),1,f);if(!i.indexOf||i.indexOf('Invalid login')<0){if(i=='{"isTrusted":true}')i='Cross Origin Script Error';T.cd={type:h,message:i,filename:b,lineno:c,colno:e,error:f,action:j,label:k};T.cb++;if(T.cb<6){T.br(T.aB,T.cd)}}}}finally{T.cd=0}}};if(T.eq){T.e(T.eq,function(n){T.ef.apply(T,n)});};T.aD='ConsoleError';T.ct=1;T.o(T.aD,function(a){T.Y(T.aC,{description:T.O('Console: '+a.message),error_message:T.O(a.message),error_type:'console',fatal:false})},'GF25',1);T.ci=0;T.cj=function(a){T.ci++;if(T.ci<6&&T.ct){var b='',c=0,e;while(T.bk(b)<200&&T.bk(a)>c){e=a[c];if(b)b+=', ';if(typeof e=='string')b+=e;else b+=T.ch(e);c++};if(b)T.br(T.aD,{message:b})}};T.cf=function(){T.cj(arguments)};if(T.cq)T.e(T.cq,function(a){T.cj(a)});T.aE='JsonLdError';T.o(T.aE,function(a){T.Y(T.aC,{description:T.O('JSON-LD: '+a.error),error_message:T.O(a.error),error_type:'jsonld',fatal:false})},'GF26',1);
13271T.o(T.aE,function(a){T.a((a.element.id&&a.element.id.startsWith('wsa-rich-snippets'))?'JsonLdUs':'JsonLdOther',a.error,0,a.element)},1);T.bi(function(){T.e(T.bv("script[type='application/ld+json']"),function(a){if(a.text.trim()!=''){try{T.ck(T.K(T.K(a.text.trim(),/^(\/\/\s*)?<!\[CDATA\[|(\/\/\s*)?\]\]>$/g),/\n|\r|\t/g))}catch(b){T.br(T.aE,{error:''+b,element:a})}}})},6e3,'Json-LD Check');T.aF='WebVitalsComplete';T.cl='WebVitalsPending';T.cm={};T.o(T.aF,function(a){var b=a.metric,c=b.attribution,e=T.M(),f={metric_id:b.id,metric_value:T.r(b.value,3),value:T.r(b.delta,3)};f.metric_rating=b.rating;if(b.debugTarget){f.debug_target=b.debugTarget.substring(0,100);f.debug_target2=b.debugTarget.substring(100)}T.p(f,'navigation_type',b.navigationType);T.p(f,'load_state',c.loadState);T.p(f,'lcp_url',c.url);T.p(f,'ttfb',c.timeToFirstByte);T.p(f,'lcp_resource_load_delay',c.resourceLoadDelay);T.p(f,'lcp_element_render_delay',c.elementRenderDelay);T.p(f,'inp_interaction_type',c.interactionType);T.p(f,'inp_interaction_time',c.interactionTime);T.p(f,'cls_largest_shift_time',c.largestShiftTime);T.p(f,'ttfb_waiting_duration',c.waitingDuration);if(e){T.p(f,'downlink',e.downlink);T.p(f,'rtt',e.rtt)}T.Y(b.name,f)},'GF28',1);T.t('SB16',function(){var a=function(b){if(!b.value&&b.value!=0){T.a('SB16b','Web Vital '+b.name+' missing value',1,b);T.aV('Web Vital '+b.name+' missing value',b);return}var c=b.attribution;if(c)b.debugTarget=c.element||c.target||c.interactionTarget||c.largestShiftTarget;T.cm[b.name]=b;T.I(function(){if(T.aO(T.cl,{metric:b})){T.f(T.aF,{metric:b});T.cm[b.name]=b;}});};T.bc('https://unpkg.com/[email protected]/dist/web-vitals.attribution.iife.js',{crossOrigin:"anonymous",fetchPriority:"low",onvisible:!1},function(){var e=webVitals;e.onFCP(a);e.onLCP(a);e.onCLS(a);e.onTTFB(a);e.onINP(a);if(T.cn)T.cn()})},1);T.aG='PerformanceMetrics';T.o(T.aG,function(a){var b=a.metrics,c=b.responseEnd,e=T.M(),f={},g={};if(e){T.p(f,'downlink',e.downlink);T.p(f,'rtt',e.rtt);T.p(g,'downlink',e.downlink);T.p(g,'rtt',e.rtt)}if(c){f.metric_value=c;f.metric_id='ttlb'+T.aH;f.metric_rating=c<=800?'good':(c>1800?'poor':'needs-improvement');T.Y('TTLB',f)}c=b.finalResponseHeadersStart;if(c){g.metric_value=c;g.metric_id='frhs'+T.aH;g.metric_rating=c<=800?'good':(c>1800?'poor':'needs-improvement');T.Y('FRHS',g)}},'GF33b',1);T.co=1;T.cp=function(){if(T.co&&d.visibilityState=='hidden'){T.co=0;T.cr('hidden')}};T.cs=function(){if(T.co){T.co=0;T.cr('hidden')}};T.cr=function(a){var b={},c=T.cm,e=T.cu;if(e){['activationStart','fetchStart','requestStart','responseStart','responseEnd','domContentLoadedEventStart','domContentLoadedEventEnd','loadEventStart','loadEventEnd','transferSize','finalResponseHeadersStart','type','redirectCount'].forEach(function(f){if(e[f]||e[f]==0)b[f]=T.r(e[f])});if(c.FCP)b.fcp=T.r(c.FCP.value);if(c.CLS){b.cls=T.r(c.CLS.value,3);if(c.CLS.debugTarget){b.clsSelectorPart1=c.CLS.debugTarget.slice(0,100);b.clsSelectorPart2=c.CLS.debugTarget.slice(100)}}if(c.LCP){b.lcp=T.r(c.LCP.value);if(c.LCP.debugTarget){b.lcpSelectorPart1=c.LCP.debugTarget.slice(0,100);b.lcpSelectorPart2=c.LCP.debugTarget.slice(100)}}T.e(T.N('paint'),function(g){if(g.name=='first-paint')b.fp=T.r(g.startTime);});T.cv=b;T.br(T.aG,{eventType:a,metrics:b})}};T.cn=function(){T.bE(w,'visibilitychange',T.cp);T.U('pagehide',T.cs)};T.I(function(){var a=0,b='StencilUtils',c=b+' Check ';e=function(){a++;if(w.stencilUtils){T.br(b,w.stencilUtils);['cart-item-add-remote','cart-item-remove-remote'].forEach(function(a){w.stencilUtils.hooks.on(a,function(b){T.t('SB13',function(){T.checkCart()},1)})});T.ai='QuickSearch';T.o(T.ai,function(a){T.Y('quick_search',{search_term:a.term})},'GF5b',1);w.stencilUtils.hooks.on('search-quick',function(a){T.cw=T.be(a,'target.value');T.cx=T.cy(T.cx,function(){if(T.cw&&T.bk(T.cw)>2)T.br(T.ai,{term:T.cw})},1e3)})}else a<9&&T.bi(e,1e3,c+a)};T.bi(e,1,c)});T.cz();T.cA();T.cB();T.cC();}catch(e){T.tef=T.tef||[];T.tef.push(e);if(T.a)T.a('FOOT',''+e,1,e);else if(T.taf)T.taf('Footer Script ISSUE')}T.tm=1}}(window,document) 13272 13273</script>
13273
13274<script>if(void 0===window._SaleSchedulerCountdown){function t(){"use strict";var t={};t.settings={store:""},t.data={products:[]},t.unixtime=0,t.targetURL=null,t.productName=null,t.component=function(t,e){return parseFloat(t)/parseFloat(e)},t.getParameterByName=function(t,e){e||(e=window.location.href);var n=RegExp("[?&]"+(t=t.replace(/[\[\]]/g,"\\$&"))+"(=([^&#]*)|&|#|$)").exec(e);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},t.getStore=function(){for(var e=document.getElementsByTagName("link"),n=0;n<e.length;n++){var r=e[n].getAttribute("href");if(r.includes("bigcommerce.com/s-")){for(var o=r.split("/"),a=0;a<o.length;a++)if("s-"==o[a].substring(0,2))return t.settings.store=o[a].substring(2),console.log("Countdown, Store:"+t.settings.store),!0}}return!1},t.getMetaName=function(){for(var e=document.getElementsByTagName("meta"),n=0;n<e.length;n++)if("og:title"==e[n].getAttribute("property"))return t.productName=e[n].getAttribute("content"),!0;return!1},t.renderTimer=function(){var e=t.data.product.sale.dtEndTime-parseInt(Date.now()/1e3)-1;if(--e<=0)return"";var n=Math.floor(e/86400),r=Math.floor(e%86400/3600),o=Math.floor(e%3600/60),a=Math.floor(e%60);n=parseInt(n),r=parseInt(r),o=parseInt(o),a=parseInt(a),n=n<10?"0"+n:n,r=r<10?"0"+r:r,o=o<10?"0"+o:o,a=a<10?"0"+a:a;var i="display:inline-block;padding:8px;min-width:48px;background-color:"+t.data.product.timer.fgcolor+";color:"+t.data.product.timer.bgcolor+";border-radius:6px;border:1px solid "+t.data.product.timer.bgcolor+";filter:drop-shadow(1px 1px 2px #888);font-size:"+1.1*parseFloat(t.data.product.timer.fontsize)+"px;",d="background-color:transparent !important; padding:0px !important; border:none !important; text-align:center; vertical-align:middle !important;",s='<table style="border:none !important; background-color:transparent !important; vertical-align:middle !important;"><tr style="background-color:transparent !important;"><td colspan="8" style="'+d+'; padding-bottom:6px !important; text-align:left !important;">'+t.data.product.timer.prefix+'</td></tr><tr style="background-color:transparent !important;">';return s+='<td style="'+d+'"><span style="'+i+'">'+n+"</span></td>",s+='<td style="'+d+'"><span style="display:inline-block; padding:0px 4px 0px; 4px;">:</span></td>',s+='<td style="'+d+'"><span style="'+i+'">'+r+"</span></td>",s+='<td style="'+d+'"><span style="display:inline-block; padding:0px 4px 0px; 4px;">:</span></td>',s+='<td style="'+d+'"><span style="'+i+'">'+o+"</span></td>",s+='<td style="'+d+'"><span style="display:inline-block; padding:0px 4px 0px; 4px;">:</span></td>',s+='<td style="'+d+'"><span style="'+i+'">'+a+"</span></td>",s+="</tr>",s+='<tr style="background-color:transparent !important; font-size:.90em;"><td style="'+d+'">Days</td><td style="'+d+'"></td><td style="'+d+'">Hrs.</td><td style="'+d+'"></td><td style="'+d+'">Mins.</td><td style="'+d+'"></td><td style="'+d+'">Secs.</td></tr></table>'},t.run=function(){if(!1==t.getStore()){console.log("Countdown: Store not found");return}if(t.getMetaName()){for(var e,n=["productView-price","price-withouttax"],r=0;r<n.length;r++)if(void 0!==(e=document.getElementsByClassName(n[r])[0])){console.log("Countdown: Target found: "+n[r]);break}if(t.settings.product_id=parseInt(document.getElementsByName("product_id")[0].value),void 0!==e&&t.settings.product_id){var o={store_name:t.settings.store,action:"sale_product",product_id:t.settings.product_id};$.getJSON("https://saleschedulerapp.com/api/",o).done(function(n){t.data=n;var r=document.createElement("div");r.id=t.settings.store,r.className="price-section",r.style.fontSize=t.data.product.timer.fontsize,r.style.marginTop="12px",r.innerHTML=t.renderTimer(),e.appendChild(r),setInterval(function(){document.getElementById(t.settings.store).innerHTML=t.renderTimer()},1e3)});return}console.log("Countdown: productView-price not found.")}else console.log("Countdown: og:META not found")},t.run()}if(window._SaleSchedulerCountdown=!0,"undefined"==typeof jQuery){var e=document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js",n.onload=function(){console.log("Countdown: running with jQuery"),t()},e.appendChild(n)}else console.log("Countdown: running without jQuery"),t()}</script>
13274<script data-bc-cookie-consent="3" type="text/plain"> 13275 (function() { 13276 (function(a,b,c,d,e,f,g){e['ire_o']=c;e[c]=e[c]||function(){(e[c].a=e[c].a||[]).push(arguments)};f=d.createElement(b);g=d.getElementsByTagName(b)[0];f.async=1;f.src=a;g.parentNode.insertBefore(f,g);})('https://utt.impactcdn.com/A4654052-ae3e-4d5e-9f2c-9fd0cecd1c161.js','script','ire',document,window); ire('identify'); 13277 })(); 13278</script>
vendor: 1 bytes, line 13278
13278
13279<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
vendor: 1 bytes, line 13279
13279
13280<script> 13281 var link = document.createElement("link"); 13282 link.rel = "stylesheet"; 13283 link.href = "https://cdn.jsdelivr.net/npm/[email protected]/dist/sweetalert2.min.css"; 13284 document.head.appendChild(link); 13285</script>
vendor: 1 bytes, line 13285
13285
13286<script src="//cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.js"></script>
vendor: 1 bytes, line 13286
13286
13287<script> 13288 $(document).ready(function() { 13289 var AAA_membershipNumber_input = $('.aaamembershipnumber input.form-input'); 13290 // Array of URLs to check 13291 var urls = [ 13292 "https://nextbase.com/aaa-122gw-intermediate-bundle/", 13293 "https://nextbase.com/aaa-222xr-advanced-bundle", 13294 "https://nextbase.com/aaa-322gw-advanced-bundle/", 13295 "https://nextbase.com/aaa-522gw-advanced-bundle/", 13296 "https://nextbase.com/aaa-rear-window-camera", 13297 "https://nextbase.com/aaa-322gw-intermediate-bundle/", 13298 "https://nextbase.com/aaa-522gw-intermediate-bundle/", 13299 "https://nextbase.com/smart-dash-cams/iq-smart-dash-cam/?int-area=us_home_topduoleft&int-camp=iQ&aaa-status=true", 13300 "https://nextbase.com/dash-cams/piqo-dash-cam/?aaa-status=true", 13301 "https://nextbase.com/aaa-adventure-lite/", 13302 "https://nextbase.com/aaa-iq-smart-dash-cam-1k/" 13303 ]; 13304 13305 // Check if the current URL matches any in the array 13306 var pageurl = urls.some(function(url) { 13307 return window.location.href.includes(url); 13308 }); 13309 13310 console.log("pageurl", pageurl); 13311 const form_result = localStorage.getItem('result'); 13312 console.log("form_result",form_result); 13313 if(form_result === 'valid'){ 13314 if (pageurl) { 13315 var AAA_membershipNumber = localStorage.getItem('AAA_membershipNumber'); 13316 if(AAA_membershipNumber){ 13317 var option_AAA_pdp = $(AAA_membershipNumber_input).length > 0 13318 if(option_AAA_pdp){ 13319 $(AAA_membershipNumber_input).val(AAA_membershipNumber); 13320 } 13321 } 13322 } 13323 } 13324 else{ 13325 if (pageurl) { 13326 // Append the overlay with background image, text, and form to the body 13327 $('body').append(` 13328 <style> 13329 .AAA-sub-div{ 13330 display: flex; 13331 justify-content: center; 13332 } 13333 .AAA-button{ 13334 background-color: #007bff; 13335 color: #fff; 13336 border-radius: 5px; 13337 padding: 8px 14px; 13338 text-decoration: none; 13339 } 13340 .AAA-welcome{ 13341 margin-bottom: 1em; 13342 color:#fff; 13343 font-family: 'Roobert-Bold';font-size: 3em; 13344 } 13345 .AAA-p{ 13346 margin-bottom: 20px; 13347 font-size: 1.7em; 13348 } 13349 .klaviyo-sub-button button{ 13350 display:none; 13351 } 13352 .klaviyo-sub-button input{ 13353 padding:0px 0px 0px 10px !important; 13354 } 13355 .swal2-modal .swal2-title { 13356 margin-top: 14px; 13357 } 13358 .swal2-confirm:focus, .swal2-confirm:hover { 13359 background-color: #444; 13360 border-color: #444; 13361 } 13362 .swal2-modal .swal2-title { 13363 font-size: 1.8rem !important; 13364 } 13365 </style> 13366 <div id="overlay" style=" 13367 position: fixed; 13368 top: 0; 13369 left: 0; 13370 width: 100%; 13371 height: 100%; 13372 background-image: url('https://cdn11.bigcommerce.com/s-jpkc0tnv4j/images/stencil/original/image-manager/aaa-background.jpg'); 13373 background-size: cover; 13374 background-position: center; 13375 display: flex; 13376 flex-direction: row; 13377 justify-content: center; 13378 align-items: center; 13379 z-index: 1000; 13380 flex-wrap: wrap; 13381 overflow: auto; 13382 "> 13383 <!-- Left side with text --> 13384 <div class="AAA-sub-div"> 13385 <div id="leftSide" style=" 13386 background-color: rgba(0, 0, 0, 0.5); 13387 color: white; 13388 padding: 20px; 13389 margin: 10px; 13390 border-radius: 10px; 13391 text-align: left; 13392 width: 40%; 13393 box-sizing: border-box; 13394 "> 13395 <div> 13396 <h1 class="AAA-welcome">Welcome AAA Members!</h1> 13397 <p class="AAA-p"> 13398 Enter your name and membership ID number for exclusive offers on Nextbase Dash Cams. You can save up to 50% sitewide. 13399 </p> 13400 </div> 13401 </div> 13402 13403 <!-- Right side with form --> 13404 <div id="rightSide" style=" 13405 background-color: rgba(255, 255, 255, 0.8); 13406 padding: 20px; 13407 margin: 10px; 13408 border-radius: 10px; 13409 box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); 13410 width: 40%; 13411 box-sizing: border-box; 13412 "> 13413 <h2 style="color: #333; font-family: 'Roobert-Medium'; font-size: 2.3em;">Unlock Savings</h2> 13414 13415 <div class="klaviyo-form-XN6RKQ klaviyo-sub-button"></div> 13416 <button id="submitForm" style=" 13417 background-color: #007bff; 13418 color: white; 13419 padding: 10px 20px; 13420 border: none; 13421 border-radius: 5px; 13422 cursor: pointer; 13423 width: 25%; 13424 display: flex; 13425 align-items: center; 13426 justify-content: center; 13427 margin: auto; 13428 ">Submit</button> 13429 </div> 13430 </div> 13431 <!-- Responsive styling --> 13432 <style> 13433 @media (max-width: 768px) { 13434 #overlay { 13435 flex-direction: column !important; 13436 justify-content: center !important; 13437 align-items: center !important; 13438 } 13439 13440 #leftSide, #rightSide { 13441 width: 90% !important; 13442 margin: 10px 0; 13443 } 13444 13445 #leftSide { 13446 text-align: center; 13447 } 13448 13449 #rightSide { 13450 margin-right: 0 !important; 13451 } 13452 .AAA-sub-div{ 13453 display: block; 13454 } 13455 .AAA-welcome{ 13456 font-size: 2.3em; 13457 } 13458 .AAA-p{ 13459 font-size: 1.2em; 13460 } 13461 } 13462 </style> 13463 </div> 13464 `); 13465 13466 // Show the overlay 13467 $('#overlay').fadeIn(); 13468 // Select the form using the 'data-testid' attribute 13469 setTimeout(() => { 13470 const $form = $('[data-testid="klaviyo-form-XN6RKQ"]'); 13471 console.log("$form", $form); 13472 13473 // Add keypress event listener inside the setTimeout block 13474 $form.on('keypress', function(event) { 13475 if (event.key === 'Enter') { 13476 event.preventDefault(); // Prevent default form behavior 13477 $('#submitForm').click(); 13478 } 13479 }); 13480}, 3000); 13481 13482 13483 // Handle form submission 13484 $('#submitForm').click(function() { 13485 var firstName = $("input[placeholder='First Name']").val(); 13486 var lastName = $("input[placeholder='Last Name']").val(); 13487 var email = $("input[placeholder='Email']").val(); 13488 var membershipNumber = $("input[placeholder='Membership Number']").val(); 13489 13490 // Validate the membership number 13491 var isValid = validateMembershipNumber(membershipNumber); 13492 13493 if (firstName && lastName && email && isValid) { 13494 localStorage.setItem('result', 'valid'); 13495 // set membershipNumber 13496 localStorage.setItem('AAA_membershipNumber', membershipNumber); 13497 13498 // set value to product option 13499 13500 var option_AAA_pdp = $(AAA_membershipNumber_input).length > 0 13501 if(option_AAA_pdp){ 13502 $(AAA_membershipNumber_input).val(membershipNumber); 13503 } 13504 $('.klaviyo-sub-button button').click(); 13505 // If the membership number is valid, remove the overlay and form 13506 $('#overlay').fadeOut(function() { 13507 $('#overlay').remove(); // Remove the overlay element from the DOM 13508 }); 13509 } else if (!isValid) { 13510 Swal.fire("Invalid AAA Membership Number."); 13511 } else { 13512 Swal.fire("Please fill in all fields."); 13513 } 13514 }); 13515 13516 // Membership number validation function 13517 function validateMembershipNumber(number) { 13518 var regex = /^(620|429)\d{13}$/; 13519 return regex.test(number); 13520 } 13521 } 13522 } 13523 13524 }); 13525</script>
13525<script> 13526var product_with_promotion_price = [ 13527 { 13528 "link": "https://nextbase.com/aaa-322gw-advanced-bundle/", 13529 "discount_price": "$199.99", 13530 "klarna_price": "$49.99", 13531 "color": "white" 13532 }, 13533 { 13534 "link": "https://nextbase.com/aaa-522gw-advanced-bundle/", 13535 "discount_price": "$299.99", 13536 "klarna_price": "$75.00", 13537 "color": "black" 13538 13539 }, 13540 { 13541 "link": "https://nextbase.com/aaa-122gw-intermediate-bundle/", 13542 "discount_price": "$63.99", 13543 "klarna_price": "$15.99", 13544 "color": "white" 13545 13546 } 13547] 13548 13549</script>
13549<script> 13550 // Hesitant shopper code html 13551var popuphtmldata = `<style> 13552 .discount-popup { 13553 display: none; 13554 position: fixed; 13555 top: 33%; 13556 left: 33%; 13557 width: 500px; 13558 background-color: #fff; 13559 border: 1px solid #ccc; 13560 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); 13561 padding: 20px; 13562 z-index: 9999999999; 13563 -webkit-animation: slide_h_s 2s forwards; 13564 -webkit-animation-delay: 2s; 13565 animation: slide_h_s 2s forwards; 13566 animation-delay: 2s; 13567 } 13568 13569 .discount-popup.show-again_popup_hesitant { 13570 animation-delay: 0.1s; 13571 } 13572 13573 .discount-popup h3 { 13574 color: #000; 13575 font-weight: 400; 13576 font-family: "Roobert-Bold"; 13577 font-style: normal; 13578 font-size: 18px; 13579 line-height: 1em; 13580 text-align: center; 13581 } 13582 13583 @-webkit-keyframes slide_h_s { 13584 100% { top: 33%; } 13585 } 13586 13587 @keyframes slide_h_s { 13588 100% { top: 33%; } 13589 } 13590 13591 .discount-popup-content { 13592 text-align: center; 13593 } 13594 13595 .close-popup { 13596 position: absolute; 13597 top: -5px; 13598 right: 10px; 13599 cursor: pointer; 13600 font-size: 25px; 13601 color: #80808099; 13602 font-weight: 200; 13603 weight: 100px; 13604 transition: color 0.3s; 13605 } 13606 13607 .close-popup:hover { 13608 color: #000; 13609 } 13610 13611 .discount-popup h3 { 13612 color: #000; 13613 font-weight: 400; 13614 font-family: "Roobert-Bold"; 13615 font-style: normal; 13616 font-size: 18px; 13617 line-height: 1em; 13618 text-align: center; 13619 } 13620 13621 .pop-coupon-logo { 13622 display: block; 13623 margin: 0 auto; 13624 width: 150px; 13625 } 13626 13627 .pop-coupon-heading { 13628 color: #000; 13629 font-weight: 400; 13630 font-family: "Roobert-Bold"; 13631 font-style: normal; 13632 font-size: 18px; 13633 line-height: 1em; 13634 text-align: center; 13635 } 13636 13637 .pop-coupon-subheading { 13638 font-family: 'Roobert-Regular' !important; 13639 font-size: 13px; 13640 margin-bottom: 0; 13641 color: #797979; 13642 text-align: center; 13643 } 13644 13645 .pop-coupon-content { 13646 display: flex; 13647 justify-content: space-between; 13648 align-items: center; 13649 } 13650 13651 .pop-left-section { 13652 display: flex; 13653 flex-direction: column; 13654 align-items: flex-start; 13655 margin-right: 10px; 13656 } 13657 13658 .pop-coupon-content .nb-button-gradient { 13659 display: inline-flex; 13660 background: linear-gradient(90deg, #0A78CA, #8111BB) !important; 13661 border-radius: 5px; 13662 align-items: center; 13663 transition: background 0.3s; 13664 } 13665 13666 .pop-coupon-content .nb-button-gradient:hover { 13667 background: linear-gradient(90deg, #075aa6, #651089) !important; 13668 } 13669 13670 .pop-coupon-content .nb-button-gradient a { 13671 color: white; 13672 text-decoration: none; 13673 } 13674 13675 .pop-coupon-link { 13676 color: white; 13677 text-decoration: none; 13678 cursor: pointer; 13679 } 13680 13681 .right-section{ 13682 padding: 9px 18px; 13683 color: white; 13684 text-decoration: unset; 13685 border-radius: 5px; 13686 font-size: 13px; 13687 font-family: "Roobert-Bold"; 13688 cursor: pointer; 13689 } 13690 13691 .pop-coupon-content .pop-coupon-heading { 13692 font-size: 13px; 13693 } 13694 13695 .no-thank-you-button { 13696 display: inline-block; 13697 padding: 9px 18px; 13698 background-color: #ccc; 13699 color: #000; 13700 border: none; 13701 border-radius: 5px; 13702 cursor: pointer; 13703 font-family: "Roobert-Regular"; 13704 font-size: 12px; 13705 transition: background-color 0.3s, color 0.3s; 13706 } 13707 13708 .no-thank-you-button:hover { 13709 background-color: #b3b3b3; 13710 color: #333; 13711 } 13712 13713 .copy-message { 13714 display: none; 13715 margin-top: 10px; 13716 color: green; 13717 font-family: 'Roobert-Regular'; 13718 font-size: 12px; 13719 align-items: left; 13720 } 13721 13722 .pop-coupon-content .pop-coupon-subheading{ 13723 text-align: start !important; 13724 } 13725 .discount-popup-content hr { 13726 margin: .8rem 0 .8rem; 13727 } 13728 @media screen and (max-width: 800px) and (min-width: 80px) { 13729 .discount-popup { 13730 width: 95%; 13731 left: 2.5%; 13732 } 13733 .pop-coupon-content .nb-button-gradient { 13734 width: 50px; 13735 height: 35px; 13736 justify-content: center; 13737 } 13738 } 13739 .discount-popup-content .coupon_code_copied, .discount-popup-content .coupon_code_copied:hover{ 13740 background: #cccccc !important; 13741 color: black; 13742 } 13743 13744.njs-sticky-side.image_button_cover.placement-right { 13745 right: 0; 13746 display:none; 13747} 13748 13749.njs-sticky-side.image_button_cover { 13750 position: fixed; 13751 top: 50%; 13752 box-shadow: none; 13753 z-index: 99999; 13754 transition: transform .3s cubic-bezier(0,0,0,1); 13755 -webkit-transition: -webkit-transform .3s cubic-bezier(0,0,0,1); 13756 border-redius:5px 13757} 13758 13759.njs-sticky-side.image_button_cover.placement-right.now-show span { 13760 transform: translate3d(4px,0,0) rotate(-90deg); 13761 -webkit-transform: translate3d(4px,0,0) rotate(-90deg); 13762} 13763 13764.njs-sticky-side.image_button_cover.placement-right span { 13765 border-radius: 7px 7px 0 0; 13766 transform: translate3d(200%,0,0) rotate(-90deg); 13767 -webkit-transform: translate3d(200%,0,0) rotate(-90deg); 13768 transform-origin: 100% 100%; 13769 -webkit-transform-origin: 100% 100%; 13770} 13771 13772.njs-sticky-side.image_button_cover span { 13773 padding: 6px 12px 9px; 13774 font-size: 18px; 13775 font-weight: 700; 13776 display: inline-block; 13777 position: relative; 13778 transition: transform .3s; 13779 -webkit-transition: -webkit-transform .3s; 13780 background-color: #123562; 13781 color: white; 13782 font-weight: 100; 13783 top: -106.5px; 13784 font-family: 'Roobert-Bold'; 13785 cursor: pointer; 13786} 13787 13788.njs-sticky-side.image_button_cover span:hover { 13789 background-color: #0c2647; 13790} 13791 13792 </style> 13793 13794 <div id="discount-popup" class="discount-popup"> 13795 <div class="discount-popup-content">
13796 <span class="close-popup">×</span> 13797 <span class="pop-coupon-logo"> 13798 <img src="https://cdn11.bigcommerce.com/s-48z8zzk1az/images/stencil/250x72/nextbase_logo_1665033142__12712.original.png" alt="Logo"> 13799 </span> 13800 <h3 class="pop-coupon-heading">Weâre making it easier for you to save</h3> 13801 <p class="pop-coupon-subheading">Just click the "copy" button below and paste the promo code at checkout</p> 13802 <hr> 13803 <div class="pop-coupon-content"> 13804 <span class="pop-left-section"> 13805 <span class="pop-coupon-subheading"><span class="pop-coupon-heading">10% OFF </span>on all Dash Cams and Rear Cams</span> 13806 </span> 13807 <span class="nb-button-gradient right-section" id="copy-code-btn">COPY</span> 13808 <span id="discount-code" style="display:none;">BL10HES</span> 13809 </div> 13810 <span id="copy-message" class="copy-message">Discount code copied: BL10HES</span> 13811 <hr> 13812 <button class="no-thank-you-button" id="no-thank-you-btn">No, Thank You</button> 13813 </div> 13814 </div> 13815 13816 13817 <div class="njs-sticky-side body-append image_button_cover placement-right now-show"> 13818<span >Coupons</span> 13819</div> 13820 ` 13821 13822 $('body').append(popuphtmldata) 13823</script>
vendor: 1 bytes, line 13823
13823
13824<script> 13825 var stoptime = 540 13826 var countrycode = '' 13827 var cart_quantity 13828 if('' > 0){ 13829 console.log("cart quantity is "); 13830 cart_quantity = true 13831 } 13832 else 13833 { 13834 cart_quantity = localStorage.getItem('cart-quantity') && localStorage.getItem('cart-quantity') > 0 ? true : false 13835 } 13836 13837 if(['US'].includes(countrycode)){ 13838 $(document).ready(function() { 13839 // Function to show the popup 13840 function showPopup() { 13841 $('#discount-popup').fadeIn(); 13842 $('.njs-sticky-side').fadeOut(); 13843 var currentURL = window.location.href; 13844 gtag("event", "hesitant_shopper", { 13845 page: currentURL, 13846 send_to: "GoogleAnalyticsFour" 13847 }) 13848 } 13849 13850 // Function to hide the popup 13851 function hidePopup() { 13852 $('#discount-popup').fadeOut(); 13853 $('.njs-sticky-side').fadeIn(); 13854 } 13855 13856 13857 // ------------------------------------ 13858 // -------- timer setup in localstorage ------- 13859 // ------------------------------------ 13860 13861 let timerInterval; 13862 var json_timerdata = JSON.parse(sessionStorage.getItem('timerData')) 13863 // Initialize or retrieve the JSON object from localStorage 13864 if(json_timerdata === null || json_timerdata.tiSec != 0 && json_timerdata.hesitant === false){ 13865 // console.log("*** timerData is null"); 13866 let data = json_timerdata || { 13867 tiSec: 0, 13868 add_to_cart: cart_quantity, 13869 empty_cart: true, 13870 hesitant:false, 13871 product_page: 0 13872 }; 13873 13874 // console.log("*** page type page",data); 13875 // check cart has qty 13876 if(cart_quantity === true){ 13877 data = JSON.parse(sessionStorage.getItem('timerData')) || data; 13878 data.add_to_cart = true; 13879 data.empty_cart = false; 13880 sessionStorage.setItem('timerData', JSON.stringify(data)); 13881 } 13882 // check page type 13883 13884 if('page' === 'product' ){ 13885 // console.log("*** product page is product"); 13886 data = JSON.parse(sessionStorage.getItem('timerData')) || data; 13887 data.product_page += 1; 13888 sessionStorage.setItem('timerData', JSON.stringify(data)); 13889 if(data.tiSec >= stoptime && data.product_page > 0 && data.hesitant === false && data.add_to_cart === false){ 13890 setTimeout(function() { 13891 showPopup() 13892 setHesitant(true) 13893 }, 4000); 13894 13895 } 13896 } 13897 // Function to update tiSec every 10 seconds 13898 function updateTiSec() { 13899 // console.log("*** updateTiSec"); 13900 data.tiSec += 10; 13901 if (data.tiSec === stoptime) { 13902 //clearInterval(timerInterval); 13903 if(data.product_page > 0 && data.hesitant === false && data.add_to_cart === false){ 13904 showPopup() 13905 setHesitant(true) 13906 } 13907 13908 // data.tiSec = 0; // Ensure tiSec does not go negative 13909 } 13910 if(data.tiSec >= stoptime + 200){ 13911 // console.log("*** updateTiSec > ", stoptime); 13912 clearInterval(timerInterval); 13913 } 13914 sessionStorage.setItem('timerData', JSON.stringify(data)); 13915 } 13916 13917 13918 // Function to set hesitant user 13919 function setHesitant(hesitant) { 13920 data.hesitant = true; 13921 sessionStorage.setItem('timerData', JSON.stringify(data)); 13922 // console.log("***Updated Data:", data); 13923 } 13924 13925 // Start or resume the timer 13926 function startTimer() { 13927 if (data.tiSec === 0 || data.hesitant === false) { 13928 // console.log("*** startTimer", data.tiSec); 13929 timerInterval = setInterval(updateTiSec, 10000); 13930 updateTiSec(); // Initial call to update immediately 13931 } else if(data.hesitant === false && data.tiSec >= stoptime && data.product_page > 0 && data.add_to_cart === false) { 13932 showPopup() 13933 setHesitant(false) 13934 } 13935 } 13936 13937 // Stop the timer 13938 function stopTimer() { 13939 clearInterval(timerInterval); 13940 } 13941 13942 // Handle visibility change 13943 document.addEventListener('visibilitychange', function() { 13944 if (document.hidden) { 13945 stopTimer(); 13946 } else { 13947 startTimer(); 13948 } 13949 }); 13950 13951 // Initial call to start the timer 13952 startTimer(); 13953 } 13954 else if(json_timerdata.hesitant === true){ 13955 // console.log("*** json_timerdata.hesitant ",json_timerdata.hesitant ); 13956 var timerData = JSON.parse(sessionStorage.getItem('timerData')); 13957 if(timerData.tiSec >= stoptime){ 13958 $('.njs-sticky-side').fadeIn(); 13959 } 13960 } 13961 13962 13963 13964 13965 13966 // ------------------------------------ 13967 // -------- end of timer setup in localstorage ------- 13968 // ------------------------------------ 13969 13970 13971 // Copy code to clipboard and show message 13972 $('#copy-code-btn').on('click', function() { 13973 var discountCode = $('#discount-code').text(); 13974 navigator.clipboard.writeText(discountCode).then(function() { 13975 $('#copy-message').fadeIn().delay(2000).fadeOut(); 13976 $('.discount-popup-content #copy-code-btn').text('Copied').addClass('coupon_code_copied'); 13977 }); 13978 }); 13979 13980 // Close popup when clicking on 'No, Thank You' button or close icon 13981 $('#no-thank-you-btn, .close-popup').on('click', function() { 13982 hidePopup(); 13983 }); 13984 13985 13986 // side coupon button 13987 $('.njs-sticky-side').on('click', function() { 13988 $('#discount-popup').addClass('show-again_popup_hesitant') 13989 showPopup(); 13990 }); 13991 }); 13992} 13993</script>
13993
13993<script> 13994 (function() { 13995 window.shogunVariables = {}; 13996 window.shogunVariables.orderId = ''; 13997 })(); 13998 </script>
vendor: 1 bytes, line 13998
13998
13999<script> 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009</script>
14009 14010
14010<script> 14011 // Set default country image to USA 14012 $(".region-icon").html( 14013 `<img src="//cdn11.bigcommerce.com/s-jpkc0tnv4j/product_images/uploaded_images/usa.png" width="18px">` 14014 ); 14015 14016 // Check if a country is already stored in localStorage 14017 if (localStorage.getItem("Country")) { 14018 // If the stored country is not USA, reset it to USA 14019 if (localStorage.getItem("Country_code") != "US") { 14020 localStorage.setItem("Country", "USA"); 14021 localStorage.setItem("Country_code", "USD"); 14022 localStorage.setItem("Country_sku", "US"); 14023 localStorage.setItem( 14024 "Country_img", 14025 "//cdn11.bigcommerce.com/s-jpkc0tnv4j/product_images/uploaded_images/usa.png" 14026 ); 14027 localStorage.setItem("seller_type", "S"); 14028 localStorage.setItem("language", "en"); 14029 localStorage.setItem("navigation_type", "Type A"); 14030 14031 // Update country image to USA 14032 $(".region-icon").html( 14033 `<img src="//cdn11.bigcommerce.com/s-jpkc0tnv4j/product_images/uploaded_images/usa.png" width="18px">` 14034 ); 14035 } 14036 } else { 14037 // If no country is stored, set default to USA 14038 // Example: changecountry('United Kingdom','UK','GBP','uk.png','S','en','Type A') 14039 localStorage.setItem("Country", "USA"); 14040 localStorage.setItem("Country_code", "USD"); 14041 localStorage.setItem("Country_sku", "US"); 14042 localStorage.setItem( 14043 "Country_img", 14044 "//cdn11.bigcommerce.com/s-jpkc0tnv4j/product_images/uploaded_images/usa.png" 14045 ); 14046 localStorage.setItem("seller_type", "S"); 14047 localStorage.setItem("language", "en"); 14048 localStorage.setItem("navigation_type", "Type A"); 14049 14050 // Update country image to USA 14051 $(".region-icon").html( 14052 `<img src="//cdn11.bigcommerce.com/s-jpkc0tnv4j/product_images/uploaded_images/usa.png" width="18px">` 14053 ); 14054 } 14055 14056 // If a country image exists in localStorage, update it in the DOM 14057 if (localStorage.getItem("Country_img")) { 14058 country_img = localStorage.getItem("Country_img"); 14059 $(".region-icon").html(`<img src="${country_img}" width="18px">`); 14060 } 14061 14062 // Change country function 14063 function changeCountry( 14064 country, 14065 sku, 14066 code, 14067 img, 14068 selltype, 14069 language, 14070 type, 14071 link 14072 ) { 14073 if (link != "-") { 14074 // Redirect to the given link 14075 window.location.replace(link); 14076 } else { 14077 // No redirection if link is "-" 14078 } 14079 } 14080 14081 // Change currency function with AJAX request 14082 function changeCurrency1(url, currencyCode, redirect) { 14083 $.ajax({ 14084 url, 14085 contentType: "application/json", 14086 method: "GET", 14087 // data: JSON.stringify({ currencyCode }), 14088 }) 14089 .done(() => { 14090 // Redirect after successful request 14091 window.location.replace(`${redirect}`); 14092 }) 14093 .fail((e) => { 14094 // Handle error (currently does nothing) 14095 // window.location.reload(); 14096 }); 14097 } 14098 14099 // Get a query parameter value from URL 14100 function getParameterByName(name, href) { 14101 name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 14102 var regexS = "[\\?&]" + name + "=([^&#]*)"; 14103 var regex = new RegExp(regexS); 14104 var results = regex.exec(href); 14105 if (results == null) return ""; 14106 else return decodeURIComponent(results[1].replace(/\+/g, " ")); 14107 } 14108</script>
vendor: 1 bytes, line 14108
14108
14109<script> 14110//Force Country Cookie 14111(function () { 14112 const params = new URLSearchParams(window.location.search); 14113 14114 if (params.get("force-country") === "true") { 14115 // Create cookie valid for 30 days 14116 document.cookie = [ 14117 "force-country=true", 14118 "path=/", 14119 "max-age=" + (60 * 60 * 24 * 30), // 30 days 14120 "SameSite=Lax" 14121 ].join("; "); 14122 14123 console.log("force-country cookie created"); 14124 } 14125})(); 14126</script>
vendor: 1 bytes, line 14126
14126
14127<script> 14128 14129 14130$('body').append(`<style> 14131[id^="amazon_pay_checkout_or_use_"] { display : none !important; } 14132 #googlepaystripeCheckoutButton .gpay-button{ height: 41px !important; min-width: 200px !important; } 14133.AmazonPayContainer [id*="amazonpay_button_parent_container"]{ height: 41px !important; min-width: 200px !important; } 14134.CheckoutButton .StripeElement { padding-bottom: 15px; width: 218px;padding-right: 18px; margin-right: 0px;} 14135 14136@media screen and (max-width: 768px) { 14137/* .CheckoutButton .StripeElement {padding-bottom: 15px !important;width: 200px !important;} */ 14138.cart-additionalCheckoutButtons .PaypalCommerceContainer { 14139 width: 97%; 14140} 14141.CheckoutButton .StripeElement { 14142 width: 97% !important; 14143} 14144.cart-additionalCheckoutButtons .AmazonPayCheckout.CheckoutButton { 14145 order: 3; 14146 width: 100%; 14147} 14148.cart-additionalCheckoutButtons .GooglePayCheckout.CheckoutButton { 14149 order: 1; 14150 margin-right: 10px; 14151 width: 100%; 14152} 14153} 14154 .CheckoutButton .StripeElement, .dropdown-menu .CheckoutButton .StripeElement {padding: 0;width: auto;margin-right: 0;} 14155</style>`) 14156 14157</script>
14157<script> 14158</script>
vendor: 1 bytes, line 14158
14158
14159<script> 14160 //Change Pay Method to âNextBase Payâ if Not 3 Payments 14161</script>
vendor: 1 bytes, line 14161
14161
14162<script src="https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js"></script>
14162<script> 14163 14164 14165 14166 (function () { 14167 // Prevent duplicate injection 14168 if (document.getElementById("react-installation-root")) return; 14169 14170 // Inject React mount root 14171 var reactRoot = document.createElement("div"); 14172 reactRoot.id = "react-installation-root"; 14173 14174 // Append where you want (body / footer) 14175 document.body.appendChild(reactRoot); 14176})(); 14177</script>
14177 14178
14179<script> 14180 window.cm_nb_ra_in_config = { 14181 token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJjaWQiOlsxXSwiY29ycyI6WyJodHRwczovL25leHRiYXNlLmNvbSJdLCJlYXQiOjE3OTA0MTc4NTYsImlhdCI6MTc5MDI0NTA1NiwiaXNzIjoiQkMiLCJzaWQiOjEwMDIwOTQxNzcsInN1YiI6IkJDIiwic3ViX3R5cGUiOjAsInRva2VuX3R5cGUiOjF9.S3S8xGMbF8uyiL_bUG2PwaaR0od0soYqNqRRDUwUuFqoMazRUJqvd_Q1Hl_rSifM5-bpGUwWAuXVgHI7WoWHAw', 14182 endpoint: "/graphql", 14183 product_id_th: '', 14184 currency_code: "USD", 14185 includeTax: 'true', 14186 mode: 'production', 14187 programId: 1552, 14188 product_sku: "", // SKU for GraphQL query 14189 store_logo: "https://cdn11.bigcommerce.com/s-5o7xzmxoo0/images/stencil/250x32/logo_1757415802__32203.original.png", 14190 phf_product_skus: "NBSFITFRONTREARGIQ,NBSFITFRONTREARSTIQ,NBSFITFRONTREARG,NBSFITFRONTBAK,NBSFITFRONTREARGBAK,NBFITFRONTSTIQ", 14191 phf_mapping: {year: 'Year', make: 'Make', model: 'Model', date: 'Installation Date', time: 'Time', memberId: 'Installer Member Id', zipcode: 'zip code', location: 'Installation Location'}, 14192 variant_product: "", 14193 page_type: "page", 14194 product_type: ``, 14195 cart_product_data: `[ 14196] 14197`, 14198 out_of_stock_buttons: ".cm_variant_button_out_of_stock, .out-of-stock", 14199 pop_up_buttons: { 14200 pdp: [ 14201 '.cm_variant_main_add_to_cart_button', 14202 '.cm-profesional-change', 14203 '.nb-exclusive-bundle-add-to-cart', 14204 '.buy-button', 14205 '.zen_add_to_bag .addtocart_zeno ', 14206 '.cm-add-to-cart-btn.zen_add_to_bag' 14207 ], 14208 plp: [], 14209 cart: [], 14210 default: [ 14211 '.cm_variant_main_add_to_cart_button', 14212 '.cm-profesional-change', 14213 '.nb-exclusive-bundle-add-to-cart', 14214 'buy-button', 14215 '.zen_add_to_bag .addtocart_zeno ', 14216 '.cm-add-to-cart-btn.zen_add_to_bag' 14217 ] 14218 }, 14219 fitting_status: ``, 14220 installation_fitting_status: "true", 14221 phf_product_order: "NBSFITFRONTREARST,NBSFITFRONTREARSTIQ,NBSFITFRONTREARSTPQ,NBFITFRONTST,NBFITFRONTSTIQ, NBFITFRONTSTPQ" 14222 14223 } 14224 14225 // Set the config store status to enable fitting 14226 localStorage.setItem('cm_nb_ra_in_config_store_status', true); 14227 14228 // Set the config store name which is 'us' or 'uk' based on country selection 14229 localStorage.setItem('cm_nb_ra_in_config_store_name', "US"); 14230</script>
14230 14231
14232<script 14233 defer="defer" 14234 src="https://nextbase.com/content/react/installernet/dev/installation-flow.js?data=2026-09-2419:14"> 14235</script>
vendor: 1 bytes, line 14235
14235
14236<script data-bc-cookie-consent="3" type="text/plain">function heatmapLoadConversionSnippet(url){ var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; script.async = false; script.defer = true; document.head.appendChild(script);}heatmapLoadConversionSnippet('https://dashboard.heatmap.com/conversions.js?siteId=5192');</script>
14236<script> 14237</script>
vendor: 1 bytes, line 14237
14237
14238<script> 14239 const dfLayerOptions = { 14240 installationId: '6d0dc86c-e195-4383-8d56-b153845387df', 14241 zone: 'eu1' 14242 }; 14243 14244 dfLayerOptions.currency = 'USD'; 14245 14246 14247 (function (l, a, y, e, r, s) { 14248 r = l.createElement(a); r.onload = e; r.async = 1; r.src = y; 14249 s = l.getElementsByTagName(a)[0]; s.parentNode.insertBefore(r, s); 14250 })(document, 'script', 'https://cdn.doofinder.com/livelayer/1/js/loader.min.js', function () { 14251 doofinderLoader.load(dfLayerOptions); 14252 }); 14253</script>
vendor: 1 bytes, line 14253
14253
14254<script> 14255 window.intercomSettings = { 14256 api_base: "https://api-iam.eu.intercom.io", 14257 app_id: "r45fr78t" 14258 }; 14259</script>
14259 14260
14261<script> 14262 (function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/r45fr78t';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);};if(document.readyState==='complete'){l();}else if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})(); 14263 //(function(){var p=location.pathname;if(p.includes('/help-and-support')||p.includes('/support')){var w=window,i=w.Intercom;if(typeof i==="function"){i('reattach_activator');i('update',w.intercomSettings);}else{var d=document,f=function(){f.c(arguments)};f.q=[];f.c=function(a){f.q.push(a)};w.Intercom=f;var l=function(){var s=d.createElement('script');s.async=1;s.src='https://widget.intercom.io/widget/r45fr78t';d.getElementsByTagName('script')[0].parentNode.insertBefore(s,null)};
14263document.readyState==='complete'?l():w.attachEvent?w.attachEvent('onload',l):w.addEventListener('load',l,0)}}})(); 14264</script>
14264<script> 14265 window.cmCartFeaturesConfig = { 14266 desktopStatus: true, 14267 mobileStatus: false, 14268 features: [ 14269 { 14270 id: 'free-delivery', 14271 desktop: { 14272 label: 'Free delivery on all cameras*', 14273 icon: '#free-delivey', 14274 subContent: { text: 'Excludes accessories & parts' } 14275 }, 14276 mobile: { 14277 label: 'Free delivery on all cameras*', 14278 icon: '#free-delivey', 14279 subContent: { text: 'Excludes accessories & parts' } 14280 } 14281 }, 14282 { 14283 id: 'free-return', 14284 desktop: { 14285 label: 'Free 30 days return', 14286 icon: '#return', 14287 subContent: null 14288 }, 14289 mobile: { 14290 label: 'Free 30 days return', 14291 icon: '#return', 14292 subContent: null 14293 } 14294 }, 14295 { 14296 id: 'local-support', 14297 desktop: { 14298 label: 'Full support', 14299 icon: '#support', 14300 subContent: null 14301 }, 14302 mobile: { 14303 label: 'Full support', 14304 icon: '#support', 14305 subContent: null 14306 } 14307 }, 14308 { 14309 id: 'warranty', 14310 desktop: { 14311 label: 'Up to 3 years warranty*', 14312 icon: '#warranty', 14313 subContent: { 14314 text: '* 1 year warranty included', 14315 description: 'Extend to 3 years by joining the Road Safety Club', 14316 image: 'https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://nextbase.co.uk/content/icons/svg/road_safety.svg' 14317 } 14318 }, 14319 mobile: { 14320 label: 'Up to 3 years warranty*', 14321 icon: '#warranty', 14322 subContent: { 14323 text: '* 1 year warranty included', 14324 description: 'Extend to 3 years by joining the Road Safety Club', 14325 image: 'https://aicdn.speedsize.com/fc04246a-45d2-46de-9988-4f3d60391c70/https://nextbase.co.uk/content/icons/svg/road_safety.svg' 14326 } 14327 } 14328 }, 14329 { 14330 id: 'buy-later', 14331 desktop: { 14332 label: 'Buy now, Pay later', 14333 icon: '#paylater', 14334 subContent: null 14335 }, 14336 mobile: { 14337 label: 'Buy now, Pay later', 14338 icon: '#paylater', 14339 subContent: null 14340 } 14341 }, 14342 { 14343 id: 'secure-payment', 14344 desktop: { 14345 label: 'Secure payment methods', 14346 icon: '#pay-methods', 14347 subContent: { 14348 icons: [ 14349 '#visa', 14350 '#maestro', 14351 '#amex', 14352 '#klarna', 14353 '#apple-pay', 14354 '#gpay', 14355 '#pay-pal', 14356 '#amazon-pay' 14357 ] 14358 } 14359 }, 14360 mobile: { 14361 label: 'Secure payment methods', 14362 icon: '#pay-methods', 14363 subContent: { 14364 icons: [ 14365 '#visa', 14366 '#maestro', 14367 '#amex', 14368 '#klarna', 14369 '#apple-pay', 14370 '#gpay', 14371 '#pay-pal', 14372 '#amazon-pay' 14373 ] 14374 } 14375 } 14376 } 14377 ] 14378 }; 14379 14380 14381 window.cmCartMessage = { 14382 desktop: { 14383 text: 'California Covered Battery-Embedded (CBE) Waste Recycling Fee paid by Nextbase.', 14384 status: true, 14385 position: 'bottom', 14386 icon: null 14387 }, 14388 mobile: { 14389 text: 'California Covered Battery-Embedded (CBE) Waste Recycling Fee paid by Nextbase.', 14390 status: true, 14391 position: 'bottom', 14392 icon: null 14393 } 14394 }; 14395</script>
14395<script>if(!window.jQuery){var checkscript=document.createElement('script');checkscript.src="https://nextbase.com/content/instock/jquery-1.12.4.js";checkscript.onload = function(){var instockscript =document.createElement('script');instockscript.src="https://nextbase.com/content/instock/cws_InStock.js";document.getElementsByTagName('body')[0].appendChild(instockscript);};document.getElementsByTagName('body')[0].appendChild(checkscript);}else{var instockscript = document.createElement('script');instockscript.src ="https://nextbase.com/content/instock/cws_InStock.js";document.getElementsByTagName('body')[0].appendChild(instockscript);}</script>
14395<script>window.storeHash = "jpkc0tnv4j"; 14396 14397function getActiveCurrencyCode() { 14398let activeStoreCurrency = document.querySelector('div.body[data-currency-code]'); 14399 14400if (activeStoreCurrency) { 14401return activeStoreCurrency.getAttribute('data-currency-code'); 14402} 14403 14404return "USD"; 14405} 14406 14407document.addEventListener('DOMContentLoaded', function () { 14408let scriptElement = document.createElement('script'); 14409scriptElement.async = true; 14410scriptElement.defer = true; 14411scriptElement.type = 'text/javascript'; 14412scriptElement.src = 'https://web-components.splitit.com/v2/upstream.js?api-key=e69dc1ef-f917-410d-a140-63fd007f00c3&lang=en'; 14413document.head.appendChild(scriptElement); 14414 14415 14416}); 14417 14418function generateUM(type, options) { 14419let baseTag = ''; 14420let customOptions = ''; 14421let selectors = []; 14422let custom = []; 14423let showInfoIconActive = false; 14424let useCustomText = options.some(function (option) { 14425return Object.keys(option)[0] === 'text_option' && String(Object.values(option)[0] || '').trim() === 'custom'; 14426}); 14427 14428switch (type) { 14429case 'strip': 14430baseTag = 'spt-strip'; 14431break; 14432case 'banner': 14433baseTag = 'spt-banner'; 14434break; 14435case 'logo': 14436baseTag = 'spt-floating-logo'; 14437break; 14438case 'one_liner': 14439baseTag = 'spt-one-liner'; 14440break; 14441} 14442 14443options.forEach(function (option) { 14444let key = Object.keys(option)[0]; 14445let value = Object.values(option)[0]; 14446if (key === 'regular' || key === 'sale') { 14447selectors.push({ 14448key: key, 14449value: value, 14450}); 14451} else if (key === 'priceUpdate') { 14452custom.push({ 14453key: key, 14454value: value, 14455}); 14456} else { 14457if (key === 'show_info_icon') { 14458showInfoIconActive = value === '1' || value === 'true'; 14459return; 14460} 14461 14462if (key === 'hide_icon') { 14463return; 14464} 14465 14466if (key === 'text_option' && (!value || useCustomText)) { 14467return; 14468} 14469 14470if (key === 'custom_text_key' && (!value || !useCustomText)) { 14471return; 14472} 14473 14474if (key === 'text_strip_color') { 14475key = 'text_color'; 14476} 14477 14478customOptions += `${key}="${value}" `; 14479} 14480 14481if (type === 'strip' && key === 'position' && value === 'top') { 14482customOptions += `is_solid="true" `; 14483} 14484}); 14485 14486if (!customOptions.includes('currency_code=')) { 14487customOptions += `currency_code="${getActiveCurrencyCode()}" `; 14488} 14489 14490if (type === 'one_liner' && showInfoIconActive) { 14491customOptions += `show_info_icon="true" `; 14492} 14493 14494return { 14495custom: custom, 14496selectors: selectors, 14497options: `<${baseTag} ${customOptions}> </${baseTag}>`, 14498}; 14499} 14500 14501function displaySingleOnSiteMessage(page, type, selector, options, calculate = false, price = false) { 14502let pageSelector = document.querySelector(selector); 14503 14504if (!pageSelector) { 14505console.log(`Splitit On Site Message selector " ${selector} " not found`); 14506return; 14507} 14508 14509let idAttribute = `upstream_messaging_${page}_${type}`; 14510 14511let existElement = document.getElementById(idAttribute); 14512if (existElement) { 14513existElement.remove(); 14514} 14515 14516let elementOnSiteMessage = document.createElement('div'); 14517elementOnSiteMessage.setAttribute('id', idAttribute); 14518if (type === 'logo') { 14519elementOnSiteMessage.style.position = 'relative'; 14520} 14521if (calculate) { 14522let productPrice = price ? price : Number(pageSelector.textContent.replace(/\D+/g, '')) / 100; 14523if (productPrice) { 14524let installment = 6; 14525if (installment) { 14526options = addPriceAndInstallment(options, productPrice, installment); 14527} else { 14528return; 14529} 14530} 14531} 14532elementOnSiteMessage.innerHTML = options; 14533 14534if (selector === 'body') { 14535pageSelector.insertBefore(elementOnSiteMessage, pageSelector.firstChild); 14536} else { 14537pageSelector.appendChild(elementOnSiteMessage); 14538} 14539} 14540 14541function displayMultiOnSiteMessaging(element, options, page, type) { 14542let onSiteElement = document.createElement('div'); 14543onSiteElement.setAttribute('class', `upstream_messaging_${page}_${type}`); 14544if (type === 'logo') { 14545onSiteElement.style.position = 'relative'; 14546} 14547onSiteElement.innerHTML = options; 14548element.setAttribute('data-upstream-plug', 'true'); 14549 14550if (type === 'banner') { 14551element.appendChild(onSiteElement); 14552} else { 14553element.parentNode.appendChild(onSiteElement); 14554} 14555} 14556 14557function addPriceAndInstallment(customOptions, amount, installment) { 14558if (amount && installment) { 14559if (customOptions.includes('amount') && customOptions.includes('installments')) { 14560let arrayOptions = customOptions.split(' '); 14561if (arrayOptions.length) { 14562arrayOptions.forEach(function (item, index) { 14563if (item.includes('installments=')) { 14564arrayOptions[index] = `installments="${installment}"`; 14565} else if (item.includes('amount')) { 14566arrayOptions[index] = `amount="${amount}"`; 14567} 14568}); 14569} 14570customOptions = arrayOptions.join(' '); 14571} else { 14572let priceAndInstallment = `amount="${amount}" installments="${installment}" >`; 14573customOptions = customOptions.replace('> ', priceAndInstallment); 14574} 14575} 14576 14577return customOptions; 14578} 14579 14580async function getData(url, method, data) { 14581try { 14582const response = await fetch(url, { 14583method, 14584headers: { 14585'Content-Type': 'application/json', 14586}, 14587body: method !== 'GET' ? JSON.stringify(data) : undefined, 14588}); 14589 14590if (!response.ok) { 14591throw new Error(`HTTP error! Status: ${response.status}`); 14592} 14593 14594return await response.json(); 14595} catch (error) { 14596console.error('Fetch error:', error.message); 14597return null; 14598} 14599} 14600 14601function addSaleBanner(selector, options, page, type) { 14602let productElements = document.querySelectorAll(selector); 14603if (productElements.length) { 14604for (let i = productElements.length - 1; i > -1; --i) { 14605let element = productElements[i]; 14606if (element && element.textContent && (element.textContent.trim()).length && (element.offsetWidth > 0 && element.offsetHeight > 0)) { 14607if (checkExistBanner(element, page, type)) { 14608let productPrice = Number(element.textContent.replace(/\D+/g, '')) / 100; 14609let installment = 6; 14610if (installment || type === 'banner') { 14611let onSiteOptions = addPriceAndInstallment(options, productPrice, installment); 14612displayMultiOnSiteMessaging(element, onSiteOptions, page, type); 14613} else { 14614element.setAttribute('data-upstream-plug', 'true'); 14615} 14616} 14617} 14618} 14619} 14620} 14621 14622function addRegularBanner(selector, options, page, type) { 14623let productElements = document.querySelectorAll(selector); 14624if (productElements.length) { 14625for (let i = productElements.length - 1; i > -1; --i) { 14626let element = productElements[i]; 14627if (checkExistBanner(element, page, type)) { 14628if (element && element.textContent && (element.textContent.trim()).length && element.offsetWidth > 0 && element.offsetHeight > 0) { 14629let productPrice = Number(element.textContent.replace(/\D+/g, '')) / 100; 14630let installment = 6; 14631if (installment || type === 'banner') { 14632let onSiteOptions = addPriceAndInstallment(options, productPrice, installment); 14633displayMultiOnSiteMessaging(element, onSiteOptions, page, type); 14634} 14635} 14636} 14637} 14638} 14639} 14640 14641function checkExistBanner(element, page, type) { 14642let oldParent = element.parentNode.parentNode.parentNode; 14643 14644let notShowPlug = oldParent.querySelectorAll('[data-upstream-plug=\'true\']'); 14645if (notShowPlug?.length) { 14646return false;
14647} 14648 14649let findChildren = oldParent.querySelectorAll(`.upstream_messaging_${page}_${type}`); 14650 14651for (let i = 0; i < findChildren.length; i++) { 14652let element = findChildren[i]; 14653if (element.offsetWidth || element.offsetHeight) { 14654return false; 14655} 14656} 14657 14658return true; 14659} 14660</script>
14660 14661
14661<script>window.__CF$cv$params={r:'a4041cfe9f3eaddc',t:'MTc5MDI3NzI3OA==',u:'01a0d4d75e1f73c5b366445ad027c66c',ut:'9RATEqO8B5j5lq4JQHX.gXR9r3GkMVZEZtmhQHdFWbM-1790277279-1.2.1.1-bPlafE46I._.QsVjVPC.noKThkknS3LhT45Lt03Ea_fZa3ao2hdNWSOoXQGEMPkdPIIQn3C_CJvF.InVjnmxpDLH_Re.r2oO8XytArjek2I',i:60};(function(){if(!document.body)return;var s=document.createElement('script');s.src='/cdn-cgi/challenge-platform/scripts/precursor/main.js';document.head.appendChild(s);})();</script>
14661</body> 14662</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.