@font-face {
    font-family: "UTM HelvetIns";
    src: url("../fonts/custom/UTMHelvetIns.woff2") format("woff2"), url("../fonts/custom/UTMHelvetIns.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap
}

@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% {
        transform: scale3d(1, 1, 1);
        opacity: 0
    }

    10% {
        transform: scale3d(1.1, 1.1, 1.1);
        opacity: 1
    }

    100% {
        transform: scale3d(1.6, 1.6, 1.6);
        opacity: 0
    }
}

@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 skeleton {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .1
    }
}

@keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3)
    }

    50% {
        opacity: 1
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes pulse {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05)
    }

    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

.inset-0 {
    inset: 0
}

.pointer {
    cursor: pointer
}

.z--1 {
    z-index: -1
}

.z-1 {
    z-index: 1
}

.z-2 {
    z-index: 2
}

.z-3 {
    z-index: 3
}

.isolate {
    isolation: isolate
}

.ovf-hidden {
    overflow: hidden
}

.square {
    aspect-ratio: 1/1
}

:root {
    --max-width: min(1300px, calc(100vw - 30px));
    --max-padding: 1fr;
    --primary-color: #f99d1c;
    --secondary-color: #2a2d3e;
    --font-family: "Roboto", sans-serif;
    --second-family: "UTM HelvetIns", sans-serif;
    --line: 3
}

::-webkit-scrollbar {
    width: 7px;
    height: 7px;
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    opacity: .5
}

::-webkit-scrollbar-track {
    background: #fff
}

::-webkit-scrollbar-thumb {
    background-color: var(--primary-color);
    border-radius: 5px
}

body {
    top: 0 !important;
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    font-family: var(--font-family);
    font-size: 14px
}

button {
    all: unset;
    box-sizing: border-box
}

picture {
    display: flex
}

picture:has(>img.w-100) {
    width: 100%;
    height: auto
}

img {
    max-width: 100%;
    object-fit: cover;
    display: inline-block;
    height: auto
}

img.lazy {
    display: flex;
    opacity: 0
}

img:not(.initial) {
    transition: opacity 1s
}

img:not([src]) {
    visibility: hidden
}

img:is(.loaded, .error) {
    opacity: 1
}

a,
input,
textarea {
    outline: none;
    padding: 0
}

input[type=number] {
    appearance: textfield
}

input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.wrap-content {
    display: grid;
    width: 100% !important;
    grid-column: main;
    grid-template-columns: [main-start] var(--max-padding) [content-start] var(--max-width) [content-end] var(--max-padding) [main-end]
}

.wrap-content>*:not(.fw, .wrap-content) {
    grid-column: content
}

.wrap-content>.fw {
    grid-column: main
}

.pagination {
    --bs-pagination-color: var(--primary-color);
    --bs-pagination-hover-color: var(--primary-color);
    --bs-pagination-active-bg: var(--primary-color);
    --bs-pagination-active-border-color: var(--primary-color);
    flex-wrap: wrap;
    margin: 20px 0 0 0 !important
}

.pagination .page-item .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%
}

:is(.title-main, .title-detail) {
    text-align: center;
    margin-bottom: clamp(12px, 1.9512195122vw, 24px)
}

:is(.title-main, .title-detail) :is(span, h1, h2, h3, h4, h5, h6) {
    font: 400 clamp(25px, 3.6585365854vw, 45px)/1.4888888889 var(--second-family);
    color: var(--primary-color);
    margin-bottom: 0;
    text-transform: uppercase
}

:is(.title-main, .title-detail) .slogan {
    font: 400 clamp(13px, 1.2195121951vw, 15px)/1.2 var(--font-family);
    letter-spacing: .05em;
    color: #404040;
    margin: .6666666667em 0 0 0
}

:is(.title-main, .title-detail) img {
    margin: 0 auto;
    margin-top: clamp(9px, 1.4634146341vw, 18px)
}

:is(.title-main, .title-detail).text-white :is(span, h1, h2, h3, h4, h5, h6, .slogan) {
    color: #fff
}

.time-main {
    color: #999;
    margin-bottom: .75rem
}

.time-main i {
    margin: 3px 7px 0 0;
    vertical-align: top
}

.time-main span {
    display: inline-block;
    vertical-align: top
}

.share {
    background: hsla(0, 0%, 50%, .15);
    border-radius: 5px;
    line-height: normal;
    margin-top: 15px;
    padding: 17px 15px 10px
}

.share b {
    display: block;
    margin-bottom: 5px
}

.wrap-lang {
    padding: 7px 16px;
    gap: 10px;
    font: 400 13px/1.92308 var(--font-family);
    color: #2b2b2b;
    border: 1px solid #2b2b2b
}

.wrap-lang button:hover {
    color: #fff
}

.lang-seperator {
    width: 1px;
    height: 10px;
    background: #2b2b2b
}

.wrap-header {
    background: var(--primary-color);
    font: 400 13px var(--font-family);
    color: #2b2b2b;
    padding: 5px 0
}

.wrap-header a {
    color: #2b2b2b
}

.wrap-header a:hover {
    color: #fff
}

.header-slogan {
    font: 400 13px var(--font-family);
    color: #2b2b2b
}

@media not all and (min-width: 768px) {
    .header-slogan {
        flex: 1 1 1%;
        width: 0;
    }
}

.footer-gg-link {
    padding: 4px;
    border-radius: 100px;
    background: #fff;
    display: flex;
    align-items: center
}

.footer-gg-link span {
    font: 400 15px/1.66667 var(--font-family);
    color: #323232;
    margin-left: 13px;
    margin-right: 37px
}

.footer-top {
    padding-top: clamp(20px, 4.5528455285vw, 56px);
    padding-bottom: clamp(20px, 4.0650406504vw, 50px)
}

.footer-title {
    font: 600 16px/1.875 var(--font-family);
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--7);
    margin-bottom: 13px
}

.footer-listview_item {
    font: 400 15px/2 var(--font-family);
    color: var(--6)
}

.footer-powered {
    padding: 13px 0;
    font: 400 13px/2.69231 var(--font-family);
    color: #1a1a1a;
    border-top: 1px solid rgba(26, 26, 26, .2)
}

#footer-map {
    height: 500px;
    position: relative
}

#footer-map iframe {
    height: 100% !important;
    left: 0 !important;
    position: absolute !important;
    top: 0 !important;
    width: 100% !important
}

.text-split {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--line);
    box-orient: vertical;
    line-clamp: var(--line);
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    height: calc(var(--line)*1lh)
}

.scale-img {
    display: block;
    overflow: hidden
}

.scale-img img {
    transition: all .3s;
    transform: scale(1)
}

:is([class*=_item]:hover .scale-img, .scale-img:hover)>img,
:is([class*=_item]:hover .scale-img, .scale-img:hover) picture>img {
    transition: all .3s;
    transform: scale(1.1)
}

[class*=-xemthem] {
    transition: all .6s;
    position: relative;
    overflow: hidden
}

[class*=-xemthem]::before {
    transition: all .6s;
    content: "";
    z-index: -1;
    position: absolute;
    inset: 0;
    background-image: linear-gradient(20deg, var(--bg, transparent) 50%, var(--xemthem-color, var(--primary-color)) 50%);
    background-size: 600%
}

[class*=-xemthem]:hover {
    color: #fff;
    transform: translateX(0.5rem)
}

[class*=-xemthem]:hover::before {
    background-position: 100%
}

.transition {
    transition: all .3s
}

.cart-fixed {
    color: #fff !important;
    z-index: 10
}

.cart-fixed i {
    font-size: 20px
}

.cart-fixed span {
    background: var(--primary-color);
    border-radius: 100%;
    color: #fff;
    font-size: 11px;
    height: 25px;
    line-height: 25px;
    position: absolute;
    right: -5px;
    text-align: center;
    top: 0;
    width: 25px
}

.a2a_kit .a2a_svg {
    height: 30px;
    line-height: 30px;
    width: 30px
}

.qty-pro {
    flex: 0 0 100px !important
}

.skeleton :is([class*="-pic "], [class*="-title "], [class*="-desc "], [class*="-content "], [class*="-price "]) {
    background: #e4e4e4;
    border-radius: 5px;
    animation: skeleton 2s ease-in-out infinite;
    color: rgba(0, 0, 0, 0);
    -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

.skeleton .pagination-ajax {
    filter: grayscale(1);
    position: relative
}

.skeleton .pagination-ajax::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3
}

.skeleton img {
    opacity: 0
}

.htmx-indicator:not(.htmx-request) {
    display: none !important
}

.aos-overflow {
    overflow: hidden !important;
    overflow: clip visible !important
}

.menu-res {
    z-index: 100;
    font: 400 13px var(--font-family);
    color: #2b2b2b;
}

.menu-res .header-cart img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(8%) hue-rotate(353deg) brightness(104%) contrast(104%)
}

.grid-sp {
    display: grid;
    --gap: clamp(8px, calc(20 / 1230 * 100vw), 20px);
    gap: var(--gap);
    grid-template-columns: repeat(auto-fill, minmax(max(150px, (100% - var(--gap) * 3) / 4), 1fr))
}

.wrap-gt_home {
    margin: clamp(20px, 6.5040650407vw, 80px) 0 clamp(20px, 6.9105691057vw, 85px)
}

.gt_home-xemthem {
    font: 400 13px/2.30769 var(--font-family);
    background-color: #1a1a1a;
    color: var(--primary-color);
    display: flex;
    align-items: center;
    border-radius: 5px;
    overflow: hidden
}

.gt_home-xemthem span {
    margin: 0 50px
}

.gt_home-banner {
    aspect-ratio: .8234421365;
    position: relative
}

.gt_home-banner>* {
    position: absolute
}

.gt_home-banner img {
    border-radius: 10px;
    width: 97.2972972973%;
    height: 97.7744807122%;
    top: 0;
    left: 0
}

.gt_home-banner svg {
    width: 86.4864864865%;
    height: 74.9258160237%;
    bottom: 0;
    right: 0
}

.gt_home-tieuchi {
    margin-top: 25px
}

.gt_home-tieuchi-slide {
    overflow: hidden;
    overflow: clip visible
}

.gt_home-tieuchi_item {
    aspect-ratio: 1.0841121495;
    padding: 0 3.0172413793% 5.1724137931%;
    position: relative;
    isolation: isolate
}

.gt_home-tieuchi_item:hover .gt_home-tieuchi-pic {
    translate: 0 -5px;
    box-shadow: 4px 4px 4px rgba(0, 0, 0, .2)
}

.gt_home-tieuchi-border {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    object-fit: contain
}

.gt_home-tieuchi-pic {
    width: 34.9137931034%;
    height: auto;
    aspect-ratio: 1;
    transition: .3s;
    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0)
}

.gt_home-tieuchi-pic img {
    width: 50%;
    height: 50%
}

.gt_home-tieuchi-title {
    font: 500 16px/1.875 var(--font-family);
    text-align: center;
    color: var(--primary-color);
    margin-bottom: .3125em
}

.gt_home-tieuchi-desc {
    font: 400 13px/1.92308 var(--font-family);
    text-align: center;
    color: dimgray
}

.wrap-dichvu {
    padding: clamp(20px, 4.6341463415vw, 57px) 0 clamp(20px, 6.8292682927vw, 84px)
}

.wrap-huanluyen {
    margin: clamp(20px, 5.4471544715vw, 67px) 0 clamp(20px, 6.3414634146vw, 78px)
}

.grid-news {
    display: grid;
    --gap: clamp(10px, calc(20 / 1230 * 100vw), 20px);
    gap: var(--gap);
    grid-template-columns: repeat(auto-fill, minmax(max(150px, (100% - var(--gap) * 2) / 3), 1fr))
}

.news-list {
    overflow: auto;
    margin: 0 auto clamp(15px, 2.4390243902vw, 30px);
    width: fit-content;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    scrollbar-width: none
}

.news-list::-webkit-scrollbar {
    display: none
}

.news-list_item {
    position: relative;
    isolation: isolate;
    font: 400 14px/2.1428571429 var(--font-family);
    text-align: center;
    padding: 12px 24px 13px;
    min-width: 220px;
    white-space: nowrap
}

.news-list_item::before,
.news-list_item::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    z-index: -1
}

.news-list_item::before {
    width: 100%;
    height: 100%;
    mask: url(../images/news_list_item_border_left.webp) no-repeat left top/auto 100%, url(../images/news_list_item_border_right.webp) no-repeat right top/auto 100%, url(../images/news_list_item_border_center.webp) no-repeat 40px top/calc(100% - 80px) 100%;
    background-color: var(--component-color, var(--primary-color))
}

.news-list_item::after {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    mask: url(../images/news_list_mask_left.svg) no-repeat left top/auto 100%, url(../images/news_list_mask_right.svg) no-repeat right top/auto 100%, url(../images/news_list_mask_center.webp) no-repeat 40px top/calc(100% - 80px) 100%;
    background-color: var(--component-color, var(--primary-color))
}

input:checked+.news-list_item {
    color: var(--primary-color)
}

input:checked+.news-list_item::after {
    background: #171a1d
}

.news_item {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    transition: .3s
}

.news_item:hover {
    box-shadow: 4px 4px 8px rgba(0, 0, 0, .3);
    translate: 0 -5px
}

.news-info {
    border: 1px solid var(--component-color, #2f2f2f);
    border-top: 0;
    position: relative;
    padding: clamp(15px, 2.4390243902vw, 30px) clamp(13px, 2.1138211382vw, 26px)
}

.news-info::after {
    content: "";
    background: var(--component-color, var(--primary-color));
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: 0;
    right: 0
}

.news-title {
    font: 500 clamp(14px, 1.4634146341vw, 18px)/1.5 var(--font-family);
    text-transform: capitalize;
    color: var(--component-color, #2f2f2f);
    margin-bottom: .3333333333em
}

.news-desc {
    font: 400 13px/2.30769 var(--font-family);
    color: var(--component-color, #2f2f2f)
}

.news-xemthem {
    font: 400 15px/1.2 var(--font-family);
    text-transform: uppercase;
    color: #060707;
    padding: 1.0666666667em 4.8em;
    background: var(--component-color, var(--primary-color));
    margin-top: clamp(15px, 2.4390243902vw, 30px)
}

.wrap-quytrinh-chungnhan {
    padding: .1px 0
}

.wrap-quytrinh {
    margin: clamp(20px, 5.1219512195vw, 63px) 0 clamp(20px, 4.0650406504vw, 50px);
    user-select: none
}

.quytrinh-scrollable {
    overflow: auto;
    scrollbar-width: none;
    padding-bottom: clamp(25px, 4.0650406504vw, 50px);
    border-bottom: 1px solid #5f3f13
}

.quytrinh-scrollable::-webkit-scrollbar {
    display: none
}

.quytrinh-scrollable>.d-flex {
    padding: 0 24px;
    width: fit-content;
    margin: 0 auto
}

.quytrinh_item {
    position: relative;
    isolation: isolate;
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 226px;
    height: 226px;
    padding: 30px;
    margin: 24px 0
}

.quytrinh_item,
.quytrinh_item * {
    transition: .3s
}

.quytrinh_item::before {
    content: "";
    position: absolute;
    inset: -15px;
    z-index: -1;
    background: linear-gradient(360deg, #f99d1c 0%, #0f0f0f 100%);
    opacity: 70%;
    outline: 1px dashed rgba(0, 0, 0, 0);
    outline-offset: 0;
    border-radius: 1000px;
    transition: .3s
}

.quytrinh_item::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: calc(100% + 24px);
    left: 50%;
    translate: -50% 0;
    width: 1px;
    height: 0px;
    background: #5f3f13;
    border-radius: 1000px;
    transition: .3s
}

.quytrinh_item+.arrow {
    position: absolute;
    z-index: 2;
    right: -15px;
    top: 50%;
    translate: 0 -50%;
    width: 24px;
    aspect-ratio: 1
}

.quytrinh_item:hover {
    z-index: 2
}

.quytrinh_item:hover::before {
    inset: -24px;
    background: var(--primary-color);
    outline: 1px dashed #fce8ae;
    outline-offset: -5px;
    opacity: 100%
}

.quytrinh_item:hover::after {
    height: clamp(25px, 4.0650406504vw, 50px)
}

.quytrinh-title {
    font: 400 16px/1.5625 var(--font-family);
    text-align: center;
    color: #fff
}

.quytrinh-number {
    font: 700 clamp(20px, 2.2764227642vw, 28px)/1.1785714286 var(--font-family);
    text-align: center;
    color: #fff;
    margin-bottom: .6071428571em
}

.wrap-chungnhan {
    margin: clamp(20px, 4.0650406504vw, 50px) 0 clamp(20px, 6.5040650407vw, 80px)
}

#chungnhan-slide {
    height: 480px;
    width: 100%;
    overflow: hidden
}

#chungnhan-slide .arrow {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: clamp(24px, 4.0650406504vw, 50px);
    aspect-ratio: 1
}

#chungnhan-slide .arrow.prev {
    right: 100%;
    margin-right: 16px
}

#chungnhan-slide .arrow.next {
    left: 100%;
    margin-left: 16px
}

.chungnhan_item {
    aspect-ratio: 340/480;
    height: 100%;
    width: auto;
    user-select: none
}

.wrap-doitac {
    padding: clamp(20px, 3.2520325203vw, 40px) 0 clamp(20px, 4.8780487805vw, 60px)
}

.wrap-tintuc {
    margin: clamp(20px, 5.0406504065vw, 62px) 0 clamp(20px, 6.5040650407vw, 80px)
}

.tintuc-pic {
    border-radius: 10px 10px 0 0
}

.tintuc-info {
    border: 1px solid #cecac4;
    border-top: unset;
    border-radius: 0 0 10px 10px;
    padding: clamp(15px, 2.4390243902vw, 30px) clamp(12px, 1.9512195122vw, 24px) clamp(12px, 1.9512195122vw, 24px)
}

.tintuc-title {
    font: 700 clamp(16px, 1.6260162602vw, 20px)/1.15 var(--font-family);
    color: #2c2c2c;
    margin-bottom: .8em
}

.tintuc-desc {
    font: 400 13px/2.30769 var(--font-family);
    text-align: justify;
    color: #474747
}

.tintuc-xemthem {
    font: italic 400 13px/1.92308 var(--font-family);
    color: #404040
}

.tintuc-footer {
    font: italic 400 13px/1.92308 var(--font-family);
    color: #404040;
    border: 1px solid #0a3366;
    border-radius: 5px;
    position: relative;
    margin-top: clamp(12px, 1.9512195122vw, 24px)
}

.tintuc-footer::before {
    content: "";
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
    translate: -50% 0;
    position: absolute;
    background: #0a3366
}

.tintuc-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: clamp(15px, 2.4390243902vw, 30px)
}

.tintuc-dots button {
    width: 40px;
    height: 1px;
    background: #727272
}

.tintuc-dots button.embla__dot--selected {
    background-color: var(--primary-color)
}

.wrap-dknt {
    border-radius: 10px;
    padding: clamp(15px, 2.4390243902vw, 30px) clamp(22px, 3.5772357724vw, 44px)
}

.dknt-title {
    font: 400 clamp(18px, 1.9512195122vw, 24px)/1.1666666667 var(--font-family);
    margin-bottom: .4583333333em;
    text-transform: uppercase;
    color: #232323;
    display: flex;
    align-items: center
}

.dknt-title span {
    margin-left: clamp(5px, .8943089431vw, 11px)
}

.dknt-title .dknt-icon {
    height: .8333333333em;
    aspect-ratio: 34/20;
    position: relative
}

.dknt-title .dknt-icon img {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto
}

.dknt-slogan {
    font: 400 13px/1.1538461538 var(--font-family);
    color: #737373;
    margin-bottom: 1.2307692308em
}

.dknt-form input {
    font: 400 13px/1.92308 var(--font-family);
    padding: 7.5px 12px;
    height: 40px;
    color: #333;
    border-radius: 0
}

.dknt-form input::placeholder {
    color: #7b7b7b
}

.dknt-form button {
    font: 400 13px/1.92308 var(--font-family);
    text-align: center;
    color: #323232;
    padding: 10px;
    background: var(--primary-color)
}