1<!DOCTYPE html> 2<html lang="vi"> 3 <head> 4
4<script type=application/ld+json> 5 { 6 "@context": "http://schema.org", 7 "@type": "WebSite", 8 "name": "DinhviGPS.vn", 9 "alternateName": "Äá»nh vá» GPS", 10 "url": "https://dinhvigps.vn/", 11 "potentialAction": { 12 "@type": "SearchAction", 13 "target": "https://dinhvigps.vn/search?q={search_term_string}", 14 "query-input": "required name=search_term_string" 15 } 16 } 17 </script>
17 18 <meta charset="UTF-8" /> 19 <meta name="theme-color" content="#ff6d01" /> 20<link rel="canonical" href="https://dinhvigps.vn/account/login"/> 21 <meta name='revisit-after' content='2 days' /> 22<meta name="viewport" content="width=device-width, initial-scale=1.0"> 23 <meta name="robots" content="noodp,index,follow" /> 24 <meta name="description" content=""> 25 <title>ÄÄng nháºp tà i khoản</title> 26 <meta name="keywords" content="ÄÄng nháºp tà i khoản, Vntrack - Äá»nh vá» GPS & Camera, dinhvigps.vn"/> 27 28<meta property="og:type" content="website"> 29<meta property="og:title" content="ÄÄng nháºp tà i khoản"> 30<meta property="og:image" content="https://bizweb.dktcdn.net/100/520/280/themes/968127/assets/logo-share.png?1790933936566"> 31<meta property="og:image:secure_url" content="https://bizweb.dktcdn.net/100/520/280/themes/968127/assets/logo-share.png?1790933936566"> 32 33<meta property="og:description" content=""> 34<meta property="og:url" content="https://dinhvigps.vn/account/login"> 35<meta property="og:site_name" content="Vntrack - Äá»nh vá» GPS & Camera"> 36 <link rel="icon" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/favicon.png?1790933936566" type="image/x-icon" /> 37 <link rel="preload" as="script" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/jquery.js?1790933936566" /> 38
38<script src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/jquery.js?1790933936566" type="text/javascript"></script>
38 39 <link rel="preload" as="script" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/swiper.js?1790933936566" /> 40
40<script src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/swiper.js?1790933936566" type="text/javascript"></script>
40 41 <link rel="preload" as="script" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/lazy.js?1790933936566" /> 42
42<script src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/lazy.js?1790933936566" type="text/javascript"></script>
42 43
43<script> 44!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t("object"==typeof exports?require("jquery"):jQuery)}(function(t){function s(s){var e=!1;return t('[data-notify="container"]').each(function(i,n){var a=t(n),o=a.find('[data-notify="title"]').text().trim(),r=a.find('[data-notify="message"]').html().trim(),l=o===t("<div>"+s.settings.content.title+"</div>").html().trim(),d=r===t("<div>"+s.settings.content.message+"</div>").html().trim(),g=a.hasClass("alert-"+s.settings.type);return l&&d&&g&&(e=!0),!e}),e}function e(e,n,a){var o={content:{message:"object"==typeof n?n.message:n,title:n.title?n.title:"",icon:n.icon?n.icon:"",url:n.url?n.url:"#",target:n.target?n.target:"-"}};a=t.extend(!0,{},o,a),this.settings=t.extend(!0,{},i,a),this._defaults=i,"-"===this.settings.content.target&&(this.settings.content.target=this.settings.url_target),this.animations={start:"webkitAnimationStart oanimationstart MSAnimationStart animationstart",end:"webkitAnimationEnd oanimationend MSAnimationEnd animationend"},"number"==typeof this.settings.offset&&(this.settings.offset={x:this.settings.offset,y:this.settings.offset}),(this.settings.allow_duplicates||!this.settings.allow_duplicates&&!s(this))&&this.init()}var i={element:"body",position:null,type:"info",allow_dismiss:!0,allow_duplicates:!0,newest_on_top:!1,showProgressbar:!1,placement:{from:"top",align:"right"},offset:20,spacing:10,z_index:1031,delay:5e3,timer:1e3,url_target:"_blank",mouse_over:null,animate:{enter:"animated fadeInDown",exit:"animated fadeOutUp"},onShow:null,onShown:null,onClose:null,onClosed:null,icon_type:"class",template:'<div data-notify="container" class="col-xs-11 col-sm-4 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss">×</button><span data-notify="icon"></span> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>'};String.format=function(){for(var t=arguments[0],s=1;s<arguments.length;s++)t=t.replace(RegExp("\\{"+(s-1)+"\\}","gm"),arguments[s]);return t},t.extend(e.prototype,{init:function(){var t=this;this.buildNotify(),this.settings.content.icon&&this.setIcon(),"#"!=this.settings.content.url&&this.styleURL(),this.styleDismiss(),this.placement(),this.bind(),this.notify={$ele:this.$ele,update:function(s,e){var i={};"string"==typeof s?i[s]=e:i=s;for(var n in i)switch(n){case"type":this.$ele.removeClass("alert-"+t.settings.type),this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass("progress-bar-"+t.settings.type),t.settings.type=i[n],this.$ele.addClass("alert-"+i[n]).find('[data-notify="progressbar"] > .progress-bar').addClass("progress-bar-"+i[n]);break;case"icon":var a=this.$ele.find('[data-notify="icon"]');"class"===t.settings.icon_type.toLowerCase()?a.removeClass(t.settings.content.icon).addClass(i[n]):(a.is("img")||a.find("img"),a.attr("src",i[n]));break;case"progress":var o=t.settings.delay-t.settings.delay*(i[n]/100);this.$ele.data("notify-delay",o),this.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",i[n]).css("width",i[n]+"%");break;case"url":this.$ele.find('[data-notify="url"]').attr("href",i[n]);break;case"target":this.$ele.find('[data-notify="url"]').attr("target",i[n]);break;default:this.$ele.find('[data-notify="'+n+'"]').html(i[n])}var r=this.$ele.outerHeight()+parseInt(t.settings.spacing)+parseInt(t.settings.offset.y);t.reposition(r)},close:function(){t.close()}}},buildNotify:function(){var s=this.settings.content;this.$ele=t(String.format(this.settings.template,this.settings.type,s.title,s.message,s.url,s.target)),this.$ele.attr("data-notify-position",this.settings.placement.from+"-"+this.settings.placement.align),this.settings.allow_dismiss||this.$ele.find('[data-notify="dismiss"]').css("display","none"),(this.settings.delay>0||this.settings.showProgressbar)&&this.settings.showProgressbar||this.$ele.find('[data-notify="progressbar"]').remove()},setIcon:function(){"class"===this.settings.icon_type.toLowerCase()?this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon):this.$ele.find('[data-notify="icon"]').is("img")?this.$ele.find('[data-notify="icon"]').attr("src",this.settings.content.icon):this.$ele.find('[data-notify="icon"]').append('<img src="'+this.settings.content.icon+'" alt="Notify Icon" />')},styleDismiss:function(){this.$ele.find('[data-notify="dismiss"]').css({position:"absolute",right:"10px",top:"5px",zIndex:this.settings.z_index+2})},styleURL:function(){this.$ele.find('[data-notify="url"]').css({backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)",height:"100%",left:0,position:"absolute",top:0,width:"100%",zIndex:this.settings.z_index+1})},placement:function(){var s=this,e=this.settings.offset.y,i={display:"inline-block",margin:"0px auto",position:this.settings.position?this.settings.position:"body"===this.settings.element?"fixed":"absolute",transition:"all .5s ease-in-out",zIndex:this.settings.z_index},n=!1,a=this.settings;switch(t('[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])').each(function(){e=Math.max(e,parseInt(t(this).css(a.placement.from))+parseInt(t(this).outerHeight())+parseInt(a.spacing))}),this.settings.newest_on_top===!0&&(e=this.settings.offset.y),i[this.settings.placement.from]=e+"px",this.settings.placement.align){case"left":case"right":i[this.settings.placement.align]=this.settings.offset.x+"px";break;
44case"center":i.left=0,i.right=0}this.$ele.css(i).addClass(this.settings.animate.enter),t.each(["webkit-","moz-","o-","ms-",""],function(t,e){s.$ele[0].style[e+"AnimationIterationCount"]=1}),t(this.settings.element).append(this.$ele),this.settings.newest_on_top===!0&&(e=parseInt(e)+parseInt(this.settings.spacing)+this.$ele.outerHeight(),this.reposition(e)),t.isFunction(s.settings.onShow)&&s.settings.onShow.call(this.$ele),this.$ele.one(this.animations.start,function(){n=!0}).one(this.animations.end,function(){t.isFunction(s.settings.onShown)&&s.settings.onShown.call(this)}),setTimeout(function(){n||t.isFunction(s.settings.onShown)&&s.settings.onShown.call(this)},600)},bind:function(){var s=this;if(this.$ele.find('[data-notify="dismiss"]').on("click",function(){s.close()}),this.$ele.mouseover(function(){t(this).data("data-hover","true")}).mouseout(function(){t(this).data("data-hover","false")}),this.$ele.data("data-hover","false"),this.settings.delay>0){s.$ele.data("notify-delay",s.settings.delay);var e=setInterval(function(){var t=parseInt(s.$ele.data("notify-delay"))-s.settings.timer;if("false"===s.$ele.data("data-hover")&&"pause"===s.settings.mouse_over||"pause"!=s.settings.mouse_over){var i=(s.settings.delay-t)/s.settings.delay*100;s.$ele.data("notify-delay",t),s.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",i).css("width",i+"%")}t>-s.settings.timer||(clearInterval(e),s.close())},s.settings.timer)}},close:function(){var s=this,e=parseInt(this.$ele.css(this.settings.placement.from)),i=!1;this.$ele.data("closing","true").addClass(this.settings.animate.exit),s.reposition(e),t.isFunction(s.settings.onClose)&&s.settings.onClose.call(this.$ele),this.$ele.one(this.animations.start,function(){i=!0}).one(this.animations.end,function(){t(this).remove(),t.isFunction(s.settings.onClosed)&&s.settings.onClosed.call(this)}),setTimeout(function(){i||(s.$ele.remove(),s.settings.onClosed&&s.settings.onClosed(s.$ele))},600)},reposition:function(s){var e=this,i='[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])',n=this.$ele.nextAll(i);this.settings.newest_on_top===!0&&(n=this.$ele.prevAll(i)),n.each(function(){t(this).css(e.settings.placement.from,s),s=parseInt(s)+parseInt(e.settings.spacing)+t(this).outerHeight()})}}),t.notify=function(t,s){var i=new e(this,t,s);return i.notify},t.notifyDefaults=function(s){return i=t.extend(!0,{},i,s)},t.notifyClose=function(s){void 0===s||"all"===s?t("[data-notify]").find('[data-notify="dismiss"]').trigger("click"):t('[data-notify-position="'+s+'"]').find('[data-notify="dismiss"]').trigger("click")}}); 45</script>
45 46 <style> 47 :root { 48 --mainColor: #ff6d01; 49 --subColor: #ff6d01; 50 --textColor: #00090f; 51 --topHeader:#b8bcff; 52 --bgHeader:#ffffff; 53 --bgHeader2:#444444; 54 --topHeader2:#fcc9f9; 55 --bgFlash:linear-gradient(#FF3131, #FF914D); 56 --gutter:30px; 57 } 58</style> 59<link rel="preload" as='style' type="text/css" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/main.scss.css?1790933936566"> 60<link rel="preload" as='style' type="text/css" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/bootstrap-4-3-min.css?1790933936566"> 61<link rel="preload" as='style' type="text/css" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/quickviews_popup_cart.scss.css?1790933936566"> 62<link rel="stylesheet" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/bootstrap-4-3-min.css?1790933936566"> 63<link href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/main.scss.css?1790933936566" rel="stylesheet" type="text/css" media="all" /> 64<link href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/breadcrumb_style.scss.css?1790933936566" rel="stylesheet" type="text/css" media="all" /><link href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/style_page.scss.css?1790933936566" rel="stylesheet" type="text/css" media="all" /><link href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/account_oder_style.scss.css?1790933936566" rel="stylesheet" type="text/css" media="all" /> 65
65<script> 66 var Bizweb = Bizweb || {}; 67 Bizweb.store = 'dinhvigps-vn.mysapo.net'; 68 Bizweb.id = 520280; 69 Bizweb.theme = {"id":968127,"name":"Bean Mobile - Main","role":"main"}; 70 Bizweb.template = 'customers/login'; 71 if(!Bizweb.fbEventId) Bizweb.fbEventId = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { 72 var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); 73 return v.toString(16); 74 }); 75</script>
vendor: 1 bytes, line 75
75
76<script> 77 (function () { 78 function asyncLoad() { 79 var urls = ["//newproductreviews.sapoapps.vn/assets/js/productreviews.min.js?store=dinhvigps-vn.mysapo.net"]; 80 for (var i = 0; i < urls.length; i++) { 81 var s = document.createElement('script'); 82 s.type = 'text/javascript'; 83 s.async = true; 84 s.src = urls[i]; 85 var x = document.getElementsByTagName('script')[0]; 86 x.parentNode.insertBefore(s, x); 87 } 88 }; 89 window.attachEvent ? window.attachEvent('onload', asyncLoad) : window.addEventListener('load', asyncLoad, false); 90 })(); 91</script>
91 92 93
94<script> 95 window.BizwebAnalytics = window.BizwebAnalytics || {}; 96 window.BizwebAnalytics.meta = window.BizwebAnalytics.meta || {}; 97 window.BizwebAnalytics.meta.currency = 'VND'; 98 window.BizwebAnalytics.tracking_url = '/s'; 99 100 var meta = {}; 101 102 103 for (var attr in meta) { 104 window.BizwebAnalytics.meta[attr] = meta[attr]; 105 } 106</script>
106 107 108 109
109<script src="/dist/js/stats.min.js?v=70fde4b"></script>
109 110 111 112 113 114<!-- Google tag (gtag.js) -->
vendor: 64 bytes, line 114
114 <script async src="https://www.googletagmanager.com/gtag/js?id=
114G-8DLKRDR32E
vendor: 12 bytes, line 114
114"></script>
114<script>
vendor: 127 bytes, line 114
114window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '
114G-8DLKRDR32E
vendor: 4 bytes, line 114
114');
114</script>
vendor: 1 bytes, line 114
114
115<script> 116 117 window.enabled_enhanced_ecommerce = true; 118 119</script>
119 120 121 122 123 124 125
126<script> 127 var eventsListenerScript = document.createElement('script'); 128 eventsListenerScript.async = true; 129 130 eventsListenerScript.src = "/dist/js/store_events_listener.min.js?v=1b795e9"; 131 132 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 133</script>
133 134 135 136 137 138 139
140<script src="//bizweb.dktcdn.net/assets/themes_support/bizweb-api.js" type="text/javascript"></script>
140<script src="//bizweb.dktcdn.net/assets/themes_support/common.js" type="text/javascript"></script>
140<script src="//bizweb.dktcdn.net/assets/themes_support/customer.js" type="text/javascript"></script>
140 141 142 143
143<script type="application/ld+json"> 144 { 145 "@context": "http://schema.org", 146 "@type": "BreadcrumbList", 147 "itemListElement": 148 [ 149 { 150 "@type": "ListItem", 151 "position": 1, 152 "item": 153 { 154 "@id": "https://dinhvigps.vn", 155 "name": "Trang chá»§" 156 } 157 }, 158 159 160 161 162 163 164 165 ] 166 } 167 </script>
167 168 169 170 171 172 173
173<script> 174 $(document).ready(function ($) { 175 awe_lazyloadImage(); 176 }); 177 function awe_lazyloadImage() { 178 var ll = new LazyLoad({ 179 elements_selector: ".lazyload", 180 load_delay: 100, 181 threshold: 0 182 }); 183 } window.awe_lazyloadImage=awe_lazyloadImage; 184 </script>
184 185 <meta name="google-site-verification" content="lrOeOlxmaUIsG0ARllMfyAZlWVFG5AO5YMUb_c9LjD8" /> 186 187 188 <!-- NEN-TRANG-VNTRACK 15/08/2026 â nen xam + tach khoi trang. Go ra: xoa ca khoi style nay --> 189 <style> 190 .bodywrap{background:#f2f4f7} 191 .product.layout-product{padding-bottom:20px} 192 .product.layout-product .details-product > .row > div, 193 .product.layout-product .product-tab, 194 .product.layout-product .productRelate{background:#fff;border-radius:12px} 195 /* tach tung khoi noi dung thanh the rieng â 15/08/2026 */ 196 .product.layout-product .details-product > .row > div{padding-top:15px;padding-bottom:15px;margin-bottom:20px} 197 .product.layout-product .details-product > .row > div:has(> .product-tab), 198 .product.layout-product .details-product > .row > div:has(> .product-spec), 199 .product.layout-product .details-product > .row > .col-lg-12{background:transparent;padding-top:0;padding-bottom:0;margin-bottom:0} 200 .product.layout-product .product-tab, 201 .product.layout-product .product-spec, 202 .product.layout-product .productRelate, 203 .product.layout-product .product-viewed{background:#fff;border-radius:12px;padding:15px;margin:0 0 20px} 204 .product.layout-product .product-spec .heading-title{margin-top:0} 205 /* bo khoi "Co the ban thich" tren dien thoai */ 206 .product.layout-product .d-block.d-sm-none .product-favi{display:none} 207 /* khoi Cau hoi thuong gap: tren PC rong bang khoi Mo ta (cot 70%) */ 208 @media(min-width:992px){.product.layout-product .vnt-faq{max-width:calc((100% + 15px) * 0.7 - 15px)}} 209 /* noi dung ben trong hop FAQ cung nam trong khuon 800px nhu khoi mo ta */ 210 @media(min-width:992px){.product.layout-product .vnt-faq__body{max-width:830px;margin-left:auto;margin-right:auto}} 211 .blogpage .article-main{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px} 212 /* trang danh muc â phan mo ta SEO duoi luoi san pham */ 213 .layout-collection .descrip_coll{background:#fff;border-radius:12px;padding:20px;margin-top:15px} 214 /* trang noi dung (chinh sach, gioi thieu...) */ 215 .pg_page .content-page{background:#fff;border-radius:12px;padding:20px} 216 /* trang danh sach tin tuc */ 217 .layout-blog .right-content{background:#fff;border-radius:12px;padding:15px} 218 219/* BO-GOC-BANNER: banner dau trang chu dang vuong goc trong khi anh danh muc 220 cung trang da bo 10px -> lech nhau. Bo cho dong bo. Them 17/08/2026. 221 Anh Thanh chot: slide chinh chi bo 2 goc TREN, 2 goc DUOI de vuong 222 vi sat voi thanh chon slide ben duoi */ 223.a_tow_slide, 224.a_tow_slide picture, 225.a_tow_slide img{border-radius:12px 12px 0 0;overflow:hidden;display:block} 226.banner_slide_1, 227.banner_slide_1 img{border-radius:10px;overflow:hidden;display:block} 228/* dien thoai: khoi tran sat mep thi bo goc trong la, ha xuong cho vua */ 229@media(max-width:767px){ 230 .a_tow_slide,.a_tow_slide picture,.a_tow_slide img{border-radius:8px 8px 0 0} 231 .banner_slide_1,.banner_slide_1 img{border-radius:8px} 232} 233 234 .new_date .user_date{ 235 display:inline-flex;align-items:center;gap:5px; 236 margin:0;padding:0;float:none 237 } 238 .new_date .user_date::before{ 239 content:"\f017";
239font-family:FontAwesome;font-weight:400; 240 font-size:13px;line-height:1;color:#9aa1ab 241 } 242 /* TIN-TUC-NGAY-THANG: bo dong "Dang boi + tac gia", chi giu ngay thang kem icon 243 dong ho, can sat le trai. Hoc theo dienmayxanh.com/kinh-nghiem-hay. 244 Ap cho CA HAI loai khoi tin: .update_date (2 tin moi + trang /tin-tuc) 245 va .new_date (cot Tin noi bat). Them 18/08/2026. 246 Muon hien lai ten tac gia thi xoa dong dau tien ben duoi. */ 247 .update_date .user_name, 248 .new_date .user_name{display:none} 249 .update_date, 250 .new_date{ 251 display:flex;align-items:center;justify-content:flex-start; 252 gap:6px;margin:6px 0 8px;padding:0; 253 font-size:13px;color:#6b7280;float:none 254 } 255 .update_date .user_date, 256 .new_date .user_date{ 257 display:inline-flex;align-items:center;gap:5px; 258 margin:0;padding:0;float:none 259 } 260 .update_date .user_date::before, 261 .new_date .user_date::before{ 262 content:"\f017";font-family:FontAwesome;font-weight:400; 263 font-size:13px;line-height:1;color:#9aa1ab 264 } 265 /* ANH-BIA-COVER: anh bia bai viet bi KEO MEO vi object-fit mac dinh la fill. 266 Doi sang cover -> anh lech ti le bi CAT gon thay vi keo meo. Them 17/08/2026 */ 267 a.image-blog img, 268 .news-top_item_img .item-img img, 269 .post-thumb img, 270 .tt1 a img{object-fit:cover;object-position:center} 271 /* MOBILE-TRAN-VIEN: bo bo goc + le 2 ben de noi dung rong het man hinh, kieu Dien May Xanh */ 272 @media(max-width:767px){ 273 .product.layout-product .container{padding-left:0;padding-right:0} 274 .product.layout-product .details-product > .row{margin-left:0;margin-right:0} 275 .product.layout-product .details-product > .row > div{padding-left:12px;padding-right:12px} 276 .product.layout-product .details-product > .row > div:has(> .product-tab), 277 .product.layout-product .details-product > .row > div:has(> .product-spec), 278 .product.layout-product .details-product > .row > .col-lg-12{padding-left:0;padding-right:0} 279 .product.layout-product .details-product > .row > div, 280 .product.layout-product .product-tab, 281 .product.layout-product .product-spec, 282 .product.layout-product .productRelate, 283 .product.layout-product .product-viewed, 284 .product.layout-product .vnt-faq{border-radius:0;margin-bottom:10px} 285 .product.layout-product .product-tab, 286 .product.layout-product .product-spec, 287 .product.layout-product .productRelate, 288 .product.layout-product .product-viewed{padding-left:12px;padding-right:12px} 289 .product.layout-product .vnt-faq__body{padding:12px} 290 .blogpage .article-main, 291 .layout-collection .descrip_coll, 292 .pg_page .content-page, 293 .layout-blog .right-content{border-radius:0;padding-left:12px;padding-right:12px} 294 .blogpage .container, 295 .layout-collection .container, 296 .pg_page .container, 297 .layout-blog .container{padding-left:0;padding-right:0} 298 .blogpage .vnt-faq{border-radius:0} 299 } 300 /* ===== CSS VNTRACK - GOP SACH 19/08/2026 ===== 301 Gop tu 12 dot sua, moi selector chi con 1 lan. 302 Cac khoi @media giu nguyen o cuoi. */ 303.article__content{font-size:17px;line-height:1.75;color:#2a3050} 304.article__content [style*="font-size"]{font-size:inherit !important} 305.article__content p{margin:0 0 18px} 306.article__content h2{font-size:24px;font-weight:600;line-height:1.35;color:#1c244b;margin:38px 0 12px} 307.article__content h3{font-size:20px;font-weight:600;line-height:1.4;color:#1c244b;margin:28px 0 10px} 308.article__content h4{font-size:18px;font-weight:600;line-height:1.4;color:#1c244b;margin:24px 0 8px} 309.article__content ul,.article__content ol{margin:0 0 18px;padding-left:22px} 310.article__content li{margin-bottom:8px} 311.article__content blockquote{margin:0 0 20px;padding:14px 18px;background:#f3f5f8;border-left:3px solid #ff6d01;border-radius:0 6px 6px 0} 312.article__content blockquote p:last-child{margin-bottom:0} 313.article__content table{font-size:16px;margin:0 0 20px} 314.article__content table td,.article__content table th{padding:5px 12px;line-height:1.6} 315.article__content img{margin:6px 0 20px} 316.article__content .article-cover-img{margin:0 0 24px} 317.article-title{font-size:30px;font-weight:600;line-height:1.3;color:#1c244b;margin:0 0 12px} 318.rte.product_getcontent, .descrip_coll{font-size:18px;line-height:1.75;color:#2a3050} 319.rte.product_getcontent [style*="font-size"], .descrip_coll [style*="font-size"]{font-size:inherit !important} 320.rte.product_getcontent p, .descrip_coll p{margin:0 0 18px !important;line-height:1.75 !important;color:#2a3050} 321.rte.product_getcontent ul,.rte.product_getcontent ol, .descrip_coll ul,.descrip_coll ol{margin:0 0 18px;padding-left:22px} 322.rte.product_getcontent li, .descrip_coll li{margin-bottom:8px !important;line-height:1.75 !important;color:#2a3050} 323.rte.product_getcontent h2, .descrip_coll h2{font-size:24px !important;font-weight:600 !important;line-height:1.35 !important;
323color:#1c244b !important;margin:38px 0 12px !important} 324.rte.product_getcontent h3, .descrip_coll h3{font-size:20px !important;font-weight:600 !important;line-height:1.4 !important;color:#1c244b !important;margin:28px 0 10px !important} 325.rte.product_getcontent h4, .descrip_coll h4{font-size:18px !important;font-weight:600 !important;line-height:1.4 !important;color:#1c244b !important;margin:24px 0 8px !important} 326.rte.product_getcontent table, .descrip_coll table{font-size:16px;margin:0 0 20px} 327.rte.product_getcontent table td,.rte.product_getcontent table th, .descrip_coll table td,.descrip_coll table th{padding:5px 12px !important;line-height:1.6 !important} 328.rte.product_getcontent blockquote, .descrip_coll blockquote{font-size:18px !important;line-height:1.7 !important;margin:0 0 20px;padding:14px 18px;background:#f3f5f8;border-left:3px solid #ff6d01;border-radius:0 6px 6px 0} 329.rte.product_getcontent img, .descrip_coll img{margin:6px 0 20px} 330.vnt-faq__tit{font-size:20px !important;font-weight:600 !important;color:#fff !important;line-height:1.35 !important} 331.vnt-faq summary{font-size:18px !important;font-weight:600 !important;line-height:1.4 !important;color:#1c244b !important;padding-top:9px !important;padding-bottom:9px !important} 332.vnt-faq__ans{font-size:18px !important;line-height:1.75 !important;color:#2a3050 !important} 333.vnt-faq__ul li{font-size:18px !important;line-height:1.75 !important;color:#2a3050 !important;margin-bottom:6px} 334.content-page.rte{font-size:18px;line-height:1.75;color:#2a3050} 335.content-page.rte [style*="font-size"]{font-size:inherit !important} 336.content-page.rte p{margin:0 0 18px !important;line-height:1.75 !important} 337.content-page.rte ul,.content-page.rte ol{margin:0 0 18px;padding-left:22px} 338.content-page.rte li{margin-bottom:8px !important;line-height:1.75 !important} 339.content-page.rte h2,.content-page.rte h2 strong,.content-page.rte h2 span{font-size:24px !important;font-weight:600 !important;line-height:1.35 !important;color:#1c244b !important} 340.content-page.rte h2{margin:38px 0 12px !important} 341.content-page.rte h3,.content-page.rte h3 strong,.content-page.rte h3 span{font-size:20px !important;font-weight:600 !important;line-height:1.4 !important;color:#1c244b !important} 342.content-page.rte h3{margin:28px 0 10px !important} 343.content-page.rte blockquote,.content-page.rte blockquote span{font-size:18px !important;line-height:1.7 !important} 344.layout-contact .testabc,.layout-contact .testabc p{font-size:17px !important;line-height:1.75 !important;color:#2a3050 !important} 345.layout-contact h4{font-size:18px !important;font-weight:600 !important;color:#1c244b !important} 346.page-he-thong .store-list,.page-he-thong .store-list p,.page-he-thong .store-list li,.page-he-thong .store-list span{font-size:17px !important;line-height:1.7 !important;color:#2a3050 !important} 347.price{font-size:16px !important;font-weight:700 !important} 348.compare-price{font-size:13px !important} 349h3.product-name,h3.product-name a{color:#2a3050 !important;font-weight:600 !important} 350.item_blog_index .blog_content h3 a,.item_blog_index .blog_content h4 a,.blog_index_box .blog_content h4 a{font-size:17px !important;font-weight:600 !important;line-height:1.4 !important;color:#1c244b !important} 351.item_blog_index .blog_description{font-size:16px !important;line-height:1.7 !important;color:#2a3050 !important} 352.item_blog_index .user_date,.blog_index_box .user_date{font-size:13px !important;color:#6b7280 !important} 353.item_blog_index .user_name b{font-size:13px !important} 354.title-blog{color:#1c244b !important;font-weight:600 !important} 355footer h5.title-menu{color:#1c244b !important} 356footer .des_foo,footer .li_menu,footer .li_menu a{color:#2a3050 !important} 357.article__content blockquote, .article__content blockquote p{font-size:18px !important;line-height:1.7 !important} 358.article__content p, .article__content li{line-height:1.75 !important} 359.article-details h1.article-title{font-size:30px !important;font-weight:600 !important;color:#1c244b !important;line-height:1.3 !important} 360h1.title-module,h2.title-module, h1.title-module b,h2.title-module b, h1.title-module strong,h2.t
360itle-module strong{color:#1c244b !important} 361.title_no_mis{color:#1c244b !important} 362.title_hot{color:#2a3050 !important} 363a.line-clamp,a.line-clamp-1,a.product-name,.title_one_slide,a.link{color:#2a3050 !important} 364.nav-col .nav-link,a.noti-cart-count{color:#2a3050 !important} 365.list_footer,span.list_footer,.txt-yt{color:#2a3050 !important} 366.user_name,.user_name b{color:#6b7280 !important} 367p.blog_description,.blog_description{color:#2a3050 !important} 368.item_blog_index a.image-blog{display:block;border-radius:10px;overflow:hidden} 369.item_blog_index a.image-blog img{border-radius:10px} 370.blog_noibat .post-thumb{border-radius:8px;overflow:hidden} 371.blog_noibat a.image-blog{display:block;border-radius:8px;overflow:hidden} 372.blog_noibat .post-thumb img, .blog_noibat a.image-blog img{border-radius:8px} 373.news-top_item_img .item-img img, .blogpage a.image-blog img{border-radius:10px} 374.blog_noibat .contentright h6, .blog_noibat .contentright h6 a{font-size:16px !important;font-weight:600 !important;color:#1c244b !important;line-height:1.45 !important} 375.blog_noibat .contentright h6{-webkit-line-clamp:2 !important;max-height:none !important;margin-bottom:6px !important} 376.blog_noibat .time-post{display:flex !important;align-items:center;gap:5px;margin:6px 0 0 !important;padding:0;float:none;font-size:13px !important;line-height:1.5 !important;color:#6b7280 !important} 377.blog_noibat .time-post span{font-size:13px !important;color:#6b7280 !important;line-height:1.5 !important;font-style:normal} 378.blog_noibat .time-post::before{content:"\f017";
378font-family:FontAwesome;font-weight:400;font-size:13px;line-height:1;color:#9aa1ab;flex:0 0 auto} 379.blog_noibat .h2_sidebar_blog, .blog_noibat .h2_sidebar_blog a{color:#fff !important} 380.item_blog_index .update_date .user_date{display:inline-flex;align-items:center;gap:5px} 381.item_blog_index .update_date .user_date::before{content:"\f017";font-family:FontAwesome;font-weight:400;font-size:13px;line-height:1;color:#9aa1ab} 382.blog_index_box .blog_content h4{display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;line-height:1.45 !important;max-height:none !important;margin-bottom:6px !important} 383.blog_index_box .blog_content h4 a{font-size:16px !important;line-height:1.45 !important;color:#1c244b !important} 384.blog_index_box .contentright{padding-bottom:12px !important} 385.blog_index_box .user_date{font-size:13px !important;color:#6b7280 !important} 386.title-blog,.title-blog a{color:#1c244b !important;font-weight:600 !important} 387.page_sidebar{background:#fff;border:1px solid #e6e9f0;border-radius:12px;overflow:hidden} 388.page_sidebar .h2_sidebar_blog{background:#ff6d01;margin:0;padding:12px 16px;font-size:16px !important;font-weight:600 !important;line-height:1.35;text-transform:uppercase} 389.page_sidebar .h2_sidebar_blog a{color:#fff !important;font-size:16px !important;font-weight:600 !important} 390.page_sidebar .blog_content{padding:6px 16px 12px} 391.page_sidebar .item{padding:10px 0;border-bottom:1px solid #eef0f5} 392.page_sidebar .item:last-child{border-bottom:0} 393.page_sidebar .contentright h6{margin:0} 394.page_sidebar .contentright h6 a{font-size:16px !important;font-weight:500 !important;color:#2a3050 !important;line-height:1.5 !important;display:block} 395.page_sidebar .contentright h6 a:hover{color:#ff6d01 !important} 396.pg_page .content-page.rte{padding-right:8px} 397.swiper-slide img.swiper-lazy, a.swiper-slide img{border-radius:10px} 398a.swiper-slide{display:block;border-radius:10px;overflow:hidden} 399.p-100 a.swiper-slide, .p-100 a.swiper-slide img, .p-100 img.swiper-lazy{border-radius:6px} 400.product-smart .image_thumb img, .item_product_main .image_thumb img, .image_thumb > a > img{border-radius:8px} 401.product-smart .image_thumb, .item_product_main .image_thumb{border-radius:8px;overflow:hidden} 402.rte.product_getcontent img, .descrip_coll img, .content-page.rte img{border-radius:10px} 403.comment-item img, .comment_avatar img, img.avatar{border-radius:50%} 404.news-top_item_img .item-img, .news-top_item_img .item-img img{border-radius:10px} 405a.news-top_item_img{border-radius:10px;overflow:hidden} 406.post-thumb,.post-thumb img, .post-thumb a.image-blog{border-radius:8px} 407a.logo-wrapper img, img.icon_hot, a.header-acc img, img.phone_foo, .box_qua_tang img, .img_poly img, label.left img, a.one img, .social-footer img{border-radius:0 !important} 408.vnt-faq details[open] summary, .vnt-faq details[open] summary *{color:#fff !important} 409.khuyen-mai,.product-policises-wrapper, .pro-right-stick .product-favi,.product-spec{border-radius:10px !important;overflow:hidden} 410.khuyen-mai .title, .product-policises-wrapper .title-head, .pro-right-stick .product-favi .title-head, .product-spec h4.heading-title{font-size:16px !important;font-weight:600 !important;text-transform:uppercase;line-height:1.35 !important} 411.product-spec h4.heading-title{background:#ff6d01 !important;color:#fff !important;margin:0 !important;padding:12px 15px !important;border:0 !important} 412.khuyen-mai .content .box_qua_tang span,.product-policises .item_poli .content_poli,.pro-right-stick .product-favi .product-name{font-size:16px !important;line-height:1.6 !important;color:#2a3050 !important} 413.product-spec table td{font-size:15px !important;line-height:1.6 !important;color:#2a3050 !important} 414.vnt-tomtat,.vnt-tomtat p,.vnt-tomtat ul,.vnt-tomtat li,.vnt-tomtat strong,.vnt-tomtat b{font-size:16px !important;line-height:1.6 !important} 415 416.product-spec table{table-layout:fixed !important;width:100% !important} 417.product-spec table td:first-child{width:38% !important;font-weight:600 !important;color:#1c244b !important} 418.product-spec table td{padding:5px 12px !important;vertical-align:top} 419.view_mores{width:100% !important;text-align:center} 420.view_mores a.one,.view_mores a.two{align-items:center;gap:6px;white-space:nowrap !important;padding:7px 20px !important;width:auto !important} 421 .view_mores a.one:not(.active),.view_mores a.two:not(.active){display:inline-flex !important} 422 .view_mores a.one.active,.view_mores a.two.active{display:none !important} 423.price-box .special-price{font-size:15px !important;font-weight:400 !important;color:#2a3050 !important} 424.price-box .special-price .price.product-price{font-size:26px !important;font-weight:700 !important;color:#ff6d01 !important;line-height:1.2} 425.price-box .old-price{font-size:13px !important;color:#9aa1ab !important} 426.price-box .old-price del.product-price-old{font-size:13px !important;font-weight:400 !important;color:#9aa1ab !important} 427.price-box .save-price{font-size:13px !important;color:#9aa1ab !important} 428.price-box .save-price .price.product-price-save{font-size:14px !important;font-weight:600 !important;color:#ff6d01 !important} 429span.price,.price-box .price,.product-price{color:#ff6d01 !important} 430del.product-price-old,.old-price del{color:#9aa1ab !important} 431.hotline-footer,.hotline-footer p,.hotline-footer span, .hotline-footer .testabc{color:#2a3050 !important} 432.hotline-footer p{display:block !important;align-items:flex-start;gap:0 !important;margin:0 0 10px} 433.hotline-footer p::before{content:none !important;
433font-family:FontAwesome;font-weight:400;color:#ff6d01;font-size:14px;line-height:1.7;flex:0 0 auto} 434.hotline-footer p:last-child::before{content:"\f075"} 435.hotline-footer p:last-child > span:first-child{display:none} 436.hotline-footer p:last-child br{display:none} 437.hotline-footer a.no-a{color:#ff6d01 !important;font-weight:600} 438.mid-footer .container b,.mid-footer .container strong{color:#1c244b !important} 439.top-header{padding-top:6px !important;padding-bottom:6px !important} 440header.header .header-links{padding-top:6px !important;padding-bottom:6px !important;padding:3px 10px !important} 441header.header .header-links label.left{align-self:center !important;margin-bottom:0 !important;line-height:1.3 !important;font-size:0 !important;margin:0 !important;white-space:nowrap} 442header.header .header-links .inner{align-items:center;gap:6px} 443ul.breadcrumb{padding-top:10px !important;padding-bottom:10px !important;margin-bottom:12px !important} 444.top-header a.logo-wrapper img{max-height:46px !important;width:auto !important} 445.top-header .row{align-items:center} 446header.header .header-links a.show_icon{font-size:16px !important;line-height:1.3 !important;display:inline-block;font-weight:500 !important} 447header.header .header-links a{font-size:16px !important;line-height:1.3 !important} 448header.header .header-links img.icon_hot{margin-top:-6px} 449header.header .header-links label.left::after{content:"Bán chạy:";font-size:15px;font-weight:600;color:#2a3050} 450header.header .header-links label{font-size:0 !important;line-height:1.3 !important;margin:0 !important;white-space:nowrap;align-self:center} 451header.header .header-links label::after{content:"Bán chạy:";font-size:15px;font-weight:600;color:#2a3050} 452.view_mores a.one,.view_mores a.two{color:#2a3050 !important;font-weight:600} 453.view_mores a.one:hover,.view_mores a.one:focus,.view_mores a.one:active, .view_mores a.two:hover,.view_mores a.two:focus,.view_mores a.two:active{color:#fff !important;background:#ff6d01 !important;border-color:#ff6d01 !important} 454.view_mores a.one:hover img,.view_mores a.one:focus img,.view_mores a.one:active img, .view_mores a.two:hover img,.view_mores a.two:focus img,.view_mores a.two:active img{filter:brightness(0) invert(1)} 455.view_mores a.one img,.view_mores a.two img{width:14px !important;height:14px !important;object-fit:contain;margin:0 !important;vertical-align:middle} 456.layout-article .right-content{background:#fff;border-radius:12px;padding:20px} 457.layout-article .article-details{background:transparent} 458#add-to-cart-form{position:relative} 459.details-pro .box_compare{position:absolute !important;top:31px !important;right:0 !important;left:auto !important;margin:0 !important;z-index:2} 460h1.title-product{color:#1c244b !important} 461.sku-product .variant-sku,.sku-product strong, .inventory_quantity .stock-brand-title,.inventory_quantity .a-vendor, .inventory_quantity .a-stock{color:#2a3050 !important} 462.form-product .header,.box-variant .header{color:#1c244b !important} 463.product-tab h3,.tab-content h3{color:#1c244b !important} 464.tab-content .rte,.tab-content .rte p,.tab-content .rte li{color:#2a3050 !important} 465.tab-content .rte b,.tab-content .rte strong{color:#1c244b !important} 466.sapo-review-author,.sapo-review-content-body, .review-product-name{color:#2a3050 !important} 467.title-form{color:#1c244b !important} 468a.spec-toggle-btn{color:#ff6d01 !important;font-weight:600} 469p.title-size,.product-spec p.title-size{color:#1c244b !important} 470.js-product-getcontent td,.js-product-getcontent th{color:#2a3050 !important} 471.section_product_relate .title-head a, .section_product_relate .title-head{color:#1c244b !important} 472 473/* tach 2 cot trang bai viet */ 474.layout-article article.article-main{background:transparent !important;padding:0 !important;border-radius:0 !important} 475.layout-article .blog_left_base{padding-left:15px} 476 477@media(max-width:767px){ 478.article__content{font-size:17px;line-height:1.7} 479.article__content p{margin:0 0 16px} 480.article__content h2{font-size:21px;margin:32px 0 10px} 481.article__content h3{font-size:18px;margin:24px 0 8px} 482.article__content h4{font-size:17px;margin:20px 0 8px} 483.article__content table{font-size:15px;
483display:block;overflow-x:auto} 484.article__content table td,.article__content table th{padding:8px 10px} 485.article-title{font-size:23px;line-height:1.35} 486} 487@media(max-width:767px){ 488.rte.product_getcontent,.descrip_coll{font-size:17px;line-height:1.7} 489.rte.product_getcontent p,.descrip_coll p{margin:0 0 16px !important;line-height:1.7 !important} 490.rte.product_getcontent li,.descrip_coll li{line-height:1.7 !important} 491.rte.product_getcontent h2,.descrip_coll h2{font-size:21px !important;margin:32px 0 10px !important} 492.rte.product_getcontent h3,.descrip_coll h3{font-size:18px !important;margin:24px 0 8px !important} 493.rte.product_getcontent h4,.descrip_coll h4{font-size:17px !important;margin:20px 0 8px !important} 494.rte.product_getcontent table,.descrip_coll table{display:block;overflow-x:auto;font-size:15px} 495.rte.product_getcontent table td,.rte.product_getcontent table th, 496.descrip_coll table td,.descrip_coll table th{padding:8px 10px !important} 497.rte.product_getcontent blockquote,.descrip_coll blockquote{font-size:17px !important} 498.vnt-faq__tit{font-size:19px !important} 499.vnt-faq summary{font-size:17px !important} 500.vnt-faq__ans,.vnt-faq__ul li{font-size:17px !important;line-height:1.7 !important} 501} 502@media(max-width:767px){ 503.content-page.rte{font-size:17px;line-height:1.7} 504.content-page.rte p{margin:0 0 16px !important;line-height:1.7 !important} 505.content-page.rte li{line-height:1.7 !important} 506.content-page.rte h2,.content-page.rte h2 strong,.content-page.rte h2 span{font-size:21px !important} 507.content-page.rte h2{margin:32px 0 10px !important} 508.content-page.rte h3,.content-page.rte h3 strong,.content-page.rte h3 span{font-size:18px !important} 509.content-page.rte h3{margin:24px 0 8px !important} 510.content-page.rte blockquote,.content-page.rte blockquote span{font-size:17px !important} 511.layout-contact .testabc,.layout-contact .testabc p{font-size:16px !important} 512.page-he-thong .store-list,.page-he-thong .store-list p,.page-he-thong .store-list li,.page-he-thong .store-list span{font-size:16px !important} 513.item_blog_index .blog_content h3 a,.item_blog_index .blog_content h4 a,.blog_index_box .blog_content h4 a{font-size:17px !important} 514.item_blog_index .blog_description{font-size:15px !important} 515} 516@media(max-width:767px){ 517.article-details h1.article-title{font-size:23px !important;line-height:1.35 !important} 518.article__content blockquote,.article__content blockquote p{font-size:17px !important} 519.article__content p,.article__content li{line-height:1.7 !important} 520} 521@media(max-width:991px){ 522 .pg_page .blog_left_base{margin-top:24px} 523 .pg_page .content-page.rte{padding-right:0} 524} 525@media(max-width:767px){ 526.details-pro .box_compare{position:static !important;top:auto !important;right:auto !important;margin:10px 0 0 !important} 527} 528@media(max-width:767px){ 529.layout-article .right-content{padding:14px;border-radius:10px} 530#add-to-cart-form{position:relative} 531.details-pro .box_compare{position:absolute !important;top:31px !important;right:0 !important;left:auto !important;margin:0 !important;z-index:2} 532@media(max-width:767px){ 533.details-pro .box_compare{position:static !important;top:auto !important;right:auto !important;margin:10px 0 0 !important} 534} 535} 536@media(max-width:767px){ 537.details-pro .box_compare{position:static !important;top:auto !important;right:auto !important;margin:10px 0 0 !important} 538} 539@media(max-width:991px){.layout-article .blog_left_base{padding-left:7.5px;margin-top:20px}} 540/* BANG-TRONG-NOI-DUNG: vien ro hon, cot 1 chiem 1/3, cot 2 chiem 2/3. Them 19/08/2026 541 Anh Thanh: vien cu #ebebeb qua mo (tuong phan 1,2:1) va cot 2 bi cat chu o hop ben phai */ 542.product_getcontent table,.product-spec table,.article__content table,.content-page table,.descrip_coll table{border-collapse:separate !important;border-spacing:0 !important;width:100% !important;table-layout:auto;border:0 !important;border-radius:0;overflow:visible;margin:14px 0} 543 .product_getcontent table tr:last-child td,.product-spec table tr:last-child td,.article__content table tr:last-child td,.content-page table tr:last-child td{border-bottom:0 !important} 544 .product_getcontent table td:last-child,.product-spec table td:last-child,.article__content table td:last-child,.content-page table td:last-child{border-right:0 !important} 545.product_getcontent table col,.product-spec table col,.article__content table col,.content-page table col{width:auto !important} 546.product_getcontent table td,.product-spec table td,.article__content table td,.content-page table td,.descrip_coll table td{border:0 !important;border-right:1px solid #b8c0d0 !important;border-bottom:1px solid #b8c0d0 !important;padding:5px 12px !important;text-align:left;vertical-align:middle;word-break:break-word;overflow-wrap:anywhere} 547.product_getcontent table td:first-child,.product-spec table td:first-child,.article__content table td:first-child,.content-page table td:first-child{font-weight:600;color:#1c244b} 548.product_getcontent table tr>td:first-child:nth-last-child(2),.product-spec table tr>td:first-child:nth-last-child(2),.article__content table tr>td:first-child:nth-last-child(2),.content-page table tr>td:first-child:nth-last-child(2){width:33.33%} 549.product_getcontent table tr>td:first-child:nth-last-child(2)~td,.product-spec table tr>td:first-child:nth-last-child(2)~td,.article__content table tr>td:first-child:nth-last-child(2)~td,.content-page table tr>td:first-child:nth-last-child(2)~td{width:66.67%} 550.product_getcontent table tr:nth-child(even) td,.product-spec table tr:nth-child(even) td,.article__content table tr:nth-child(even) td{background:#f5f7fa} 551@media(max-width:600px){ 552 .product_getcontent table td,.product-spec table td,.article__content table td,.content-page table td{padding:8px 9px;font-size:14px} 553 .product_getcontent table td:first-child,.product-spec table td:first-child{width:38%} 554 .product_getcontent table td:last-child,.product-spec table td:last-child{width:62%} 555}
556/* KHUON-NOI-DUNG-800: trang san pham chi tiet - moi thu (chu, anh, bang) trong khuon 800px, 557 anh va bang tu can giua. Anh Thanh chot 19/08/2026. Truoc do khuon 816px va anh lech trai 16px */ 558.product.layout-product .tab-content .product_getcontent{max-width:800px;margin-left:auto;margin-right:auto} 559.product.layout-product .tab-content .product_getcontent img{display:block;max-width:100%;height:auto;margin-left:auto !important;margin-right:auto !important} 560.product.layout-product .tab-content .product_getcontent table{margin-left:auto !important;margin-right:auto !important;max-width:100%} 561/* ANH-TRONG-BAI-CAN-GIUA: anh trong bai tin tuc bi dinh sat mep trai. 562 Nguyen nhan: anh co display:block va margin trai phai bang 0, nen text-align:center cua the cha khong tac dung. 563 Anh Thanh chot 22/08/2026. Tru anh tac gia va anh trong khoi san pham. */ 564.article-details img{display:block;margin-left:auto;margin-right:auto;max-width:100%;height:auto} 565.article-details .vnt-tacgia__anh img,.article-details .item_pro_art img{margin-left:0;margin-right:0} 566/* KHOI-SAN-PHAM-TRONG-BAI: khoi [san-pham-tin] trong bai tin tuc. Ban cuoi 22/08/2026 567 Anh Thanh: canh TREN anh = canh tren tieu de, canh DUOI anh = canh duoi nut. Khoi hep 10%. 568 Chieu cao 144px la co dinh, cot anh va cot chu deu bam theo so nay - doi so nay thi phai doi ca hai */ 569.item_pro_art{align-items:flex-start;padding:14px 16px;border-radius:10px;border:1px solid #d8dde6;max-width:540px;gap:16px} 570.item_pro_art .info_left{flex:0 0 144px;width:144px;height:144px} 571.item_pro_art .info_left .image_thumb{display:block;width:144px;height:144px;line-height:0} 572.item_pro_art .info_left img{width:144px;height:144px;object-fit:contain;display:block;margin:0} 573.item_pro_art .product-info{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:0 !important;flex:1 1 auto;height:144px} 574.item_pro_art .product-name{margin:0 0 8px !important;font-size:15.5px !important;line-height:1.4 !important;height:44px;overflow:hidden} 575.item_pro_art .price-box{margin:0 0 auto !important;line-height:1.25 !important;width:100%} 576.item_pro_art .price-box .price.product-price{font-size:21px !important;line-height:1.25 !important} 577.item_pro_art .special-price{margin-bottom:2px !important;line-height:1.25 !important} 578.item_pro_art .old-price{line-height:1.2 !important;font-size:13px !important} 579.item_pro_art .see_detail{background-image:none;background-color:#ff6d01;align-self:flex-start;width:auto;margin:0 !important} 580@media(max-width:560px){ 581 .item_pro_art{padding:12px 13px;gap:12px} 582 .item_pro_art .info_left{flex:0 0 118px;width:118px;height:118px} 583 .item_pro_art .info_left .image_thumb{width:118px;height:118px} 584 .item_pro_art .info_left img{width:118px;height:118px} 585 .item_pro_art .product-info{height:118px} 586 .item_pro_art .product-name{font-size:14px !important;height:38px} 587 .item_pro_art .price-box .price.product-price{font-size:19px !important} 588} 589 BANG-SO-SANH-COT-DEU: bang so sanh nhieu cot (dung class .bang-so-sanh). 590 Khoi BANG-TRONG-NOI-DUNG khoa cung cot 1 â¹EQ⺠33% / cot cuoi â¹EQ⺠67% nen bang 3 cot bi vo. 591 Them 20/08/2026 */ 592.product_getcontent table.bang-so-sanh,.article__content table.bang-so-sanh,.content-page table.bang-so-sanh{table-layout:auto !important} 593.product_getcontent table.bang-so-sanh td,.product_getcontent table.bang-so-sanh th,.article__content table.bang-so-sanh td,.article__content table.bang-so-sanh th,.content-page table.bang-so-sanh td,.content-page table.bang-so-sanh th{width:auto !important} 594.product_getcontent table.bang-so-sanh td:first-child,.article__content table.bang-so-sanh td:first-child,.content-page table.bang-so-sanh td:first-child{width:38% !important} 595.product_getcontent table.bang-so-sanh th,.article__content table.bang-so-sanh th,.content-page table.bang-so-sanh th{background:#1c244b;color:#fff;font-weight:600;font-size:15px;padding:5px 12px !important;text-align:left;border:0 !important;border-right:1px solid #46507e !important} 596.product_getcontent table.bang-so-sanh th:last-child,.article__content table.bang-so-sanh th:last-child,.content-page table.bang-so-sanh th:last-child{border-right:0 !important} 597.product_getcontent table.bang-so-sanh td:first-child,.article__content table.bang-so-sanh td:first-child{font-weight:600;color:#1c244b} 598@media(max-width:600px){.product_getcontent table.bang-so-sanh th,.article__content table.bang-so-sanh th{font-size:13.5px;padding:8px 9px !important}} 599/* HOP-THONG-SO-GIONG-FAQ: dong bo hop "Thong so ky thuat" voi hop "Cau hoi thuong gap". 600 Anh Thanh chot 19/08/2026: thanh cam tran het khung, bo cong 2 goc tren, co chu bang nhau. 601 Truoc do hop co padding 15px nen thanh cam thut vao, va co chu 16px so voi 20px cua FAQ */ 602.product.layout-product .product-spec{padding:0 !important;overflow:hidden;border-radius:12px !important} 603.product.layout-product .product-spec .heading-title{font-size:20px !important;font-weight:600 !important;padding:13px 15px !important;margin:0 !important;border-radius:0 !important;line-height:1.35 !important} 604.product.layout-product .product-spec .js-content-wrapper{padding:15px} 605/* O-SAP-XEP-CAN-GIUA: trang danh muc - o "Sap xep" dat top:2px nen nho len tren 4px 606 so voi tam thanh tieu de cam. Anh Thanh chot 19/08/2026 */ 607@media(max-width:767px){.layout-collection #sort-by,.section-box-bg #sort-by{position:static !important;top:auto !important;right:auto !important;margin:8px 0 0 !important}} 608/* THANH-BAN-CHAY: hang san pham hot tren dau trang. Anh Thanh chot 19/08/2026: 609 chu to hon, bo 10px thua o le duoi (ul co margin-bottom:10px nen le duoi 13px s
609o voi le tren 3px), 610 phong to icon HOT cho bat mat */ 611.header-links .inner ul{margin-bottom:0 !important} 612.header-links img.icon_hot{width:30px !important;height:16px !important;top:-9px !important} 613@media(max-width:1199px){.header-links a.show_icon{font-size:15px !important}.header-links img.icon_hot{width:26px !important;height:14px !important;top:-8px !important}} 614/* ===== HET CSS VNTRACK ===== */ 615</style> 616 617<!-- Microsoft Clarity - ban do nhiet, gan 12/09/2026 -->
618<script type="text/javascript"> 619(function(c,l,a,r,i,t,y){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);})(window, document, "clarity", "script", "yh3q55cd8n"); 620</script>
620 621<style id="vnt-menu-dm-css"> 622/* vnt-menu-dm-2309: vien day nut danh muc cu la #eee tren nen #f2f4f7 nen gan nhu vo hinh, va nut dang xem khong khac nut thuong */ 623.menu-list .cate-item{background:#fff;border-color:#d4dae6} 624.menu-list .cate-item .cate-info-title{color:#2a3050} 625/* di chuot vao: CHI doi vien sang cam, nen va chu giu nguyen (anh Thanh chot 23-09) */ 626body .menu-list a.cate-item:hover{background:#fff !important;border-color:#ff6d01 !important} 627body .menu-list a.cate-item:hover .cate-info-title{color:#2a3050 !important} 628body .menu-list a.cate-item.active:hover{background:#fff4ec !important;border-color:#ff6d01 !important} 629body .menu-list a.cate-item.active:hover .cate-info-title{color:#1c244b !important} 630.menu-list .cate-item.active{background:#fff4ec;border-color:#ff6d01} 631.menu-list .cate-item.active .cate-info-title{color:#1c244b;font-weight:600} 632</style> 633<style id="vnt-nut-hang-css"> 634/* vnt-nut-hang-2309: nut loc theo hang tren danh muc Camera hanh trinh */ 635.vnt-dau-dm{display:flex;align-items:center;gap:14px;flex-wrap:wrap} 636.vnt-dau-dm .title-page{margin:0} 637.vnt-nut-hang{display:flex;align-items:center;gap:8px;margin:0} 638.vnt-nut-hang a{display:flex;align-items:center;justify-content:center;height:42px;padding:0 16px;background:#fff;border:1px solid #dfe3ec;border-radius:8px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease} 639.vnt-nut-hang a:hover{border-color:#ff6d01;box-shadow:0 2px 10px rgba(28,36,75,.10);transform:translateY(-1px)} 640.vnt-nut-hang a:focus-visible{outline:2px solid #ff6d01;outline-offset:2px} 641.vnt-nut-hang img{display:block;width:auto;height:auto;max-width:100%} 642.vnt-nut-hang .l-vietmap img{max-height:17px} 643.vnt-nut-hang .l-70mai img{max-height:19px} 644.vnt-nut-hang .l-akeeyo img{max-height:21px} 645/* tu 1200px tro len moi du cho xep ngang: khoi Sap xep neo tuyet doi o goc phai */ 646@media(min-width:1200px){.vnt-dau-dm{padding-right:210px}} 647@media(max-width:1199px){.vnt-nut-hang{flex:1 1 100%;margin:2px 0 0}} 648@media(max-width:767px){ 649.vnt-dau-dm{display:block} 650.vnt-dau-dm .title-page{margin-bottom:12px} 651.vnt-nut-hang{gap:8px;margin:0 0 14px} 652.vnt-nut-hang a{flex:1 1 0;min-width:0;padding:0 8px;height:44px} 653.vnt-nut-hang .l-vietmap img{max-height:15px} 654.vnt-nut-hang .l-70mai img{max-height:17px} 655.vnt-nut-hang .l-akeeyo img{max-height:19px} 656} 657</style> 658 659<style id="vnt-gia-khung-sp-2409"> 660/* ten san pham to hon 1 size, ap cho moi trang */ 661.item_product_main .product-name,.item_product_main .product-name a,.product-event .product-name,.product-event .product-name a{font-size:15px !important} 662/* thut le trong the cho thoang, ca hai khoi dung chung mot con so */ 663.item_product_main .product-name,.item_product_main .product-price-cart,.item_product_main .productcount,.item_product_main .star_compar{padding-left:14px !important;padding-right:14px !important} 664.item_product_main .product-price-cart .price-box .price,.product-event .price-box .price{font-size:19px !important;line-height:1.15 !important} 665.item_product_main .product-price-cart .price-box .compare-price,.product-event .price-box .compare-price{font-size:14px !important} 666@media(max-width:767px){ 667.item_product_main .product-price-cart .price-box .price,.product-event .price-box .price{font-size:17px !important} 668.item_product_main .product-price-cart .price-box .compare-price,.product-event .price-box .compare-price{font-size:13px !important} 669} 670.sidebarAllMainCompare .item-compare .item-compare-wrap{flex-wrap:nowrap !important;gap:12px !important} 671.sidebarAllMainCompare .item-compare .product-info{width:auto !important;flex:1 1 0 !important;min-width:0 !important} 672.sidebarAllMainCompare .item-compare .image_thumb{flex:0 0 auto !important} 673.sidebarAllMainCompare .item-compare .image_thumb,.sidebarAllMainCompare .item-compare .image_thumb img{width:104px !important;height:104px !important;object-fit:contain !important} 674@media(max-width:767px){ 675.sidebarAllMainCompare .item-compare .image_thumb,.sidebarAllMainCompare .item-compare .image_thumb img{width:88px !important;height:88px !important} 676} 677</style> 678 679<style id="vnt-khoi-deal-2409"> 680/* khoi Gio vang deal soc: khoang cach va be ngang the giong het khoi san pham ben duoi, nen cam chi la diem nhan */ 681.time-flas{margin-left:-10px !important;margin-right:-10px !important} 682.time-flas .uwrap_tab{padding:0 11px 11px !important} 683.time-flas .tab-content{padding:0 !important} 684.time-flas .row.row-scroll{margin-left:-7.5px !important;margin-right:-7.5px !important} 685.time-flas .row.row-scroll > [class*="col-"]{padding-left:7.5px !important;padding-right:7.5px !important} 686span.product-name{display:block !important;line-height:1 !important} 687span.product-name,span.product-name a{color:#2a3050 !important;font-weight:600 !important} 688@media(max-width:767px){ 689.time-flas{margin-left:-4px !important;margin-right:-4px !important} 690.time-flas .uwrap_tab{padding:0 5px 9px !important} 691.time-flas .row.row-scroll{margin-left:-5px !important;margin-right:-5px !important} 692.time-flas .row.row-scroll > [class*="col-"]{padding-left:5px !important;padding-right:5px !important} 693} 694</style> 695 696<style id="vnt-the-sp-gia-2509"> 697/* bo gia gach tren khung san pham, trang chu va trang danh muc */ 698.item_product_main .price-box .compare-price,.product-event .price-box .compare-price{display:none !important}
699/* chu d nho va nang cao, dung lai dung khuon cua trang san pham */ 700.item_product_main .price-box .price .vnt-dong,.product-event .price-box .price .vnt-dong{font-size:.7em;margin-left:1px;position:relative;top:-.3em} 701/* vien giua cac o san pham o trang danh muc: 15px xuong 10px */ 702.products-view-grid .row{margin-left:-5px !important;margin-right:-5px !important} 703.products-view-grid .row > [class*="col-"]{padding-left:5px !important;padding-right:5px !important} 704</style>
705<script id="vnt-the-sp-gia-js"> 706(function(){ 707 function boc(g){ if(!g||g.querySelector(".vnt-dong")) return; var t=(g.textContent||"").trim(); if(/\dÄ$/.test(t)) g.innerHTML=t.slice(0,-1)+'<span class="vnt-dong">Ä<\/span>'; } 708 function chay(){ document.querySelectorAll(".item_product_main .price-box .price, .product-event .price-box .price").forEach(boc); } 709 function gan(){ if(!window.MutationObserver || !document.body || window.__vntGiaMO) return; window.__vntGiaMO=1; var hen=null; new MutationObserver(function(){ clearTimeout(hen); hen=setTimeout(chay,250); }).observe(document.body,{childList:true,subtree:true}); } 710 function batDau(){ chay(); gan(); } 711 if(document.readyState==="loading") document.addEventListener("DOMContentLoaded",batDau); else batDau(); 712 setTimeout(batDau,1200); setTimeout(batDau,3000); 713})(); 714</script>
714 715 716<style id="vnt-xuong-dong-2509"> 717/* chu dai (dia chi web, ma so) tu xuong dong, khong day trang tran ngang tren dien thoai */ 718.article-details,.article-details p,.article-details li,.article-details td,.article-details span,.article-details div{overflow-wrap:break-word;word-break:break-word} 719.article-details table{max-width:100%} 720</style> 721 722<style id="vnt-nut-loc-2509"> 723/* mo lai nut Loc cho khach dung dien thoai va may tinh bang. File collection_style.scss dang dat display:none !important cho #open-filters. Khung loc truot ra van chay tot, da chup anh kiem chung 25/09. */ 724@media(max-width:991px){ #open-filters{display:block !important} } 725</style> 726<style id="vnt-bang-the-nho-2909"> 727/* Bang gia the nho 3 cot. 728 Theme co 2 luat !important de len moi bang trong mo ta: td:last-child{width:62%} cho bang 729 thong so 2 cot, va to nen kem #ffecde cho HANG DAU. Ca hai nam trong BODY nen dung SAU khoi nay. 730 Luat thu hai con co tien to "body" nen do dac hieu bang minh va van thang. 731 Cach xu ly: lap class .vnt-bang-the hai lan de nang do dac hieu len cao hon han. */ 732body .rte table.vnt-bang-the.vnt-bang-the td:first-child{width:26% !important} 733body .rte table.vnt-bang-the.vnt-bang-the td:nth-child(2){width:30% !important} 734body .rte table.vnt-bang-the.vnt-bang-the td:last-child{width:44% !important} 735body .rte table.vnt-bang-the.vnt-bang-the td{font-size:16px !important;line-height:1.5 !important;vertical-align:middle !important} 736body .rte table.vnt-bang-the.vnt-bang-the tr:first-child td{background:#2a3560 !important;color:#ffffff !important;font-size:14px !important;font-weight:600 !important;letter-spacing:.2px !important} 737body .rte table.vnt-bang-the.vnt-bang-the tr:first-child td *{color:#ffffff !important} 738@media (max-width:767px){ 739body .rte table.vnt-bang-the.vnt-bang-the td{font-size:14.5px !important;padding:8px 7px !important} 740body .rte table.vnt-bang-the.vnt-bang-the tr:first-child td{font-size:12.5px !important} 741} 742</style> 743<style id="vnt-the-cuahang-2809"> 744/* The cua hang trang he-thong-cua-hang. Chot 28-09-2026 anh Thanh: bo vien cam, nen trang, do bong, re chuot thanh nen cam chu trang. Mau kieu galle.vn */ 745.page-he-thong .option-chos{background:#fff !important} 746.page-he-thong .option-chos .info-store{width:calc(100% + 20px) !important;margin:-10px !important;padding:10px !important} 747.page-he-thong .option-chos .info-store .store-list{border:1px solid #f0f0f0 !important;box-shadow:0 0 10px rgba(0,0,0,.15) !important;padding:14px 16px !important;transition:box-shadow .18s ease !important} 748/* re chuot: CHI vien cam mong, giu nen trang */ 749.page-he-thong .option-chos .info-store .store-list:hover:not(.active){background:#fff !important;border-color:#ff6d01 !important;box-shadow:0 0 0 1px #ff6d01,0 0 10px rgba(0,0,0,.15) !important} 750/* giu nguyen mau chu khi re: giao dien goc doi sang trang, khong chan thi so dien thoai trang tren nen trang */ 751.page-he-thong .store-list:hover:not(.active),.page-he-thong .store-list:hover:not(.active) p,.page-he-thong .store-list:hover:not(.active) li,.page-he-thong .store-list:hover:not(.active) span{color:#2a3050 !important} 752.page-he-thong .store-list:hover:not(.active) a{color:#ff6d01 !important} 753/* dang chon: nen cam chu trang. Dat SAU hover de vua chon vua re van giu nen cam */ 754.page-he-thong .option-chos .info-store .store-list.active{background:#ff6d01 !important;border-color:#ff6d01 !important;box-shadow:0 0 12px rgba(255,109,1,.45) !important} 755.page-he-thong .store-list.active,.page-he-thong .store-list.active p,.page-he-thong .store-list.active li,.page-he-thong .store-list.active span,.page-he-thong .store-list.active a{color:#fff !important} 756 757/* === DIEN THOAI: ban do dinh tren dau, danh sach cuon tu nhien. Chot 29-09-2026 anh Thanh, phuong an C === */ 758@media (max-width:767px){ 759.page-he-thong .row{flex-direction:column !important} 760.page-he-thong .col-left{display:contents !important} 761.page-he-thong .option-chos{display:contents !important} 762.page-he-thong .group-option{order:1 !important;padding:0 15px !important} 763.page-he-thong .col-right{order:2 !important;padding:0 15px !important} 764.page-he-thong .col-right,.page-he-thong .wrapcontact{height:auto !important;min-height:0 !important} 765.page-he-thong .wrapcontact{position:static !important} 766.page-he-thong .col-right{position:sticky !important;top:0 !important;z-index:30 !important;background:#fff !important;padding-bottom:10px !important} 767.page-he-thong .iFrameMap,.page-he-thong .iFrameMap .map{height:260px !important}
768/* khung ban do THU HAI, giao dien hien ra khi bam chon cua hang */ 769.page-he-thong .pagebody{height:260px !important;position:static !important;overflow:hidden !important;border-radius:10px !important} 770.page-he-thong .pagebody iframe{height:260px !important;width:100% !important;border-radius:10px !important;display:block !important} 771.page-he-thong .iFrameMap iframe{height:260px !important;border-radius:10px !important} 772.page-he-thong .option-chos .info-store{order:3 !important;width:auto !important;margin:0 !important;padding:12px 15px 0 !important;max-height:none !important;overflow:visible !important} 773/* :not(.d-none) BAT BUOC: khong co thi display:flex de mat lenh an cua bo loc tinh */ 774.page-he-thong .option-chos .info-store .store-list:not(.d-none){display:flex !important;flex-wrap:wrap !important;align-items:baseline !important;column-gap:6px !important;padding:12px 14px !important;line-height:1.5 !important} 775.page-he-thong .store-list .name-cuahang{order:1 !important} 776.page-he-thong .store-list .store-phone{order:2 !important;width:auto !important;flex:0 0 auto !important} 777.page-he-thong .store-list .store-name{order:3 !important;width:100% !important;display:block !important;margin-top:2px !important} 778.page-he-thong .store-list .store-name > b,.page-he-thong .store-list .store-phone > b{display:none !important} 779.page-he-thong .store-list .name-cuahang::after{content:" -";color:#b8bfd0} 780} 781/* lop phu chan ban do nuot cu chi luot, chi hien tren dien thoai */ 782/* Bo o Chon quan-huyen, chi loc theo tinh. Chot 29-09-2026 anh Thanh */ 783.page-he-thong .group-district{display:none !important} 784.page-he-thong .store-list.d-none{display:none !important} 785.vnt-phu-map{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-end;justify-content:center;padding-bottom:14px;cursor:pointer} 786.vnt-phu-map span{background:rgba(28,36,75,.88);color:#fff;font-size:13.5px;font-weight:600;padding:7px 14px;border-radius:99px;line-height:1.3} 787.vnt-mo > .vnt-phu-map{display:none} 788@media (min-width:768px){.vnt-phu-map{display:none !important}} 789</style>
790<script id="vnt-phu-map-js"> 791(function(){ 792function gan(){var m=document.querySelector(".page-he-thong .col-right");if(!m)return false;if(m.querySelector(":scope > .vnt-phu-map"))return true; 793if(getComputedStyle(m).position==="static")m.style.position="relative"; 794var p=document.createElement("div");p.className="vnt-phu-map";p.innerHTML="<span>Ch\u1ea1m \u0111\u1ec3 d\u00f9ng b\u1ea3n \u0111\u1ed3<\/span>"; 795p.addEventListener("click",function(e){e.stopPropagation();m.classList.add("vnt-mo")});m.appendChild(p); 796function dong(e){if(!m.contains(e.target))m.classList.remove("vnt-mo")} 797document.addEventListener("click",dong,true);document.addEventListener("touchstart",dong,{passive:true,capture:true});return true} 798function batDau(){var n=0;var t=setInterval(function(){n++;if(gan()||n>40)clearInterval(t)},300)} 799if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",batDau);else batDau(); 800})(); 801</script>
801 802 803</head> 804 <body> 805 <div class="opacity_menu"></div> 806<div class="top-header"> 807 <div class="container"> 808 <div class="row"> 809 <div class="col-xl-2 col-lg-2 col-md-12 col-sm-12 col-xs-12 col-12 header-logo"> 810 <a href="/" class="logo-wrapper" title="Vntrack - Äá»nh vá» GPS & Camera"><img class="lazyload" width="475" height="77" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/logo.png?1790933936566" alt="Vntrack - Äá»nh vá» GPS & Camera"/></a> 811 </div> 812 <div class="col-xl-7 col-lg-6 col-md-12 col-sm-12 col-xs-12 col-12"> 813 <div class="list-top-item header_tim_kiem"> 814 <form action="/search" method="get" class="header-search-form input-group search-bar" role="search"> 815 <div class="box-search"> 816 <input type="text" name="query" required class="input-group-field auto-search search-auto form-control" placeholder="Tìm sản phẩm hoặc bà i viết..." autocomplete="off"> 817 <input type="hidden" name="type" value="product,article"> 818 <button type="submit" class="btn icon-fallback-text" aria-label="Tìm kiếm" title="Tìm kiếm"> 819 <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M14.1404 13.4673L19.852 19.1789C20.3008 19.6276 19.6276 20.3008 19.1789 19.852L13.4673 14.1404C12.0381 15.4114 10.1552 16.1835 8.09176 16.1835C3.6225 16.1835 0 12.5613 0 8.09176C0 3.6225 3.62219 0 8.09176 0C12.561 0 16.1835 3.62219 16.1835 8.09176C16.1835 10.1551 15.4115 12.038 14.1404 13.4673ZM0.951972 8.09176C0.951972 12.0356 4.14824 15.2316 8.09176 15.2316C12.0356 15.2316 15.2316 12.0353 15.2316 8.09176C15.2316 4.14797 12.0353 0.951972 8.09176 0.951972C4.14797 0.951972 0.951972 4.14824 0.951972 8.09176Z" fill="#222"></path> </svg> 820 </button> 821 </div> 822 <div class="search-suggest"> 823 <div class="item-suggest"> 824 <div class="search-title"> 825 <div class="icon_search"> 826 <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M14.1404 13.4673L19.852 19.1789C20.3008 19.6276 19.6276 20.3008 19.1789 19.852L13.4673 14.1404C12.0381 15.4114 10.1552 16.1835 8.09176 16.1835C3.6225 16.1835 0 12.5613 0 8.09176C0 3.6225 3.62219 0 8.09176 0C12.561 0 16.1835 3.62219 16.1835 8.09176C16.1835 10.1551 15.4115 12.038 14.1404 13.4673ZM0.951972 8.09176C0.951972 12.0356 4.14824 15.2316 8.09176 15.2316C12.0356 15.2316 15.2316 12.0353 15.2316 8.09176C15.2316 4.14797 12.0353 0.951972 8.09176 0.951972C4.14797 0.951972 0.951972 4.14824 0.951972 8.09176Z" fill="#fff"></path> </svg> 827 </div> 828 <span>Vui Lòng Nháºp Từ Khóa Và o à Tìm Kiếm</span> 829 </div> 830 <span class="title_no_mis">ÄỪNG Bá» Lá» </span> 831 <div class="search-list"> 832 <div class="product-smart"> 833 <div class="product-info"> 834 <a class="product-name" href="/cam-bien-ap-suat-lop-vietmap-tw50" title="Cảm biến áp suất lá»p Vietmap TW50 | Hiá»n lên màn hình zin cá»§a xe">Cảm biến áp suất lá»p Vietmap TW50 | Hiá»n lên màn hình zin cá»§a xe</a> 835 836 <span class="price">2.850.000Ä</span> 837 </div> 838 <a class="image_thumb" href="/cam-bien-ap-suat-lop-vietmap-tw50" title="Cảm biến áp suất lá»p Vietmap TW50 | Hiá»n lên màn hình zin cá»§a xe"> 839 <img width="480" height="480" class="lazyload image1" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/thumb/large/100/520/280/products/cam-bien-ap-suat-lop-vietmap-tw50-vntrack.jpg?v=1790216909730" alt="Cảm biến áp suất lá»p Vietmap TW50 | Hiá»n lên màn hình zin cá»§a xe"> 840 </a> 841</div> <div class="product-smart"> 842 <div class="product-info"> 843 <a class="product-name" href="/camera-hanh-trinh-70mai-m800" title="Camera hành trình 70mai M800 4K | Bá» nhá» 128GB, không cần thẻ nhá»">Camera hành trình 70mai M800 4K | Bá» nhá» 128GB, không cần thẻ nhá»</a> 844 845 <span class="price">5.590.000Ä</span> 846 </div> 847 <a class="image_thumb" href="/camera-hanh-trinh-70mai-m800" title="Camera hành trình 70mai M800 4K | Bá» nhá» 128GB, không cần thẻ nhá»"> 848 <img width="480" height="480" class="lazyload image1" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/thumb/large/100/520/280/products/camera-hanh-trinh-70mai-m800-1-mat.jpg?v=1790081107110" alt="Camera hành trình 70mai M800 4K | Bá» nhá» 128GB, không cần thẻ nhá»"> 849 </a> 850</div> <div class="product-smart"> 851 <div class="product-info"> 852 <a class="product-name" href="/thiet-bi-giam-sat-hanh-trinh-tg22" title="Thiết bá» giám sát hành trình TG22">Thiết bá» giám sát hành trình TG22</a> 853 854 <span class="price">1.490.000Ä</span> 855 </div> 856 <a class="image_thumb" href="/thiet-bi-giam-sat-hanh-trinh-tg22" title="Thiết bá» giám sát hành trình TG22"> 857 <img width="480" height="480" class="lazyload image1" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/thumb/large/100/520/280/products/thiet-bi-giam-sat-hanh-trinh-tg22.jpg?v=1790065925830" alt="Thiết bá» giám sát hành trình TG22"> 858 </a> 859</div> <div class="product-smart"> 860 <div class="product-info"> 861 <a class="product-name" href="/camera-hanh-trinh-70mai-a810s-4k" title="Camera hành trình 70mai A810S 4K | STARVIS 2, siêu tụ Äiá»n">Camera hành trình 70mai A810S 4K | STARVIS 2, siêu tụ Äiá»n</a> 862 863 <span class="price">4.650.000Ä</span> 864 </div> 865 <a class="image_thumb" href="/camera-hanh-trinh-70mai-a810s-4k" title="Camera hành trình 70mai A810S 4K | STARVIS 2, siêu tụ Äiá»n"> 866 <img width="480" height="480" class="lazyload image1" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/thumb/large/100/520/280/products/camera-hanh-trinh-70mai-a810s-ban-1-mat-tang-the-64gb.jpg?v=1789995672903" alt="Camera hành trình 70mai A810S 4K | STARVIS 2, siêu tụ Äiá»n"> 867 </a> 868</div> 869 </div> 870 </div> 871 <div class="list-search"></div> 872 </div> 873 </form>
874 </div> 875 </div> 876 <div class="col-xl-3 col-lg-4 box-right"> 877 <div class="box-icon-right"> 878 <div class="box-phone"> 879 <div class="icon_phone"> 880 <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_10122_52416)"> <path d="M4.81815 18.5599C5.37836 18.5599 5.8325 18.1058 5.8325 17.5456C5.8325 16.9854 5.37836 16.5313 4.81815 16.5313C4.25794 16.5313 3.8038 16.9854 3.8038 17.5456C3.8038 18.1058 4.25794 18.5599 4.81815 18.5599Z" fill="#333333"></path> <path fill-rule="evenodd" clip-rule="evenodd" d="M11.7132 0.562359C12.463 -0.187453 13.6787 -0.187453 14.4285 0.562359L17.5537 3.68753C18.643 4.77688 18.643 6.54306 17.5537 7.63241L16.6571 8.52898L23.471 15.3429L24.3676 14.4463C25.4569 13.357 27.2231 13.357 28.3125 14.4463L31.4376 17.5715C32.1875 18.3213 32.1875 19.537 31.4376 20.2868C28.6711 23.0534 24.3264 23.28 21.3013 20.9666V25.1532C21.3013 26.6938 20.0524 27.9427 18.5118 27.9427H17.6006L17.1862 29.8074C16.8604 31.2736 14.9743 31.6977 14.0522 30.5121L12.0537 27.9427H2.78946C1.24888 27.9427 0 26.6938 0 25.1532V15.5169C0 13.9763 1.24888 12.7275 2.78946 12.7275H12.9658L11.7132 11.4748C8.69982 8.46144 8.69981 3.57576 11.7132 0.562359ZM14.4873 14.249L19.7798 19.5414V25.1532C19.7798 25.8535 19.2121 26.4211 18.5118 26.4211H16.9903C16.6338 26.4211 16.325 26.6688 16.2477 27.0169L15.7009 29.4773C15.6544 29.6868 15.3849 29.7474 15.2532 29.578L13.0263 26.7148C12.8821 26.5295 12.6605 26.4211 12.4258 26.4211H2.78946C2.08919 26.4211 1.52152 25.8535 1.52152 25.1532V15.5169C1.52152 14.8166 2.08919 14.249 2.78946 14.249H14.4873ZM13.3526 1.63824C13.197 1.48262 12.9447 1.48262 12.7891 1.63824C10.3699 4.05744 10.3699 7.97975 12.7891 10.399L21.601 19.2109C24.0202 21.6301 27.9426 21.6301 30.3618 19.2109C30.5174 19.0553 30.5174 18.803 30.3618 18.6474L27.2366 15.5222C26.7414 15.027 25.9386 15.027 25.4435 15.5222L24.009 16.9567C23.7119 17.2538 23.2302 17.2538 22.9331 16.9567L15.0433 9.06692C14.7462 8.76982 14.7462 8.28814 15.0433 7.99104L16.4778 6.55654C16.973 6.06138 16.973 5.25857 16.4778 4.76341L13.3526 1.63824Z" fill="#333333"></path> </g> <defs> <clipPath> <rect width="32" height="32" fill="white"></rect> </clipPath> </defs></svg> 881 </div> 882 <div class="content_phone"> 883 <span>Há» trợ 24/7</span> 884 <a title="0936.300.420" href="tel:0936300420">0936.300.420</a> 885 </div> 886 </div> 887 <a href="/he-thong-cua-hang" title="Sá» há» thá»ng" class="hethong-header"> 888 <svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54"> 889 <path d="M8.526 24.124a.75.75 0 0 0-.75.75v10.734a.75.75 0 0 0 .75.75h17.491a.75.75 0 0 0 .75-.75V24.874a.75.75 0 0 0-.75-.75Zm16.741 10.734H9.276v-9.234h15.991ZM4.793 19.943a5.282 5.282 0 0 0 5.032-2.487 5.392 5.392 0 0 0 9.47.205 5.565 5.565 0 0 0 .755 1.014 5.441 5.441 0 0 0 7.9 0 5.565 5.565 0 0 0 .755-1.014 5.4 5.4 0 0 0 9.47-.206 5.312 5.312 0 0 0 9.638-4.2L45.3 3.985V.75a.75.75 0 0 0-.75-.75H3.447A.75.75 0 0 0 2.7.75v3.242L.187 13.258a5.319 5.319 0 0 0 4.606 6.685Zm9.835-1.069a3.914 3.914 0 0 1-3.864-4.543l1.543-9.495H19.1l-.531 9.8-.029.531a3.917 3.917 0 0 1-3.912 3.707Zm12.233-1.23a3.941 3.941 0 0 1-6.8-2.924l.031-.577.5-9.307h6.8l.5 9.307.031.577a3.905 3.905 0 0 1-1.062 2.924Zm9.493-.148a3.916 3.916 0 0 1-6.892-2.326l-.029-.531-.531-9.8h6.791l1.543 9.495a3.908 3.908 0 0 1-.882 3.166Zm9.469-.679a3.82 3.82 0 0 1-6.916-1.555L37.212 4.836h6.766l2.387 8.814a3.813 3.813 0 0 1-.542 3.167ZM4.2 1.5h39.6v1.836H4.2ZM1.635 13.65l2.387-8.814h6.766l-1.045 6.428-.46 2.826-.19 1.171a3.82 3.82 0 1 1-7.458-1.611Z"></path> 890 <path d="M47.25 43.13H45.3V21.609a.75.75 0 1 0-1.5 0V43.13h-2.515V24.874a.75.75 0 0 0-.75-.75h-9.721a.75.75 0 0 0-.75.75V43.13H4.2V21.617a.75.75 0 0 0-1.5 0V43.13H.75a.75.75 0 0 0-.75.75v3.37a.75.75 0 0 0 .75.75h46.5a.75.75 0 0 0 .75-.75v-3.37a.75.75 0 0 0-.75-.75ZM31.564 25.624h8.221V43.13h-8.221ZM46.5 46.5h-45v-1.87
890h45Z"></path> 891 </svg> 892 <div class="txt-yt">Sá» há» thá»ng<br><b>10 cá»a hà ng</b></div> 893 </a> 894 </div> 895 </div> 896 </div> 897 </div> 898</div> 899<header class="header"> 900 <div class="container"> 901 <div class="row align-items-center"> 902 <div class="col-lg-2"> 903 <div class="title_menu" id="btn-menu-cate"> 904 <div class="bg_menu_bar"> 905 <div class="menu_bar"></div> 906 </div> 907 <span class="title_">Danh mục sản phẩm</span> 908 </div> 909 </div> 910 <div class="col-lg-8"> 911 <div class="header-links border-radius-5"><div class="inner"><label>Sản phẩm HOT:</label> 912 <ul> 913 <li> 914 <a href="https://dinhvigps.vn/dinh-vi-gps-s09a" title="S09A Tắt.máy" class="show_icon" >S09A Tắt.máy <img class="icon_hot" width="22" height="12" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/hot_icon.png?1790933936566" alt="hot icon"></a> 915 </li> 916 <li> 917 <a href="https://dinhvigps.vn/dinh-vi-gps-vl512" title="VL512 OBD.ô.tô" class="show_icon" >VL512 OBD.ô.tô <img class="icon_hot" width="22" height="12" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/hot_icon.png?1790933936566" alt="hot icon"></a> 918 </li> 919 <li> 920 <a href="https://dinhvigps.vn/dinh-vi-khong-day-a9-mini" title="A9 Mini Pin.3000" class="show_icon" >A9 Mini Pin.3000 <img class="icon_hot" width="22" height="12" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/hot_icon.png?1790933936566" alt="hot icon"></a> 921 </li> 922 <li> 923 <a href="https://dinhvigps.vn/dinh-vi-khong-day-a9" title="A9+4G Pin.6000" class="show_icon" >A9+4G Pin.6000 <img class="icon_hot" width="22" height="12" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/hot_icon.png?1790933936566" alt="hot icon"></a> 924 </li> 925 <li> 926 <a href="https://dinhvigps.vn/dinh-vi-khong-day-a10" title="A10 4G Pin.10000" class="show_icon" >A10 4G Pin.10000 <img class="icon_hot" width="22" height="12" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/hot_icon.png?1790933936566" alt="hot icon"></a> 927 </li> 928 <li> 929 <a href="https://dinhvigps.vn/70mai-a210" title="70mai A210" class="show_icon" >70mai A210 <img class="icon_hot" width="22" height="12" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/hot_icon.png?1790933936566" alt="hot icon"></a> 930 </li> 931 <li> 932 <a href="https://dinhvigps.vn/camera-hanh-trinh-vietmap-s720" title="Vietmap S720" class="show_icon" >Vietmap S720 <img class="icon_hot" width="22" height="12" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/hot_icon.png?1790933936566" alt="hot icon"></a> 933 </li> 934 </ul></div></div> 935 </div> 936 <div class="col-lg-2"> 937 <div class="box-header-right"> 938 <a href="/account" title="Tà i khoản" class="header-acc"> 939 <img width="24" height="24" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/user.png?1790933936566" alt="Tà i khoản"/> 940 </a> 941 <a href="/trang-so-sanh" class="compare-header" title="Trang so sánh"> 942 <svg width="16" height="16" x="0" y="0" viewBox="0 0 459 459.648" style="enable-background:new 0 0 512 512"> 943 <path xmlns="http://www.w3.org/2000/svg" d="m416.324219 293.824219c0 26.507812-21.492188 48-48 48h-313.375l63.199219-63.199219-22.625-22.625-90.511719 90.511719c-6.246094 6.25-6.246094 16.375 0 22.625l90.511719 90.511719 22.625-22.625-63.199219-63.199219h313.375c44.160156-.054688 79.945312-35.839844 80-80v-64h-32zm0 0" fill="#7B7B7B" data-original="#000000" style=""></path> 944 <path xmlns="http://www.w3.org/2000/svg" d="m32.324219 165.824219c0-26.511719 21.488281-48 48-48h313.375l-63.199219 63.199219 22.625 22.625 90.511719-90.511719c6.246093-6.25 6.246093-16.375 0-22.625l-90.511719-90.511719-22.625 22.625 63.199219 63.199219h-313.375c-44.160157.050781-79.949219 35.839843-80 80v64h32zm0 0" fill="#7B7B7B" data-original="#000000" style=""></path> 945 </svg> 946 <span class="js-compare-count">0</span> 947 </a> 948 949 <div class="header-action_cart"> 950 <a href="/cart" class="cart-header" title="Giá» hà ng"> 951 <svg width="18" height="18" viewBox="0 0 33 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22.5923 27.9999H4.30586C3.28215 27.9999 2.38467 27.255 2.17432 26.2236L0.0427557 15.4655C-0.0834545 14.8065 0.0708127 14.1476 0.491513 13.6176C0.89819 13.1019 1.51522 12.801 2.17432 12.801H24.7239C25.383 12.8
95101 25.986 13.1019 26.4067 13.6176C26.8133 14.1333 26.9816 14.8065 26.8554 15.4655L24.7239 26.2236C24.5135 27.255 23.616 27.9999 22.5923 27.9999ZM2.17432 13.8038C1.82373 13.8038 1.48717 13.9614 1.24878 14.2479C1.01038 14.5344 0.940254 14.8925 1.01037 15.2506L3.14193 26.0087C3.25412 26.5674 3.74492 26.9828 4.30586 26.9828H22.5923C23.1532 26.9828 23.6441 26.5674 23.7563 26.0087L25.8878 15.2506C25.9579 14.8925 25.8738 14.52 25.6494 14.2479C25.425 13.9757 25.0885 13.8038 24.7239 13.8038H2.17432Z" fill="#ddd"></path><path d="M25.7905 17.5427H1.10938V18.5455H25.7905V17.5427Z" fill="#ddd"></path><path d="M24.8924 22.27H1.99219V23.2728H24.8924V22.27Z" fill="#ddd"></path><path d="M22.7062 11.4545H21.7245C21.7245 6.79889 18.0083 3.00275 13.4507 3.00275C8.89314 3.00275 5.17695 6.79889 5.17695 11.4545H4.19531C4.19531 6.24021 8.34623 2 13.4507 2C18.5553 2 22.7062 6.24021 22.7062 11.4545Z" fill="#ddd"></path></svg> 952 <span class="count_item count_item_pr"></span> 953 </a> 954 <div class="top-cart-content"> 955 <div class="CartHeaderContainer"> 956 </div> 957 </div> 958 </div> 959 </div> 960 </div> 961 </div> 962 </div> 963</header> 964<div class="header-menu"> 965 <div class="navigation-horizontal"> 966 <div class="title" > 967 Danh mục sản phẩm 968 <div class="close-menu" title="Äóng"> 969 <span></span> 970 <span></span> 971 </div> 972 </div> 973 <div class="col-menu"> 974 <ul id="nav-col" class="nav-col"> 975 <li class="nav-item "> 976 <a class="nav-link" href="/" title="Trang chá»§"> 977<div class="group-category-image"> 978 <img width="32" height="32" class="img-fluid lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon_megamenu_1.png?1790933936566" alt="Trang chá»§" /> 979 </div>Trang chá»§ 980 </a> 981 </li> <li class="nav-item "> 982 <a class="nav-link" href="/khuyen-mai" title="Khuyến mãi"> 983<div class="group-category-image"> 984 <img width="32" height="32" class="img-fluid lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon_megamenu_2.png?1790933936566" alt="Khuyến mãi" /> 985 </div>Khuyến mãi 986 </a> 987 </li><li class="nav-item navlv1 has-childs "> 988 <a href="/collections/all" class="nav-link " title="Sản phẩm"> 989<div class="group-category-image"> 990 <img width="32" height="32" class="img-fluid lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon_megamenu_3.png?1790933936566" alt="Sản phẩm" /> 991 992 </div>Sản phẩm 993 <i class="open_mnu down_icon down_icon_1"></i> 994 </a> 995 <ul class="dropdown-menu"> <li class="nav-item-lv2"> 996 <a class="nav-link" href="/dinh-vi-xe-may" title="Äá»nh Vá» Xe Máy">Äá»nh Vá» Xe Máy</a> 997 </li> <li class="nav-item-lv2"> 998 <a class="nav-link" href="/dinh-vi-o-to" title="Äá»nh Vá» Ã Tô">Äá»nh Vá» Ã Tô</a> 999 </li> <li class="nav-item-lv2"> 1000 <a class="nav-link" href="/dinh-vi-khong-day" title="Äá»nh Vá» Không Dây">Äá»nh Vá» Không Dây</a> 1001 </li> <li class="nav-item-lv2"> 1002 <a class="nav-link" href="/dinh-vi-hop-chuan" title="Xe Kinh Doanh Váºn Tải">Xe Kinh Doanh Váºn Tải</a> 1003 </li> <li class="nav-item-lv2"> 1004 <a class="nav-link" href="/camera-hanh-trinh" title="Camera Hà nh Trình">Camera Hà nh Trình</a> 1005 </li> <li class="nav-item-lv2"> 1006 <a class="nav-link" href="/phu-kien" title="Phụ Kiá»n Công Nghá»">Phụ Kiá»n Công Nghá»</a> 1007 </li> </ul> 1008 </li> <li class="nav-item "> 1009 <a class="nav-link" href="/tin-tuc" title="Tin tức"> 1010<div class="group-category-image"> 1011 <img width="32" height="32" class="img-fluid lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon_megamenu_4.png?1790933936566" alt="Tin tức" /> 1012 </div>Tin tức 1013 </a> 1014 </li> <li class="nav-item "> 1015 <a class="nav-link" href="/lien-he" title="Liên há»"> 1016<div class="group-category-image"> 1017 <img width="32" height="32" class="img-fluid lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon_megamenu_5.png?1790933936566" alt="Liên há»" /> 1018 </div>Liên há» 1019 </a> 1020 </li> <li class="nav-item "> 1021 <a class="nav-link" href="/gioi-thieu" title="Giá»i thiá»u"> 1022<div class="group-category-image"> 1023 <img width="32" height="32" class="img-fluid lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon_megamenu_6.png?1790933936566" alt="Giá»i thiá»u" /> 1024 </div>Giá»i thiá»u 1025 </a> 1026 </li></ul> 1027 </div> 1028 <div class="box-hotlines"> 1029 <div class="box-hotlines-left"> 1030 <p class="title_hot">Há» trợ tư vấn 24/7</p> 1031 <a class="phone_hot" href="tel:0936729559" title="0936.729.559">0936.729.559</a> 1032 </div> 1033 <div class="box-hotlines-right">
1034 <a href="tel:0936729559" title="0936.729.559"> 1035 <svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 1036 <g clip-path="url(#clip0_509_1081)"> 1037 <path d="M18.1771 14.2476C17.7063 13.7573 17.1383 13.4952 16.5364 13.4952C15.9393 13.4952 15.3665 13.7525 14.8762 14.2428L13.3422 15.7719C13.216 15.7039 13.0898 15.6408 12.9685 15.5777C12.7937 15.4903 12.6287 15.4078 12.4879 15.3204C11.051 14.4078 9.74519 13.2185 8.49278 11.6797C7.88599 10.9127 7.47823 10.2671 7.18212 9.61177C7.58017 9.2477 7.9491 8.86906 8.30832 8.50499C8.44424 8.36907 8.58016 8.22829 8.71608 8.09237C9.73548 7.07297 9.73548 5.7526 8.71608 4.73319L7.39085 3.40797C7.24037 3.25748 7.08503 3.10214 6.9394 2.94681C6.64814 2.64584 6.34232 2.33516 6.02679 2.04391C5.55592 1.57789 4.99282 1.33032 4.4006 1.33032C3.80837 1.33032 3.23556 1.57789 2.75013 2.04391C2.74528 2.04876 2.74528 2.04876 2.74043 2.05361L1.08996 3.71864C0.46861 4.33999 0.114245 5.09726 0.0365763 5.97589C-0.0799271 7.39335 0.337543 8.71372 0.657928 9.57779C1.44433 11.6991 2.61907 13.6651 4.37147 15.7719C6.49766 18.3107 9.05588 20.3155 11.9782 21.7281C13.0947 22.2572 14.5849 22.8834 16.25 22.9902C16.3519 22.9951 16.4587 22.9999 16.5558 22.9999C17.6771 22.9999 18.6189 22.597 19.3567 21.7961C19.3616 21.7864 19.3713 21.7815 19.3761 21.7718C19.6286 21.466 19.9198 21.1893 20.2256 20.8932C20.4344 20.6942 20.648 20.4854 20.8567 20.267C21.3373 19.767 21.5897 19.1845 21.5897 18.5874C21.5897 17.9855 21.3324 17.4078 20.8421 16.9224L18.1771 14.2476ZM19.915 19.3592C19.9101 19.3641 19.9101 19.3592 19.915 19.3592C19.7256 19.5631 19.5315 19.7476 19.3227 19.9514C19.0072 20.2524 18.6868 20.5679 18.3859 20.9223C17.8956 21.4466 17.3179 21.6941 16.5606 21.6941C16.4878 21.6941 16.4102 21.6941 16.3373 21.6893C14.8956 21.5971 13.5558 21.034 12.551 20.5534C9.80344 19.2233 7.39085 17.335 5.38602 14.9418C3.7307 12.9467 2.62392 11.102 1.89092 9.12149C1.43947 7.91276 1.27442 6.97103 1.34724 6.08269C1.39578 5.51474 1.61423 5.04387 2.01713 4.64096L3.67245 2.98564C3.91031 2.76234 4.16274 2.64099 4.41031 2.64099C4.71613 2.64099 4.9637 2.82545 5.11904 2.98079C5.12389 2.98564 5.12874 2.9905 5.1336 2.99535C5.42971 3.27205 5.71126 3.55845 6.00737 3.86427C6.15786 4.01961 6.3132 4.17495 6.46853 4.33514L7.79376 5.66036C8.30832 6.17492 8.30832 6.65064 7.79376 7.1652C7.65298 7.30597 7.51706 7.44675 7.37629 7.58267C6.96853 8.00014 6.58018 8.38848 6.15786 8.76712C6.14815 8.77683 6.13844 8.78168 6.13359 8.79139C5.71612 9.20886 5.79378 9.61662 5.88116 9.89332C5.88602 9.90788 5.89087 9.92245 5.89573 9.93701C6.24038 10.7719 6.72581 11.5583 7.46367 12.4952L7.46852 12.5001C8.80831 14.1505 10.2209 15.4369 11.7791 16.4224C11.9782 16.5486 12.1821 16.6505 12.3762 16.7476C12.551 16.835 12.716 16.9175 12.8568 17.0049C12.8762 17.0146 12.8956 17.0292 12.9151 17.0389C13.0801 17.1214 13.2354 17.1602 13.3956 17.1602C13.7985 17.1602 14.051 16.9078 14.1335 16.8253L15.7937 15.1651C15.9587 15.0001 16.2208 14.801 16.5267 14.801C16.8276 14.801 17.0752 14.9903 17.2257 15.1554C17.2305 15.1602 17.2305 15.1602 17.2354 15.1651L19.9101 17.8398C20.4101 18.335 20.4101 18.8447 19.915 19.3592Z" fill="white"></path> 1038 <path d="M12.4296 5.47116C13.7014 5.68475 14.8567 6.28669 15.779 7.209C16.7013 8.13132 17.2984 9.28665 17.5169 10.5585C17.5703 10.8789 17.847 11.1022 18.1625 11.1022C18.2013 11.1022 18.2353 11.0973 18.2741 11.0924C18.6334 11.0342 18.8712 10.6944 18.813 10.3352C18.5508 8.79636 17.8227 7.39347 16.7111 6.28183C15.5994 5.17019 14.1965 4.44205 12.6577 4.17992C12.2985 4.12166 11.9635 4.35953 11.9004 4.71389C11.8373 5.06825 12.0703 5.41291 12.4296 5.47116Z" fill="white"></path> 1039 <path d="M22.9732 10.1458C22.5411 7.61184 21.347 5.30604 19.512 3.47111C17.6771 1.63618 15.3713 0.442024 12.8374 0.00999088C12.483 -0.0531151 12.148 0.1896 12.0849 0.543965C12.0267 0.903183 12.2646 1.23813 12.6238 1.30124C14.8859 1.68473 16.949 2.75753 18.5897 4.39343C20.2305 6.03419 21.2984 8.09727 21.6819 10.3594C21.7353 10.6798 22.012 10.9031 22.3275 10.9031C22.3664 10.9031 22.4003 10.8982 22.4392 10.8933C22.7935 10.84 23.0363 10.5001 22.9732 10.1458Z" fill="white"></path> 1040 </g> 1041 <defs> 1042 <clipPath id="clip0_509_1081"> 1043 <rect width="23" height="23" fill="white"></rect> 1044 </clipPath> 1045 </defs> 1046 </svg> 1047 </a> 1048 </div> 1049 </div> 1050 </div> 1051</div> <div class="bodywrap "> 1052 <section class="bread-crumb"> 1053 <div class="container"> 1054 <ul class="breadcrumb" > 1055 <li class="home">
1056 <a href="/" title="Trang chá»§"><span >Trang chá»§</span></a> 1057 <span class="mr_lr"> <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" class="svg-inline--fa fa-chevron-right fa-w-10"><path fill="currentColor" d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z" class=""></path></svg> </span> 1058 </li> 1059 1060 <li><strong ><span>ÄÄng nháºp tà i khoản</span></strong></li> 1061 1062 </ul> 1063 </div> 1064</section> 1065<section class="section"> 1066 <div class="container"> 1067 <div class="wrap_background_aside page_login"> 1068 <div class="row"> 1069 <div class="col-lg-4 col-md-6 col-sm-12 col-xl-4 offset-0 offset-xl-4 offset-lg-4 offset-md-3 offset-xl-3 col-12"> 1070 <div class="row"> 1071 <div class="page-login pagecustome clearfix"> 1072 <div class="wpx"> 1073 <h1 class="title_heads a-center"><span>ÄÄng nháºp</span></h1> 1074 <div id="login" class="section"> 1075 <form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8"><input name="FormType" type="hidden" value="customer_login"/><input name="utf8" type="hidden" value="true"/><input name="ReturnUrl" type="hidden" value="/account"/> 1076 <span class="form-signup" style="color:red;"> 1077 1078 </span> 1079 <div class="form-signup clearfix"> 1080 <fieldset class="form-group"> 1081 <input type="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,63}$" class="form-control form-control-lg" value="" name="email" id="customer_email" placeholder="Email" Required> 1082 </fieldset> 1083 <fieldset class="form-group"> 1084 <input type="password" class="form-control form-control-lg" value="" name="password" id="customer_password" placeholder="Máºt khẩu" Required> 1085 </fieldset> 1086 <div class="pull-xs-left"> 1087 <input class="btn btn-style btn_50" type="submit" value="ÄÄng nháºp" /> 1088 </div> 1089 <div class="btn_boz_khac"> 1090 <div class="btn_khac"> 1091 <span class="quenmk">Quên máºt khẩu?</span> 1092 <a href="/account/register" class="btn-link-style btn-register" title="ÄÄng ký tại Äây">ÄÄng ký tại Äây</a> 1093 </div> 1094 </div> 1095 </div> 1096 </form> 1097 </div> 1098 1099 <div class="h_recover" style="display:none;"> 1100 <div id="recover-password" class="form-signup page-login"> 1101 <form method="post" action="/account/recover" id="recover_customer_password" accept-charset="UTF-8"><input name="FormType" type="hidden" value="recover_customer_password"/><input name="utf8" type="hidden" value="true"/> 1102 <div class="form-signup" style="color: red;"> 1103 1104 </div> 1105 <div class="form-signup clearfix"> 1106 <fieldset class="form-group"> 1107 <input type="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,63}$" class="form-control form-control-lg" value="" name="Email" id="recover-email" placeholder="Email" Required> 1108 </fieldset> 1109 </div> 1110 <div class="action_bottom"> 1111 <input class="btn btn-style btn_50" style="margin-top: 0px;" type="submit" value="Lấy lại máºt khẩu" /> 1112 1113 </div> 1114 </form> 1115 </div> 1116 </div> 1117 <div class="block social-login--facebooks"> 1118 <div class="line-break"> 1119 <span>hoặc ÄÄng nháºp qua</span> 1120 </div> 1121
1121<script>function loginFacebook(){var a={client_id:"1074143986372695",redirect_uri:"https://store.mysapo.net/account/facebook_account_callback",state:JSON.stringify({redirect_url:window.location.href}),scope:"email",response_type:"code"},b="https://www.facebook.com/v3.2/dialog/oauth"+encodeURIParams(a,!0);window.location.href=b}function loginGoogle(){var a={client_id:"997675985899-pu3vhvc2rngfcuqgh5ddgt7mpibgrasr.apps.googleusercontent.com",redirect_uri:"https://store.mysapo.net/account/google_account_callback",scope:"email profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile",access_type:"online",state:JSON.stringify({redirect_url:window.location.href}),response_type:"code"},b="https://accounts.google.com/o/oauth2/v2/auth"+encodeURIParams(a,!0);window.location.href=b}function encodeURIParams(a,b){var c=[];for(var d in a)if(a.hasOwnProperty(d)){var e=a[d];null!=e&&c.push(encodeURIComponent(d)+"="+encodeURIComponent(e))}return 0==c.length?"":(b?"?":"")+c.join("&")}</script>
1121 1122 <a href="javascript:void(0)" class="social-login--facebook" onclick="loginFacebook()"><img width="129px" height="37px" alt="facebook-login-button" src="//bizweb.dktcdn.net/assets/admin/images/login/fb-btn.svg"></a> 1123 <a href="javascript:void(0)" class="social-login--google" onclick="loginGoogle()"><img width="129px" height="37px" alt="google-login-button" src="//bizweb.dktcdn.net/assets/admin/images/login/gp-btn.svg"></a> 1124 </div> 1125 </div> 1126 1127 </div> 1128 1129 </div> 1130 </div> 1131 1132 </div> 1133 </div> 1134 </div> 1135</section> 1136 1137
1138<script type="text/javascript"> 1139 function showRecoverPasswordForm() { 1140 document.getElementById('recover-password').style.display = 'block'; 1141 document.getElementById('login').style.display='none'; 1142 } 1143 1144 function hideRecoverPasswordForm() { 1145 document.getElementById('recover-password').style.display = 'none'; 1146 document.getElementById('login').style.display = 'block'; 1147 } 1148 1149 1150</script>
1150 1151 <div id="js-global-alert" class="alert alert-success" role="alert"> 1152 <button type="button" class="close"><span aria-hidden="true"><span aria-hidden="true">×</span></span></button> 1153 <h5 class="alert-heading"></h5> 1154 <p class="alert-content"></p> 1155 </div> 1156 1157<footer class="footer"> 1158 <div class="mid-footer"> 1159 <div class="container"> 1160 <div class="row"> 1161 <div class="col-xs-12 col-md-12 col-lg-12 col-xl-4"> 1162 <h5 class="title-menu">VNTRACK - DUC TIN IE.,LTD</h5> 1163 <div class="des_foo"> 1164 VNTRACK - Công ty TNHH Xuất Nháºp Khẩu Äức TÃn. Vntrack cung cấp thiết bá» Äá»nh vá», giám sát phương tiá»n, camera hà nh trình và phụ kiá»n ô tô, xe máy. HÆ¡n 13 nÄm trong nghá», Äại lý phá»§ 34/34 tá»nh thà nh, hÆ¡n 40.000 khách hà ng tin dùng. Mất tÃn hiá»u có ngưá»i gá»i lại. Mất xe có ngưá»i Äá»ng hà nh xá» lý. 1165 </div> 1166 <div> 1167 <b>CÃNG TY TNHH XUẤT NHẬP KHẨU ÄỨC TÃN</b> <br> 1168 <b>MST: 0108810384</b> 1169 1170 </div> 1171 <div class="list-menu toggle-mn list-info"> 1172 <div class="content-contact clearfix"> 1173 <span class="list_footer"> 1174 <b>VÄn phòng: </b> 1175 1176 Sá» 40, Ngụy Như Kon Tum, Thanh Xuân, Hà Ná»i 1177 1178 </span> 1179 </div> 1180 <div class="content-contact clearfix"> 1181 <span class="list_footer"> 1182 <b>Äiá»n thoại: </b><a title="0936.300.420" href="tel:0936300420"> 1183 0936.300.420 1184 </a> 1185 </span> 1186 </div> 1187 <div class="content-contact clearfix"> 1188 <span class="list_footer"> 1189 <b>Email: </b><a title="[email protected]" href="mailto:[email protected]"> 1190 [email protected] 1191 </a> 1192 </span> 1193 </div> 1194 <div class="content-contact clearfix"> 1195 <span class="list_hotline"> 1196 <a title="0936.300.420" href="tel:0936300420"> 1197 <img width="24" height="24" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/phone_foo.png?1790933936566" alt="Hotline"/> 0936.300.420 1198 </a> 1199 </span> 1200 <span class="list_hotline ht2"> 1201 <a title="0936.729.559" href="tel:0936729559"> 1202 <img width="24" height="24" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/phone_foo.png?1790933936566" alt="Hotline"/> 0936.729.559 1203 </a> 1204 </span> 1205 </div> 1206 </div> 1207 </div> 1208 <div class="col-xs-12 col-md-4 col-lg-4 col-xl-2 footer-click"> 1209 <h5 class="title-menu clicked"> 1210 ChÃnh sách 1211 </h5> 1212 <ul class="list-menu toggle-mn hidden-mob" > 1213 <li class="li_menu"> 1214 <a href="/chinh-sach-thanh-toan" title="ChÃnh sách thanh toán">ChÃnh sách thanh toán</a> 1215 </li><li class="li_menu"> 1216 <a href="/chinh-sach-van-chuyen" title="ChÃnh sách váºn chuyá»n">ChÃnh sách váºn chuyá»n</a> 1217 </li><li class="li_menu"> 1218 <a href="/chinh-sach-kiem-hang" title="ChÃnh sách kiá»m hà ng">ChÃnh sách kiá»m hà ng</a> 1219 </li><li class="li_menu"> 1220 <a href="/chinh-sach-bao-hanh-doi-tra" title="ChÃnh sách Bảo hà nh, Äá»i trả">ChÃnh sách Bảo hà nh, Äá»i trả</a> 1221 </li><li class="li_menu"> 1222 <a href="/chinh-sach-bao-mat" title="ChÃnh sách bảo máºt">ChÃnh sách bảo máºt</a> 1223 </li><li class="li_menu"> 1224 <a href="/chinh-sach-xu-ly-du-lieu-ca-nhan" title="ChÃnh sách xá» lý dữ liá»u cá nhân">ChÃnh sách xá» lý dữ liá»u cá nhân</a> 1225 </li> 1226 </ul> 1227 </div> 1228 <div class="col-xs-12 col-md-4 col-lg-4 col-xl-3 footer-click"> 1229 <h5 class="title-menu clicked"> 1230 Tá»ng Äà i há» trợ 1231 </h5> 1232 <div class="hotline-footer list-menu toggle-mn hidden-mob"> 1233 <p><span>Tư vấn mua hà ng 1:</span><span><strong><a class="no-a" href="tel:0936300420" title="0936.300.420">0936.300.420</a></strong> </span></p> 1234 <p><span>Tư vấn mua hà ng 2:</span><span><strong><a class="no-a" href="tel:0936729559" title="0936.729.559">0936.729.559</a></strong> </span></p> 1235 <p><span>Khiếu nại - Góp ý:</span><span><strong><a class="no-a" href="tel:0933198555" title="0933.198.555">0933.198.555</a></strong> </span></p> 1236 <p class="testabc"><span></span><span><strong><a class="no-a" href="https://zalo.me/0933.198.555" title=""></a></strong> <br>Há» trợ 24/7 - nếu chưa kết ná»i ÄÆ°á»£c, vui lòng nhắn Zalo, Vntrack sẽ liên há» lại sá»m nhất.</span></p> 1237 </div>
1238 </div> 1239 <div class="col-xs-12 col-md-4 col-lg-4 col-xl-3 footer-click"> 1240 <h5 class="title-menu"> 1241 Liên kết xã há»i 1242 </h5> 1243 1244 <div class="social-footer"> 1245 <div class="social toggle-mn"> 1246 <a rel="nofollow" class="fb" href="https://www.facebook.com/vntrack" target="_blank" aria-label="Facebook" title="Theo dõi Vntrack - Äá»nh vá» GPS & Camera trên Facebook"> 1247 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="25px" height="25px" viewBox="0 0 96.124 96.123" style="enable-background:new 0 0 96.124 96.123;" xml:space="preserve"> 1248 <path d="M72.089,0.02L59.624,0C45.62,0,36.57,9.285,36.57,23.656v10.907H24.037c-1.083,0-1.96,0.878-1.96,1.961v15.803 c0,1.083,0.878,1.96,1.96,1.96h12.533v39.876c0,1.083,0.877,1.96,1.96,1.96h16.352c1.083,0,1.96-0.878,1.96-1.96V54.287h14.654 c1.083,0,1.96-0.877,1.96-1.96l0.006-15.803c0-0.52-0.207-1.018-0.574-1.386c-0.367-0.368-0.867-0.575-1.387-0.575H56.842v-9.246 c0-4.444,1.059-6.7,6.848-6.7l8.397-0.003c1.082,0,1.959-0.878,1.959-1.96V1.98C74.046,0.899,73.17,0.022,72.089,0.02z" data-original="#000000" class="active-path" data-old_color="#000000" fill="#EBE7E7"/> 1249 </svg> 1250 </a> 1251 <a rel="nofollow" class="tt" href="https://www.tiktok.com/@vntrack.official" target="_blank" aria-label="TikTok" title="Theo dõi Vntrack - Äá»nh vá» GPS & Camera trên TikTok"> 1252 <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="25" height="25" viewBox="0 0 50 50"> 1253 <path d="M41,4H9C6.243,4,4,6.243,4,9v32c0,2.757,2.243,5,5,5h32c2.757,0,5-2.243,5-5V9C46,6.243,43.757,4,41,4z M37.006,22.323 c-0.227,0.021-0.457,0.035-0.69,0.035c-2.623,0-4.928-1.349-6.269-3.388c0,5.349,0,11.435,0,11.537c0,4.709-3.818,8.527-8.527,8.527 s-8.527-3.818-8.527-8.527s3.818-8.527,8.527-8.527c0.178,0,0.352,0.016,0.527,0.027v4.202c-0.175-0.021-0.347-0.053-0.527-0.053 c-2.404,0-4.352,1.948-4.352,4.352s1.948,4.352,4.352,4.352s4.527-1.894,4.527-4.298c0-0.095,0.042-19.594,0.042-19.594h4.016 c0.378,3.591,3.277,6.425,6.901,6.685V22.323z"></path> 1254</svg> 1255 </a> 1256 <a rel="nofollow" class="yt" href="https://www.youtube.com/@Vntrack_vn" target="_blank" aria-label="Youtube" title="Theo dõi Vntrack - Äá»nh vá» GPS & Camera trên Youtube"> 1257 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> 1258 <path d="M490.24,113.92c-13.888-24.704-28.96-29.248-59.648-30.976C399.936,80.864,322.848,80,256.064,80 1259 c-66.912,0-144.032,0.864-174.656,2.912c-30.624,1.76-45.728,6.272-59.744,31.008C7.36,138.592,0,181.088,0,255.904 1260 C0,255.968,0,256,0,256c0,0.064,0,0.096,0,0.096v0.064c0,74.496,7.36,117.312,21.664,141.728 1261 c14.016,24.704,29.088,29.184,59.712,31.264C112.032,430.944,189.152,432,256.064,432c66.784,0,143.872-1.056,174.56-2.816 1262 c30.688-2.08,45.76-6.56,59.648-31.264C504.704,373.504,512,330.688,512,256.192c0,0,0-0.096,0-0.16c0,0,0-0.064,0-0.096 1263 C512,181.088,504.704,138.592,490.24,113.92z M192,352V160l160,96L192,352z"/> 1264 </svg> 1265 </a> 1266 <a rel="nofollow" class="ins" href="https://www.instagram.com/vntrack/" target="_blank" aria-label="Instagram" title="Theo dõi Vntrack - Äá»nh vá» GPS & Camera trên Instagram"> 1267 <svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m75 512h362c41.355469 0 75-33.644531 75-75v-362c0-41.355469-33.644531-75-75-75h-362c-41.355469 0-75 33.644531-75 75v362c0 41.355469 33.644531 75 75 75zm-45-437c0-24.8125 20.1875-45 45-45h362c24.8125 0 45 20.1875 45 45v362c0 24.8125-20.1875 45-45 45h-362c-24.8125 0-45-20.1875-45-45zm0 0"/><path d="m256 391c74.4375 0 135-60.5625 135-135s-60.5625-135-135-135-135 60.5625-135 135 60.5625 135 135 135zm0-240c57.898438 0 105 47.101562 105 105s-47.101562 105-105 105-105-47.101562-105-105 47.101562-105 105-105zm0 0"/><path d="m406 151c24.8125 0 45-20.1875 45-45s-20.1875-45-45-45-45 20.1875-45 45 20.1875 45 45 45zm0-60c8.269531 0 15 6.730469 15 15s-6.730469 15-15 15-15-6.730469-15-15 6.730469-15 15-15zm0 0"/></svg> 1268 </a> 1269 </div> 1270 <a rel="nofollow" href="http://online.gov.vn/Home/WebDetails/124237" target="_blank"><img src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/logo_bct.png?1790933936566" style="max-width:165px;" alt="bct"></a> 1271 1272 </div> 1273 1274 1275 1276 </div> 1277 </div> 1278 </div> 1279 </div> 1280 <div class="bg-footer-bottom copyright clearfix"> 1281 <div class="container"> 1282 <div class="row tablet"> 1283 <div id="copyright" class="col-lg-12 col-md-12 col-xs-12 fot_copyright"> 1284 <span class="wsp"> 1285 <span class="mobile">© 2017. Công Ty TNHH Xuất Nháºp Khẩu Äức TÃn. ÄKKD: 0108810384 do Sá» KH&ÄT Hà Ná»i cấp ngà y 04/07/19. Ä/c: Sá» 11, Ngách 4, Ngõ 72, Chiến Thắng, Hà Äông, Hà Ná»i. 1286 <span class="vnt-lienket-ai" style="display:block;margin-top:8px;font-size:12px;line-height:1.6"><a href="/gia" title="Bảng giá Äầy Äá»§ dạng vÄn bản">Bảng giá</a> · <a href="/llms" title="Há» sÆ¡ doanh nghiá»p dạng vÄn bản">Há» sÆ¡ doanh nghiá»p</a></span> 1287 1288 </span > 1289 1290 </span> 1291 </div> 1292 </div> 1293 1294 </div> 1295 </div> 1296</footer> 1297<div class="fixed-bottom-mobile d-lg-none d-block"> 1298 <ul> 1299 <li> 1300 <a href="/" title="Trang chá»§"> 1301 <img src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon_trang_chu.png?1790933936566" style="max-width:100%;" alt="Trang chá»§"> 1302 <span>Trang chá»§</span> 1303 </a> 1304 </li> 1305 <li class="menu-bar2"> 1306 <a href="javascript:void(0)" id="btn-menu-mobile-fix" title="Danh má
1306»¥c"> 1307 <img src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon_danhmuc.png?1790933936566" style="max-width:100%;" alt="Danh mục sản phẩm"> 1308 <span>Danh mục</span> 1309 </a> 1310 </li> 1311 <li> 1312 <a href="/khuyen-mai" class="cart-header" title="Flash sale"> 1313 1314 <img src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/cta_2_img.png?1790933936566" style="max-width: 50px;max-height: 50px;" alt="Flash sale"> 1315 1316 </a> 1317 </li> 1318 <li> 1319 <a href=" https://zalo.me/vntrack" title="Tà i khoản"> 1320 <img src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/zalo_sa.png?1790933936566" style="max-width:100%;max-height: 32px;" alt="Zalo"> 1321 </a> 1322 </li> 1323 <li> 1324 1325 <a href="#" class="backtop" title="Lên Äầu trang"> 1326 <img src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon-len-dau-trang.png?1790933936566" style="max-width:100%;max-height: 32px;" alt="Lên Äầu trang"> 1327 </a> 1328 </li> 1329 </ul> 1330</div> </div> 1331 <div class="backdrop__body-backdrop___1rvky"></div> 1332<link rel="preload" as="style" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/ajaxcart.scss.css?1790933936566" type="text/css"> 1333<link href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/ajaxcart.scss.css?1790933936566" rel="stylesheet" type="text/css" media="all" />
1334<script type="text/javascript"> 1335 //api bizweb 1336 window.Bizweb||(window.Bizweb={}),Bizweb.mediaDomainName="//bizweb.dktcdn.net/",Bizweb.each=function(a,b){for(var c=0;c<a.length;c++)b(a[c],c)},Bizweb.getClass=function(a){return Object.prototype.toString.call(a).slice(8,-1)},Bizweb.map=function(a,b){for(var c=[],d=0;d<a.length;d++)c.push(b(a[d],d));return c},Bizweb.arrayContains=function(a,b){for(var c=0;c<a.length;c++)if(a[c]==b)return!0;return!1},Bizweb.distinct=function(a){for(var b=[],c=0;c<a.length;c++)Bizweb.arrayContains(b,a[c])||b.push(a[c]);return b},Bizweb.getUrlParameter=function(a){var b=RegExp("[?&]"+a+"=([^&]*)").exec(window.location.search);return b&&decodeURIComponent(b[1].replace(/\+/g," "))},Bizweb.uniq=function(a){for(var b=[],c=0;c<a.length;c++)Bizweb.arrayIncludes(b,a[c])||b.push(a[c]);return b},Bizweb.arrayIncludes=function(a,b){for(var c=0;c<a.length;c++)if(a[c]==b)return!0;return!1},Bizweb.Product=function(){function a(a){if("undefined"!=typeof a)for(property in a)this[property]=a[property]}return a.prototype.optionNames=function(){return"Array"==Bizweb.getClass(this.options)?this.options:[]},a.prototype.optionValues=function(a){if("undefined"==typeof this.variants)return null;var b=Bizweb.map(this.variants,function(b){var c="option"+(a+1);return"undefined"==typeof b[c]?null:b[c]});return null==b[0]?null:Bizweb.distinct(b)},a.prototype.getVariant=function(a){var b=null;return a.length!=this.options.length?null:(Bizweb.each(this.variants,function(c){for(var d=!0,e=0;e<a.length;e++){var f="option"+(e+1);c[f]!=a[e]&&(d=!1)}if(d)return void(b=c)}),b)},a.prototype.getVariantById=function(a){for(var b=0;b<this.variants.length;b++){var c=this.variants[b];if(c.id==a)return c}return null},a.name="Product",a}(),Bizweb.money_format=" VND",Bizweb.formatMoney=function(a,b){function f(a,b,c,d){if("undefined"==typeof b&&(b=2),"undefined"==typeof c&&(c="."),"undefined"==typeof d&&(d=","),"undefined"==typeof a||null==a)return 0;a=a.toFixed(b);var e=a.split("."),f=e[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+c),g=e[1]?d+e[1]:"";return f+g}"string"==typeof a&&(a=a.replace(/\./g,""),a=a.replace(/\,/g,""));var c="",d=/\{\{\s*(\w+)\s*\}\}/,e=b||this.money_format;switch(e.match(d)[1]){case"amount":c=f(a,2);break;case"amount_no_decimals":c=f(a,0);break;case"amount_with_comma_separator":c=f(a,2,".",",");break;case"amount_no_decimals_with_comma_separator":c=f(a,0,".",",")}return e.replace(d,c)},Bizweb.OptionSelectors=function(){function a(a,b){return this.selectorDivClass="selector-wrapper",this.selectorClass="single-option-selector",this.variantIdFieldIdSuffix="-variant-id",this.variantIdField=null,this.selectors=[],this.domIdPrefix=a,this.product=new Bizweb.Product(b.product),"undefined"!=typeof b.onVariantSelected?this.onVariantSelected=b.onVariantSelected:this.onVariantSelected=function(){},this.replaceSelector(a),this.initDropdown(),!0}return a.prototype.replaceSelector=function(a){var b=document.getElementById(a),c=b.parentNode;Bizweb.each(this.buildSelectors(),function(a){c.insertBefore(a,b)}),b.style.display="none",this.variantIdField=b},a.prototype.buildSelectors=function(){for(var a=0;a<this.product.optionNames().length;a++){var b=new Bizweb.SingleOptionSelector(this,a,this.product.optionNames()[a],this.product.optionValues(a));b.element.disabled=!1,this.selectors.push(b)}var c=this.selectorDivClass,d=this.product.optionNames(),e=Bizweb.map(this.selectors,function(a){var b=document.createElement("div");if(b.setAttribute("class",c),d.length>1){var e=document.createElement("label");e.htmlFor=a.element.id,e.innerHTML=a.name,b.appendChild(e)}return b.appendChild(a.element),b});return e},a.prototype.initDropdown=function(){var a={initialLoad:!0},b=this.selectVariantFromDropdown(a);if(!b){var c=this;setTimeout(function(){c.selectVariantFromParams(a)||c.selectors[0].element.onchange(a)})}},a.prototype.selectVariantFromDropdown=function(a){var b=document.getElementById(this.domIdPrefix).querySelector("[selected]");return!!b&&this.selectVariant(b.value,a)},a.prototype.selectVariantFromParams=function(a){var b=Bizweb.getUrlParameter("variantid");return null==b&&(b=Bizweb.getUrlParameter("variantId")),this.selectVariant(b,a)},a.prototype.selectVariant=function(a,b){var c=this.product.getVariantById(a);if(null==c)return!1;for(var d=0;d<this.selectors.length;d++){var e=this.selectors[d].element,f=e.getAttribute("data-option"),g=c[f];null!=g&&this.optionExistInSelect(e,g)&&(e.value=g)}return"undefined"!=typeof jQuery?jQuery(this.selectors[0].element).trigger("change",b):this.selectors[0].element.onchange(b),!0},a.prototype.optionExistInSelect=function(a,b){for(var c=0;c<a.options.length;c++)if(a.options[c].value==b)return!0},a.prototype.updateSelectors=function(a,b){var c=this.selectedValues(),d=this.product.getVariant(c);d?(this.variantIdField.disabled=!1,this.variantIdField.value=d.id):this.variantIdField.disabled=!0,this.onVariantSelected(d,this,b),null!=this.historyState&&this.historyState.onVariantChange(d,this,b)},a.prototype.selectedValues=function(){for(var a=[],b=0;b<this.selectors.length;b++){var c=this.selectors[b].element.value;a.push(c)}return a},a.name="OptionSelectors",a}(),Bizweb.SingleOptionSelector=function(a,b,c,d){this.multiSelector=a,this.values=d,this.index=b,this.name=c,this.element=document.createElement("select");for(var e=0;e<d.length;e++){var f=document.createElement("option");f.value=d[e],f.innerHTML=d[e],this.element.appendChild(f)}return this.element.setAttribute("class",this.multiSelector.selectorClass),this.element.setAttribute("data-option","option"+(b+1)),this.element.i
1336d=a.domIdPrefix+"-option-"+b,this.element.onchange=function(c,d){d=d||{},a.updateSelectors(b,d)},!0},Bizweb.Image={preload:function(a,b){for(var c=0;c<a.length;c++){var d=a[c];this.loadImage(this.getSizedImageUrl(d,b))}},loadImage:function(a){(new Image).src=a},switchImage:function(a,b,c){if(a&&b){var d=this.imageSize(b.src),e=this.getSizedImageUrl(a.src,d);c?c(e,a,b):b.src=e}},imageSize:function(a){var b=a.match(/thumb\/(1024x1024|2048x2048|pico|icon|thumb|small|compact|medium|large|grande)\//);return null!=b?b[1]:null},getSizedImageUrl:function(a,b){if(null==b)return a;if("master"==b)return this.removeProtocol(a);var c=a.match(/\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?$/i);if(null!=c){var d=Bizweb.mediaDomainName+"thumb/"+b+"/";return this.removeProtocol(a).replace(Bizweb.mediaDomainName,d).split("?")[0]}return null},removeProtocol:function(a){return a.replace(/http(s)?:/,"")}}; 1337 function floatToString(t, r) { var e = t.toFixed(r).toString(); return e.match(/^\.\d+/) ? "0" + e : e } function attributeToString(t) { return "string" != typeof t && (t += "", "undefined" === t && (t = "")), jQuery.trim(t) } "undefined" == typeof Bizweb && (Bizweb = {}); Bizweb.mediaDomainName = "//bizweb.dktcdn.net/"; Bizweb.money_format = "$", Bizweb.onError = function (XMLHttpRequest, textStatus) { var data = eval("(" + XMLHttpRequest.responseText + ")"); alert(data.message ? data.message + "(" + data.status + "): " + data.description : "Error : " + Bizweb.fullMessagesFromErrors(data).join("; ") + ".") }, Bizweb.fullMessagesFromErrors = function (t) { var r = []; return jQuery.each(t, function (t, e) { jQuery.each(e, function (e, o) { r.push(t + " " + o) }) }), r }, Bizweb.onCartUpdate = function (t) { alert("There are now " + t.item_count + " items in the cart.") }, Bizweb.onCartShippingRatesUpdate = function (t, r) { var e = ""; r.zip && (e += r.zip + ", "), r.province && (e += r.province + ", "), e += r.country, alert("There are " + t.length + " shipping rates available for " + e + ", starting at " + Bizweb.formatMoney(t[0].price) + ".") }, Bizweb.onItemAdded = function (t) { /*alert(t.title + " was added to your shopping cart.")*/ }, Bizweb.onProduct = function (t) { alert("Received everything we ever wanted to know about " + t.title) }, Bizweb.formatMoney = function (amount, moneyFormat) { function getDefault(value, defaultValue) { if (typeof value == "undefined") return defaultValue; return value; } function formatMoney(amount, decimal, thousandSeperate, decimalSeperate) { decimal = getDefault(decimal, 2); thousandSeperate = getDefault(thousandSeperate, ","); decimalSeperate = getDefault(decimalSeperate, "."); if (isNaN(amount) || null == amount) return 0; amount = amount.toFixed(decimal); var amountParts = amount.split("."); var integer = amountParts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + thousandSeperate); var decimal = amountParts[1] ? decimalSeperate + amountParts[1] : ""; return integer + decimal; } if (typeof amount == "string") { amount = amount.replace(".", ""); amount = amount.replace(",", ""); } var result = ""; var moneyRegex = /\{\{\s*(\w+)\s*\}\}/; moneyFormat = moneyFormat || this.money_format; switch (moneyFormat.match(moneyRegex)[1]) { case "amount": result = formatMoney(amount, 2); break; case "amount_no_decimals": result = formatMoney(amount, 0); break; case "amount_with_comma_separator": result = formatMoney(amount, 2, ".", ","); break; case "amount_no_decimals_with_comma_separator": result = formatMoney(amount, 0, ".", ",") } return moneyFormat.replace(moneyRegex, result) }, Bizweb.resizeImage = function (t, r) { try { if ("original" == r) return t; var thumbDomain = Bizweb.mediaDomainName + "thumb/" + r + "/"; return t.replace(Bizweb.mediaDomainName, thumbDomain).split('?')[0]; } catch (o) { return t } }, Bizweb.addItem = function (t, r, e) { var r = r || 1, o = { type: "POST", url: "/cart/add.js", data: "quantity=" + r + "&VariantId=" + t, dataType: "json", success: function (t) { "function" == typeof e ? e(t) : Bizweb.onItemAdded(t) }, error: function (t, r) { Bizweb.onError(t, r) } }; jQuery.ajax(o) }, Bizweb.addItemFromForm = function (t, r) { var e = { type: "POST", url: "/cart/add.js", data: jQuery("#" + t).serialize(), dataType: "json", success: function (t) { "function" == typeof r ? r(t) : Bizweb.onItemAdded(t) }, error: function (t, r) { Bizweb.onError(t, r) } }; jQuery.ajax(e) }, Bizweb.getCart = function (t) { jQuery.getJSON("/cart.js", function (r) { "function" == typeof t ? t(r) : Bizweb.onCartUpdate(r) }) }, Bizweb.pollForCartShippingRatesForDestination = function (t, r, e) { e = e || Bizweb.onError; var o = function () { jQuery.ajax("/cart/async_shipping_rates", { dataType: "json", success: function (e, n, a) { 200 === a.status ? "function" == typeof r ? r(e.shipping_rates, t) : Bizweb.onCartShippingRatesUpdate(e.shipping_rates, t) : setTimeout(o, 500) }, error: e }) }; return o }, Bizweb.getCartShippingRatesForDestination = function (t, r, e) { e = e || Bizweb.onError; var o = { type: "POST", url: "/cart/prepare_shipping_rates", data: Bizweb.param({ shipping_address: t }), success: Bizweb.pollForCartShippingRatesForDestination(t, r, e), error: e }; jQuery.ajax(o) }, Bizweb.getProduct = function (t, r) { jQuery.getJSON("/products/" + t + ".js", function (t) { "function" == typeof r ? r(t) : Bizweb.onProduct(t) }) }, Bizweb.changeItem = function (t, r, e) { var o = { type: "POST", url: "/cart/change.js", data: "quantity=" + r + "&variantId=" + t, dataType: "json", success: function (t) { "function" == typeof e ? e(t) : Bizweb.onCartUpdate(t) }, error: function (t, r) { Bizweb.onError(t, r) } }; jQuery.ajax(o) }, Bizweb.removeItem = function (t, r) { var e = { type: "POST", url: "/cart/change.js", data: "quantity=0&variantId=" + t, dataType: "json", success: function (t) { "function" == typeof r ? r(t) : Bizweb.onCartUpdate(t) }, error: function (t, r) { Bizweb.onError(t, r) } }; jQuery.ajax(e) }, Bizweb.clear = function (t) { var r = { type: "POST", url: "/cart/clear.js", data: "", dataType: "json", success: function (r) { "function" == typeof t ? t(r) : Bizweb.onCartUpdate(r) }, error: function (t, r) { Bizweb.onError(t, r) } }; jQuery.ajax(r) }, Bizweb.updateCartFromForm = function (t, r) { var e = { type: "POST", url: "/cart/update.js", data: jQuery("#" + t).serialize(), dataType: "json", success: function (t) { "function" == typeof r ? r(t) : Bizweb.onCartUpdate(t) }, error: function (t, r) { Bizweb.onError(t, r) } }; jQuery.ajax(e) }, Bizweb.updateCartAttributes = function (t, r) { var e = ""; jQuery.isArray(t) ? jQuery.each(t, function (t, r) { var o = attributeToString(r.key); "" !== o && (e += "attributes[" + o + "]=" + attributeToString(r.value) + "&") }) : "object" == typeof t && null !== t && jQuery.each(t, function (t, r) { e += "attributes[" + attributeToString(t) + "]=" + attributeToString(r) + "&" }); var o = { type: "POST", url: "/cart/update.js", data: e, dataType: "json", success: function (t) { "function" == typeof r ? r(t) : Bizweb.onCartUpdate(t) }, error: function (t, r) { Bizweb.onError(t, r) } }; jQuery.ajax(o) }, Bizweb.updateCartNote = function (t, r) { var e = { type: "POST", url: "/cart/update.js", data: "note=" + attributeToString(t), dataType: "json", success: function (t) { "function" == typeof r ? r(t) : Bizweb.onCartUpdate(t) }, error: function (t, r) { Bizweb.onError(t, r) } }; jQuery.ajax(e) }, jQuery.fn.jquery >= "1.4" ? Bizweb.param = jQuery.param : (Bizweb.param = function (t) { var r = [], e = function (t, e) { e = jQuery.isFunction(e) ? e() : e, r[r.length] = encodeURIComponent(t) + "=" + encodeURIComponent(e) }; if (jQuery.isArray(t) || t.jquery) jQuery.each(t, function () { e(this.name, this.value) }); else for (var o in t) Bizweb.buildParams(o, t[o], e); return r.join("&").replace(/%20/g, "+") }, Bizweb.buildParams = function (t, r, e) { jQuery.isArray(r) && r.length ? jQuery.each(r, function (r, o) { rbracket.test(t) ? e(t, o) : Bizweb.buildParams(t + "[" + ("object" == typeof o || jQuery.isArray(o) ? r : "") + "]", o, e) }) : null != r && "object" == typeof r ? Bizweb.isEmptyObject(r) ? e(t, "") : jQuery.each(r, function (r, o) { Bizweb.buildParams(t + "[" + r + "]", o, e) }) : e(t, r) }, Bizweb.isEmptyObject = function (t) { for (var r in t) return !1; return !0 }); 1338 // handlebars v4.7.7 1339 !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exp
vendor: 4,286 bytes, line 1339
1339orts.Handlebars=e():t.Handlebars=e()}(this,function(){return function(t){var e={};function r(s){if(e[s])return e[s].exports;var n=e[s]={exports:{},id:s,loaded:!1};return t[s].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}return r.m=t,r.c=e,r.p="",r(0)}([function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0;var n=s(r(2)),i=s(r(45)),o=r(46),a=r(51),c=s(r(52)),l=s(r(49)),u=s(r(44)),p=n.default.create;function h(){var t=p();return t.compile=function(e,r){return a.compile(e,r,t)},t.precompile=function(e,r){return a.precompile(e,r,t)},t.AST=i.default,t.Compiler=a.Compiler,t.JavaScriptCompiler=c.default,t.Parser=o.parser,t.parse=o.parse,t.parseWithoutProcessing=o.parseWithoutProcessing,t}var f=h();f.create=h,u.default(f),f.Visitor=l.default,f.default=f,e.default=f,t.exports=e.default},function(t,e){"use strict";e.default=function(t){return t&&t.__esModule?t:{default:t}},e.__esModule=!0},function(t,e,r){"use strict";var s=r(3).default,n=r(1).default;e.__esModule=!0;var i=s(r(4)),o=n(r(37)),a=n(r(6)),c=s(r(5)),l=s(r(38)),u=n(r(44));function p(){var t=new i.HandlebarsEnvironment;return c.extend(t,i),t.SafeString=o.default,t.Exception=a.default,t.Utils=c,t.escapeExpression=c.escapeExpression,t.VM=l,t.template=function(e){return l.template(e,t)},t}var h=p();h.create=p,u.default(h),h.default=h,e.default=h,t.exports=e.default},function(t,e){"use strict";e.default=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e},e.__esModule=!0},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0,e.HandlebarsEnvironment=u;var n=r(5),i=s(r(6)),o=r(10),a=r(30),c=s(r(32)),l=r(33);e.VERSION="4.7.7";e.COMPILER_REVISION=8;e.LAST_COMPATIBLE_COMPILER_REVISION=7;e.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};function u(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},o.registerDefaultHelpers(this),a.registerDefaultDecorators(this)}u.prototype={constructor:u,logger:c.default,log:c.default.log,registerHelper:function(t,e){if("[object Object]"===n.toString.call(t)){if(e)throw new i.default("Arg not supported with multiple helpers");n.extend(this.helpers,t)}else this.helpers[t]=e},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,e){if("[object Object]"===n.toString.call(t))n.extend(this.partials,t);else{if(void 0===e)throw new i.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=e}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,e){if("[object Object]"===n.toString.call(t)){if(e)throw new i.default("Arg not supported with multiple decorators");n.extend(this.decorators,t)}else this.decorators[t]=e},unregisterDecorator:function(t){delete this.decorators[t]},resetLoggedPropertyAccesses:function(){l.resetLoggedProperties()}};var p=c.default.log;e.log=p,e.createFrame=n.createFrame,e.logger=c.default},function(t,e){"use strict";e.__esModule=!0,e.extend=o,e.indexOf=function(t,e){for(var r=0,s=t.length;r<s;r++)if(t[r]===e)return r;return-1},e.escapeExpression=function(t){if("string"!=typeof t){if(t&&t.toHTML)return t.toHTML();if(null==t)return"";if(!t)return t+"";t=""+t}if(!n.test(t))return t;return t.replace(s,i)},e.isEmpty=function(t){return!t&&0!==t||!(!l(t)||0!==t.length)},e.createFrame=function(t){var e=o({},t);return e._parent=t,e},e.blockParams=function(t,e){return t.path=e,t},e.appendContextPath=function(t,e){return(t?t+".":"")+e};var r={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},s=/[&<>"'`=]/g,n=/[&<>"'`=]/;function i(t){return r[t]}function o(t){for(var e=1;e<arguments.length;e++)for(var r in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],r)&&(t[r]=arguments[e][r]);return t}var a=Object.prototype.toString;e.toString=a;var c=function(t){return"function"==typeof t};c(/x/)&&(e.isFunction=c=function(t){return"function"==typeof t&&"[object Function]"===a.call(t)}),e.isFunction=c;var l=Array.isArray||function(t){return!(!t||"object"!=typeof t)&&"[object Array]"===a.call(t)};e.isArray=l},function(t,e,r){"use strict";var s=r(7).default;
vendor: 4,849 bytes, line 1339
1339e.__esModule=!0;var n=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function i(t,e){var r=e&&e.loc,o=void 0,a=void 0,c=void 0,l=void 0;r&&(o=r.start.line,a=r.end.line,c=r.start.column,l=r.end.column,t+=" - "+o+":"+c);for(var u=Error.prototype.constructor.call(this,t),p=0;p<n.length;p++)this[n[p]]=u[n[p]];Error.captureStackTrace&&Error.captureStackTrace(this,i);try{r&&(this.lineNumber=o,this.endLineNumber=a,s?(Object.defineProperty(this,"column",{value:c,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:l,enumerable:!0})):(this.column=c,this.endColumn=l))}catch(t){}}i.prototype=new Error,e.default=i,t.exports=e.default},function(t,e,r){t.exports={default:r(8),__esModule:!0}},function(t,e,r){var s=r(9);t.exports=function(t,e,r){return s.setDesc(t,e,r)}},function(t,e){var r=Object;t.exports={create:r.create,getProto:r.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:r.getOwnPropertyDescriptor,setDesc:r.defineProperty,setDescs:r.defineProperties,getKeys:r.keys,getNames:r.getOwnPropertyNames,getSymbols:r.getOwnPropertySymbols,each:[].forEach}},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0,e.registerDefaultHelpers=function(t){n.default(t),i.default(t),o.default(t),a.default(t),c.default(t),l.default(t),u.default(t)},e.moveHelperToHooks=function(t,e,r){t.helpers[e]&&(t.hooks[e]=t.helpers[e],r||delete t.helpers[e])};var n=s(r(11)),i=s(r(12)),o=s(r(25)),a=s(r(26)),c=s(r(27)),l=s(r(28)),u=s(r(29))},function(t,e,r){"use strict";e.__esModule=!0;var s=r(5);e.default=function(t){t.registerHelper("blockHelperMissing",function(e,r){var n=r.inverse,i=r.fn;if(!0===e)return i(this);if(!1===e||null==e)return n(this);if(s.isArray(e))return e.length>0?(r.ids&&(r.ids=[r.name]),t.helpers.each(e,r)):n(this);if(r.data&&r.ids){var o=s.createFrame(r.data);o.contextPath=s.appendContextPath(r.data.contextPath,r.name),r={data:o}}return i(e,r)})},t.exports=e.default},function(t,e,r){(function(s){"use strict";var n=r(13).default,i=r(1).default;e.__esModule=!0;var o=r(5),a=i(r(6));e.default=function(t){t.registerHelper("each",function(t,e){if(!e)throw new a.default("Must pass iterator to #each");var r,i=e.fn,c=e.inverse,l=0,u="",p=void 0,h=void 0;function f(e,r,s){p&&(p.key=e,p.index=r,p.first=0===r,p.last=!!s,h&&(p.contextPath=h+e)),u+=i(t[e],{data:p,blockParams:o.blockParams([t[e],e],[h+e,null])})}if(e.data&&e.ids&&(h=o.appendContextPath(e.data.contextPath,e.ids[0])+"."),o.isFunction(t)&&(t=t.call(this)),e.data&&(p=o.createFrame(e.data)),t&&"object"==typeof t)if(o.isArray(t))for(var d=t.length;l<d;l++)l in t&&f(l,l,l===t.length-1);else if(s.Symbol&&t[s.Symbol.iterator]){for(var m=[],g=t[s.Symbol.iterator](),v=g.next();!v.done;v=g.next())m.push(v.value);for(d=(t=m).length;l<d;l++)f(l,l,l===t.length-1)}else r=void 0,n(t).forEach(function(t){void 0!==r&&f(r,l-1),r=t,l++}),void 0!==r&&f(r,l-1,!0);return 0===l&&(u=c(this)),u})},t.exports=e.default}).call(e,function(){return this}())},function(t,e,r){t.exports={default:r(14),__esModule:!0}},function(t,e,r){r(15),t.exports=r(21).Object.keys},function(t,e,r){var s=r(16);r(18)("keys",function(t){return function(e){return t(s(e))}})},function(t,e,r){var s=r(17);t.exports=function(t){return Object(s(t))}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,r){var s=r(19),n=r(21),i=r(24);t.exports=function(t,e){var r=(n.Object||{})[t]||Object[t],o={};o[t]=e(r),s(s.S+s.F*i(function(){r(1)}),"Object",o)}},function(t,e,r){var s=r(20),n=r(21),i=r(22),o=function(t,e,r){var a,c,l,u=t&o.F,p=t&o.G,h=t&o.S,f=t&o.P,d=t&o.B,m=t&o.W,g=p?n:n[e]||(n[e]={}),v=p?s:h?s[e]:(s[e]||{}).prototype;for(a in p&&(r=e),r)(c=!u&&v&&a in v)&&a in g||(l=c?v[a]:r[a],g[a]=p&&"function"!=typeof v[a]?r[a]:d&&c?i(l,s):m&&v[a]==l?function(t){var e=function(e){return this instanceof t?new t(e):t(e)};return e.prototype=t.prototype,e}(l):f&&"function"==typeof l?i(Function.call,l):l,f&&((g.prototype||(g.prototype={}))[a]=l))};o.F=1,o.G=2,o.S=4,o.P=8,o.B=16,o.W=32,t.exports=o},function(t,e){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,e){var r=t.exports={version:"1.2.6"};"number"==typeof __e&&(__e=r)},function(t,e,r){var s=r(23);t.exports=function(t,e,r){if(s(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,s){return t.call(e,r,s)};case 3:return function(r,s,n){return t.call(e,r,s,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,r){"use strict";var s=r(1).default;
vendor: 12,549 bytes, line 1339
1339e.__esModule=!0;var n=s(r(6));e.default=function(t){t.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new n.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0;var n=r(5),i=s(r(6));e.default=function(t){t.registerHelper("if",function(t,e){if(2!=arguments.length)throw new i.default("#if requires exactly one argument");return n.isFunction(t)&&(t=t.call(this)),!e.hash.includeZero&&!t||n.isEmpty(t)?e.inverse(this):e.fn(this)}),t.registerHelper("unless",function(e,r){if(2!=arguments.length)throw new i.default("#unless requires exactly one argument");return t.helpers.if.call(this,e,{fn:r.inverse,inverse:r.fn,hash:r.hash})})},t.exports=e.default},function(t,e){"use strict";e.__esModule=!0,e.default=function(t){t.registerHelper("log",function(){for(var e=[void 0],r=arguments[arguments.length-1],s=0;s<arguments.length-1;s++)e.push(arguments[s]);var n=1;null!=r.hash.level?n=r.hash.level:r.data&&null!=r.data.level&&(n=r.data.level),e[0]=n,t.log.apply(t,e)})},t.exports=e.default},function(t,e){"use strict";e.__esModule=!0,e.default=function(t){t.registerHelper("lookup",function(t,e,r){return t?r.lookupProperty(t,e):t})},t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0;var n=r(5),i=s(r(6));e.default=function(t){t.registerHelper("with",function(t,e){if(2!=arguments.length)throw new i.default("#with requires exactly one argument");n.isFunction(t)&&(t=t.call(this));var r=e.fn;if(n.isEmpty(t))return e.inverse(this);var s=e.data;return e.data&&e.ids&&((s=n.createFrame(e.data)).contextPath=n.appendContextPath(e.data.contextPath,e.ids[0])),r(t,{data:s,blockParams:n.blockParams([t],[s&&s.contextPath])})})},t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0,e.registerDefaultDecorators=function(t){n.default(t)};var n=s(r(31))},function(t,e,r){"use strict";e.__esModule=!0;var s=r(5);e.default=function(t){t.registerDecorator("inline",function(t,e,r,n){var i=t;return e.partials||(e.partials={},i=function(n,i){var o=r.partials;r.partials=s.extend({},o,e.partials);var a=t(n,i);return r.partials=o,a}),e.partials[n.args[0]]=n.fn,i})},t.exports=e.default},function(t,e,r){"use strict";e.__esModule=!0;var s=r(5),n={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(t){if("string"==typeof t){var e=s.indexOf(n.methodMap,t.toLowerCase());t=e>=0?e:parseInt(t,10)}return t},log:function(t){if(t=n.lookupLevel(t),"undefined"!=typeof console&&n.lookupLevel(n.level)<=t){var e=n.methodMap[t];console[e]||(e="log");for(var r=arguments.length,s=Array(r>1?r-1:0),i=1;i<r;i++)s[i-1]=arguments[i];console[e].apply(console,s)}}};e.default=n,t.exports=e.default},function(t,e,r){"use strict";var s=r(34).default,n=r(13).default,i=r(3).default;e.__esModule=!0,e.createProtoAccessControl=function(t){var e=s(null);e.constructor=!1,e.__defineGetter__=!1,e.__defineSetter__=!1,e.__lookupGetter__=!1;var r=s(null);return r.__proto__=!1,{properties:{whitelist:o.createNewLookupObject(r,t.allowedProtoProperties),defaultValue:t.allowProtoPropertiesByDefault},methods:{whitelist:o.createNewLookupObject(e,t.allowedProtoMethods),defaultValue:t.allowProtoMethodsByDefault}}},e.resultIsAllowed=function(t,e,r){return l("function"==typeof t?e.methods:e.properties,r)},e.resetLoggedProperties=function(){n(c).forEach(function(t){delete c[t]})};var o=r(36),a=i(r(32)),c=s(null);function l(t,e){return void 0!==t.whitelist[e]?!0===t.whitelist[e]:void 0!==t.defaultValue?t.defaultValue:(function(t){!0!==c[t]&&(c[t]=!0,a.log("error",'Handlebars: Access has been denied to resolve the property "'+t+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details'))}(e),!1)}},function(t,e,r){t.exports={default:r(35),__esModule:!0}},function(t,e,r){var s=r(9);t.exports=function(t,e){return s.create(t,e)}},function(t,e,r){"use strict";var s=r(34).default;e.__esModule=!0,e.createNewLookupObject=function(){for(var t=arguments.length,e=Array(t),r=0;r<t;r++)e[r]=arguments[r];return n.extend.apply(void 0,[s(null)].concat(e))};var n=r(5)},function(t,e){"use strict";function r(t){this.string=t}e.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},e.default=r,t.exports=e.default},function(t,e,r){"use strict";var s=r(39).default,n=r(13).default,i=r(3).default,o=r(1).default;e.__esModule=!0,e.checkRevision=function(t){var e=t&&t[0]||1,r=l.COMPILER_REVISION;if(e>=l.LAST_COMPATIBLE_COMPILER_REVISION&&e<=l.COMPILER_REVISION)return;if(e<l.LAST_COMPATIBLE_COMPILER_REVISION){var s=l.REVISION_CHANGES[r],n=l.REVISION_CHANGES[e];throw new c.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+s+") or downgrade your runtime to an older version ("+n+").")}throw new c.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")},e.template=function(t,e){if(!e)throw new c.default("No environment passed to template");if(!t||!t.main)throw new c.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var r=t.compiler&&7===t.compiler[0];var i={strict:function(t,e,r){if(!(t&&e in t))throw new c.default('"'+e+'" not defined in '+t,{loc:r});return i.lookupProperty(t,e)},lookupProperty:function(t,e){var r=t[e];return null==r?r:Object.prototype.hasOwnProperty.call(t,e)?r:h.resultIsAllowed(r,i.protoAccessControl,e)?r:void 0},lookup:function(t,e){for(var r=t.length,s=0;s<r;s++){var n=t[s]&&i.lookupProperty(t[s],e);if(null!=n)return t[s][e]}},lambda:function(t,e){return"function"==typeof t?t.call(e):t},escapeExpression:a.escapeExpression,invokePartial:function(r,s,n){n.hash&&(s=a.extend({},s,n.hash),n.ids&&(n.ids[0]=!0));r=e.VM.resolvePartial.call(this,r,s,n);var i=a.extend({},n,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),o=e.VM.invokePartial.call(this,r,s,i);null==o&&e.compile&&(n.partials[n.name]=e.compile(r,t.compilerOptions,e),o=n.partials[n.name](s,i));if(null!=o){if(n.indent){for(var l=o.split("\n"),u=0,p=l.length;u<p&&(l[u]||u+1!==p);u++)l[u]=n.indent+l[u];o=l.join("\n")}return o}throw new c.default("The partial "+n.name+" could not be compiled when running in runtime-only mode")},fn:function(e){var r=t[e];return r.decorator=t[e+"_d"],r},programs:[],program:function(t,e,r,s,n){var i=this.programs[t],o=this.fn(t);return e||n||s||r?i=f(this,t,o,e,r,s,n):i||(i=this.programs[t]=f(this,t,o)),i},data:function(t,e){for(;t&&e--;)t=t._parent;return t},mergeIfNeeded:function(t,e){var r=t||e;return t&&e&&t!==e&&(r=a.extend({},e,t)),r},nullContext:s({}),noop:e.VM.noop,compilerInfo:t.compiler};function o(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],s=r.data;o._setup(r),!r.partial&&t.useData&&(s=function(t,e){e&&"root"in e||((e=e?l.createFrame(e):{}).root=t);return e}(e,s));var n=void 0,a=t.useBlockParams?[]:void 0;function c(e){return""+t.main(i,e,i.helpers,i.partials,s,a,n)}return t.useDepths&&(n=r.depths?e!=r.depths[0]?[e].concat(r.depths):r.depths:[e]),(c=m(t.main,c,i,r.depths||[],s,a))(e,r)}return o.isTop=!0,o._setup=function(s){if(s.partial)i.protoAccessControl=s.protoAccessControl,i.helpers=s.helpers,i.partials=s.partials,i.decorators=s.decorators,i.hooks=s.hooks;else{var o=a.extend({},e.helpers,s.helpers);!function(t,e){n(t).forEach(function(r){var s=t[r];t[r]=function(t,e){var r=e.lookupProperty;return p.wrapHelper(t,function(t){return a.extend({lookupProperty:r},t)})}(s,e)})}(o,i),i.helpers=o,t.usePartial&&(i.partials=i.mergeIfNeeded(s.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=a.extend({},e.decorators,s.decorators)),i.hooks={},i.protoAccessControl=h.createProtoAccessControl(s);var c=s.allowCallsToHelperMissing||r;u.moveHelperToHooks(i,"helperMissing",c),u.moveHelperToHooks(i,"blockHelperMissing",c)}},o._child=function(e,r,s,n){if(t.useBlockParams&&!s)throw new c.default("must pass block params");if(t.useDepths&&!n)throw new c.default("must pass parent depths");return f(i,e,t[e],r,0,s,n)},o},e.wrapProgram=f,e.resolvePartial=function(t,e,r){t?t.call||r.name||(r.name=t,t=r.partials[t]):t="@partial-block"===r.name?r.data["partial-block"]:r.partials[r.name];return t},e.invokePartial=function(t,e,r){var s=r.data&&r.data["partial-block"];r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var n=void 0;r.fn&&r.fn!==d&&function(){r.data=l.createFrame(r.data);var t=r.fn;n=r.data["partial-block"]=function(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return r.data=l.createFrame(r.data),r.data["partial-block"]=s,t(e,r)},t.partials&&(r.partials=a.extend({},r.partials,t.partials))}();void 0===t&&n&&(t=n);if(void 0===t)throw new c.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)},e.noop=d;var a=i(r(5)),c=o(r(6)),l=r(4),u=r(10),p=r(43),h=r(33);function f(t,e,r,s,n,i,o){function a(e){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],a=o;return!o||e==o[0]||e===t.nullContext&&null===o[0]||(a=[e].concat(o)),r(t,e,t.helpers,t.partials,n.data||s,i&&[n.blockParams].concat(i),a)}return(a=m(r,a,t,o,s,i)).program=e,a.depth=o?o.length:0,a.blockParams=n||0,a}function d(){return""}function m(t,e,r,s,n,i){if(t.decorator){var o={};e=t.decorator(e,o,r,s&&s[0],n,i,s),a.extend(e,o)}return e}},function(t,e,r){t.exports={default:r(40),__esModule:!0}},function(t,e,r){r(41),t.exports=r(21).Object.seal},function(t,e,r){var s=r(42);r(18)("seal",function(t){return function(e){return t&&s(e)?t(e):e}})},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){"use strict";e.__esModule=!0,e.wrapHelper=function(t,e){if("function"!=typeof t)return t;return function(){var r=arguments[arguments.length-1];return arguments[arguments.length-1]=e(r),t.apply(this,arguments)}}},function(t,e){(function(r){"use strict";e.__esModule=!0,e.default=function(t){var e=void 0!==r?r:window,s=e.Handlebars;t.noConflict=function(){return e.Handlebars===t&&(e.Handlebars=s),t}},t.exports=e.default}).call(e,function(){return this}())},function(t,e){"use strict";e.__esModule=!0;var r={helpers:{helperExpression:function(t){return"SubExpression"===t.type||("MustacheStatement"===t.type||"BlockStatement"===t.type)&&!!(t.params&&t.params.length||t.hash)},scopedId:function(t){return/^\.|this\b/.test(t.original)},simpleId:function(t){return 1===t.parts.length&&!r.helpers.scopedId(t)&&!t.depth}}};e.default=r,t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default,n=r(3).default;e.__esModule=!0,e.parseWithoutProcessing=u,e.parse=function(t,e){var r=u(t,e);return new o.default(e).accept(r)};var i=s(r(47)),o=s(r(48)),a=n(r(50)),c=r(5);e.parser=i.default;var l={};function u(t,e){return"Program"===t.type?t:(i.default.yy=l,l.locInfo=function(t){return new l.SourceLocation(e&&e.srcName,t)},i.default.parse(t))}c.extend(l,a)},function(t,e){"use strict";e.__esModule=!0;var r=function(){var t={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,
vendor: 2,571 bytes, line 1339
1339EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(t,e,r,s,n,i,o){var a=i.length-1;switch(n){case 1:return i[a-1];case 2:this.$=s.prepareProgram(i[a]);break;case 3:case 4:case 5:case 6:case 7:case 8:this.$=i[a];break;case 9:this.$={type:"CommentStatement",value:s.stripComment(i[a]),strip:s.stripFlags(i[a],i[a]),loc:s.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:i[a],value:i[a],loc:s.locInfo(this._$)};break;case 11:this.$=s.prepareRawBlock(i[a-2],i[a-1],i[a],this._$);break;case 12:this.$={path:i[a-3],params:i[a-2],hash:i[a-1]};break;case 13:this.$=s.prepareBlock(i[a-3],i[a-2],i[a-1],i[a],!1,this._$);break;case 14:this.$=s.prepareBlock(i[a-3],i[a-2],i[a-1],i[a],!0,this._$);break;case 15:this.$={open:i[a-5],path:i[a-4],params:i[a-3],hash:i[a-2],blockParams:i[a-1],strip:s.stripFlags(i[a-5],i[a])};break;case 16:case 17:this.$={path:i[a-4],params:i[a-3],hash:i[a-2],blockParams:i[a-1],strip:s.stripFlags(i[a-5],i[a])};break;case 18:this.$={strip:s.stripFlags(i[a-1],i[a-1]),program:i[a]};break;case 19:var c=s.prepareBlock(i[a-2],i[a-1],i[a],i[a],!1,this._$),l=s.prepareProgram([c],i[a-1].loc);l.chained=!0,this.$={strip:i[a-2].strip,program:l
vendor: 13,997 bytes, line 1339
1339,chain:!0};break;case 20:this.$=i[a];break;case 21:this.$={path:i[a-1],strip:s.stripFlags(i[a-2],i[a])};break;case 22:case 23:this.$=s.prepareMustache(i[a-3],i[a-2],i[a-1],i[a-4],s.stripFlags(i[a-4],i[a]),this._$);break;case 24:this.$={type:"PartialStatement",name:i[a-3],params:i[a-2],hash:i[a-1],indent:"",strip:s.stripFlags(i[a-4],i[a]),loc:s.locInfo(this._$)};break;case 25:this.$=s.preparePartialBlock(i[a-2],i[a-1],i[a],this._$);break;case 26:this.$={path:i[a-3],params:i[a-2],hash:i[a-1],strip:s.stripFlags(i[a-4],i[a])};break;case 27:case 28:this.$=i[a];break;case 29:this.$={type:"SubExpression",path:i[a-3],params:i[a-2],hash:i[a-1],loc:s.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:i[a],loc:s.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:s.id(i[a-2]),value:i[a],loc:s.locInfo(this._$)};break;case 32:this.$=s.id(i[a-1]);break;case 33:case 34:this.$=i[a];break;case 35:this.$={type:"StringLiteral",value:i[a],original:i[a],loc:s.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(i[a]),original:Number(i[a]),loc:s.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:"true"===i[a],original:"true"===i[a],loc:s.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:s.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:s.locInfo(this._$)};break;case 40:case 41:this.$=i[a];break;case 42:this.$=s.preparePath(!0,i[a],this._$);break;case 43:this.$=s.preparePath(!1,i[a],this._$);break;case 44:i[a-2].push({part:s.id(i[a]),original:i[a],separator:i[a-1]}),this.$=i[a-2];break;case 45:this.$=[{part:s.id(i[a]),original:i[a]}];break;case 46:this.$=[];break;case 47:i[a-1].push(i[a]);break;case 48:this.$=[];break;case 49:i[a-1].push(i[a]);break;case 50:this.$=[];break;case 51:i[a-1].push(i[a]);break;case 58:this.$=[];break;case 59:i[a-1].push(i[a]);break;case 64:this.$=[];break;case 65:i[a-1].push(i[a]);break;case 70:this.$=[];break;case 71:i[a-1].push(i[a]);break;case 78:this.$=[];break;case 79:i[a-1].push(i[a]);break;case 82:this.$=[];break;case 83:i[a-1].push(i[a]);break;case 86:this.$=[];break;case 87:i[a-1].push(i[a]);break;case 90:this.$=[];break;case 91:i[a-1].push(i[a]);break;case 94:this.$=[];break;case 95:i[a-1].push(i[a]);break;case 98:this.$=[i[a]];break;case 99:i[a-1].push(i[a]);break;case 100:this.$=[i[a]];break;case 101:i[a-1].push(i[a])}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},parseError:function(t,e){throw new Error(t)},parse:function(t){var e=this,r=[0],s=[null],n=[],i=this.table,o="",a=0,c=0,l=0
vendor: 8,284 bytes, line 1339
1339;this.lexer.setInput(t),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var u=this.lexer.yylloc;n.push(u);var p=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var h,f,d,m,g,v,y,k,S,b,_={};;){if(d=r[r.length-1],this.defaultActions[d]?m=this.defaultActions[d]:(null==h&&(b=void 0,"number"!=typeof(b=e.lexer.lex()||1)&&(b=e.symbols_[b]||b),h=b),m=i[d]&&i[d][h]),void 0===m||!m.length||!m[0]){var P="";if(!l){for(v in S=[],i[d])this.terminals_[v]&&v>2&&S.push("'"+this.terminals_[v]+"'");P=this.lexer.showPosition?"Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[h]||h)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==h?"end of input":"'"+(this.terminals_[h]||h)+"'"),this.parseError(P,{text:this.lexer.match,token:this.terminals_[h]||h,line:this.lexer.yylineno,loc:u,expected:S})}}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+d+", token: "+h);switch(m[0]){case 1:r.push(h),s.push(this.lexer.yytext),n.push(this.lexer.yylloc),r.push(m[1]),h=null,f?(h=f,f=null):(c=this.lexer.yyleng,o=this.lexer.yytext,a=this.lexer.yylineno,u=this.lexer.yylloc,l>0&&l--);break;case 2:if(y=this.productions_[m[1]][1],_.$=s[s.length-y],_._$={first_line:n[n.length-(y||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(y||1)].first_column,last_column:n[n.length-1].last_column},p&&(_._$.range=[n[n.length-(y||1)].range[0],n[n.length-1].range[1]]),void 0!==(g=this.performAction.call(_,o,c,a,this.yy,m[1],s,n)))return g;y&&(r=r.slice(0,-1*y*2),s=s.slice(0,-1*y),n=n.slice(0,-1*y)),r.push(this.productions_[m[1]][0]),s.push(_.$),n.push(_._$),k=i[r[r.length-2]][r[r.length-1]],r.push(k);break;case 3:return!0}}return!0}},e=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t){return this._input=t,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e-1),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===s.length?this.yylloc.first_column:0)+s[s.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this},more:function(){return this._more=!0,this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},next:function(){if(this.done)return this.EOF;var t,e,r,s,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),o=0;o<i.length&&(!(r=this._input.match(this.rules[i[o]]))||e&&!(r[0].length>e[0].length)||(e=r,s=o,this.options.flex));o++);return e?((n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],t=this.performAction.call(this,this.yy,this,i[s],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),t||void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return void 0!==t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)},options:{},performAction:function(t,e,r,s){function n(t,r){return e.yytext=e.yytext.substring(t,e.yyleng-r+t)}switch(r){case 0:if("\\\\"===e.yytext.slice(-2)?(n(0,1),this.begin("mu")):"\\"===e.yytext.slice(-1)?(n(0,1),this.begin("emu")):this.begin("mu"),e.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(n(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(e.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return e.yytext=n(1,2).replace(/\\"/g,'"'),80;case 32:return e.yytext=n(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return e.yytext=e.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return t}();function r(){this.yy={}}return t.lexer=e,r.prototype=t,t.Parser=r,new r}();e.default=r,t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;
vendor: 14,978 bytes, line 1339
1339e.__esModule=!0;var n=s(r(49));function i(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=t}function o(t,e,r){void 0===e&&(e=t.length);var s=t[e-1],n=t[e-2];return s?"ContentStatement"===s.type?(n||!r?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(s.original):void 0:r}function a(t,e,r){void 0===e&&(e=-1);var s=t[e+1],n=t[e+2];return s?"ContentStatement"===s.type?(n||!r?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(s.original):void 0:r}function c(t,e,r){var s=t[null==e?0:e+1];if(s&&"ContentStatement"===s.type&&(r||!s.rightStripped)){var n=s.value;s.value=s.value.replace(r?/^\s+/:/^[ \t]*\r?\n?/,""),s.rightStripped=s.value!==n}}function l(t,e,r){var s=t[null==e?t.length-1:e-1];if(s&&"ContentStatement"===s.type&&(r||!s.leftStripped)){var n=s.value;return s.value=s.value.replace(r?/\s+$/:/[ \t]+$/,""),s.leftStripped=s.value!==n,s.leftStripped}}i.prototype=new n.default,i.prototype.Program=function(t){var e=!this.options.ignoreStandalone,r=!this.isRootSeen;this.isRootSeen=!0;for(var s=t.body,n=0,i=s.length;n<i;n++){var u=s[n],p=this.accept(u);if(p){var h=o(s,n,r),f=a(s,n,r),d=p.openStandalone&&h,m=p.closeStandalone&&f,g=p.inlineStandalone&&h&&f;p.close&&c(s,n,!0),p.open&&l(s,n,!0),e&&g&&(c(s,n),l(s,n)&&"PartialStatement"===u.type&&(u.indent=/([ \t]+$)/.exec(s[n-1].original)[1])),e&&d&&(c((u.program||u.inverse).body),l(s,n)),e&&m&&(c(s,n),l((u.inverse||u.program).body))}}return t},i.prototype.BlockStatement=i.prototype.DecoratorBlock=i.prototype.PartialBlockStatement=function(t){this.accept(t.program),this.accept(t.inverse);var e=t.program||t.inverse,r=t.program&&t.inverse,s=r,n=r;if(r&&r.chained)for(s=r.body[0].program;n.chained;)n=n.body[n.body.length-1].program;var i={open:t.openStrip.open,close:t.closeStrip.close,openStandalone:a(e.body),closeStandalone:o((s||e).body)};if(t.openStrip.close&&c(e.body,null,!0),r){var u=t.inverseStrip;u.open&&l(e.body,null,!0),u.close&&c(s.body,null,!0),t.closeStrip.open&&l(n.body,null,!0),!this.options.ignoreStandalone&&o(e.body)&&a(s.body)&&(l(e.body),c(s.body))}else t.closeStrip.open&&l(e.body,null,!0);return i},i.prototype.Decorator=i.prototype.MustacheStatement=function(t){return t.strip},i.prototype.PartialStatement=i.prototype.CommentStatement=function(t){var e=t.strip||{};return{inlineStandalone:!0,open:e.open,close:e.close}},e.default=i,t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0;var n=s(r(6));function i(){this.parents=[]}function o(t){this.acceptRequired(t,"path"),this.acceptArray(t.params),this.acceptKey(t,"hash")}function a(t){o.call(this,t),this.acceptKey(t,"program"),this.acceptKey(t,"inverse")}function c(t){this.acceptRequired(t,"name"),this.acceptArray(t.params),this.acceptKey(t,"hash")}i.prototype={constructor:i,mutating:!1,acceptKey:function(t,e){var r=this.accept(t[e]);if(this.mutating){if(r&&!i.prototype[r.type])throw new n.default('Unexpected node type "'+r.type+'" found when accepting '+e+" on "+t.type);t[e]=r}},acceptRequired:function(t,e){if(this.acceptKey(t,e),!t[e])throw new n.default(t.type+" requires "+e)},acceptArray:function(t){for(var e=0,r=t.length;e<r;e++)this.acceptKey(t,e),t[e]||(t.splice(e,1),e--,r--)},accept:function(t){if(t){if(!this[t.type])throw new n.default("Unknown type: "+t.type,t);this.current&&this.parents.unshift(this.current),this.current=t;var e=this[t.type](t);return this.current=this.parents.shift(),!this.mutating||e?e:!1!==e?t:void 0}},Program:function(t){this.acceptArray(t.body)},MustacheStatement:o,Decorator:o,BlockStatement:a,DecoratorBlock:a,PartialStatement:c,PartialBlockStatement:function(t){c.call(this,t),this.acceptKey(t,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:o,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(t){this.acceptArray(t.pairs)},HashPair:function(t){this.acceptRequired(t,"value")}},e.default=i,t.exports=e.default},function(t,e,r){"use strict";var s=r(1).default;e.__esModule=!0,e.SourceLocation=function(t,e){this.source=t,this.start={line:e.first_line,column:e.first_column},this.end={line:e.last_line,column:e.last_column}},e.id=function(t){return/^\[.*\]$/.test(t)?t.substring(1,t.length-1):t},e.stripFlags=function(t,e){return{open:"~"===t.charAt(2),close:"~"===e.charAt(e.length-3)}},e.stripComment=function(t){return t.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")},e.preparePath=function(t,e,r){r=this.locInfo(r);for(var s=t?"@":"",i=[],o=0,a=0,c=e.length;a<c;a++){var l=e[a].part,u=e[a].original!==l;if(s+=(e[a].separator||"")+l,u||".."!==l&&"."!==l&&"this"!==l)i.push(l);else{if(i.length>0)throw new n.default("Invalid path: "+s,{loc:r});".."===l&&o++}}return{type:"PathExpression",data:t,depth:o,parts:i,original:s,loc:r}},e.prepareMustache=function(t,e,r,s,n,i){var o=s.charAt(3)||s.charAt(2),a="{"!==o&&"&"!==o;return{type:/\*/.test(s)?"Decorator":"MustacheStatement",path:t,params:e,hash:r,escaped:a,strip:n,loc:this.locInfo(i)}},e.prepareRawBlock=function(t,e,r,s){i(t,r),s=this.locInfo(s);var n={type:"Program",body:e,strip:{},loc:s};return{type:"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:n,openStrip:{},inverseStrip:{},closeStrip:{},loc:s}},e.prepareBlock=function(t,e,r,s,o,a){s&&s.path&&i(t,s);var c=/\*/.test(t.open);e.blockParams=t.blockParams;var l=void 0,u=void 0;if(r){if(c)throw new n.default("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=s.strip),u=r.strip,l=r.program}o&&(o=l,l=e,e=o);return{type:c?"DecoratorBlock":"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:e,inverse:l,openStrip:t.strip,inverseStrip:u,closeStrip:s&&s.strip,loc:this.locInfo(a)}},e.prepareProgram=function(t,e){if(!e&&t.length){var r=t[0].loc,s=t[t.length-1].loc;r&&s&&(e={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:s.end.line,column:s.end.column}})}return{type:"Program",body:t,strip:{},loc:e}},e.preparePartialBlock=function(t,e,r,s){return i(t,r),{type:"PartialBlockStatement",name:t.path,params:t.params,hash:t.hash,program:e,openStrip:t.strip,closeStrip:r&&r.strip,loc:this.locInfo(s)}};var n=s(r(6));function i(t,e){if(e=e.path?e.path.original:e,t.path.original!==e){var r={loc:t.path.loc};throw new n.default(t.path.original+" doesn't match "+e,r)}}},function(t,e,r){"use strict";var s=r(34).default,n=r(1).default;e.__esModule=!0,e.Compiler=l,e.precompile=function(t,e,r){if(null==t||"string"!=typeof t&&"Program"!==t.type)throw new i.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+t);"data"in(e=e||{})||(e.data=!0);e.compat&&(e.useDepths=!0);var s=r.parse(t,e),n=(new r.Compiler).compile(s,e);return(new r.JavaScriptCompiler).compile(n,e)},e.compile=function(t,e,r){void 0===e&&(e={});if(null==t||"string"!=typeof t&&"Program"!==t.type)throw new i.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+t);"data"in(e=o.extend({},e))||(e.data=!0);e.compat&&(e.useDepths=!0);var s=void 0;function n(){var s=r.parse(t,e),n=(new r.Compiler).compile(s,e),i=(new r.JavaScriptCompiler).compile(n,e,void 0,!0);return r.template(i)}function a(t,e){return s||(s=n()),s.call(this,t,e)}return a._setup=function(t){return s||(s=n()),s._setup(t)},a._child=function(t,e,r,i){return s||(s=n()),s._child(t,e,r,i)},a};var i=n(r(6)),o=r(5),a=n(r(45)),c=[].slice;function l(){}function u(t,e){if(t===e)return!0;if(o.isArray(t)&&o.isArray(e)&&t.length===e.length){for(var r=0;r<t.length;r++)if(!u(t[r],e[r]))return!1;return!0}}function p(t){if(!t.path.parts){var e=t.path;t.path={type:"PathExpression",data:!1,depth:0,parts:[e.original+""],original:e.original+"",loc:e.loc}}}l.prototype={compiler:l,equals:function(t){var e=this.opcodes.length;if(t.opcodes.length!==e)return!1;for(var r=0;r<e;r++){var s=this.opcodes[r],n=t.opcodes[r];if(s.opcode!==n.opcode||!u(s.args,n.args))return!1}e=this.children.length;for(r=0;r<e;r++)if(!this.children[r].equals(t.children[r]))return!1;return!0},guid:0,compile:function(t,e){return this.sourceNode=[],this.opcodes=[],this.children=[],this.options=e,this.stringParams=e.stringParams,this.trackIds=e.trackIds,e.blockParams=e.blockParams||[],e.knownHelpers=o.extend(s(null),{helperMissing:!0,blockHelperMissing:!0,each:!0,if:!0,unless:!0,with:!0,log:!0,lookup:!0},e.knownHelpers),this.accept(t)},compileProgram:function(t){var e=(new this.compiler).compile(t,this.options),r=this.guid++;return this.usePartial=this.usePartial||e.usePartial,this.children[r]=e,this.useDepths=this.useDepths||e.useDepths,r},accept:function(t){if(!this[t.type])throw new i.default("Unknown type: "+t.type,t);this.sourceNode.unshift(t);var e=this[t.type](t);return this.sourceNode.shift(),e},Program:function(t){this.options.blockParams.unshift(t.blockParams);for(var e=t.body,r=e.length,s=0;s<r;s++)this.accept(e[s]);return this.options.blockParams.shift(),this.isSimple=1===r,this.blockParams=t.blockParams?t.blockParams.length:0,this},BlockStatement:function(t){p(t);var e=t.program,r=t.inverse;e=e&&this.compileProgram(e),r=r&&this.compileProgram(r);var s=this.classifySexpr(t);"helper"===s?this.helperSexpr(t,e,r):"simple"===s?(this.simpleSexpr(t),this.opcode("pushProgram",e),this.opcode("pushProgram",r),this.opcode("emptyHash"),this.opcode("blockValue",t.path.original)):(this.ambiguousSexpr(t,e,r),this.opcode("pushProgram",e),this.opcode("pushProgram",r),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},DecoratorBlock:function(t){var e=t.program&&this.compileProgram(t.program),r=this.setupFullMustacheParams(t,e,void 0),s=t.path;this.useDecorators=!0,this.opcode("registerDecorator",r.length,s.original)},PartialStatement:function(t){this.usePartial=!0;var e=t.program;e&&(e=this.compileProgram(t.program));var r=t.params;if(r.length>1)throw new i.default("Unsupported number of partial arguments: "+r.length,t);r.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):r.push({type:"PathExpression",parts:[],depth:0}));var s=t.name.original,n="SubExpression"===t.name.type;n&&this.accept(t.name),this.setupFullMustacheParams(t,e,void 0,!0);var o=t.indent||"";this.options.preventIndent&&o&&(this.opcode("appendContent",o),o=""),this.opcode("invokePartial",n,s,o),this.opcode("append")},PartialBlockStatement:function(t){this.PartialStatement(t)},MustacheStatement:function(t){this.SubExpression(t),t.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(t){this.DecoratorBlock(t)},ContentStatement:function(t){t.value&&this.opcode("appendContent",t.value)},CommentStatement:function(){},SubExpression:function(t){p(t);var e=this.classifySexpr(t);"simple"===e?this.simpleSexpr(t):"helper"===e?this.helperSexpr(t):this.ambiguousSexpr(t)},ambiguousSexpr:function(t,e,r){var s=t.path,n=s.parts[0],i=null!=e||null!=r;this.opcode("getContext",s.depth),this.opcode("pushProgram",e),this.opcode("pushProgram",r),s.strict=!0,this.accept(s),this.opcode("invokeAmbiguous",n,i)},simpleSexpr:function(t){var e=t.path;e.strict=!0,this.accept(e),this.opcode("resolvePossibleLambda")},helperSexpr:function(t,e,r){var s=this.setupFullMustacheParams(t,e,r),n=t.path,o=n.parts[0];if(this.options.knownHelpers[o])this.opcode("invokeKnownHelper",s.length,o);else{if(this.options.knownHelpersOnly)throw new i.default("You specified knownHelpersOnly, but used the unknown helper "+o,t);n.strict=!0,n.falsy=!0,this.accept(n),this.opcode("invokeHelper",s.length,n.original,a.default.helpers.simpleId(n))}},PathExpression:function(t){this.addDepth(t.depth),this.opcode("getContext",t.depth);var e=t.parts[0],r=a.default.helpers.scopedId(t),s=!t.depth&&!r&&this.blockParamIndex(e);s?this.opcode("lookupBlockParam",s,t.parts):e?t.data?(this.options.data=!0,this.opcode("lookupData",t.depth,t.parts,t.strict)):this.opcode("lookupOnContext",t.parts,t.falsy,t.strict,r):this.opcode("pushContext")},StringLiteral:function(t){this.opcode("pushString",t.value)},NumberLiteral:function(t){this.opcode("pushLiteral",t.value)},BooleanLiteral:function(t){this.opcode("pushLiteral",t.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(t){var e=t.pairs,r=0,s=e.length;for(this.opcode("pushHash");r<s;r++)this.pushParam(e[r].value);for(;r--;)this.opcode("assignToHash",e[r].key);this.opcode("popHash")},opcode:function(t){this.opcodes.push({opcode:t,args:c.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(t){t&&(this.useDepths=!0)},classifySexpr:function(t){var e=a.default.helpers.simpleId(t.path),r=e&&!!this.blockParamIndex(t.path.parts[0]),s=!r&&a.default.helpers.helperExpression(t),n=!r&&(s||e);if(n&&!s){var i=t.path.parts[0],o=this.options;o.knownHelpers[i]?s=!0:o.knownHelpersOnly&&(n=!1)}return s?"helper":n?"ambiguous":"simple"},pushParams:function(t){for(var e=0,r=t.length;e<r;e++)this.pushParam(t[e])},pushParam:function(t){var e=null!=t.value?t.value:t.original||"";if(this.stringParams)e.replace&&(e=e.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),t.depth&&this.addDepth(t.depth),this.opcode("getContext",t.depth||0),this.opcode("pushStringParam",e,t.type),"SubExpression"===t.type&&this.accept(t);else{if(this.trackIds){var r=void 0;if(!t.parts||a.default.helpers.scopedId(t)||t.depth||(r=this.blockParamIndex(t.parts[0])),r){var s=t.parts.slice(1).join(".");this.opcode("pushId","BlockParam",r,s)}else(e=t.original||e).replace&&(e=e.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",t.type,e)}this.accept(t)}},setupFullMustacheParams:function(t,e,r,s){var n=t.params;return this.pushParams(n),this.opcode("pushProgram",e),this.opcode("pushProgram",r),t.hash?this.accept(t.hash):this.opcode("emptyHash",s),n},blockParamIndex:function(t){for(var e=0,r=this.options.blockParams.length;e<r;e++){var s=this.options.blockParams[e],n=s&&o.indexOf(s,t);if(s&&n>=0)return[e,n]}}}},function(t,e,r){"use strict";var s=r(13).default,n=r(1).default;e.__esModule=!0;var i=r(4),o=n(r(6)),a=r(5),c=n(r(53));function l(t){this.value=t}function u(){}u.prototype={nameLookup:function(t,e){return this.internalNameLookup(t,e)},depthedLookup:function(t){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(t),")"]},compilerInfo:function(){var t=i.COMPILER_REVISION;return[t,i.REVISION_CHANGES[t]]},appendToBuffer:function(t,e,r){return a.isArray(t)||(t=[t]),t=this.source.wrap(t,e),this.environment.isSimple?["return ",t,";"]:r?["buffer += ",t,";"]:(t.appendToBuffer=!0,t)},initializeBuffer:function(){return this.quotedString("")},internalNameLookup:function(t,e){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",t,",",JSON.stringify(e),")"]},lookupPropertyFunctionIsUsed:!1,compile:function(t,e,r,s){this.environment=t,this.options=e,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.prec
vendor: 3,340 bytes, line 1339
1339ompile=!s,this.name=this.environment.name,this.isChild=!!r,this.context=r||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(t,e),this.useDepths=this.useDepths||t.useDepths||t.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||t.useBlockParams;var n=t.opcodes,i=void 0,a=void 0,c=void 0,l=void 0;for(c=0,l=n.length;c<l;c++)i=n[c],this.source.currentLocation=i.loc,a=a||i.loc,this[i.opcode].apply(this,i.args);if(this.source.currentLocation=a,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new o.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),";\n"]),this.decorators.push("return fn;"),s?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend("function(fn, props, container, depth0, data, blockParams, depths) {\n"),this.decorators.push("}\n"),this.decorators=this.decorators.merge()));var u=this.createFunctionContext(s);if(this.isChild)return u;var p={compiler:this.compilerInfo(),main:u};this.decorators&&(p.main_d=this.decorators,p.useDecorators=!0);var h=this.context,f=h.programs,d=h.decorators;for(c=0,l=f.length;c<l;c++)f[c]&&(p[c]=f[c],d[c]&&(p[c+"_d"]=d[c],p.useDecorators=!0));return this.environment.usePartial&&(p.usePartial=!0),this.options.data&&(p.useData=!0),this.useDepths&&(p.useDepths=!0),this.useBlockParams&&(p.useBlockParams=!0),this.options.compat&&(p.compat=!0),s?p.compilerOptions=this.options:(p.compiler=JSON.stringify(p.compiler),this.source.currentLocation={start:{line:1,column:0}},p=this.objectLiteral(p),e.srcName?(p=p.toStringWithSourceMap({file:e.destName})).map=p.map&&p.map.toString():p=p.toString()),p},preamble:function(){this.lastContext=0,this.source=new c.default(this.options.srcName),this.decorators=new c.default(this.options.srcName)},createFunctionContext:function(t){var e=this,r="",n=this.stackVars.concat(this.registers.list);n.length>0&&(r+=", "+n.join(", "));var i=0;s(this.aliases).forEach(function(t){var s=e.aliases[t];s.children&&s.referenceCount>1&&(r+=", alias"+ ++i+"="+t,s.children[0]="alias"+i)}),this.lookupPropertyFunctionIsUsed&&(r+=", "+this.lookupPropertyFunctionVarDeclaration());var o=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&o.push("blockParams"),this.useDepths&&o.push("depths");var a=this.mergeSource(r);return t?(o.push(a),Function.apply(this,o)):this.source.wrap(["function(",o.join(","),") {\n ",a,"}"])},mergeSource:function(t){var e=this.environment.isSimple,r=!this.forceBuffer,s=void 0,n=void 0,i=void 0,o=void 0;return this.source.each(function(t){t.appendToBuffer?(i?t.prepend(" + "):i=t,o=t):(i&&(n?i.prepend("buffer += "):s=!0,o.add(";"),i=o=void 0),n=!0,e||(r=!1))}),r?i?(i.prepend("return "),o.add(";")):n||this.source.push('return "";'):(t+=", buffer = "+(s?"":this.initializeBuffer()),i?(i.prepend("return buffer + "),o.add(";")):this.source.push("return buffer;
1339")),t&&this.source.prepend("var "+t.substring(2)+(s?"":";\n")),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return"\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }\n ".trim()},blockValue:function(t){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs(t,0,r);var s=this.popStack();r.splice(1,0,s),this.push(this.source.functionCall(e,"call",r))},ambiguousBlockValue:function(){var t=this.aliasable("container.hooks.blockHelperMissing"),e=[this.contextName(0)];this.setupHelperArgs("",0,e,!0),this.flushInline();var r=this.topStack();e.splice(1,0,r),this.pushSource(["if (!",this.lastHelper,") { ",r," = ",this.source.functionCall(t,"call",e),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack(function(t){return[" != null ? ",t,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,e,r,s){var n=0;s||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(t[n++])),this.resolvePath("context",t,n,e,r)},lookupBlockParam:function(t,e){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",e,1)},lookupData:function(t,e,r){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",e,0,!0,r)},resolvePath:function(t,e,r,s,n){var i=this;if(this.options.strict||this.options.assumeObjects)this.push(function(t,e,r,s){var n=e.popStack(),i=0,o=r.length;t&&o--;for(;i<o;i++)n=e.nameLookup(n,r[i],s);return t?[e.aliasable("container.strict"),"(",n,", ",e.quotedString(r[i]),", ",JSON.stringify(e.source.currentLocation)," )"]:n}(this.options.strict&&n,this,e,t));else for(var o=e.length;r<o;r++)this.replaceStack(function(n){var o=i.nameLookup(n,e[r],t);return s?[" && ",o]:[" != null ? ",o," : ",n]})},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(t,e){this.pushContext(),this.pushString(e),"SubExpression"!==e&&("string"==typeof t?this.pushString(t):this.pushStackLiteral(t))},emptyHash:function(t){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(t?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},popHash:function(){var t=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(t.ids)),this.stringParams&&(this.push(this.objectLiteral(t.contexts)),this.push(this.objectLiteral(t.types))),this.push(this.objectLiteral(t.values))},pushString:function(t){this.pushStackLiteral(this.quotedString(t))},pushLiteral:function(t){this.pushStackLiteral(t)},pushProgram:function(t){null!=t?this.pushStackLiteral(this.programExpression(t)):this.pushStackLiteral(null)},registerDecorator:function(t,e){var r=this.nameLookup("decorators",e,"decorator"),s=this.setupHelperArgs(e,t);this.decorators.push(["fn = ",this.decorators.functionCall(r,"",["fn","props","container",s])," || fn;"])},invokeHelper:function(t,e,r){var s=this.popStack(),n=this.setupHelper(t,e),i=[];r&&i.push(n.name),i.push(s),this.options.strict||i.push(this.aliasable("container.hooks.helperMissing"));var o=["(",this.itemsSeparatedBy(i,"||"),")"],a=this.source.functionCall(o,"call",n.callParams);this.push(a)},itemsSeparatedBy:function(t,e){var r=[];r.push(t[0]);for(var s=1;s<t.length;s++)r.push(e,t[s]);return r},invokeKnownHelper:function(t,e){var r=this.setupHelper(t,e);this.push(this.source.functionCall(r.name,"call",r.callParams))},invokeAmbiguous:function(t,e){this.useRegister("helper");var r=this.popStack();this.emptyHash();var s=this.setupHelper(0,t,e),n=["(","(helper = ",this.lastHelper=this.nameLookup("helpers",t,"helper")," || ",r,")"];this.options.strict||(n[0]="(helper = ",n.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",n,s.paramsInit?["),(",s.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",s.callParams)," : helper))"])},invokePartial:function(t,e,r){var s=[],n=this.setupParams(e,1,s);t&&(e=this.popStack(),delete n.name),r&&(n.indent=JSON.stringify(r)),n.helpers="helpers",n.partials="partials",n.decorators="container.decorators",t?s.unshift(e):s.unshift(this.nameLookup("partials",e,"partial")),this.options.compat&&(n.depths="depths"),n=this.objectLiteral(n),s.push(n),this.push(this.source.functionCall("container.invokePartial","",s))},assignToHash:function(t){var e=this.popStack(),r=void 0,s=void 0,n=void 0;this.trackIds&&(n=this.popStack()),this.stringParams&&(s=this.popStack(),r=this.popStack());var i=this.hash;r&&(i.contexts[t]=r),s&&(i.types[t]=s),n&&(i.ids[t]=n),i.values[t]=e},pushId:function(t,e,r){"BlockParam"===t?this.pushStackLiteral("blockParams["+e[0]+"].path["+e[1]+"]"+(r?" + "+JSON.stringify("."+r):"")):"PathExpression"===t?this.pushString(e):"SubExpression"===t?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:u,compileChildren:function(t,e){for(var r=t.children,s=void 0,n=void 0,i=0,o=r.length;i<o;i++){s=r[i],n=new this.compiler;var a=this.matchExistingProgram(s);if(null==a){this.context.programs.push("");var c=this.context.programs.length;s.index=c,s.name="program"+c,this.context.programs[c]=n.compile(s,e,this.context,!this.prec
vendor: 1,530 bytes, line 1339
1339ompile),this.context.decorators[c]=n.decorators,this.context.environments[c]=s,this.useDepths=this.useDepths||n.useDepths,this.useBlockParams=this.useBlockParams||n.useBlockParams,s.useDepths=this.useDepths,s.useBlockParams=this.useBlockParams}else s.index=a.index,s.name="program"+a.index,this.useDepths=this.useDepths||a.useDepths,this.useBlockParams=this.useBlockParams||a.useBlockParams}},matchExistingProgram:function(t){for(var e=0,r=this.context.environments.length;e<r;e++){var s=this.context.environments[e];if(s&&s.equals(t))return s}},programExpression:function(t){var e=this.environment.children[t],r=[e.index,"data",e.blockParams];return(this.useBlockParams||this.useDepths)&&r.push("blockParams"),this.useDepths&&r.push("depths"),"container.program("+r.join(", ")+")"},useRegister:function(t){this.registers[t]||(this.registers[t]=!0,this.registers.list.push(t))},push:function(t){return t instanceof l||(t=this.source.wrap(t)),this.inlineStack.push(t),t},pushStackLiteral:function(t){this.push(new l(t))},pushSource:function(t){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),t&&this.source.push(t)},replaceStack:function(t){var e=["("],r=void 0,s=void 0,n=void 0;if(!this.isInline())throw new o.default("replaceStack on non-inline");var i=this.popStack(!0);if(i instanceof l)e=["(",r=[i.value]],n=!0;else{s=!0;var a=this.incrStack();e=["((",this.push(a)," = ",i,")"],r=this.topStack()}var c=t.call(this,r);
vendor: 4,723 bytes, line 1339
1339n||this.popStack(),s&&this.stackSlot--,this.push(e.concat(c,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var e=0,r=t.length;e<r;e++){var s=t[e];if(s instanceof l)this.compileStack.push(s);else{var n=this.incrStack();this.pushSource([n," = ",s,";"]),this.compileStack.push(n)}}},isInline:function(){return this.inlineStack.length},popStack:function(t){var e=this.isInline(),r=(e?this.inlineStack:this.compileStack).pop();if(!t&&r instanceof l)return r.value;if(!e){if(!this.stackSlot)throw new o.default("Invalid stack pop");this.stackSlot--}return r},topStack:function(){var t=this.isInline()?this.inlineStack:this.compileStack,e=t[t.length-1];return e instanceof l?e.value:e},contextName:function(t){return this.useDepths&&t?"depths["+t+"]":"depth"+t},quotedString:function(t){return this.source.quotedString(t)},objectLiteral:function(t){return this.source.objectLiteral(t)},aliasable:function(t){var e=this.aliases[t];return e?(e.referenceCount++,e):((e=this.aliases[t]=this.source.wrap(t)).aliasable=!0,e.referenceCount=1,e)},setupHelper:function(t,e,r){var s=[];return{params:s,paramsInit:this.setupHelperArgs(e,t,s,r),name:this.nameLookup("helpers",e,"helper"),callParams:[this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : (container.nullContext || {})")].concat(s)}},setupParams:function(t,e,r){var s={},n=[],i=[],o=[],a=!r,c=void 0;a&&(r=[]),s.name=this.quotedString(t),s.hash=this.popStack(),this.trackIds&&(s.hashIds=this.popStack()),this.stringParams&&(s.hashTypes=this.popStack(),s.hashContexts=this.popStack());var l=this.popStack(),u=this.popStack();(u||l)&&(s.fn=u||"container.noop",s.inverse=l||"container.noop");for(var p=e;p--;)c=this.popStack(),r[p]=c,this.trackIds&&(o[p]=this.popStack()),this.stringParams&&(i[p]=this.popStack(),n[p]=this.popStack());return a&&(s.args=this.source.generateArray(r)),this.trackIds&&(s.ids=this.source.generateArray(o)),this.stringParams&&(s.types=this.source.generateArray(i),s.contexts=this.source.generateArray(n)),this.options.data&&(s.data="data"),this.useBlockParams&&(s.blockParams="blockParams"),s},setupHelperArgs:function(t,e,r,s){var n=this.setupParams(t,e,r);return n.loc=JSON.stringify(this.source.currentLocation),n=this.objectLiteral(n),s?(this.useRegister("options"),r.push("options"),["options=",n]):r?(r.push(n),""):n}},function(){for(var t="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),e=u.RESERVED_WORDS={},r=0,s=t.length;r<s;r++)e[t[r]]=!0}(),u.isValidJavaScriptVariableName=function(t){return!u.RESERVED_WORDS[t]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(t)},e.default=u,t.exports=e.default},function(t,e,r){"use strict";var s=r(13).default;e.__esModule=!0;var n=r(5),i=void 0;try{}catch(t){}function o(t,e,r){if(n.isArray(t)){for(var s=[],i=0,o=t.length;i<o;i++)s.push(e.wrap(t[i],r));return s}return"boolean"==typeof t||"number"==typeof t?t+"":t}function a(t){this.srcFile=t,this.source=[]}i||((i=function(t,e,r,s){this.src="",s&&this.add(s)}).prototype={add:function(t){n.isArray(t)&&(t=t.join("")),this.src+=t},prepend:function(t){n.isArray(t)&&(t=t.join("")),this.src=t+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),a.prototype={isEmpty:function(){return!this.source.length},prepend:function(t,e){this.source.unshift(this.wrap(t,e))},push:function(t,e){this.source.push(this.wrap(t,e))},merge:function(){var t=this.empty();return this.each(function(e){t.add([" ",e,"\n"])}),t},each:function(t){for(var e=0,r=this.source.length;e<r;e++)t(this.source[e])},empty:function(){var t=this.currentLocation||{start:{}};return new i(t.start.line,t.start.column,this.srcFile)},wrap:function(t){var e=arguments.length<=1||void 0===arguments[1]?this.currentLocation||{start:{}}:arguments[1];return t instanceof i?t:(t=o(t,this,e),new i(e.start.line,e.start.column,this.srcFile,t))},functionCall:function(t,e,r){return r=this.generateList(r),this.wrap([t,e?"."+e+"(":"(",r,")"])},quotedString:function(t){return'"'+(t+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'}
1339,objectLiteral:function(t){var e=this,r=[];s(t).forEach(function(s){var n=o(t[s],e);"undefined"!==n&&r.push([e.quotedString(s),":",n])});var n=this.generateList(r);return n.prepend("{"),n.add("}"),n},generateList:function(t){for(var e=this.empty(),r=0,s=t.length;r<s;r++)r&&e.add(","),e.add(o(t[r],this));return e},generateArray:function(t){var e=this.generateList(t);return e.prepend("["),e.add("]"),e}},e.default=a,t.exports=e.default}])}); 1340 /*============================================================================ 1341 Ajaxcartfy - thuongdq 1342==============================================================================*/ 1343 window.theme = window.theme || {}; 1344var wW = $(window).width(); 1345var timeout; 1346 1347$('.img_hover_cart').click(function(){ 1348 $('.cart-sidebar, .backdrop__body-backdrop___1rvky').addClass('active'); 1349}); 1350 1351$(document).on('click','.backdrop__body-backdrop___1rvky, .cart_btn-close', function() { 1352 $('.backdrop__body-backdrop___1rvky, .cart-sidebar, #popup-cart-desktop, .popup-cart-mobile').removeClass('active'); 1353 return false; 1354}) 1355 1356 1357 1358Bizweb.addItemFromForm = function(form, callback, errorCallback) { 1359 var params = { 1360 type: 'POST', 1361 url: '/cart/add.js', 1362 data: jQuery(form).serialize(), 1363 dataType: 'json', 1364 success: function(line_item) { 1365 if ((typeof callback) === 'function') { 1366 callback(line_item, form); 1367 $('.popup-cart-mobile, .backdrop__body-backdrop___1rvky').addClass('active'); 1368 AddCartMobile(line_item); 1369 } 1370 /* 1371 else { 1372 Bizweb.onItemAdded(line_item, form); 1373 $('#popup-cart-desktops, .cart-sidebar, .backdrop__body-backdrop___1rvky').addClass('active'); 1374 } 1375 */ 1376 }, 1377 error: function(XMLHttpRequest, textStatus) { 1378 if ((typeof errorCallback) === 'function') { 1379 errorCallback(XMLHttpRequest, textStatus); 1380 } 1381 else { 1382 Bizweb.onError(XMLHttpRequest, textStatus); 1383 } 1384 } 1385 }; 1386 jQuery.ajax(params); 1387}; 1388 1389/*======================== 1390Popup cart mobile 1391=========================*/ 1392function AddCartMobile(line_item) { 1393 $('.bodycart-mobile').html(''); 1394 var imagepop = Bizweb.resizeImage(line_item.image, 'compact'); 1395 if(imagepop=="null" || imagepop =='' || imagepop ==null){ 1396 imagepop = 'https://bizweb.dktcdn.net/thumb/compact/assets/themes_support/noimage.gif'; 1397 } 1398 var quatang = ""; 1399 if(line_item.properties['Quà tặng'] == "" || line_item.properties['Quà tặng'] == undefined){ 1400 quatang= ""; 1401 }else{ 1402 quatang = "Quà tặng: " + line_item.properties['Quà tặng']; 1403 } 1404 var variant_title = line_item.variant_title; 1405 if (variant_title === 'Default Title') 1406 variant_title = ''; 1407 var carttem = '' 1408 + '<div class="thumb-1x1">' 1409 + '<img src="'+imagepop+'" alt="'+line_item.title+'">' 1410 + '</div>' 1411 + '<div class="body_content">' 1412 + '<h4 class="product-title">'+line_item.title+'</h4>' 1413 + '<div class="product-new-price">' 1414 + '<b>'+ Bizweb.formatMoney(line_item.price, "{{amount_no_decimals_with_comma_separator}}Ä") + '</b>' 1415 + '<span>'+variant_title+'</span>' 1416 + '</div>' 1417 + '<span class="product-qua-tang">'+quatang+'</span>' 1418 + '</div>'; 1419 $('.bodycart-mobile').append(carttem); 1420} 1421 1422/*============================================================================ 1423 Override POST to cart/change.js. Returns cart JSON. 1424 - Use product's line in the cart instead of ID so custom 1425 product properties are supported. 1426==============================================================================*/ 1427Bizweb.changeItem = function(line, quantity, callback) { 1428 var params = { 1429 type: 'POST', 1430 url: '/cart/change.js', 1431 data: 'quantity=' + quantity + '&line=' + line, 1432 dataType: 'json', 1433 success: function(cart) { 1434 if ((typeof callback) === 'function') { 1435 callback(cart); 1436 } 1437 else { 1438 Bizweb.onCartUpdate(cart); 1439 } 1440 }, 1441 error: function(XMLHttpRequest, textStatus) { 1442 Bizweb.onError(XMLHttpRequest, textStatus); 1443 } 1444 }; 1445 jQuery.ajax(params); 1446}; 1447 1448/*============================================================================ 1449 GET cart.js returns the cart in JSON. 1450==============================================================================*/ 1451Bizweb.getCart = function(callback) { 1452 jQuery.getJSON('/cart.js', function (cart, textStatus) { 1453 if ((typeof callback) === 'function') { 1454 callback(cart); 1455 } 1456 else { 1457 Bizweb.onCartUpdate(cart); 1458 } 1459 }); 1460}; 1461 1462/*============================================================================ 1463 Ajax Bizweb Add To Cart 1464==============================================================================*/ 1465var ajaxCart = (function(module, $) { 1466 1467 'use strict'; 1468 1469 // Public functions 1470 var init, loadCart; 1471 1472 // Private general variables 1473 var settings, isUpdating, $body; 1474 1475 // Private plugin variables 1476 var $formContainer, $errorsContainer, $addToCart, $cartCountSelector, $nameItemAdd, $cartCostSelector, $cartContainer, $cartContainerMobile, $cartContainerPage, $cartPopup, $cartContainerHeader, $cartContainerSidebar, $countItem; 1477 1478 // Private functions 1479 var updateCountPrice, formOverride, itemAddedCallback, itemAddedNoti, itemErrorCallback, cartUpdateCallback, buildCart, cartCallback, adjustCart, adjustCartCallback, qtySelectors, validateQty; 1480 1481 /*============================================================================ 1482 Initialise the plugin and define global options 1483 ==============================================================================*/ 1484 init = function (options) { 1485 1486 // Default settings 1487 settings = { 1488 formSelector : '[data-cart-form]', 1489 errorSelector : '.product-single__errors', 1490 cartContainer : '.CartSideContainer, .CartPageContainer, .CartHeaderContainer, .cartPopupContainer, .CartMobileContainer', 1491 cartContainerSidebar : '.CartSideContainer', 1492 cartContainerPage : '.CartPageContainer', 1493 cartContainerMobile : '.CartMobileContainer', 1494 cartContainerHeader : '.CartHeaderContainer', 1495 cartContainerPopup : '.cartPopupContainer', 1496 addToCartSelector : '.add_to_cart', 1497 countItem : '.count_item_pr', 1498 cartCountSelector : '.count_item_pr', 1499 nameItemAdd : '.cart-popup-name', 1500 cartCostSelector : null, 1501 moneyFormat : '${{amount_no_decimals_with_comma_separator}}Ä', 1502 disableAjaxCart : false, 1503 enableQtySelectors : true 1504 }; 1505 1506 // Override defaults with arguments 1507 $.extend(settings, options); 1508 1509 // Select DOM elements 1510 $formContainer = $(settings.formSelector); 1511 $errorsContainer = $(settings.errorSelector); 1512 $cartContainer = $(settings.cartContainer); 1513 $cartContainerSidebar = $(settings.cartContainerSidebar); 1514 $cartContainerPage = $(settings.cartContainerPage); 1515 $cartContainerMobile = $(settings.cartContainerMobile); 1516 $cartContainerHeader = $(settings.cartContainerHeader); 1517 $cartPopup = $(settings.cartContainerPopup); 1518 $addToCart = $formContainer.find(settings.addToCartSelector); 1519 $nameItemAdd = $(settings.nameItemAdd); 1520 $cartCountSelector = $(settings.cartCountSelector); 1521 $cartCostSelector = $(settings.cartCostSelector); 1522 $countItem = $(settings.countItem); 1523 1524 // General Selectors 1525 $body = $('body'); 1526 1527 // Track cart activity status 1528 isUpdating = false;
1529 1530 // Setup ajax quantity selectors on the any template if enableQtySelectors is true 1531 if (settings.enableQtySelectors) { 1532 qtySelectors(); 1533 } 1534 1535 // Take over the add to cart form submit action if ajax enabled 1536 if (!settings.disableAjaxCart && $addToCart.length) { 1537 formOverride(); 1538 } 1539 1540 // Run this function in case we're using the quantity selector outside of the cart 1541 adjustCart(); 1542 }; 1543 1544 loadCart = function () { 1545 Bizweb.getCart(cartUpdateCallback); 1546 }; 1547 1548 updateCountPrice = function (cart) { 1549 if ($cartCountSelector) { 1550 $cartCountSelector.html(cart.item_count).removeClass('hidden-count'); 1551 1552 if (cart.item_count === 0) { 1553 $cartCountSelector.addClass('hidden-count'); 1554 } 1555 } 1556 1557 if ($cartCostSelector) { 1558 $cartCostSelector.html(Bizweb.formatMoney(cart.total_price, settings.moneyFormat)); 1559 } 1560 }; 1561 1562 formOverride = function () { 1563 $formContainer.on('submit', function(evt) { 1564 evt.preventDefault(); 1565 $addToCart.removeClass('is-added').addClass('is-adding'); 1566 $('.qty-error').remove(); 1567 Bizweb.addItemFromForm(evt.target, itemAddedCallback, itemErrorCallback); 1568 }); 1569 }; 1570 1571 itemAddedCallback = function (product) { 1572 $addToCart.removeClass('is-adding').addClass('is-added'); 1573 Bizweb.getCart(cartUpdateCallback); 1574 $nameItemAdd.html(product.title).attr('href', product.url, 'title', product.title); 1575 }; 1576 1577 itemErrorCallback = function (XMLHttpRequest, textStatus) { 1578 var data = eval('(' + XMLHttpRequest.responseText + ')'); 1579 $addToCart.removeClass('is-adding is-added'); 1580 1581 $cartContainer.trigger('ajaxCart.updatedQty'); 1582 1583 if (!!data.message) { 1584 if (data.status == 422) { 1585 $errorsContainer.html('<div class="errors qty-error">'+ data.description +'</div>') 1586 } 1587 } 1588 }; 1589 1590 cartUpdateCallback = function (cart) { 1591 // Update quantity and price 1592 updateCountPrice(cart); 1593 buildCart(cart); 1594 1595 }; 1596 1597 buildCart = function (cart) { 1598 // Start with a fresh cart div 1599 var itemListScrollTop = $('.CartHeaderContainer .ajaxcart__inner').scrollTop(), 1600 itemPopupScrollTop = $('.cartPopupContainer .ajaxcart__inner').scrollTop(), 1601 itemSideCartScrollTop = $('.CartSideContainer .ajaxcart__inner').scrollTop(); 1602 $cartContainer.empty(); 1603 1604 // Show empty cart 1605 if (cart.item_count === 0) { 1606 $cartContainer 1607 .append('<div class="cart--empty-message"><img width="32" height="32" src="https://bizweb.dktcdn.net/100/479/509/themes/897806/assets/no-cart.png?1677998172667"/><p>Không có sản phẩm nà o trong giá» hà ng cá»§a bạn</p></div>'); 1608 $countItem.html('0'); 1609 $('.cartbar-mobile').attr('data-count-pr', '0'); 1610 $('.col-cart-left').removeClass('col-xl-9'); 1611 $('.col-cart-left').removeClass('col-lg-8'); 1612 $('.col-cart-right').addClass('d-none'); 1613 cartCallback(cart); 1614 return; 1615 }else{ 1616 $('.col-cart-right').removeClass('d-none'); 1617 } 1618 1619 freeShipping(cart.total_price); 1620 1621 // Handlebars.js cart layout 1622 var wW = $(window).width(), 1623 items = [], 1624 item = {}, 1625 data = {}, 1626 sourceSideCart = $("#SideCartTemplate").html(), // lấy template sidebar cart 1627 sourceCartTemp = $("#CartTemplate").html(), // lấy template page cart 1628 sourceCartMobileTemp = $("#CartMobileTemplate").html(), // lấy template page cart mobile 1629 sourceCartHeaderTemp = $("#CartHeaderTemplate").html(), // lấy template header cart 1630 sourceCartPopTemp = $("#CartPopupTemplate").html(), // lấy template popup cart 1631 templateSideCart = Handlebars.compile(sourceSideCart), // biên dá»ch 1632 templateCartPage = Handlebars.compile(sourceCartTemp), // biên dá»ch 1633 templateCartPop = Handlebars.compile(sourceCartPopTemp), // biên dá»ch 1634 templateCartMobile = Handlebars.compile(sourceCartMobileTemp), 1635 templateCartHeader = Handlebars.compile(sourceCartHeaderTemp); // biên dá»ch 1636 1637 // Add each item to our handlebars.js data 1638 $.each(cart.items, function(index, cartItem) { 1639 1640 // lấy ảnh check xem có ảnh không 1641 var prodImg = Bizweb.resizeImage(cartItem.image, 'compact'); 1642 if(prodImg=="null" || prodImg =='' || prodImg ==null){ 1643 prodImg = 'https://bizweb.dktcdn.net/thumb/compact/assets/themes_support/noimage.gif'; 1644 } 1645 1646 // lấy properties cart 1647 1648 if (cartItem.properties !== null) { 1649 $.each(cartItem.properties, function(key, value) { 1650 if (key.charAt(0) === '_' || !value) { 1651 delete cartItem.properties[key]; 1652 } 1653 }); 1654 } 1655 1656 1657 var unitPrice = null; 1658 if (cartItem.unit_price_measurement) { 1659 unitPrice = { 1660 addRefererenceValue: 1661 cartItem.unit_price_measurement.reference_value !== 1, 1662 price: Bizweb.formatMoney( 1663 cartItem.unit_price, settings.moneyFormat 1664 ), 1665 reference_value: cartItem.unit_price_measurement.reference_value, 1666 reference_unit: cartItem.unit_price_measurement.reference_unit 1667 }; 1668 } 1669 // Create item's data object and add to 'items' array 1670 // check variant title có không 1671 var variant_title = cartItem.variant_title; 1672 if (variant_title === 'Default Title') 1673 variant_title = ''; 1674 // gán giá trá» cho từng key cá»§a template 1675 item = { 1676 key: cartItem.key, 1677 line: index + 1, // Bizweb uses a 1+ index in the API 1678 url: cartItem.url, 1679 key: cartItem.key, 1680 img: prodImg, 1681 name: cartItem.title, 1682 variation: variant_title, 1683 quatang:cartItem.properties['Quà tặng'], 1684 properties: cartItem.properties, 1685 sellingPlanAllocation: cartItem.selling_plan_allocation, 1686 itemAdd: cartItem.quantity + 1, 1687 itemMinus: cartItem.quantity - 1, 1688 itemQty: cartItem.quantity, 1689 price: Bizweb.formatMoney(cartItem.price, settings.moneyFormat), 1690 vendor: cartItem.vendor, 1691 unitPrice: unitPrice, 1692 linePrice: Bizweb.formatMoney(cartItem.line_price, settings.moneyFormat), 1693 originalLinePrice: Bizweb.formatMoney(cartItem.original_line_price, settings.moneyFormat) 1694 }; 1695 1696 items.push(item); 1697 }); 1698 1699 // Gather all cart data and add to DOM 1700 // Xuất items, ghi chú, tá»ng giác 1701 data = { 1702 items: items, 1703 note: cart.note, 1704 totalPrice: Bizweb.formatMoney(cart.total_price, settings.moneyFormat) 1705 } 1706 1707 if (wW < 1199) { 1708 $cartContainerMobile.append(templateCartMobile(data)); // chèn line item và o template cart mobile 1709 } 1710 if (wW > 992) { 1711 $cartContainerHeader.append(templateCartHeader(data)); // chèn line item và o template cart header 1712 } 1713 if (wW > 1200) { 1714 $cartContainerPage.append(templateCartPage(data)); // chèn line item và o template cart page 1715 $cartPopup.append(templateCartPop(data)); // chèn line item và o template cart header 1716 } 1717 $cartContainerSidebar.append(templateSideCart(data)); // chèn line item và o template cart sidebar 1718 $countItem.html(cart.item_count); // Äếm sá» lượng sp Äang có trong giá» hà ng 1719 $('.cartbar-mobile').attr('data-count-pr', cart.item_count); 1720 1721 $('.CartHeaderContainer .ajaxcart__inner').scrollTop(itemListScrollTop); 1722 $('.cartPopupContainer .ajaxcart__inner').scrollTop(itemPopupScrollTop); 1723 $('.CartSideContainer .ajaxcart__inner').scrollTop(itemSideCartScrollTop); 1724 cartCallback(cart); 1725 }; 1726 cartCallback = function(cart) {
1727 $cartContainer.trigger('ajaxCart', cart); 1728 }; 1729 1730 adjustCart = function () { 1731 // Delegate all events because elements reload with the cart 1732 1733 // Thêm giảm sá» lượng 1734 $cartContainer.on('click', '.items-count', function() { 1735 if (isUpdating) return; 1736 1737 1738 var $el = $(this), 1739 line = $el.data('line'), 1740 $qtySelector = $el.siblings('.number-sidebar'), 1741 qty = parseInt($qtySelector.val().replace(/\D/g, '')); 1742 1743 var qty = validateQty(qty); 1744 1745 // Add or subtract from the current quantity 1746 if ($el.hasClass('ajaxcart__qty--plus')) { 1747 qty += 1; 1748 } else { 1749 qty -= 1; 1750 if (qty <= 0) qty = 0; 1751 } 1752 1753 // If it has a data-line, update the cart. 1754 // Otherwise, just update the input's number 1755 if (line) { 1756 updateQuantity(line, qty); 1757 } else { 1758 $qtySelector.val(qty); 1759 } 1760 }); 1761 1762 // Update quantity based on input on change 1763 $cartContainer.on('change', '.number-sidebar', function() { 1764 if (isUpdating) return; 1765 1766 var $el = $(this), 1767 line = $el.data('line'), 1768 qty = parseInt($el.val().replace(/\D/g, '')); 1769 1770 var qty = validateQty(qty); 1771 1772 // If it has a data-line, update the cart 1773 if (line) { 1774 updateQuantity(line, qty); 1775 } 1776 }); 1777 1778 $cartContainer.on('click', '.remove-item-cart', function(evt) { 1779 var $el = $(this), 1780 line = $el.data('line'), 1781 qty = 0; 1782 if(line) { 1783 updateQuantity(line, qty); 1784 } 1785 }); 1786 1787 $cartContainer.on('focus', '.number-sidebar', function(evt) { 1788 var $el = $(evt.target); 1789 $el[0].setSelectionRange(0, $el[0].value.length); 1790 }); 1791 1792 // Prevent cart from being submitted while quantities are changing 1793 $cartContainer.on('submit', 'form.ajaxcart', function(evt) { 1794 if (isUpdating) { 1795 evt.preventDefault(); 1796 } 1797 }); 1798 1799 // Highlight the text when focused 1800 $cartContainer.on('focus', '.items-count', function() { 1801 var $el = $(this); 1802 setTimeout(function() { 1803 $el.select(); 1804 }, 50); 1805 }); 1806 1807 function updateQuantity(line, qty) { 1808 isUpdating = true; 1809 1810 if(line === 1 && qty === 0) { 1811 $('.box-free-ship').addClass('not-add-to-cart'); 1812 } 1813 1814 // Add activity classes when changing cart quantities 1815 var $product = $('.ajaxcart__product[data-line="' + line + '"]').addClass('is-loading'); 1816 1817 if (qty === 0) { 1818 $product.parent().addClass('is-removed'); 1819 } 1820 1821 // Slight delay to make sure removed animation is done 1822 setTimeout(function() { 1823 Bizweb.changeItem(line, qty, adjustCartCallback); 1824 }, 10); 1825 1826 $cartContainer.trigger('ajaxCart.updatingQty'); 1827 } 1828 1829 // Save note anytime it's changed 1830 $cartContainer.on('change', 'textarea[name="note"]', function() { 1831 var newNote = $(this).val(); 1832 1833 // Update the cart note in case they don't click update/checkout 1834 Bizweb.updateCartNote(newNote, function(cart) {}); 1835 }); 1836 }; 1837 1838 adjustCartCallback = function (cart) { 1839 // Update quantity and price 1840 updateCountPrice(cart); 1841 1842 // Reprint cart on short timeout so you don't see the content being removed 1843 setTimeout(function() { 1844 isUpdating = false; 1845 1846 Bizweb.getCart(buildCart); 1847 }, 150) 1848 }; 1849 1850 qtySelectors = function() { 1851 // Change number inputs to JS ones, similar to ajax cart but without API integration. 1852 // Make sure to add the existing name and id to the new input element 1853 var numInputs = $('input[type="number"][data-ajax-qty]'); 1854 1855 // Qty selector has a minimum of 1 on the product page 1856 // and 0 in the cart (determined on qty click) 1857 var qtyMin = 0; 1858 1859 if (numInputs.length) { 1860 numInputs.each(function() { 1861 var $el = $(this), 1862 currentQty = $el.val(), 1863 inputName = $el.attr('name'), 1864 inputId = $el.attr('id'); 1865 1866 var itemAdd = currentQty + 1, 1867 itemMinus = currentQty - 1, 1868 itemQty = currentQty; 1869 1870 var source = $("#JsQty").html(), 1871 template = Handlebars.compile(source), 1872 data = { 1873 key: $el.data('id'), 1874 itemQty: itemQty, 1875 itemAdd: itemAdd, 1876 itemMinus: itemMinus, 1877 inputName: inputName, 1878 inputId: inputId 1879 }; 1880 1881 // Append new quantity selector then remove original 1882 $el.after(template(data)).remove(); 1883 }); 1884 1885 // Setup listeners to add/subtract from the input 1886 $('.js-qty__adjust').on('click', function() { 1887 var $el = $(this), 1888 id = $el.data('id'), 1889 $qtySelector = $el.siblings('.js-qty__num'), 1890 qty = parseInt($qtySelector.val().replace(/\D/g, '')); 1891 1892 var qty = validateQty(qty); 1893 qtyMin = $body.hasClass('template-product') ? 1 : qtyMin; 1894 1895 // Add or subtract from the current quantity 1896 if ($el.hasClass('js-qty__adjust--plus')) { 1897 qty += 1; 1898 } else { 1899 qty -= 1; 1900 if (qty <= qtyMin) qty = qtyMin; 1901 } 1902 1903 // Update the input's number 1904 $qtySelector.val(qty); 1905 }); 1906 } 1907 }; 1908 1909 validateQty = function (qty) { 1910 if((parseFloat(qty) == parseInt(qty)) && !isNaN(qty)) { 1911 // We have a valid number! 1912 } else { 1913 // Not a number. Default to 1. 1914 qty = 1; 1915 } 1916 return qty; 1917 }; 1918 1919 module = { 1920 init: init, 1921 load: loadCart 1922 }; 1923 1924 return module; 1925 1926}(ajaxCart || {}, jQuery)); 1927 1928 1929$(window).on('load', function() { 1930 ajaxCart.init({ 1931 moneyFormat: '{{amount_no_decimals_with_comma_separator}}Ä' 1932 }); 1933 ajaxCart.load(); 1934}); 1935 1936 $(document).ready(function ($){ 1937 freeShipping(0); 1938 }); 1939 function freeShipping(price){ 1940 var $freeShippingClass = $('.js-free-shipping'), 1941 $freeShippingTextClass = $('.js-free-shipping-text'), 1942 minOrderValue = parseInt($freeShippingClass.data('value')) || 0, 1943 $percentClass = $('.js-free-shipping .progress-bar'); 1944 var priceCart = price; 1945 if(priceCart == 0) { 1946 $('.box-free-ship').addClass('not-add-to-cart'); 1947 }else { 1948 $('.box-free-ship').removeClass('not-add-to-cart'); 1949 if (priceCart >= minOrderValue){ 1950 $percentClass.css('width','100%').removeClass('progress-bar-striped bg-warning').addClass('bg-success progress-bar-striped'); 1951 $freeShippingTextClass.html('<span class="white">ÄÆ¡n hà ng ÄÆ°á»£c miá» n phà váºn chuyá»n<span>') 1952 }else{ 1953 let percent = priceCart / minOrderValue * 100; 1954 let left = Bizweb.formatMoney((minOrderValue - priceCart),"{{amount_no_decimals_with_comma_separator}}Ä"); 1955 $percentClass.css('width',percent+'%').removeClass('bg-success progress-bar-striped').addClass('progress-bar-striped bg-warning'); 1956 $freeShippingTextClass.html('Mua tá»i thiá»u '+left+' Äá» ÄÆ°á»£c <b>MIá»N PHà VẬN CHUYá»N</b>'); 1957 } 1958 } 1959 } 1960 1961 1962</script>
vendor: 1 bytes, line 1962
1962
1963<script id="SideCartTemplate" type="text/template"> 1964 1965<form action="/cart" method="post" novalidate class="cart ajaxcart"> 1966 <div class="ajaxcart__inner ajaxcart__inner--has-fixed-footer cart_body items"> 1967 {{#items}} 1968 <div class="ajaxcart__row"> 1969 <div class="ajaxcart__product cart_product" data-line="{{line}}"> 1970 <a href="{{url}}" class="ajaxcart__product-image cart_image" title="{{name}}"><img width="80" height="80" src="{{img}}" alt="{{name}}"></a> 1971 <div class="grid__item cart_info"> 1972 <div class="ajaxcart__product-name-wrapper cart_name"> 1973 <a href="{{url}}" class="ajaxcart__product-name h4" title="{{name}}">{{name}}</a> 1974 {{#if variation}} 1975 <span class="ajaxcart__product-meta variant-title">{{variation}}</span> 1976 {{/if}} 1977 </div> 1978 <div class="grid"> 1979 <div class="grid__item one-half cart_select cart_item_name"> 1980 <label class="cart_quantity">Sá» lượng</label> 1981 <div class="ajaxcart__qty input-group-btn"> 1982 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus items-count" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}" aria-label="-"> 1983 - 1984 </button> 1985 <input type="text" name="updates[]" class="ajaxcart__qty-num number-sidebar" maxlength="3" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*"> 1986 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus items-count" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}" aria-label="+"> 1987 + 1988 </button> 1989 </div> 1990 </div> 1991 <div class="grid__item one-half text-right cart_prices"> 1992 <span class="cart-price">{{price}}</span> 1993 <a title="Xóa" class="cart__btn-remove remove-item-cart ajaxifyCart--remove" href="javascript:;" data-line="{{line}}">Xóa</a> 1994 </div> 1995 </div> 1996 {{#if discountsApplied}} 1997 <div class="grid grid--table"> 1998 <div class="grid__item text-right"> 1999 <ul class="order-discount order-discount--list order-discount--title order-discount--cart order-discount--cart-title" aria-label="Giảm giá"> 2000 {{#each discounts}} 2001 <li class="order-discount__item"> 2002 <span class="icon icon-saletag" aria-hidden="true"></span>{{ this.discount_application.title }} (-{{{ this.formattedAmount }}}) 2003 </li> 2004 {{/each}} 2005 </ul> 2006 </div> 2007 </div> 2008 {{/if}} 2009 </div> 2010 </div> 2011 </div> 2012 {{/items}} 2013 2014 2015 </div> 2016 <div class="ajaxcart__footer ajaxcart__footer--fixed cart-footer"> 2017 <div class="ajaxcart__subtotal"> 2018 {{#if cartDiscountsApplied}} 2019 <div class="grid grid--table ajaxcart__discounts"> 2020 {{#each cartDiscounts}} 2021 <div class="grid__item two-thirds"> 2022 <span class="order-discount order-discount--title order-discount--cart-title"> 2023 <span class="icon icon-saletag" aria-hidden="true"></span><span class="visually-hidden">%:</span>{{ this.title }} 2024 </span> 2025 </div> 2026 <div class="grid__item one-third text-right"> 2027 <span class="order-discount">-{{{ this.formattedAmount }}}</span> 2028 </div> 2029 {{/each}} 2030 </div> 2031 {{/if}} 2032 <div class="cart__subtotal"> 2033 <div class="cart__col-6">Tá»ng tiá»n:</div> 2034 <div class="text-right cart__totle"><span class="total-price">{{{totalPrice}}}</span></div> 2035 </div> 2036 </div> 2037 <div class="cart__btn-proceed-checkout-dt"> 2038 <button onclick="location.href='/checkout'" type="button" class="button btn btn-default cart__btn-proceed-checkout" id="btn-proceed-checkout" title="Thanh toán">Thanh toán</button> 2039 </div> 2040 </div> 2041 </form> 2042 2043 2044</script>
2044 2045
2046<script id="CartTemplate" type="text/template"> 2047 2048<form action="/cart" method="post" novalidate class="cart ajaxcart cartpage"> 2049 <div class="cart-header-info"> 2050 <div>Thông tin sản phẩm</div><div>ÄÆ¡n giá</div><div>Sá» lượng</div><div>Thà nh tiá»n</div> 2051 </div> 2052 <div class="ajaxcart__inner ajaxcart__inner--has-fixed-footer cart_body items"> 2053 {{#items}} 2054 <div class="ajaxcart__row"> 2055 <div class="ajaxcart__product cart_product" data-line="{{line}}"> 2056 <a href="{{url}}" class="ajaxcart__product-image cart_image" title="{{name}}"><img src="{{img}}" alt="{{name}}"></a> 2057 <div class="grid__item cart_info"> 2058 <div class="ajaxcart__product-name-wrapper cart_name"> 2059 <a href="{{url}}" class="ajaxcart__product-name h4" title="{{name}}">{{name}}</a> 2060 {{#if variation}} 2061 <span class="ajaxcart__product-meta variant-title">{{variation}}</span> 2062 {{/if}} 2063 {{#if quatang}} 2064 <span class="ajaxcart__product-properties">Quà tặng: {{quatang}}</span> 2065 {{/if}} 2066 <a title="Xóa" class="cart__btn-remove remove-item-cart ajaxifyCart--remove" href="javascript:;" data-line="{{line}}">Xóa</a> 2067 2068 </div> 2069 <div class="grid"> 2070 <div class="grid__item one-half text-right cart_prices"> 2071 <span class="cart-price">{{price}}</span> 2072 </div> 2073 </div> 2074 <div class="grid"> 2075 <div class="grid__item one-half cart_select"> 2076 <div class="ajaxcart__qty input-group-btn"> 2077 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus items-count" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}" aria-label="-"> 2078 - 2079 </button> 2080 <input type="text" name="updates[]" class="ajaxcart__qty-num number-sidebar" maxlength="3" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*"> 2081 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus items-count" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}" aria-label="+"> 2082 + 2083 </button> 2084 </div> 2085 </div> 2086 </div> 2087 <div class="grid"> 2088 <div class="grid__item one-half text-right cart_prices"> 2089 <span class="cart-price">{{linePrice}}</span> 2090 2091 </div> 2092 </div> 2093 </div> 2094 </div> 2095 </div> 2096 {{/items}} 2097 2098 2099 </div> 2100 <div class="ajaxcart__footer ajaxcart__footer--fixed cart-footer"> 2101 <div class="row"> 2102 <div class="col-lg-8 col-12"> 2103 <a class="btn-proceed-checkout btn-checkouts" title="Tiếp tục mua hà ng" href="collections/all">Tiếp tục mua hà ng</a> 2104 </div> 2105 <div class="col-lg-4 col-12"> 2106 <div class="ajaxcart__subtotal"> 2107 {{#if cartDiscountsApplied}} 2108 <div class="grid grid--table ajaxcart__discounts"> 2109 {{#each cartDiscounts}} 2110 <div class="grid__item two-thirds"> 2111 <span class="order-discount order-discount--title order-discount--cart-title"> 2112 <span class="icon icon-saletag" aria-hidden="true"></span><span class="visually-hidden">%:</span>{{ this.title }} 2113 </span> 2114 </div> 2115 <div class="grid__item one-third text-right"> 2116 <span class="order-discount">-{{{ this.formattedAmount }}}</span> 2117 </div> 2118 {{/each}} 2119 </div> 2120 {{/if}} 2121 <div class="cart__subtotal"> 2122 <div class="cart__col-6">Tá»ng tiá»n:</div> 2123 <div class="text-right cart__totle"><span class="total-price">{{{totalPrice}}}</span></div> 2124 </div> 2125 </div> 2126 <div class="cart__btn-proceed-checkout-dt"> 2127 <button onclick='goToCheckout(event)' type="button" class="button btn btn-default cart__btn-proceed-checkout" id="btn-proceed-checkout" title="Thanh toán">Thanh toán</button> 2128 </div> 2129 </div> 2130 </div> 2131 </div> 2132 </form> 2133 2134</script>
vendor: 1 bytes, line 2134
2134
2135<script id="CartHeaderTemplate" type="text/template"> 2136 2137<form action="/cart" method="post" novalidate class="cart ajaxcart cartheader"> 2138 <div class="ajaxcart__inner ajaxcart__inner--has-fixed-footer cart_body items"> 2139 {{#items}} 2140 <div class="ajaxcart__row"> 2141 <div class="ajaxcart__product cart_product" data-line="{{line}}"> 2142 <a href="{{url}}" class="ajaxcart__product-image cart_image" title="{{name}}"><img width="80" height="80" src="{{img}}" alt="{{name}}"></a> 2143 <div class="grid__item cart_info"> 2144 <div class="ajaxcart__product-name-wrapper cart_name"> 2145 <a href="{{url}}" class="ajaxcart__product-name h4" title="{{name}}">{{name}}</a> 2146 {{#if variation}} 2147 <span class="ajaxcart__product-meta variant-title">{{variation}}</span> 2148 {{/if}} 2149 2150 <a title="Xóa" class="cart__btn-remove remove-item-cart ajaxifyCart--remove" href="javascript:;" data-line="{{line}}"></a> 2151 2152 </div> 2153 <div class="grid"> 2154 <div class="grid__item one-half cart_select cart_item_name"> 2155 <div class="ajaxcart__qty input-group-btn"> 2156 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus items-count" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}" aria-label="-"> 2157 - 2158 </button> 2159 <input type="text" name="updates[]" class="ajaxcart__qty-num number-sidebar" maxlength="3" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*"> 2160 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus items-count" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}" aria-label="+"> 2161 + 2162 </button> 2163 </div> 2164 </div> 2165 <div class="grid__item one-half text-right cart_prices"> 2166 <span class="cart-price">{{price}}</span> 2167 </div> 2168 </div> 2169 </div> 2170 </div> 2171 </div> 2172 {{/items}} 2173 </div> 2174 <div class="ajaxcart__footer ajaxcart__footer--fixed cart-footer"> 2175 <div class="ajaxcart__subtotal"> 2176 <div class="cart__subtotal"> 2177 <div class="cart__col-6">Tá»ng tiá»n:</div> 2178 <div class="text-right cart__totle"><span class="total-price">{{{totalPrice}}}</span></div> 2179 </div> 2180 </div> 2181 <div class="cart__btn-proceed-checkout-dt "> 2182 <button onclick="location.href='/checkout'" type="button" class="button btn btn-default cart__btn-proceed-checkout" id="btn-proceed-checkout" title="Thanh toán">Thanh toán</button> 2183 </div> 2184 </div> 2185 </form> 2186 2187 2188</script>
2188 2189
2190<script id="CartPopupTemplate" type="text/template"> 2191 2192<form action="/cart" method="post" novalidate class="cart ajaxcart cartpopup"> 2193 <div class="cart-header-info"> 2194 <div>Thông tin sản phẩm</div><div>ÄÆ¡n giá</div><div>Sá» lượng</div><div>Thà nh tiá»n</div> 2195 </div> 2196 <div class="ajaxcart__inner ajaxcart__inner--has-fixed-footer cart_body items"> 2197 {{#items}} 2198 <div class="ajaxcart__row"> 2199 <div class="ajaxcart__product cart_product" data-line="{{line}}"> 2200 <a href="{{url}}" class="ajaxcart__product-image cart_image" title="{{name}}"><img width="80" height="80" src="{{img}}" alt="{{name}}"></a> 2201 <div class="grid__item cart_info"> 2202 <div class="ajaxcart__product-name-wrapper cart_name"> 2203 <a href="{{url}}" class="ajaxcart__product-name h4" title="{{name}}">{{name}}</a> 2204 {{#if variation}} 2205 <span class="ajaxcart__product-meta variant-title">{{variation}}</span> 2206 {{/if}} 2207 <a title="Xóa" class="cart__btn-remove remove-item-cart ajaxifyCart--remove" href="javascript:;" data-line="{{line}}">Xóa</a> 2208 2209 </div> 2210 <div class="grid"> 2211 <div class="grid__item one-half text-right cart_prices"> 2212 <span class="cart-price">{{price}}</span> 2213 </div> 2214 </div> 2215 <div class="grid"> 2216 <div class="grid__item one-half cart_select"> 2217 <div class="ajaxcart__qty input-group-btn"> 2218 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus items-count" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}" aria-label="-"> 2219 - 2220 </button> 2221 <input type="text" name="updates[]" class="ajaxcart__qty-num number-sidebar" maxlength="3" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*"> 2222 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus items-count" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}" aria-label="+"> 2223 + 2224 </button> 2225 </div> 2226 </div> 2227 </div> 2228 <div class="grid"> 2229 <div class="grid__item one-half text-right cart_prices"> 2230 <span class="cart-price">{{linePrice}}</span> 2231 2232 </div> 2233 </div> 2234 </div> 2235 </div> 2236 </div> 2237 {{/items}} 2238 </div> 2239 <div class="ajaxcart__footer ajaxcart__footer--fixed cart-footer"> 2240 <div class="row"> 2241 <div class="col-lg-4 col-12 offset-md-8 offset-lg-8 offset-xl-8"> 2242 <div class="ajaxcart__subtotal"> 2243 <div class="cart__subtotal"> 2244 <div class="cart__col-6">Tá»ng tiá»n:</div> 2245 <div class="text-right cart__totle"><span class="total-price">{{{totalPrice}}}</span></div> 2246 </div> 2247 </div> 2248 <div class="cart__btn-proceed-checkout-dt"> 2249 <button onclick="location.href='/checkout'" type="button" class="button btn btn-default cart__btn-proceed-checkout" id="btn-proceed-checkout" title="Thanh toán">Thanh toán</button> 2250 </div> 2251 </div> 2252 </div> 2253 </div> 2254 </form> 2255 2256 2257</script>
2257 2258
2259<script id="CartMobileTemplate" type="text/template"> 2260 2261<form action="/cart" method="post" novalidate class="cart ajaxcart cart-mobile"> 2262 <div class="ajaxcart__inner ajaxcart__inner--has-fixed-footer cart_body"> 2263 {{#items}} 2264 <div class="ajaxcart__row"> 2265 <div class="ajaxcart__product cart_product" data-line="{{line}}"> 2266 <a href="{{url}}" class="ajaxcart__product-image cart_image" title="{{name}}"><img width="80" height="80" src="{{img}}" alt="{{name}}"></a> 2267 <div class="grid__item cart_info"> 2268 <div class="ajaxcart__product-name-wrapper cart_name"> 2269 <a href="{{url}}" class="ajaxcart__product-name h4" title="{{name}}">{{name}}</a> 2270 {{#if variation}} 2271 <span class="ajaxcart__product-meta variant-title">{{variation}}</span> 2272 {{/if}} 2273 {{#if quatang}} 2274 <span class="ajaxcart__product-properties">Quà tặng: {{quatang}}</span> 2275 {{/if}} 2276 </div> 2277 <div class="grid"> 2278 <div class="grid__item one-half cart_select cart_item_name"> 2279 <div class="ajaxcart__qty input-group-btn"> 2280 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus items-count" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}" aria-label="-"> 2281 - 2282 </button> 2283 <input type="text" name="updates[]" class="ajaxcart__qty-num number-sidebar" maxlength="3" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*"> 2284 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus items-count" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}" aria-label="+"> 2285 + 2286 </button> 2287 </div> 2288 </div> 2289 <div class="grid__item one-half text-right cart_prices"> 2290 <span class="cart-price">{{price}}</span> 2291 <a title="Xóa" class="cart__btn-remove remove-item-cart ajaxifyCart--remove" href="javascript:;" data-line="{{line}}">Xóa</a> 2292 </div> 2293 </div> 2294 {{#if discountsApplied}} 2295 <div class="grid grid--table"> 2296 <div class="grid__item text-right"> 2297 <ul class="order-discount order-discount--list order-discount--title order-discount--cart order-discount--cart-title" aria-label="Giảm giá"> 2298 {{#each discounts}} 2299 <li class="order-discount__item"> 2300 <span class="icon icon-saletag" aria-hidden="true"></span>{{ this.discount_application.title }} (-{{{ this.formattedAmount }}}) 2301 </li> 2302 {{/each}} 2303 </ul> 2304 </div> 2305 </div> 2306 {{/if}} 2307 </div> 2308 </div> 2309 </div> 2310 {{/items}} 2311 2312 2313 </div> 2314 <div class="ajaxcart__footer ajaxcart__footer--fixed cart-footer"> 2315 <div class="ajaxcart__subtotal"> 2316 {{#if cartDiscountsApplied}} 2317 <div class="grid grid--table ajaxcart__discounts"> 2318 {{#each cartDiscounts}} 2319 <div class="grid__item two-thirds"> 2320 <span class="order-discount order-discount--title order-discount--cart-title"> 2321 <span class="icon icon-saletag" aria-hidden="true"></span><span class="visually-hidden">%:</span>{{ this.title }} 2322 </span> 2323 </div> 2324 <div class="grid__item one-third text-right"> 2325 <span class="order-discount">-{{{ this.formattedAmount }}}</span> 2326 </div> 2327 {{/each}} 2328 </div> 2329 {{/if}} 2330 <div class="cart__subtotal"> 2331 <div class="cart__col-6">Tá»ng tiá»n:</div> 2332 <div class="text-right cart__totle"><span class="total-price">{{{totalPrice}}}</span></div> 2333 </div> 2334 </div> 2335 <div class="cart_btn_continue"> 2336 <a class="btn-proceed-checkout btn-checkouts" title="Tiếp tục mua hà ng" href="collections/all">Tiếp tục mua hà ng</a> 2337 </div> 2338 <div class="cart__btn-proceed-checkout-dt"> 2339 <button onclick='goToCheckout(event)' type="button" class="button btn btn-default cart__btn-proceed-checkout" id="btn-proceed-checkout" title="Thanh toán">Thanh toán</button> 2340 </div> 2341 </div> 2342 </form> 2343 2344 2345</script>
2345 2346 2347
2348<script id="JsQty" type="text/template"> 2349 2350<div class="js-qty"> 2351 <button type="button" class="js-qty__adjust js-qty__adjust--minus items-count" data-id="{{key}}" data-qty="{{itemMinus}}" aria-label="-"> 2352 - 2353 </button> 2354 <input type="text" class="js-qty__num number-sidebar" maxlength="3" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 2355 <button type="button" class="js-qty__adjust js-qty__adjust--plus items-count" data-id="{{key}}" data-qty="{{itemAdd}}" aria-label="+"> 2356 + 2357 </button> 2358 </div> 2359 2360</script>
2360 2361<div id="popup-cart-desktop" class="popup-cart"> 2362 <div class="header-popcart"> 2363 <div class="top-cart-header"> 2364 <span> 2365 <svg aria-hidden="true" focusable="false" data-prefix="fal" data-icon="check-circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="svg-inline--fa fa-check-circle fa-w-16"><path fill="currentColor" d="M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 464c-118.664 0-216-96.055-216-216 0-118.663 96.055-216 216-216 118.664 0 216 96.055 216 216 0 118.663-96.055 216-216 216zm141.63-274.961L217.15 376.071c-4.705 4.667-12.303 4.637-16.97-.068l-85.878-86.572c-4.667-4.705-4.637-12.303.068-16.97l8.52-8.451c4.705-4.667 12.303-4.637 16.97.068l68.976 69.533 163.441-162.13c4.705-4.667 12.303-4.637 16.97.068l8.451 8.52c4.668 4.705 4.637 12.303-.068 16.97z" class=""></path></svg> 2366 Bạn Äã thêm [<a class="cart-popup-name" href="#" ></a>] và o giá» hà ng</span> 2367 </div> 2368 <a class="noti-cart-count" href="/cart" title="Giá» hà ng"> 2369 Giá» hà ng cá»§a bạn hiá»n có <span class="count_item_pr"></span> sản phẩm 2370 </a> 2371 <a title="Äóng" class="cart_btn-close" href="javascript:;"> 2372 <img width="50" height="50" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon-filter-close-bg.png?1790933936566" alt="Äóng"/> 2373 </a> 2374 </div> 2375 <div class="cartPopupContainer"> 2376 </div> 2377</div> 2378<div id="popup-cart-mobile" class="popup-cart-mobile"> 2379 <div class="header-popcart"> 2380 <div class="top-cart-header"> 2381 <span> 2382 <svg xmlns="http://www.w3.org/2000/svg" height="682.66669pt" viewBox="-21 -21 682.66669 682.66669" width="682.66669pt"><path d="m322.820312 387.933594 279.949219-307.273438 36.957031 33.671875-314.339843 345.023438-171.363281-162.902344 34.453124-36.238281zm297.492188-178.867188-38.988281 42.929688c5.660156 21.734375 8.675781 44.523437 8.675781 68.003906 0 148.875-121.125 270-270 270s-270-121.125-270-270 121.125-270 270-270c68.96875 0 131.96875 26.007812 179.746094 68.710938l33.707031-37.113282c-58.761719-52.738281-133.886719-81.597656-213.453125-81.597656-85.472656 0-165.835938 33.285156-226.273438 93.726562-60.441406 60.4375-93.726562 140.800782-93.726562 226.273438s33.285156 165.835938 93.726562 226.273438c60.4375 60.441406 140.800782 93.726562 226.273438 93.726562s165.835938-33.285156 226.273438-93.726562c60.441406-60.4375 93.726562-140.800782 93.726562-226.273438 0-38.46875-6.761719-75.890625-19.6875-110.933594zm0 0"/></svg> 2383 Mua hà ng thà nh công 2384 </span> 2385 </div> 2386 <div class="media-content bodycart-mobile"> 2387 </div> 2388 <a class="noti-cart-count" href="/cart" title="Giá» hà ng"> Giá» hà ng cá»§a bạn hiá»n có <span class="count_item_pr"></span> sản phẩm </a> 2389 <a title="Äóng" class="cart_btn-close iconclose"> 2390 <img width="50" height="50" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/icon-filter-close-bg.png?1790933936566" alt="Äóng"/> 2391 </a> 2392 <div class="bottom-action"> 2393 <div class="cart_btn-close tocontinued"> 2394 Tiếp tục mua hà ng 2395 </div> 2396 <a href="/checkout" class="checkout" title="Thanh toán ngay"> 2397 Thanh toán ngay 2398 </a> 2399 </div> 2400 </div> 2401</div> 2402 2403<link rel="preload" as="script" href="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/main.js?1790933936566" />
2404<script type="text/javascript" defer src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/main.js?1790933936566"></script>
2404 2405 2406 2407 2408<a href="javascript:;" class="site-header__link site-header__compare js-open-compare shadow border border-right-0 btn-show-popup-compare d-none" title="So sánh"> 2409 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.867 477.867" style="enable-background:new 0 0 477.867 477.867;" xml:space="preserve"><path d="M409.6,0c-9.426,0-17.067,7.641-17.067,17.067v62.344C304.667-5.656,164.478-3.386,79.411,84.479c-40.09,41.409-62.455,96.818-62.344,154.454c0,9.426,7.641,17.067,17.067,17.067S51.2,248.359,51.2,238.933c0.021-103.682,84.088-187.717,187.771-187.696c52.657,0.01,102.888,22.135,138.442,60.976l-75.605,25.207c-8.954,2.979-13.799,12.652-10.82,21.606s12.652,13.799,21.606,10.82l102.4-34.133c6.99-2.328,11.697-8.88,11.674-16.247v-102.4C426.667,7.641,419.026,0,409.6,0z"/><path d="M443.733,221.867c-9.426,0-17.067,7.641-17.067,17.067c-0.021,103.682-84.088,187.717-187.771,187.696c-52.657-0.01-102.888-22.135-138.442-60.976l75.605-25.207c8.954-2.979,13.799-12.652,10.82-21.606c-2.979-8.954-12.652-13.799-21.606-10.82l-102.4,34.133c-6.99,2.328-11.697,8.88-11.674,16.247v102.4c0,9.426,7.641,17.067,17.067,17.067s17.067-7.641,17.067-17.067v-62.345c87.866,85.067,228.056,82.798,313.122-5.068c40.09-41.409,62.455-96.818,62.344-154.454C460.8,229.508,453.159,221.867,443.733,221.867z"/></svg> 2410 <span class="compareCount text-center"></span> 2411</a> 2412<div class="compare-sidebar"> 2413 <div class="sidebarAllMainCompare"> 2414 <div class="container"> 2415 <div class="box_sidebar_compare"> 2416 <div class="sidebarAllHeader"> 2417 <div class="title"> 2418 <span class="closeSidebar"> 2419 Ẩn so sánh <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"> 2420 <path d="M12.9996 12.9996L1 1" stroke="#292D32" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 2421 <path d="M13 1.00024L12.25 1.75022M1.00035 12.9999L7.00018 7.00007L9.50037 4.49988" stroke="#292D32" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> 2422 </svg> 2423 </span> 2424 </div> 2425 </div> 2426 <div class="sidebarAllBody"> 2427 </div> 2428 </div> 2429 </div> 2430 </div> 2431</div> 2432<div class="popup_video position-fixed w-100 h-100 justify-content-center align-items-center d-flex"> 2433 <div class="position-relative max-100"> 2434 <a href="javascript:;" class="close_video position-absolute d-flex m_white_bg_module justify-content-center align-items-center" title="Äóng"> 2435 <img width="24" height="24" alt="Äóng" src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/closebtn.png?1790933936566"></a> 2436 <div class="b_video p-2 p-md-3 m_white_bg_module rounded m-auto"> 2437 <div class="list-top-item header_compare"> 2438 <form action="/search" method="get" class="header-search-form input-group search-bar" role="search"> 2439 <input type="text" name="query" required class="input-group-field auto-search search-auto form-control" placeholder="Tìm sản phẩm so sánh" autocomplete="off"> 2440 <input type="hidden" name="type" value="product"> 2441 <button type="submit" class="btn icon-fallback-text" aria-label="Tìm kiếm" title="Tìm kiếm"> 2442 <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M14.1404 13.4673L19.852 19.1789C20.3008 19.6276 19.6276 20.3008 19.1789 19.852L13.4673 14.1404C12.0381 15.4114 10.1552 16.1835 8.09176 16.1835C3.6225 16.1835 0 12.5613 0 8.09176C0 3.6225 3.62219 0 8.09176 0C12.561 0 16.1835 3.62219 16.1835 8.09176C16.1835 10.1551 15.4115 12.038 14.1404 13.4673ZM0.951972 8.09176C0.951972 12.0356 4.14824 15.2316 8.09176 15.2316C12.0356 15.2316 15.2316 12.0353 15.2316 8.09176C15.2316 4.14797 12.0353 0.951972 8.09176 0.951972C4.14797 0.951972 0.951972 4.14824 0.951972 8.09176Z" fill="#222222"></path> </svg> 2443 </button> 2444 <div class="compare-suggest"> 2445 <div class="list-compare"> 2446 </div> 2447 </div> 2448 </form> 2449 </div> 2450 </div> 2451 </div> 2452</div>
2453<script> 2454 let videos = document.querySelectorAll('.itemMainCompareNone'); 2455 let popupVideo = document.querySelector('.popup_video'); 2456 let close_vd = document.querySelectorAll('.close_video'); 2457 videos.forEach(v => v.addEventListener('click', function(e){ 2458 e.preventDefault(); 2459 popupVideo.classList.add('open'); 2460 })); 2461 close_vd.forEach(v => v.addEventListener('click', function(e){ 2462 e.preventDefault(); 2463 popupVideo.classList.remove('open'); 2464 })) 2465</script>
2465 <div id="popupCartModal" class="modal fade" role="dialog"> 2466 </div> 2467<div class='jas-sale-pop flex pf middle-xs'></div> 2468 2469 2470
2471<script type="text/javascript"> 2472 let isloadIdex2 = 0; 2473 $(window).on('scroll mousemove touchstart',function(){ 2474 try{ 2475 if(!isloadIdex2){ 2476 isloadIdex2 = 1 2477 $(document).ready(function ($) { 2478 SalesPop() 2479 }); 2480 function fisherYates ( myArray ) { 2481 var i = myArray.length, j, temp; 2482 if ( i === 0 ) return false; 2483 while ( --i ) { 2484 j = Math.floor( Math.random() * ( i + 1 ) ); 2485 temp = myArray[i]; 2486 myArray[i] = myArray[j]; 2487 myArray[j] = temp; 2488 } 2489 } 2490 var collection = new Array(); 2491 2492 2493 collection[0]="<a href='/dinh-vi-gps-s09a' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/dinh-vi-xe-may-o-to-s09a.jpg?v=1789459887993' alt='Äá»nh Vá» GPS S09A 4G - Chá»ng Trá»m Xe Máy, Quản Lý à Tô Hiá»u Quả'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/dinh-vi-gps-s09a' title='Äá»nh Vá» GPS S09A 4G - Chá»ng Trá»m Xe Máy, Quản Lý à Tô Hiá»u Quả'>Äã Äặt Äá»nh Vá» GPS S09A 4G - Chá»ng Trá»m Xe Máy, Quản Lý à Tô Hiá»u Quả</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2494 2495 2496 2497 collection[1]="<a href='/dinh-vi-khong-day-a9-mini' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/dinh-vi-khong-day-a9-mini-1.jpg?v=1789572502537' alt='Äá»nh Vá» Không Dây A9 Mini 4G | Pin 3.000mAh, Dùng 4-7 Ngà y, Siêu Nhá»'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/dinh-vi-khong-day-a9-mini' title='Äá»nh Vá» Không Dây A9 Mini 4G | Pin 3.000mAh, Dùng 4-7 Ngà y, Siêu Nhá»'>Äã Äặt Äá»nh Vá» Không Dây A9 Mini 4G | Pin 3.000mAh, Dùng 4-7 Ngà y, Siêu Nhá»</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2498 2499 2500 2501 collection[2]="<a href='/camera-hanh-trinh-70mai-a810-lite' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/camera-hanh-trinh-70mai-a810-lite-1-mat-truoc.jpg?v=1790074513980' alt='Camera hà nh trình 70mai A810 Lite 4K | WiFi 6, khẩu Äá» f/1.55'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/camera-hanh-trinh-70mai-a810-lite' title='Camera hà nh trình 70mai A810 Lite 4K | WiFi 6, khẩu Äá» f/1.55'>Äã Äặt Camera hà nh trình 70mai A810 Lite 4K | WiFi 6, khẩu Äá» f/1.55</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2502 2503 2504 2505 collection[3]="<a href='/70mai-a210' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/camera-hanh-trinh-a210-ban-cam-truoc.jpg?v=1790073290670' alt='Camera hà nh trình 70mai A210 giá rẻ, ghi trưá»c sau 1080P'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/70mai-a210' title='Camera hà nh trình 70mai A210 giá rẻ, ghi trưá»c sau 1080P'>Äã Äặt Camera hà nh trình 70mai A210 giá rẻ, ghi trưá»c sau 1080P</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2506 2507 2508 2509 collection[4]="<a href='/dinh-vi-gps-vl512' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/dinh-vi-o-to-vl512-vntrack.png?v=1787374973907' alt='Äá»nh Vá» Ã Tô VL512 4G | Cắm cá»ng OBD II, Chuyên dụng, Cắm là chạy'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/dinh-vi-gps-vl512' title='Äá»nh Vá» Ã Tô VL512 4G | Cắm cá»ng OBD II, Chuyên dụng, Cắm là chạy'>
2509Äã Äặt Äá»nh Vá» Ã Tô VL512 4G | Cắm cá»ng OBD II, Chuyên dụng, Cắm là chạy</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2510 2511 2512 2513 collection[5]="<a href='/camera-hanh-trinh-vietmap-s720' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/camera-hanh-trinh-vietmap-s720-70a8f66e-9ea5-443a-8110-0bacdc06f19a.png?v=1787374960950' alt='Camera hà nh trình Vietmap S720 4K | Ghi trưá»c sau, có camera sau'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/camera-hanh-trinh-vietmap-s720' title='Camera hà nh trình Vietmap S720 4K | Ghi trưá»c sau, có camera sau'>Äã Äặt Camera hà nh trình Vietmap S720 4K | Ghi trưá»c sau, có camera sau</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2514 2515 2516 2517 collection[6]="<a href='/70mai-a410-neo' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/70mai-a410-neo-1.png?v=1787149817673' alt='Camera hà nh trình 70mai A410 Neo - Siêu tụ Äiá»n, ghi hình 2,5K HDR'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/70mai-a410-neo' title='Camera hà nh trình 70mai A410 Neo - Siêu tụ Äiá»n, ghi hình 2,5K HDR'>Äã Äặt Camera hà nh trình 70mai A410 Neo - Siêu tụ Äiá»n, ghi hình 2,5K HDR</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2518 2519 2520 2521 collection[7]="<a href='/70mai-t400' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/camera-hanh-trinh-70mai-t400-the-64gb.jpg?v=1790010166473' alt='Camera hà nh trình 70mai T400 | Ghi 3 kênh, 2K 1440P HDR'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/70mai-t400' title='Camera hà nh trình 70mai T400 | Ghi 3 kênh, 2K 1440P HDR'>Äã Äặt Camera hà nh trình 70mai T400 | Ghi 3 kênh, 2K 1440P HDR</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2522 2523 2524 2525 collection[8]="<a href='/70mai-ps07' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/kich-binh-o-to-70mai-ps07.jpg?v=1789902321023' alt='70mai PS07 - KÃch Bình Ắc Quy à Tô | 10400mAh, Xe XÄng <5L, Xe Dầu <3L'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/70mai-ps07' title='70mai PS07 - KÃch Bình Ắc Quy à Tô | 10400mAh, Xe XÄng <5L, Xe Dầu <3L'>Äã Äặt 70mai PS07 - KÃch Bình Ắc Quy à Tô | 10400mAh, Xe XÄng <5L, Xe Dầu <3L</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2526 2527 2528 2529 collection[9]="<a href='/vietmap-live-pro' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/vietmap-live-10.png?v=1790129228063' alt='VIETMAP LIVE - Phần má»m dẫn ÄÆ°á»ng và cảnh báo giao thông'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/vietmap-live-pro' title='VIETMAP LIVE - Phần má»m dẫn ÄÆ°á»ng và cảnh báo giao thông'>Äã Äặt VIETMAP LIVE - Phần má»m dẫn ÄÆ°á»ng và cảnh báo giao thông</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2530 2531 2532 2533 collection[10]="<a href='/70mai-a800se-speedeye' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/70mai-a800se-speedeye-2.png?v=1787218150613' alt='Camera Hà nh Trình 70mai A800SE SpeedEye 4K | Cảnh Báo Tá»c Äá», Phạt Nguá»i'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4>
2533<h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/70mai-a800se-speedeye' title='Camera Hà nh Trình 70mai A800SE SpeedEye 4K | Cảnh Báo Tá»c Äá», Phạt Nguá»i'>Äã Äặt Camera Hà nh Trình 70mai A800SE SpeedEye 4K | Cảnh Báo Tá»c Äá», Phạt Nguá»i</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2534 2535 2536 2537 collection[11]="<a href='/camera-hanh-trinh-70mai-a810s-4k' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/camera-hanh-trinh-70mai-a810s-ban-1-mat-tang-the-64gb.jpg?v=1789995672903' alt='Camera hà nh trình 70mai A810S 4K | STARVIS 2, siêu tụ Äiá»n'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/camera-hanh-trinh-70mai-a810s-4k' title='Camera hà nh trình 70mai A810S 4K | STARVIS 2, siêu tụ Äiá»n'>Äã Äặt Camera hà nh trình 70mai A810S 4K | STARVIS 2, siêu tụ Äiá»n</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2538 2539 2540 2541 collection[12]="<a href='/thiet-bi-giam-sat-hanh-trinh-tg22' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/thiet-bi-giam-sat-hanh-trinh-tg22.jpg?v=1790065925830' alt='Thiết bá» giám sát hà nh trình TG22'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/thiet-bi-giam-sat-hanh-trinh-tg22' title='Thiết bá» giám sát hà nh trình TG22'>Äã Äặt Thiết bá» giám sát hà nh trình TG22</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2542 2543 2544 2545 collection[13]="<a href='/camera-hanh-trinh-70mai-m800' class='jas-sale-pop-img mr__20'><img width='480' height='480' src='https://bizweb.dktcdn.net/100/520/280/products/camera-hanh-trinh-70mai-m800-1-mat.jpg?v=1790081107110' alt='Camera hà nh trình 70mai M800 4K | Bá» nhá» 128GB, không cần thẻ nhá»'/></a><div class='jas-sale-pop-content'><h4 class='fs__12 fwm mg__0 jas-sale-name'>Sản phẩm</h4><h3 class='mg__0 mt__5 mb__5 fs__18'><a href='/camera-hanh-trinh-70mai-m800' title='Camera hà nh trình 70mai M800 4K | Bá» nhá» 128GB, không cần thẻ nhá»'>Äã Äặt Camera hà nh trình 70mai M800 4K | Bá» nhá» 128GB, không cần thẻ nhá»</a></h3><span class='fs__12 jas-sale-pop-timeago'></span></div><span class='pe-7s-close pa fs__20'></span>"; 2546 2547 2548 fisherYates(collection); 2549 function SalesPop() { 2550 if ($('.jas-sale-pop').length < 0) 2551 return; 2552 setInterval(function() { 2553 $('.jas-sale-pop').fadeIn(function() { 2554 $(this).removeClass('slideUp'); 2555 }).delay(10000).fadeIn(function() { 2556 var randomTime = ['1 phút', '5 phút', '10 phút', '12 phút', '14 phút', '16 phút', '18 phút', '20 phút', '25 phút', '30 phút', '36 phút', '38 phút', '40 phút', '42 phút', '45 phút', '50 phút', '1 giá»', '2 giá»', '3 giá»'], 2557 randomUser = ['Tú Quyên - 0989313xxx', 'Quá»c Viá»t - 0346989xxx', 'Tấn Phát - 0935672xxx', 'Mạnh Hiá»p - 0500345xxx', 'Nguyá» n An - 0346800xxx', 'Thu Thá»§y - 0345264xxx', 'Mỹ Linh - 0378505xxx', 'Hoà ng Long - 0333878xxx', 'Quang Hải - 0911436xxx', 'Lê Vân - 0357004xxx', 'Vân Anh - 0775637xxx', 'Anh Tuấn - 0905398xxx', 'Tiến Trình - 0344667xxx', 'Há»ng Vân - 0989391xxx', 'Trần Ngá»c - 0392003xxx', 'Hữu Phưá»c - 0935921xxx', 'Hữu Thá» - 0393335xxx'], 2558 randomTimeAgo = Math.floor(Math.random() * randomTime.length), 2559 randomTimeUser = Math.floor(Math.random() * randomUser.length), 2560 randomProduct = Math.floor(Math.random() * collection.length), 2561 randomShowP = collection[randomProduct], 2562 TimeUser = randomUser[randomTimeUser], 2563 TimeAgo = randomTime[randomTimeAgo]; 2564 $(".jas-sale-pop").html(randomShowP); 2565 $('.jas-sale-name').text(TimeUser); 2566 $('.jas-sale-pop-timeago').text(TimeAgo + ' trưá»c'); 2567 $(this).addClass('slideUp'); 2568 $('.pe-7s-close').on('click', function() { 2569 $('.jas-sale-pop').remove(); 2570 }); 2571 }).delay(6000); 2572 }, 6000); 2573 } 2574 } 2575 }catch(e){ 2576 console.log(e); 2577 } 2578 }); 2579</script>
2579 2580 2581<div class="addThis_listSharing" style="display: block;"> 2582 <div class="listSharing_action"> 2583 <button type="button" class="addThis_close" data-dismiss="modal"> 2584 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g stroke="none" stroke-width="1" fill-rule="evenodd"> <g transform="translate(-1341.000000, -90.000000)"> <g transform="translate(1341.000000, 90.000000)"> <polygon points="19 6.4 17.6 5 12 10.6 6.4 5 5 6.4 10.6 12 5 17.6 6.4 19 12 13.4 17.6 19 19 17.6 13.4 12"></polygon> </g> </g> </g> </svg> 2585 </button> 2586 <ul class="addThis_listing"> 2587 <li class="addThis_item"> 2588 <a class="addThis_item--icon" href="tel:0936300420" rel="nofollow" aria-label="phone"> 2589 <svg viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg"> 2590 <circle cx="22" cy="22" r="22" fill="url(#paint2_linear)"></circle> 2591 <path fill-rule="evenodd" clip-rule="evenodd" d="M14.0087 9.35552C14.1581 9.40663 14.3885 9.52591 14.5208 9.61114C15.3315 10.148 17.5888 13.0324 18.3271 14.4726C18.7495 15.2949 18.8903 15.9041 18.758 16.3558C18.6214 16.8415 18.3953 17.0971 17.384 17.9109C16.9786 18.239 16.5988 18.5756 16.5391 18.6651C16.3855 18.8866 16.2617 19.3212 16.2617 19.628C16.266 20.3395 16.7269 21.6305 17.3328 22.6232C17.8021 23.3944 18.6428 24.3828 19.4749 25.1413C20.452 26.0361 21.314 26.6453 22.2869 27.1268C23.5372 27.7488 24.301 27.9064 24.86 27.6466C25.0008 27.5826 25.1501 27.4974 25.1971 27.4591C25.2397 27.4208 25.5683 27.0202 25.9268 26.5772C26.618 25.7079 26.7759 25.5674 27.2496 25.4055C27.8513 25.201 28.4657 25.2563 29.0844 25.5716C29.5538 25.8145 30.5779 26.4493 31.2393 26.9095C32.1098 27.5187 33.9703 29.0355 34.2221 29.3381C34.6658 29.8834 34.7427 30.5821 34.4439 31.3534C34.1281 32.1671 32.8992 33.6925 32.0415 34.3444C31.2649 34.9323 30.7145 35.1581 29.9891 35.1922C29.3917 35.222 29.1442 35.1709 28.3804 34.8556C22.3893 32.3887 17.6059 28.7075 13.8081 23.65C11.8239 21.0084 10.3134 18.2688 9.28067 15.427C8.67905 13.7696 8.64921 13.0495 9.14413 12.2017C9.35753 11.8438 10.2664 10.9575 10.9278 10.4633C12.0288 9.64524 12.5365 9.34273 12.9419 9.25754C13.2193 9.19787 13.7014 9.24473 14.0087 9.35552Z" fill="white"></path> 2592 <defs> 2593 <linearGradient id="paint2_linear" x1="22" y1="-7.26346e-09" x2="22.1219" y2="40.5458" gradientUnits="userSpaceOnUse"> 2594 <stop offset="50%" stop-color="#e8434c"></stop> 2595 <stop offset="100%" stop-color="#d61114"></stop> 2596 </linearGradient> 2597 </defs> 2598 </svg> 2599 <span class="tooltip-text">Gá»i ngay 0936.300.420 </span> 2600 </a> 2601 </li> 2602 <li class="addThis_item"> 2603 <a class="addThis_item--icon" href="tel:0936729559" rel="nofollow" aria-label="phone"> 2604 <svg viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg"> 2605 <circle cx="22" cy="22" r="22" fill="url(#paint2_linear)"></circle> 2606 <path fill-rule="evenodd" clip-rule="evenodd" d="M14.0087 9.35552C14.1581 9.40663 14.3885 9.52591 14.5208 9.61114C15.3315 10.148 17.5888 13.0324 18.3271 14.4726C18.7495 15.2949 18.8903 15.9041 18.758 16.3558C18.6214 16.8415 18.3953 17.0971 17.384 17.9109C16.9786 18.239 16.5988 18.5756 16.5391 18.6651C16.3855 18.8866 16.2617 19.3212 16.2617 19.628C16.266 20.3395 16.7269 21.6305 17.3328 22.6232C17.8021 23.3944 18.6428 24.3828 19.4749 25.1413C20.452 26.0361 21.314 26.6453 22.2869 27.1268C23.5372 27.7488 24.301 27.9064 24.86 27.6466C25.0008 27.5826 25.1501 27.4974 25.1971 27.4591C25.2397 27.4208 25.5683 27.0202 25.9268 26.5772C26.618 25.7079 26.7759 25.5674 27.2496 25.4055C27.8513 25.201 28.4657 25.2563 29.0844 25.5716C29.5538 25.8145 30.5779 26.4493 31.2393 26.9095C32.1098 27.5187 33.9703 29.0355 34.2221 29.3381C34.6658 29.8834 34.7427 30.5821 34.4439 31.3534C34.1281 32.1671 32.8992 33.6925 32.0415 34.3444C31.2649 34.9323 30.7145 35.1581 29.9891 35.1922C29.3917 35.222 29.1442 35.1709 28.3804 34.8556C22.3893 32.3887 17.6059 28.7075 13.8081 23.65C11.8239 21.0084 10.3134 18.2688 9.28067 15.427C8.67905 13.7696 8.64921 13.0495 9.14413 12.2017C9.35753 11.8438 10.2664 10.9575 10.9278 10.4633C12.0288 9.64524 12.5365 9.34273 12.9419 9.25754C13.2193 9.19787 13.7014 9.24473 14.0087 9.35552Z" fill="white"></path> 2607 <defs> 2608 <linearGradient id="paint2_linear" x1="22" y1="-7.26346e-09" x2="22.1219" y2="40.5458" gradientUnits="userSpaceOnUse"> 2609 <stop offset="50%" stop-color="#e8434c"></stop> 2610 <stop offset="100%" stop-color="#d61114"></stop> 2611 </linearGradient> 2612 </defs> 2613 </svg> 2614 <span class="tooltip-text">Gá»i ngay 0936.729.559 </span> 2615 </a> 2616 </li> 2617 <li class="addThis_item">
2618 <a class="addThis_item--icon" href="https://zalo.me/vntrack" target="_blank" rel="nofollow noreferrer" aria-label="zalo"> 2619 <svg viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg"> 2620 <circle cx="22" cy="22" r="22" fill="url(#paint4_linear)"></circle> 2621 <g clip-path="url(#clip0)"> 2622 <path fill-rule="evenodd" clip-rule="evenodd" d="M15.274 34.0907C15.7773 34.0856 16.2805 34.0804 16.783 34.0804C16.7806 34.0636 16.7769 34.0479 16.7722 34.0333C16.777 34.0477 16.7808 34.0632 16.7832 34.0798C16.8978 34.0798 17.0124 34.0854 17.127 34.0965H25.4058C26.0934 34.0965 26.7809 34.0977 27.4684 34.0989C28.8434 34.1014 30.2185 34.1039 31.5935 34.0965H31.6222C33.5357 34.0798 35.0712 32.5722 35.0597 30.7209V27.4784C35.0597 27.4582 35.0612 27.4333 35.0628 27.4071C35.0676 27.3257 35.0731 27.2325 35.0368 27.2345C34.9337 27.2401 34.7711 27.2757 34.7138 27.3311C34.2744 27.6145 33.8483 27.924 33.4222 28.2335C32.57 28.8525 31.7179 29.4715 30.7592 29.8817C27.0284 31.0993 23.7287 31.157 20.2265 30.3385C20.0349 30.271 19.9436 30.2786 19.7816 30.292C19.6773 30.3007 19.5436 30.3118 19.3347 30.3068C19.3093 30.3077 19.2829 30.3085 19.2554 30.3093C18.9099 30.3197 18.4083 30.3348 17.8088 30.6877C16.4051 31.1034 14.5013 31.157 13.5175 31.0147C13.522 31.0245 13.5247 31.0329 13.5269 31.0407C13.5236 31.0341 13.5204 31.0275 13.5173 31.0208C13.5036 31.0059 13.4864 30.9927 13.4696 30.98C13.4163 30.9393 13.3684 30.9028 13.46 30.8268C13.4867 30.8102 13.5135 30.7929 13.5402 30.7757C13.5937 30.7412 13.6472 30.7067 13.7006 30.6771C14.4512 30.206 15.1559 29.6905 15.6199 28.9311C16.2508 28.1911 15.9584 27.9025 15.4009 27.3524L15.3799 27.3317C12.6639 24.6504 11.8647 21.8054 12.148 17.9785C12.486 15.8778 13.4829 14.0708 14.921 12.4967C15.7918 11.5433 16.8288 10.7729 17.9632 10.1299C17.9796 10.1198 17.9987 10.1116 18.0182 10.1032C18.0736 10.0793 18.1324 10.0541 18.1408 9.98023C18.1475 9.92191 18.0507 9.90264 18.0163 9.90264C17.3698 9.90264 16.7316 9.89705 16.0964 9.89148C14.8346 9.88043 13.5845 9.86947 12.3041 9.90265C10.465 9.95254 8.78889 11.1779 8.81925 13.3614C8.82689 17.2194 8.82435 21.0749 8.8218 24.9296C8.82053 26.8567 8.81925 28.7835 8.81925 30.7104C8.81925 32.5007 10.2344 34.0028 12.085 34.0749C13.1465 34.1125 14.2107 34.1016 15.274 34.0907ZM13.5888 31.1403C13.5935 31.1467 13.5983 31.153 13.6032 31.1594C13.7036 31.2455 13.8031 31.3325 13.9021 31.4202C13.8063 31.3312 13.7072 31.2423 13.6035 31.1533C13.5982 31.1487 13.5933 31.1444 13.5888 31.1403ZM16.5336 33.8108C16.4979 33.7885 16.4634 33.7649 16.4337 33.7362C16.4311 33.7358 16.4283 33.7352 16.4254 33.7345C16.4281 33.7371 16.4308 33.7397 16.4335 33.7423C16.4632 33.7683 16.4978 33.79 16.5336 33.8108Z" fill="white"></path> 2623 <path d="M17.6768 21.6754C18.5419 21.6754 19.3555 21.6698 20.1633 21.6754C20.6159 21.6809 20.8623 21.8638 20.9081 22.213C20.9597 22.6509 20.6961 22.9447 20.2034 22.9502C19.2753 22.9613 18.3528 22.9558 17.4247 22.9558C17.1554 22.9558 16.8919 22.9669 16.6226 22.9502C16.2903 22.9336 15.9637 22.8671 15.8033 22.5345C15.6429 22.2019 15.7575 21.9026 15.9752 21.631C16.8575 20.5447 17.7455 19.4527 18.6336 18.3663C18.6851 18.2998 18.7367 18.2333 18.7883 18.1723C18.731 18.0781 18.6508 18.1224 18.582 18.1169C17.9633 18.1114 17.3388 18.1169 16.72 18.1114C16.5768 18.1114 16.4335 18.0947 16.296 18.067C15.9695 17.995 15.7689 17.679 15.8434 17.3686C15.895 17.158 16.0669 16.9862 16.2846 16.9363C16.4221 16.903 16.5653 16.8864 16.7085 16.8864C17.7284 16.8809 18.7539 16.8809 19.7737 16.8864C19.9571 16.8809 20.1347 16.903 20.3123 16.9474C20.7019 17.0749 20.868 17.4241 20.7133 17.7899C20.5758 18.1058 20.3581 18.3774 20.1404 18.649C19.3899 19.5747 18.6393 20.4948 17.8888 21.4093C17.8258 21.4814 17.7685 21.5534 17.6768 21.6754Z" fill="white"></path> 2624 <path d="M24.3229 18.7604C24.4604 18.5886 24.6036 18.4279 24.8385 18.3835C25.2911 18.2948 25.7151 18.5775 25.7208 19.021C25.738 20.1295 25.7323 21.2381 25.7208 22.3467C25.7208 22.6349 25.526 22.8899 25.2453 22.973C24.9588 23.0783 24.6322 22.9952 24.4432 22.7568C24.3458 22.6404 24.3057 22.6183 24.1682 22.7236C23.6468 23.1338 23.0567 23.2058 22.4207 23.0063C21.4009 22.6848 20.9827 21.9143 20.8681 20.9776C20.7478 19.9632 21.0973 19.0986 22.0369 18.5664C22.816 18.1175 23.6067 18.1563 24.3229 18.7604ZM22.2947 20.7836C22.3061 21.0275 22.3863 21.2603 22.5353 21.4543C22.8447 21.8534 23.4348 21.9365 23.8531 21.6372C23.9218 21.5873 23.9848 21.5263 24.0421 21.4543C24.363 21.033 24.363 20.3402 24.0421 19.9189C23.8817 19.7027 23.6296 19.5752 23.3603 19.5697C22.7301 19.5309 22.289 20.002 22.2947 20.7836ZM28.2933 20.8168C28.2474 19.3923 29.2157 18.3281 30.5907 18.2893C32.0517 18.245 33.1174 19.1928 33.1632 20.5785C33.209 21.9808 32.321 22.973 30.9517 23.106C29.4563 23.2502 28.2704 22.2026 28.2933 20.8168ZM29.7313 20.6838C29.7199 20.961 29.8058 21.2326 29.9777 21.4598C30.2928 21.8589 30.8829 21.9365 31.2955 21.6261C31.3585 21.5818 31.41 21.5263 31.4616 21.4709C31.7939 21.0496 31.7939 20.3402 31.4673 19.9189C31.3069 19.7083 31.0548 19.5752 30.7855 19.5697C30.1668 19.5364 29.7313 19.991 29.7313 20.6838ZM27.7891 19.7138C27.7891 20.573 27.7948 21.4321 27.7891 22.2912C27.7948 22.6848 27.474 23.0118 27.0672 23.0229C26.9985 23.0229 26.924 23.0174 26.8552 23.0007C26.5688 22.9287 26.351 22.6349 26.351 22.2857V17.8791C26.351 17.6186 26.3453 17.3636 26.351 17.1031C26.3568 16.6763 26.6375 16.3992 27.0615 16.3992C27.4969 16.3936 27.7891 16.6708 27.7891 17.1142C27.7948 17.9789 27.7891 18.8491 27.7891 19.7138Z" fill="white"></path> 2625 <path d="M22.2947 20.7828C22.289 20.0013 22.7302 19.5302 23.3547 19.5634C23.6239 19.5745 23.876 19.702 24.0364 19.9181C24.3573 20.3339 24.3573 21.0322 24.0364 21.4535C23.7271 21.8526 23.1369 21.9357 22.7187 21.6364C22.65 21.5865 22.5869 21.5255 22.5296 21.4535C22.3864 21.2595 22.3062 21.0267 22.2947 20.7828ZM29.7314 20.683C29.7314 19.9957 30.1668 19.5357 30.7856 19.569C31.0549 19.5745 31.307 19.7075 31.4674 19.9181C31.794 20.3394 31.794 21.0544 31.4617 21.4701C31.1408 21.8636 3
26250.545 21.9302 30.1382 21.6198C30.0752 21.5754 30.0236 21.52 29.9778 21.459C29.8059 21.2318 29.7257 20.9602 29.7314 20.683Z" fill="#0068FF"></path> 2626 </g> 2627 <defs> 2628 <linearGradient id="paint4_linear" x1="22" y1="0" x2="22" y2="44" gradientUnits="userSpaceOnUse"> 2629 <stop offset="50%" stop-color="#3985f7"></stop> 2630 <stop offset="100%" stop-color="#1272e8"></stop> 2631 </linearGradient> 2632 <clipPath id="clip0"> 2633 <rect width="26.3641" height="24.2" fill="white" transform="translate(8.78906 9.90234)"></rect> 2634 </clipPath> 2635 </defs> 2636 </svg> 2637 <span class="tooltip-text">Chat ngay qua Zalo</span> 2638 </a> 2639 </li> 2640 <li class="addThis_item"> 2641 <a class="addThis_item--icon" href="https://m.me/101716949344791" target="_blank" rel="nofollow noreferrer" aria-label="Chat"> 2642 <img src="//bizweb.dktcdn.net/100/520/280/themes/968127/assets/messenger.svg?1790933936566" style="max-width:32px" alt="Messenger"> 2643 <span class="tooltip-text">Chat ngay qua Messenger</span> 2644 </a> 2645 </li> 2646 <li class="addThis_item"> 2647 <a class="addThis_item--icon" href="/lien-he" aria-label="Liên há»"> 2648 <svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg"> 2649 <circle cx="22" cy="22" r="22" fill="url(#paint5_linear)"></circle> 2650 <path class="down" d="M22 10C17.0374 10 13 13.7367 13 18.3297C13 24.0297 21.0541 32.3978 21.397 32.7512C21.7191 33.0832 22.2815 33.0826 22.603 32.7512C22.9459 32.3978 31 24.0297 31 18.3297C30.9999 13.7367 26.9626 10 22 10ZM22 22.5206C19.5032 22.5206 17.4719 20.6406 17.4719 18.3297C17.4719 16.0188 19.5032 14.1388 22 14.1388C24.4968 14.1388 26.528 16.0189 26.528 18.3297C26.528 20.6406 24.4968 22.5206 22 22.5206Z" fill="white"></path> 2651 <defs> 2652 <linearGradient id="paint5_linear" x1="22" y1="0" x2="22" y2="44" gradientUnits="userSpaceOnUse"> 2653 <stop offset="50%" stop-color="#fecf72"></stop> 2654 <stop offset="100%" stop-color="#ef9f00"></stop> 2655 </linearGradient> 2656 </defs> 2657 </svg> 2658 <span class="tooltip-text">Thông tin cá»a hà ng</span> 2659 </a> 2660 </li> 2661 </ul> 2662 </div> 2663</div> 2664<div class="addThis_iconContact"> 2665 <div class="box-item item-contact"> 2666 <div class="svgico"> 2667 <svg width="34" height="35" viewBox="0 0 34 35" xmlns="http://www.w3.org/2000/svg"> <path d="M4.35522 31V25.416H5.41122V30.064H7.61122V31H4.35522ZM8.97509 26.216C8.76176 26.216 8.60709 26.168 8.51109 26.072C8.42043 25.976 8.37509 25.8533 8.37509 25.704V25.544C8.37509 25.3947 8.42043 25.272 8.51109 25.176C8.60709 25.08 8.76176 25.032 8.97509 25.032C9.18309 25.032 9.33509 25.08 9.43109 25.176C9.52709 25.272 9.57509 25.3947 9.57509 25.544V25.704C9.57509 25.8533 9.52709 25.976 9.43109 26.072C9.33509 26.168 9.18309 26.216 8.97509 26.216ZM8.46309 26.824H9.48709V31H8.46309V26.824ZM12.834 24.712L13.842 25.944L13.33 26.344L12.37 25.424L11.41 26.344L10.898 25.944L11.906 24.712H12.834ZM12.362 31.096C12.0527 31.096 11.7754 31.0453 11.53 30.944C11.29 30.8373 11.0847 30.6907 10.914 30.504C10.7487 30.312 10.6207 30.0827 10.53 29.816C10.4394 29.544 10.394 29.24 10.394 28.904C10.394 28.5733 10.4367 28.2747 10.522 28.008C10.6127 27.7413 10.7407 27.5147 10.906 27.328C11.0714 27.136 11.274 26.9893 11.514 26.888C11.754 26.7813 12.026 26.728 12.33 26.728C12.6554 26.728 12.938 26.784 13.178 26.896C13.418 27.008 13.6154 27.16 13.77 27.352C13.9247 27.544 14.0394 27.768 14.114 28.024C14.194 28.2747 14.234 28.544 14.234 28.832V29.168H11.458V29.272C11.458 29.576 11.5434 29.8213 11.714 30.008C11.8847 30.1893 12.138 30.28 12.474 30.28C12.73 30.28 12.938 30.2267 13.098 30.12C13.2634 30.0133 13.41 29.8773 13.538 29.712L14.09 30.328C13.9194 30.568 13.6847 30.7573 13.386 30.896C13.0927 31.0293 12.7514 31.096 12.362 31.096ZM12.346 27.496C12.074 27.496 11.858 27.5867 11.698 27.768C11.538 27.9493 11.458 28.184 11.458 28.472V28.536H13.17V28.464C13.17 28.176 13.098 27.944 12.954 27.768C12.8154 27.5867 12.6127 27.496 12.346 27.496ZM15.135 31V26.824H16.159V27.52H16.199C16.2843 27.296 16.4176 27.1093 16.599 26.96C16.7856 26.8053 17.0416 26.728 17.367 26.728C17.799 26.728 18.1296 26.8693 18.359 27.152C18.5883 27.4347 18.703 27.8373 18.703 28.36V31H17.679V28.464C17.679 28.1653
266717.6256 27.9413 17.519 27.792C17.4123 27.6427 17.2363 27.568 16.991 27.568C16.8843 27.568 16.7803 27.584 16.679 27.616C16.583 27.6427 16.495 27.6853 16.415 27.744C16.3403 27.7973 16.279 27.8667 16.231 27.952C16.183 28.032 16.159 28.128 16.159 28.24V31H15.135ZM21.7287 25.08H22.7527V27.52H22.7927C22.8781 27.296 23.0114 27.1093 23.1927 26.96C23.3794 26.8053 23.6354 26.728 23.9607 26.728C24.3927 26.728 24.7234 26.8693 24.9527 27.152C25.1821 27.4347 25.2967 27.8373 25.2967 28.36V31H24.2727V28.464C24.2727 28.1653 24.2194 27.9413 24.1127 27.792C24.0061 27.6427 23.8301 27.568 23.5847 27.568C23.4781 27.568 23.3741 27.584 23.2727 27.616C23.1767 27.6427 23.0887 27.6853 23.0087 27.744C22.9341 27.7973 22.8727 27.8667 22.8247 27.952C22.7767 28.032 22.7527 28.128 22.7527 28.24V31H21.7287V25.08ZM28.5918 24.712L29.5998 25.944L29.0878 26.344L28.1278 25.424L27.1678 26.344L26.6558 25.944L27.6638 24.712H28.5918ZM28.1198 31.096C27.8105 31.096 27.5332 31.0453 27.2878 30.944C27.0478 30.8373 26.8425 30.6907 26.6718 30.504C26.5065 30.312 26.3785 30.0827 26.2878 29.816C26.1972 29.544 26.1518 29.24 26.1518 28.904C26.1518 28.5733 26.1945 28.2747 26.2798 28.008C26.3705 27.7413 26.4985 27.5147 26.6638 27.328C26.8292 27.136 27.0318 26.9893 27.2718 26.888C27.5118 26.7813 27.7838 26.728 28.0878 26.728C28.4132 26.728 28.6958 26.784 28.9358 26.896C29.1758 27.008 29.3732 27.16 29.5278 27.352C29.6825 27.544 29.7972 27.768 29.8718 28.024C29.9518 28.2747 29.9918 28.544 29.9918 28.832V29.168H27.2158V29.272C27.2158 29.576 27.3012 29.8213 27.4718 30.008C27.6425 30.1893 27.8958 30.28 28.2318 30.28C28.4878 30.28 28.6958 30.2267 28.8558 30.12C29.0212 30.0133 29.1678 29.8773 29.2958 29.712L29.8478 30.328C29.6772 30.568 29.4425 30.7573 29.1438 30.896C28.8505 31.0293 28.5092 31.096 28.1198 31.096ZM28.1038 27.496C27.8318 27.496 27.6158 27.5867 27.4558 27.768C27.2958 27.9493 27.2158 28.184 27.2158 28.472V28.536H28.9278V28.464C28.9278 28.176 28.8558 27.944 28.7118 27.768C28.5732 27.5867 28.3705 27.496 28.1038 27.496ZM28.1038 32.552C27.8958 32.552 27.7465 32.5067 27.6558 32.416C27.5705 32.3307 27.5278 32.2213 27.5278 32.088V31.912C27.5278 31.7787 27.5705 31.6667 27.6558 31.576C27.7465 31.4907 27.8958 31.448 28.1038 31.448C28.3118 31.448 28.4585 31.4907 28.5438 31.576C28.6345 31.6667 28.6798 31.7787 28.6798 31.912V32.088C28.6798 32.2213 28.6345 32.3307 28.5438 32.416C28.4585 32.5067 28.3118 32.552 28.1038 32.552Z"></path> <path d="M27.2212 0H10.7532C9.76511 0 8.97461 0.834345 8.97461 1.82643V12.334C8.97461 13.3487 9.78701 14.1604 10.7532 14.1604H22.1051L24.6741 16.8211C24.7839 16.9338 24.9157 17.0015 25.0693 17.0015C25.3768 17.0015 25.6402 16.7535 25.6402 16.4153V14.1604H27.2212C28.2092 14.1604 28.9997 13.3261 28.9997 12.334V1.82643C28.9997 0.811779 28.1873 0 27.2212 0ZM13.2783 9.04195C12.378 9.04195 11.6315 8.2753 11.6315 7.35077C11.6315 6.42631 12.378 5.65966 13.2783 5.65966C14.1785 5.65966 14.925 6.42631 14.925 7.35077C14.925 8.2753 14.2005 9.04195 13.2783 9.04195ZM19.0531 9.04195C18.1528 9.04195 17.4062 8.2753 17.4062 7.35077C17.4062 6.42631 18.1528 5.65966 19.0531 5.65966C19.9533 5.65966 20.6998 6.42631 20.6998 7.35077C20.6998 8.2753 19.9533 9.04195 19.0531 9.04195ZM24.8059 9.04195C23.9056 9.04195 23.1591 8.2753 23.1591 7.35077C23.1591 6.42631 23.9056 5.65966 24.8059 5.65966C25.7061 5.65966 26.4526 6.42631 26.4526 7.35077C26.4526 8.2753 25.7061 9.04195 24.8059 9.04195Z"></path> <path d="M7.9649 12.3782V8.79297H6.16437C5.52762 8.79297 5.00066 9.33418 5.00066 9.98807V16.8878C4.97869 17.5868 5.50564 18.128 6.16437 18.128H7.19637V19.6162C7.19637 19.8192 7.37202 19.9995 7.56964 19.9995C7.67944 19.9995 7.76727 19.9544 7.83312 19.8868L9.52385 18.1505H16.9894C17.6261 18.1505 18.1531 17.6094 18.1531 16.9555V15.2418H10.7535C9.2165 15.2418 7.9649 13.9566 7.9649 12.3782Z"></path></svg> 2668 <span class="svgico--close"> 2669 <svg viewBox="0 0 19 19" role="presentation"><path d="M9.1923882 8.39339828l7.7781745-7.7781746 1.4142136 1.41421357-7.7781746 7.77817459 7.7781746 7.77817456L16.9705627 19l-7.7781745-7.7781746L1.41421356 19 0 17.5857864l7.7781746-7.77817456L0 2.02943725 1.41421356.61522369 9.1923882 8.39339828z" fill-rule="evenodd"></path></svg> </span> 2670 </div> 2671 </div> 2672</div>
2673<script> 2674 $('.addThis_iconContact .item-contact,.addThis_listSharing .addThis_close').on('click', function(e){ 2675 if($('.addThis_listSharing').hasClass('active')){ 2676 $('.addThis_listSharing').removeClass('active'); 2677 $('.addThis_listSharing').fadeOut(150); 2678 } 2679 else{ 2680 $('.addThis_listSharing').fadeIn(100); 2681 $('.addThis_listSharing').addClass('active'); 2682 } 2683 }); 2684</script>
2684 2685
2685<script> 2686 $(".rte iframe").each(function(){ 2687 $(this).wrap("<div class='js-warp-iframe'></div>"); 2688 $(this).addClass("video"); 2689 $(this).css({ 2690 width: '100%', 2691 height: '100%' 2692 }); 2693 }) 2694</script>
2694 2695 2696 2697 2698<style> 2699 .rte .js-warp-iframe{ 2700 position: relative; 2701 width: 100%; 2702 height: 0px; 2703 padding-bottom: 56.25%; 2704 } 2705 .rte .video { 2706 position: absolute; 2707 top: 0; 2708 left: 0; 2709 width: 100%; 2710 height: 100%; 2711 } 2712 2713</style>
2714<script> 2715/* Do luong nhap Goi dien va Zalo cho GA4 - them ngay 28/07/2026 */ 2716document.addEventListener("click", function (e) { 2717 var a = e.target && e.target.closest ? e.target.closest("a") : null; 2718 if (!a || typeof gtag !== "function") return; 2719 var h = a.getAttribute("href") || ""; 2720 if (h.indexOf("tel:") === 0) { 2721 gtag("event", "nhan_goi_dien", { so_dien_thoai: h.replace("tel:", "").replace(/[^0-9]/g, "") }); 2722 } else if (h.indexOf("zalo.me") > -1) { 2723 gtag("event", "nhan_zalo", {}); 2724 } 2725}, true); 2726</script>
2726 2727 2728<style> 2729/* BANG >=4 COT: cuon ngang tren dien thoai. Them 25/08/2026 theo phuong an C cua anh Thanh */ 2730.vnt-tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0;max-width:100%} 2731.vnt-tbl-scroll table{margin:0 !important} 2732@media(max-width:767px){ 2733 .vnt-tbl-scroll table{min-width:560px !important;display:table !important;overflow-x:visible !important} 2734 .vnt-tbl-scroll{border:1px solid #d9dee8;border-radius:8px} 2735} 2736</style> 2737
2738<script> 2739(function(){ 2740 function bocBangRong(){ 2741 var ds=document.querySelectorAll(".article__content table, .content-page table, .rte.product_getcontent table, .descrip_coll table"); 2742 for(var i=0;i<ds.length;i++){ 2743 var t=ds[i]; 2744 if(t.parentElement && (""+t.parentElement.className).indexOf("vnt-tbl-scroll")>-1) continue; 2745 var hang=t.querySelector("tr"); if(!hang) continue; 2746 if(hang.querySelectorAll("td,th").length < 4) continue; 2747 var box=document.createElement("div"); 2748 box.className="vnt-tbl-scroll"; 2749 t.parentNode.insertBefore(box,t); 2750 box.appendChild(t); 2751 } 2752 } 2753 if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",bocBangRong);}else{bocBangRong();} 2754})(); 2755</script>
2755 2756 2757<style> 2758/* KHOI TOM TAT duoi anh san pham. Them 25/08/2026 theo y anh Thanh */ 2759@media(max-width:767px){} 2760 2761/* vnt-phang-chan: 3 cot trang san pham bang chan nhau tren PC */ 2762@media(min-width:992px){ 2763.col-lg-9.col-col-md-9{display:flex;flex-direction:column} 2764.col-lg-9.col-col-md-9>.row{flex:1 1 auto} 2765.product-detail-left{display:flex;flex-direction:column} 2766.product-detail-left>.product-image-block{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%} 2767.product-detail-left>.product-image-block>.gallery-top{flex:0 0 auto;width:100%;max-width:100%;min-width:0;overflow:hidden} 2768.product-detail-left>.product-image-block>.gallery-thumbs{flex:0 0 auto;width:100%;max-width:100%;min-width:0;overflow:hidden} 2769.product-detail-left>.product-image-block>.vnt-tomtat{flex:1 1 auto;width:100%} 2770.details-pro{display:flex;flex-direction:column} 2771.details-pro>form.form-inline{flex:0 0 auto;display:flex;flex-direction:column} 2772.details-pro .khuyen-mai{flex:0 0 auto;display:flex;flex-direction:column} 2773.details-pro .khuyen-mai .content{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-start} 2774.details-pro-3 .pro-right-stick{display:flex;flex-direction:column;height:100%} 2775.details-pro-3 .pro-right-stick>*:last-child{flex:1 1 auto;display:flex !important;flex-direction:column} 2776.pro-right-stick>*:last-child>.vnt-hotro{flex:1 1 auto} 2777.vnt-hotro-img{flex:1 1 auto;min-height:0;object-fit:cover;object-position:center 42%} 2778.details-pro-3 .product-favi{flex:1 1 auto;display:flex;flex-direction:column} 2779.details-pro-3 .product-favi-content{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between} 2780.box_combo:not(:has(*)){display:none} 2781.product-detail-left .product-image-block:has(.vnt-tomtat){margin-bottom:0} 2782} 2783.vnt-tomtat{background:#fff;border:1px solid #e7eaf0;border-radius:12px;padding:18px 20px;margin:18px 0 0;line-height:1.7;color:#2a3050;font-size:15px} 2784.vnt-tomtat p{margin:0 0 8px} 2785.vnt-tomtat p:last-child{margin-bottom:0} 2786.vnt-tomtat ul{margin:0;padding:0;list-style:none} 2787.vnt-tomtat li{margin:0 0 10px;padding-left:27px;position:relative} 2788.vnt-tomtat li:last-child{margin-bottom:0} 2789.vnt-tomtat li::before{content:'';position:absolute;left:0;top:4px;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23ff6d01'/%3E%3Cpath d='M5.6 10.3l2.9 2.9 5.9-6.1' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;background-size:contain} 2790@media(max-width:767px){.vnt-tomtat li{padding-left:25px}.vnt-tomtat li::before{width:17px;height:17px;top:3px}} 2791.vnt-tomtat li:last-child{margin-bottom:0} 2792.vnt-tomtat strong,.vnt-tomtat b{font-weight:600;color:#1c244b} 2793@media(max-width:767px){.vnt-tomtat{margin:14px 0;padding:15px 16px;font-size:14.5px}} 2794 2795/* khoi ho tro cot phai - nut vien cam, di chuot vao dao mau */ 2796.vnt-hotro{border:1px solid #e0e0e0;border-radius:10px;margin-top:14px;padding:10px;display:flex;flex-direction:column;background:#fff} 2797.vnt-hotro-img{display:block;width:100%;height:auto;border-radius:7px} 2798.vnt-hotro-t{color:#1c244b;font-size:15px;font-weight:600;text-align:center;line-height:1.45;margin:11px 0 10px} 2799.vnt-hotro-w{text-align:center} 2800.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid #ff6d01;font-size:14px;font-weight:600;padding:7px 14px;border-radius:5px;text-decoration:none !important;transition:box-shadow .15s,color .15s} 2801.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn,.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn span,.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn svg{color:#ff6d01 !important} 2802.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn span,.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn svg{position:relative;z-index:1} 2803.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn:hover,.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn:focus{box-shadow:inset 0 0 0 999px #ff6d01 !important} 2804.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn:hover span,.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn:hover svg,.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn:focus span,.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn:focus svg{color:#fff !important} 2805@media(max-width:767px){.vnt-hotro{margin:16px 0 0}} 2806 2807/* gon cot giua: an o so luong, dong co chu 3 nut */ 2808.details-pro .flex-quantity .custom-btn-number{display:none !important} 2809.details-pro .btn-mua .text-buy,.details-pro .btn-mua span:first-child{font-size:16px !important;font-weight:600 !important;text-transform:uppercase} 2810.details-pro #pagelogin-product{padding:12px !important} 2811.details-pro #pagelogin-product .btn-lienhe{font-size:16px !important;font-weight:600 !important;text-transform:uppercase;padding:5px 12px !important;margin-left:8px !important;white-space:nowrap} 2812.details-pro #pagelogin-product .group_contact{margin-bottom:0 !important} 2813.details-pro #pagelogin-product .group_contact .row>*{margin-top:0 !important} 2814.details-pro .btn-mua .text-buy,.details-pro .btn-mua span:first-child{display:block;margin-bottom:3px} 2815.details-pro .btn-mua a,.details-pro .btn-mua button{padding-top:9px !important;padding-bottom:9px !important;line-height:1.35 !important} 2816.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn span{font-size:16px !important;text-transform:uppercase} 2817 2818/* tich tron cam khoi qua tang - dong bo voi khoi mo ta ngan */ 2819.khuyen-mai .box_qua_tang img{display:none !important} 2820.khuyen-mai .box_qua_tang{display:flex !important;align-items:flex-start;gap:7px} 2821.khuyen-mai .box_qua_tang::before{content:'';flex:0 0 15px;width:15px;height:15px;margin-top:4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23ff6d01'/%3E%3Cpath d='M5.6 10.3l2.9 2.9 5.9-6.
28211' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;background-size:contain} 2822</style> 2823<style id="vnt-nut-cuoi"> 2824/* vnt-tab-dong-bo: 3 tab Mo ta/Bao hanh/Danh gia dong bo voi tieu de THONG SO KY THUAT */ 2825@media(min-width:992px){ 2826.product-tab .tabs-title li,.product-tab .tabs-title li span,.product-tab .tabs-title li a{font-size:20px !important;font-weight:600 !important;text-transform:uppercase !important;line-height:27px !important} 2827.product-tab .tabs-title li:not(.active),.product-tab .tabs-title li:not(.active) span,.product-tab .tabs-title li:not(.active) a{color:#1c244b !important} 2828.product-tab .tabs-title li.active,.product-tab .tabs-title li.active span,.product-tab .tabs-title li.active a{color:#ff6d01 !important} 2829} 2830 2831/* vnt-mau-nut-goi: chu nut chon goi dung mau navy cua trang, khong dung den tuyet doi */ 2832@media(min-width:992px){ 2833.details-pro .swatch-element label{color:#1c244b !important} 2834.details-pro .swatch-element input:checked + label,.details-pro .swatch-element.checked label{color:#fff !important} 2835} 2836 2837/* vnt-nut-dong-bo: dong bo nut Xem mo ta chi tiet va Xem thong so chi tiet theo kieu nut Lien he tu van */ 2838.view_mores a,.product-spec a.spec-toggle-btn{display:inline-flex !important;align-items:center;justify-content:center;gap:7px;min-height:40px !important;box-sizing:border-box !important;border:1px solid #d8dce5 !important;border-radius:5px !important;color:#1c244b !important;font-size:14px !important;font-weight:600 !important;padding:9px 18px !important;text-decoration:none !important;transition:box-shadow .15s,border-color .15s,color .15s;line-height:1.4 !important} 2839.view_mores a:hover,.product-spec a.spec-toggle-btn:hover{box-shadow:inset 0 0 0 999px #ff6d01 !important;border-color:#ff6d01 !important;color:#fff !important} 2840.view_mores a:hover img,.product-spec a.spec-toggle-btn:hover span,.product-spec a.spec-toggle-btn:hover svg{filter:brightness(0) invert(1)} 2841.view_mores a img{width:12px !important;height:12px !important} 2842.product-spec a.spec-toggle-btn{width:auto !important;margin:0 auto} 2843.product-spec{text-align:center} 2844 2845/* vnt-nut-mua-cao: nut Mua ngay cao bang khoi Goi lai */ 2846@media(min-width:992px){ 2847.details-pro .btn-mua a,.details-pro .btn-mua button{min-height:66px !important;display:flex !important;flex-direction:column;align-items:center;justify-content:center} 2848}
2848 2849 2850/* vnt-faq-840: khoi Cau hoi thuong gap rong 840px, noi dung cach le 30px */ 2851@media(min-width:992px){ 2852.vnt-faq{max-width:840px !important} 2853.vnt-faq .vnt-faq__tit{padding-left:30px !important;padding-right:30px !important} 2854.vnt-faq .vnt-faq__body{width:100% !important;max-width:none !important;padding-left:30px !important;padding-right:30px !important;margin-left:0 !important;margin-right:0 !important;box-sizing:border-box} 2855} 2856 2857/* vnt-thanh-nut-2808: thanh nut canh khoi mo ta san pham. Khoi tren va cot thong so KHONG dung toi. Go bo bang cach xoa khoi nay va khoi script vnt-thanh-nut-js */ 2858@media(min-width:992px){ 2859.details-product > .row > .col-lg-9.col-col-md-9:has(.vnt-mota-wrap){background:transparent !important} 2860.details-product > .row > .col-lg-9 > .row{margin-left:0 !important;margin-right:0 !important} 2861.row > .col-lg-9:has(.vnt-mota-wrap){padding-top:0 !important} 2862/* vnt-dem-khoi-tren: khoang tho cho khoi anh + gia */ 2863 2864.vnt-mota-wrap{display:flex;gap:30px;align-items:flex-start;max-width:840px;padding:25px 30px;background:#fff;border-radius:12px;margin-top:0} 2865.vnt-thanh-nut{flex:0 0 50px;position:sticky;top:100px;display:flex;flex-direction:column;gap:10px;margin-top:0} 2866.vnt-mota-wrap>.product-tab{flex:0 0 700px !important;max-width:700px !important;padding:0 !important;background:transparent !important;margin-top:0 !important} 2867.vnt-nut{width:50px;height:50px;border:1px solid #e2e6ee;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#1c244b;text-decoration:none;transition:border-color .15s,color .15s,box-shadow .15s;position:relative} 2868.vnt-nut:hover{border-color:#ff6d01;color:#ff6d01;box-shadow:0 2px 10px rgba(255,109,1,.18)} 2869.vnt-nut svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round} 2870.vnt-nut span{position:absolute;right:60px;left:auto;white-space:nowrap;background:#1c244b;color:#fff;font-size:13px;padding:5px 10px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s} 2871.vnt-nut:hover span{opacity:1} 2872} 2873@media(max-width:991px){.vnt-thanh-nut{display:none}} 2874 2875@media(min-width:992px){ 2876body .right-content.col-lg-8{flex:0 0 61.8% !important;max-width:61.8% !important;padding-left:30px !important;padding-right:30px !important} 2877body .blog_left_base.col-lg-4{flex:0 0 38.2% !important;max-width:38.2% !important;padding-left:25px !important;padding-right:20px !important} 2878body .blog_noibat .blog_content{padding:10px 16px 14px !important} 2879body .blog_noibat .blog_content .item{padding:9px 0 !important} 2880body .blog_noibat .h2_sidebar_blog{padding:9px 16px !important} 2881} 2882 2883/* ~~~~~ Video doc Vntrack (Shorts 9:16) ~~~~~ */ 2884.bg_cl{pointer-events:none} 2885.content_coll .bg_cl{top:auto !important;bottom:0 !important;height:120px !important} 2886.vnt-video{position:relative;max-width:340px;margin:26px auto;aspect-ratio:9/16;border-radius:12px;overflow:hidden;background:#1c244b;cursor:pointer;display:block} 2887.vnt-video picture{display:block !important;width:100% !important;height:100% !important;position:absolute;top:0;left:0} 2888.vnt-video img{width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;display:block !important;border:0;margin:0 !important;padding:0 !important;border-radius:0 !important} 2889/* Bien the video ngang 16:9 */ 2890.vnt-video.ngang{max-width:720px;aspect-ratio:16/9} 2891 2892 2893 2894.vnt-video .vnt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:67px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2098.94%20122.88'%3E%3Cpath%20d%3D'M63.49%202.71c11.59-6.04%2025.94-1.64%2032.04%209.83%206.1%2011.47%201.65%2025.66-9.94%2031.7l-9.53%205.01c8.21.3%2016.04%204.81%2020.14%2012.52%206.1%2011.47%201.66%2025.66-9.94%2031.7l-50.82%2026.7c-11.59%206.04-25.94%201.64-32.04-9.83-6.1-11.47-1.65-25.66%209.94-31.7l9.53-5.01c-8.21-.3-16.04-4.81-20.14-12.52-6.1-11.47-1.65-25.66%209.94-31.7l50.82-26.7zM36.06%2042.53l30.76%2018.99-30.76%2018.9V42.53z'%20fill%3D'%23f40407'%2F%3E%3Cpath%20d%3D'M36.06%2042.53V80.42L66.82%2061.52Z'%20fill%3D'%23fff'%2F%3E%3C%2Fsvg%3E") no-repeat center;background-size:contain;display:block;pointer-events:none;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35));transition:filter .2s ease} 2895.vnt-video.ngang .vnt-play{width:72px;height:50px;border-radius:13px;background:#f00;background-image:none;box-shadow:0 3px 14px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center} 2896.vnt-video:hover .vnt-play{filter:brightness(1.12)} 2897.vnt-video .vnt-play::after{content:none} 2898.vnt-video.ngang .vnt-play::after{content:'';margin-left:3px;border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent} 2899.vnt-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0} 2900.rte .vnt-video .js-warp-iframe{position:static;padding-bottom:0;height:auto} 2901 2902
2903/* mobile: danh sach sat le trai hon de chu duoc nhieu chu tren 1 dong */ 2904@media(max-width:767px){ 2905.product_getcontent ul,.product_getcontent ol{padding-left:0 !important;margin-left:0 !important} 2906.product_getcontent ul li,.product_getcontent ol li{padding-left:25px !important;margin-left:0 !important} 2907.product_getcontent ul li,.product_getcontent ol li,.product_getcontent p{text-align:left !important} 2908} 2909 2910/* can deu chu trong o bang thong so - the p ben trong co margin-bottom 15px lam lech */ 2911.product-spec table td p,.product-spec table th p,#spec-modal table td p,#spec-modal table th p,.modalspec-product table td p,.modalspec-product table th p{margin:0 !important} 2912.product-spec table td p+p,.product-spec table th p+p,#spec-modal table td p+p,.modalspec-product table td p+p{margin-top:5px !important} 2913#spec-modal table td,#spec-modal table th,.modalspec-product table td,.modalspec-product table th{padding:5px 12px !important;font-size:15px !important} 2914 2915.product_getcontent table td p,.product_getcontent table th p{margin:0 !important} 2916.product_getcontent table td p+p,.product_getcontent table th p+p{margin-top:5px !important} 2917 2918/* bong nhe 3 nut - KHONG dat transition cho filter (transition tu none lam bong treo o trong suot) */ 2919.details-pro .btn-mua a,.details-pro .btn-mua button{filter:drop-shadow(0 2px 4px rgba(255,109,1,.38)) !important;transition:transform .16s !important} 2920.details-pro .btn-mua a:hover,.details-pro .btn-mua button:hover{filter:drop-shadow(0 4px 8px rgba(255,109,1,.5)) !important;transform:translateY(-1px)} 2921.details-pro #pagelogin-product .btn-lienhe{filter:drop-shadow(0 2px 4px rgba(120,10,10,.45)) !important;transition:transform .16s !important} 2922.details-pro #pagelogin-product .btn-lienhe:hover{filter:drop-shadow(0 4px 8px rgba(120,10,10,.55)) !important;transform:translateY(-1px)} 2923.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn{filter:drop-shadow(0 1px 2px rgba(28,36,75,.2)) !important;transition:transform .16s,box-shadow .16s,color .16s !important} 2924.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn:hover,.vnt-hotro .vnt-hotro-w a.vnt-hotro-btn:focus{filter:drop-shadow(0 3px 6px rgba(255,109,1,.45)) !important;transform:translateY(-1px)} 2925 2926/* vnt-cot-giua-2708: chinh cot giua trang san pham, chi ban PC */ 2927@media(min-width:992px){ 2928.details-pro .a-vendor,.details-pro .a-stock{font-weight:600 !important} 2929.details-pro .swatch .header{font-size:16px !important} 2930.details-pro .swatch .header .value-roperties{font-size:16px !important;font-weight:600 !important} 2931.details-pro .swatch-element label{font-size:16px !important;font-weight:600 !important} 2932.details-pro .khuyen-mai .box_qua_tang{margin-bottom:10px !important} 2933} 2934 2935/* vnt-anh-bia-2708: ep anh bia lap day khung, thang luat .rte img cua theme */ 2936.rte .vnt-video img,.vnt-video picture img,.vnt-video>img{width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;display:block !important;border:0 !important;border-radius:0 !important;margin:0 !important;padding:0 !important} 2937.rte .vnt-video picture,.vnt-video picture{display:block !important;width:100% !important;height:100% !important;position:absolute !important;top:0 !important;left:0 !important} 2938 2939/* vnt-an-video-thu-gon: khi mo ta chua mo, an khoi video de khong lo mau cut va khong tai anh bia */ 2940.content_coll:not(.descrip_coll):not(.active) .vnt-video{display:none !important} 2941/* vnt-hien-video-sp-2309: tu 19-09 da bo nut Xem mo ta nen .content_coll khong bao gio co .active, luat tren lam khoi video an vinh vien tren trang san pham. Mo lai rieng cho trang san pham, trang danh muc giu nguyen. */ 2942body .product-tab .tab-content .content_coll .vnt-video{display:block !important} 2943body .product-tab .tab-content .content_coll .vnt-video-hang{display:flex !important} 2944 2945} 2946 2947/* vnt-be-rong-doc-2708: thu hep khoi bai viet con 680px (~82 ky tu/dong, chuan WCAG 80), can giua trong cot. Cot phai GIU NGUYEN. Go bo bang cach xoa khoi nay. */ 2948@media(min-width:992px){ 2949} 2950 2951/* vnt-tag-box-2708: hop the chu de duoi hop Tin tuc noi bat */ 2952.vnt-tag-box{margin-top:18px;border:1px solid #e2e6ee;border-radius:10px;background:#fff;overflow:hidden} 2953.vnt-tag-box .h2_sidebar_blog{background:none !important;background-color:transparent !important;padding:13px 15px 2px !important;margin:0 !important;border:0 !important}
2954.vnt-tag-box .h2_sidebar_blog a{color:#1c244b !important;font-size:15px !important;font-weight:600 !important;text-transform:none !important} 2955.vnt-tag-list{display:flex;flex-wrap:wrap;gap:8px;padding:10px 15px 15px} 2956.vnt-tag-list a{display:inline-block;padding:6px 13px;border:1px solid #e2e6ee;border-radius:20px;font-size:14px;line-height:1.45;color:#2a3050;text-decoration:none;transition:box-shadow .15s,border-color .15s,color .15s} 2957.vnt-tag-list a:hover{box-shadow:inset 0 0 0 999px #ff6d01;border-color:#ff6d01;color:#fff !important;font-weight:600}} 2958 2959/* vnt-sosanh: can day nut So sanh bang day gia, ca PC lan mobile */ 2960body .details-pro form .price-box{display:block !important} 2961body .details-pro form .price-box .special-price{display:flex !important;align-items:flex-end;flex-wrap:nowrap;width:auto !important;max-width:none !important;float:none !important;margin:0 !important} 2962body .details-pro .box_compare{position:static !important;top:auto !important;right:auto !important;left:auto !important;margin:0 !important;margin-left:auto !important;padding-left:14px;flex:0 0 auto} 2963 2964/* vnt-can-mota: can chu MO TA va gach ngang thang voi khoi THONG SO */ 2965@media(min-width:992px){ 2966body .vnt-mota-wrap{padding-top:0 !important} 2967body .product-tab .tabs-title li{padding-top:13px !important;padding-bottom:12px !important} 2968body .product-tab .tab-content.active{padding-top:20px !important} 2969body .product-tab .tab-content:not(.active){padding-top:0 !important;padding-bottom:0 !important} 2970body .vnt-mota-wrap .view_mores{margin-bottom:14px !important} 2971body .product-tab .tab-content h2:first-child, 2972body .product-tab .tab-content .content_coll>h2:first-child, 2973body .product-tab .tab-content .content_coll>*:first-child>h2:first-child{margin-top:0 !important} 2974} 2975 2976/* vnt-hang-thuong-hieu: dong thuong hieu gon 1 hang, bo chu Tinh trang, giu dau | tren dien thoai */ 2977body .details-pro .inventory_quantity{display:flex;flex-wrap:wrap;align-items:center;row-gap:4px} 2978body .details-pro .inventory_quantity .line{display:inline !important;white-space:pre} 2979body .details-pro .inventory_quantity .mb-break{display:inline-flex;align-items:center} 2980body .details-pro .inventory_quantity .mb-break .stock-brand-title{margin-right:5px} 2981body .details-pro .inventory_quantity span.mb-break:nth-of-type(3) .stock-brand-title{display:none} 2982body .details-pro .inventory_quantity .danhgiasao{display:inline-flex;align-items:center;margin-left:10px} 2983/* can chan chu "Gia:" thang voi so tien */ 2984body .details-pro form .price-box .special-price{align-items:baseline
2984!important} 2985body .details-pro .box_compare{align-self:baseline !important} 2986 2987/* vnt-dong-bo-mobile: cach chu Gia voi so tien (ca 2 ban) + dong bo dien thoai theo ban PC */ 2988body .details-pro .price-box .special-price .price{margin-left:8px} 2989@media(max-width:991px){ 2990body .details-pro .inventory_quantity .a-vendor, 2991body .details-pro .inventory_quantity .a-stock{font-weight:600} 2992body .details-pro .swatch .header{font-size:16px} 2993body .details-pro .swatch .header .value-roperties{font-size:16px;font-weight:600} 2994body .details-pro .swatch-element label{font-size:16px !important;font-weight:600 !important;padding-left:2px !important;padding-right:2px !important} 2995body .details-pro .swatch-element{margin-right:8px !important} 2996body .details-pro .btn-mua a, 2997body .details-pro .btn-mua button{min-height:66px !important;display:flex !important;flex-direction:column;align-items:center;justify-content:center} 2998} 2999 3000/* vnt-ha-thanh-nut: ha thanh icon xuong cho icon dau ngang dong "Dac diem noi bat" */ 3001@media(min-width:992px){ 3002body .vnt-thanh-nut{margin-top:65px !important} 3003} 3004 3005/* vnt-tab-mobile: tab MO TA/BAO HANH/DANH GIA tren dien thoai dong bo voi ban PC */ 3006@media(max-width:991px){ 3007body .product-tab .tabs-title{display:flex !important;justify-content:space-between;flex-wrap:nowrap} 3008body .product-tab .tabs-title li{margin-right:0 !important;padding-top:13px !important;padding-bottom:12px !important} 3009body .product-tab .tabs-title li, 3010body .product-tab .tabs-title li a, 3011body .product-tab .tabs-title li span{font-size:20px !important;font-weight:600 !important;text-transform:uppercase !important;line-height:27px !important;white-space:nowrap} 3012body .product-tab .tabs-title li:not(.active), 3013body .product-tab .tabs-title li:not(.active) a, 3014body .product-tab .tabs-title li:not(.active) span{color:#1c244b !important} 3015body .product-tab .tabs-title li.active, 3016body .product-tab .tabs-title li.active a, 3017body .product-tab .tabs-title li.active span{color:#ff6d01 !important} 3018} 3019/* le 2 ben noi dung mo ta tren dien thoai: bo dem thua de thang hang voi ten san pham */ 3020@media(max-width:991px){ 3021body .vnt-mota-wrap .product-tab{padding-left:0 !important;padding-right:0 !important} 3022body .vnt-mota-wrap .product-tab .rte ul{padding-left:25px !important} 3023} 3024@media(max-width:360px){ 3025body .product-tab .tabs-title li, 3026body .product-tab .tabs-title li a, 3027body .product-tab .tabs-title li span{font-size:18px !important} 3028} 3029 3030/* vnt-nut-goi-dv (don lai 25/09/2026): da GO cac thuoc tinh bi khoi vnt-nutmua-1109 o duoi de len hoan toan (width, padding, border-radius, line-height cua nhan goi; flex cua o goi; va khoi @media 374px da chet). GIU lai cac thuoc tinh chi co o day, neu go luon thi giao dien nut chon goi se doi that. Ban cu: assets/_ban-truoc-theme-go-css-mau-thuan-25-09.txt */ 3031body .details-pro .btn-mua a, 3032body .details-pro .btn-mua button, 3033body .details-pro .btn-mua .buynow{border-radius:10px !important} 3034body .details-pro .swatch{display:flex !important;flex-wrap:wrap;gap:6px} 3035body .details-pro .swatch .header{flex:0 0 100%;font-size:18px !important;margin-bottom:2px !important} 3036body .details-pro .swatch .swatch-element{margin:0 !important;min-width:0} 3037body .details-pro .swatch .swatch-element label{height:auto !important;text-align:center;box-sizing:border-box;white-space:nowrap} 3038 3039/* vnt-video-hang-2908: khung xep video. Anh Thanh chot 29/08. 3040 1 video -> can giua, khong bang chuyen 3041 2 video -> hai cai canh nhau tren may tinh 3042 3 video tro len -> xuong dong tren may tinh, vuot ngang tren dien thoai 3043 Cach dung: boc cac khoi .vnt-video trong <div class="vnt-video-hang"> */ 3044.vnt-video-hang{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:26px 0} 3045.vnt-video-hang .vnt-video{margin:0;flex:0 1 auto;max-width:320px;min-width:0;width:100%} 3046.vnt-video-hang .vnt-video.ngang{max-width:100%;flex:1 1 100%} 3047.vnt-video-hang > .vnt-video:only-child:not(.ngang){max-width:340px} 3048@media(min-width:768px){ 3049.vnt-video-hang .vnt-video{max-width:calc(50% - 8px)} 3050.vnt-video-hang > .vnt-video:only-child:not(.ngang){max-width:340px} 3051} 3052@media(max-width:767px){ 3053.vnt-video-hang{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;padding-bottom:8px;justify-content:flex-start} 3054.vnt-video-hang .vnt-video{scroll-snap-align:center;flex:0 0 76%;max-width:76%} 3055.vnt-video-hang > .vnt-video:only-child:not(.ngang){flex:0 0 100%;max-width:340px;margin:0 auto} 3056} 3057.vnt-video-cham{display:none} 3058@media(max-width:767px){ 3059.vnt-video-cham{display:flex;justify-content:center;gap:8px;margin:10px 0 0} 3060.vnt-video-cham span{width:8px;height:8px;border-radius:50%;background:#c9cede;cursor:pointer;transition:background .2s,width .2s} 3061.vnt-video-cham span.on{background:#1c244b;width:20px;border-radius:4px} 3062} 3063</style> 3064
3065<script id="vnt-video-js"> 3066/* Video doc Vntrack: bam moi nap YouTube */ 3067document.addEventListener("click", function(e){ 3068 var box = e.target && e.target.closest ? e.target.closest(".vnt-video") : null; 3069 if(!box) return; 3070 if(box.getAttribute("data-done")) return; 3071 var id = box.getAttribute("data-yt"); 3072 if(!id) return; 3073 box.setAttribute("data-done","1"); 3074 var f = document.createElement("iframe"); 3075 f.setAttribute("src","https://www.youtube.com/embed/" + id + "?autoplay=1&rel=0&playsinline=1"); 3076 f.setAttribute("title", box.getAttribute("data-title") || "Video Vntrack"); 3077 f.setAttribute("allow","accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; web-share"); 3078 f.setAttribute("allowfullscreen",""); 3079 box.innerHTML = ""; 3080 box.appendChild(f); 3081}); 3082 3083document.addEventListener("DOMContentLoaded",function(){ 3084document.querySelectorAll(".vnt-video-hang").forEach(function(hang){ 3085if(hang.nextElementSibling&&hang.nextElementSibling.classList.contains("vnt-video-cham"))return; 3086var vs=hang.querySelectorAll(".vnt-video"); 3087if(vs.length<2)return; 3088var cham=document.createElement("div");cham.className="vnt-video-cham"; 3089vs.forEach(function(v,i){var s=document.createElement("span");if(i===0)s.className="on"; 3090s.addEventListener("click",function(){hang.scrollTo({left:v.offsetLeft-vs[0].offsetLeft,behavior:"smooth"});}); 3091cham.appendChild(s);}); 3092hang.parentNode.insertBefore(cham,hang.nextSibling); 3093hang.addEventListener("scroll",function(){var b=vs[0].getBoundingClientRect().width+12;if(!b)return; 3094var i=Math.round(hang.scrollLeft/b); 3095cham.querySelectorAll("span").forEach(function(s,j){s.classList.toggle("on",j===i);});},{passive:true}); 3096}); 3097}); 3098</script>
3098 3099
3100<script id="vnt-thanh-nut-js"> 3101(function(){ 3102 function vntDung(){ 3103 var t=document.querySelector(".product-tab"); 3104 if(!t) return; 3105 if(document.querySelector(".vnt-mota-wrap")) return; 3106 var box=document.createElement("div"); box.className="vnt-mota-wrap"; 3107 var bar=document.createElement("div"); bar.className="vnt-thanh-nut"; 3108 bar.innerHTML="<a class='vnt-nut' href='tel:0936729559'><svg viewBox='0 0 24 24'><path d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.2 2 2 0 0 1 4 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.1a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/></svg><span>Gá»i tư vấn</span></a><a class='vnt-nut' href='https://zalo.me/vntrack' target='_blank' rel='noopener'><svg viewBox='0 0 24 24'><path d='M21 11.5a8.4 8.4 0 0 1-9 8.4 9.9 9.9 0 0 1-2.8-.4L3 21l1.6-4.8A8.2 8.2 0 0 1 3 11.5a8.4 8.4 0 0 1 9-8.4 8.4 8.4 0 0 1 9 8.4z'/></svg><span>Chat Zalo</span></a><a class='vnt-nut' href='#' data-vnt='mua'><svg viewBox='0 0 24 24'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg><span>Mua ngay</span></a><a class='vnt-nut' href='#' data-vnt='spec'><svg viewBox='0 0 24 24'><rect x='3' y='3' width='18' height='18' rx='2'/><path d='M3 9h18M3 15h18M9 3v18'/></svg><span>Thông sá»</span></a><a class='vnt-nut' href='#' data-vnt='faq'><svg viewBox='0 0 24 24'><circle cx='12' cy='12' r='9'/><path d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3'/><path d='M12 17h.01'/></svg><span>Há»i Äáp</span></a>"; 3109 t.parentNode.insertBefore(box,t); 3110 box.appendChild(bar); box.appendChild(t); 3111 bar.addEventListener("click",function(e){ 3112 var a=e.target.closest ? e.target.closest("[data-vnt]") : null; 3113 if(!a) return; 3114 e.preventDefault(); 3115 var k=a.getAttribute("data-vnt"); 3116 if(k==="mua"){ var m=document.querySelector(".btn-mua .buynow, .btn-mua a, .btn-mua button"); if(m) m.click(); } 3117 if(k==="faq"){ var f=document.querySelector(".vnt-faq"); if(f) window.scrollTo({top: f.getBoundingClientRect().top + window.pageYOffset - 110, behavior:"smooth"}); } 3118 if(k==="spec"){ var s=document.querySelector(".product-spec a"); if(s) s.click(); } 3119 }); 3120 } 3121 if(document.readyState==="loading"){ document.addEventListener("DOMContentLoaded",vntDung); } else { vntDung(); } 3122})(); 3123</script>
3123 3124
3125<script id="vnt-doi-chu-nut"> 3126(function(){ 3127 function doi(){ 3128 var a=document.querySelector(".view_mores a.one"); 3129 if(a){ var im=a.querySelector("img"); a.textContent="Xem mô tả chi tiết "; if(im) a.appendChild(im); } 3130 } 3131 if(document.readyState==="loading"){ document.addEventListener("DOMContentLoaded",doi); } else { doi(); } 3132})(); 3133</script>
3133 3134
3135<script id="vnt-sua-heading"> 3136(function(){ 3137 function doiThe(el, theMoi){ 3138 var m = document.createElement(theMoi); 3139 for (var i = 0; i < el.attributes.length; i++) { m.setAttribute(el.attributes[i].name, el.attributes[i].value); } 3140 m.innerHTML = el.innerHTML; 3141 el.parentNode.replaceChild(m, el); 3142 return m; 3143 } 3144 function sua(){ 3145 var NHAN = ["Th\u00f4ng s\u1ed1 k\u1ef9 thu\u1eadt"]; 3146 var NHAN3 = ["S\u1ea3n ph\u1ea9m li\u00ean quan", "S\u1ea3n ph\u1ea9m \u0111\u00e3 xem"]; 3147 document.querySelectorAll("h4").forEach(function(h){ 3148 var t = (h.textContent || "").replace(/\s+/g, " ").trim(); 3149 if (NHAN.indexOf(t) > -1) { doiThe(h, "h2"); return; } 3150 if (NHAN3.indexOf(t) > -1) { doiThe(h, "h3"); return; } 3151 if (/[0-9]{3}x{3}/.test(t) || h.closest(".alert, .notify, [class*=order-noti], [class*=sale-noti]")) { doiThe(h, "div"); return; } 3152 }); 3153 document.querySelectorAll("h1,h2,h3,h4,h5,h6").forEach(function(h){ 3154 if (!(h.textContent || "").trim() && !h.querySelector("img")) { doiThe(h, "div"); } 3155 }); 3156 document.querySelectorAll(".product-tab h3, .tabs-title h3, .e-tabs h3").forEach(function(h){ doiThe(h, "span"); }); 3157 document.querySelectorAll(".product-viewed h1,.product-viewed h2,.product-viewed h3,.product-viewed h4,.product-viewed h5,.product-viewed h6").forEach(function(h){ var t=(h.textContent||"").replace(/\s+/g," ").trim(); if(t!=="S\u1ea3n ph\u1ea9m \u0111\u00e3 xem") doiThe(h, "div"); }); 3158 document.querySelectorAll("footer h5, .footer h5, #footer h5, footer h3, .footer h3, #footer h3").forEach(function(h){ doiThe(h, "h4"); }); 3159 } 3160 if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", sua); } else { sua(); } 3161 setTimeout(sua, 1500); 3162 /* vnt-theo-doi-popup: popup "vua co nguoi dat hang" hien sau khi tai trang nen phai theo doi lien tuc */ 3163 function boHeadingPopup(){ 3164 document.querySelectorAll("h1,h2,h3,h4,h5,h6").forEach(function(h){ 3165 var t = (h.textContent || "").replace(/\s+/g, " ").trim(); 3166 if (/xxx/.test(t) || /^\u0110\u00e3 \u0111\u1eb7t/i.test(t)) { doiThe(h, "div"); } 3167 }); 3168 } 3169 boHeadingPopup(); 3170 if (window.MutationObserver) { 3171 var mo = new MutationObserver(function(){ boHeadingPopup(); }); 3172 mo.observe(document.body, { childList: true, subtree: true }); 3173 } 3174})(); 3175</script>
3175 3176
3177<script id="vnt-khoi-gia-js"> 3178/* vnt-khoi-gia-2109: thay script vnt-sosanh-js cu (tung dua nut So sanh vao canh gia). Nay dua So sanh ve dong Con hang | Danh gia, them (Da bao gom VAT), thu nho chu d. Anh Thanh duyet 21/09/2026. CSS di kem nam trong khoi vnt-khoi-gia-2109 */ 3179(function(){ 3180 function boc(g){ 3181 if(!g || g.querySelector(".vnt-dong")) return; 3182 var t=g.textContent.trim(); 3183 if(/\dÄ$/.test(t)) g.innerHTML=t.slice(0,-1)+'<span class="vnt-dong">Ä</span>'; 3184 } 3185 /* vnt-vat-theo-o-tich-2109: chi hien (Da bao gom VAT) khi phien ban dang chon co tich o "Gia da bao gom VAT" trong SAPO (truong taxable). Anh Thanh chot 21/09/2026. Khong doc duoc du lieu thi AN dong VAT */ 3186 function docSP(){ 3187 if(docSP.xong) return docSP.kq; 3188 docSP.xong=1; docSP.kq=null; 3189 var ss=document.scripts; 3190 for(var i=0;i<ss.length;i++){ 3191 var t=ss[i].textContent, k=t.search(/var product\s*=\s*\{/); 3192 if(k<0) continue; 3193 var a=t.indexOf("{",k), d=0, trong=false, esc=false; 3194 for(var j=a;j<t.length;j++){ 3195 var c=t[j]; 3196 if(trong){ if(esc) esc=false; else if(c==="\\") esc=true; else if(c==='"') trong=false; continue; } 3197 if(c==='"') trong=true; else if(c==="{") d++; else if(c==="}"){ d--; if(d===0){ try{ docSP.kq=JSON.parse(t.slice(a,j+1)); }catch(e){} return docSP.kq; } } 3198 } 3199 } 3200 return docSP.kq; 3201 } 3202 function coTich(){ 3203 var pr=docSP(); 3204 if(!pr || !pr.variants || !pr.variants.length) return false; 3205 var o=document.getElementById("product-selectors")||document.getElementById("one_variant"); 3206 var id=o ? String(o.value) : ""; 3207 for(var i=0;i<pr.variants.length;i++){ if(String(pr.variants[i].id)===id) return pr.variants[i].taxable===true; } 3208 return pr.variants.length===1 ? pr.variants[0].taxable===true : false; 3209 } 3210 function vat(dp,g){ 3211 g.classList.toggle("vnt-gia-dai", g.textContent.trim().length>=11); 3212 var v=dp.querySelector(".vnt-vat-dong"); 3213 if(v) v.style.display=(/\d/.test(g.textContent) && coTich())?"":"none"; 3214 } 3215 function lam(){ 3216 var dp=document.querySelector(".details-pro"); if(!dp) return; 3217 var iq=dp.querySelector(".inventory_quantity"); 3218 if(iq && !iq.classList.contains("vnt-hang-trangthai")){ 3219 iq.querySelectorAll(".mb-break").forEach(function(m){ if(/Thương hiá»u/.test(m.textContent)) m.classList.add("vnt-an"); }); 3220 iq.querySelectorAll(".line").forEach(function(l){ l.classList.add("vnt-an"); }); 3221 iq.querySelectorAll(".stock-brand-title").forEach(function(t){ if(/Tình trạng/.test(t.textContent)) t.classList.add("vnt-an"); }); 3222 var dg=iq.querySelector(".danhgiasao"); 3223 if(dg){ 3224 var hop=dg.closest(".mb-break")||dg; 3225 var tach=document.createElement("span"); tach.className="vnt-tach"; tach.textContent="|"; 3226 hop.insertAdjacentElement("beforebegin",tach); 3227 var nhan=document.createElement("span"); nhan.className="vnt-nhan-dg"; nhan.textContent="Äánh giá:"; 3228 dg.insertAdjacentElement("beforebegin",nhan); 3229 } 3230 iq.classList.add("vnt-hang-trangthai"); 3231 } 3232 var bc=dp.querySelector(".box_compare"); 3233 if(iq && bc && bc.parentElement!==iq) iq.appendChild(bc); 3234 var g=dp.querySelector(".price-box .special-price .product-price"); 3235 if(!g) return; 3236 boc(g); 3237 if(!dp.querySelector(".vnt-vat-dong")){ 3238 var v=document.createElement("span"); v.className="vnt-vat-dong"; v.textContent="(Äã bao gá»m VAT)"; 3239 g.insertAdjacentElement("afterend",v); 3240 } 3241 vat(dp,g); 3242 if(!g.__vntTheoDoi && window.MutationObserver){ 3243 g.__vntTheoDoi=1; 3244 new MutationObserver(function(){ boc(g); vat(dp,g); }).observe(g,{childList:true,characterData:true,subtree:true}); 3245 } 3246 var sl=document.getElementById("product-selectors"); 3247 if(sl && !sl.__vntVat){ sl.__vntVat=1; sl.addEventListener("change",function(){ setTimeout(function(){ vat(dp,g); },50); }); } 3248 } 3249 if(document.readyState==="loading") document.addEventListener("DOMContentLoaded",lam); else lam(); 3250 setTimeout(lam,600); 3251 setTimeout(lam,1500); 3252})(); 3253</script>
3253 3254 3255<style id"vnt-le-mobile"> 3256/* vnt-het-tran-ngang-2908: bo margin am cua .row trong bai viet - cha khong co padding de hap thu nen tran 7px */ 3257@media(max-width:767px){ 3258body .layout-article article.article-main{padding-left:7px !important;padding-right:7px !important;box-sizing:border-box} 3259body .layout-article .article-main .row > .right-content{padding-left:7px !important;padding-right:7px !important} 3260} 3261/* vnt-le-mobile-2908: bai san pham cach le bang bai tin tuc + thut dau tich cam 25px chung ca 2 loai */ 3262@media(max-width:767px){ 3263body .rte.product_getcontent, 3264body .descrip_coll, 3265body .product-tab .tab-content .product_getcontent{padding-left:7px !important;padding-right:7px !important;box-sizing:border-box} 3266body .article__content ul,body .article__content ol, 3267body .rte.product_getcontent ul,body .rte.product_getcontent ol, 3268body .product_getcontent ul,body .product_getcontent ol, 3269body .descrip_coll ul,body .descrip_coll ol{padding-left:25px !important;margin-left:0 !important} 3270body .article__content ul li,body .article__content ol li, 3271body .rte.product_getcontent ul li,body .rte.product_getcontent ol li, 3272body .product_getcontent ul li,body .product_getcontent ol li, 3273body .descrip_coll ul li,body .descrip_coll ol li{margin-left:0 !important} 3274} 3275</style> 3276 3277<style id"vnt-danhmuc-2908"> 3278/* vnt-faq-dung-chung-2908: chep khung hoi dap tu trang san pham de dung cho moi trang */ 3279 3280.vnt-faq{margin:0 0 20px;background:#fff;border-radius:12px;padding:0;overflow:hidden;font:inherit} 3281.vnt-faq .vnt-faq__tit{color:#fff;font-size:14px;font-weight:600;text-transform:uppercase; 3282 line-height:24px;padding:13px 15px;margin:0;background:#ff6d01;letter-spacing:normal;border-radius:0} 3283.vnt-faq__body{background:#fff;padding:15px} 3284.vnt-faq details{border:1px solid #e4e7ec;border-radius:8px;background:#f2f4f7;margin-bottom:10px; 3285 box-shadow:0 2px 3px rgba(16,24,40,.10),0 1px 0 #fff inset;transition:box-shadow .18s,transform .18s,border-color .18s,background .18s} 3286.vnt-faq details:last-child{margin-bottom:0} 3287.vnt-faq details:hover{background:#eceff3;border-color:#d0d5dd;transform:translateY(-1px); 3288 box-shadow:0 4px 8px rgba(16,24,40,.16),0 1px 0 #fff inset} 3289.vnt-faq details:hover summary{color:#00090f} 3290 3291.vnt-faq summary{list-style:none;cursor:pointer;padding:14px 40px 14px 15px;position:relative; 3292 font-weight:600;font-size:14.5px;color:#212b35;line-height:1.55;border-radius:7px} 3293.vnt-faq summary::-webkit-details-marker{display:none} 3294.vnt-faq summary::after{content:"\f107";
3294font-family:FontAwesome;position:absolute;right:15px;top:50%; 3295 transform:translateY(-50%);line-height:1;font-size:20px;font-weight:400;color:#212b35} 3296.vnt-faq details[open]{background:#fff;border-color:#ff6d01;box-shadow:0 3px 10px rgba(255,109,1,.15);transform:none} 3297.vnt-faq details[open] summary{background:#ff6d01;color:#fff;border-radius:6px 6px 0 0} 3298.vnt-faq details[open] summary::after{content:"\f106";color:#fff} 3299.vnt-faq__ans{padding:12px 15px 8px;margin:0;font-size:14.5px;line-height:1.8;color:#00090f} 3300.vnt-faq__ans:last-child{padding-bottom:15px} 3301.vnt-faq__ul{list-style:none;margin:0;padding:0 15px 15px} 3302.vnt-faq__ul li{position:relative;padding:0 0 8px 26px;font-size:14.5px;line-height:1.7;color:#00090f} 3303.vnt-faq__ul li:last-child{padding-bottom:0} 3304.vnt-faq__ul li::before{content:"";position:absolute;left:0;top:4px;width:17px;height:17px; 3305 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23ff6d01'/%3E%3Cpath d='M6 12l4 4 8-8' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat} 3306@media(max-width:600px){ 3307 .vnt-faq__body{padding:10px} 3308 .vnt-faq summary{font-size:14px;padding:12px 36px 12px 12px} 3309 .vnt-faq summary::after{right:12px;font-size:18px} 3310 .vnt-faq__ans{font-size:13.5px;padding:11px 12px 7px} 3311 .vnt-faq__ul{padding:0 12px 13px} 3312 .vnt-faq__ul li{font-size:13.5px;padding-left:24px} 3313} 3314 3315 3316/* vnt-danhmuc-bang-2908: hang dau bang cho trang danh muc, va ho tro the th giong td */ 3317.descrip_coll table td:first-child, 3318.product_getcontent table th,.product-spec table th,.article__content table th,.content-page table th,.descrip_coll table th{font-weight:600 !important;color:#1c244b !important} 3319.product_getcontent table tr:first-child th,.product-spec table tr:first-child th,.article__content table tr:first-child th,.content-page table tr:first-child th,.descrip_coll table tr:first-child th, 3320.product_getcontent table thead td,.article__content table thead td,.content-page table thead td,.descrip_coll table thead td{background:#FFECDE !important;text-align:left !important;border-color:#b8c0d0 !important} 3321 3322/* vnt-faq-vaan-2908: hai cho bi de tren trang danh muc */ 3323.vnt-faq .vnt-faq__tit,.descrip_coll .vnt-faq .vnt-faq__tit,.descrip_coll .vnt-faq h2.vnt-faq__tit{color:#fff !important;background:#ff6d01 !important} 3324.vnt-faq details,.descrip_coll .vnt-faq details{background:#f2f4f7 !important} 3325.vnt-faq details[open],.descrip_coll .vnt-faq details[open]{background:#fff !important} 3326 3327/* vnt-faq-manh-2908: selector du manh de thang CSS tren CDN */ 3328body .layout-collection .descrip_coll section.vnt-faq .vnt-faq__body details, 3329body .descrip_coll section.vnt-faq div.vnt-faq__body details{background:#f2f4f7 !important;border:1px solid #e4e7ec !important;box-shadow:0 2px 3px rgba(16,24,40,.10),0 1px 0 #fff inset !important;border-radius:8px !important} 3330body .layout-collection .descrip_coll section.vnt-faq .vnt-faq__body details[open], 3331body .descrip_coll section.vnt-faq div.vnt-faq__body details[open]{background:#fff !important} 3332 3333/* vnt-faq-item-2908: the details trong noi dung danh muc khong an CSS theo ten the, phai gan class */ 3334.vnt-faq .vnt-faq__item{background:#f2f4f7 !important;border:1px solid #e4e7ec !important;border-radius:8px !important;box-shadow:0 2px 3px rgba(16,24,40,.10),0 1px 0 #fff inset !important;margin-bottom:10px !important} 3335.vnt-faq .vnt-faq__item:last-child{margin-bottom:0 !important} 3336.vnt-faq .vnt-faq__item[open]{background:#fff !important} 3337.vnt-faq .vnt-faq__item:hover{background:#eceff3 !important;border-color:#d0d5dd !important} 3338 3339/* vnt-faq-khung-summary-2908: the details trong noi dung KHONG nhan background, border, box-shadow (da do nhieu lan). Chuyen khung sang summary va o tra loi. */ 3340.vnt-faq .vnt-faq__item>summary{background:#f2f4f7 !important;border:1px solid #e4e7ec !important;border-radius:8px !important;box-shadow:0 2px 3px rgba(16,24,40,.10),0 1px 0 #fff inset !important} 3341.vnt-faq .vnt-faq__item>summary:hover{background:#eceff3 !important;border-color:#d0d5dd !important} 3342.vnt-faq .vnt-faq__item[open]>summary{background:#ff6d01 !important;color:#fff !important;border-color:#ff6d01 !important;border-radius:8px 8px 0 0 !important} 3343.vnt-faq .vnt-faq__item[open]>summary:hover{background:#ff6d01 !important;border-color:#ff6d01 !important} 3344.vnt-faq .vnt-faq__item[open]>.vnt-faq__ans{border-color:#ff6d01 !important;box-shadow:0 3px 10px rgba(255,109,1,.15) !important} 3345.vnt-faq .vnt-faq__item>.vnt-faq__ans{background:#fff !important;border:1px solid #e4e7ec !important;border-top:0 !important;border-radius:0 0 8px 8px !important;margin:0 !important} 3346 3347/* vnt-bang-hangdau-2908: hang dau bang - nen cam nhat va vien ro bang hang thuong */ 3348/* vnt-tachbang-1109: bang THONG SO KY THUAT (.product-spec, .js-product-getcontent) KHONG dung kieu hang dau cua bang trong bai */ 3349.product_getcontent:not(.js-product-getcontent) table tr:first-child th,.article__content table tr:first-child th,.content-page table tr:first-child th,.de
3349scrip_coll table tr:first-child th, 3350.product_getcontent:not(.js-product-getcontent) table tr:first-child td,.article__content table tr:first-child td,.content-page table tr:first-child td,.descrip_coll table tr:first-child td{background:#FFECDE !important;border-color:#b8c0d0 !important} 3351 3352/* vnt-bang-kieuB-2908: bo ke doc, ke ngang nhat, chi ap cho trang danh muc de anh Thanh xem truoc */ 3353.descrip_coll table{border:0 !important} 3354.descrip_coll table td,.descrip_coll table th{border-left:0 !important;border-right:0 !important;border-top:0 !important;border-bottom:1px solid #e4e7ec !important} 3355.descrip_coll table tr:first-child th,.descrip_coll table tr:first-child td{border-bottom:1px solid #b8c0d0 !important} 3356.descrip_coll table tr:last-child td,.descrip_coll table tr:last-child th{border-bottom:0 !important} 3357 3358/* vnt-bang-kieuD-2908: bang dang the noi cho trang danh muc - khung bao, bo goc, do bong, dem 16px */ 3359.descrip_coll table{border:1px solid #e4e7ec !important;border-radius:12px !important;border-collapse:separate !important;border-spacing:0 !important;overflow:hidden;background:#fff !important;box-shadow:0 1px 2px rgba(28,36,75,.06),0 4px 12px rgba(28,36,75,.08) !important;margin:22px 0 !important} 3360.descrip_coll table td,.descrip_coll table th{padding:14px 16px !important;border-left:0 !important;border-right:0 !important;border-top:0 !important;border-bottom:1px solid #e4e7ec !important} 3361.descrip_coll table tr:first-child th,.descrip_coll table tr:first-child td{padding:16px !important;border-bottom:1px solid #b8c0d0 !important} 3362.descrip_coll table tr:first-child th:first-child,.descrip_coll table tr:first-child td:first-child{border-top-left-radius:11px} 3363.descrip_coll table tr:first-child th:last-child,.descrip_coll table tr:first-child td:last-child{border-top-right-radius:11px} 3364.descrip_coll table tr:last-child td,.descrip_coll table tr:last-child th{border-bottom:0 !important} 3365/* bang nam trong hop cuon ngang: hop lo khung, bang bo khung de khong bi hai vien */ 3366.descrip_coll .vnt-tbl-scroll{border:1px solid #e4e7ec !important;border-radius:12px !important;box-shadow:0 1px 2px rgba(28,36,75,.06),0 4px 12px rgba(28,36,75,.08) !important;background:#fff} 3367.descrip_coll .vnt-tbl-scroll table{border:0 !important;border-radius:0 !important;box-shadow:none !important;margin:0 !important} 3368 3369/* vnt-danhmuc-het-tran-2908: .row co margin am 7px ma container khong co padding bu, giong loi da sua o trang bai viet */ 3370@media(max-width:767px){ 3371body .layout-collection > .container{padding-left:7px !important;padding-right:7px !important;box-sizing:border-box} 3372body .layout-collection .descrip_coll{margin-left:-7px !important;margin-right:-7px !important;padding-left:12px !important;padding-right:12px !important;border-radius:0 !important;box-sizing:border-box} 3373} 3374 3375/* vnt-bang-vien-doc-trang-2908: tren dien thoai bang rong gan het man hinh nen vien doc thanh 2 duong chay suot trang, anh Thanh muon de trang */ 3376@media(max-width:767px){ 3377/* anh Thanh van thay vet xam hai ben: bo han vien doc, bo bong, bo bo goc tren dien thoai. Chi giu ke ngang va nen cam. */ 3378body .descrip_coll table,body .descrip_coll .vnt-tbl-scroll{border-left:0 !important;border-right:0 !important;box-shadow:none !important;border-radius:0 !important} 3379body .descrip_coll table tr:first-child th,body .descrip_coll table tr:first-child td{border-radius:0 !important} 3380} 3381 3382/* vnt-luoi-sanpham-2908: le ngoai luoi san pham o trang danh muc chi 7px trong khi trang chu 15px, nen khe giua 14px trong rong gap doi le. Bu 8px cho bang trang chu. */ 3383@media(max-width:767px){ 3384body .layout-collection .products-view{margin-left:0 !important;margin-right:0 !important;padding-left:2px !important;padding-right:2px !important;box-sizing:border-box} 3385body .layout-collection .products-view > .row{margin-left:-5px !important;margin-right:-5px !important} 3386body .layout-collection .products-view > .row > [class*="col-"]{padding-left:5px !important;padding-right:5px !important} 3387} 3388 3389/* vnt-bang-kieu-tgdd-3008: hoc cach lam bang cua thegioididong - khong vien bao, khong vien doc, khong bong. Chi tieu de co nen bo goc, ben duoi ke ngang mong. Ap cho MOI trang. */ 3390body .article__content table,body .content-page table,body .rte.product_getcontent table,body .descrip_coll table,body .product-spec table{border:0 !important;border-radius:0 !important;box-shadow:none !important;border-collapse:separate !important;border-spacing:0 !important;background:transparent !important;margin:20px 0 !important} 3391body .article__content table td,body .article__content table th, 3392body .content-page table td,body .content-page table th, 3393body .rte.product_getcontent table td,body .rte.product_getcontent table th, 3394body .descrip_coll table td,body .descrip_coll table th, 3395body .product-spec table td,body .product-spec table th{border-left:0 !important;border-right:0 !important;border-top:0 !important;border-bottom:1px solid #eaecf0 !important;padding:13px 16px !important}
3396/* hang tieu de: khoi rieng co nen va bo goc, giong TGDD */ 3397body .article__content table tr:first-child th,body .content-page table tr:first-child th,body .rte.product_getcontent table tr:first-child th,body .descrip_coll table tr:first-child th,body .product-spec table tr:first-child th, 3398body .article__content table tr:first-child td,body .content-page table tr:first-child td,body .rte.product_getcontent table tr:first-child td,body .descrip_coll table tr:first-child td{background:#FFECDE !important;border-bottom:0 !important;padding:14px 16px !important} 3399body .article__content table tr:first-child *:first-child,body .content-page table tr:first-child *:first-child,body .rte.product_getcontent table tr:first-child *:first-child,body .descrip_coll table tr:first-child *:first-child{border-radius:8px 0 0 8px !important} 3400body .article__content table tr:first-child *:last-child,body .content-page table tr:first-child *:last-child,body .rte.product_getcontent table tr:first-child *:last-child,body .descrip_coll table tr:first-child *:last-child{border-radius:0 8px 8px 0 !important} 3401/* hang cuoi bo ke duoi */ 3402body .article__content table tr:last-child td,body .content-page table tr:last-child td,body .rte.product_getcontent table tr:last-child td,body .descrip_coll table tr:last-child td{border-bottom:0 !important} 3403/* hop cuon ngang: bo khung, chi giu chuc nang cuon */ 3404body .vnt-tbl-scroll{border:0 !important;border-radius:0 !important;box-shadow:none !important;background:transparent !important} 3405 3406/* vnt-bang-nen-hang-3008: bai viet co mot hang bi nen #fafbfc lech voi cac trang khac, dong bo ve trong suot */ 3407body .article__content table tr:not(:first-child) td,body .article__content table tr:not(:first-child) th, 3408body .content-page table tr:not(:first-child) td,body .rte.product_getcontent table tr:not(:first-child) td, 3409body .descrip_coll table tr:not(:first-child) td{background:transparent !important} 3410 3411/* vnt-tach-khoi-3008: tach khoi mo ta khoi luoi san pham o tren cho de nhin */ 3412body .layout-collection .descrip_coll{margin-top:34px !important;padding-top:26px !important;border-top:1px solid #eaecf0 !important} 3413 3414/* chu trong o gia tri giu nguyen mau dam hon de noi len */ 3415body .article__content table td:not(:first-child),body .content-page table td:not(:first-child), 3416body .rte.product_getcontent table td:not(:first-child),body .descrip_coll table td:not(:first-child){color:#2a3050 !important} 3417 3418 3419/* vnt-strong-trong-bang-3008: the strong trong o bang ra font-weight 900 (bolder) trong khi o thuong chi 600, nen nhin dam han. Ha ve dung 600 cho deu. */ 3420body .article__content table strong,body .article__content table b, 3421body .content-page table strong,body .content-page table b, 3422body .rte.product_getcontent table strong,body .rte.product_getcontent table b, 3423body .product-spec table strong,body .product-spec table b, 3424body .descrip_coll table strong,body .descrip_coll table b{font-weight:600 !important} 3425 3426/* vnt-ke-cuoi-bang-3008: anh Thanh muon hang cuoi cung cua bang co duong ke duoi de dong bang lai */ 3427body .article__content table tr:last-child td,body .article__content table tr:last-child th, 3428body .content-page table tr:last-child td,body .content-page table tr:last-child th, 3429body .rte.product_getcontent table tr:last-child td,body .rte.product_getcontent table tr:last-child th, 3430body .product-spec table tr:last-child td,body .product-spec table tr:last-child th, 3431body .descrip_coll table tr:last-child td,body .descrip_coll table tr:last-child th{border-bottom:1px solid #eaecf0 !important} 3432 3433/* vnt-sua-thead-3008: bang co <thead> thi hang dau cua <tbody> cung khop tr:first-child nen bi to nen cam nham va mat ke duoi. Tra lai binh thuong. */ 3434body .article__content table thead + tbody tr:first-child td,body .article__content table thead + tbody tr:first-child th, 3435body .content-page table thead + tbody tr:first-child td,body .content-page table thead + tbody tr:first-child th, 3436body .rte.product_getcontent table thead + tbody tr:first-child td,body .rte.product_getcontent table thead + tbody tr:first-child th, 3437body .product-spec table thead + tbody tr:first-child td,body .product-spec table thead + tbody tr:first-child th, 3438body .descrip_coll table thead + tbody tr:first-child td,body .descrip_coll table thead + tbody tr:first-child th{background:transparent !important;border-bottom:1px solid #eaecf0 !important;border-radius:0 !important;padding:13px 16px !important} 3439 3440/* vnt-faq-modul-0109: anh Thanh muon khoi hoi dap o bai tin tuc giong het trang san pham - tach thanh modul rieng, rong bang nhau */ 3441/* 1. Ngan cach voi noi dung phia tren, ap moi trang */ 3442body .article__content .vnt-faq,body .content-page .vnt-faq,body .descrip_coll .vnt-faq,body .rte.product_getcontent .vnt-faq{margin-top:38px !important}
3443/* 2. Dien thoai: tran full man giong trang san pham */ 3444@media(max-width:767px){ 3445body .article__content .vnt-faq,body .content-page .vnt-faq{margin-left:-7px !important;margin-right:-7px !important;max-width:none !important} 3446} 3447/* 3. May tinh man rong: noi ra 840px bang trang san pham. Cot ben chi cao 64px va nam dau trang nen khong de */ 3448/* bam dung mep noi dung cua cot, tu co gian theo man. O man anh Thanh cot 760px tru dem 30px moi ben con dung 700px */ 3449body .article__content .vnt-faq{width:100% !important;max-width:none !important} 3450 3451/* vnt-faq-tin-tuc-0109: chep kich thuoc va hieu ung nut cua trang san pham sang bai tin tuc, tach khoi khoi bai va khoi tac gia */ 3452body .article__content .vnt-faq{margin-top:40px !important;margin-bottom:40px !important} 3453body .article__content .vnt-faq .vnt-faq__body{padding:15px 30px !important} 3454body .article__content .vnt-faq details{background:#f2f4f7 !important;border:1px solid #e4e7ec !important;border-radius:8px !important;margin-bottom:10px !important;box-shadow:0 2px 3px rgba(16,24,40,.10),0 1px 0 #fff inset !important;transition:box-shadow .18s,transform .18s,border-color .18s,background .18s !important} 3455body .article__content .vnt-faq details:hover{background:#eceff3 !important;border-color:#d0d5dd !important;transform:translateY(-1px)} 3456body .article__content .vnt-faq details[open]{background:#fff !important;border-color:#ff6d01 !important;box-shadow:0 3px 10px rgba(255,109,1,.15) !important;transform:none} 3457body .article__content .vnt-faq summary{padding:9px 40px 9px 15px !important;font-size:18px !important;line-height:1.4 !important} 3458body .article__content .vnt-faq details[open] summary{background:#ff6d01 !important;color:#fff !important;border-radius:6px 6px 0 0 !important} 3459body .article__content .vnt-faq .vnt-faq__ans{padding:12px 15px 8px !important;border:0 !important;background:transparent !important;box-shadow:none !important} 3460 3461/* vnt-mota-dm-0109: khoi mo ta danh muc hoc theo trang san pham - thu ve 700px cho de doc, can giua trong cot. Chi PC, mobile giu nguyen tran vien. Go bo bang cach xoa khoi nay. */ 3462@media(min-width:992px){ 3463body .layout-collection .descrip_coll{max-width:700px !important;margin-left:auto !important;margin-right:auto !important} 3464} 3465/* vnt-canh-dm-0109: khoi chinh sach + ho tro o cot phai trang danh muc */ 3466.vnt-canh-dm{margin-top:18px} 3467.vnt-canh-dm .product-policises-wrapper{margin-bottom:18px} 3468/* tren dien thoai cot phai la ngan bo loc truot ra, khoi nay se lot vao trong do nen an di - giong cach trang san pham an khoi ho tro bang d-none d-sm-block */ 3469@media(max-width:991px){.vnt-canh-dm{display:none !important}} 3470 3471/* vnt-thanh-nut-dm-0109: thanh nut icon doc ben canh khoi mo ta trang danh muc. Hoc theo trang san pham nhung BO nut Mua ngay va Thong so, vi danh muc khong co mot san pham cu the. Go bo bang cach xoa khoi nay va khoi script cung ten. */ 3472@media(min-width:992px){ 3473body .layout-collection .vnt-mota-wrap-dm{display:flex;gap:30px;align-items:flex-start;max-width:780px;margin-left:auto;margin-right:auto} 3474body .layout-collection .vnt-mota-wrap-dm > .descrip_coll{flex:0 0 700px !important;max-width:700px !important;margin-left:0 !important;margin-right:0 !important} 3475} 3476@media(max-width:991px){ 3477body .layout-collection .vnt-mota-wrap-dm{display:block} 3478} 3479/* thanh nut nam ben TRAI nen chu chu thich phai hien ben phai, nguoc voi trang san pham */ 3480body .layout-collection .vnt-mota-wrap-dm .vnt-nut span{left:60px !important;right:auto !important} 3481 3482/* vnt-chinh-sach-dm-0109: CSS cua khoi Chinh sach chi nap cho trang san pham, sang trang danh muc thi icon va chu bi xep DOC. Khoi nay clone lai dung so do da do tren trang san pham S09A. Go bo bang cach xoa khoi nay. */ 3483body .layout-collection .vnt-canh-dm .product-policises-wrapper{background:#ff6d01 !important;border-radius:10px !important;padding:1px !important;border:0 !important} 3484body .layout-collection .vnt-canh-dm .product-policises-wrapper .title-head{color:#fff !important;font-size:16px !important;font-weight:600 !important;text-transform:uppercase !important;padding:7.5px 15px !important;margin:0 !important;background:transparent !important;border:0 !important} 3485body .layout-collection .vnt-canh-dm .product-policises{display:flex !important;flex-direction:column !important;flex-wrap:nowrap !important;background:#fff !important;border-radius:0 0 9px 9px !important;padding:8px 10px !important;margin:0 !important;list-style:none !important} 3486body .layout-collection .vnt-canh-dm .item_poli{display:flex !important;flex-direction:row !important;align-items:flex-start !important;min-height:30px;height:auto !important;padding:0 !important;margin:0 0 8px !important;border:0 !important} 3487body .layout-collection .vnt-canh-dm .item_poli:last-child{margin-bottom:0 !important} 3488body .layout-collection .vnt-canh-dm .item_poli .img_poly{flex:0 0 30px !important;width:30px !important;height:30px !important;margin-right:7px !important;display:block !important} 3489body .layout-collection .vnt-canh-dm .item_poli .img_poly img{width:30px !important;height:30px !important;max-width:none !important} 3490body .layout-collection .vnt-canh-dm .item_poli .content_poli{font-size:15px !important;line-height:1.45 !important;color:#2a3050 !important;font-weight:400 !important;margin:0 !important;padding:2px 0 0 !important} 3491
3492/* vnt-dk-0209: bieu mau dang ky hop tac o cuoi trang /hop-tac-cung-vntrack. Go bo bang cach xoa khoi nay va khoi snippets/form-hop-tac.bwt */ 3493.vnt-dk{margin:34px 0 0;padding:24px;background:#fff;border:1px solid #e4e7ec;border-radius:12px} 3494.vnt-dk__tit{font-size:22px !important;font-weight:600 !important;color:#1c244b !important;margin:0 0 6px !important} 3495.vnt-dk__mo{font-size:15px;color:#5b6480;margin:0 0 18px} 3496.vnt-dk__luoi{display:grid;grid-template-columns:1fr 1fr;gap:14px} 3497.vnt-dk__o{display:flex;flex-direction:column} 3498.vnt-dk__o--rong{grid-column:1 / -1} 3499.vnt-dk__o label{font-size:14px;font-weight:600;color:#2a3050;margin-bottom:5px} 3500.vnt-dk__o input,.vnt-dk__o select,.vnt-dk__o textarea{width:100%;padding:10px 12px;font:400 15px/1.5 inherit;color:#2a3050;background:#fff;border:1px solid #d0d5dd;border-radius:8px;outline:0;transition:border-color .15s,box-shadow .15s} 3501.vnt-dk__o input:focus,.vnt-dk__o select:focus,.vnt-dk__o textarea:focus{border-color:#ff6d01;box-shadow:0 0 0 3px rgba(255,109,1,.12)} 3502.vnt-dk__o textarea{resize:vertical;min-height:74px} 3503.vnt-dk__nut{margin-top:18px;padding:12px 30px;font-size:16px;font-weight:600;color:#fff;background:#ff6d01;border:0;border-radius:8px;cursor:pointer;transition:box-shadow .15s,transform .15s} 3504.vnt-dk__nut:hover{box-shadow:0 4px 14px rgba(255,109,1,.32);transform:translateY(-1px)} 3505.vnt-dk__nho{margin:12px 0 0;font-size:14px;color:#5b6480} 3506.vnt-dk__ok{margin:0 0 14px;padding:11px 14px;background:#eaf7ee;border-left:4px solid #1a9f4b;border-radius:6px;color:#14663a;font-weight:600} 3507.vnt-dk__loi{margin:0 0 10px;padding:10px 14px;background:#fdecec;border-left:4px solid #d92d20;border-radius:6px;color:#a51f16} 3508@media(max-width:767px){ 3509.vnt-dk{padding:18px;margin-left:-7px;margin-right:-7px;border-radius:0} 3510.vnt-dk__luoi{grid-template-columns:1fr} 3511.vnt-dk__nut{width:100%} 3512} 3513 3514/* vnt-mo-ta-khong-trang-0609 */ 3515/* vnt-khoi-gia-2109: dong Con hang | Danh gia | So sanh, gia kem (Da bao gom VAT), chu d nho, Gia thi truong | Tiet kiem. Anh Thanh duyet ban xem truoc 21/09/2026. Di cung script id vnt-khoi-gia-js. Go bo: xoa khoi nay + script do, lay lai script vnt-sosanh-js tu assets/_ban-truoc-theme-bwt-21-09-khoi-gia.txt */ 3516body .details-pro .inventory_quantity.vnt-hang-trangthai{display:flex !important;align-items:center !important;gap:10px;row-gap:4px;flex-wrap:wrap;margin:6px 0 10px} 3517body .details-pro .inventory_quantity.vnt-hang-trangthai > *{align-self:center !important} 3518body .details-pro .inventory_quantity.vnt-hang-trangthai .vnt-an,body .details-pro .inventory_quantity.vnt-hang-trangthai .line{display:none !important} 3519body .details-pro .inventory_quantity.vnt-hang-trangthai .mb-break::before,body .details-pro .inventory_quantity.vnt-hang-trangthai .mb-break::after{content:none !important;display:none !important} 3520body .details-pro .inventory_quantity.vnt-hang-trangthai .a-stock{font-weight:600;font-size:14px;line-height:20px !important} 3521body .details-pro .inventory_quantity.vnt-hang-trangthai .vnt-tach{color:#b9c0cc;font-size:14px;line-height:20px} 3522body .details-pro .inventory_quantity.vnt-hang-trangthai .vnt-nhan-dg{font-size:14px;line-height:20px;color:#2a3050;font-weight:400;margin-right:6px;white-space:nowrap} 3523body .details-pro .inventory_quantity.vnt-hang-trangthai .danhgiasao{margin:0 !important;display:inline-flex !important;align-items:center} 3524body .details-pro .inventory_quantity.vnt-hang-trangthai .sapo-product-reviews-star{font-size:15px !important;line-height:15px !important;display:inline-flex !important;align-items:center} 3525body .details-pro .inventory_quantity.vnt-hang-trangthai .sapo-product-reviews-star i{font-size:15px !important;line-height:15px !important;height:15px !important} 3526body .details-pro .inventory_quantity.vnt-hang-trangthai .sapo-product-reviews-star i::before{font-size:15px !important;line-height:15px !important} 3527body .details-pro .inventory_quantity.vnt-hang-trangthai .box_compare{position:static !important;margin:0 !important;display:inline-flex !important;float:none !important;width:auto !important;right:auto !important;top:auto !important;align-self:center !important;padding:0 !important} 3528body .details-pro .inventory_quantity.vnt-hang-trangthai .box_compare a,body .details-pro .inventory_quantity.vnt-hang-trangthai .box_compare a::after{line-height:20px !important;font-size:14px !important} 3529@media(max-width:399px){ 3530body .details-pro .inventory_quantity.vnt-hang-trangthai{gap:8px} 3531body .details-pro .inventory_quantity.vnt-hang-trangthai .vnt-nhan-dg{margin-right:4px} 3532body .details-pro .inventory_quantity.vnt-hang-trangthai .sapo-product-reviews-star,body .details-pro .inventory_quantity.vnt-hang-trangthai .sapo-product-reviews-star i,body .details-pro .inventory_quantity.vnt-hang-trangthai .sapo-product-reviews-star i::before{font-size:14px !important} 3533} 3534#add-to-cart-form .price-box .special-price{flex-wrap:wrap !important;
3534align-items:baseline !important} 3535body .details-pro .price-box .vnt-dong{font-size:.7em;margin-left:1px;position:relative;top:-.3em} 3536body .details-pro .price-box .vnt-vat-dong{font-size:13px;font-weight:400;color:#4a5160;margin-left:10px;white-space:nowrap} 3537body .details-pro .price-box .save-price::before{content:"|";color:#b9c0cc;margin:0 8px} 3538body:has(.vnt-ngungkd) .details-pro .price-box .vnt-vat-dong{display:none !important} 3539/* vnt-gia-nhip-2109: con so gia 32px + nhip dap nhe (kieu A anh Thanh chon 21/09/2026 qua ban xem truoc). 32px la muc lon nhat khong xuong dong voi gia dai nhat 10.490.000d o khung 360px va cot 1024px. Go bo: xoa khoi nay */ 3540#add-to-cart-form .price-box .special-price .product-price{font-size:32px !important;line-height:1.2 !important;display:inline-block !important;transform-origin:left center;animation:vnt-nhip 2.6s ease-in-out infinite;will-change:transform} 3541@keyframes vnt-nhip{0%,64%,100%{transform:scale(1)}72%{transform:scale(1.05)}80%{transform:scale(1)}88%{transform:scale(1.03)}} 3542body:has(.vnt-ngungkd) #add-to-cart-form .price-box .special-price .product-price{animation:none !important} 3543@media (prefers-reduced-motion: reduce){#add-to-cart-form .price-box .special-price .product-price{animation:none !important}} 3544/* vnt-hieu-ung-nut-gia-2209: anh Thanh 22/09/2026 "copy hieu ung nut so dien thoai cho nut Mua ngay tren dau bai: vet sang + noi khoi" va "gia them hieu ung anh sang chay", sua toan theme. Go bo: xoa khoi nay */ 3545body .details-pro .btn-mua a.buynow{position:relative;overflow:hidden;background:linear-gradient(180deg,#ff8a2e 0%,#ff6d01 60%,#fa6800 100%) !important;animation:vnt-nut-vong 2s ease-out infinite} 3546body .details-pro .btn-mua a.buynow::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));transform:skewX(-20deg);animation:vnt-nut-luot 3.2s ease-in-out infinite;pointer-events:none} 3547body .details-pro .btn-mua a.buynow > span{position:relative;z-index:1} 3548@keyframes vnt-nut-luot{0%,55%{left:-60%}100%{left:130%}} 3549@keyframes vnt-nut-vong{0%{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.06),0 0 0 0 rgba(255,109,1,.55)}70%{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.06),0 0 0 12px rgba(255,109,1,0)}100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.06),0 0 0 0 rgba(255,109,1,0)}} 3550@supports ((-webkit-background-clip:text) or (background-clip:text)){ 3551#add-to-cart-form .price-box .special-price .product-price{background:linear-gradient(100deg,#ff6d01 0%,#ff6d01 45%,#ffb877 50%,#ff6d01 55%,#ff6d01 100%);background-size:250% 100%;background-position:0 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:vnt-nhip 2.6s ease-in-out infinite,vnt-gia-sang 2.2s linear infinite} 3552#add-to-cart-form .price-box .special-price .product-price .vnt-dong{-webkit-text-fill-color:#ff6d01} 3553body:has(.vnt-ngungkd) #add-to-cart-form .price-box .special-price .product-price{background:none;-webkit-text-fill-color:currentColor} 3554} 3555@keyframes vnt-gia-sang{0%{background-position:100% 0}55%,100%{background-position:0 0}} 3556/* 22/09 lan 2 anh Thanh: Con hang dam bang chu Danh gia; gian nhom The nho khoi nhom Phien ban */ 3557html body .details-pro .inventory_quantity .a-stock{font-weight:400 !important} 3558#add-to-cart-form .swatch ~ .swatch{margin-top:14px !important} 3559/* 22/09 lan 3 anh Thanh: bo ten phien ban lap lai canh nhan "Goi dich vu GPS:", "Phien ban:", "The nho:" (chi chon o nut ben duoi), ca may tinh va dien thoai */ 3560#add-to-cart-form .swatch .header .value-roperties{display:none !important} 3561@media (prefers-reduced-motion: reduce){body .details-pro .btn-mua a.buynow,body .details-pro .btn-mua a.buynow::after{animation:none !important}} 3562/* vnt-co-3-dong-2109: tang co ca 3 dong khoi gia (anh Thanh duyet ban xem truoc 21/09/2026). Rong (dien thoai tu 390px, may tinh tu 1200px): dong 1 16px, gia 34px, dong 3 15px. Hep (duoi 390px, 992-1199px): tang it vi cot khong con cho. Gia tu 11 ky tu (10.490.000d) co class vnt-gia-dai do script vnt-khoi-gia-js gan, thu ve 29px o khung hep. Go bo: xoa khoi nay */ 3563html body .details-pro .price-box .special-price{font-size:16px !important} 3564@media (max-width:389px){html body .details-pro .price-box .old-price,html body .details-pro .price-box .save-price,html body .details-pro .price-box .old-price *,html body .details-pro .price-box .save-price *{font-size:14px !important}} 3565@media (max-width:389px),(min-width:992px) and (max-width:1199px){html body #add-to-cart-form .price-box .special-price .product-price.vnt-gia-dai{font-size:29px !important}} 3566@media (min-width:390px) and (max-width:991px),(min-width:1200px){ 3567html body .details-pro .inventory_quantity.vnt-hang-trangthai .a-stock,html body .details-pro .inventory_quantity.vnt-hang-trangthai .vnt-tach,html body .details-pro .inventory_quantity.vnt-hang-trangthai .vnt-nhan-dg,html body .details-pro .inventory_quantity.vnt-hang-trangthai .box_compare a,html body .details-pro .inventory_quantity.vnt-hang-trangthai .box_compare a::after{font-size:16px !important;line-height:1.4 !important} 3568html body .details-pro .inventory_quantity.vnt-hang-trangthai .sapo-product-reviews-star,html body .details-pro .inventory_quantity.vnt-hang-trangthai .sapo-product-reviews-star i,html body .details-pro .inventory_quantity.vnt-hang-trangthai .sapo-product-reviews-star i::before{font-size:17px !important;line-height:1 !important;height:auto !important} 3569html body .details-pro .price-box .special-price{font-size:17px !important} 3570html body #add-to-cart-form .price-box .special-price .product-price{font-size:34px !important} 3571html body .details-pro .price-box .vnt-vat-dong{font-size:14px !important} 3572html body .details-pro .price-box .old-price,html body .details-pro .price-box .save-price,html body .details-pro .price-box .old-price *,html body .details-pro .price-box .save-price *{font-size:15px !important} 3573} 3574/* vnt-bo-nut-xem-mo-ta-1909: anh Thanh chot 19/09, hien het mo ta san pham, bo nut Xem mo ta chi tiet. Do duoc: nut giau 94% noi dung, chi 300px hien san */ 3575.product-tab .tab-content .content_coll{max-height:none !important;height:auto !important;overflow:visible !important} 3576.product-tab .tab-content .bg_cl{display:none !important} 3577.vnt-mota-wrap .view_mores, .product-tab .view_mores{display:none !important} 3578 3579.product-tab .tab-content .content_coll{overflow:clip !important} 3580.product-tab .tab-content .content_coll.active{overflow:visible !important} 3581.product-tab .tab-content{overflow:clip !important}
3582/* vnt-o-lienhe-0209 */ 3583.layout-contact{background:#f3f5f8 !important;padding:36px 0 !important} 3584.layout-contact .contact,.layout-contact .form-contact{background:#fff !important;padding:16px 24px !important;border-radius:14px !important;margin-bottom:9px !important} 3585.layout-contact .contact h4,.layout-contact .form-contact h4{margin-bottom:8px !important} 3586.layout-contact .map{border-radius:14px !important;overflow:hidden !important} 3587.layout-contact .map iframe{border-radius:14px !important} 3588#contact .form-control{border-radius:10px !important;margin-bottom:10px !important} 3589#contact textarea.content-area{height:95px !important;min-height:95px !important;padding:12px 18px !important;line-height:1.6 !important} 3590#contact input.form-control{padding-left:18px !important;padding-right:18px !important} 3591#contact .btn-lienhe{border-radius:10px !important} 3592@media(max-width:991px){ 3593.layout-contact .container > .row{flex-direction:column !important;margin-left:0 !important;margin-right:0 !important} 3594.layout-contact .container > .row > div{display:contents !important} 3595.layout-contact .contact{order:1 !important} 3596.layout-contact .map{order:2 !important;margin-bottom:9px !important} 3597.layout-contact .form-contact{order:3 !important} 3598} 3599@media(max-width:767px){.layout-contact{padding:20px 0 !important}.layout-contact .contact,.layout-contact .form-contact{padding:18px !important}#contact textarea.content-area{height:110px !important;min-height:110px !important}} 3600</style> 3601
3602<script id="vnt-thanh-nut-dm-js"> 3603(function(){ 3604function vntDungDM(){ 3605 var kv = document.querySelector('.layout-collection'); 3606 if(!kv) return; 3607 var mota = kv.querySelector('.descrip_coll'); 3608 if(!mota) return; 3609 if(mota.parentNode && mota.parentNode.classList.contains('vnt-mota-wrap-dm')) return; 3610 var wrap = document.createElement('div'); 3611 wrap.className = 'vnt-mota-wrap-dm'; 3612 mota.parentNode.insertBefore(wrap, mota); 3613 wrap.appendChild(mota); 3614 var bar = document.createElement('div'); 3615 bar.className = 'vnt-thanh-nut'; 3616 bar.innerHTML = "<a class='vnt-nut' href='tel:0936729559'><svg viewBox='0 0 24 24'><path d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.2 2 2 0 0 1 4 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.1a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/></svg><span>Gá»i tư vấn</span></a><a class='vnt-nut' href='https://zalo.me/vntrack' target='_blank' rel='noopener'><svg viewBox='0 0 24 24'><path d='M21 11.5a8.4 8.4 0 0 1-9 8.4 9.9 9.9 0 0 1-2.8-.4L3 21l1.6-4.8A8.2 8.2 0 0 1 3 11.5a8.4 8.4 0 0 1 9-8.4 8.4 8.4 0 0 1 9 8.4z'/></svg><span>Chat Zalo</span></a><a class='vnt-nut' href='#' data-vnt='faq'><svg viewBox='0 0 24 24'><circle cx='12' cy='12' r='9'/><path d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3'/><path d='M12 17h.01'/></svg><span>Há»i Äáp</span></a>"; 3617 wrap.insertBefore(bar, mota); 3618 bar.addEventListener('click', function(e){ 3619 var a = e.target.closest ? e.target.closest('[data-vnt]') : null; 3620 if(!a) return; 3621 e.preventDefault(); 3622 var f = mota.querySelector('.vnt-faq'); 3623 if(!f) return; 3624 var dich = Math.round(f.getBoundingClientRect().top + window.pageYOffset - 90); 3625 try { window.scrollTo({top: dich, behavior: 'smooth'}); } catch(err) { window.scrollTo(0, dich); } 3626 setTimeout(function(){ if(Math.abs(window.pageYOffset - dich) > 60) window.scrollTo(0, dich); }, 700); 3627 }); 3628} 3629if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', vntDungDM); } else { vntDungDM(); } 3630})(); 3631</script>
3631 3632 3633<!-- vnt-vaTabKhongDong 10/09/2026: click vao noi dung tab khong lam tab tu dong -->
3634<script> 3635(function(){ 3636 document.addEventListener("click", function(e){ 3637 var t = e.target; 3638 if(!t){ return; } 3639 if(!t.closest){ return; } 3640 if(!t.closest(".product-tab .tab-content")){ return; } 3641 if(t.closest("a")){ return; } 3642 if(t.closest("button")){ return; } 3643 if(t.closest("summary")){ return; } 3644 if(t.closest(".vnt-video")){ return; } /* vnt-video-bam-2309: cho phep bam mo video trong tab mo ta */ 3645 if(t.closest("input")){ return; } 3646 e.stopPropagation(); 3647 }, true); 3648})(); 3649</script>
3649 3650
3651<script id="vnt-mkc-vua-cot"> 3652/* vnt-mkc-1109: cot MUA KEM khong duoc lam cao them hang san pham tren PC. 3653 Thu gon the truoc, chi cat mon khi van con du. Giu toi thieu 3 mon. */ 3654(function(){ 3655 var CSS = ".vnt-mkc--gon .product-favi-content > .product-view{padding:4px 0 !important}"; 3656 function napCss(){ if(document.getElementById("vnt-mkc-css")) return; var s=document.createElement("style"); s.id="vnt-mkc-css"; s.textContent=CSS; document.body.appendChild(s); } 3657 function cao(el){ return el.getBoundingClientRect().height; } 3658 function chay(){ 3659 if(window.innerWidth < 992) return; 3660 var mkc = document.querySelector(".pro-right-stick .vnt-mkc"); 3661 var row = document.querySelector(".col-lg-9"); 3662 if(!mkc || !row) return; 3663 var mon = [].slice.call(mkc.querySelectorAll(".product-favi-content > .product-view")); 3664 if(mon.length < 3) return; 3665 napCss(); 3666 mon.forEach(function(e){ e.style.removeProperty("display"); }); 3667 mkc.classList.remove("vnt-mkc--gon"); 3668 mkc.style.setProperty("display","none","important"); 3669 var san = cao(row); 3670 mkc.style.removeProperty("display"); 3671 if(cao(row) - san < 8) return; 3672 mkc.classList.add("vnt-mkc--gon"); 3673 if(cao(row) - san < 8) return; 3674 for(var i = mon.length - 1; i >= 3; i--){ 3675 mon[i].style.setProperty("display","none","important"); 3676 if(cao(row) - san < 8) break; 3677 } 3678 } 3679 if(document.readyState === "complete") chay(); 3680 else window.addEventListener("load", chay); 3681 var t; window.addEventListener("resize", function(){ clearTimeout(t); t = setTimeout(chay, 200); }); 3682})(); 3683</script>
3683 3684
3685<script id="vnt-ngungkd-an-form"> 3686/* vnt-ngungkd-1109: san pham ngung kinh doanh - don khoi ra cot giua, an moi cho moi mua */ 3687(function(){ 3688 var CSS = ".vnt-ngungkd{background:#fff4e6;border:1px solid #ffd0a6;border-radius:10px;padding:16px;margin:14px 0 0}.vnt-ngungkd__tit{margin:0 0 6px !important;color:#1c244b !important;font-size:17px !important;font-weight:600 !important;line-height:1.4}.vnt-ngungkd__txt{margin:0 0 14px !important;color:#2a3050 !important;font-size:15px !important;line-height:1.6}.vnt-ngungkd__the{display:flex !important;align-items:center;gap:12px;background:#fff;border:1px solid #ffd0a6;border-radius:8px;padding:10px;text-decoration:none !important}.vnt-ngungkd__the img{width:88px !important;height:auto !important;flex:0 0 88px;border-radius:6px}.vnt-ngungkd__info{display:flex;flex-direction:column;gap:4px;min-width:0}.vnt-ngungkd__ten{color:#1c244b !important;font-size:15px !important;font-weight:600 !important;line-height:1.4}.vnt-ngungkd__gia{color:#ff6d01 !important;font-size:17px !important;font-weight:700 !important}.vnt-ngungkd__nut{display:block !important;margin:12px 0 0;height:44px;line-height:44px;text-align:center;border-radius:8px;color:#fff !important;font-weight:600 !important;font-size:15px !important;text-decoration:none !important;box-shadow:inset 0 0 0 999px #ff6d01}.vnt-ngungkd__nut:hover{color:#ff6d01 !important;box-shadow:inset 0 0 0 999px #fff,inset 0 0 0 2px #ff6d01}"; 3689 function napCss(){ if(document.getElementById("vnt-ngungkd-css")) return; var s=document.createElement("style"); s.id="vnt-ngungkd-css"; s.textContent=CSS; document.body.appendChild(s); } 3690 function chay(){ 3691 var ks = [].slice.call(document.querySelectorAll(".vnt-ngungkd")); 3692 if(!ks.length) return; 3693 napCss(); 3694 [".details-pro .inventory_quantity", ".khuyen-mai", ".details-pro .select-swatch", "#pagelogin-product"].forEach(function(s){ 3695 var el = document.querySelector(s); 3696 if(el) el.style.setProperty("display","none","important"); 3697 }); 3698 var g = document.querySelector(".details-pro .price-box .special-price .price.product-price"); 3699 if(g && g.textContent.indexOf("Ngừng") < 0){ 3700 g.textContent = "Ngừng kinh doanh"; 3701 g.style.setProperty("color","#1c244b","important"); 3702 g.style.setProperty("font-size","22px","important"); 3703 } 3704 var th = document.querySelector(".pro-right-stick .vnt-mkc .title-head"); 3705 if(th && /MUA KÃM/i.test(th.textContent)) th.textContent = "PHỤ KIá»N CHO MÃY NÃY"; 3706 var giua = document.querySelector(".details-pro .form-product") || document.querySelector(".details-pro"); 3707 if(!giua) return; 3708 if(!document.getElementById("vnt-ngungkd-giua")){ 3709 var k = ks[0].cloneNode(true); 3710 k.id = "vnt-ngungkd-giua"; 3711 giua.appendChild(k); 3712 } 3713 ks.forEach(function(e){ 3714 if(e.id === "vnt-ngungkd-giua") return; 3715 e.style.setProperty("display","none","important"); 3716 var hop = e.closest(".vnt-tomtat"); 3717 if(hop && !hop.querySelector("li")) hop.style.setProperty("display","none","important"); 3718 }); 3719 } 3720 if(document.readyState !== "loading") chay(); 3721 else document.addEventListener("DOMContentLoaded", chay); 3722 window.addEventListener("load", chay); 3723})(); 3724</script>
3724 3725 3726<style id="vnt-nutmua"> 3727/* vnt-nutmua-1109: co chu nut Mua ngay, nhan phien ban, dem nut chon */ 3728body .details-pro .buynow > span:first-of-type{font-size:20px !important;font-weight:700 !important} 3729body .details-pro .buynow > span:last-of-type{font-size:16px !important;font-weight:400 !important} 3730body .details-pro .select-swatch .header{font-size:15px !important} 3731body .details-pro .select-swatch .header span.value-roperties{font-size:15px !important;font-weight:700 !important} 3732body .details-pro .swatch{flex-wrap:wrap !important} 3733body .details-pro .swatch .swatch-element{flex:0 0 auto !important;width:auto !important} 3734body .details-pro .swatch .swatch-element label{width:auto !important;min-width:0 !important;padding:10px 14px !important;font-size:14px !important;font-weight:400 !important;line-height:1.35 !important;border:1px solid #e4e7ee !important;border-radius:8px !important;color:#2a3050 !important;background:#fff !important} 3735body .details-pro .swatch .swatch-element input:checked + label{background:#fff4ec !important;border-color:#ff6d01 !important;color:#ff6d01 !important;font-weight:600 !important} 3736</style> 3737<style id="vnt-anh-ty-le"> 3738/* 13/09/2026: trinh soan SAPO ghi cung chieu cao anh (vd 700px), dien thoai hep hon nen anh bi keo dan. Ep giu dung ty le. */ 3739:where(.article-details,.rte) img:where(:not(.item_pro_art img,.vnt-video img,.view_mores img)){height:auto !important} 3740</style> 3741<style id="vnt-bang-gon"> 3742/* 13/09/2026 anh Thanh chot: bang trong MO TA SAN PHAM va BAI TIN TUC, dien thoai chu 16px, dong tieu de 17px, dem 10px 8px. KHONG dong bang thong so ky thuat va cua so bat len */ 3743@media(max-width:767px){ 3744body .product.layout-product .tab-content .rte.product_getcontent table tr td,body .article-details .article__content.rte table tr td{font-size:16px !important;line-height:1.5 !important;padding:10px 8px !important} 3745body .product.layout-product .tab-content .rte.product_getcontent table tr th,body .article-details .article__content.rte table tr th{font-size:17px !important;line-height:1.4 !important;padding:11px 8px !important} 3746} 3747</style> 3748<style id="vnt-dem-mobile"> 3749/* 13/09/2026 anh Thanh: trang san pham tren dien thoai bo dem thua. Moi khung dem tren duoi 12px */ 3750@media(max-width:767px){ 3751.product.layout-product .vnt-tomtat.d-md-none{margin-bottom:0 !important} 3752.product.layout-product .box_combo:not(:has(*)){display:none !important} 3753.product.layout-product .col-lg-9:has(.details-pro){padding-bottom:12px !important} 3754.product.layout-product .details-pro-3{padding-top:12px !important;padding-bottom:12px !important} 3755.product.layout-product .details-pro-3 .product-policises-wrapper,.product.layout-product .details-pro-3 .product-policises{margin-bottom:0 !important} 3756.product.layout-product .details-pro-3 .product-policises-wrapper .product-policises{border-radius:0 0 9px 9px !important} 3757.product.layout-product .col-lg-9:has(.vnt-mota-wrap){padding-top:0 !important;padding-bottom:0 !important} 3758.product.layout-product .vnt-mota-wrap .product-tab{padding-top:0 !important;padding-bottom:0 !important;margin-bottom:0 !important} 3759.product.layout-product .vnt-mota-wrap .product-tab .tab-content.active{padding-top:12px !important;padding-bottom:12px !important} 3760body .product.layout-product .product-tab .tab-content .content_coll > h2:first-child{margin-top:0 !important} 3761.product.layout-product .vnt-mota-wrap .view_mores{margin-bottom:0 !important} 3762.product.layout-product .product-spec .js-content-wrapper{padding-bottom:12px !important} 3763.product.layout-product .d-block.d-sm-none:has(> .vnt-hotro){padding-top:12px !important;padding-bottom:12px !important} 3764.product.layout-product .d-block.d-sm-none > .vnt-hotro{margin-top:0 !important} 3765.product.layout-product .productRelate,.product.layout-product .product-viewed{padding-bottom:12px !important} 3766} 3767</style> 3768<style id="vnt-trang-noi-dung"> 3769/* 13/09/2026 anh Thanh: trang noi dung (page) co gon giong bai tin tuc. Khung 760px dem 20/30, cot phai 470px, tieu de 30px chu thuong. Khong dung trang san pham, danh muc, bai tin */ 3770@media (min-width:992px){ 3771body .pg_page .row > .right-content.col-lg-9{flex:0 0 61.79% !important;max-width:61.79% !important;background:#fff !important;border-radius:12px !important;padding:20px 30px !important} 3772body .pg_page .row > .blog_left_base.col-lg-3{flex:0 0 38.21% !important;max-width:38.21% !important;padding:0 20px 0 25px !important} 3773} 3774body .pg_page .right-content .page-title .title-head{font-size:30px !important;font-weight:600 !important;text-transform:none !important;
3774color:#1c244b !important;line-height:1.3 !important;margin:0 0 15px !important} 3775body .pg_page .right-content .content-page.rte{padding:0 !important;background:transparent !important;border-radius:0 !important} 3776@media (max-width:991px){ 3777body .pg_page .row > .right-content.col-lg-9{background:#fff !important;border-radius:12px !important;padding:16px 14px !important} 3778body .pg_page .right-content .page-title .title-head{font-size:23px !important} 3779} 3780/* vnt-trang-noi-dung-2, 13/09/2026: ngay dang va muc luc trang noi dung giong bai tin (chep tu blog_article_style) */ 3781body .pg_page .posts{font-size:12px;margin-bottom:10px} 3782body .pg_page .posts .time-post{font-size:14px;font-weight:400;color:#acacac;display:inline-block;margin-right:10px} 3783body .pg_page .posts .time-post svg{width:15px;height:15px;margin-top:-5px;margin-right:2px} 3784body .pg_page .table-of-contents{background:#ffecde;border:1px solid var(--mainColor);border-radius:6px;width:100%;padding:5px 15px;margin:15px 0;color:var(--mainColor);position:relative} 3785body .pg_page .table-of-contents i{margin:0 15px;color:var(--mainColor);font-weight:bold;font-size:20px;position:absolute;top:10px;right:0} 3786body .pg_page .table-of-contents .label-title{font-size:18px;display:block;color:var(--mainColor);font-weight:bold;cursor:pointer} 3787body .pg_page .table-of-contents .label-title svg{vertical-align:-4px !important;margin-right:6px;width:20px;height:20px} 3788body .pg_page .table-of-contents #toc{display:none} 3789body .pg_page .table-of-contents #toc>li>a{text-transform:uppercase;font-weight:600} 3790body .pg_page .table-of-contents ol{margin-top:10px;padding:0 0 0 12px;counter-reset:item;margin-left:0 !important} 3791body .pg_page .table-of-contents ol ol{margin:10px 0} 3792body .pg_page .table-of-contents li{margin:0 0 .25em 0;display:block} 3793body .pg_page .table-of-contents li:before{content:counters(item, ".") ". ";counter-increment:item;color:var(--mainColor)} 3794body .pg_page .table-of-contents a{text-decoration:none;color:var(--mainColor)} 3795body .pg_page .table-of-contents a:hover{text-decoration:underline} 3796/* 13/09/2026 anh Thanh: bai tin tuc, khung Tin tuc noi bat bo vien cam, bo goc 12px giong Chinh sach & Huong dan */ 3797body .layout-article .blog_left_base .blog_noibat:not(.page_sidebar){background:#fff !important;padding:0 !important;border:1px solid #e6e9f0 !important;border-radius:12px !important;overflow:hidden !important} 3798body .layout-article .blog_left_base .blog_noibat:not(.page_sidebar) .h2_sidebar_blog{background:#ff6d01 !important;margin:0 !important;border-radius:0 !important} 3799body .layout-article .blog_left_base .blog_noibat:not(.page_sidebar) .h2_sidebar_blog a{color:#fff !important} 3800</style> 3801</body> 3802</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.