/* Fonts */
@font-face { font-family: 'Roboto'; src: url('../fonts/Roboto/Roboto-Regular.woff'); font-display: swap; }
@font-face { font-family: 'Roboto'; src: url('../fonts/Roboto/Roboto-Medium.woff'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Roboto'; src: url('../fonts/Roboto/Roboto-Bold.woff'); font-weight: 700; font-display: swap; }
:root { --color-main: #006EB5; --color-social: #2557ae; --color-hover: #FF9900; --color-text: #111; --color-red: #ec2d3f; }
body { font-size: 14px; line-height: 1.5; font-family: Roboto; max-width: 1920px; margin: 0 auto; min-width: 1200px; }
p { margin: 0 0 0.5rem 0; }
ul::-webkit-scrollbar-track, div::-webkit-scrollbar-track { border-radius: 5px; }
ul::-webkit-scrollbar, div::-webkit-scrollbar { width: 3px; height: 3px; }
ul::-webkit-scrollbar-thumb, div::-webkit-scrollbar-thumb { background-color: rgba(0, 0, 0, 0.5); border-radius: 5px; }
.max-width, .wrap-content { width: 100%; max-width: 1230px; margin: auto; padding: 0 15px; }
.product-list { padding: 45px 0; background: url(../images/bg_luachon.jpg) repeat center center / cover; color: #fff; }
.product-list .title-main .name, .dauan .title-main .name { color: #fff; }
.tt { font-size: 16px; padding: 5px; max-width: 800px; margin: 0 auto; text-align: center; }
.title-list-main { margin: 15px 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.title-list-main .name { margin: 5px; padding: 5px 15px 5px 15px; text-transform: uppercase; font-size: 18px; cursor: pointer; }
.list-c2 .title-list-main .name { border: 1px solid #ccc; border-radius: 4px; }
.list-c2 .title-list-main .name:hover, .list-c2  .title-list-main .name.active { background: var(--color-hover); color: #fff; border-color: var(--color-hover); }
.title-list-main .name:hover, .title-list-main .name.active { color: var(--color-hover); }
.mw-700 { max-width: 700px; }
img { max-width: 100%; display: inline-block; }
* { box-sizing: border-box; }
a { text-decoration: none; }
.social-plugin { display: flex; margin-top: 10px; }
.scale-img { overflow: hidden; display: block; }
.scale-img img { transition: all 0.5s; }
.scale-img:hover img { transform: scale(1.1, 1.1); }
.pulse-img:hover img { animation: pulse-animation 1.5s linear infinite; }
.hover-img { position: relative; overflow: hidden; display: block; }
.text-split, .text-split-2 { overflow: hidden; text-overflow: ellipsis; white-space: normal; -webkit-box-orient: vertical; display: -webkit-box; -webkit-line-clamp: 3; }
.text-split-2 { -webkit-line-clamp: 2; }
.p-relative { position: relative; }
.social { flex-wrap: wrap; gap: 5px; }
.button { display: inline-block; padding: 10px 20px; background: #000; color: #fff; border-radius: 5px; }
.button:hover { background: var(--color-hover); color: #fff; }

/* @keyframe */
@keyframes spin {
	to { transform: rotate(360deg); }
}
@keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes shake-anim {
	0% { transform: rotate(0) scale(1) skew(1deg); }
	10%, 30% { -moz-transform: rotate(-25deg) scale(1) skew(1deg); }
	20%, 40% { -moz-transform: rotate(25deg) scale(1) skew(1deg); }
	100%, 50% { -moz-transform: rotate(0) scale(1) skew(1deg); }
}
@keyframes rotate {
	from { transform: rotate(0); }
	to { transform: rotate(360deg); }
}
@keyframes fadeup {
	from { opacity: 0; transform: translateX(-20px); }
	to { opacity: 1; transform: translateX(0); }
}
@keyframes pulse-animation {
	0%, 100% { transform: scale3d(1, 1, 1); }
	50% { transform: scale3d(0.9, 0.9, 0.9); }
}
@keyframes border-animation {
	0% { transform: scale3d(0.6, 0.6, 0.6); opacity: 0; }
	20% { transform: scale3d(1.2, 1.2, 1.2); opacity: 1; }
	100% { transform: scale3d(1.4, 1.4, 1.4); opacity: 0; }
}
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Transition All */
.transition, .btn-frame .kenit-alo-circle-fill, .control-owl button, .carousel-comment-media .carousel-control a span, .menu ul li a.has-child:after, .menu ul li ul, .menu ul li:hover > ul, .scale-img img, .scale-img:hover > img, .support-online .kenit-alo-circle-fill { transition: 0.3s all; }
.gutter-x-20 { --bs-gutter-x: 20px; }
.gutter-x-5 { --bs-gutter-x: 5px; }

/*   Header   */
.header { background: #4a90e2; }
.flex-header { display: flex; justify-content: space-between; align-items: center; }
.logo-header { width: 90px; aspect-ratio: 1; }
.cart-head { border: 1px solid #fff; padding: 10px; border-radius: 5px; position: relative; color: #fff; }
.cart-head:hover { color: #fed402; }
.cart-head i { font-size: 20px; }
.cart-head .count-cart { position: absolute; z-index: 999; color: #fff; background: #f00; border-radius: 50%; top: -10px; right: 20px; width: 20px; height: 20px; text-align: center; }
.menu-head { display: flex; gap: 20px; justify-content: space-between; align-items: center; }
.menu-head a { color: #fff; }
.menu-head a:hover { color: #fed402; }
.line-head { background-color: #72b2fd; height: 32px; width: 1px; }

/* slideshow */
.slideshow { position: relative; }
.slideshow .item .info { position: absolute; right: 5%; bottom: 20%; padding: 2%; text-align: right; font-size: 17px; width: 400px; background: hsl(0deg 0% 0% / 40%); color: #fff; transition: all 0.7s; opacity: 0; max-width: 80%; }
.transform-left { -moz-transform: translate(-50%, 0); -webkit-transform: translate(-50%, 0); -o-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); transform: translate(-50%, 0); }
.swiper-slide-active .transform-left { -moz-transform: translate(0%, 0); -webkit-transform: translate(0%, 0); -o-transform: translate(0%, 0); -ms-transform: translate(0%, 0); transform: translate(0%, 0); opacity: 1 !important; !i; !; }
.slideshow .item .info .name { font-size: 30px; text-transform: uppercase; transition: all 1.1s; }
.slideshow .item .info .desc { transition: all 0.9s; }

/* Search */
.search { width: 40px; height: 40px;	/* background: #fff; */ position: relative;	/* border-radius: 10px; */ z-index: 100; min-width: 40px; }
.flex-search { border: 1px solid #ccc; border-radius: 30px; background: #fff; width: 40px; transition: 0.8s; position: absolute; right: 0; z-index: 1; }
.search:hover .flex-search { width: 220px; background: #F0F0F0; }
.search input { width: 0; font-size: 13px; color: #333; border-radius: 10px; border: none; padding: 6px 0px; flex-grow: 1; background: transparent; text-indent: 15px; }
.search input:focus { border: none; box-shadow: none; }
.search label { height: 35px; cursor: pointer; text-align: center; font-size: 16px; background: #f00; color: #fff; border-radius: 10px; margin-right: 3px; padding: 5px 10px; }
.search label i { font-weight: bold; color: #999; }
.search p { width: 38px; height: 38px; cursor: pointer; line-height: 38px; text-align: center; font-size: 18px; }
.search p i { font-weight: bold; color: #6c757d; }
.box-search { padding: 10px; border-bottom: 1px solid #f1f1f1; display: flex; justify-content: space-between; align-items: center; }
.ds-item-search { width: calc(100% - 70px); }
.ds-item-search a { font-size: 14px; color: #333; }
.show-search { position: absolute; z-index: 9999; top: 100%; background: #fff; width: 100%; border-radius: 10px; box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3); }
.box-search .price-product { width: 100%; margin: 0px; text-align: left; }
.box-search .price-product .price-new { color: #f00; font-size: 14px; font-weight: bold; }
.box-search .price-product .price-old { color: #999; text-decoration-line: line-through; }
.company { border-bottom: 1px solid #f1f1f1; padding-bottom: 10px; }
.company p { margin-bottom: 5px; font-size: 13px; }
.company p span { color: #007bff; }
.head-menu { display: flex; justify-content: center; flex-wrap: wrap; }
.head-menu img { max-width: 80px; }

/*   SLider */
.control-owl { position: absolute; width: 100%; z-index: 2; left: 0px; top: calc(50% - 22.5px); }
.control-owl button { opacity: 0.5; top: 0px; position: absolute; outline: none; border: 2px solid #fff; padding: 0px; margin: 0px; display: block; cursor: pointer; color: #ffffff; width: 30px; height: 30px; border-radius: 50%; overflow: hidden; text-align: center; font-size: 25px; margin: 0px; background-color: #00a3ff; display: flex; align-items: center; justify-content: center; }
.control-owl button:hover { opacity: 1; }
.control-owl button.owl-prev { left: 20px; }
.control-owl button.owl-next { right: 20px; }

/* DT */
.item-partner {/* border:1px solid #f1f1f1; */display: block; }
.box-photo-ct { border-radius: 20px; overflow: hidden; }
.title-detail { position: relative; margin: 20px 0px; }
.title-detail h1, .title-detail .name {	text-transform: uppercase; }
.title-main, .title-detail { position: relative; text-align: center; margin: 25px 0 20px 0; padding: 0 0 10px 0; background: url(../images/tcat-b.png) no-repeat bottom center; }
.title-main .name, .title-detail .name, .title-detail h1 { font-size: 35px; font-weight: 500; text-transform: uppercase; color: var(--color-main); }
.title-list { text-align: center; padding: 5px 0; }
.title-list .name { font-size: 20px; color: var(--color-main); font-weight: bold; }
.tt-week { font-size: 25px; text-align: center; margin: 20px 0px; color: #fff; font-weight: 700; text-transform: uppercase; }
.title-cat-main { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.title-cat-main span { display: block; color: #999; background: linear-gradient(64.85deg, #fca600 23.67%, #ffd41d 106.12%); background-color: #fff; padding: 10px; border-radius: 10px; cursor: pointer; }
.title-cat-main span:hover, .title-cat-main span.active { background: linear-gradient(64.85deg, #ffd41d 23.67%, #fca600 106.12%); color: #000; }
.dauan { background: url(../images/bg_dauan.jpg) no-repeat center center / cover; padding: 40px 0; color: #fff; }
.item-dauan { background: #fff; max-width: 600px; margin: 0 auto; border: 1px solid #fff; }
.item-dauan .info {position: absolute;left: 0;bottom: 0;right: 0;margin: 10px;z-index: 9;background: #0006;text-align: center;padding: 10px;}
.item-dauan .name {color: #fff;font-size: 18px;font-weight: 500;text-transform: uppercase;}
.visao { padding: 30px 0; }
.item-visao { background: #f2f2f2; padding: 30px 20px; text-align: center; position: relative; transition: all 0.8s; }
.item-visao:hover { background: #fff; }
.item-visao:before { border-top: 2px solid; border-right: 2px solid; top: 0; right: 0; }
.item-visao:after { border-bottom: 2px solid; border-left: 2px solid; bottom: 0; left: 0; }
.item-visao:before, .item-visao:after { content: ""; width: 0; height: 0; position: absolute; border-color: var(--color-hover); opacity: 0; transition: all 0.5s; pointer-events: none; }
.item-visao:hover:before, .item-visao:hover:after { opacity: 1; width: 20%; height: 25%; }
.item-visao .img { max-width: 120px; margin: 0 auto 20px auto; border-radius: 50%; background: var(--color-main); width: 100%; }
.item-visao .name { font-size: 18px; font-weight: 500; margin: 0 0 12px 0; }
.thongtin { padding: 40px 0; background: var(--color-main); color: #fff; }
.item-thongtin .content { display: flex; gap: 15px; flex-direction: row-reverse }
.item-thongtin .info { width: calc(100% - 100px); text-align: right; padding: 5px; color: #fff; font-size: 15px; }
.item-thongtin .name { font-size: 32px; }

/* News */
.grid-tintuc { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row wrap; -webkit-flex-flow: row wrap; justify-content: space-between; }
.news { display: block; margin-bottom: 20px; display: block; }
.pic-news { border-radius: 10px; display: block; overflow: hidden; position: relative; }
.pic-news img { width: 100%; }
a.views { display: inline-block; text-decoration: none; margin-top: 10px; border: solid 1px #ccc; padding: 7px 20px; border-radius: 20px; color: #000; font-size: 16px; }
a.views:hover { border: solid 1px #fed402; color: #fed402; }
.info-news { }
.info-news h3 { }
.name-news { color: #1b1b1b; font-size: 18px; line-height: 22px; max-height: 40px; -webkit-line-clamp: 2 !important; font-weight: 400; }
a.name-news.name1 { font-size: 25px; line-height: 32px; max-height: 64px; }
.name-news:hover { color: #fed402; }
.time-news { color: #fed402; margin-bottom: 0px; font-size: 12px; margin: 7px 0; font-style: italic; font-weight: 500; }
.desc-news { color: #333333; margin: 0px; }
.share { padding: 17px 10px 10px 10px; line-height: normal; background: rgba(128, 128, 128, 0.15); margin-top: 15px; border-radius: 5px; }
.share b { display: block; margin-bottom: 5px; }
.othernews b { margin-bottom: 10px; }
.list-news-other { padding-left: 17px; list-style: square; }
.list-news-other li { margin-bottom: 2px; }
.list-news-other li a { text-transform: none; color: #333333; }
.list-news-other li a:hover { color: #fed402; }

/* Toc */
.box-readmore { padding: 8px 15px; border: 1px solid #dedede; margin-bottom: 2rem; border-radius: 5px; background-color: #eeeeee; }
.tt-toc { position: relative; font-size: 18px; text-transform: uppercase; display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
.box-readmore li ul > li { margin: 0; margin-bottom: 8px; }
.box-readmore li ul > li:before {	/* content: counters(item, '.') ' '; */ }
.box-readmore ul { list-style-type: none; counter-reset: item; margin-bottom: 0px; padding-left: 0px !important; margin-top: 8px; display: none; }
.box-readmore ul li { display: table; counter-increment: item; margin-bottom: 5px; }
.box-readmore ul li:before {	/* content: counters(item, '.') '. '; */display: table-cell; padding-right: 5px; }
.box-readmore ul li a { color: #333333; cursor: pointer; font-weight: 600; }
.box-readmore ul li a:hover { color: #767676; }

/* Partner */
.info-partner { background: #f8f8f8; padding: 15px 0px; }

/* Footer */
.info-footer .flex-footer { display: flex; justify-content: space-between; gap: 20px; color: #fff; max-width: 1170px; margin: 0 auto; }
.info-footer { background: var(--color-main); padding: 30px 0px; }
.info-footer, .info-footer a { color: #fff; }
.info-footer a:hover { color: var(--color-hover); }
.title-footer { margin: 20px 0 15px; font-size: 25px; font-weight: 500; text-transform: uppercase; color: #fff; }
.menu-ft { padding: 0 0 0 16px; font-size: 15px; }
.menu-ft li { margin: 0 0 10px 0; }
.info-company { margin: 0 0 15px 0; }
.newsletter-form .form-control { background: none; color: #fff; border-radius: 0; height: 40px; padding: 5px 20px; }
.newsletter-form .btn { background: var(--color-hover); color: #fff; padding: 5px 20px; text-transform: uppercase; border-radius: 20px; line-height: 30px; border: none; }
.newsletter-form .btn:hover { background: var(--color-red); }
.newsletter-form .form-control::placeholder { color: #fff; }
.info-footer .box-footer {/* margin: 10px 0; */ }
.info-footer .ft-1 { width: 32%; }
.info-footer .ft-2 { width: 23%; }
.info-footer .ft-3 { width: 32%; }
.map-footer { position: relative; width: 100%; height: 460px; }
.map-footer iframe { position: absolute; width: 100%; height: 100%; }
.footer-powered { padding: 10px 0px; background: var(--color-main); color: #fff; border-top: solid 1px #24A8FF; }
.flex-powered { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.statistic span { position: relative; padding: 0px 5px; }

/* Tags */
.title-tags { position: relative; font-size: 1em; font-weight: 600; padding-bottom: 15px; margin-bottom: 15px; color: #777; }
.title-tags:after { content: ''; position: absolute; left: 0px; bottom: 0px; background-color: rgba(0, 0, 0, 0.1); display: block; height: 3px; width: 30px; }
.flex-tags { display: flex; gap: 5px; }
.flex-tags a { color: #333; border: 1px solid; border-radius: 3px; display: inline-block; opacity: 0.8; padding: 2px 5px; }
.flex-tags a:hover { background-color: #f00; border-color: #f00; color: #fff; opacity: 1; }

/*   TC   */
.item-criteria a { display: flex; align-items: center; color: #333; }
.item-criteria a .ds-criteria { width: calc(100% - 60px); margin-left: 10px; }
.item-criteria a .ds-criteria h3 { -webkit-line-clamp: 2; font-size: 16px; color: var(--color-main); }
.item-criteria a .ds-criteria p { -webkit-line-clamp: 2; margin: 0px; }

/* About */
.flex-about { display: flex; justify-content: space-between; align-items: center; }
.content-about { width: 50%; }
.photo-about { width: 48%; }
.title-about { margin-bottom: 20px; }
.title-about h3 { font-size: 30; color: #333; text-transform: uppercase; }
.view-about { display: block; font-size: 15px; text-transform: uppercase; margin: 30px 0px 20px; color: #333; text-align: center; }
.view-about span { position: relative; z-index: 1; }
.view-about span:hover { color: #f00; }
.view-about span:after { content: ''; width: 50px; height: 50px; border-radius: 50%; background: #c2d2a7; position: absolute; z-index: -1; left: 4%; top: 50%; transform: translateY(-50%) translateX(-50%); }

/* Service */
.item-service { position: relative; }
.item-service h3 { position: absolute; left: 0px; right: 0px; bottom: 0px; color: #fff; text-transform: uppercase; padding: 10px; font-size: 17px; margin: 0px; }

/* Video */
.flex-video { display: flex; justify-content: space-between;	/* margin: 0 auto; */ }
.wr-video { width: 48.5%; }
.wr-form { width: 48.5%; }
.video-main { position: relative; height: 400px; width: 100%;	/* aspect-ratio: 16/9; */ }
.list-video { margin-top: 10px; width: 100%;	/* border-radius: 5px; */ border: none; background: var(--color-main); color: #fff; font-size: 15px; padding: 8px 10px; line-height: 24px; }
.img-video span { position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); border: 1px solid #ff000066; border-radius: 50%; width: 50px; height: 50px; display: flex; justify-content: center; align-items: center; color: #f00; background: #ffffffa8; font-size: 27px; cursor: pointer; transition: all 1s; }
.item-video:hover span { transform: translateX(-50%) translateY(-50%) rotate(360deg); }
.item-video h3 { text-align: center; font-size: 16px; margin-top: 10px; }

/* Sort */
.sort-select { display: flex; justify-content: end; margin: 20px 0px; position: relative; }
.sort-select .click-sort { border: 1px solid #e0e0e0; border-radius: 4px; cursor: pointer; font-size: 14px; padding: 6px 10px 6px 8px; margin: 0px; }
.sort-select-main { display: grid; background-color: #fff; border-radius: 4px; box-shadow: 0 4px 6px rgb(0 0 0 / 20%); position: absolute; padding: 0 7px; top: 30px; right: 0; width: 160px; z-index: 2; }
.sort-select-main p { border-bottom: 1px solid #f1f1f1; margin: 0px; order: 2; }
.sort-select-main p:has(.check) { order: 1; }
.sort a { color: #000; font-size: 14px; line-height: 17px; padding: 11px 3px; display: block; cursor: pointer; }
.sort a.check i { box-sizing: border-box; position: relative; display: inline-block; transform: scale(var(--ggs, 1)); width: 22px; height: 16px; border: 2px solid transparent; border-radius: 100px; vertical-align: middle; }
.sort a.check i::after { content: ''; display: block; box-sizing: border-box; position: absolute; left: 3px; top: -4px; width: 6px; height: 10px; border-width: 0 2px 2px 0; border-style: solid; transform-origin: bottom left; transform: rotate(45deg); }
.sort-select .sort-show { padding-right: 12px; position: relative; }
.sort-select .sort-show::before { content: ''; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid #333; content: ''; height: 0; position: absolute; top: 6px; right: 0; width: 0; }

/* Product */
.filter { position: absolute; right: 0px; top: 0px; padding: 5px 10px; background: #f1f1f1; display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; text-transform: uppercase; border-radius: 5px; cursor: pointer; border: 1px solid #ddd; display: none; }
.flex-product-main { display: flex; gap: 20px; }
.flex-product-main .left-product { width: 250px; border: 1px solid #f1f1f1; padding: 20px; border-radius: 5px; }
.flex-product-main .right-product { width: calc(100% - 250px); flex-grow: 1; }
.wrap-product-sale { background-color: #ffa09e; border-radius: 10px; overflow: hidden; }
.wr-search p { font-weight: bold; text-transform: uppercase; }
.product { display: block; position: relative; background: #fff; text-align: center;	/* border: 1px solid #f1f1f1; */ }
.product .pic-product { background: #fff;	/* margin-bottom: 10px; */ display: block; position: relative; overflow: hidden;	/* border-radius: 5px; */	/* border: solid 1px transparent; */ }
.product .info { position: absolute; left: 0; bottom: 0; right: 0; padding: 10px; background: #0008; transition: 0.8s; }
.product:hover .info { background: #000c; }
.product:hover .pic-product {	/* border: solid 1px #ccc; */ }
.product .pic-product img { width: 100%; -webkit-transform-style: preserve-3d; height: 100%; object-fit: cover;	/* border-radius: 5px; */ }
.product .pic-product > a { display: flex; width: 100%; align-items: center; justify-content: center; text-align: center; border-radius: 5px; }
.first_img { position: absolute; top: 0; transition: all 0.5s ease; height: 100%; }
.product:hover .first_img { transform: scale(0); }
.second_img { display: block; position: absolute; top: 0; right: 100%; transition: all 0.5s ease; height: 100%; }
.product:hover .second_img { right: 0; top: 0; transition: all 0.5s ease; }
.product .name-product { margin-bottom: 5px; font-weight: normal; color: #fff; font-size: 16px; line-height: 1.5; margin: 0; }
.product .name-product a { font-size: 15px; color: #232323; font-weight: 500; }
.product .name-product a:hover { color: #ff2e00; }
.product .name-product .text-split { -webkit-line-clamp: 2; }
.product .price-product { margin-bottom: 10px; color: #555; display: flex; flex-wrap: wrap; gap: 5px; justify-content: space-evenly; }
.product .price-new { font-size: 16px; font-weight: 500; color: #ff2e00; display: inline-block; text-transform: uppercase; }
.product .price-old { padding: 0 10px; font-size: 14px; text-decoration: line-through; display: block; color: #999; text-transform: uppercase; }
.product .price-per { background: #ff2e00; font-size: 13px; text-align: center; font-weight: 700; position: absolute; top: 10px; right: 10px; color: #fff; padding: 5px 10px; border-radius: 5px; }
.box-cat { text-align: center; }
.box-cat h3 { font-size: 14px; color: #333; margin-top: 10px; }
.box-cat:hover h3 { color: #f00; }
.cart-product { margin: 5px 0 0 0px; }
.cart-product span { cursor: pointer; color: #fff; text-align: center; padding: 0px 5px; border-radius: 5px; display: inline-block; line-height: 34px; font-size: 13px; font-weight: 700; }
.cart-add { margin-left: 10px; background-color: #00a5d9; width: 155px; }
.cart-add:hover { background-color: #fed402; }
.cart-buy { background-color: #ff2e00; width: 93px; height: 33px; }
.cart-buy:hover { background-color: #fed402; }
.grid-product { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 15px 0; }
.grid-product > * { max-width: 100%; /* Giới hạn kích thước */ min-width: 0; /* Ngăn phần tử mở rộng quá mức */ }
.item-thu-vien-anh .name { text-align: center; font-size: 16px; margin: 10px 0; color: #333; }
.grid-product .product .product-info { margin-top: 10px; color: #333; }
.grid-product .product .product-info h3 { font-size: 17px; color: #333; }
.grid-product .product .product-info .price span { color: #f00; }
.grid-product .product .pic-product {	/* border: 1px solid #ddd; */ }

/* product detail */
.grid-pro-detail { display: flex; justify-content: space-between;	/* align-items: start; */ padding: 15px 0;	/* font-size: 15px; */ }
.grid-pro-detail .title-pro { font-size: 22px; margin: 15px 0; border-bottom: 1px solid #ccc; color: var(--color-main); font-weight: 500; }
.grid-pro-detail .left-pro-detail { width: 68%; font-size: 15px; }
.album-product { width: 25%; padding: 0 0 0 1%; }
.album-product .item { aspect-ratio: 64/56; width: 100%; }
.photo-product { width: 75%; }
.grid-pro-detail .right-pro-detail { width: 30%; }
.title-detail-pro { font-size: 20px; font-weight: bold; color: var(--color-hover); padding: 0 0 20px 0; border-bottom: 1px solid #fff; margin: 0 0 10px 0; }
.pro-content { margin: 20px 0 0 0; font-size: 15px; }
.title-detail-pro-content { padding: 10px 0; border-top: 1px solid #fff;    /* margin: 20px 0 0 0; */ font-size: 20px; }
.box-detail { background: var(--color-main); color: #fff; border-radius: 5px; padding: 25px 15px; position: sticky; top: 50px; margin: 10px 0; }
.box-detail a { color: #fff; cursor: pointer; }
.box-detail a:hover { color: var(--color-hover); }
.detail-product { display: flex; justify-content: space-between; }
.detail-product .left-pro-detail { width: 40%; border: 1px solid #ddd; }
.detail-product .right-pro-detail { width: 57%; }
.detail-product .right-pro-detail ul { list-style: none; padding: 0px; }
.detail-product .right-pro-detail ul li { margin-bottom: 20px; }
.detail-product .right-pro-detail ul li .title-pro-detail { font-size: 18px; }
.detail-product .right-pro-detail ul li .attr-content-pro-detail { display: inline-block; margin-bottom: 0px; }
.detail-product .right-pro-detail ul li .attr-content-pro-detail .price-new-pro-detail { font-weight: 700; font-size: 20px; color: #f00; }
.tabs-pro-detail .tab-content { border: 1px solid #ddd; border-top: none; padding: 20px; }
.nav-tabs li a { text-transform: uppercase; font-weight: 500; color: #333; }
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active, .nav-tabs .nav-link:hover { color: #f00; }

/* css block actions  */
.ul-actions { display: flex; justify-content: center; margin: 20px; gap: 15px; align-items: flex-start; }
.ul-actions li, .ul-actions > div { list-style-type: none; margin: 0; padding: 0; width: 80px; text-align: center; }
.ul-actions .active .box__tabr, .ul-actions .box__tabr:hover { border-color: #fd6e1d; }
.ul-actions .box__tabr { align-items: center; border: 1px solid #e0e0e0; border-radius: 2px; display: flex; justify-content: center; min-height: 55px; padding: 4px; height: 60px; width: 80px; }
.icon-action { background-image: url('../images/icon_chitiet@2x-min.png'); background-repeat: no-repeat; display: inline-block; height: 30px; width: 30px; line-height: 30px; vertical-align: middle; background-size: 300px 180px; }
.icon-dnb { background-position: 0 0; height: 28px; width: 28px; }
.icon-tskt { background-position: -105px 0; height: 30px; width: 30px; }
.icon-ttsp { background-position: -140px 0; height: 19px; width: 23px; }
.ul-actions p { font-size: 14px; line-height: 1.3; margin-top: 5px; white-space: normal; color: #000; }

/* modal-detail */
.modal-detail::-webkit-scrollbar { width: 10px; }
.modal-detail::-webkit-scrollbar-thumb { width: 10px; background: #4d90e0; border-radius: 10px; height: 50px; }
.modal-detail { position: fixed; z-index: 999; background: #000000c4; top: 0px; left: 0px; width: 100%; height: 100%; overflow-y: scroll; }
.content-modal-detail { background: #fff; max-width: 1200px; margin: 0px auto; min-height: 100vh; }
.content-modal-detail .tabs { display: flex; cursor: pointer; padding: 0; list-style: none; justify-content: center; border-bottom: 1px solid #e0e0e0; position: sticky; top: 0px; background: #fff; z-index: 99; }
.content-modal-detail .tabs li { padding: 20px 20px; margin-right: 5px; font-weight: bold; position: relative; border-bottom: 4px solid #fff; }
.content-modal-detail .tabs li.active { color: #2d9cdb; border-bottom: 4px solid #2d9cdb; }
.content-modal-detail .tab-content { padding: 20px; max-width: 900px; margin: 0px auto; }
.content-modal-detail .tab-content.active { display: block; }
.close-tab { position: fixed; top: 15px; right: 20px; z-index: 10; }
.btn-closemenu { position: fixed; top: 10px; right: 20px; background-color: #fff; border: 1px solid #e0e0e0; border-radius: 4px; color: #333; cursor: pointer; line-height: 21px; padding: 7px; text-align: right; width: 72px; }
.btn-closemenu::before { transform: rotate(45deg); }
.btn-closemenu::after { transform: rotate(-45deg); }
.btn-closemenu::before, .btn-closemenu::after { background-color: #333; content: ''; left: 13px; height: 14px; position: absolute; top: 10px; width: 1px; }
.cursor-pointer { cursor: pointer; }

/* Contact */
.contact-map { position: relative; height: 500px; margin-top: 30px; }
.contact-map iframe { position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; }
.contact-text { max-width: 800px; margin: auto; margin-bottom: 15px;     }
.box-frm { position: relative; }
form.contact-form { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); padding: 30px; border-radius: 10px; max-width: 800px; margin: auto; margin-bottom: 15px; background: #fff; }
.contact-input input, .contact-input textarea { border-radius: 0; border-top: none; border-left: none; border-right: none; border-bottom: 1px dotted #666; }
.form-floating-cus>.form-control { height: auto; }
.btn-send { margin: auto;    /* width: 150px; */ border-radius: 50px; display: block; text-transform: uppercase; font-weight: 700; padding: 10px 25px; }

/*  breadCrumbs */
.breadCrumbs { padding: 10px 0px; background: #ddd; }
.breadCrumbs ol { margin: 0px; }
.breadCrumbs ol li a { color: #333; }
.breadCrumbs ol li a:hover { color: #f00; }

/* paging */
.paging-product { position: relative; }
.pagination { margin: 20px 0px; flex-wrap: wrap; justify-content: center; gap: 3px; }
.pagination li span, .page-link { cursor: pointer; color: #333; margin: 0 !important; !i; !; }
.pagination .page-link:hover { }
.page-item.active .page-link, .pagination .page-link:hover { background-color: var(--color-red); border-color: var(--color-red); color: #fff; }
.btn-frame { display: block; width: 50px; height: 50px; position: fixed; right: 20px; z-index: 10; cursor: pointer; }
.btn-frame i { width: 50px; height: 50px; border-radius: 50%; background: #1182fc; position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; }
.btn-frame i img { vertical-align: middle; width: 70%; }
.btn-frame .animated.infinite { animation-iteration-count: infinite; }
.btn-frame .kenit-alo-circle { width: 60px; height: 60px; top: -5px; right: -5px; position: absolute; background-color: transparent; border-radius: 100%; border: 2px solid rgba(7, 41, 103, 0.8); opacity: 0.1; border-color: #1182fc; opacity: 0.5; }
.btn-frame .zoomIn { animation-name: zoomIn; }
.btn-frame .animated { animation-duration: 1s; animation-fill-mode: both; }
.btn-frame .kenit-alo-circle-fill { width: 70px; height: 70px; top: -10px; right: -10px; position: absolute; border-radius: 100%; border: 2px solid transparent; background-color: rgba(7, 41, 103, 0.35); opacity: 0.4; }
.btn-frame .pulse { animation-name: pulse; }
.grid-properties { display: flex; gap: 10px; }
.grid-properties span { position: relative; border: 1px solid #ddd; padding: 5px 15px; cursor: pointer; }
.grid-properties span:hover, .grid-properties span.active { border: 1px solid #f00; color: #f00; }
.grid-properties span:hover:after, .grid-properties span.active:after { content: ''; border: 0.9375rem solid transparent; border-bottom: 0.9375rem solid var(#d0011b, #ee4d2d); bottom: 0; position: absolute; right: -0.9375rem; }
.grid-properties span.outstock { pointer-events: none; background-color: #fafafa; color: rgba(0, 0, 0, 0.26); cursor: not-allowed; }

/* scrollToTop */
.scrollToTop { width: 41px; height: 41px; text-align: center; font-weight: bold; color: #444; text-decoration: none; position: fixed; bottom: 65px; right: 25px; display: none; z-index: 10; cursor: pointer; }

/* Hidden Google Captcha */
.grecaptcha-badge { display: none !important; width: 0px !important; height: 0px !important; visibility: hidden !important; overflow: hidden; }
[x-cloak] { display: none !important; }

/* CSSS T */
a.views_dm { width: 140px; height: 38px; }
.effect_button { transform-style: preserve-3d; transform: translateZ(-25px); transition: transform 0.25s; position: relative; display: inline-flex; z-index: 1; }
.effect_button:after, .effect_button:before { position: absolute; content: 'xem thêm'; height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; border: 1px solid #f00; box-sizing: border-box; border-radius: 5px; z-index: -1; text-transform: uppercase; font-weight: 700; font-size: 15px; }
.effect_button:before { color: #fff; background: #f00; transform: rotateY(0deg) translateZ(25px); }
.effect_button:after { color: #f00; transform: rotateX(90deg) translateZ(25px); }
.effect_button:hover { transform: translateZ(-25px) rotateX(-90deg); }

/* News */
.grid-news, .grid-album { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; padding: 10px 0; }
.grid-album { grid-template-columns: 1fr 1fr 1fr; }
.item-news { transition-property: all;	/* transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); */ transition-duration: 500ms; }
.item-news .content { display: flex;    /* flex-flow: column; */ gap: 15px; }
.item-news .img { aspect-ratio: 3/2; width: 35.5%; }
.item-news:hover {	  }
.item-news .info { width: 50%; flex-grow: 1; }
.item-news .time { display: block;	/* line-height: 25px; */ color: #999; font-size: 13px; margin: 5px 0px; font-style: italic; }
.item-news .name { font-size: 15px; margin: 0 0 5px 0; color: #000; font-weight: 500;	/* text-transform: uppercase; */ -webkit-line-clamp: 2 !important; line-height: 1.5; }
.ds-news { color: #333; }
.item-news:hover h3, .item-news-all:hover .name { color: #f00; }
.item-news-all a { display: flex; justify-content: space-between; }
.item-news-all a .ds-news { width: calc(100% - 110px); }
.item-news-all .name { text-transform: capitalize; font-size: 15px; line-height: 1.5; color: #000; }
.flex-news-detail { display: flex; justify-content: space-between; align-items: start; flex-wrap: wrap; }
.news-left { width: 100%; max-width: 1000px; margin: 0 auto; }
.news-right { position: sticky; top: 20px; width: 30%; background: #f1f1f1cc; padding: 20px; box-shadow: 0px 0px 5px #99999978; }
a.btn_link { position: relative; margin: 5px; height: 36px; width: 140px; }
.btn_link.effect_button:first-child:after, .btn_link.effect_button:first-child:before { content: 'facebook'; }
.btn_link.effect_button:first-child:after, .btn_link.effect_button:first-child:before, .btn_link.effect_button:nth-child(2):after, .btn_link.effect_button:nth-child(2):before { border-width: 1px; border-style: solid; --tw-border-opacity: 1; border-color: rgb(0 165 217 / var(--tw-border-opacity)); --tw-bg-opacity: 1; background-color: rgb(0 165 217 / var(--tw-bg-opacity)); }
.btn_link.effect_button:nth-child(2):after, .btn_link.effect_button:nth-child(2):before { content: 'google map'; }
div.slick.in-page:not(.slick-initialized) { display: flex; gap: 10px; overflow: hidden; white-space: nowrap; }
.attr-pro-detail { margin: auto; padding: 0; }
.baonoidung iframe { max-width: 100% !important; }
.baonoidung img { height: auto !important; }
.baonoidung * { max-width: 100% !important; }
.baonoidung table { display: block; overflow-y: auto; }
div.desc-pro-detail ul li { margin-bottom: 0.75rem; list-style-type: circle; }
div.desc-pro-detail ul li:last-child { margin-bottom: 0 !important; }
div.baonoidung ul li { margin-bottom: 0.75rem; list-style-type: disc; }
div.baonoidung ol li { margin-bottom: 0.75rem; list-style-type: decimal; }
.price-new-pro-detail { font-weight: 700; font-size: 20px; color: #ff2e00; }
.price-old-pro-detail { font-weight: 500; color: #666; text-decoration: line-through; padding-left: 10px; }
.color-pro-detail.active, .size-pro-detail.active, .size-pro-detail:hover { color: #fff !important; background: #232323; }
.quantity-pro-detail { width: 100%; max-width: 110px; line-height: normal; display: flex; align-items: center; justify-content: space-between; text-align: center; margin-right: 20px; font-weight: 500; }
.quantity-pro-detail span { line-height: 40px; padding: 0; width: 30px; height: 40px; color: #000; cursor: pointer; font-size: 22px; }
.quantity-pro-detail span.quantity-plus-pro-detail { border-left: 0; }
.quantity-pro-detail span.quantity-minus-pro-detail { border-right: 0; }
.quantity-pro-detail input { height: 40px; width: calc(100% - 60px); text-align: center; font-size: 20px; padding: 5px; font-weight: 700; }
.cart-pro-detail { margin-bottom: 1rem; display: flex; align-items: center; justify-content: flex-start; }
.cart-pro-detail a { text-align: center; color: #fff; padding: 8px 15px; cursor: pointer; border-radius: 5px; font-weight: bold; }
.cart-pro-detail a.addnow { margin-right: 10px; color: #fff; border-radius: 5px; }
.cart-pro-detail a.addnow:hover { background-color: #f00; color: #fff; border-color: #f00; }
.cart-pro-detail a.buynow { background-color: #000; }
.cart-pro-detail a.buynow:hover { background-color: #f00; color: #fff; }
.cart-pro-detail a i { vertical-align: top; margin-top: 3px; margin-right: 8px; }

/* Swipper */
.swiper-button-next, .swiper-button-prev { background: #0006; box-shadow: none; width: 40px; height: 60px; border-radius: 5px; }
.swiper-button-next:hover, .swiper-button-prev:hover { background: #000; }
.swiper-button-next:after, .swiper-button-prev:after { font-size: 30px; color: #fff; }
.swiper .swiper-wrapper { width: inherit; height: inherit; }
.swiper.swiper-initialized .swiper-wrapper { margin: 0; width: 100%; height: 100%; }
.swiper.swiper-initialized .swiper-slide { padding: 0; margin: 0px; overflow: hidden; }

/* Popup */
.modal-title { font-size: 20px; }

/* CSS cho loading */
.loading-overlay { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.7); justify-content: center; align-items: center; z-index: 999; }
.loading { width: 50px; height: 50px; border: 5px solid rgba(0, 0, 0, 0.1); border-radius: 50%; border-top: 5px solid #3498db; animation: spin 1s linear infinite; }
.tb-catalogue { width: 100%; border: 1px solid var(--color-main); margin: 0 auto 20px auto; max-width: 1000px; }
.tb-catalogue th { font-size: 18px; padding: 5px 10px; background: var(--color-main); color: #fff; font-weight: normal; }
.tb-catalogue .name { width: 70%; }
.tb-catalogue td { font-size: 16px; padding: 5px 10px;    /* border-color: var(--color-main); */ border-left: 1px solid var(--color-main); }
